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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

*寫(xiě)策略:寫(xiě)命中策略—全寫(xiě)法、寫(xiě)回法、寫(xiě)一次法,

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

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

2111041邏輯頁(yè)號(hào)

0123虛存段表段起始地址裝入位段長(zhǎng)屬性

011K01K13K7K11K段號(hào)

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

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

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

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

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

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

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

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

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

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

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

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

*流水線分類(lèi)(屬性):

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

按功能類(lèi)型分—單功能,多功能

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

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

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

*最大吞吐率:

*實(shí)際吞吐率:

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

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

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

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

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

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

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

C=a+bm

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

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

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

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

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

*方法①:采用多總線或?qū)S猛罚鉀QOF與WB

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

*方法②: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)上頁(yè)轉(zhuǎn)32頁(yè)

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

原理—改變通路(MOB暫存),錯(cuò)開(kāi)時(shí)間(在L1-D$空閑時(shí)寫(xiě))

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

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

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

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

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

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

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

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

1234567I1IFIDOFEXWBI2IFIDOFEXWBI3IFIDOFEXWBI拍讀R1寫(xiě)R1

123456789I1IFIDOFEXWBI2IFIDOFEXWBI3IFIDOFEXWBI拍讀R1寫(xiě)R121

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

*冒險(xiǎn)類(lèi)型:WAR—上圖中,Im所寫(xiě)與Ij所讀為同一單元

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

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

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

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

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

延遲分支全部被執(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無(wú)關(guān)的指令或空指令)順序指令I(lǐng)7~I(xiàn)9采用延遲分支技術(shù)的目標(biāo)代碼23

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

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

1aaxyee…

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

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

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

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

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

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

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

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論