假設數據通路中各主要功能單元的操作時間為:存儲單元:200ps;ALU和加法器:100ps;寄存器堆讀口或寫口:50ps。程序中指令的組成比例為:取數25%、存數10%、ALU52%、分支11%、跳轉2%。假設時鐘周期取存儲器存取時間的一半,MUX、控制單元、PC、擴展器和傳輸線路等的延遲都忽略不計,則下面的實現方式中,哪個更快?快多少?
(1)單周期方式:每條指令在一個固定長度的時鐘周期內完成;
(2)多周期方式:每類指令時鐘數:取數-7,存數-6,ALU-5,分支-4,跳轉-4;
(3)流水線方式:取指1、取指2、取數/譯碼、執(zhí)行、存取1、存取2、寫回7段流水線;沒有結構冒險;數據冒險采用“轉發(fā)”技術處理;load指令與后續(xù)各指令之間存在依賴關系的概率分別1/2、1/4、1/8、…;分支延遲損失時間片為2,預測準確率為75%;不考慮異常、中斷和訪問失效引起的流水線冒險。