




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、128秦杰 鄭麗萍 張慶輝4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù) 處理器一個(gè)時(shí)鐘周期流出多條指令受到以下兩處理器一個(gè)時(shí)鐘周期流出多條指令受到以下兩 個(gè)因素的限制:個(gè)因素的限制: 流出流出n n條條指令的處理器中,遇到分支指令的指令的處理器中,遇到分支指令的 速度也快了速度也快了n n倍;倍; 根據(jù)根據(jù)AmdahlAmdahl定律可知,隨著機(jī)器定律可知,隨著機(jī)器CPICPI的降低,的降低, 控制相關(guān)對(duì)性能的影響越來(lái)越大。控制相關(guān)對(duì)性能的影響越來(lái)越大。第四章 指令級(jí)并行228秦杰 鄭麗萍 張慶輝本節(jié)著重于:本節(jié)著重于: 通過(guò)硬件技術(shù),動(dòng)態(tài)地進(jìn)行分支處理,對(duì)程通過(guò)硬件技術(shù),動(dòng)態(tài)地進(jìn)行分支處理,對(duì)程序運(yùn)行時(shí)的
2、分支行為進(jìn)行預(yù)測(cè),提前對(duì)分支操作做序運(yùn)行時(shí)的分支行為進(jìn)行預(yù)測(cè),提前對(duì)分支操作做出反應(yīng),加快分支處理的速度。出反應(yīng),加快分支處理的速度。 分支的最終延遲分支的最終延遲取決于流水線的結(jié)構(gòu)、預(yù)測(cè)的取決于流水線的結(jié)構(gòu)、預(yù)測(cè)的方法和預(yù)測(cè)錯(cuò)誤后恢復(fù)所采取的策略。方法和預(yù)測(cè)錯(cuò)誤后恢復(fù)所采取的策略。 4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù)328秦杰 鄭麗萍 張慶輝4.3.1 分支預(yù)測(cè)緩沖 動(dòng)態(tài)分支預(yù)測(cè)必須解決動(dòng)態(tài)分支預(yù)測(cè)必須解決兩個(gè)問(wèn)題兩個(gè)問(wèn)題: 如何記錄一個(gè)分支操作的歷史。如何記錄一個(gè)分支操作的歷史。 決定預(yù)測(cè)的走向。決定預(yù)測(cè)的走向。 記錄分支歷史的方法有以下幾種:記錄分支歷史的方法有以下幾種: (1 1)僅僅記錄
3、最近一次或最近幾次的分支歷史;)僅僅記錄最近一次或最近幾次的分支歷史; (2 2)記錄分支成功的目標(biāo)地址;)記錄分支成功的目標(biāo)地址; (3 3)記錄分支歷史和分支目標(biāo)地址,相當(dāng)于前)記錄分支歷史和分支目標(biāo)地址,相當(dāng)于前 面兩種方式的結(jié)合;面兩種方式的結(jié)合; (4 4)記錄分支目標(biāo)地址的一條或若干條指令。)記錄分支目標(biāo)地址的一條或若干條指令。 4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù)428秦杰 鄭麗萍 張慶輝分支預(yù)測(cè)緩沖技術(shù)分支預(yù)測(cè)緩沖技術(shù)(Branch-Prediction BufferBranch-Prediction Buffer或者或者Branch History TableBranch Hist
4、ory Table,簡(jiǎn)寫(xiě)為,簡(jiǎn)寫(xiě)為BTBBTB或者或者BHTBHT):): 目前廣泛使用的最簡(jiǎn)單的動(dòng)態(tài)分支預(yù)測(cè)技術(shù)。目前廣泛使用的最簡(jiǎn)單的動(dòng)態(tài)分支預(yù)測(cè)技術(shù)。 使用一片存儲(chǔ)區(qū)域,記錄最近一次或幾次分支特使用一片存儲(chǔ)區(qū)域,記錄最近一次或幾次分支特征的歷史。征的歷史。 1. 只有只有1 1個(gè)預(yù)測(cè)位個(gè)預(yù)測(cè)位的分支預(yù)測(cè)緩沖的分支預(yù)測(cè)緩沖 索引索引:分支指令地址的低位。:分支指令地址的低位。 存儲(chǔ)區(qū)存儲(chǔ)區(qū):1 1位位的分支歷史記錄位,又稱為的分支歷史記錄位,又稱為 預(yù)測(cè)位,記錄該指令最近一次預(yù)測(cè)位,記錄該指令最近一次 分支是否成功。分支是否成功。4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù)528秦杰 鄭麗萍 張慶輝狀態(tài)
5、轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖 “0”“0”記錄分支不成功記錄分支不成功 “1”1”記錄分支成功記錄分支成功 1 0 分支不成功 分支成功 分支不成功 分支成功 圖圖4.9 4.9 只有只有1 1個(gè)預(yù)測(cè)位的分支預(yù)測(cè)緩沖狀態(tài)轉(zhuǎn)換圖個(gè)預(yù)測(cè)位的分支預(yù)測(cè)緩沖狀態(tài)轉(zhuǎn)換圖 4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù)628秦杰 鄭麗萍 張慶輝2. 2. 分支預(yù)測(cè)緩沖技術(shù)包括兩個(gè)步驟分支預(yù)測(cè)緩沖技術(shù)包括兩個(gè)步驟 分支預(yù)測(cè)分支預(yù)測(cè) 如果當(dāng)前緩沖記錄的預(yù)測(cè)位為如果當(dāng)前緩沖記錄的預(yù)測(cè)位為“1”1”,則預(yù),則預(yù) 測(cè)分為成功;如果預(yù)測(cè)位為測(cè)分為成功;如果預(yù)測(cè)位為“0”0”,則預(yù)測(cè)分支,則預(yù)測(cè)分支為不成功。為不成功。預(yù)測(cè)位修改預(yù)測(cè)位修改 如果當(dāng)前
6、分支成功,則預(yù)測(cè)位置為如果當(dāng)前分支成功,則預(yù)測(cè)位置為“1”1”; 如果當(dāng)前分支不成功,預(yù)測(cè)位置為如果當(dāng)前分支不成功,預(yù)測(cè)位置為“0”0”。 3.3.分支預(yù)測(cè)錯(cuò)誤時(shí),預(yù)測(cè)位就被修改,并且需分支預(yù)測(cè)錯(cuò)誤時(shí),預(yù)測(cè)位就被修改,并且需 要恢復(fù)現(xiàn)場(chǎng),程序從分支指令處重新執(zhí)行要恢復(fù)現(xiàn)場(chǎng),程序從分支指令處重新執(zhí)行。 4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù)728秦杰 鄭麗萍 張慶輝 i-1 i i+1 i+2 p+1 p+2 猜測(cè)執(zhí)行路徑 實(shí)際執(zhí)行路徑 分支指令 得到分支結(jié)果 圖圖4.10 4.10 分支預(yù)測(cè)執(zhí)行不成功和重新執(zhí)行過(guò)程分支預(yù)測(cè)執(zhí)行不成功和重新執(zhí)行過(guò)程 4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù)828秦杰 鄭麗萍 張慶
7、輝例例4.64.6 一個(gè)循環(huán)共循環(huán)一個(gè)循環(huán)共循環(huán)1010次,它將分支成功次,它將分支成功9 9次,次, 1 1次不成功。假設(shè)此分支的預(yù)測(cè)位始終在次不成功。假設(shè)此分支的預(yù)測(cè)位始終在緩沖區(qū)中。那么分支預(yù)測(cè)的準(zhǔn)確性是多少?緩沖區(qū)中。那么分支預(yù)測(cè)的準(zhǔn)確性是多少? 解解 這種固定的預(yù)測(cè)將會(huì)在第一次和最后一次這種固定的預(yù)測(cè)將會(huì)在第一次和最后一次 循環(huán)中出現(xiàn)預(yù)測(cè)錯(cuò)誤。循環(huán)中出現(xiàn)預(yù)測(cè)錯(cuò)誤。 第一次預(yù)測(cè)錯(cuò)誤是源于上次程序的執(zhí)行,第一次預(yù)測(cè)錯(cuò)誤是源于上次程序的執(zhí)行, 因?yàn)樯弦淮纬绦蜃詈笠淮畏种遣怀晒Φ?。因?yàn)樯弦淮纬绦蜃詈笠淮畏种遣怀晒Φ摹?最后一次預(yù)測(cè)錯(cuò)誤是不可避免的,因?yàn)榍白詈笠淮晤A(yù)測(cè)錯(cuò)誤是不可避免的,因?yàn)?/p>
8、前 面的分支總是成功,共面的分支總是成功,共九九次。次。 因此,盡管分支成功的比例率是因此,盡管分支成功的比例率是90%90%, 但分支預(yù)測(cè)的準(zhǔn)確性為但分支預(yù)測(cè)的準(zhǔn)確性為80%80%(兩兩次不正確,次不正確, 8 8次確)。次確)。 4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù)928秦杰 鄭麗萍 張慶輝4.4.1 1位預(yù)測(cè)機(jī)制的位預(yù)測(cè)機(jī)制的缺點(diǎn)缺點(diǎn) 只要預(yù)測(cè)出錯(cuò),往往是連續(xù)兩次而不是一次。只要預(yù)測(cè)出錯(cuò),往往是連續(xù)兩次而不是一次。5.5.解決方法解決方法 采用采用兩個(gè)預(yù)測(cè)位的預(yù)測(cè)機(jī)制兩個(gè)預(yù)測(cè)位的預(yù)測(cè)機(jī)制。 在兩個(gè)預(yù)測(cè)位的分支預(yù)測(cè)中,更改對(duì)分支的在兩個(gè)預(yù)測(cè)位的分支預(yù)測(cè)中,更改對(duì)分支的預(yù)測(cè)必須有兩次連續(xù)預(yù)測(cè)錯(cuò)誤。
9、預(yù)測(cè)必須有兩次連續(xù)預(yù)測(cè)錯(cuò)誤。 兩位分支預(yù)測(cè)的狀態(tài)轉(zhuǎn)換圖兩位分支預(yù)測(cè)的狀態(tài)轉(zhuǎn)換圖4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù)1028秦杰 鄭麗萍 張慶輝 分支預(yù)測(cè): 不成功 分支預(yù)測(cè): 成功 11 10 分支不成功 分支成功 分支不成功 分支成功 01 00 分支不成功 分支成功 分支不成功 分支成功 圖圖4.11 4.11 具有兩個(gè)分支預(yù)測(cè)位的分支預(yù)測(cè)緩沖狀態(tài)轉(zhuǎn)換機(jī)制具有兩個(gè)分支預(yù)測(cè)位的分支預(yù)測(cè)緩沖狀態(tài)轉(zhuǎn)換機(jī)制 4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù)1128秦杰 鄭麗萍 張慶輝6. 6. n n位位分支預(yù)測(cè)緩沖分支預(yù)測(cè)緩沖采用采用n n位位計(jì)數(shù)器,則計(jì)數(shù)器的值在計(jì)數(shù)器,則計(jì)數(shù)器的值在0 0到到2 2n n-1-1之
10、間:之間: 當(dāng)計(jì)數(shù)器的值大于或等于最大值的一半(當(dāng)計(jì)數(shù)器的值大于或等于最大值的一半(2 2n-1n-1)時(shí),則預(yù)測(cè)下一次分支成功;時(shí),則預(yù)測(cè)下一次分支成功; 否則預(yù)測(cè)下一次分支不成功。否則預(yù)測(cè)下一次分支不成功。預(yù)測(cè)位的修改和兩位預(yù)測(cè)時(shí)相同:預(yù)測(cè)位的修改和兩位預(yù)測(cè)時(shí)相同: 當(dāng)分支成功時(shí)計(jì)數(shù)器的值當(dāng)分支成功時(shí)計(jì)數(shù)器的值加加1 1,不成功時(shí),不成功時(shí)減減1 1。研究表明:研究表明: n n位位分支預(yù)測(cè)的性能和兩位分支預(yù)測(cè)差不多,分支預(yù)測(cè)的性能和兩位分支預(yù)測(cè)差不多,因而大多數(shù)處理器都只采用兩位分支預(yù)測(cè)。因而大多數(shù)處理器都只采用兩位分支預(yù)測(cè)。4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù)1228秦杰 鄭麗萍 張慶輝7.
11、7.對(duì)于真實(shí)的應(yīng)用程序,兩位的分支預(yù)測(cè)的準(zhǔn)對(duì)于真實(shí)的應(yīng)用程序,兩位的分支預(yù)測(cè)的準(zhǔn)確率可達(dá)到多少呢?確率可達(dá)到多少呢? SPEC89SPEC89標(biāo)準(zhǔn)程序的測(cè)試:標(biāo)準(zhǔn)程序的測(cè)試: 在使用在使用40964096個(gè)記錄項(xiàng)的緩沖區(qū)時(shí),分支個(gè)記錄項(xiàng)的緩沖區(qū)時(shí),分支 預(yù)測(cè)準(zhǔn)確率可達(dá)到預(yù)測(cè)準(zhǔn)確率可達(dá)到99%99%到到82%82%。 使用無(wú)窮多歷史記錄項(xiàng)的分支預(yù)測(cè)緩沖,使用無(wú)窮多歷史記錄項(xiàng)的分支預(yù)測(cè)緩沖, 只有少量程序的分支預(yù)測(cè)準(zhǔn)確率僅僅比只有少量程序的分支預(yù)測(cè)準(zhǔn)確率僅僅比40964096 個(gè)記錄項(xiàng)提高個(gè)記錄項(xiàng)提高1%1%,多數(shù)程序的預(yù)測(cè)精度是相,多數(shù)程序的預(yù)測(cè)精度是相 同的。同的。 因此,對(duì)于因此,對(duì)于SPE
12、C89SPEC89應(yīng)用環(huán)境而言,應(yīng)用環(huán)境而言,4K4K的的 緩沖區(qū)是恰當(dāng)?shù)摹>彌_區(qū)是恰當(dāng)?shù)摹?.8.上述分支預(yù)測(cè)機(jī)制對(duì)于改進(jìn)后的上述分支預(yù)測(cè)機(jī)制對(duì)于改進(jìn)后的DLXDLX流水線沒(méi)流水線沒(méi)有幫助。有幫助。 4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù)1328秦杰 鄭麗萍 張慶輝4.3.2 分支目標(biāo)緩沖 目標(biāo):目標(biāo):將分支的開(kāi)銷(xiāo)降為零。將分支的開(kāi)銷(xiāo)降為零。方法:方法:分支目標(biāo)緩沖分支目標(biāo)緩沖 將分支成功的分支指令的地址和它的分支目將分支成功的分支指令的地址和它的分支目標(biāo)地址都放到一個(gè)緩沖區(qū)中保存起來(lái),緩沖區(qū)標(biāo)地址都放到一個(gè)緩沖區(qū)中保存起來(lái),緩沖區(qū)以分支指令的地址作為標(biāo)示;取指令階段,所以分支指令的地址作為標(biāo)示;取
13、指令階段,所有指令地址都與保存的標(biāo)示作比較,一旦相同,有指令地址都與保存的標(biāo)示作比較,一旦相同,我們就認(rèn)為本指令是分支指令,且認(rèn)為它轉(zhuǎn)移我們就認(rèn)為本指令是分支指令,且認(rèn)為它轉(zhuǎn)移成功,并且它的分支目標(biāo)(下一條指令)地址成功,并且它的分支目標(biāo)(下一條指令)地址就是保存在緩沖區(qū)中的分支目標(biāo)地址。就是保存在緩沖區(qū)中的分支目標(biāo)地址。 這個(gè)緩沖區(qū)就是這個(gè)緩沖區(qū)就是分支目標(biāo)緩沖區(qū)分支目標(biāo)緩沖區(qū)(Branch-Branch-Target BufferTarget Buffer,簡(jiǎn)記為,簡(jiǎn)記為BTBBTB,或者,或者Branch-Branch-Target CacheTarget Cache)。)。 4.3 控
14、制相關(guān)的動(dòng)態(tài)解決技術(shù)1. 1. 分支目標(biāo)緩沖結(jié)構(gòu)和工作過(guò)程分支目標(biāo)緩沖結(jié)構(gòu)和工作過(guò)程 N 命中? 當(dāng)前 PC 地址標(biāo)示 分支目標(biāo) PC 分支目標(biāo)指令 查找、比較 分支目標(biāo)緩沖 沒(méi)有命中,則認(rèn)為本指令不是分支,按普通指令執(zhí)行 Y 命中,則認(rèn)為本指令是分支,且分支成功,以分支目標(biāo)緩沖中分支目標(biāo) PC 作為下一條指令地址 圖圖4.12 4.12 分支目標(biāo)緩沖的結(jié)構(gòu)和工作過(guò)程分支目標(biāo)緩沖的結(jié)構(gòu)和工作過(guò)程 2. 2. 在流水線的各個(gè)階段中,具有分支目標(biāo)緩沖的工作在流水線的各個(gè)階段中,具有分支目標(biāo)緩沖的工作 分配如圖分配如圖4.134.13。 當(dāng)前 PC 值送存儲(chǔ)器和 BTB BTB 中存在? 成功分支指
15、令? 當(dāng)前分支成功? 以分支目標(biāo) PC 值送存儲(chǔ)器 否 是 否 普通指令 是 是 否 預(yù)測(cè)成功,后續(xù)指令無(wú)延遲執(zhí)行 預(yù)測(cè)錯(cuò)誤,清除取來(lái)的指令并從分支的另外一個(gè)目標(biāo)取指令,刪除BTB 中對(duì)應(yīng)項(xiàng) 將當(dāng)前指令PC 值和分支目標(biāo)PC 送入 BTB 中作為一個(gè)新項(xiàng) 取指令 指令譯碼 指令執(zhí)行 問(wèn)題:?jiǎn)栴}:解決預(yù)測(cè)錯(cuò)誤或不命中的延遲。解決預(yù)測(cè)錯(cuò)誤或不命中的延遲。 1628秦杰 鄭麗萍 張慶輝3. 3. 采用采用BTBBTB技術(shù)時(shí)指令在各種情況下的延遲技術(shù)時(shí)指令在各種情況下的延遲 指令在BTB中?是是不是不是預(yù)測(cè)結(jié)果成功成功實(shí)際的動(dòng)作成功不成功成功不成功延遲周期0220表表4.3 4.3 采用采用BTBBT
16、B技術(shù)時(shí)指令在各種情況下的延遲技術(shù)時(shí)指令在各種情況下的延遲 4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù)1728秦杰 鄭麗萍 張慶輝例例4.74.7 按按表表4.34.3計(jì)算分支轉(zhuǎn)移總的延遲,根據(jù)下面的假計(jì)算分支轉(zhuǎn)移總的延遲,根據(jù)下面的假 設(shè),計(jì)算分支目標(biāo)緩沖的性能。設(shè),計(jì)算分支目標(biāo)緩沖的性能。 (1 1)對(duì)于)對(duì)于BTBBTB中的指令,預(yù)測(cè)準(zhǔn)確率中的指令,預(yù)測(cè)準(zhǔn)確率90%90% (2 2)緩沖區(qū)命中率)緩沖區(qū)命中率90%90% (3 3)不在)不在BTBBTB中分支轉(zhuǎn)移成功的比例為中分支轉(zhuǎn)移成功的比例為60%60% 解解 根據(jù)根據(jù)表表4.34.3的分類(lèi),性能計(jì)算包括的分類(lèi),性能計(jì)算包括4 4個(gè)個(gè)部分:部分
17、: (1 1)在)在BTBBTB中,預(yù)測(cè)成功,實(shí)際成功,此時(shí)的中,預(yù)測(cè)成功,實(shí)際成功,此時(shí)的 延遲為延遲為0 0。 (2 2)在)在BTBBTB中,預(yù)測(cè)成功,實(shí)際不成功,此時(shí)中,預(yù)測(cè)成功,實(shí)際不成功,此時(shí) 的延遲為:的延遲為: 4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù)1828秦杰 鄭麗萍 張慶輝 BTBBTB命中率命中率 預(yù)測(cè)錯(cuò)誤率預(yù)測(cè)錯(cuò)誤率 2 2 = 90% = 90% 10% 10% 2 2 = 0.18 = 0.18(時(shí)鐘周期)(時(shí)鐘周期)(3 3)不在)不在BTBBTB中,實(shí)際成功,此時(shí)的延遲為:中,實(shí)際成功,此時(shí)的延遲為:(1-BTB1-BTB命中率)命中率) 不在不在BTBBTB中分支轉(zhuǎn)移
18、成功率中分支轉(zhuǎn)移成功率 2 2 = 10% = 10% 60% 60% 2 2 = 0.12 = 0.12(時(shí)鐘周期)(時(shí)鐘周期)(4 4)不在)不在BTBBTB中,實(shí)際不成功,此時(shí)的延遲為中,實(shí)際不成功,此時(shí)的延遲為0 0。4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù)1928秦杰 鄭麗萍 張慶輝4. 4. 對(duì)分支預(yù)測(cè)機(jī)制的一種改進(jìn)對(duì)分支預(yù)測(cè)機(jī)制的一種改進(jìn) 在緩沖區(qū)中不僅存入目的地址,而且還存入一在緩沖區(qū)中不僅存入目的地址,而且還存入一 個(gè)或多個(gè)目標(biāo)指令。個(gè)或多個(gè)目標(biāo)指令。 有兩種潛在的有兩種潛在的好處好處: 在連續(xù)取指令之前,可以較長(zhǎng)時(shí)間的訪問(wèn)緩沖在連續(xù)取指令之前,可以較長(zhǎng)時(shí)間的訪問(wèn)緩沖區(qū),這時(shí)的分支目的
19、緩沖區(qū)較大。區(qū),這時(shí)的分支目的緩沖區(qū)較大。對(duì)目的指令進(jìn)行緩沖,構(gòu)成稱為對(duì)目的指令進(jìn)行緩沖,構(gòu)成稱為分支目標(biāo)指令分支目標(biāo)指令緩沖緩沖(branch foldingbranch folding)的結(jié)構(gòu),它可使無(wú)條)的結(jié)構(gòu),它可使無(wú)條件分支的延遲達(dá)到零,甚至有的條件分支也可件分支的延遲達(dá)到零,甚至有的條件分支也可達(dá)到零延遲達(dá)到零延遲 。4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù)2028秦杰 鄭麗萍 張慶輝4.3.3 基于硬件的前瞻執(zhí)行 前瞻(前瞻(SpeculationSpeculation)的技術(shù)方法)的技術(shù)方法: 它允許在處理器還未判斷指令是否能執(zhí)行它允許在處理器還未判斷指令是否能執(zhí)行之前就提前執(zhí)行,以克服
20、控制相關(guān)。之前就提前執(zhí)行,以克服控制相關(guān)。 在大多數(shù)指令前瞻正確的前提下,前瞻就在大多數(shù)指令前瞻正確的前提下,前瞻就可以有效地加快分支處理的速度??梢杂行У丶涌旆种幚淼乃俣?。 1.1.基于硬件的前瞻執(zhí)行結(jié)合了基于硬件的前瞻執(zhí)行結(jié)合了三種思想三種思想: (1 1)采用動(dòng)態(tài)的分支預(yù)測(cè)技術(shù)來(lái)選擇后續(xù)執(zhí))采用動(dòng)態(tài)的分支預(yù)測(cè)技術(shù)來(lái)選擇后續(xù)執(zhí) 行語(yǔ)句;行語(yǔ)句;4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù)2128秦杰 鄭麗萍 張慶輝 (2 2)在控制相關(guān)消除之前指令前瞻執(zhí)行;)在控制相關(guān)消除之前指令前瞻執(zhí)行; (3 3)對(duì)基本塊采用動(dòng)態(tài)調(diào)度。)對(duì)基本塊采用動(dòng)態(tài)調(diào)度。 2.2.基于硬件的前瞻是動(dòng)態(tài)地根據(jù)數(shù)據(jù)相關(guān)性來(lái)選擇基
21、于硬件的前瞻是動(dòng)態(tài)地根據(jù)數(shù)據(jù)相關(guān)性來(lái)選擇指令和指令的執(zhí)行時(shí)間。指令和指令的執(zhí)行時(shí)間。 實(shí)質(zhì):實(shí)質(zhì):數(shù)據(jù)流驅(qū)動(dòng)運(yùn)行數(shù)據(jù)流驅(qū)動(dòng)運(yùn)行(data-flow executiondata-flow execution) 只要操作數(shù)有效,指令就可以執(zhí)行。只要操作數(shù)有效,指令就可以執(zhí)行。3.3.指令的確認(rèn)指令的確認(rèn) 前瞻執(zhí)行的指令產(chǎn)生的結(jié)果要一直到指令處前瞻執(zhí)行的指令產(chǎn)生的結(jié)果要一直到指令處于非前瞻執(zhí)行狀態(tài)時(shí),才能確定為最終結(jié)果,才于非前瞻執(zhí)行狀態(tài)時(shí),才能確定為最終結(jié)果,才允許最終寫(xiě)到寄存器或存儲(chǔ)器中去。允許最終寫(xiě)到寄存器或存儲(chǔ)器中去。 4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù)2228秦杰 鄭麗萍 張慶輝4.4.實(shí)現(xiàn)前
22、瞻的實(shí)現(xiàn)前瞻的關(guān)鍵思想關(guān)鍵思想: 允許指令亂序執(zhí)行,但必須順序確認(rèn)。允許指令亂序執(zhí)行,但必須順序確認(rèn)。5.5.再定序緩沖(再定序緩沖(reorder bufferreorder buffer,簡(jiǎn)記為,簡(jiǎn)記為ROBROB) 保存那些執(zhí)行完畢但未經(jīng)確認(rèn)的指令及其結(jié)保存那些執(zhí)行完畢但未經(jīng)確認(rèn)的指令及其結(jié)果。在指令執(zhí)行完畢和確認(rèn)之間這段時(shí)間里,由果。在指令執(zhí)行完畢和確認(rèn)之間這段時(shí)間里,由 再定序緩沖提供所有其他指令需要的作為操作數(shù)再定序緩沖提供所有其他指令需要的作為操作數(shù)的數(shù)據(jù)。再定序緩沖區(qū)還可以取代?。ǖ臄?shù)據(jù)。再定序緩沖區(qū)還可以取代?。╨oadload)緩)緩 沖區(qū)。沖區(qū)。 4.3 控制相關(guān)的動(dòng)態(tài)解
23、決技術(shù)2328秦杰 鄭麗萍 張慶輝再定序緩沖的每個(gè)項(xiàng)包含再定序緩沖的每個(gè)項(xiàng)包含三個(gè)域三個(gè)域: (1 1)指令的類(lèi)型)指令的類(lèi)型 指令類(lèi)型包括是否是分支(尚無(wú)結(jié)果)、指令類(lèi)型包括是否是分支(尚無(wú)結(jié)果)、 存操作(目的地址為存儲(chǔ)器)或寄存器操作存操作(目的地址為存儲(chǔ)器)或寄存器操作 (ALUALU操作或目的地址是寄存器的取操作)。操作或目的地址是寄存器的取操作)。 (2 2)目的地址)目的地址 目的地址域給出結(jié)果應(yīng)寫(xiě)入的目的寄存目的地址域給出結(jié)果應(yīng)寫(xiě)入的目的寄存 器號(hào)(對(duì)于取操作和器號(hào)(對(duì)于取操作和ALUALU指令)或存儲(chǔ)器的地指令)或存儲(chǔ)器的地 址(存操作)。址(存操作)。 (3 3)值域)值域
24、 值域用來(lái)保存指令前瞻執(zhí)行的結(jié)果,直值域用來(lái)保存指令前瞻執(zhí)行的結(jié)果,直 到指令得到確認(rèn)。到指令得到確認(rèn)。 4.3 控制相關(guān)的動(dòng)態(tài)解決技術(shù) 使用再定序緩沖的處理部件的硬件結(jié)構(gòu)使用再定序緩沖的處理部件的硬件結(jié)構(gòu) 浮點(diǎn) 操作 隊(duì)列 再定序緩沖 浮點(diǎn)寄存器組 FP 加法器 FP 乘法器 公共數(shù)據(jù)總線 從存儲(chǔ)器來(lái) (取的結(jié)果) ) 從指令部件來(lái) 保留站 去存儲(chǔ)器 (地址/數(shù)據(jù)) 操作總線 操作數(shù)總線 圖圖4.14 4.14 采用采用TomasuloTomasulo算法并支持前瞻執(zhí)行的算法并支持前瞻執(zhí)行的DLXDLX浮點(diǎn)部件的結(jié)構(gòu)浮點(diǎn)部件的結(jié)構(gòu) 2528秦杰 鄭麗萍 張慶輝例例4.84.8 假設(shè)浮點(diǎn)功能單元的延遲為加法是假設(shè)浮點(diǎn)功能單元的延遲為加法是2 2個(gè)個(gè)時(shí)鐘周時(shí)鐘周 期,乘法是期,乘法是1010個(gè)個(gè)時(shí)鐘周期,除法時(shí)鐘周期,除法4040個(gè)個(gè)時(shí)鐘周時(shí)鐘周 期。給出下面的代碼段當(dāng)指令期。給出下面的代碼段當(dāng)指令MULTDMULTD要確認(rèn)要確認(rèn) 時(shí)的狀態(tài)。時(shí)的狀態(tài)。 LDLDF6,3
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)螺旋埋弧焊管行業(yè)發(fā)展?fàn)顩r及營(yíng)銷(xiāo)戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)營(yíng)養(yǎng)煲行業(yè)運(yùn)行動(dòng)態(tài)分析與營(yíng)銷(xiāo)策略研究報(bào)告
- 2025-2030年中國(guó)花椒大料行業(yè)運(yùn)營(yíng)狀況及發(fā)展前景分析報(bào)告
- 2025-2030年中國(guó)膦酸脲行業(yè)運(yùn)行狀況與前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)膠合板行業(yè)十三五規(guī)劃及發(fā)展盈利分析報(bào)告
- 2025-2030年中國(guó)聚丁烯管行業(yè)現(xiàn)狀調(diào)研及發(fā)展?jié)摿Ψ治鰣?bào)告
- 2025-2030年中國(guó)紙杯機(jī)行業(yè)運(yùn)行狀況及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)粽子行業(yè)十三五規(guī)劃及發(fā)展盈利分析報(bào)告
- 2025江西省建筑安全員-B證考試題庫(kù)附答案
- 珠??萍紝W(xué)院《邊緣計(jì)算》2023-2024學(xué)年第二學(xué)期期末試卷
- 精神分裂癥的護(hù)理PPT
- JJG875-2005數(shù)字壓力計(jì)檢定規(guī)程
- 單價(jià)、數(shù)量、總價(jià)-教學(xué)課件【A3演示文稿設(shè)計(jì)與制作】
- 中小學(xué)生安全教育手冊(cè)全面版
- 09《馬克思主義政治經(jīng)濟(jì)學(xué)概論(第二版)》第九章
- 公司與個(gè)人合伙買(mǎi)車(chē)經(jīng)營(yíng)協(xié)議書(shū)
- DDI-能力解構(gòu)詞典
- 2015-2022年江西電力職業(yè)技術(shù)學(xué)院高職單招語(yǔ)文/數(shù)學(xué)/英語(yǔ)筆試參考題庫(kù)含答案解析
- 1 聚聚散散 教案人教版美術(shù)四年級(jí)下冊(cè)
- 綜合實(shí)踐活動(dòng)勞動(dòng)與技術(shù)八年級(jí)下冊(cè)教案
- GB/T 36196-2018蛋鴿飼養(yǎng)管理技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論