多指令流出技術(shù)VLIW和Superscalar簡(jiǎn)介_第1頁(yè)
多指令流出技術(shù)VLIW和Superscalar簡(jiǎn)介_第2頁(yè)
多指令流出技術(shù)VLIW和Superscalar簡(jiǎn)介_第3頁(yè)
多指令流出技術(shù)VLIW和Superscalar簡(jiǎn)介_第4頁(yè)
多指令流出技術(shù)VLIW和Superscalar簡(jiǎn)介_第5頁(yè)
已閱讀5頁(yè),還剩17頁(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)介

多指令流出技術(shù):

VLIW和SuperscalarReview#1/2Reservationsstations:寄存器重命名,緩沖源操作數(shù)避免寄存器成為瓶頸避免了Scoreboard中無(wú)法解決的WAR,WAWhazards允許硬件做循環(huán)展開不限于基本塊(IU先行,解決控制相關(guān))貢獻(xiàn)DynamicschedulingRegisterrenamingLoad/storedisambiguation360/91后PentiumII;PowerPC604;MIPSR10000;HP-PA8000;Alpha21264使用這種技術(shù)動(dòng)態(tài)調(diào)度方案可以用硬件動(dòng)態(tài)完成循環(huán)展開通過(guò)重命名機(jī)制來(lái)消除WAR和WAW相關(guān)ReorderBuffer:提供了撤銷指令運(yùn)行的機(jī)制指令以發(fā)射序存放在ROB中指令順序提交分支預(yù)測(cè)對(duì)提高性能是非常重要的推斷執(zhí)行是利用了ROB撤銷指令執(zhí)行的機(jī)制Superscalar和VLIW:CPI<1(IPC>1)小結(jié)#2/2如何使CPI<1(1/2)前面所述的各種技術(shù)主要通過(guò)減少數(shù)據(jù)相關(guān)和控制相關(guān),使得CPI=1(CPI接近1)是否能夠使CPI<1?兩種基本方法Superscalar:每個(gè)時(shí)鐘周期所發(fā)射的指令數(shù)不定(1-8條)由編譯器或硬件完成調(diào)度IBMPowerPC,SunUltraSparc,DECAlpha,HP8000該方法對(duì)目前通用計(jì)算是最成功的方法新的概念I(lǐng)nstructionsPerClock(IPC)vs.CPI如何使CPI<1?(2/2)另一種方法(Very)LongInstructionWords(V)LIW:每個(gè)時(shí)鐘周期流出的指令數(shù)(操作)固定(4-16)由編譯器調(diào)度,實(shí)際上由多個(gè)單操作指令構(gòu)成一個(gè)超長(zhǎng)指令目前比較成功的應(yīng)用于DSP,多媒體應(yīng)用1999/2000HP和Intel達(dá)成協(xié)議共同研究VLIWIntelArchitecture-64(Merced/A-64)64-bitaddressStyle:“ExplicitlyParallelInstructionComputer(EPIC)”用于多發(fā)射處理器的五種主要方法SuperscalarDLXSuperscalarDLX:每個(gè)時(shí)鐘周期發(fā)射2條指令,1條FP指令和一條其他指令–每個(gè)時(shí)鐘周期取64位;左邊為Int,右邊為FP–只有第一條指令發(fā)射了,才能發(fā)射第二條–需要更多的寄存器端口,因?yàn)槿绻麅蓷l指令中第一條指令是對(duì)FP的load操作(通過(guò)整數(shù)部件完成),另一條指令為浮點(diǎn)操作指令,則都會(huì)有對(duì)浮點(diǎn)寄存器文件的操作 Type Pipe Stages

Int.instruction IF ID EX MEM WB FPinstruction IF ID EX MEM WB

Int.instruction IF ID EX MEM WB FPinstruction IF ID EX MEM WB

