計(jì)算機(jī)體系結(jié)構(gòu)課后答案和復(fù)習(xí)_第1頁
計(jì)算機(jī)體系結(jié)構(gòu)課后答案和復(fù)習(xí)_第2頁
計(jì)算機(jī)體系結(jié)構(gòu)課后答案和復(fù)習(xí)_第3頁
計(jì)算機(jī)體系結(jié)構(gòu)課后答案和復(fù)習(xí)_第4頁
計(jì)算機(jī)體系結(jié)構(gòu)課后答案和復(fù)習(xí)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第一章 計(jì)算機(jī)體系結(jié)構(gòu)的基本概念 1.1 名詞解釋: 1. 層次結(jié)構(gòu)計(jì)算機(jī)系統(tǒng)可以按語言的功能劃分為多級層次結(jié)構(gòu),每一層以不同的語言為特征。 第6級:應(yīng)用語言虛擬機(jī)第5級:高級語言虛擬級:匯編語言虛擬級:操作系統(tǒng)虛擬級:機(jī)器語傳統(tǒng)機(jī)器級:微程序機(jī)器 N+1在執(zhí)行過程中,級程序之后,再去執(zhí)行N級程序, 2.翻譯(基于層次結(jié)構(gòu))先把N+1級程序全部變換成N 級程序不再被訪問。級指令,級指令被譯碼后,就直接去執(zhí)行一串等效的N級指令,然后再去取下一條N+1 3.解釋每當(dāng)一條N+1 依此重復(fù)執(zhí)行。 4. 體系結(jié)構(gòu)程序員所看到的計(jì)算機(jī)的屬性,即概念性結(jié)構(gòu)與功能特性。 5. 透明性在計(jì)算機(jī)技術(shù)中,對本來存在

2、的事物或?qū)傩?,從某一角度來看又好像不存在的概念稱為透明性。 6. 系列機(jī)在一個(gè)廠家生產(chǎn)的具有相同的體系結(jié)構(gòu),但具有不同的組成和實(shí)現(xiàn)的一系列不同型號的機(jī)器。差別 軟件兼容同一個(gè)軟件可以不加修改地運(yùn)行于體系結(jié)構(gòu)相同的各檔機(jī)器上,而且它們所獲得的結(jié)果一樣,7. 只在于運(yùn)行的時(shí)間不同。 8. 兼容機(jī)不同廠家生產(chǎn)的、具有相同體系結(jié)構(gòu)的計(jì)算機(jī)。 計(jì)算機(jī)組成計(jì)算機(jī)體系結(jié)構(gòu)的邏輯實(shí)現(xiàn)。9. 計(jì)算機(jī)實(shí)現(xiàn)計(jì)算機(jī)組成的物理實(shí)現(xiàn)。10.存儲(chǔ)程序計(jì)算機(jī)(馮諾依曼結(jié)構(gòu))采用存儲(chǔ)程序原理,將程序和數(shù)據(jù)存放在同一存儲(chǔ)器中。指令在存儲(chǔ)器11. 中按其執(zhí)行順序存儲(chǔ),由指令計(jì)數(shù)器指明每條指令所在的單元地址。 并行性在同一時(shí)刻或同一

3、時(shí)間間隔內(nèi)完成兩種或兩種以上性質(zhì)相同或不同的工作。12.輪流重疊地使用同一套硬件設(shè)備的即多個(gè)處理過程在時(shí)間上相互錯(cuò)開,13. 時(shí)間重疊在并行性中引入時(shí)間因素, 各個(gè)部分,以加快硬件周轉(zhuǎn)而贏得速度。資源重復(fù)在并行性中引入時(shí)間因素,是根據(jù)“以數(shù)量取勝”的原則,通過重復(fù)設(shè)置資源,尤其是硬件資源, 14. 大幅度提高計(jì)算機(jī)系統(tǒng)的性能。 資源共享是一種軟件方法,它使多個(gè)任務(wù)按一定的時(shí)間順序輪流使用同一套硬件設(shè)備。15. 同時(shí)處理同一作業(yè)中能并行執(zhí)行的多個(gè)任務(wù)16. 同構(gòu)型多處理機(jī)由多個(gè)同種類型、至少同等功能的處理機(jī)組成、 的機(jī)器。 17. 異構(gòu)型多處理機(jī)由多個(gè)不同類型、功能不同的處理機(jī)組成、串行完成同一

4、作業(yè)中不同任務(wù)的機(jī)器。也無共享的聯(lián)最低耦合是耦合度最低的系統(tǒng),除通過某種中間存儲(chǔ)介質(zhì)之外,各計(jì)算機(jī)之間沒有物理連接、18. 機(jī)硬件資源。松散耦合一般是通過通道或通信線路實(shí)現(xiàn)計(jì)算機(jī)之間連接、共享某些外圍設(shè)備(例如磁盤、磁帶),機(jī)器間19. 的相互作用是在文件或數(shù)據(jù)集一級進(jìn)行。 緊密耦合一般是指機(jī)間物理連接的頻帶較高,它們往往通過總線或高速開關(guān)實(shí)現(xiàn)互連,可以共享主存。20. 響應(yīng)時(shí)間從事件開始到結(jié)束之間的時(shí)間,也稱執(zhí)行時(shí)間。21. 22. 測試程序用于測試計(jì)算機(jī)性能的程序,可分為四類:真實(shí)程序、核心程序、小測試程序、合成測試程序。這個(gè)通用的測試程序 測試程序組件選擇一個(gè)各個(gè)方面有代表性的測試程序,

