計算機系統(tǒng)結(jié)構(gòu)復(fù)習(xí)資料_第1頁
計算機系統(tǒng)結(jié)構(gòu)復(fù)習(xí)資料_第2頁
計算機系統(tǒng)結(jié)構(gòu)復(fù)習(xí)資料_第3頁
計算機系統(tǒng)結(jié)構(gòu)復(fù)習(xí)資料_第4頁
計算機系統(tǒng)結(jié)構(gòu)復(fù)習(xí)資料_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機系統(tǒng)結(jié)構(gòu)(專升本)模擬題一單選 TOC o 1-5 h z 對匯編語言程序員透明的是(A)。A.Cache內(nèi)容的存取B.浮點運算C.程序性中斷D.存取操作數(shù)通常計算機中采用浮點數(shù)來表示數(shù)學(xué)中的實數(shù),如果浮點數(shù)尾數(shù)基值取大,下列說法中不正確的是()。A.擴大浮點數(shù)的表示范圍B.增加可表示數(shù)的個數(shù)C.增加數(shù)據(jù)的表示精度D.提高運算速度RISC計算機中采用重疊寄存器窗口的作用是()。減少運算過程中對內(nèi)存儲器的訪問減少過程切換時參數(shù)保存和傳遞所花費的時間減少對內(nèi)存容量的要求加快運算器的運算速度非線性流水線的特征是()。一次運算中使用流水線中的多個功能段一次運算中要多次使用流水線中的某些功能段流水

2、線中某些功能段在各次運算中的作用不同流水線的各功能段在不同運算中可以有不同的連接CRAY-1的兩條向量指令:;屬于()。沒有功能部件沖突和源Vi沖突,可以并行沒有功能部件沖突和源Vi沖突,可以鏈接沒有源Vi沖突,可以交換執(zhí)行順序有向量Vi沖突,只能串行 TOC o 1-5 h z 流水機器對全局性相關(guān)的處理不包括()。A.猜測法B.提前形成條件碼C.加快短循環(huán)程序的執(zhí)行D.設(shè)置相關(guān)專用通道系列機軟件應(yīng)做到()。A.向前兼容,并向上兼容B.向后兼容,力爭向上兼容C.向前兼容,并向下兼容D.向后兼容,力爭向下兼容以提高存儲容量為目的的存儲器是()。A.Cache存儲器B.虛擬存儲器C.并行訪問存儲

3、器D.交叉訪問存儲器RISC執(zhí)行程序的速度比CISC要快的關(guān)鍵原因是(ACD)。P37A.RISC的指令系統(tǒng)的指令數(shù)較少程序在RISC上編譯生成的目標(biāo)程序較短C.RISC的指令平均周期數(shù)較少D.RISC只允許Load指令和store指令訪存對于機器語言程序員而言,以下()是透明的。A.通用寄存器B.程序性中斷C.Cache數(shù)據(jù)的存取D.主存儲器利用時間交叉概念實現(xiàn)并行處理的是()。A.流水處理機B.多處理機C.陣列處理機D.機群系統(tǒng)在推出系列機的新機器時,不能更改的是()。原有指令的尋址方式和操作碼系統(tǒng)總線的組成數(shù)據(jù)通路寬度存儲芯片的集成度下面關(guān)于流水線的說法中不正確的是()。在流水線中處理的

4、必須是連續(xù)的任務(wù)流水線實際上是將一個大的功能部件分解成多個獨立的功能部件,并依靠多個功能部件并行工作來縮短程序的執(zhí)行時間流水線中各段的時間應(yīng)盡量相等,否則將引起“堵塞”、“斷流”等現(xiàn)象D.流水線需要有“裝入時間”和“排空時間”下面對Huffman編碼的說法中,正確的是()。編碼結(jié)果不唯一,但結(jié)果的平均碼長唯一。編碼結(jié)果唯一,但結(jié)果的平均碼長不唯一。編碼結(jié)果和結(jié)果的平均碼長都不唯一。編碼結(jié)果和結(jié)果的平均碼長都唯一。高速緩存的地址映像與變換方法中最常用的是()。A.全相聯(lián)B.直接相聯(lián)C.組相聯(lián)D.組相聯(lián)和全相聯(lián)向量計算機的基本結(jié)構(gòu)有()。A.寄存器-寄存器結(jié)構(gòu)和存儲器-存儲器結(jié)構(gòu)B.Cache-主

5、存-外存模式橫向和縱向鏈接模式橫向、縱向和分組模式下述4種編碼中,不是2-4擴展碼的是()。A.12B.28C.34D.4/8如下圖所示一條單功能流水線,圖中標(biāo)明了各功能所需的時間,這條流水線的最大吞吐率應(yīng)為()。按照Flynn分類法可以將計算機系統(tǒng)結(jié)構(gòu)分為四類,他們是()。單指令流單數(shù)據(jù)流、單指令流多數(shù)據(jù)流、多指令流單數(shù)據(jù)流、多指令流多數(shù)據(jù)流字串位串、字并位串、字串位并、字并位并科學(xué)計算、事務(wù)處理、實時控制、家用單處理機、多處理機、標(biāo)量處理機、向量處理機以下說法不正確的是()。線性流水線是單功能流水線動態(tài)流水線是多功能流水線靜態(tài)流水線是多功能流水線動態(tài)流水線只能是單功能流水線在順序流動的指令

