高級計算機(jī)體系結(jié)構(gòu)第2章2_第1頁
高級計算機(jī)體系結(jié)構(gòu)第2章2_第2頁
高級計算機(jī)體系結(jié)構(gòu)第2章2_第3頁
高級計算機(jī)體系結(jié)構(gòu)第2章2_第4頁
高級計算機(jī)體系結(jié)構(gòu)第2章2_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1(4)層次結(jié)構(gòu)中存儲器的組織--組成原理較關(guān)注*存儲陣列空間管理:存儲器有兩種信息交換粒度,按較大交換粒度進(jìn)行管理*組成:存儲陣列、控制器、層次輔助管理機(jī)構(gòu)(MU)………本層存儲器上層存儲器下層存儲器比較器映射表DataCmdAddr(主存地址)命中存儲陣列控制器不命中不命中處理回下頁2

*層次存儲器處理訪問請求過程:轉(zhuǎn)上頁下層地址→本層地址命中?Y找到?讀/寫?寫本層MEM數(shù)據(jù)到下層MEM(若改過)(與下層交換粒度)N讀寫上層請求完成上層請求到達(dá)騰出一個位置用下層地址查映射表找一空閑位置YN讀下層MEM數(shù)據(jù)到本層MEM(與下層交換粒度)接收上層MEM數(shù)據(jù)到本層MEM(與上層交換粒度)發(fā)送本層MEM數(shù)據(jù)到上層MEM(與上層交換粒度)寫本層MEM數(shù)據(jù)到下層MEM(與下層交換粒度)地址映像規(guī)則替換算法寫策略查找方法地址變換規(guī)則3(5)層次結(jié)構(gòu)中存儲器的性能設(shè)計*提高命中率的設(shè)計:優(yōu)化存儲器結(jié)構(gòu)、參數(shù)及訪問處理過程

(見Cache部分性能優(yōu)化方法)*實(shí)現(xiàn)技術(shù)的性能設(shè)計:選擇較合適的地址映像及變換規(guī)則、查找算法、替換算法、寫策略,并有效地實(shí)現(xiàn)*減小層間輔助開銷的設(shè)計:優(yōu)化存儲器結(jié)構(gòu)、訪問處理過程及層次結(jié)構(gòu)管理方法

(見Cache部分性能優(yōu)化方法)

討論—共享Cache的實(shí)現(xiàn)技術(shù)有無變化?4二、高速緩沖存儲器

1、結(jié)構(gòu)與工作原理*結(jié)構(gòu)與組成:主要由存儲陣列、目錄表、控制器等組成*空間管理:按塊進(jìn)行管理,用目錄表存放管理信息*訪問過程:回下頁主存地址(自處理機(jī))地址映像及變換主存替換算法Cache陣列

主存塊號塊內(nèi)地址主存地址塊寬度去處理機(jī)數(shù)據(jù)總線字寬度成功還可裝入已裝不進(jìn)訪問主存訪問主存替換Cache裝入CacheCache塊號

塊內(nèi)地址Cache地址失敗字寬度成功回34頁52、相關(guān)實(shí)現(xiàn)技術(shù)--組成原理關(guān)注的重點(diǎn)*地址映像及變換規(guī)則:直接映射、全相聯(lián)、組相聯(lián)*查找方法:快速按地址查找、按內(nèi)容相聯(lián)查找*替換算法:RAND、FIFO、LRU

*寫策略:寫命中策略—全寫法、寫回法、寫一次法,