5、組成一個(gè)通用的測試程序集合。23. 頁1第 ? 第一章 ? 計(jì)算機(jī)體系結(jié)構(gòu) 作品)oLittle Lou(集合稱為測試程序組件。 24. 大概率事件優(yōu)先此原則是計(jì)算機(jī)體系結(jié)構(gòu)中最重要和最常用的原則。對于大概率事件(最常見的事件),賦予它優(yōu)先的處理權(quán)和資源使用權(quán),以獲得全局的最優(yōu)結(jié)果。 25. 系統(tǒng)加速比系統(tǒng)改進(jìn)前與改進(jìn)后總執(zhí)行時(shí)間之比。 26. Amdahl定律加快某部件執(zhí)行速度所獲得的系統(tǒng)性能加速比,受限于該部件在系統(tǒng)中的所占的重要性。 27. 程序的局部性原理程序在執(zhí)行時(shí)所訪問的地址不是隨機(jī)的,而是相對簇聚;這種簇聚包括指令和數(shù)據(jù)兩部分。 28. CPI指令時(shí)鐘數(shù)(Cycles per I

6、nstruction)。 1.2 假設(shè)有一個(gè)計(jì)算機(jī)系統(tǒng)分為四級,每一級指令都比它下一級指令在功能上強(qiáng)M倍,即一條r+1級指令能夠完成M條r指令的工作,且一條r+1級指令需要N條r級指令解釋。對于一段在第一級執(zhí)行時(shí)間為K的程序,在第二、第三、第四級上的一段等效程序需要執(zhí)行多少時(shí)間? 解:假設(shè)在第一級上用時(shí)間K執(zhí)行了該級IC條指令。 ICIC。為了執(zhí)行第二級條指令的功能,第二級指令的條數(shù)為:條指令,需要對第二級而言,為了完成IC MMICN條第一級的指令對其進(jìn)行解釋,所以對于第二級而言,等效程序的執(zhí)行時(shí)間是: 執(zhí)行 MICKIC?T?M?N? 2MICM? N?K1? M?ICIC。為了執(zhí)行第三級

7、條指令,對于第三級而言,為了完成IC條指令的功能,第三級指令的條數(shù)為: 22MMICN條第二級的指令對其進(jìn)行解釋。那么對第二級而言,總的指令條數(shù)為:需要執(zhí)行 2MICIC?N 22MMICICICICICIC?NM?NN?N條指令,同時(shí)還需要條第一級指令進(jìn)行而第二級等效于第一級? 222222MMMMMM?解釋,所以第三級等效程序的執(zhí)行時(shí)間是: ?KICICICIC?T?M?NM?M?NN? 32222ICMMMM? 2N?K?1? M? 按照同樣的逐層遞推關(guān)系,不難求得第四級等效程序的總的執(zhí)行時(shí)間為:3N?K?1T ? 4M? 傳統(tǒng)存儲(chǔ)程序計(jì)算機(jī)的主要特征是什么?存在的主要問題是什么?目前的

8、計(jì)算機(jī)系統(tǒng)是如何改進(jìn)的?1.2 存儲(chǔ)程序計(jì)算機(jī)在體系結(jié)構(gòu)上的主要特點(diǎn): 機(jī)器以運(yùn)算器為中心。(1)和數(shù)據(jù)放在同一存儲(chǔ)器中,并且沒有對兩者加以區(qū)分。指令和數(shù)據(jù)一樣可)指令 采用存儲(chǔ)程序原理。程序(2) 以送到運(yùn)算器進(jìn)行運(yùn)算,即由指令組成的程序自身是可以修改的。 存儲(chǔ)器是按地址訪問的、線性編址的空間。(3) 控制流由指令流產(chǎn)生。(4) 指令由操作碼和地址碼組成。操作碼指明本指令的操作類型,地址碼指明操作數(shù)和操作結(jié)果的地址。(5) 數(shù)據(jù)以二進(jìn)制編碼表示,采用二進(jìn)制運(yùn)算。(6) 傳統(tǒng)存儲(chǔ)程序計(jì)算機(jī)體系結(jié)構(gòu)存在的主要問題及其改進(jìn): 處理能力1()分布的I/O 頁2第 ? 第一章 ? 計(jì)算機(jī)體系結(jié)構(gòu) 作品