6、流水線中,最可能發(fā)生的相關(guān)是()。同一條指令的讀操作與寫操作之間的先寫后讀相關(guān)先流入的指令的寫操作與后流入的指令的讀操作之間的先寫后讀相關(guān)后流入的指令的寫操作與先流入的指令的讀操作之間的先讀后寫相關(guān)兩條指令的寫操作之間的寫寫相關(guān) TOC o 1-5 h z 虛擬存儲器常用的地址映像是()。A.全相聯(lián)映像B.組相聯(lián)映像C.直接映像D.全相聯(lián)、組相聯(lián)和直接映像與全相聯(lián)映像相比,組相聯(lián)映像的優(yōu)點是()。A.目錄表小B.塊沖突概率低C.命中率高D.主存利用率高衡量機器性能的唯一固定而且可靠的標(biāo)準(zhǔn)是()。A.MIPSB.MFLOPSC.基準(zhǔn)測試D.真正執(zhí)行程序的時間“數(shù)據(jù)表示”的含義是()。A.表示數(shù)據(jù)

7、所采用的數(shù)制和碼制B.數(shù)據(jù)類型C.浮點數(shù)的表示方式D.硬件能直接識別的數(shù)據(jù)類型RISC計算機中寄存器堆的作用是()。A.減少運算過程中對內(nèi)存儲器的訪問B.減少過程切換時參數(shù)保存和傳遞所花費的時間C.減少對內(nèi)存容量的要求D.加快運算器的運算速度對于計算機系統(tǒng)結(jié)構(gòu)而言,以下()是透明的。A.指令系統(tǒng)B.中斷響應(yīng)C.大規(guī)模集成電路D.虛擬存儲系統(tǒng)在順序流動和異步流動流水線都可能出現(xiàn)的數(shù)相關(guān)是()。A.“先寫后讀”數(shù)相關(guān)B.“先讀后寫”數(shù)相關(guān)C.“寫寫”數(shù)相關(guān)D.“讀讀”數(shù)相關(guān)作為存儲系統(tǒng)的主要性能參數(shù)是()。A.存取時間、存儲器容量、每字節(jié)成本B.存取時間、存儲器容量、傳輸單位C.傳輸單位、傳輸帶寬

8、、存取時間D.系統(tǒng)層次、傳輸帶寬、每字節(jié)成本用于評價向量流水線建立時間對向量處理機性能影響的參數(shù)是()。A.最大性能值B.半性能向量長度C.向量長度臨界值D.向量指令處理時間二填空.在多級立方體互連網(wǎng)絡(luò)中,如果開關(guān)模塊采用級控制方式,則該網(wǎng)絡(luò)稱為交換網(wǎng)絡(luò);如果開關(guān)模塊采用部分級控制方式,則該網(wǎng)絡(luò)稱為_移數(shù).網(wǎng)絡(luò);如果開關(guān)模塊采用單元控制方式,則該網(wǎng)絡(luò)稱為_間接二進制n方體網(wǎng)絡(luò)。P264.計算機系統(tǒng)結(jié)構(gòu)設(shè)計的任務(wù)是進行軟、硬件功能分配,確定傳統(tǒng)機器級的軟、硬件界面;計算機組成指的是計算機系統(tǒng)結(jié)構(gòu)的邏輯實現(xiàn);計算機實現(xiàn)則指的是計算機組成的物理實現(xiàn)。P4.一個時鐘周期內(nèi)能夠同時發(fā)射多條指令的處理機稱

9、為_超標(biāo)量處理機一一個周期內(nèi)能夠分時發(fā)射多條指令的處理機稱為超流水線處理機。.在向量處理機的T生能參數(shù)中,_Ro_常用于評價峰值性能,而_Ts_用于評價向量流水線建立時間對性能的影響。.我們將問題中具有可以同時進行運算或操作的特性,稱為并行性,并行性包括兩重含義:同時性和并發(fā)性。.假設(shè)一條指令的解釋分為取指、分析和執(zhí)行3步,每步的執(zhí)行時間均為2,如果順序執(zhí)行100條指令,所花費的時間為t;如果僅“執(zhí)行k”與“取指k+1”重疊,執(zhí)行100條指令所花費的時間為t取指+100t分析+99maxt取指,t執(zhí)行+t執(zhí)行。.Cache存儲系統(tǒng)的主要目的是_提高存儲系統(tǒng)的速度_,虛擬存儲系統(tǒng)的主要目的是提高

10、主存儲器的存取速度。.RISC的含義是精簡指令集計算機,CISC的含義是復(fù)雜指令集計算機。.一個向量流水運算的結(jié)果寄存器正好是下一個向量流水運算源寄存器,這種向量運算采用的技術(shù)是而一個向量流水運算的源寄存器同時又是它的結(jié)果寄存器,這種向量運算采用的技術(shù)是。.在計算機系統(tǒng)中,能夠使用的數(shù)據(jù)類型很多,我們將由計算機硬件直接識別和引用的數(shù)據(jù)類型稱為數(shù)據(jù)表示,將由計算機軟件才能識別和引用的數(shù)據(jù)類型稱為數(shù)據(jù)Z構(gòu)。.組相聯(lián)方式中,主存的組到Cache的組之間采用直接映象方式,而兩個對應(yīng)組內(nèi)部的塊采用全相聯(lián)映象方式。.連接。.引入數(shù)據(jù)表示的兩條基本原則是:一要看系統(tǒng)的效率有否提高;二要看數(shù)據(jù)表示的通用性和利

