




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、計算機體系結(jié)構(gòu) Chapter4_4 1多指令流出技術(shù):多指令流出技術(shù):VLIW 和和Superscalar簡介簡介周學(xué)海計算機體系結(jié)構(gòu) Chapter4_4 2Review #1/2 Reservations stations: 寄存器重命名,緩沖源操作數(shù) 避免寄存器成為瓶頸 避免了Scoreboard中無法解決的 WAR, WAW hazards 允許硬件做循環(huán)展開 不限于基本塊(IU先行,解決控制相關(guān)) 貢獻 Dynamic scheduling Register renaming Load/store disambiguation 360/91 后 Pentium II; PowerP
2、C 604; MIPS R10000; HP-PA 8000; Alpha 21264使用這種技術(shù)計算機體系結(jié)構(gòu) Chapter4_4 3 動態(tài)調(diào)度方案可以用硬件動態(tài)完成循環(huán)展開 通過重命名機制來消除WAR和 WAW 相關(guān) Reorder Buffer: 提供了撤銷指令運行的機制 指令以發(fā)射序存放在ROB中 指令順序提交 分支預(yù)測對提高性能是非常重要的 推斷執(zhí)行是利用了ROB撤銷指令執(zhí)行的機制 Superscalar 和VLIW: CPI 1)小結(jié)小結(jié) #2/2計算機體系結(jié)構(gòu) Chapter4_4 4如何使如何使CPI 1 (1/2) 前面所述的各種技術(shù)主要通過減少數(shù)據(jù)相關(guān)和控制相關(guān),使得CP
3、I = 1 ( CPI接近1) 是否能夠使CPI 1? 兩種基本方法 Superscalar: 每個時鐘周期所發(fā)射的指令數(shù)不定(1 8條) 由編譯器或硬件完成調(diào)度 IBM PowerPC, Sun UltraSparc, DEC Alpha, HP 8000 該方法對目前通用計算是最成功的方法 新的概念 Instructions Per Clock (IPC) vs. CPI計算機體系結(jié)構(gòu) Chapter4_4 5如何使如何使 CPI 需檢查2個操作碼,6個寄存器描述符 ,檢查是發(fā)射1條還是2條指令。 VLIW 指令字較長可以容納較多的操作 根據(jù)定義,VLIW中的所有操作是由編譯時刻組合的,并
4、且是相互無關(guān)的,也就是說:可以并行執(zhí)行 例如 2 個整數(shù)操作,2個浮點操作,2個存儲器引用,1個分支指令 每一個操作用16 到 24 位 表示 = 共7*16 112 bits 到 7*24 168 bits wide 需要用編譯技術(shù)調(diào)度來解決分支問題計算機體系結(jié)構(gòu) Chapter4_4 11基于基于VLIW的循環(huán)展開的循環(huán)展開Memory MemoryFPFPInt. op/Clockreference 1reference 2operation 1 op. 2 branchLD F0,0(R1)LD F6,-8(R1)1LD F10,-16(R1)LD F14,-24(R1)2LD F18
5、,-32(R1)LD F22,-40(R1)ADDD F4,F0,F2ADDD F8,F6,F2 3LD F26,-48(R1)ADDD F12,F10,F2ADDD F16,F14,F24ADDD F20,F18,F2ADDD F24,F22,F25SD 0(R1),F4SD -8(R1),F8ADDD F28,F26,F26SD -16(R1),F12SD -24(R1),F16SUBI R1,R1,#48 7SD 16(R1),F20SD 8(R1),F248SD -0(R1),F28BNEZ R1,LOOP9 Unrolled 7 times to avoid delays 7 res
6、ults in 9 clocks, or 1.3 clocks per iteration (1.8X) Average: 2.5 ops per clock, 50% efficiency 注: 在VLIW中,一條超長指令有更多的讀寫寄存器操作(15 vs. 6 in SS)計算機體系結(jié)構(gòu) Chapter4_4 12Trace Scheduling 消除分支的一種策略 兩步: Trace Selection 搜索可能最長的直線型代碼(由一組基本塊構(gòu)成)(通過靜態(tài)預(yù)測或profile技術(shù))(trace) Trace Compaction 將trace中的指令拼裝為若干條VLIW 指令 需要一些
7、保存環(huán)境的代碼,以防預(yù)測錯誤 由編譯器撤銷預(yù)測錯誤造成的后果(恢復(fù)寄存器的原值)計算機體系結(jié)構(gòu) Chapter4_4 13HW推斷執(zhí)行推斷執(zhí)行(Tomasulo) vs. SW (VLIW) 推斷執(zhí)行推斷執(zhí)行 HW 確定地址沖突 HW 分支預(yù)測較好,預(yù)測準(zhǔn)確率較高 HW 可支持精確中斷模型 HW 不必執(zhí)行保存環(huán)境和恢復(fù)環(huán)境的指令 SW 推斷執(zhí)行比HW設(shè)計簡單的多計算機體系結(jié)構(gòu) Chapter4_4 14Superscalar vs. VLIW 代碼量較小 二進制兼容性好 譯碼、發(fā)射指令的硬件設(shè)計簡單 更多的寄存器,一般使用多個寄存器文件而不是多端口寄存器文件計算機體系結(jié)構(gòu) Chapter4_4
8、 15Superscalar 的動態(tài)調(diào)度(的動態(tài)調(diào)度(1/2) 靜態(tài)調(diào)度的缺陷: 有相關(guān)就停止發(fā)射 基于原來Superscalar的代碼生成器所生成的代碼可能在新的Superscalar上運行效率較差,代碼與superscalar的結(jié)構(gòu)有關(guān)計算機體系結(jié)構(gòu) Chapter4_4 16Superscalar 的動態(tài)調(diào)度(的動態(tài)調(diào)度(2/2) 用Tomasulo如何發(fā)射兩條指令并保持指令序 假設(shè)有1 浮點操作,1個整數(shù)操作 Tomasulo控制器一個控制整型操作的發(fā)射,一個控制浮點型操作的發(fā)射 如果每個周期發(fā)射兩條不同的指令,比較容易保持指令序(整型類操作序,浮點類操作序) 現(xiàn)在只有FP的Loads
9、操作可能會引起整型操作發(fā)射和浮點操作發(fā)射的相關(guān) 存儲器引用問題: 將load的保留站組織成隊列方式,操作數(shù)必須按指令序讀取 Load操作時檢測Store隊列中Store的地址以防止RAW沖突 Store操作時檢測Load隊列的地址,以防止WAR相關(guān) Store操作按指令序進行,防止WAW相關(guān)計算機體系結(jié)構(gòu) Chapter4_4 17Performance of Dynamic SS計算機體系結(jié)構(gòu) Chapter4_4 18 計算機體系結(jié)構(gòu) Chapter4_4 19多發(fā)射處理器受到的限制(多發(fā)射處理器受到的限制(1/2) 程序內(nèi)在的ILP的限制 如果每5條指令中有1條相關(guān)指令 : 如何保持5-
10、路VLIW 并行? 部件的操作延時:許多操作需要調(diào)度,使部件延時加大 多指令流出的處理器需要大量的硬件資源 需要多個功能部件來使得多個操作并行(Easy) 需要更大的指令訪問帶寬(Easy) 需要增加寄存器文件的端口數(shù)(以及通信帶寬) (Hard) 增加存儲器的端口數(shù)(帶寬) (Harder) 計算機體系結(jié)構(gòu) Chapter4_4 20多發(fā)射處理器受到的限制(多發(fā)射處理器受到的限制(2/2) 一些由Superscalar或VLIW的實現(xiàn)帶來的特殊問題 Superscalar的譯碼、發(fā)射問題: 到底能發(fā)射多少條指令? VLIW 代碼量問題: 循環(huán)展開 + VLIW中無用的區(qū)域 VLIW 互鎖 = 1 個相關(guān)導(dǎo)致所有指令停頓 VLIW 的二進制兼容問題計算機體系結(jié)構(gòu) Chapter4_4 21ILP受到的限制受到的限制 大量研究結(jié)果的相互矛盾 Benchmarks (vectorized Fortran FP vs. integer C programs) HW方式好 軟件(Compiler)方式好 通過增加HW成本使用現(xiàn)有的各種機制到底能提高多少ILP? 我們是否要設(shè)計新的HW/SW機制來提高性能?計算機體系結(jié)構(gòu) Chapter4_4 22Sum
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45286-2025信息技術(shù)手持式移動設(shè)備增強現(xiàn)實系統(tǒng)技術(shù)規(guī)范
- 2025年萊蕪下載貨運從業(yè)資格證模擬考試系統(tǒng)試題
- 單位空調(diào)安裝合同范本
- 刑法中勞務(wù)合同范本
- 刊物設(shè)計制作合同范本
- 寫好運輸合同范本
- 農(nóng)戶貸款合伙經(jīng)營合同范本
- 企業(yè)重組收購合同范本
- 供熱設(shè)備買賣合同范本
- 代理銀行開戶合同范本
- 九型人格與親子教育課件
- 2025屆高校畢業(yè)生公開招聘工作人員報名登記表
- DB34∕T 2290-2022 水利工程質(zhì)量檢測規(guī)程
- GB/T 44399-2024移動式金屬氫化物可逆儲放氫系統(tǒng)
- 薛崗小學(xué)反邪教工作計劃
- 某住宅小區(qū)物業(yè)服務(wù)投標(biāo)書范本
- 2024-2030年中國高空外墻清洗行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 2024年遼寧省中考生物試卷(含答案與解析)
- 醫(yī)院殯葬服務(wù)管理制度
- 煤礦自救互救知識考試復(fù)習(xí)題庫(含答案)
- 外科學(xué)緒論 課件
評論
0/150
提交評論