9、)oLittle Lou(存儲(chǔ)程序計(jì)算機(jī)以運(yùn)算器為中心、所有部件的操作都由控制器集中控制,這一特點(diǎn)帶來了慢速輸入輸出操作占用快速運(yùn)算器的矛盾。為了克服這一缺點(diǎn),人們先后提出各種輸入/輸出方式。 (2)保護(hù)的存儲(chǔ)器空間 把指令和數(shù)據(jù)放在同一存儲(chǔ)器中有優(yōu)缺點(diǎn)。現(xiàn)在絕大多數(shù)計(jì)算機(jī)都規(guī)定:在執(zhí)行過程中不準(zhǔn)修改程序。 (3)存儲(chǔ)器組織結(jié)構(gòu)的發(fā)展 按地址訪問的存儲(chǔ)器具有結(jié)構(gòu)簡單、價(jià)格便宜、存取速度快等優(yōu)點(diǎn)。但是在數(shù)據(jù)處理時(shí),往往要求查找具有某種內(nèi)容特點(diǎn)的信息。但由于訪問存儲(chǔ)器的次數(shù)較多而影響計(jì)算機(jī)系統(tǒng)的性能。 采用了通用寄存器的概念、設(shè)置高速緩沖存儲(chǔ)器Cache、構(gòu)成了以相聯(lián)存儲(chǔ)器為核心的相聯(lián)處理機(jī)。 (

10、4)并行處理技術(shù) 傳統(tǒng)的存儲(chǔ)程序計(jì)算機(jī)解題算法是順序型的,即使問題本身可以并行處理,由于程序的執(zhí)行受程序計(jì)數(shù)器控制,故只能是串行、順序地執(zhí)行。 如何挖掘傳統(tǒng)機(jī)器中的并行性? 改進(jìn)CPU的組成 在體系結(jié)構(gòu)上使本來可以并行計(jì)算的題目能并行計(jì)算 多機(jī)并行處理系統(tǒng) (5)指令集的發(fā)展 計(jì)算機(jī)系統(tǒng)指令的種類愈來愈多,這種計(jì)算機(jī)稱為復(fù)雜指令集計(jì)算機(jī)CISC。日趨 龐雜的指令集不但不容易實(shí)現(xiàn),而且還可能降低計(jì)算機(jī)系統(tǒng)的性能。 把指令集設(shè)計(jì)成只包含那些使用頻率高的少量指令,并提供一些必要的指令以支持 操作系統(tǒng)和高級語言。按照這個(gè)原則而構(gòu)成的計(jì)算機(jī)稱為精簡指令集計(jì)算機(jī)RISC。 1.4 對于一臺(tái)400MHz計(jì)算

11、機(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 CPI、MIPS和程序執(zhí)行時(shí)間。求該計(jì)算機(jī)的有效?(IC?CPI?CPI)/IC 解:ii45000?1?75000?2?8000?4?1500?2?1?CPI.776 1295006f10400? MIPS225?225.MIPS速率? 66CPI?101.776?1045000?1?75000?2?8000?4?1500?2)=(400=575?s 程序執(zhí)行時(shí)間 1.5 計(jì)算機(jī)系統(tǒng)有三個(gè)部件可以改進(jìn),這三

12、個(gè)部件的加速比如下: 部件加速比130; 部件加速比220; 部件加速比310; (1) 如果部件1和部件2的可改進(jìn)比例為30,那么當(dāng)部件3的可改進(jìn)比例為多少時(shí),系統(tǒng)的加速比才可以達(dá)到10? (2) 如果三個(gè)部件的可改進(jìn)比例為30、30和20,三個(gè)部件同時(shí)改進(jìn),那么系統(tǒng)中不可加速部分的執(zhí)行時(shí)間在總執(zhí)行時(shí)間中占的比例是多少? 解:在多個(gè)部件可改進(jìn)情況下Amdahl定理的擴(kuò)展: ?f e?)(?T1?fT? eeoS?e 1?S fe?(1?f) eSe1S? f?i?f?)(1i S iii 是部件i的加速比。Siifi式中,為可加速部件在未優(yōu)化系統(tǒng)中所占的比例; 頁3第 ? 第一章 ? 計(jì)算機(jī)

13、體系結(jié)構(gòu) 作品)oLittle Lou(?1?fff321?f?f)?fS?1?(? 321SSS? 3121?f30.30.?3?3?f)?10?1?(0.3?0.? 3303020? 6536?f?0. 3180 T3?0)0.2.3?1?(0.?p T2T0.3T0.30.T20.? 1020302.0? 20.30.3020.? 10302020.? 12.20.910.6? 606060601282.?0 7.14 計(jì)算機(jī)指令集結(jié)構(gòu)設(shè)計(jì)第二章 2.1 名詞解釋 堆棧型機(jī)器CPU中存儲(chǔ)操作數(shù)的單元是堆棧的機(jī)器。1. 累加型機(jī)器CPU中存儲(chǔ)操作數(shù)的單元是累加器的機(jī)器。2. 通用寄存器型機(jī)

14、器CPU中存儲(chǔ)操作數(shù)的單元是通用寄存器的機(jī)器。3. CISC復(fù)雜指令集計(jì)算機(jī)。4. RISC精簡指令集計(jì)算機(jī)。5.堆棧型機(jī)器、累加器型機(jī)器和通用寄存器型機(jī)器各有什么優(yōu)缺點(diǎn)? 2.2 指令集結(jié) 構(gòu)類型優(yōu)點(diǎn) 缺點(diǎn)堆棧型 是一種表示計(jì)算的簡單模型; 指令短小。 同時(shí), 堆棧不能被隨機(jī)訪問,從而很難生成有效代碼。 由于堆棧是瓶頸,所以很難被高效地實(shí)現(xiàn)。 累加器型 減小了機(jī)器的內(nèi)部狀態(tài);指令 短小。由于累加器是唯一的暫存器,這種機(jī)器的存儲(chǔ)器通信 開銷最大。寄存器型 是代碼生成最一般的模型。 因而指令比較長。 所有操作數(shù)均需命名,且顯式表示, 2.3 常見的三種通用寄存器型機(jī)器的優(yōu)缺點(diǎn)各有哪些?指令集結(jié)構(gòu)

15、類型 優(yōu) 點(diǎn) 點(diǎn)缺 寄存器寄存器型)(0,3 簡單,指令字長固定,是一 種簡單的代碼生成模型,各種指 令的執(zhí)行時(shí)鐘周期數(shù)相近。指 和指令中含有對存儲(chǔ)器操作數(shù)訪問的結(jié)構(gòu)相比, 令條數(shù)多,因而其目標(biāo)代碼較大。 寄存器存儲(chǔ)器型 1,2() 可以直接對存儲(chǔ)器操作數(shù)進(jìn)行訪問,容易對指令進(jìn)行編碼, 且其目標(biāo)代碼較小。在一條指令中同時(shí)對一 指令中的操作數(shù)類型不同。 將限制指令個(gè)寄存器操作數(shù)和存儲(chǔ)器操作數(shù)進(jìn)行編碼,由于指令的操作數(shù)可以存儲(chǔ)所能夠表示的寄存器個(gè)數(shù)。所以每條指令的執(zhí)行時(shí)鐘周在不同類型的存儲(chǔ)器單元, 期數(shù)也不盡相同。存儲(chǔ)器存儲(chǔ)器型 (3,3) 是一種最緊密的編碼方式,無需“浪費(fèi)”寄存器保存變量。 每

16、條指令的執(zhí)行時(shí)鐘周期數(shù)也指令字長多種多樣。 對存儲(chǔ)器的頻繁訪問將導(dǎo)致存儲(chǔ)器訪問瓶頸大不一樣, 問題。 指令集結(jié)構(gòu)設(shè)計(jì)所涉及的內(nèi)容有哪些?2.4 RISC和CISC兩種技術(shù)發(fā)展方向;指令集功能設(shè)計(jì):主要有(1) 尋址方式的設(shè)計(jì):設(shè)置尋址方式可以通過對基準(zhǔn)程序進(jìn)行測試統(tǒng)計(jì),察看各種尋址方式的使用頻度,根據(jù)適(2) 用頻度設(shè)置相應(yīng)必要的尋址方式; 頁4第 ? 第一章 ? 計(jì)算機(jī)體系結(jié)構(gòu) 作品)oLittle Lou(3) 操作數(shù)表示和操作數(shù)類型:主要的操作數(shù)類型和操作數(shù)表示的選擇有,浮點(diǎn)數(shù)據(jù)類型(可以采用IEEE 754標(biāo)準(zhǔn))、整型數(shù)據(jù)類型(8位、16位、32位的表示方法)、字符型(8位)、十進(jìn)制數(shù)

17、據(jù)類型(壓縮十進(jìn)制和非壓縮十進(jìn)制數(shù)據(jù)表示)等等。 (4) 尋址方式的表示:可以將尋址方式編碼與操作碼中,也可將尋址方式作為一個(gè)單獨(dú)的域來表示。 (5) 指令集格式的設(shè)計(jì):有固定長度編碼方式、可變長編碼方式和混合編碼方式三種選擇。 2.5 簡述CISC計(jì)算機(jī)結(jié)構(gòu)指令集功能設(shè)計(jì)的主要目標(biāo)。從當(dāng)前的計(jì)算機(jī)技術(shù)觀點(diǎn)來看,CISC 結(jié)構(gòu)有什么缺點(diǎn)? CISC結(jié)構(gòu)追求的目標(biāo)是強(qiáng)化指令功能,減少程序的指令條數(shù),以達(dá)到提高性能的目的。從目前的計(jì)算機(jī)技術(shù)觀點(diǎn)來看,CISC結(jié)構(gòu)存在以下幾個(gè)缺點(diǎn): (1) 在CISC結(jié)構(gòu)的指令系統(tǒng)中,各種指令的使用頻率相差懸殊。 (2) CISC結(jié)構(gòu)的指令系統(tǒng)的復(fù)雜性帶來了計(jì)算機(jī)體

18、系結(jié)構(gòu)的復(fù)雜性,這不僅增加了研制時(shí)間和成本,而且還容易造成設(shè)計(jì)錯(cuò)誤。 (3) CISC結(jié)構(gòu)的指令系統(tǒng)的復(fù)雜性給VLSI設(shè)計(jì)帶來了很大負(fù)擔(dān),不利于單片集成。 (4) CISC結(jié)構(gòu)的指令系統(tǒng)中,許多復(fù)雜指令需要很復(fù)雜的操作,因而運(yùn)行速度慢。 (5) 在結(jié)構(gòu)的指令系統(tǒng)中,由于各條指令的功能不均衡性,不利于采用先進(jìn)的計(jì)算機(jī)體系結(jié)構(gòu)技術(shù)(如流水技術(shù))來提高系統(tǒng)的性能。 2.6 簡述RISC結(jié)構(gòu)的設(shè)計(jì)原則。 (1) 選取使用頻率最高的指令,并補(bǔ)充一些最有用的指令; (2) 每條指令的功能應(yīng)盡可能簡單,并在一個(gè)機(jī)器周期內(nèi)完成; (3) 所有指令長度均相同; (4) 只有Load和Store操作指令才訪問存儲(chǔ)

19、器,其它指令操作均在寄存器之間進(jìn)行 (5) 以簡單有效的方式支持高級語言。 2.7 簡述操作數(shù)的類型及其相應(yīng)的表示方法。 操作數(shù)的類型主要有:整數(shù)(定點(diǎn))、浮點(diǎn)、十進(jìn)制、字符、字符串、向量、堆棧等。 操作數(shù)類型有兩種表示方法: (1)操作數(shù)的類型由操作碼的編碼指定,這也是最常見的一種方法; (2)數(shù)據(jù)可以附上由硬件解釋的標(biāo)記,由這些標(biāo)記指定操作數(shù)的類型,從而選擇適當(dāng)?shù)倪\(yùn)算。 2.8 表示尋址方式的主要方法有哪些?簡述這些方法的優(yōu)缺點(diǎn)。 表示尋址方式有兩種常用的方法: (1) 將尋址方式編于操作碼中,由操作碼在描述指令的同時(shí)也描述了相應(yīng)的尋址方式。 這種方式譯碼快,但操作碼和尋址方式的結(jié)合不僅增