11、用率是否高。.提高計算機系統(tǒng)并行性的主要技術(shù)途徑有:時間重疊、資源重復(fù)和資源共享。三計算1.用一條4個功能段的浮點加法器流水線計算。每個功能段的延遲時間均相等,流水線的輸出端和輸入端之間有直接數(shù)據(jù)通路,而且設(shè)置有足夠的緩沖寄存器。要求用盡可能短的時間完成計算,要求:(1)列出進行加法的次序;(2)畫出流水線時空圖;(3)并計算流水線在此任務(wù)中的實際吞吐率、加速比和效率。四分析一臺模型機共有7條指令,各指令的使用頻率分別為35%25%20%10%5%3嗨口2%有8個通用數(shù)據(jù)寄存器,2個變址寄存器。(1)請設(shè)計該機操作碼用哈夫曼編碼的編碼表,并計算所設(shè)計操作碼的平均長度。(2)設(shè)計8位字長的寄存器

12、-寄存器型指令3條,16位字長的寄存器-存儲器型變址尋址方式指令4條,變址范圍不小于土127。請設(shè)計指令格式,并給出各字段的長度和操作碼的編碼。某處理機的指令字長為16位,有雙地址指令、單地址指令和零地址指令三類,并假設(shè)每個地址字段的長度均為6位。(1)如果雙地址指令有15條,單地址指令和零地址指令的條數(shù)基本相同,問單地址指令和零地址指令各有多少條?并且為這三類指令分配操作碼。(2)如果要求三類指令的比例大致為1:9:9,問雙地址指令、單地址指令和零地址指令各有多少條?并且為這三類指令分配操作碼。Zuo1.如有一個經(jīng)解釋實現(xiàn)的計算機,可以按功能劃分成4級。每一級為了執(zhí)行一條指令需要下一級的N條

13、指令解釋。若執(zhí)行第一級的一條指令需要Kns時間,那么執(zhí)行第2、3、4級的一條指令各需要用多少時間?解:可以分情況進行討論情況一執(zhí)行第2級的一條指令需要NK納秒,執(zhí)行第3級的一條指令需要N2k納秒,執(zhí)行第4級的一條指令需要N3K納秒。情況二執(zhí)行第2級的一條指令需要K/N納秒,執(zhí)行第3級的一條指令需要K/N2納秒,執(zhí)行第4級的一條指令需要K/N3納秒。.實現(xiàn)軟件移植的主要途徑有哪些?它們存在什么問題?適用于什么場合?答:采用系列機方法,只能在具有相同系統(tǒng)結(jié)構(gòu)的各種機器之間實現(xiàn)軟件移植,一般是一個廠家生產(chǎn)的機器。采用模擬與仿真的方法,可在不同系統(tǒng)結(jié)構(gòu)的機器之間相互移植軟件,對于使用頻率較高的指令,盡

14、可能用仿真方法以提高運算速度,而對于使用頻率低且難于用仿真實現(xiàn)的指令則用模擬方法來實現(xiàn)。采用統(tǒng)一的高級語言方法,可以解決結(jié)構(gòu)相同或完全不同的各種機器上的軟件移植,但是,要統(tǒng)一高級語言,語言的標(biāo)準(zhǔn)化很重要,但難以在短期內(nèi)解決。3.想在系列中發(fā)展一種新型號機器,你認為下列哪些設(shè)想是可以考慮的,哪些則是行不通的?為什么?新增加字符數(shù)據(jù)類型和若干條字符處理指令,以支持事務(wù)處理程序的編譯。為增強中斷處理功能,將中斷分析由原來的4級增加到5級,并重新調(diào)整中斷響應(yīng)的優(yōu)先次序。在CPU和主存之間增設(shè)Cache存儲器,以克服因主存訪問速率過低而造成的系統(tǒng)性能瓶頸。為解決計算誤差較大的問題,將機器中浮點數(shù)的下溢處

15、理方法由原來的包置“1”法,改為增設(shè)用只讀存儲器存放下溢處理結(jié)果的查表舍入法。為增加尋址靈活性和減少平均指令字長,將原來全部采用等長操作碼的指令改成有3類不同碼長的擴展操作碼;并將源操作數(shù)尋址方式由原來的操作碼指明改成增加一個如VAX-11那樣的尋址方式位字段來指明。(6)將CPU與主存之間的數(shù)據(jù)通路寬度由16位擴展到32位,以加快主機內(nèi)部信息的傳送。為了減少使用公用總線的沖突,將單總線改為雙總線。把原來的0號通用寄存器改作為專用的堆棧指示器。答:、不可以,其它都可以。不可以,對系列機可以增加新功能,但是不能改變原來的功能。不可以,改變了指令的格式和功能。不可以,0號通用寄存器變成堆棧指示器,

16、0號通用寄存器不能用了。4.如果某一計算任務(wù)用向量方式求解比用標(biāo)量方式求解要快20倍,稱可用向量方式求解部分所花費時間占總時間的百分比為可向量化百分比。請畫出加速比與可向量化百分比兩者關(guān)系的曲線加速比Sn與可向量化百分比Fe兩者之間的關(guān)系式為:Sn(1 -Fe)FeSe120(1 - Fe) Fe/20 20 - 19Fe比速加35.0030.0025.0020.0015.0010.005.000.000.000.100.200.300.400.500.600.700.800.901.00Fe-可向量化百分比在40MHZ的處理機上運行200000條指令的程序,它由四種指令組成。根據(jù)程序跟蹤實驗

17、結(jié)果,已知指令混合比和每種指令所需的時鐘周期數(shù)如下:指令類型CPI指令混合比算術(shù)和邏輯160%高速緩存命中的加載/存儲218%轉(zhuǎn)移412%高速存儲缺失的存儲器訪問810% TOC o 1-5 h z 計算在單處理機上用上述跟蹤數(shù)據(jù)運行程序的平均CPI根據(jù)所得的CPI,計算相應(yīng)的MIPS速率。答:.nI.40 1062.24 10617.86CPI=(CPIiL)=10.620.1840.1280.1=2.24yIC時鐘頻率MIPS:6CPI106在SUNSPARC2工作站上,對SPECBenchmark進行測試,獲得了如下所示的速率值,求出其算術(shù)、幾何及調(diào)和平均值(以MFLOPS表示)。程序名