寫丟失策略—不按寫分配法、按寫分配法轉(zhuǎn)上頁*降低失效率F方法:增加塊大小、提高相聯(lián)度、預(yù)取技術(shù)、設(shè)置Viticm-Cache*減少失效開銷方法:讀失效優(yōu)先于寫、子塊放置、請求字處理、非阻塞Cache、兩級Cache、旁側(cè)式Cache技術(shù)*減少命中時間方法:小容量結(jié)構(gòu)簡單的Cache、寫操作流水化、雙獨(dú)立總線(DIB)結(jié)構(gòu)3、性能優(yōu)化方法--系統(tǒng)結(jié)構(gòu)關(guān)注的重點(diǎn)回46頁64、與主存的一致性問題*不一致性的產(chǎn)生原因:①I/O設(shè)備(如DMA)繞過Cache直接對主存的I/O操作②不同CPU對各自Cache中主存數(shù)據(jù)副本的異步讀/寫操作*不一致性的解決方案:禁止法--共享數(shù)據(jù)禁止進(jìn)入Cache,或允許進(jìn)+禁止改;刷新法--操作后對共享數(shù)據(jù)進(jìn)行刷新*刷新法的實(shí)現(xiàn)方法:--Cache控制器實(shí)現(xiàn)根據(jù)數(shù)據(jù)塊狀態(tài)、新操作類型采用一致性協(xié)議實(shí)現(xiàn)刷新一致性協(xié)議—有寫作廢和寫更新兩種類型主存CPUCacheCPUCacheDMAI/OnI/O1……7三、虛擬存儲器

*虛擬存儲器:程序執(zhí)行時,MEM地址空間=程序地址空間的“存儲器”稱為虛擬存儲器(VM)回下頁轉(zhuǎn)31頁1、虛擬存儲器組成*組成原理:由主存及輔存構(gòu)成、按程序地址訪問的存儲層次CPU虛擬存儲器虛存-輔存地址變換輔存*虛存實(shí)質(zhì):是面向程序的存儲器模型,即面向程序的主存-輔存層次管理機(jī)構(gòu)!CPU主存虛存-主存地址變換不成功處理虛擬存儲器虛地址空間(程序空間)82、虛存的管理方式(1)段式存儲管理*數(shù)據(jù)交換單位:虛存-主存間以程序段作為交換單位*管理信息:用段表指明程序各段在主存中的起始位置(2)頁式存儲管理*數(shù)據(jù)交換單位:虛存-主存間以邏輯頁作為交換單位*管理信息:用頁表指明程序各段在主存中的起始位置虛存頁表主存實(shí)頁號裝入位屬性

2111041邏輯頁號

0123虛存段表段起始地址裝入位段長屬性

011K01K13K7K11K段號

0123(3)段頁式存儲管理先采用段式管理,再采用頁式管理轉(zhuǎn)上頁93、相關(guān)實(shí)現(xiàn)技術(shù)*地址映像及變換:全相聯(lián)映像*查找方法:按地址查找*替換算法:類LRU*更新策略:寫回法(+按寫分配法)4、性能優(yōu)化方法*快速地址變換技術(shù):原始方案—虛存管理表格太大→存放在主存中優(yōu)化方案—增加頁面大小、增設(shè)快表(TLB),快表與慢表并行查找(TLB可采用按內(nèi)容相聯(lián)查找)*變換失效優(yōu)化處理:將變換失效視為異常,立即進(jìn)行處理回下頁10*頁式虛擬存儲器訪問過程:轉(zhuǎn)上頁CPU核心缺頁中斷程序主存CPU輔存文件目錄表(文件-輔存)文件內(nèi)容虛-輔映射表快表TLB慢表(虛-主)虛存信息當(dāng)前程序PCBI/O通道主存輔存虛擬地址

邏輯頁號頁內(nèi)地址訪問請求主存地址物理頁號頁內(nèi)地址輔存地址磁盤機(jī)號柱面號磁頭號塊號虛存-輔存地址變換失敗系統(tǒng)異常成功輔存實(shí)塊號訪問完成失敗被替換頁已改主存未滿替換算法物理頁號找空閑頁主存已滿缺頁異常調(diào)入頁虛存-主存地址變換(查TLB)成功虛存-主存地址變換(查慢表)成功中止失敗115、虛存的保護(hù)*保護(hù)的種類:區(qū)域保護(hù)、訪問保護(hù)(1)區(qū)域保護(hù)及實(shí)現(xiàn)