20、加了指令的條數(shù),導(dǎo)致 了指令的多樣性,而且增加了CPU對指令譯碼的難度。 (2) 為每個(gè)操作數(shù)設(shè)置一個(gè)地址描述符,由該地址描述符表示相應(yīng)操作數(shù)的尋址方式。 這種方式譯碼較慢,但操作碼和尋址獨(dú)立,易于指令擴(kuò)展。 2.9 通常有哪幾種指令格式?簡述其適用范圍。 (1) 變長編碼格式。如果體系結(jié)構(gòu)設(shè)計(jì)者感興趣的是程序的目標(biāo)代碼大小,而不是性能,就可以采用變長編碼格式。 (2) 固定長度編碼格式。如果感興趣的是性能,而不是程序的目標(biāo)代碼大小,則可以選擇固定長度編碼格式。 (3) 混合型編碼格式。需要兼顧降低目標(biāo)代碼長度和降低譯碼復(fù)雜度時(shí),可以采用混合型編碼格式。 2.10為了對編譯器設(shè)計(jì)提供支持,在進(jìn)

21、行指令集設(shè)計(jì)時(shí),應(yīng)考慮哪些問題? (1) 規(guī)整性。 (2) 提供基本指令,而非解決方案。 (3) “簡化方案的折中取舍標(biāo)準(zhǔn)”。 (4) “對于在編譯時(shí)已經(jīng)知道的量,提供將其變?yōu)槌?shù)的指令”。 2.11 試就指令格式、尋址方式和每條指令的周期數(shù)(CPI)等方面比較RISC和CISC處理機(jī)的指令系統(tǒng)結(jié)構(gòu)。 比較內(nèi)容 CISC RISC 指令格式 變長編碼 定長編碼 尋址方式 各種都有 只有l(wèi)oad/store指令可以訪存 頁5第 ? 第一章 ? 計(jì)算機(jī)體系結(jié)構(gòu) 作品)oLittle Lou(1 為遠(yuǎn)遠(yuǎn)大于1 CPI C語言源代碼:2.12 現(xiàn)有如下for (I=0;i=100,i+) Ai=Bi+

22、C; A位整數(shù)。假設(shè)所有數(shù)據(jù)的值及其地址均保存在存儲(chǔ)器中,均是3232位整數(shù)的數(shù)組,C和i是兩個(gè)其中,A和B。在循環(huán)的兩次迭代之間不將任何數(shù)據(jù)保存20001500和C和i的地址分別是 和B的起始地址分別是0和5000。 在寄存器中。 實(shí)現(xiàn)代碼。語言源程序的DLX(1)請寫出該C )該程序段共執(zhí)行了多少條指令。(2 )程序?qū)Υ鎯?chǔ)器中的數(shù)據(jù)訪問了多少次?(3 代碼的大小是多少?)DLX(4i 初始化 ; 1)ADDI R1,R0,#1 解:(i ; 存儲(chǔ)(2000R0),R1 SW loop: 的值; 得到iLW R1,2000(R0) MULT R2,R1,#4 的字偏移; R2 = B 加上基

23、址對R2ADDI R3,R2,#5000 ; 的值; LD BiR4, 0(R3) LW 的值R5,1500(R0) ; LD CLW ; Bi + C R6,R4,R5 ADD 的值得到LW i; R1,2000(R0) MULT 的字偏移 ; R2 = AR2,R1,#4 加上基址ADDI 對R2R7,R2,#0 ; Bi + C SW 0(R7),R6 ;Ai R1,2000(R0) ; 得到iLW 的值 ; 增加 i R1,R1,#1 ADDI i 2000(R0),R1 ;存儲(chǔ) SW ;得到i LW 的值 R1,2000(,R0) ; 計(jì)數(shù)器是否為ADDI 101 R8,R1,#-1

24、01 R8,loop BNEZ ;不是101,重復(fù) )指令數(shù)加上循環(huán)中重復(fù)的指令條數(shù):2)總共執(zhí)行的指令數(shù)是設(shè)置(setup(=1618 )(16101 執(zhí)行的指令 = 2+ 為了計(jì)算數(shù)據(jù)訪問的次數(shù),可以用循環(huán)次數(shù)乘以每次循環(huán)數(shù)據(jù)訪問次數(shù)再加上設(shè)置代碼的次數(shù):101= 809 = 1+(810) (3)數(shù)據(jù)訪問次數(shù) 4字節(jié)):4代碼大小就是程序中匯編指令數(shù)乘以(DLX中每條指令占18 = 72 = 4(4)代碼大小 的值和數(shù)組變量的地址在程序運(yùn)行過程中,只要有可能就一直保存在寄存器中。題,現(xiàn)在假設(shè)將參考2.12i2.13 實(shí)現(xiàn)代碼。C語言源程序的DLX(1)請寫出該 )該程序斷共執(zhí)行了多少條指

25、令。(2 3)程序?qū)Υ鎯?chǔ)器中的數(shù)據(jù)訪問了多少次?( DLX代碼的大小是多少?(4)解:本題對上題再次討論,只不過是在對機(jī)器代碼進(jìn)行基本的優(yōu)化后。特別的,寄存器中的值可以重用,并且循 環(huán)變量的代碼應(yīng)該提到循環(huán)之外。 頁6第 ? 第一章 ? 計(jì)算機(jī)體系結(jié)構(gòu) 作品)oLittle Lou(注意到循環(huán)下標(biāo)變量i的值僅在最后一次循環(huán)中存儲(chǔ),而且和以前一樣,變量的地址小于16位,可以用立即數(shù)指令load地址。對C代碼進(jìn)行優(yōu)化后的一個(gè)可能DLX代碼如下: ADDI R1,R0,#1 ; 初始化i ADDI R3,R0,#0 ; A的基址 ADDI R4,R0,#5000 ; B的基址 LW R5,1500(

26、R0) ; LD C的值 loop: MULT R2,R1,#4 ; 計(jì)算字偏移 ; 計(jì)算 BiADD R6,R2,R4 地址 ; LD Bi 的值 LW R7, 0(R6) ; Bi + C ADD R8,R7,R5 ; 計(jì)算Ai 的地址 R9,R2ADD ,R3 0(R9),R8 ;Ai - Bi + C SW 增加ADDI i R1,R1,#1 ; R10,R1,#-101 ADDI 101 ;計(jì)數(shù)器是否為R10,loop ; 不是 BNEZ 101 ,重復(fù) out_of_loop: SW 2000(R0),R1 ; 存儲(chǔ)最后的i值 (2)總共執(zhí)行的指令數(shù)是設(shè)置指令(setup)加上循環(huán)