Int.instruction IF ID EX MEM WB FPinstruction IF ID EX MEM WB原來(lái)1cycleload延時(shí)在Superscalar中擴(kuò)展為3條指令Review:具有最小stalls數(shù)的循環(huán)展開優(yōu)化1Loop: LD F0,0(R1)2 LD F6,-8(R1)3 LD F10,-16(R1)4 LD F14,-24(R1)5 ADDD F4,F0,F26 ADDD F8,F6,F27 ADDD F12,F10,F28 ADDD F16,F14,F29 SD 0(R1),F410 SD -8(R1),F811 SUBI R1,R1,#3212 SD 16(R1),F1213 BNEZ R1,LOOP14 SD 8(R1),F16 ;8-32=-24

14clockcycles,or3.5periterationLDtoADDD:1CycleADDDtoSD:2Cycles采用Superscalar技術(shù)的循環(huán)展開

Integerinstruction FPinstruction ClockcycleLoop: LDF0,0(R1) 1 LDF6,-8(R1) 2 LDF10,-16(R1) ADDDF4,F0,F2 3 LDF14,-24(R1) ADDDF8,F6,F2 4 LDF18,-32(R1) ADDDF12,F10,F2 5 SD0(R1),F4 ADDDF16,F14,F2 6 SD-8(R1),F8 ADDDF20,F18,F2 7 SD-16(R1),F12 8 SD-24(R1),F16 9 SUBIR1,R1,#40 10 BNEZR1,LOOP 11 SD+8(R1),F20 12循環(huán)展開5次以消除延時(shí)(+1duetoSS)12clocks,or2.4clocksperiteration(1.5X)多發(fā)射的問(wèn)題如果Integer和FP操作很容易區(qū)分組合,那么對(duì)這類程序在下列條件滿足的情況下理想CPI=0.5:

程序中50%為FP操作沒(méi)有任何相關(guān)如果在同一時(shí)刻發(fā)射的指令越多,譯碼和發(fā)射就越困難即使是同一時(shí)刻發(fā)射2條=>需檢查2個(gè)操作碼,6個(gè)寄存器描述符,檢查是發(fā)射1條還是2條指令。VLIW指令字較長(zhǎng)可以容納較多的操作根據(jù)定義,VLIW中的所有操作是由編譯時(shí)刻組合的,并且是相互無(wú)關(guān)的,也就是說(shuō):可以并行執(zhí)行例如2個(gè)整數(shù)操作,2個(gè)浮點(diǎn)操作,2個(gè)存儲(chǔ)器引用,1個(gè)分支指令每一個(gè)操作用16到24位表示=>共7*16=112bits到7*24=168bitswide需要用編譯技術(shù)調(diào)度來(lái)解決分支問(wèn)題基于VLIW的循環(huán)展開Memory Memory FP FP Int.op/ Clock

reference1 reference2 operation1 op.2 branchLDF0,0(R1) LDF6,-8(R1) 1LDF10,-16(R1) LDF14,-24(R1) 2LDF18,-32(R1) LDF22,-40(R1) ADDDF4,F0,F2 ADDDF8,F6,F2 3LDF26,-48(R1) ADDDF12,F10,F2 ADDDF16,F14,F2 4 ADDDF20,F18,F2 ADDDF24,F22,F2 5SD0(R1),F4 SD-8(R1),F8 ADDDF28,F26,F2 6SD-16(R1),F12 SD-24(R1),F16 SUBIR1,R1,#48 7SD16(R1),F20 SD8(R1),F24 8SD-0(R1),F28 BNEZR1,LOOP 9Unrolled7timestoavoiddelays7resultsin9clocks,or1.3clocksperiteration(1.8X)Average:2.5opsperclock,50%efficiency