*保護(hù)方式:映像表保護(hù)、環(huán)保護(hù)、鍵保護(hù)*映像表保護(hù):程序只能訪問私有映像表對應(yīng)的主存頁/段

實(shí)現(xiàn)—系統(tǒng)映像表+私有映像表,更多區(qū)域信息類型*環(huán)式保護(hù):程序分為不同層(環(huán)),外層不可直接訪問內(nèi)層

實(shí)現(xiàn)—程序的自身環(huán)號+各信息區(qū)域的訪問所需環(huán)號*鍵保護(hù):程序中信息區(qū)域設(shè)置鎖,訪問時需先得到鑰匙

實(shí)現(xiàn)—硬件或OS負(fù)責(zé)傳送鑰匙(2)訪問保護(hù)及實(shí)現(xiàn)

*保護(hù)方式:讀(R)、寫(W)、執(zhí)行(E)*實(shí)現(xiàn)方法:程序各信息區(qū)域設(shè)置允許訪問類型(在映像表中)12第三節(jié)標(biāo)量流水技術(shù)一、標(biāo)量流水基本原理

1、工作原理*原理:細(xì)化指令執(zhí)行過程,使指令執(zhí)行各子過程均可重疊,以提高指令執(zhí)行速度12345nn+4拍(Δt)I1段(m)S5(如WB)S4(如EX)S3(如OF)S2(如ID)S1(如IF)I2I3I4I5說明:T指令=m*Δt,拍可為機(jī)器周期、節(jié)拍(TC)等大小I1I1I1I1I2I2I2I2I3I3I3I3I4I4I4I4I5I5I5I5InInInInIn……………填入流水排空*目標(biāo):完成任務(wù)時間與操作處理過程(m)無關(guān);

只與提供操作的速度(1/Δt)有關(guān)回下頁13*實(shí)現(xiàn)要求:

①各流水段的操作相互獨(dú)立,以實(shí)現(xiàn)段間重疊

②各流水段的操作同步進(jìn)行,以實(shí)現(xiàn)段間重疊

③結(jié)構(gòu)、數(shù)據(jù)和控制方面的冒險解決,以提高性能

*流水線分類(屬性):

按處理級別分—操作級,指令級,處理機(jī)級

按功能類型分—單功能,多功能

按工作方式分—靜態(tài),動態(tài)

按連接方式分—線性,非線性

按控制方式分—順序流動,異步流動轉(zhuǎn)上頁142、性能分析(1)吞吐率單位時間內(nèi)能處理的指令條數(shù)或輸出結(jié)果的數(shù)量

*最大吞吐率:

*實(shí)際吞吐率:

處理方法1—細(xì)化瓶頸段(時長與其它段相同或相近)123a43b3cΔtΔtΔtΔtΔtΔt

*瓶頸段(△ti最大的段)的處理:1ΔtΔt3ΔtΔt234

處理方法2—并聯(lián)設(shè)置多套部件,通過控制器調(diào)度1ΔtΔtΔt23b43a3c調(diào)度器3Δt15(2)加速比流水方式速度相對于串行方式速度的比值

當(dāng)n>>m時,SP≈m

*提高加速比的方法:加大流水線深度m(3)效率流水線中設(shè)備的利用率

當(dāng)n>>m時,E≈1

*提高效率的方法:增加流水線中任務(wù)數(shù)量n16(4)流水線最佳段數(shù)選擇假設(shè)流水線各功能段總延遲為t,流水線共分m個段,段間同步鎖存延遲為d;功能段總價格為a,每個鎖存器價格為b??們r格:

C=a+bm

選擇:對m求導(dǎo),性能/價格PCR為極大值時m最佳PCRmm0吞吐率:性能/價格:17二、流水線冒險及處理1、結(jié)構(gòu)冒險及處理(1)冒險類型