27、次數(shù)和循環(huán)指令數(shù)的乘積再加上清除指令數(shù)(cleanup): 執(zhí)行指令數(shù) = 4 +(9101)+1 = 914 (3)計(jì)算數(shù)據(jù)訪問的次數(shù)可以用每次循環(huán)數(shù)據(jù)訪問次數(shù)乘以循環(huán)次數(shù)再加上設(shè)置代碼中的數(shù)據(jù)訪問: 數(shù)據(jù)訪問次數(shù) = 1 + (2101) +1 = 204 (4)代碼大小是程序中匯編指令數(shù)乘以4(DLX中每條指令占4字節(jié)): 代碼大小 = (414) = 56 2.14 讀寫存儲(chǔ)器的頻率、訪問指令和滬劇的頻率是設(shè)計(jì)存儲(chǔ)器系統(tǒng)的重要依據(jù)之一。參考表2.16中的整型平均指標(biāo),求: (1) 所有對數(shù)據(jù)的存儲(chǔ)器訪問所占的百分比; (2) 所有數(shù)據(jù)訪問中讀操作所占的百分比; (3) 所有存儲(chǔ)器訪問中

28、讀操作所占的百分比。 解: (1) 所有對數(shù)據(jù)的存儲(chǔ)器訪問所占的比例為:26%; (2) 所有數(shù)據(jù)訪問中讀操作所占的比例為:74%; (3) 所有存儲(chǔ)器訪問中讀操作所占的比例為:93%。 2.15 對表2.16中的所有類型指令,通過測量其CPI,得到如下結(jié)果: 指令 時(shí)鐘周期 所有的ALU指令1 Load/Store指令1.4 成功的條件分支指令2.0 失敗的條件分支指令1.5 跳轉(zhuǎn)指令1.2 假設(shè)60的條件分支指令轉(zhuǎn)移成功,同時(shí)將上題表中其它一些類別的指令(沒有被包含在上述類別中的指令)看作是ALU指令,請根據(jù)gcc和espresso基準(zhǔn)程序計(jì)算上述各種類型指令出現(xiàn)的平均頻率,以及這兩個(gè)基準(zhǔn)

29、程序的有效 頁7第 ? 第一章 ? 計(jì)算機(jī)體系結(jié)構(gòu) 作品)oLittle Lou((等效)CPI。 解: 上述指令所占的百分比如下表所示: 指令 時(shí)鐘周期 百分比 ALU 所有1 52% Load/Store指令1.4 31.6% 成功的條件分支指令2.0 9.8% 失敗的條件分支指令1.5 5.2% 跳轉(zhuǎn)指令1.2 2.7% 其等效CPI為:152%1.431.6%2.09.8%1.55.2%1.22.7% 1.23 三章 流水線技術(shù) 3.1名詞解釋 1. 流水線將一個(gè)重復(fù)的時(shí)序過程,分解為若干個(gè)子過程,而每一個(gè)子過程都可有效地在其專用功能段上與其他子過程同時(shí)執(zhí)行。 2. 單功能流水線只能完

30、成一種固定功能的流水線。 3. 多功能流水線流水線的各段可以進(jìn)行不同的連接,從而使流水線在不同的時(shí)間,或者在同一時(shí)間完成不同的功能。 4. 靜態(tài)流水線同一時(shí)間內(nèi),流水線的各段只能按同一種功能的連接方式工作。 5. 動(dòng)態(tài)流水線同一時(shí)間內(nèi),當(dāng)某些段正在實(shí)現(xiàn)某種運(yùn)算時(shí),另一些段卻在實(shí)現(xiàn)另一種運(yùn)算。 6. 部件級流水線(運(yùn)算操作流水線)把處理機(jī)的算術(shù)邏輯部件分段,以便為各種數(shù)據(jù)類型進(jìn)行流水操作。 7. 處理機(jī)級流水線(指令流水線)把解釋指令的過程按照流水方式處理。 8. 處理機(jī)間流水線(宏流水線)由兩個(gè)以上的處理機(jī)串行地對同一數(shù)據(jù)流進(jìn)行處理,每一個(gè)處理機(jī)完成一項(xiàng)任務(wù)。 9. 線性流水線指流水線的各段串

31、行連接,沒有反饋回路。 10. 非線性流水線指流水線中除有串行連接的通路外,還有反饋回路。 11. 標(biāo)量流水處理機(jī)處理機(jī)不具有向量數(shù)據(jù)表示,僅對標(biāo)量數(shù)據(jù)進(jìn)行流水處理。 12. 向量流水處理機(jī)處理機(jī)具有向量數(shù)據(jù)表示,并通過向量指令對向量的各元素進(jìn)行處理。 13. 結(jié)構(gòu)相關(guān)某些指令組合在流水線中重疊執(zhí)行時(shí),發(fā)生資源沖突,則稱該流水線有結(jié)構(gòu)相關(guān)。 14. 數(shù)據(jù)相關(guān)當(dāng)指令在流水線中重疊執(zhí)行時(shí),流水線有可能改變指令讀/寫操作的順序,使得讀/寫操作順序不同于它們非流水實(shí)現(xiàn)時(shí)的順序,將導(dǎo)致數(shù)據(jù)相關(guān)。 15. 定向?qū)⒂?jì)算結(jié)果從其產(chǎn)生的地方直接送到其他指令需要它的地方,或所有需要它的功能單元,避免暫停。 16.