18、碼(MFLOPS)GCC10.7Espress08.9Spice2g68.3DODUC5.0NASA78.7Li9.0Eqntott9.7Matrix30011.1FPPPP7.8TOMCATV5.6算術(shù)平均為:1=一父(10.7+8.9+8.3+5.0+8.7+9.0+9.7+11.1+7.8+5.6)=8.48MFLOPS幾何平均為:10Gm=nnRi=1$10.7M8.98.3M5M8.7M9M9.7M11.1M7.8M5.618.247MFLOPSi=1調(diào)和平均為:Hm101Ri1111111111一 + + + + + + + + :7.985MFLOPS10.7 8.9 8.3 5

19、 8.7 9 9.7 11.17.8 5.6Zuo2.數(shù)據(jù)類型、數(shù)據(jù)表示和數(shù)據(jù)結(jié)構(gòu)之間是什么關(guān)系?在設(shè)計一個計算機系統(tǒng)時,確定數(shù)據(jù)表示的原則主要有哪幾個?答:略.假設(shè)有A和B兩種不同類型的處理機,A處理機中的數(shù)據(jù)不帶標(biāo)志位,其指令字長和數(shù)據(jù)字長均為32位。B處理機的數(shù)據(jù)帶有標(biāo)志位,每個數(shù)據(jù)的字長增加至36位,其中有4位是標(biāo)志符,它的指令條數(shù)由最多256條減少至不到64條。如果每執(zhí)行一條指令平均要訪問兩個操作數(shù),每個存放在存儲器中的操作數(shù)平均要被訪問8次。對于一個由1000條指令組成的程序,分別計算這個程序在A處理機和B處理機中所占用的存儲空間大?。òㄖ噶詈蛿?shù)據(jù)),從中得到什么啟發(fā)?我們可以計

20、算出數(shù)據(jù)的總數(shù)量:程序有1000條指令組成,且每條指令平均要訪問兩個操作數(shù).程序訪問的數(shù)據(jù)總數(shù)為:1000X2=2000個每個數(shù)據(jù)平均訪問8次.程序訪問的不同數(shù)據(jù)個數(shù)為:2000+8=250對于A處理機,所用的存儲空間的大小為:MemA=MeminstructionMemdata=10003225032=40000bit對于B處理機,指令字長由32位變?yōu)榱?0位(條數(shù)由256減少到64),這樣,所用的存儲空間的大小為:MemB=MeminstructionMemdata=10003025036=39000bit由此我們可以看出,由于數(shù)據(jù)的平均訪問次數(shù)要大于指令,所以,采用帶標(biāo)志符的數(shù)據(jù)表示不會

21、增加總的存儲空間大小。3.一個處理機共有10條指令,各指令在程序中出現(xiàn)的概率如下表:指令序號出現(xiàn)的概率2/8獷展編碼法3/7擴展罪碼注h0,25h0.20h0.15k0,10Zj0.0840.08It005h0.04h0.03002操作碼的平均長度操作碼的信息冗余量(1)采用最優(yōu)Huffman編碼法(信息嫡)計算這10條指令的操作碼最短平均長度。(2)采用Huffman編碼法編寫這10條指令的操作碼,并計算操作碼的平均長度,計算與最優(yōu)Huffman編碼法(信息嫡)相比的操作碼信息冗余量。將得到的操作碼編碼和計算的結(jié)果填入上面的表中。(3)采用2/8擴展編碼法編寫這10條指令的操作碼,并計算操作

22、碼的平均長度,計算與最優(yōu)Huffman編碼法相比的操作碼信息冗余量。把得到的操作碼編碼和計算的結(jié)果填入上面的表中。(4)采用3/7擴展編碼法編寫這10條指令的操作碼,并計算操作碼的平均長度,計算與最優(yōu)Huffman編碼法相比的操作碼信息冗余量。把得到的操作碼編碼和計算的結(jié)果填入上面的表中。采用最優(yōu)Huffman編碼法(信息嫡)的操作碼最短平均長度為:nH=pilogPi2.957i1指令序號出現(xiàn)的概率Huffman編碼法2/8擴展編碼法3/7擴展編碼法I10.25000000I20.20100101I3040.10110100111000I50.08011010101

23、1001I60.081110101111010I70.051111110011011I80.0401110110111100I90.03011110111011101I100.02011111111111110操作碼的平均長度2.993.13.2操作碼的信息冗余量1.1%4.6%7.6%4.一臺模型機共有7條指令,各指令的使用頻度分別是35%、25%、20%、10%、5%、3%、2%,有8個通用數(shù)據(jù)寄存器,2個變址寄存器。(1)要求操作碼的平均長度最短,請設(shè)計操作碼的編碼,并計算所設(shè)計操作碼的平均長度。(2)設(shè)計8位字長的寄存器-寄存器型指令3條,16位字長的寄存器-存儲器型變址尋址方式指令4

