最大數(shù)據(jù)傳輸率為:4B×50M=200MB/s 方案一:將時(shí)鐘頻率提高一倍; 方案二:將總線寬度提高一倍。
假設(shè)有一段程序的核心模塊中有五條分支指令,該模塊將會(huì)被執(zhí)行成千上萬(wàn)次,在其中一次執(zhí)行過(guò)程中,五條分支指令的實(shí)際執(zhí)行情況如下(T:Taken;N:notTaken)。分支指令1(B1):T–T–T。分支指令2(B2):N–N–N–N。分支指令3(B3):T–N–T–N–T–N。分支指令4(B4):T–T–T–N–T。分支指令5(B5):T–T–N–T–T–N–T。假定各個(gè)分支指令在每次模塊執(zhí)行過(guò)程中實(shí)際執(zhí)行情況都一樣,并且動(dòng)態(tài)預(yù)測(cè)時(shí),每個(gè)分支指令都有各自的預(yù)測(cè)表項(xiàng),每次執(zhí)行時(shí)的初始預(yù)測(cè)位都相同。請(qǐng)給出以下幾種預(yù)測(cè)方案的預(yù)測(cè)準(zhǔn)確率。 (1)靜態(tài)預(yù)測(cè),總是預(yù)測(cè)轉(zhuǎn)移(Taken)。 (2)靜態(tài)預(yù)測(cè),總是預(yù)測(cè)不轉(zhuǎn)移(notTaken)。 (3)一位動(dòng)態(tài)預(yù)測(cè),初始預(yù)測(cè)轉(zhuǎn)移(Taken)。 (4)二位動(dòng)態(tài)預(yù)測(cè),初始預(yù)測(cè)弱轉(zhuǎn)移(Taken)。
假設(shè)數(shù)據(jù)通路中各主要功能單元的操作時(shí)間為:存儲(chǔ)單元:200ps;ALU和加法器:100ps;寄存器堆讀口或?qū)懣冢?0ps。程序中指令的組成比例為:取數(shù)25%、存數(shù)10%、ALU52%、分支11%、跳轉(zhuǎn)2%。假設(shè)時(shí)鐘周期取存儲(chǔ)器存取時(shí)間的一半,MUX、控制單元、PC、擴(kuò)展器和傳輸線路等的延遲都忽略不計(jì),則下面的實(shí)現(xiàn)方式中,哪個(gè)更快?快多少? (1)單周期方式:每條指令在一個(gè)固定長(zhǎng)度的時(shí)鐘周期內(nèi)完成; (2)多周期方式:每類(lèi)指令時(shí)鐘數(shù):取數(shù)-7,存數(shù)-6,ALU-5,分支-4,跳轉(zhuǎn)-4; (3)流水線方式:取指1、取指2、取數(shù)/譯碼、執(zhí)行、存取1、存取2、寫(xiě)回7段流水線;沒(méi)有結(jié)構(gòu)冒險(xiǎn);數(shù)據(jù)冒險(xiǎn)采用“轉(zhuǎn)發(fā)”技術(shù)處理;load指令與后續(xù)各指令之間存在依賴關(guān)系的概率分別1/2、1/4、1/8、…;分支延遲損失時(shí)間片為2,預(yù)測(cè)準(zhǔn)確率為75%;不考慮異常、中斷和訪問(wèn)失效引起的流水線冒險(xiǎn)。