【正文】
高到1GHz,計(jì)算實(shí)際CPI和MIPS速率。(1)求理想情況(Cache的命中率為100%)下的CPI。(3)采用預(yù)測(cè)轉(zhuǎn)移成功的靜態(tài)分支預(yù)測(cè)技術(shù),計(jì)算指令流水線的吞吐率、加速比和效率。K1: MOVE R1, 4 ;R1←向量長(zhǎng)度4K2:LOOP:MOVE R2, A(R1) ;R2←A向量的一個(gè)元素K3: ADD R0, R2 ;R0←(R0)+(R2)K4: DNE R1, LOOP ;R1←(R1)-1,若(R1)≠0轉(zhuǎn)向LOOPK5: MOVE SUN,R0 ;SUN←(R0),保存結(jié)果(1)列出指令之間的所有數(shù)據(jù)相關(guān),包括讀寫(xiě)、寫(xiě)讀和寫(xiě)寫(xiě)數(shù)據(jù)相關(guān)。每條指令都要經(jīng)過(guò)“取指令”、“譯碼”、“執(zhí)行”和“寫(xiě)結(jié)果”4個(gè)流水段,每個(gè)流水段的延遲時(shí)間都是5ns。問(wèn)這臺(tái)機(jī)器在所有指令都cache命中情況比有2%缺失情況快幾倍?根據(jù)題意。還假設(shè)只有Load和Store指令才能訪問(wèn)存儲(chǔ)器數(shù)據(jù),這兩種指令的數(shù)目占整個(gè)程序的40%。IC時(shí)鐘周期時(shí)長(zhǎng)/IC時(shí)鐘周期時(shí)長(zhǎng)=cache不命中考慮在內(nèi)的CPU執(zhí)行時(shí)間/cache訪問(wèn)全部命中的CPU執(zhí)行時(shí)間為:性能提高的比是執(zhí)行時(shí)間之比的倒數(shù): = IC時(shí)鐘周期時(shí)長(zhǎng)其中(1+)代表每條指令訪問(wèn)一次內(nèi)存,而占指令總數(shù)40%的store和load訪問(wèn)兩次內(nèi)存,所以平均每條指令訪問(wèn)訪問(wèn)(1+)次內(nèi)存?! 。絀C內(nèi)存停機(jī)周期=IC每條指令訪問(wèn)內(nèi)存的次數(shù)不命中率不命中損失現(xiàn)在計(jì)算考慮cache不命中在內(nèi)的真實(shí)計(jì)算機(jī)性能,我們先計(jì)算內(nèi)存停機(jī)周期: ?。?IC時(shí)鐘周期時(shí)長(zhǎng)CPU執(zhí)行時(shí)間=(CPU時(shí)鐘周期+內(nèi)存停機(jī)周期)時(shí)鐘周期時(shí)長(zhǎng)如果所有的指令訪問(wèn)cache都命中的話,那么機(jī)器的速度是存在cache不命中時(shí)的多少倍?首先計(jì)算所有cache訪問(wèn)都命中時(shí)計(jì)算機(jī)的性能:(10分)假定我們有一臺(tái)計(jì)算機(jī),如果所有的cache訪問(wèn)都命中的話。執(zhí)行完12條指令需T3=5△t,相對(duì)于標(biāo)量流水處理機(jī)的加速比為:超流水處理機(jī)的時(shí)空?qǐng)D:超流水處理機(jī)中,每1/4個(gè)時(shí)鐘周期啟動(dòng)一條指令。超標(biāo)量流水處理機(jī)與超長(zhǎng)指令字處理機(jī)的時(shí)空?qǐng)D:超標(biāo)量流水處理機(jī)中,每一個(gè)時(shí)鐘周期同時(shí)啟動(dòng)4條指令。分別畫(huà)出標(biāo)量流水處理機(jī)以及ILP均為4的超標(biāo)量處理機(jī)、超長(zhǎng)指令字處理機(jī)、超流水處理機(jī)的時(shí)空?qǐng)D,并分別計(jì)算它們相對(duì)于標(biāo)量流水處理機(jī)的加速比。分支帶來(lái)的額外開(kāi)銷(xiāo)= 15% * (90%命中10%預(yù)測(cè)錯(cuò)誤4 + 10%沒(méi)命中3)= 所以,程序執(zhí)行的CPI = 1 + = (2)采用固定的2 個(gè)時(shí)鐘周期延遲的分支處理CPI = 1 + 15%2 = 由(1)(2)可知分支目標(biāo)緩沖方法執(zhí)行速度快。(1) 求程序執(zhí)行的CPI。假設(shè)分支預(yù)測(cè)錯(cuò)誤的開(kāi)銷(xiāo)為4個(gè)時(shí)鐘周期,緩沖不命中的開(kāi)銷(xiāo)為3個(gè)時(shí)鐘周期。請(qǐng)問(wèn)在沒(méi)有任何控制相關(guān)的情況下,該流水線相對(duì)于存在上述控制相關(guān)情況下的加速比是多少?解:沒(méi)有控制相關(guān)時(shí)流水線的平均CPI=1存在控制相關(guān)時(shí):由于無(wú)條件分支在第二個(gè)時(shí)鐘周期結(jié)束時(shí)就被解析出來(lái),而條件分支要到第3個(gè)時(shí)鐘周期結(jié)束時(shí)才能被解析出來(lái)。第1個(gè)任務(wù)S1S2S3S3S4第2個(gè)任務(wù)S1S2stallS3S3S4第3個(gè)任務(wù)S1stallS2stallS3S3S4第4個(gè)任務(wù)S1stallS2stallS3S3S4(2)(3)重復(fù)設(shè)置部件吞吐率提高倍數(shù)== 假設(shè)各種分支指令數(shù)占所有指令數(shù)的百分比如下:條件分支20%(其中的60%是分支成功的)跳轉(zhuǎn)和調(diào)用5%現(xiàn)有一條段數(shù)為4的流水線,無(wú)條件分支在第二個(gè)時(shí)鐘周期結(jié)束時(shí)就被解析出來(lái),而條件分支要到第三個(gè)時(shí)鐘周期結(jié)束時(shí)才能夠被解析出來(lái)。 = 2,500,000CPI with Memory Stallsp A processor has CPI of without any memory stallsn Cache miss rate is 2% for instruction and 5% for datan 20% of instructions are loads and storesn Cache miss penalty is 100 clock cycles for Icache and Dcachep What is the impact on the CPI?p Answer: Mem Stalls per Instruction =100 + 100 = 3 CPIMemoryStalls = + 3 = cycles per instruction CPIMemoryStalls / CPIPerfectCache = / = 3Processor is 3 times slower due to memo