24、條,變址范圍不小于正、負127。請設(shè)計指令格式,并給出各字段的長度和操作碼的編碼。要使得到的操作碼長度最短,應(yīng)采用Huffman編碼,Huffman樹構(gòu)造如下:由此可以得到7條指0.350.250.20.10.050.030.02令的編碼分別如下:1.0指令號出現(xiàn)的頻率編碼135%00225%01320%10410%110I55%111063%1111072%11111這樣,Huffman編碼法得到的操作碼的平均長度為:l=2和.35+0.25+0.20)+30.1(X+40.05+5(便03+0.02)=1.6+0.3+0.2+0.25=2.35設(shè)計8位字長的寄存器-寄存器型指令如下:因為只

25、有8個通用寄存器,所以寄存器地址需3位,操作碼只有兩位,設(shè)計格式如下:233操作碼OP源寄存器R1目的寄存器R2三條指令的操作碼分別為00、01、10。設(shè)計16位字長的寄存器-存儲器型變址尋址方式指令如下:操作碼OP通用寄存器變址寄存器偏移地址185.四條指令的操作碼分別為1100、1101、111R1111某處理機的指令字長為16位,有雙地址指令、單地址指令和零地址指令三類,并假設(shè)每個地址字段的長度均為6位。(1)如果雙地址指令有15條,單地址指令和零地址指令的條數(shù)基本相同,問單地址指令和零地址指令各有多少條?并且為這三類指令分配操作碼。(2)如果要求三類指令的比例大致為1:9:9,問雙地址

26、指令、單地址指令和零地址指令各有多少條?并且為這三類指令分配操作碼。雙地址指令格式為:466操作碼地址碼1地址碼2單地址指令格式為:106操作碼地址碼零地址指令格式為:16操作碼雙地址指令15條,需要4位操作碼來區(qū)分;單地址指令可以使用10-4=6位操作碼來區(qū)分;零地址指令可以使用16-10=6位操作碼來區(qū)分。這樣,各類型指令的條數(shù)為:雙地址指令15條,操作碼為:00001110;單地址指令26-1=63條,操作碼為:11110000001111111110零地址指令26=64條,操作碼為:11111111110000001111111111111111假設(shè)雙地址指令x條,則單地址、零地址分別

27、為9x條:(24-x)26-9x26=9x解之即得:x=14雙地址指令14條,操作碼為:00001101;留出兩個編碼用于擴展。單地址指令(26-1)X2=126條,操作碼為:11100000001110111110,11110000001111111110零地址指令126條,操作碼為:11101111110000001110111111111110,1111111110000001111111111111110Zuo41.假設(shè)一條指令的執(zhí)行過程分為“取指令”、“分析”和“執(zhí)行”三段,每一段的時間分別是t、2At和3Ato在下列各種情況下,分別寫出連續(xù)執(zhí)行n條指令所需要的時間表達式。順序執(zhí)行方

28、式。僅“取指令”和“執(zhí)行”重疊?!叭≈噶睢?、“分析”和“執(zhí)行”重疊。答:順序執(zhí)行方式 TOC o 1-5 h z 121212 HYPERLINK l bookmark2 o Current Document IIIIIt2At3AtnT=工(t取址i+t分析i+t執(zhí)行i)=ngt+2zt+3zt)=6nAi1僅“取指令”和“執(zhí)行”重疊 TOC o 1-5 h z 121212 HYPERLINK l bookmark4 o Current Document IIII一t2At3Atn-1T=6At+Z(t分析i+t執(zhí)行i)=6A+(n-1)(2At+3At)=(5n+1)Ati1n-1T=6

29、At+Z(t執(zhí)行i)=64t+(n-1)(3At)=(3n+3)Ati1.一條線性流水線有4個功能段組成,每個功能段的延遲時間都相等,都為t。開始5個任務(wù),每間隔一個t向流水線輸入一個任務(wù),然后停頓2個at,如此重復(fù)。求流水線的實際吞吐率、加速比和效率。我們可以看出,在(7n+1) At的時間內(nèi),可以輸出5n個結(jié)果,如果指令的序列足夠長(n-oo),并且指令間不存在相關(guān),那么,吞吐率可以認為滿足:5nT P = = = 一 (n ;:)(7n 1). =t(7 1/n).:t 7:t加速比為:c 5n 4:t 20nS 二二20(7n 1”t 7n 17 1/n從上面的時空圖很容易看出,效率為

30、:_ 5n 4:tE 二5n4 (7n 1):t7n 1 7 1/n=An,二)710.用一條5個功能段的浮點加法器流水線計算F=Ai。每個功能段的延遲時間均相等,流水線的i1輸出端與輸入端之間有直接數(shù)據(jù)通路,而且設(shè)置有足夠的緩沖寄存器。要求用盡可能短的時間完成計算,畫出流水線時空圖,計算流水線的實際吞吐率、加速比和效率。答:首先需要考慮的是“10個數(shù)的和最少需要做幾次加法?,我們可以發(fā)現(xiàn),加法的次數(shù)是不能減少的:9次;于是我們要盡可能快的完成任務(wù),就只有考慮如何讓流水線盡可能充滿,這需要消除前后指令之間的相關(guān)。由于加法滿足交換律和結(jié)合律,我們可以調(diào)整運算次序如以下的指令序列,我們把中間結(jié)果寄

31、存器稱為R,源操作數(shù)寄存器稱為A,最后結(jié)果寄存器稱為F,并假設(shè)源操作數(shù)已經(jīng)在寄存器中,則指令如下:I1:R1A1+A2I2:R2A3+A4I3:R3A5+A6:R4A7+A8:R5A9+A10計算機系統(tǒng)結(jié)構(gòu)13R6-R1+R2R7-R3+R4R8-R5+R6I9:FR7+R8時空圖如下(圖中的數(shù)字是指令號)這并不是唯一可能的計算方法。假設(shè)功能段的延遲為At03TP = -921 .:t7:t0.43 Xt加速比為:效率為:9 5.:t21 :t152.142979 5 t5 21,t6A M B = Z ai M bi ,i=03=:0.4374.一條線性靜態(tài)多功能流水線由6個功能段組成,加法