32、 RAW兩條指令i,j,i在j前進(jìn)入流水線,j執(zhí)行要用到i的結(jié)果,但當(dāng)其在流水線中重疊執(zhí)行時(shí),j可能在i寫入其結(jié)果之前就先行對保存該結(jié)果的寄存器進(jìn)行讀操作,得到錯(cuò)誤值。 17. WAW兩條指令i,j,i在j前進(jìn)入流水線,j、i的操作數(shù)一樣,在流水線中重疊執(zhí)行時(shí),j可能在i寫入其結(jié)果之前就先行對保存該結(jié)果的寄存器進(jìn)行寫操作,導(dǎo)致寫錯(cuò)誤。 18. WAR兩條指令i,j,i在j前進(jìn)入流水線,j可能在i讀某個(gè)寄存器之前對該寄存器進(jìn)行寫操作,導(dǎo)致i讀出數(shù)據(jù)錯(cuò)誤。 3.2 簡述流水線技術(shù)的特點(diǎn)。 (1) 流水過程由多個(gè)相聯(lián)系的子過程組成,每個(gè)過程稱為流水線的“級”或“段” ; (2) 每個(gè)子過程由專用的功

33、能段實(shí)現(xiàn); (3) 各個(gè)功能段所需時(shí)間應(yīng)盡量相等,否則,時(shí)間長的功能段將成為流水線的瓶頸,會(huì)造成流水線的“堵塞”和“斷流”; (4) 流水線需要有“通過時(shí)間”(第一個(gè)任務(wù)流出結(jié)果所需的時(shí)間),在此之后流水過程才進(jìn)入穩(wěn)定工作狀態(tài),每一個(gè)時(shí)鐘周期(拍)流出一個(gè)結(jié)果; (5) 流水技術(shù)適合于大量重復(fù)的時(shí)序過程,只有在輸入端能連續(xù)地提供任務(wù),流水線的效率才能充分發(fā)揮。 3.3 請畫出DLX基本流水線,并簡述其工作原理。 工作原理:把一條DLX指令在5個(gè)周期內(nèi)實(shí)現(xiàn),將每一個(gè)時(shí)鐘周期看作是流水線的一個(gè)時(shí)鐘周期,硬件每個(gè)時(shí)鐘周期啟動(dòng)一條新的指令,并執(zhí)行5條不同指令中的某一部分。每條指令雖仍需5個(gè)時(shí)鐘周期完成

