體系結(jié)構(gòu)(知識講座)_第1頁
體系結(jié)構(gòu)(知識講座)_第2頁
體系結(jié)構(gòu)(知識講座)_第3頁
體系結(jié)構(gòu)(知識講座)_第4頁
體系結(jié)構(gòu)(知識講座)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1.6某臺主頻為400MHz的計(jì)算機(jī)執(zhí)行標(biāo)準(zhǔn)測試程序,程序中指令類型、執(zhí)行數(shù)量和平均時(shí)鐘周期數(shù)如下:指令類型指令執(zhí)行數(shù)量平均時(shí)鐘周期數(shù) 整數(shù) 45000 1 數(shù)據(jù)傳送 75000 2 浮點(diǎn) 8000 4 分支 1500 2 求該計(jì)算機(jī)的有效CPI、MIPS和程序執(zhí)行時(shí)間。解:〔1〕CPI=(45000×1+75000×2+8000×4+1500×460(或259)〔2〕MIPS速率=f/CPI=400/1.776=225.225MIPS(或5180MIPS)259〔3〕程序執(zhí)行時(shí)間=(45000X1+75000X2+8000×4+1500×2)/400=575μs1.7將計(jì)算機(jī)系統(tǒng)中某一功能的處理速度加快10倍,但該功能的處理時(shí)間僅為整個(gè)系統(tǒng)運(yùn)行時(shí)間的40%,那么采用此增強(qiáng)功能方法后,能使整個(gè)系統(tǒng)的性能提高多少?解由題可知:可改良比例=40%=0.4根據(jù)Amdahl定律可知:部件加速比=10系統(tǒng)加速比=1(L-0.4)+04=1.562510采用此增強(qiáng)功能方法后,能使整個(gè)系統(tǒng)的性能提高到原來的1.5625倍。2.11某臺處理機(jī)的各條指令使用頻度如下表所示:指令使用頻度指令使用頻度指令使用頻度ADD43%JOM6%CIL2%SUB13%STO5%CLA22%JMP7%SHR1%STP1%請分別設(shè)計(jì)這9條指令操作碼的哈弗曼編碼、3/3/3擴(kuò)展編碼和2/7擴(kuò)展編碼,并計(jì)算這3種編碼的平均碼長。解:根據(jù)給出的九條指令的使用頻度和哈弗曼生成算法的結(jié)構(gòu)的不用構(gòu)造了兩種不同的哈夫曼樹。1Il15O.02Oa0219 18(左邊為A,右邊為B)各編碼如下:指令I(lǐng)iPi哈弗曼A哈弗曼B3/3/32/7ADDI1000000CLAI2101000101SUBI3110101101000JMPI411100110011001001JOMI511101110111011010STOI611110111011101011CILI7111110111101111001100SHRI811111101111101111011101STPI911111111111111111101110由表可知,三種編碼的平均碼長為:(公式:L=∑Pi*Li).某機(jī)指令字長16位。設(shè)有單地址指令和雙地址指令兩類。假設(shè)每個(gè)地址字段為6位.且雙地址指令有X條。問單地址指令最多可以有多少條?解:雙地址指令結(jié)構(gòu)為:〔4位操作碼〕〔6位地址碼〕〔6位地址碼〕單地址指令結(jié)構(gòu)為:〔10位操作碼〕〔6位地址碼)因此,每少一條雙地址指令,那么多2^6條單地址指令,雙地址指令最多是2^(16-6-6)=2^4=16條,所以單地址指令最多有〔16-X〕*2^6條。.假設(shè)某機(jī)要求:三地址指令4條,單地址指令255條,零地址指令16條。設(shè)指令字長為12位.每個(gè)地址碼長為3位。問能否以擴(kuò)展操作碼為其編碼?如果其中單地址指令為254條呢?說明其理由。解:〔1〕不能用擴(kuò)展碼為其編碼。指令字長12位,每個(gè)地址碼占3位,三地址指令最多是2^(12-3-3-3)=8條,現(xiàn)三地址指令需4條,所以可有4條編碼作為擴(kuò)展碼,而單地址指令最多為4×2^3×2^3=2^8=256條,現(xiàn)要求單地址指令255條,所以可有一條編碼作擴(kuò)展碼因此零地址指令最多為1×2^3=8條不滿足題目要求,故不可能以擴(kuò)展碼為其編碼?!?〕假設(shè)單地址指令254條,可以用擴(kuò)展碼為其編碼。依據(jù)〔1〕中推導(dǎo),單地址指令中可用2條編碼作為擴(kuò)展碼,零地址指令為2×2^3=16條,滿足題目要求有一指令流水線如下所示入一U 1I2T3T4一出50ns50ns100ns 200ns求連續(xù)輸入10條指令,該流水線的實(shí)際吞吐率和效率;該流水線的“瓶頸〞在哪一段?請采取兩種不同的措施消除此“瓶頸〞。對于你所給出的兩種新的流水線,連續(xù)輸入10條指令時(shí),其實(shí)際吞吐率和效率各是多少?解:〔1〕T1=EAt+(n-1)?tpipeline i maxi=1=(50+50+100+200)+9X200=2200(ns)TP=nT=1220(nsT)pipelineEm?ti400 5E=TP?-4=1—=TP? =—≈45.45%m 4 11〔2〕瓶頸在3、4段。■變成八級流水線〔細(xì)分〕50ns50ns50ns50ns50ns 50nsT1=EAt+(n-1)?tpipeline i maxi=1=50X8+9X50=850(ns)TP=nT.r=185(nsT)pipelineEm?ti40010E=TP?-4-ι =TP? =——≈58.82%m 8 17■重復(fù)設(shè)置部件段4_44_34_24_13_23_121時(shí)間IH850nsTP=/T.?.=185(nsT)JpipelineE=400X10850x8=1017≈58.82%有一個(gè)流水線由4段組成,其中每當(dāng)流經(jīng)第3段時(shí),總要在該段循環(huán)一次,然后才能流到第4段。如果每段經(jīng)過一次所需要的時(shí)間都是At,問:(1)當(dāng)在流水線的輸入端連續(xù)地每At時(shí)間輸入任務(wù)時(shí),該流水線會發(fā)生什么情況?(2)此流水線的最大吞吐率為多少?如果每2?t輸入一個(gè)任務(wù),連續(xù)處理10個(gè)任務(wù)時(shí)的實(shí)際吞吐率和效率是多少?當(dāng)每段時(shí)間不變時(shí),如何提高該流水線的吞吐率?仍連續(xù)處理10個(gè)任務(wù)時(shí),其吞吐率提高多少?解:〔1〕會發(fā)生流水線阻塞情況。第1個(gè)任務(wù)S1S2S3S3S4第2個(gè)任務(wù)S1S2stallS3S3S4第3個(gè)任務(wù)S1stallS2stallS3S3S4第4個(gè)任務(wù)S1stallS2stallS3S3S4〔2〕ΔE=TP?5δt,4=5%2≈54.35%〔3〕重復(fù)設(shè)置部件TP=Δtpipeline?Δt=7?Δt5吞吐率提高倍數(shù)=J1023Δt3.8有一條靜態(tài)多功能流水線由5段組成,加法用1、3、4、5段,乘法用1、2、5段,第3段的時(shí)間為243其余各段的時(shí)間均為△t,而且流水線的輸出可以直接返回輸入端或暫存于相應(yīng)的流水存放器中?,F(xiàn)要在該流水線上計(jì)算算其吞吐率、加速比和效率。H(A,+B.),畫出其時(shí)空圖,并計(jì)加法ii=1i解:首先,應(yīng)選擇適合于流水線工作的算法。對于此題,應(yīng)先計(jì)算A1+B1、A2+B2?A3+B3和A4+B4;再計(jì)算(A1+B1)×(A2+B2)和(A3+B3)×(A4+B4);然后求總的結(jié)果。其次,畫出完成該計(jì)算的時(shí)空圖,如下圖,圖中陰影局部表示該段在工作。B1B2B3B4 BDC×D由圖可見,它在18個(gè)^t時(shí)間中,給出了7個(gè)結(jié)果。7TP= 18Δt所以吞吐率為:如果不用流水線,由于一次求積需3^t,一次求和需54t,那么產(chǎn)生上述7個(gè)結(jié)果共需〔4x5+3x3〕△t=294t。所以加速比為:S=29δt=1.6118Δt該流水線的效率可由陰影區(qū)的面積和5個(gè)段總時(shí)空區(qū)的面積的比值求得:E=4X5+3X3=0,3225X18解釋以下術(shù)語指令級并行:簡稱ILPo是指指令之間存在的一種并行性,利用它,計(jì)算機(jī)可以并行執(zhí)行兩條或兩條以上的指令。指令調(diào)度:通過在編譯時(shí)讓編譯器重新組織指令順序或通過硬件在執(zhí)行時(shí)調(diào)整指令順序來消除沖突。指令的動(dòng)態(tài)調(diào)度:是指在保持?jǐn)?shù)據(jù)流和異常行為的情況下,通過硬件對指令執(zhí)行順序進(jìn)行重新安排,以提高流水線的利用率且減少停頓現(xiàn)象。是由硬件在程序?qū)嶋H運(yùn)行時(shí)實(shí)施的。指令的靜態(tài)調(diào)度:是指依靠編譯器對代碼進(jìn)行靜態(tài)調(diào)度,以減少相關(guān)和沖突。它不是在程序執(zhí)行的過程中、而是在編譯期間進(jìn)行代碼調(diào)度和優(yōu)化的。保存站:在采用TOmaSUlO算法的MIPS處理器浮點(diǎn)部件中,在運(yùn)算部件的入口設(shè)置的用來保存一條已經(jīng)流出并等待到本功能部件執(zhí)行的指令〔相關(guān)信息〕。CDB:公共數(shù)據(jù)總線。動(dòng)態(tài)分支預(yù)測技術(shù):是用硬件動(dòng)態(tài)地進(jìn)行分支處理的方法。在程序運(yùn)行時(shí),根據(jù)分支指令過去的表現(xiàn)來預(yù)測其將來的行為。如果分支行為發(fā)生了變化,預(yù)測結(jié)果也跟著改變。BHT:分支歷史表。用來記錄相關(guān)分支指令最近一次或幾次的執(zhí)行情況是成功還是失敗,并據(jù)此進(jìn)行預(yù)測。分支目標(biāo)緩沖:是一種動(dòng)態(tài)分支預(yù)測技術(shù)。將執(zhí)行過的成功分支指令的地址以及預(yù)測的分支目標(biāo)地址記錄在一張硬件表中。在每次取指令的同時(shí),用該指令的地址與表中所有工程的相應(yīng)字段進(jìn)行比擬,以便盡早知道分支是否成功,盡早知道分支目標(biāo)地址,到達(dá)減少分支開銷的目的。前瞻執(zhí)行:解決控制相關(guān)的方法,它對分支指令的結(jié)果進(jìn)行猜想,然后按這個(gè)猜想結(jié)果繼續(xù)取指、流出和執(zhí)行后續(xù)的指令。只是指令執(zhí)行的結(jié)果不是寫回到存放器或存儲器,而是放到一個(gè)稱為ROB的緩沖器中。等到相應(yīng)的指令得到“確認(rèn)〃〔即確實(shí)是應(yīng)該執(zhí)行的〕后,才將結(jié)果寫入存放器或存儲器。ROB:ReOrderBuffer。前瞻執(zhí)行緩沖器。超標(biāo)量:一種多指令流出技術(shù)。它在每個(gè)時(shí)鐘周期流出的指令條數(shù)不固定,依代碼的具體情況而定,但有個(gè)上限。超流水:在一個(gè)時(shí)鐘周期內(nèi)分時(shí)流出多條指令。超長指令字:一種多指令流出技術(shù)。VLIW處理機(jī)在每個(gè)時(shí)鐘周期流出的指令條數(shù)是固定的,這些指令構(gòu)成一條長指令或者一個(gè)指令包,在這個(gè)指令包中,指令之間的并行性是通過指令顯式地表示出來的。循環(huán)展開:是一種增加指令間并行性最簡單和最常用的方法。它將循環(huán)展開假設(shè)干遍后,通過重命名和指令調(diào)度來開發(fā)更多的并行性。假設(shè)在3000次訪存中,第一級Cache失效110次,第二級Cache失效55次。試問:在這種情況下,該Cache系統(tǒng)的局部失效率和全局失效率各是多少?解第一級Cache的失效率〔全局和局部〕是110/3000,第二級Cache的局部失效率是55/110,第二級Cache的全局失效率是55/3000,7.10給定以下的假設(shè),試計(jì)算直接映象Cache和兩路組相聯(lián)Cache的平均訪問時(shí)間以及CPU的性能。由計(jì)算結(jié)果能得出什么結(jié)論?(1)理想Cache情況下的CPI為2.0,時(shí)鐘周期為2ns,平均每條指令訪存1.2次;(2)兩者Cache容量均為64KB,塊大小都是32字節(jié);(3)組相聯(lián)Cache中的多路選擇器使CPU的時(shí)鐘周期增加了10%;(4)這兩種Cache的失效開銷都是80ns;命中時(shí)間為1個(gè)時(shí)鐘周期;64KB直接映象Cache的失效率為1.4%,64KB兩路組相聯(lián)Cache的失效率為1.0%。解:平均訪問時(shí)間=命中時(shí)間+失效率X失效開銷平均訪問時(shí)間11-路平均訪問時(shí)間22-路兩路組相聯(lián)的平均訪問時(shí)間比擬低CPUtime=〔CPU執(zhí)行+存儲等待周期〕*時(shí)鐘周期CPUtime=IC〔CPI;行+總失效次數(shù)/指令總數(shù)*失效開銷〕*時(shí)鐘周期=IC〔CPI執(zhí)行*時(shí)鐘周期〕+〔每條指令的訪存次數(shù)*失效率*失效開銷*時(shí)鐘周期〕〕CPUtimeI-Way=IC(2.0*2+1.2*0.014*80)=CPUtime2-way=IC(2.2*2+1,2*0,01*80)=CPU相對性能比: time-2way=time-1way直接映象cache的訪問速度比兩路組相聯(lián)cache要快倍,而兩路組相聯(lián)Cache的平均性能比直接映象cache要高倍。因此這里選擇兩路組相聯(lián)。一個(gè)字節(jié)多路通道連接有6臺設(shè)備,它們的數(shù)據(jù)傳輸率如下表所示。設(shè)備名稱DiD,D3D4D5D6數(shù)據(jù)傳輸速率〔B/ms〕505040252510計(jì)算該通道的實(shí)際工作流量。假設(shè)通道的最大流量等于實(shí)際工作流量,求通道的工作周期Ts+TD。解:〔1〕通道實(shí)際流量為f=£f=50+50+40+25+25+10=200B/msbyteii=1〔2〕由于通道的最大流量等于實(shí)際工作流量,即有f=,=-1—=200B/msmax—byteT+TS+D可得,通道的工作周期Ts+TD=5μso.設(shè)某個(gè)數(shù)組多路通道設(shè)備選擇時(shí)間Ts=1μs,傳送1個(gè)字節(jié)數(shù)據(jù)的傳送時(shí)間TD=1μs,一次傳送定長數(shù)據(jù)塊的大小k=512B?,F(xiàn)有8臺外設(shè)的數(shù)據(jù)傳輸速率分別為如下表所示:各外設(shè)的數(shù)據(jù)傳輸速率〔KB/s〕外設(shè)號

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論