指流水線中同一部件或通路同時被不同指令使用的沖突現(xiàn)象01234567拍1段WBEXOFIDIF23…n123…n123…n123…n123…n(2)功能部件沖突的冒險處理

*方法①:重復(fù)設(shè)置部件(如設(shè)置地址ALU實(shí)現(xiàn)PC+1)

*方法②:推后使用部件(構(gòu)成非線性流水線)

*選擇依據(jù):沖突概率、性能要求內(nèi)部總線控制器指令隊(duì)列總線接口BIU前端總線譯碼器寄存器組轉(zhuǎn)移部件乘法器加法器L1Cache后端總線回下頁同時訪問REG或MEM產(chǎn)生沖突18(3)數(shù)據(jù)通路沖突的冒險處理

*方法①:采用多總線或?qū)S猛?,解決OF與WB

REG訪問沖突轉(zhuǎn)上頁回下頁

*方法②:L1$采用哈佛結(jié)構(gòu),降低IF與OF/WB訪存沖突概率內(nèi)部總線控制器指令隊(duì)列總線接口BIU前端總線譯碼器寄存器組轉(zhuǎn)移部件乘法器加法器L1Cache后端總線L2Cache主存地址ALU內(nèi)部總線控制器指令隊(duì)列總線接口BIU前端總線譯碼器L1D-Cache后端總線L1I-CacheL2Cache主存寄存器組轉(zhuǎn)移部件乘法器加法器地址ALU19轉(zhuǎn)上頁轉(zhuǎn)32頁

*方法③:設(shè)置存儲順序緩沖器,降低OF與WB訪存沖突概率

原理—改變通路(MOB暫存),錯開時間(在L1-D$空閑時寫)

(實(shí)現(xiàn)了“零等待寫”)(實(shí)現(xiàn)了“讀失效優(yōu)先于寫”)內(nèi)部總線控制器指令隊(duì)列總線接口BIU前端總線譯碼器L1D-Cache后端總線L1I-CacheL2Cache主存存儲順序緩沖器MOB寄存器組轉(zhuǎn)移部件乘法器加法器預(yù)取流式緩沖器地址ALU

*方法④:設(shè)置預(yù)取流式緩沖器,降低I$與D$失效沖突嚴(yán)重性

*方法⑤:I$及D$串行訪問主存,解決IF、OF及WB訪存沖突(D$優(yōu)先于I$)

*選擇依據(jù):指令集風(fēng)格、性能要求,可多選、⑤必選202、數(shù)據(jù)冒險及處理

指不同指令因操作重疊,引起同一REG或MEM單元的訪問次序被改變、導(dǎo)致結(jié)果錯誤的沖突現(xiàn)象

*方法②:轉(zhuǎn)發(fā)法,流水段的結(jié)果可直接傳到較早流水段(1)先寫后讀(RAW)冒險及處理

*方法①:后推法,沖突及后繼指令暫停,直到?jīng)_突消除OF相關(guān)專用通路IDIFEXWB具有相關(guān)專用通路的流水線MUX

123456I1IFIDOFEXWBI2IFIDOFEXWB指令拍讀R1寫R1RAW相關(guān)示例回下頁

1234567I1IFIDOFEXWBI2IFIDOFEXWBI3IFIDOFEXWBI拍讀R1寫R1

123456789I1IFIDOFEXWBI2IFIDOFEXWBI3IFIDOFEXWBI拍讀R1寫R121

*方法③:異步流動(亂序執(zhí)行)法,后繼無沖突指令先執(zhí)行可能產(chǎn)生新的相關(guān)(2)先讀后寫(WAR)、寫-寫(WAW)冒險及處理

*冒險類型:WAR—上圖中,Im所寫與Ij所讀為同一單元

WAW—上圖中,Im所寫與Ij所寫為同一單元