34、,但提高了吞吐率, 頁8第 ? 第一章 ? 計(jì)算機(jī)體系結(jié)構(gòu) 作品)oLittle Lou(實(shí)現(xiàn)了流水。 指令/時(shí)鐘 1 2 3 4 5 6 7 8 9 I IF ID EX MEM WB I+1 IF ID EX MEM WB I+2 IF ID EX MEM WB I+3 IF ID EX MEM WB I+4 IF ID EX MEM WB 3.5 解決流水線結(jié)構(gòu)相關(guān)的方法有哪些? (1) 流水化功能單元 (2) 資源重復(fù) (3) 暫停流水線 3.6 降低流水線分支損失的方法有哪些? (1)在流水線中盡早判斷出分支轉(zhuǎn)移是否成功; (2)盡早計(jì)算出分支轉(zhuǎn)移成功時(shí)的PC值(即分支的目標(biāo)地址)

35、? “凍結(jié)”或“排空”流水線的方法 ? 預(yù)測分支失敗 ? 預(yù)測分支成功 ? 延遲分支 3.7 請對延遲分支辦法中的三種調(diào)度策略進(jìn)行評價(jià)。 1從前調(diào)動(dòng):分支必須不依賴于被調(diào)度的指令,總是可以有效提高流水線性能。 2從目標(biāo)處調(diào)度:若分支轉(zhuǎn)移失敗,必須保證被調(diào)度的指令對程序的執(zhí)行沒有影響,可能需要復(fù)制被調(diào)度指令。分支轉(zhuǎn)移成功時(shí),可提高流水線性能。但由于復(fù)制指令,可能加大程序空間。 3從失敗處調(diào)度:若分支轉(zhuǎn)移成功,必須保證被調(diào)度的指令對程序的執(zhí)行無影響。分支轉(zhuǎn)移失敗時(shí),可提高流水線性能。 3.8 簡述三種向量處理方法,它們對向量處理機(jī)的結(jié)構(gòu)要求有什么不同? 1水平處理方式:若向量長度為N,則水平處理方

36、式相當(dāng)于執(zhí)行N次循環(huán)。若使用流水線,在每次循環(huán)中可能出現(xiàn)數(shù)據(jù)相關(guān)和功能轉(zhuǎn)換,不適合對向量進(jìn)行流水處理。 2垂直處理方式:將整個(gè)向量按相同的運(yùn)算處理完畢之后,再去執(zhí)行其他運(yùn)算。適合對向量進(jìn)行流水處理,向量運(yùn)算指令的源/目向量都放在存儲(chǔ)器內(nèi),使得流水線運(yùn)算部件的輸入、輸出端直接與存儲(chǔ)器相聯(lián),構(gòu)成M-M型的運(yùn)算流水線。 3分組處理方式:把長度為N的向量分為若干組,每組長度為n,組內(nèi)按縱向方式處理,依次處理各組,組數(shù)為N?,適合流水處理。可設(shè)長度為n的向量寄存器,使每組向量運(yùn)算的源/目向量都在向量寄存器中,流水? n?線的運(yùn)算部件輸入、輸出端與向量寄存器相聯(lián),構(gòu)成R-R型運(yùn)算流水線。 3.9 有一條流

37、水線如下所示。 入出 431250ns200ns50ns100ns (1) 求連續(xù)輸入10條指令,該流水線的實(shí)際吞吐率和效率; (2) 該流水線的瓶頸在哪一段?請采取三種不同的措施消除此“瓶頸”。對于你所給出的新流水線,計(jì)算連續(xù)輸入10條指令時(shí),其實(shí)際吞吐率和效率。 解:(1) m?t?1)T?t?(nmaxpipelinei1?i?(50?50?100?200)?9?200 ?2200(ns) 頁9第 ? 第一章 ? 計(jì)算機(jī)體系結(jié)構(gòu) 作品)oLittle Lou(1n1?)?(nsTP 220Tpipelinem?t?i54001?i45.45%?TPE?TP 114m (2)瓶頸在3、4段

38、。 ? 變成八級流水線(細(xì)分)出入 4_44_13_13_21250ns50ns50ns50ns50ns50ns m?t?t?(n?1)?T?maxpipelinei1i?50?50?8?9 850(ns)?1n1?)?(nsTP 85T pipeline4-1 m?ti?104004-2 3-1 1?i58.82%E?TP?TP? 178m2 1 ? 變成兩級流水線(合并)4-3 3-2 出入41234-4 200ns200ns m?t1)t?(nT?axmipipeline1i? 2009?200?2?2200(ns)?1n1?)?TP?(ns 220Tpipeline m?ti?1040

39、01?i90.91%?ETP?TP? 112m ? 重復(fù)設(shè)置部件 Stage 4_4844_3734_210264_19513_21026483_191357210879431265Time110589612374850ns 1n1?)(ns?TP? 85Tpipeline 頁10第 ? 第一章 ? 計(jì)算機(jī)體系結(jié)構(gòu) 作品)oLittle Lou(1010400?58.82%E? 178850?一個(gè)流水線由四段組成,其中每當(dāng)流經(jīng)第三段時(shí),總要在該段循環(huán)一次才能流到第四段。如果每段經(jīng)過一次的 3.10 時(shí)間都是t,問: 在流水線的輸入端每t時(shí)間輸入任務(wù)時(shí),該流水線會(huì)發(fā)生什么情況?(1) 當(dāng) 連續(xù)處

40、理10個(gè)任務(wù)的實(shí)際吞吐率和效率是多少?(2) 此流水線的實(shí)際吞吐率為多少?如果每2t輸入一個(gè)任務(wù), 時(shí),其吞吐率提高多少?每段時(shí)間不變時(shí),如何提高該流水線的吞吐率?仍連續(xù)處理(3) 當(dāng)10個(gè)任務(wù) 1)會(huì)發(fā)生流水線阻塞情況。解:(stage4stage3stage3Instr.1stage1stage2stage4stage2instr.2stage3stallstage1stage3stage4instr.3stage2stall stallstage3stage1stage3stage4stallinstr.4stallstall stage3stage1stage3stage2 2()8t

41、6t0t1t2t3t4t5t7tstage4Instr.1stage1stage3stage2stage3stage4stage1stage3instr.2stage3stage2stage4stage3stage2stage1stage3instr.3 Stage 41089741235631098106677211293344558210715283964Time110496217835t23? Stage 41095678312431077988211233104455966210957142836Time110215973864t23? 1?TP maxt?2t?23Tpipeline

42、 10n?Tpt23?Tpipeline50t5?54.35%?E?TP?924 (3)重復(fù)設(shè)置部件 t 3_1 214 ttt3_2 t 頁11第 ? 第一章 ? 計(jì)算機(jī)體系結(jié)構(gòu) 作品)oLittle Lou( 43_2123_1ttttt Stage13_113_91Time17t14? 510n?TP? t?T7?14?tpipeline5t7?1.64 吞吐率提高倍數(shù)10t23?個(gè)任務(wù)需要完成,且每個(gè)任務(wù)均需),現(xiàn)在有n,m(m段,各段的處理時(shí)間分別是ti=1,2,3.11 如果流水線有i 流水線各段實(shí)現(xiàn),請計(jì)算: n個(gè)任務(wù)所需要的時(shí)間; 流水線完成這(1) n個(gè)任務(wù)流水實(shí)現(xiàn)的加速比是

43、多少?加速比的峰值是多少? 和非流水線實(shí)現(xiàn)相比,這(2) 解:(1)m?t?1)T?t?(nmaxpipelinei 1i? )(2m?tn?T? inopipeline1i?m?t?niTnopipeline?Speedup?1i?Tmpipeline?t?t(n?1)maxi1i? n?m)Speedup?t(t?0maxi1n?m?m)?(n?m,Speedup 流水線上運(yùn)行如下代碼序列:在改進(jìn)的3.12 DLXR1, 0(R2) LOOP: LW R1, R1, #1 ADDI 0(R2), R1 SW R2, R2, #4 ADDI R4, R3, R2 SUB R4, LOOP B

44、NZ 。假設(shè):在整個(gè)代碼序列的運(yùn)行過程中,所有的存儲(chǔ)器訪問都是命中的,并且在396其中,R3的初始值是R2 一個(gè)時(shí)鐘周期中對同一個(gè)寄存器的讀操作和寫操作可以通過寄存器“定向”。問:沒有任何其它定向(或旁路)硬件的支持下,請畫出該指令序列執(zhí)行的流水線時(shí)空圖。假設(shè)采用排空流水在 (1) ,那么執(zhí)行上述循環(huán)需要多少個(gè)時(shí)鐘周期?線的策略處理分支指令,且所有的存儲(chǔ)器訪問都可以命中Cache假設(shè)采用預(yù)測分支失敗的策請畫出該指令序列執(zhí)行的流水線時(shí)空圖。DLX流水線有正常的定向路徑,2() 假設(shè)該 Cache,那么執(zhí)行上述循環(huán)需要多少個(gè)時(shí)鐘周期?略處理分支指令,且所有的存儲(chǔ)器訪問都可以命中流水線有正常的定向路

45、徑,請對該循環(huán)中的指令進(jìn)行調(diào)度。注意可以重新組織指令的順序,也可DLX )假設(shè)該(3 頁12第 ? 第一章 ? 計(jì)算機(jī)體系結(jié)構(gòu) 作品)oLittle Lou(以修改指令的操作數(shù),但是不能增加指令的條數(shù)。請畫出該指令序列執(zhí)行的流水線時(shí)空圖,并計(jì)算執(zhí)行上述循環(huán)需要的時(shí)鐘周期數(shù)? 解: (1) 寄存器讀寫可以定向,無其他旁路硬件支持。排空流水線。 Instruction12345678910111213141516171819202122lw r1,0(r2)IFIDEXMWBaddi r1,r1,#1IFSSIDEXMWBsw r1,0(r2)IFSSIDEXMWBaddi r2,r2,#4IFI

46、DEXMWBsub r4,r3,r2IFSSIDEXMWBbnz r4,loopIFSSIDEXMWBlw r1,0(r2)IFSSIFIDEXMWB第i次迭代(i0.98)開始周期:1(i17) 總的時(shí)鐘周期數(shù):(9817)181684 (2) 有正常定向路徑,預(yù)測分支失敗。 Instruction12345678910111131415WBIFIDEXMlw r1,0(r2)WBIDSEXMaddi r1,r1,#1IFWBEXMIFsw r1,0(r2)SIDMaddi r2,r2,#4IFIDEXWBMWBIDEXsub r4,r3,r2IFEXMWBbnz r4,loopIDIFmi

47、sslw r1,0(r2)missIFIDEXMIFWB 第i次迭代(i0.98)開始周期:1(i10) 總的時(shí)鐘周期數(shù):(9810)11991 (3) 有正常定向路徑。單周期延遲分支。 Loop: lw r1,0(r2) addi r2,r2,#4 addi r1,r1,#1 sub r4,r3,r2 bnz r4,loop sw r1,-4(r2) 第i次迭代(i 0.98)開始周期:1(i 6 ) 總的時(shí)鐘周期數(shù):(986)10598 Instruction1234567891011lw r1,0(r2)IFIDEXMWBaddi r2,r2,#4IFIDEXMWBaddi r1,r1,

48、#1IFIDEXMWBsub r4,r3,r2IFIDEXMWBbnz r4,loopIFIDEXMWBsw r1,-4(r2)IFIDEXMWBlw r1,0(r2)IFIDEXMWB 3.13 假設(shè)各種分支所占指令數(shù)地百分比如下表所示: 條件分支 V3DV4EV8V5FV9 20(其中60是成功的) 跳轉(zhuǎn)和調(diào)用 5 向量加向量乘現(xiàn)有一深度為4地流水線(流水線有4段),無條件分支在第二個(gè)時(shí)鐘周期結(jié)束時(shí)就被解析出來,而條件分支要到第三個(gè)時(shí)鐘周期結(jié)束時(shí)才能被解析出來。第一個(gè)流水段是完全獨(dú)立于指令類型的,即所有的指令都必須經(jīng)過第一個(gè)流水段的處理。請問在沒有任何結(jié)構(gòu)相關(guān)地情況下,該流水線相對于存在上

49、述結(jié)構(gòu)相關(guān)情況下地加速比是多少? 頁13第 ? 第一章 ? 計(jì)算機(jī)體系結(jié)構(gòu) 作品)oLittle Lou(解:在不存在結(jié)構(gòu)相關(guān)時(shí),每條指令的平均執(zhí)行時(shí)間是1個(gè)時(shí)鐘周期,而存在上述條件相關(guān)的情況下,并假設(shè)條件分支預(yù)測成功,那么無條件分支和成功的條件分支的等待時(shí)間都是1,而不成功地條件分支等待時(shí)間是2個(gè)周期;所以加速比就等于存在相關(guān)的每條指令的平均執(zhí)行時(shí)間和不存在相關(guān)的每條指令的執(zhí)行時(shí)間1的比值: P1stall無條件分支P?1?f?加速比?1?C 分支stall2P條件分支 每條指令的平均等待時(shí)間:C?f?Pf?P無條件分支條件分支條件分支無條件分支20?60%?220%?40%?1?5?1 0

50、.37加速比?1.37 所以:3.14 CRAY-1機(jī)器上,按照鏈接方式執(zhí)行下述4條向量指令(括號中給出了相應(yīng)功能部件的時(shí)間),如果向量寄存器和功能部件之間數(shù)據(jù)傳輸需要1拍,試求此鏈接流水線的通過時(shí)間是多少拍?如果向量長度為64,則需要多少拍才能得到全部結(jié)果。 V存儲(chǔ)器 (從存儲(chǔ)器中取數(shù):7拍) 0VVV (向量加:3拍) 102VV A (按(A3)左移:4拍) 322VVV (向量邏輯乘:2拍) 435解:通過時(shí)間就是每條向量指令的第一個(gè)操作數(shù)執(zhí)行完畢需要的時(shí)間,也就是各功能流水線由空到滿的時(shí)間,具體過程如下圖所示。要得到全部結(jié)果,在流水線充滿之后,向量中后繼操作數(shù)繼續(xù)以流水方式執(zhí)行,直到

51、整組向量執(zhí)行完畢。 訪存存儲(chǔ)器V0V1V2V3V4V5向量邏左移向量加輯乘A3 (拍)231)1)(1211)(131)(4T(7通過 (拍)861)2363?TT(64通過總共3.15 向量處理機(jī)有16個(gè)向量寄存器,其中V0V5中分別存放有向量A、B、C、D、E、F,向量長度均為8,向量各元素均為浮點(diǎn)數(shù);處理部件采用兩個(gè)單功能流水線,加法功能部件時(shí)間為2拍,乘法功能部件時(shí)間為3拍。采用類似CRAY-1的鏈接技術(shù),先計(jì)算(AB)*C,在流水線不停留的情況下,接著計(jì)算(DE)*F。 (1) 求此鏈接流水線的通過時(shí)間為多少拍?(設(shè)寄存器入、出各需1拍) (2) 假如每拍時(shí)間為50ns,完成這些計(jì)算

52、并把結(jié)果存進(jìn)相應(yīng)寄存器,此處理部件地實(shí)際吞吐率為多少M(fèi)FLOPS? 解:(1)我們在這里假設(shè)AB的中間結(jié)果放在V6中,(AB)*C地最后結(jié)果放在V7中,DE地中間結(jié)果放在V8中,(DE)*F的最后結(jié)果放在V9中。具體實(shí)現(xiàn)參考下圖: V0AV1BV6V2CV7通過時(shí)間應(yīng)該為前者(AB)*C)通過的時(shí)間: 頁14第 ? 第一章 ? 計(jì)算機(jī)體系結(jié)構(gòu) 作品)oLittle Lou(T= (1+2+1)+(1+3+1) =9(拍) 通過(2)在做完(AB)*C之后,作(CD)*E就不需要通過時(shí)間了。 V6?A?B;V7?V6?C; E;?V8?DV9?V8?F;T?T(81)?8?24(拍)?1200(

53、ns)通過 32TP?26.67MFLOPS T第五章 存儲(chǔ)層次 5.1名詞解釋 1 存儲(chǔ)層次采用不同的技術(shù)實(shí)現(xiàn)的存儲(chǔ)器,處在離CPU不同距離的層次上,目標(biāo)是達(dá)到離CPU最近的存儲(chǔ)器的速度,最遠(yuǎn)的存儲(chǔ)器的容量。 2 全相聯(lián)映象主存中的任一塊可以被放置到Cache中任意一個(gè)地方。 3 直接映象主存中的每一塊只能被放置到Cache中唯一的一個(gè)地方。 4 組相聯(lián)映象主存中的每一塊可以放置到Cache中唯一的一組中任何一個(gè)地方(Cache分成若干組,每組由若干塊構(gòu)成)。 5 替換算法由于主存中的塊比Cache中的塊多,所以當(dāng)要從主存中調(diào)一個(gè)塊到Cache中時(shí),會(huì)出現(xiàn)該塊所映象到的一組(或一個(gè))Cach

54、e塊已全部被占用的情況。這時(shí),需要被迫騰出其中的某一塊,以接納新調(diào)入的塊。 6 LRU選擇最近最少被訪問的塊作為被替換的塊。實(shí)際實(shí)現(xiàn)都是選擇最久沒有被訪問的塊作為被替換的塊。 7 寫直達(dá)法在執(zhí)行寫操作時(shí),不僅把信息寫入Cache中相應(yīng)的塊,而且也寫入下一級存儲(chǔ)器中相應(yīng)的塊。 8 寫回法只把信息寫入Cache中相應(yīng)塊,該塊只有被替換時(shí),才被寫回主存。 9 按寫分配法寫失效時(shí),先把所寫單元所在的塊調(diào)入Cache,然后再進(jìn)行寫入。 10 不按寫分配法寫失效時(shí),直接寫入下一級存儲(chǔ)器中,而不把相應(yīng)的塊調(diào)入Cache。 11 寫合并在往緩沖器寫入地址和數(shù)據(jù)時(shí),如果緩沖器中存在被修改過的塊,就檢查其地址,看看本次寫入數(shù)據(jù)的地址是否和緩沖器內(nèi)某個(gè)有效塊的地址匹配。如果匹配,就將新數(shù)據(jù)與該塊合并。 12 命中時(shí)間訪問Cache命中時(shí)所用的時(shí)間。 13 失效率CPU訪存時(shí),在一級存儲(chǔ)器中找不到所需信息的概率。 14 失效開銷CPU向二級存儲(chǔ)器發(fā)出訪問請求到把這個(gè)數(shù)據(jù)調(diào)入一級存儲(chǔ)器所需的時(shí)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論