32、操作使用其中的1、2、3、6功能段,乘法操作使用其中的1、4、5、6功能段,每個功能段的延遲時間均相等。流水線的輸出端與輸入端之間有直接數(shù)據(jù)通路,而且設(shè)置有足夠的緩沖寄存器。用這條流水線計算向量點積畫出流水線時空圖,計算流水線的實際吞吐率、加速比和效率。答:我們安排運算次序如下:把中間結(jié)果寄存器稱為R,源操作數(shù)寄存器稱為A、B,最后結(jié)果寄存器稱為F,并假設(shè)源操作數(shù)已經(jīng)在寄存器中,則指令如下:I1:R0A0*B0I2:R1A1*B1I3:R2A2*B2I4:R3A3*B3R7R0+R1R8R2+R3R9R4+R5R10R6+R7I5:R4A4*B4R11R8+R9I6:R5A5*B5I7:R6A

33、6*B6FR10+R11時空圖如下(圖中的數(shù)字是指令號)假設(shè)功能段的延遲為At0123456789101112131415161718192021222324整個計算過程需要24At,所以吞吐率為:tp=B,.”424.:t:t加速比為:c74:t64:t130S二二2.1724,t效率為:E二生金;色:0.36624t365.一條有三個功能段的流水線如下圖。每個功能段的延遲時間均相等,都為to其中功能段S2的輸出要返回到它自己的輸入端循環(huán)一次。輸入Si輸出如果每間隔一個t向流水線的輸入端連續(xù)輸入新任務(wù),問這條流水線會發(fā)生什么情況?求這條流水線能夠正常工作的最大吞吐率、加速比和效率。有什么辦法

34、能夠提高這條流水線的吞吐率,畫出新的流水線。如果每間隔一個t向流水線的輸入端連續(xù)輸入新任務(wù),流水線S2功能段存在資源沖突。見下表:時間功能段t1t2t3t4t5S1X1X2X3X4X5S2X1X1,X2X2,X3X3,X4S3X1X2n個結(jié)果,如果指令的序列足夠長(每間隔兩個t向流水線的輸入端連續(xù)輸入新任務(wù)(如見下表所示)可獲得最佳性能時間功育於、t1t2t3t4t5t6S1X1X2X3S2X1X1X2X2X3S3X1X2我們可以看出:在(2n+2)At的時間內(nèi),可以輸出并且指令間不存在相關(guān),那么,吞吐率為:TP =n(2n 2):t1二(2 2/n).:t 2=t二)加速比為:n4:t2n2

35、一S=2(n二)(2n2)tn111/n效率為:q(n,3 3/n3二)_n4t2nE二二3(2n2)t3n3如要提高這條流水線的吞吐率,可采用:將功能段S2重復(fù)設(shè)置一次,見下圖: t t t t6.一條有4個功能段的非線性流水線,每個功能段的延遲時間都相等,都為20ns,它的預(yù)約表如下:寸問流水1234567SiXxS2xxS3xS4xx1,7(C0-C1-C0)43,7(C0-C2-C0)55,7(C0-C3-C0)63,5,7(C0-C2-C3-C0)53,5(C0-C2-C3-C2-C3)45,3,7(C0-C3-C2-C0)55,3(C0-C3-C2-C3-C2)45(C0-C3-C

36、3)57(C0-C0)7流水線的最小啟動循環(huán)為:(1,7)或(3,5)或(5,3),最小平均啟動距離為4寫出流水線的禁止向量和初始沖突向量。 畫出調(diào)度流水線的狀態(tài)圖。求流水線的最小啟動循環(huán)和最小平均啟動距離。 求平均啟動距離最小的恒定循環(huán)。求流水線的最大吞吐率。 按照最小啟動循環(huán)連續(xù)輸入10個任務(wù),求流水線的實際吞吐率 畫出該流水線各功能段之間的連接圖。答:禁止向量F= (6,4,2);沖突向量 C= (101010)。由上表可知:平均啟動距離最小的恒定循環(huán)為(5)采用最小平均啟動距離為4的最小啟動循環(huán)可獲得流水線的最大吞吐率,以(1,7)為例:(其他類似,最大吞吐率皆相同)當(dāng)任務(wù)數(shù)為偶數(shù)2n

37、時:2n7 :t n . :t (n -1) 7 :t2n8n.:t4:t當(dāng)任務(wù)數(shù)為奇數(shù)2n+1時:TP2n 1_ 2n 17tt n tt n 78nt 7t2 1/n8:t 7.:t/nL(n; .,.:)4:t.一,、,11,一流水線的最大吞吐率為:=12.5M(任務(wù)/s)4:t420nsTP10=1/4At=12.5M(任務(wù)/s)。(6)10個任務(wù)的實際吞吐率:利用上式可得(偶數(shù)個任務(wù))該流水線的連接圖為:輸入輸出2 S2 _S3 F S4 51747.一條由4個功能段組成的非線性流水線的預(yù)約表如下,每個功能段的延遲時間都為10nso問流123456S1XXS2XXS3XS4XX寫出流