注:在VLIW中,一條超長(zhǎng)指令有更多的讀寫寄存器操作(15vs.6inSS)TraceScheduling消除分支的一種策略兩步:TraceSelection搜索可能最長(zhǎng)的直線型代碼(由一組基本塊構(gòu)成)(通過(guò)靜態(tài)預(yù)測(cè)或profile技術(shù))(trace)TraceCompaction將trace中的指令拼裝為若干條VLIW指令需要一些保存環(huán)境的代碼,以防預(yù)測(cè)錯(cuò)誤由編譯器撤銷預(yù)測(cè)錯(cuò)誤造成的后果(恢復(fù)寄存器的原值)HW推斷執(zhí)行(Tomasulo)vs.

SW(VLIW)推斷執(zhí)行HW確定地址沖突HW分支預(yù)測(cè)較好,預(yù)測(cè)準(zhǔn)確率較高HW可支持精確中斷模型HW不必執(zhí)行保存環(huán)境和恢復(fù)環(huán)境的指令SW推斷執(zhí)行比HW設(shè)計(jì)簡(jiǎn)單的多Superscalarvs.VLIW代碼量較小二進(jìn)制兼容性好譯碼、發(fā)射指令的硬件設(shè)計(jì)簡(jiǎn)單更多的寄存器,一般使用多個(gè)寄存器文件而不是多端口寄存器文件Superscalar的動(dòng)態(tài)調(diào)度(1/2)靜態(tài)調(diào)度的缺陷:有相關(guān)就停止發(fā)射基于原來(lái)Superscalar的代碼生成器所生成的代碼可能在新的Superscalar上運(yùn)行效率較差,代碼與superscalar的結(jié)構(gòu)有關(guān)Superscalar的動(dòng)態(tài)調(diào)度(2/2)用Tomasulo如何發(fā)射兩條指令并保持指令序假設(shè)有1浮點(diǎn)操作,1個(gè)整數(shù)操作Tomasulo控制器一個(gè)控制整型操作的發(fā)射,一個(gè)控制浮點(diǎn)型操作的發(fā)射如果每個(gè)周期發(fā)射兩條不同的指令,比較容易保持指令序(整型類操作序,浮點(diǎn)類操作序)現(xiàn)在只有FP的Loads操作可能會(huì)引起整型操作發(fā)射和浮點(diǎn)操作發(fā)射的相關(guān)存儲(chǔ)器引用問(wèn)題:將load的保留站組織成隊(duì)列方式,操作數(shù)必須按指令序讀取Load操作時(shí)檢測(cè)Store隊(duì)列中Store的地址以防止RAW沖突Store操作時(shí)檢測(cè)Load隊(duì)列的地址,以防止WAR相關(guān)Store操作按指令序進(jìn)行,防止WAW相關(guān)PerformanceofDynamicSS多發(fā)射處理器受到的限制(1/2)程序內(nèi)在的ILP的限制如果每5條指令中有1條相關(guān)指令:如何保持5-路VLIW并行?部件的操作延時(shí):許多操作需要調(diào)度,使部件延時(shí)加大多指令流出的處理器需要大量的硬件資源需要多個(gè)功能部件來(lái)使得多個(gè)操作并行(Easy)需要更大的指令訪問(wèn)帶寬(Easy)需要增加寄存器文件的端口數(shù)(以及通信帶寬)(Hard)增加存儲(chǔ)器的端口數(shù)(帶寬)(Harder)多發(fā)射處理器受到的限制(2/2)一些由Superscalar或VLIW的實(shí)現(xiàn)帶來(lái)的特殊問(wèn)題Superscalar的譯碼、發(fā)射問(wèn)題:到底能發(fā)射多少條指令?VLIW代碼量問(wèn)題:循環(huán)展開+VLIW中無(wú)用的區(qū)域VLIW互鎖=>1個(gè)相關(guān)導(dǎo)致所有指令停頓VLIW的二進(jìn)制兼容問(wèn)題ILP受到的限制大量研究結(jié)果的相互矛盾Benchmarks(vectorizedFortranFPegerCprograms)HW方式好軟件(Compiler)方式好

溫馨提示

  • 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)論