*處理方法:動態(tài)調(diào)度方法,設(shè)置指令窗口、按序存放多條指令,先檢測有無RAW、WAR、WAW相關(guān),再決定執(zhí)行順序若有RAW相關(guān)6段流水線IhIiIjIkImInIhIiIjIkImInRAW相關(guān)自動消除轉(zhuǎn)上頁223、控制冒險及處理

指轉(zhuǎn)移型指令引起的無法立即獲得目標(biāo)指令地址的沖突現(xiàn)象(1)控制相關(guān)處理方法

*方法①:凍結(jié)法,流水線取指段暫停n拍(n=分支指令時長-1)回下頁

12345678順序型I1:CMPR1,R2IFIDOFEXWB轉(zhuǎn)移型I2:JNZTEST1IFIDOFEXWB**型Ix:???IF拍需要新PCPC←地址x指令*方法②:延遲分支法,延遲分支=分支指令+n個延遲槽,

延遲分支全部被執(zhí)行,延遲槽中盡量為有效指令順序指令I(lǐng)1~I(xiàn)5轉(zhuǎn)移指令I(lǐng)6順序指令I(lǐng)7~I(xiàn)9不采用延遲分支技術(shù)的目標(biāo)代碼順序指令I(lǐng)1~I(xiàn)5中與I6相關(guān)的指令轉(zhuǎn)移指令I(lǐng)6延遲槽(I1~I(xiàn)5中與I6無關(guān)的指令或空指令)順序指令I(lǐng)7~I(xiàn)9采用延遲分支技術(shù)的目標(biāo)代碼23

※說明:延遲分支法、預(yù)測法通常不同時使用!(2)動態(tài)預(yù)測法的實(shí)現(xiàn)

*轉(zhuǎn)移歷史保存方法:增設(shè)轉(zhuǎn)移目標(biāo)緩沖器BTB保存信息,BTB通常由小容量Cache構(gòu)成轉(zhuǎn)上頁回下頁0******

1aaxyee…

有效位轉(zhuǎn)移指令地址歷史位轉(zhuǎn)移目標(biāo)地址…

…*方法③:預(yù)測法,預(yù)測轉(zhuǎn)移方向、執(zhí)行該方向指令,

猜錯時回頭重新執(zhí)行另一方向指令

靜態(tài)預(yù)測—根據(jù)指令類型及尋址方式預(yù)測轉(zhuǎn)移方向

動態(tài)預(yù)測—根據(jù)指令執(zhí)行的轉(zhuǎn)移歷史預(yù)測轉(zhuǎn)移方向應(yīng)用—首次執(zhí)行時用靜態(tài)預(yù)測法,其余用動態(tài)預(yù)測法24

*動態(tài)預(yù)測實(shí)現(xiàn)原理:①IF段,用當(dāng)前PC查BTB,命中時預(yù)測PC,否則PC←PC+1轉(zhuǎn)上頁回下頁取指(IF)不命中置PC查BTB當(dāng)前PC命中預(yù)測轉(zhuǎn)移(PC=ee)預(yù)測不轉(zhuǎn)移(PC=PC+1)轉(zhuǎn)移歷史動態(tài)預(yù)測預(yù)測不轉(zhuǎn)移(PC=PC+1)控制流

②ID段,對不命中的分支指令,重新預(yù)測,IF段預(yù)測錯誤時,進(jìn)行誤預(yù)測處理(含置PC)靜態(tài)預(yù)測譯碼(ID)誤預(yù)測處理IF預(yù)測錯IF預(yù)測對(PC=反方向)分支指令順序指令25

③執(zhí)行后,根據(jù)執(zhí)行的實(shí)際轉(zhuǎn)移方向更新轉(zhuǎn)移歷史轉(zhuǎn)上頁回下頁

*靜態(tài)預(yù)測算法:下表為Pentium采用相對PC尋址方式非相對PC尋址方式預(yù)測轉(zhuǎn)移轉(zhuǎn)移地址比PC小指令CALL/RET類型指令預(yù)測不轉(zhuǎn)移轉(zhuǎn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論