38、水線的禁止向量和初始沖突向量。畫出調(diào)度流水線的狀態(tài)圖。求流水線的最小啟動循環(huán)和最小平均啟動距離。在流水線中插入一個非計算延遲功能段后,求該流水線的最佳啟動循環(huán)及其最小平均啟動距離。畫出插入一個非計算延遲功能段后的流水線預(yù)約表(5行8歹I)。畫出插入一個非計算延遲功能段后的流水線狀態(tài)變換圖。分別計算在插入一個非計算延遲功能段前、后的最大吞吐率。如果連續(xù)輸入10個任務(wù),分別計算在插入一個非計算延遲功能段前、后的實際吞吐率。禁止向量F=(5,2,1);沖突向量C=(10011)。最小啟動循環(huán)為(3),最小平均啟動距離為3。插入一個非計算延遲功能段后,最小平均啟動距離為2(因為預(yù)約表中每行至多 改進最

39、小啟動循環(huán)為(2)。(6)流水線的禁止向量為(1,3, 流水線的狀態(tài)圖如下:7),流水線的沖突向量為1000101,2,4(C0-C1)32,6(C0-C1)42(C0-C1-C1)24(C0-C0)46(C0-C0)65(C0-C2-C2)55,4(C0-C2)4.55,6(C0-C2)5.5流水線的最小啟動循環(huán)為(2),最小平均啟動距離為2插入前:TPmax =limn :6. :t(n -1) 3 :t 3 :t3 10ns期3.33乂107 (任務(wù)數(shù)/s)插入后:T PmaxUm 6. :t(n -1) 2 t2:t 2 10ns= 5107(任務(wù)數(shù) /s)連續(xù)輸入10個任務(wù),插入前的

40、實際吞吐率為:TP=10=0-=-10-%3.03父107(任務(wù)數(shù)/s)6t93t33t3310ns連續(xù)輸入10個任務(wù),插入后的實際吞吐率為:TP:-二-0-二一3.85107(任務(wù)數(shù)/s)8:t92426.t2610ns.在流水線處理機中,有獨立的加法操作部件和乘法操作部件各一個,加法操作部件為4段流水線,乘法操彳部件6段流水線,都在第一段從通用寄存器讀操作數(shù),在最后一段把運算結(jié)果寫到通用寄存器中。每段的時間長度都相等,都是一個時鐘周期。每個時鐘周期發(fā)出一條指令。問可能發(fā)生哪幾種數(shù)據(jù)相關(guān)?寫出發(fā)生相關(guān)的指令序列,分析相關(guān)發(fā)生的原因,并給出解決相關(guān)的具體辦法。答:可能的數(shù)據(jù)相關(guān)性有:“先寫后讀

41、”(RAW)相關(guān)ReadAfter加法寫。原因:還沒有寫好就已經(jīng)讀取寄存器中的數(shù)據(jù)了。DADDR1,R2,R3;(R2)+(R3)(R1)DSUBR4,R1,R5;(R1)(R5)(R4)ReadAfter乘法寫。原因:還沒有寫好已經(jīng)讀取寄存器中的數(shù)據(jù)了。DMULR1,R2,R3;(R2)乂(R3)(R1)DSUBR4,R1,R5;(R1)(R5)(R4)本相關(guān)在流水線順序執(zhí)行和亂序執(zhí)行時都可能發(fā)生。解決的方法是:利用編譯程序調(diào)整指令的次序方法;延遲執(zhí)行是避免數(shù)據(jù)相關(guān)最簡單的方法;建立寄存器之間的專用路徑?!皩懸粚?WAW)相關(guān)WriteAfter乘法寫。原因:后寫的反而早執(zhí)行(乘法所化的時間

42、長,后面一個寫任務(wù)反而先完成)使最后寫入的內(nèi)容不正確。DMULR1,R2,R3;(R2)乂(R3)(R1)DSUBR1,R4,R5;(R4)(R5)(R1)本相關(guān)只有在流水線亂序執(zhí)行時才可能發(fā)生。解決的方法是:寄存器換名?!跋茸x后寫”(WAR)相關(guān)WriteAfter任何讀。原因:前面的讀操作因為某種原因被推遲,要讀的內(nèi)容被后面的寫操作修改了。DSUBR4,R1,R5;(R1)(R5)(R4)DADDR1,R2,R3;(R2)+(R3)(R1)本相關(guān)只有在流水線亂序執(zhí)行時才可能發(fā)生。解決的方法是:寄存器換名。.在下列不同結(jié)構(gòu)的處理機上運行8X8的矩陣乘法C=AXB,計算所需要的最短時間。只計算

43、乘法指令和加法指令的執(zhí)行時間,不計算取操作數(shù)、數(shù)據(jù)傳送和程序控制等指令的執(zhí)行時間。加法部件和乘法部件的延遲時間都是3個時鐘周期,另外,加法指令和乘法指令還要經(jīng)過一個“取指令”和“指令譯碼”的時鐘周期,每個時鐘周期為20ns,C的初始值為“0”。各操作部件的輸出端有直接數(shù)據(jù)通路連接到有關(guān)操作部件的輸入端,在操作部件的輸出端設(shè)置有足夠容量的緩沖寄存器。處理機內(nèi)只有一個通用操作部件,采用順序方式執(zhí)行指令。單流水線標(biāo)量處理機,有一條兩個功能的靜態(tài)流水線,流水線每個功能段的延遲時間均為一個時鐘周期,加法操作和乘法操作各經(jīng)過3個功能段。多操作部件處理機,處理機內(nèi)有獨立的乘法部件和加法部件,兩個操作部件可以

44、并行工作。只有一個指令流水線,操作部件不采用流水線結(jié)構(gòu)。單流水線標(biāo)量處理機,處理機內(nèi)有兩條獨立的操作流水線,流水線每個功能段的延遲時間均為一個時鐘周期。超標(biāo)量處理機,每個時鐘周期同時發(fā)射一條乘法指令和一條加法指令,處理機內(nèi)有兩條獨立的操作流水線,流水線的每個功能段的延遲時間均為一個時鐘周期。要完成上面的矩陣乘法,需要完成的乘法數(shù)目為8X8X8=512次;需要完成的加法數(shù)目為8X8X7=448次;下面分析處理機的結(jié)構(gòu)會給性能帶來什么樣的影響。通用操作部件采用順序方式執(zhí)行順序執(zhí)行時,每個乘法和加法指令都需要5個時鐘周期(取指令、指令分析、指令執(zhí)行);所以所需要的時間為:T二(512448)520n

45、s=96000ns=96s單流水線標(biāo)量處理機,有一條兩個功能的靜態(tài)流水線因為有足夠的緩沖寄存器,所以我們可以首先把所有的乘法計算完,并通過調(diào)度使加法流水線不出現(xiàn)停頓,所以所需要的時間為:譯碼,取指12 3 41 2 3 4,1 2 3 4,1 2 3 4,1 2 3 4,123456785135145155165175189639649659661=+、2=1鉉、3=2短、4=3+-、5=4喳、6=5+0、7=6+T國2(3512-1)(3448-1)20ns=19.32s多操作部件處理機,只有一條指令流水線由于只有一條指令流水線,所以只能一個時鐘周期發(fā)射一條指令;由于操作部件不采用流水線,對

46、于結(jié)果C矩陣的第一個元素,首先執(zhí)行2次乘法,然后乘法和加法并行執(zhí)行7次,此時C矩陣的第一個元素出來了,然后加法運算停頓3個時鐘周期,再開始與乘法并行執(zhí)行運算7次,如此下去,直到C的64個元素都出來。故執(zhí)行時間為:T習(xí)2(3237)63(337)20ns=30820ns=30.82/s單流水線標(biāo)量處理機,處理機內(nèi)有兩條獨立的操作流水線由于只有一條指令流水線,所以只能一個時鐘周期發(fā)射一條指令;對于乘法運算不存在數(shù)據(jù)相關(guān),對于加法運算有數(shù)據(jù)相關(guān),由于存在足夠的緩沖寄存器,我們可以通過合適的調(diào)度消除加法的數(shù)據(jù)相關(guān)因此,最佳情況下的執(zhí)行時間為:加加3I1234567法力口 2力口 1乘3 乘乘2 法乘1

47、譯碼取指1 2 3 4 5 6 7 I II ! II III II II II II II I II II II I ,&1 2 3 4 5 6 7,1 2 3 4 5 6 7,123456789 10 11 12 13 14 15 16 17 18 19 20 21 221= +、2=1鉉、3=2+-、4=3短、5=4喳、6=50、7=6+T =2 3 (512 448) - 1 20ns = 19280ns = 19.28s超標(biāo)量處理機同一時鐘周期可以有一條乘法指令和一條加法指令同時發(fā)射,對于乘法運算不存在數(shù)據(jù)相關(guān)性,對于加法運算有數(shù)據(jù)相關(guān)性,由于存在足夠的緩沖寄存器,當(dāng)運算完所有的乘法

48、運算后,還要做一次加法運算。因此執(zhí)行時間為:345,加加加法法譯碼123456789101112131415161718192021221=+、2=1鉉、3=2+、4=3+、5=4喳、6=5+0、7=6+T習(xí)23(512-1)320ns=10380ns=10.38sZuo5.向量流水機的工作方式可分為哪兩大類?它們的主要特點是什么?答:向量流水機的工作方式可分為存儲器-存儲器方式和寄存器-寄存器方式兩種。存儲器-存儲器方式是采用多個存儲模塊,采用交叉存取的方式解決對存儲器帶寬要求高的問題。寄存器-寄存器方式是在向量流水線和存儲器之間加入向量寄存器組及多種、多級緩沖寄存器組作為存放源操作數(shù)、結(jié)果

49、操作數(shù)、預(yù)取、后寫而用。也能解決對存儲器帶寬要求高的問題。.向量的加工方法有哪幾種?各有什么特點?試從加工速度、需用中間變量等方面加以比較答:向量的加工方法有三種:橫向加工,縱向加工和縱橫向加工。加工速度中間結(jié)果適合向量運算橫向加工慢存儲器否縱向加工較快存儲器是縱橫向加工快寄存器是.在CRAY1機上,V為向量寄存器,設(shè)向量長度均為32,s為標(biāo)量寄存器,所用浮點功能執(zhí)行部件的執(zhí)行時間分別為:加法需6拍,相乘需7拍,從存儲器讀數(shù)需6拍,求倒數(shù)近似值需14拍,打入寄存器及啟動功能部件(包括寄存器)各需1拍。問下列各指令組中的哪些指令可以鏈接?哪些指令可以并行執(zhí)行?試說明其原因并分別計算出各指令組全部完成所需的拍數(shù)。Vg存儲器V1-V2+V3V什 V5*V6Vg存儲器A V1+V2什 V0*V3A V4+V5Vg存儲器V1-V2+V3V什 V5*V6s0s1+s2V3存儲器 7r2- V0+V1V什 V2*V3存儲器V4V2- V0*V1V3存儲器V什 V2+V3V4存儲器V11/V0VA V1+V2V* V3*V4V3存儲器V2 V0+V1s0-s2+s3VA V1*V4V4存儲器2 V0+V1A V2*V15 V3*V4要決定指令是否能夠并行,主要看指令之間是否存在功能部件的使用沖突,是否存在操作數(shù)寄存器的使用沖突。而指令是否能夠進行鏈接(Chaining),主要看指令之間是否存

溫馨提示

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

評論

0/150

提交評論