體系結(jié)構(gòu)習(xí)題解答_第1頁
體系結(jié)構(gòu)習(xí)題解答_第2頁
體系結(jié)構(gòu)習(xí)題解答_第3頁
體系結(jié)構(gòu)習(xí)題解答_第4頁
體系結(jié)構(gòu)習(xí)題解答_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

2、取下一條N+1級(jí)指令,依此重復(fù)執(zhí)行。6 .體系結(jié)構(gòu)一一程序員所看到的計(jì)算機(jī)的屬性,即概念性結(jié)構(gòu)與功能特性。主要研究計(jì)算機(jī)系統(tǒng)軟件和硬件的功能分配以及如何最佳、最合理地實(shí)現(xiàn)分配給硬件的功能。8 .透明性一一在計(jì)算機(jī)技術(shù)中,對(duì)本來存在的事物或?qū)傩?,從某一角度來看又好像不存在的概念稱為透明性。9 .系列機(jī)一一在一個(gè)廠家生產(chǎn)的具有相同的體系結(jié)構(gòu),但具有不同的組成和實(shí)現(xiàn)的一系列不同型號(hào)的機(jī)器。10 .軟件兼容一一同一個(gè)軟件可以不加修改地運(yùn)行于體系結(jié)構(gòu)相同的各檔機(jī)器上,而且它們所獲得的結(jié)果一樣,差別只在于運(yùn)行的時(shí)間不同。11 .兼容機(jī)一一不同廠家生產(chǎn)的、具有相同體系結(jié)構(gòu)的計(jì)算機(jī)。12 .計(jì)算機(jī)組成一一計(jì)算

3、機(jī)體系結(jié)構(gòu)的邏輯實(shí)現(xiàn)。13 .計(jì)算機(jī)實(shí)現(xiàn)一一計(jì)算機(jī)組成的物理實(shí)現(xiàn)。14 .存儲(chǔ)程序計(jì)算機(jī)(馮諾依曼結(jié)構(gòu))一一采用存儲(chǔ)程序原理,將程序和數(shù)據(jù)存放在同一存儲(chǔ)器中。指令在存儲(chǔ)器中按其執(zhí)行順序存儲(chǔ),由指令計(jì)數(shù)器指明每條指令所在的單元地址。15 .并行性一一在同一時(shí)刻或同一時(shí)間間隔內(nèi)完成兩種或兩種以上性質(zhì)相同或不同的工作。16 .時(shí)間重疊一一在并行性中引入時(shí)間因素,即多個(gè)處理過程在時(shí)間上相互錯(cuò)開,輪流重疊地使用同一套硬件設(shè)備的各個(gè)部分,以加快硬件周轉(zhuǎn)而贏得速度。17 .資源重復(fù)一一在并行性中引入時(shí)間因素,是根據(jù)留數(shù)量取勝的原則,通過重復(fù)設(shè)置資源,尤其是硬件資源,大幅度提高計(jì)算機(jī)系統(tǒng)的性能。18 .資源共

4、享一一是一種軟件方法,它使多個(gè)任務(wù)按一定的時(shí)間順序輪流使用同一套硬件設(shè)備。19 .同構(gòu)型多處理機(jī)由多個(gè)同種類型、至少同等功能的處理機(jī)組成、同時(shí)處理同一作業(yè)中能并行執(zhí)行的多個(gè)任務(wù)的機(jī)器。20 .異構(gòu)型多處理機(jī)由多個(gè)不同類型、功能不同的處理機(jī)組成、串行完成同一作業(yè)中不同任務(wù)的機(jī)器。21 .響應(yīng)時(shí)間一一從事件開始到結(jié)束之間的時(shí)間,也稱執(zhí)行時(shí)間。22 .測試程序組件一一選擇一個(gè)各個(gè)方面有代表性的測試程序,組成一個(gè)通用的測試程序集合。這個(gè)通用的測試程序集合稱為測試程序組件。23 .大概率事件優(yōu)先一一此原則是計(jì)算機(jī)體系結(jié)構(gòu)中最重要和最常用的原則。對(duì)于大概率事件(最常見的事件),賦予它優(yōu)先的處理權(quán)和資源使用

5、權(quán),以獲得全局的最優(yōu)結(jié)果。24 .系統(tǒng)加速比一一系統(tǒng)改進(jìn)前與改進(jìn)后總執(zhí)行時(shí)間之比。25 .Amdahl定律一一加快某部件執(zhí)行速度所獲得的系統(tǒng)性能加速比,受限于該部件在系統(tǒng)中的所占的重要性。26 .程序的局部性原理一一程序在執(zhí)行時(shí)所訪問的地址不是隨機(jī)的,而是相對(duì)簇聚;這種簇聚包括指令和數(shù)據(jù)兩部分。27 .CPI指令時(shí)鐘數(shù)(CyclesperInstruction)o第二章計(jì)算機(jī)指令集結(jié)構(gòu)設(shè)計(jì)1. CISC復(fù)雜指令集計(jì)算機(jī)。2. RISC精簡指令集計(jì)算機(jī)。3. Amdahl定律一一加快某部件執(zhí)行速度所獲得的系統(tǒng)性能加速比,受限于該部件在系統(tǒng)中所占的重要性。4. 程序的局部性原理:程序在執(zhí)行時(shí)所訪問

6、地址的分布不是隨機(jī)的,而是相對(duì)地簇聚;這種簇聚包括指令和數(shù)據(jù)兩部分。i. 程序局部性包括:ii. 邪序的時(shí)間局部性:程序即將用到的信息很可能就是目前正在使用的信息。iii. 邪序的空間局部性:程序即將用到的信息很可能與目前正在使用的信息在空間上相鄰或者臨近5. 5.指令系統(tǒng):又稱指令集(instructionset)是計(jì)算機(jī)體系結(jié)構(gòu)設(shè)計(jì)的核心,是計(jì)算機(jī)軟、硬件接口,是指機(jī)器所具有的全部指令的集合。它反映了計(jì)算機(jī)所擁有的基本功能。它是機(jī)器語言程序員所看到的機(jī)器的主要屬性之一。哈夫曼壓縮的基本思想:當(dāng)各種事件發(fā)生的概率不均時(shí),采用優(yōu)化技術(shù)對(duì)發(fā)生概率最高的事件用最短的位數(shù)(時(shí)間)來表示(處理),而對(duì)

7、出現(xiàn)概率較低的,用較長的位數(shù)(時(shí)間)來表示(處理),就會(huì)導(dǎo)致表示(處理)的平均位數(shù)(時(shí)間)的縮短。14.2.2堆棧型機(jī)器、累加器型機(jī)器和通用寄存器型機(jī)器各有什么優(yōu)缺點(diǎn)?指令集結(jié)構(gòu)類型優(yōu)點(diǎn)缺點(diǎn)堆棧型是一種表示計(jì)算的簡單模型;指令短小。堆棧不能被隨機(jī)訪問,從而很難生成有效代碼。同時(shí),由于堆棧是瓶頸,所以很難被高效地實(shí)現(xiàn)。累加器型減小了機(jī)器的內(nèi)部狀態(tài);指令短小。由于累加器是唯一的暫存器,這種機(jī)器的存儲(chǔ)器通信開銷最大。寄存器型是代碼生成最一般的模型。所有操作數(shù)均需命名,且顯式表示,因而指令比較長。2.3常見的三種通用寄存器型機(jī)器的優(yōu)缺點(diǎn)各有哪些?指令集結(jié)構(gòu)類型優(yōu)點(diǎn)缺點(diǎn)寄存器-寄存器型(0,3)簡單,指

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

9、器訪問瓶頸問題。2.4 指令集結(jié)構(gòu)設(shè)計(jì)所涉及的內(nèi)容有哪些?(2)指令集功能設(shè)計(jì):主要有RISC口CISCM種技術(shù)發(fā)展方向;(3)尋址方式的設(shè)計(jì):設(shè)置尋址方式可以通過對(duì)基準(zhǔn)程序進(jìn)行測試統(tǒng)計(jì),察看各種尋址方式的使用頻度,根據(jù)適用頻度設(shè)置相應(yīng)必要的尋址方式;(4)操作數(shù)表示和操作數(shù)類型:主要的操作數(shù)類型和操作數(shù)表示的選擇有,浮點(diǎn)數(shù)據(jù)類型(可以采用IEEE754標(biāo)準(zhǔn))、整型數(shù)據(jù)類型(8位、16位、32位的表示方法)、字符型(8位)、十進(jìn)制數(shù)據(jù)類型(壓縮十進(jìn)制和非壓縮十進(jìn)制數(shù)據(jù)表示)等等。(5)尋址方式的表示:可以將尋址方式編碼與操作碼中,也可將尋址方式作為一個(gè)單獨(dú)的域來表不。(6)指令集格式的設(shè)計(jì):有

10、固定長度編碼方式、可變長編碼方式和混合編碼方式三種選擇。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)中,各種指令的使用頻率相差懸殊。3 CISC結(jié)構(gòu)的指令系統(tǒng)的復(fù)雜性帶來了計(jì)算機(jī)體系結(jié)構(gòu)的復(fù)雜性,這不僅增加了研制時(shí)間和成本,而且還容易造成設(shè)計(jì)錯(cuò)誤。3 CISC結(jié)構(gòu)的指令系統(tǒng)的復(fù)雜性給VLSI設(shè)計(jì)帶來了很大負(fù)擔(dān),不利于單片集成。3 CISC結(jié)構(gòu)的指令系統(tǒng)中,許多復(fù)雜指

11、令需要很復(fù)雜的操作,因而運(yùn)行速度慢。(5)在結(jié)構(gòu)的指令系統(tǒng)中,由于各條指令的功能不均衡性,不利于采用先進(jìn)的計(jì)算機(jī)體系結(jié)構(gòu)技術(shù)(如流水技術(shù))來提高系統(tǒng)的性能。3 簡述RISC吉構(gòu)的設(shè)計(jì)原則。(1)選取使用頻率最高的指令,并補(bǔ)充一些最有用的指令;(2)每條指令的功能應(yīng)盡可能簡單,并在一個(gè)機(jī)器周期內(nèi)完成;(3)所有指令長度均相同;(4)只有Load和Store操作指令才訪問存儲(chǔ)器,其它指令操作均在寄存器之間進(jìn)行(5)以簡單有效的方式支持高級(jí)語言。3 簡述操作數(shù)的類型及其相應(yīng)的表示方法。操作數(shù)的類型主要有:整數(shù)(定點(diǎn))、浮點(diǎn)、十進(jìn)制、字符、字符串、向量、堆棧等。操作數(shù)類型有兩種表示方法:(1)操作數(shù)的

12、類型由操作碼的編碼指定,這也是最常見的一種方法;(2)數(shù)據(jù)可以附上由硬件解釋的標(biāo)記,由這些標(biāo)記指定操作數(shù)的類型,從而選擇適當(dāng)?shù)倪\(yùn)算。3 表示尋址方式的主要方法有哪些?簡述這些方法的優(yōu)缺點(diǎn)。表示尋址方式有兩種常用的方法:將尋址方式編于操作碼中,(2)由操作碼在描述指(3)令的同(4)時(shí)也描述了相應(yīng)的尋址方式。這種方式譯碼快,但操作碼和尋址方式的結(jié)合不僅增加了指令的條數(shù),導(dǎo)致了指令的多樣性,而且增加了CPU寸指令譯碼的難度。為每個(gè)操作數(shù)設(shè)置一個(gè)地址描述符,(6)由該地址描述符表示相應(yīng)操作數(shù)的尋址方式。這種方式譯碼較慢,但操作碼和尋址獨(dú)立,易于指令擴(kuò)展。3 通常有哪幾種指令格式?簡述其適用范圍。(1

13、)變長編碼格式。如果體系結(jié)構(gòu)設(shè)計(jì)者感興趣的是程序的目標(biāo)代碼大小,而不是性能,就可以采用變長編碼格式。(2)固定長度編碼格式。如果感興趣的是性能,而不是程序的目標(biāo)代碼大小,則可以選擇固定長度編碼格式。(3)混合型編碼格式。需要兼顧降低目標(biāo)代碼長度和降低譯碼復(fù)雜度時(shí),可以采用混合型編碼格式。3 為了對(duì)編譯器設(shè)計(jì)提供支持,在進(jìn)行指令集設(shè)計(jì)時(shí),應(yīng)考慮哪些問題?(1)規(guī)整性。(2)提供基本指令,而非解決方案。(3)-簡化方案的折中取舍標(biāo)準(zhǔn)1(4叫于在編譯時(shí)已經(jīng)知道的量,提供將其變?yōu)槌?shù)的指令llo第三章流水線技術(shù)1,流水線一一將一個(gè)重復(fù)的時(shí)序過程,分解為若干個(gè)子過程,而每一個(gè)子過程都可有效地在其專用功能

14、段上與其他子過程同時(shí)執(zhí)行。2,流水線按功能多少分為靜態(tài)流水線和動(dòng)態(tài)流水線;按流水線的級(jí)別分為部件級(jí)流水線、處理機(jī)級(jí)流水線和處理機(jī)間流水線;按數(shù)據(jù)表示分為標(biāo)量處理機(jī)和向量處理機(jī);按是否有反饋回路分為線性流水線和非線性流水線;按流動(dòng)是否可以亂序分為順序流動(dòng)流水線和異步流動(dòng)流水線。3,單功能流水線一一只能完成一種固定功能的流水線。4,多功能流水線一一流水線的各段可以進(jìn)行不同的連接,從而使流水線在不同的時(shí)間,或者在同一時(shí)間完成不同的功能。5,靜態(tài)流水線一一同一時(shí)間內(nèi),流水線的各段只能按同一種功能的連接方式工作。6.動(dòng)態(tài)流水線一一同一時(shí)間內(nèi),流水線的各段可以按不同功能的連接方式工作。7,部件級(jí)流水線一一

15、(運(yùn)算操作流水線)把處理機(jī)的算術(shù)邏輯部件分段,以便為各種數(shù)據(jù)類型進(jìn)行流水操作。8,處理機(jī)級(jí)流水線一一(指令流水線)把解釋指令的過程按照流水方式處理。9,處理機(jī)間流水線一一(宏流水線)由兩個(gè)以上的處理機(jī)串行地對(duì)同一數(shù)據(jù)流進(jìn)行處理,每一個(gè)處理機(jī)完成一項(xiàng)任務(wù)。10,線性流水線一一指流水線的各段串行連接,沒有反饋回路。11,非線性流水線一一指流水線中除有串行連接的通路外,還有反饋回路。12,標(biāo)量流水處理機(jī)一一處理機(jī)不具有向量數(shù)據(jù)表示,僅對(duì)標(biāo)量數(shù)據(jù)進(jìn)行流水處理。13,向量流水處理機(jī)一一處理機(jī)具有向量數(shù)據(jù)表示,并通過向量指令對(duì)向量的各元素進(jìn)行處理。14,結(jié)構(gòu)相關(guān)一一某些指令組合在流水線中重疊執(zhí)行時(shí),發(fā)生資

16、源沖突,則稱該流水線有結(jié)構(gòu)相關(guān)。15,數(shù)據(jù)相關(guān)一一當(dāng)指令在流水線中重疊執(zhí)行時(shí),流水線有可能改變指令讀/寫操作的順序,使得讀/寫操作順序不同于它們非流水實(shí)現(xiàn)時(shí)的順序,將導(dǎo)致數(shù)據(jù)相關(guān)。16,定向一一將計(jì)算結(jié)果從其產(chǎn)生的地方直接送到其他指令需要它的地方,或所有需要它的功能單元,避免暫停。RAW兩條指令i,j,i在j前進(jìn)入流水線,j執(zhí)行要用到i的結(jié)果,但當(dāng)其在流水線中重疊執(zhí)行時(shí),j可能在i寫入其結(jié)果之前就先行對(duì)保存該結(jié)果的寄存器進(jìn)行讀操作,得到錯(cuò)誤值。WAW兩條指令i,j,i在j前進(jìn)入流水線,j、i的操作數(shù)一樣,在流水線中重疊執(zhí)行時(shí),j可能在i寫入其結(jié)果之前就先行對(duì)保存該結(jié)果的寄存器進(jìn)行寫操作,導(dǎo)致寫

17、錯(cuò)誤。WAR兩條指令i,j,i在j前進(jìn)入流水線,j可能在i讀某個(gè)寄存器之前對(duì)該寄存器進(jìn)行寫操作,導(dǎo)致i讀出數(shù)據(jù)錯(cuò)誤。20,在一個(gè)時(shí)鐘周期內(nèi)能夠分時(shí)發(fā)射多條指令的處理機(jī)稱為超流水線處理機(jī)。21,在一個(gè)時(shí)鐘周期內(nèi)能夠同時(shí)發(fā)射多條指令的處理機(jī)稱為超標(biāo)量處理機(jī)。22,在一個(gè)時(shí)鐘周期內(nèi)分時(shí)發(fā)射指令m次,每次發(fā)射指令n條的處理機(jī)稱為超標(biāo)量超流水處理機(jī)。3,2簡述流水線技術(shù)的特點(diǎn)。(1)流水過程由多個(gè)相聯(lián)系的子過程組成,每個(gè)過程稱為流水線的械記II;(2)每個(gè)子過程由專用的功能段實(shí)現(xiàn);(3)各個(gè)功能段所需時(shí)間應(yīng)盡量相等,否則,時(shí)間長的功能段將成為流水線的瓶頸,會(huì)造成流水線的曲塞廂-W流it(4)流水線需要有

18、逆過時(shí)間1(第一個(gè)任務(wù)流出結(jié)果所需的時(shí)間),在此之后流水過程才進(jìn)入穩(wěn)定工作狀態(tài),每一個(gè)時(shí)鐘周期(拍)流出一個(gè)結(jié)果;(5)流水技術(shù)適合于大量重復(fù)的時(shí)序過程,只有在輸入端能連續(xù)地提供任務(wù),流水線的效率才能充分發(fā)揮。請(qǐng)畫出DL湘本流水線,并簡述其工作原理。工作原理:把一條DLX指令在5個(gè)周期內(nèi)實(shí)現(xiàn),將每一個(gè)時(shí)鐘周期看作是流水線的一個(gè)時(shí)鐘周期,硬件每個(gè)時(shí)鐘周期啟動(dòng)一條新的指令,并執(zhí)行5條不同指令中的某一部分。每條指令雖仍需5個(gè)時(shí)鐘周期完成,但提高了吞吐率,實(shí)現(xiàn)了流水。指令/時(shí)鐘123456789IFIDEXMEMWBI+1IFIDEXI+2IFIDI+3IFI+4MEMWBEXMEMWBIDEXMEM

19、WBIFIDEXMEMWB解決流水線結(jié)構(gòu)相關(guān)的方法有哪些?流水化功能單元資源重復(fù)(3)暫停流水線降低流水線分支損失的方法有哪些?(1)在流水線中盡早判斷出分支轉(zhuǎn)移是否成功;(2)盡早計(jì)算出分支轉(zhuǎn)移成功時(shí)的PC值(即分支的目標(biāo)地址)“凍結(jié)”或“排空”流水線的方法預(yù)測分支失敗預(yù)測分支成功延遲分支請(qǐng)對(duì)延遲分支辦法中的三種調(diào)度策略進(jìn)行評(píng)價(jià)。.從前調(diào)動(dòng):分支必須不依賴于被調(diào)度的指令,總是可以有效提高流水線性能。.從目標(biāo)處調(diào)度:若分支轉(zhuǎn)移失敗,必須保證被調(diào)度的指令對(duì)程序的執(zhí)行沒有影響,可能需要復(fù)制被調(diào)度指令。分支轉(zhuǎn)移成功時(shí),可提高流水線性能。但由于復(fù)制指令,可能加大程序空間。.從失敗處調(diào)度:若分支轉(zhuǎn)移成功

20、,必須保證被調(diào)度的指令對(duì)程序的執(zhí)行無影響。分支轉(zhuǎn)移失敗時(shí),可提高流水線性能。簡述三種向量處理方法,它們對(duì)向量處理機(jī)的結(jié)構(gòu)要求有什么不同?.水平處理方式:若向量長度為N,則水平處理方式相當(dāng)于執(zhí)行N次循環(huán)。若使用流水線,在每次循環(huán)中可能出現(xiàn)數(shù)據(jù)相關(guān)和功能轉(zhuǎn)換,不適合對(duì)向量進(jìn)行流水處理。.垂直處理方式:將整個(gè)向量按相同的運(yùn)算處理完畢之后,再去執(zhí)行其他運(yùn)算。適合對(duì)向量進(jìn)行流水處理,向量運(yùn)算指令的源/目向量都放在存儲(chǔ)器內(nèi),使得流水線運(yùn)算部件的輸入、輸出端直接與存儲(chǔ)器相聯(lián),構(gòu)成M-M型的運(yùn)算流水線。.分組處理方式:把長度為N的向量分為若干組,每組長度為n,組內(nèi)按縱向方式處理,依次處理各組,組數(shù)為NI適合流

21、水處理??稍O(shè)長度為n的向量寄存器,使每組nI向量運(yùn)算的源/目向量都在向量寄存器中,流水線的運(yùn)算部件輸入、輸出端與向量寄存器相聯(lián),構(gòu)成R-R型運(yùn)算流水線。3.9有一條流水線如下所示。50ns50ns100ns200ns求連續(xù)輸入10條指令,該流水線的實(shí)際吞吐率和效率;該流水線的瓶頸在哪一段?請(qǐng)采取三種不同的措施消除此飾頸L對(duì)于你所給出的新流水線,計(jì)算連續(xù)輸入10條指令時(shí),其實(shí)際吞吐率和效率。解:(1)mTpipeline=7,(n-1)/fmaxi吧二(5050100200)9200二2200(ns)TP=n丁E=TPmJ*i.|pipeline4005=TP=45.45%411(2)瓶頸在3、

22、4段。1變成八級(jí)流水線(細(xì)分)3Lpi_H2H3_1H3_2H4_1iT4_4=50ns50ns50ns50ns50ns50nsmTpipeline八%(n-1)Ltmaxi壬=508950=850(ns)TPTpipeline二185(ns)m.:tiii40010E=TP=TP=一58.82%m8172變成兩級(jí)流水線(合并)?,3-123-4一200ns200nsTpipeline一ti,(n_1):_tmaxiA二2002H-9200二2200(ns)TP=nT-=9n(nsJ)TPipeline220m、.:tiy40010E=TP一二TP-二90.91%m211=185(ns)4重復(fù)

23、設(shè)置部件TP=n/|pipelineE=4。10:10.58.82%850817總要在該段循環(huán)一次才能流到第四段。一個(gè)流水線由四段組成,其中每當(dāng)流經(jīng)第三段時(shí),如果每段經(jīng)過一次的時(shí)間都是t,問:(1)當(dāng)在流水線的輸入端每t時(shí)間輸入任務(wù)時(shí),該流水線會(huì)發(fā)生什么情況?(2)此流水線的實(shí)際吞吐率為多少?如果每24t輸入一個(gè)任務(wù),連續(xù)處理10個(gè)任務(wù)的實(shí)際吞吐率和效率是多少?10個(gè)任務(wù)時(shí),其吞吐(3)當(dāng)每段時(shí)間不變時(shí),如何提高該流水線的吞吐率?仍連續(xù)處理率提高多少?解:(1)會(huì)發(fā)生流水線阻塞情況。Instr.1stage1stage2stage3stage3stage4instr.2stage1stage2

24、stallstage3stage3stage4instr.3stage1stallstage2stallstage3stage3stage4instr.4stallstage1stallstage2stallstage3stage3stage4(2)0t1t2t3t4t5tInstr.1stagelstage2stage3stage3stage4instr.2stagelstage2stage3stage3instr.3stagelstage26t7t8tstage4stage3stage3stage423t23tTPmax12.:tpipeline=23:tTP=nTpipeline=102

25、3.:tAE=TP5At/=5%2定54.35%ti(i=1,2,,m),現(xiàn)在有n個(gè)任務(wù)需要(2)和非流水線實(shí)現(xiàn)相比,這解:(1)如果流水線有m段,各段的處理時(shí)間分別是完成,且每個(gè)任務(wù)均需流水線各段實(shí)現(xiàn),請(qǐng)計(jì)算:(1)流水線完成這n個(gè)任務(wù)所需要的時(shí)間;n個(gè)任務(wù)流水實(shí)現(xiàn)的加速比是多少?加速比的峰值是多少?mTpipeline=ti;(n一1)tmaxi1(2)mTnopipeline二ntii=1tiTnopipeliSpeeduppipelinem,、.9(n-1)tmaxiW=t0)Speedupmaxm1nzmn1(ti(n土m,Speedupm)3.12在改進(jìn)的DLX流水線上運(yùn)行如下代碼

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

27、采用預(yù)測分支失敗的策略處理分支指令,且所有的存儲(chǔ)器訪問都可以命中Cache,那么執(zhí)行上述循環(huán)需要多少個(gè)時(shí)鐘周期?(3)假設(shè)該DLX流水線有正常的定向路徑,請(qǐng)對(duì)該循環(huán)中的指令進(jìn)行調(diào)度。注意可以重新組織指令的順序,也可以修改指令的操作數(shù),但是不能增加指令的條數(shù)。請(qǐng)畫出該指令序列執(zhí)行的流水線時(shí)空?qǐng)D,并計(jì)算執(zhí)行上述循環(huán)需要的時(shí)鐘周期數(shù)?解:(1)寄存器讀寫可以定向,無其他旁路硬件支持。排空流水線。Instruction78910111213141516171819202122lwr1,0(r2)IFIDaddir1,r1,#1IFswr1,0(r2)addir2,r2,#4subr4,r3,r2bnz

28、r4,looplwr1,0(r2)EXMWBSSIDEXMIFSSWBIDEXMWBIFIDEXMWBIFSSIDEXMIFSSWBIDEXMWBIFSSIFIDEXMWB第i次迭代(i=0.98)開始周期:1+(ix17)總的時(shí)鐘周期數(shù):(98X17)+18=1684(2)有正常定向路徑,預(yù)測分支失敗。Instruction1234567891011lwr1,0(IFIDEXMWBaddir1,r1,#1IFIDSEXMWBswr1,0(IFSIDEXMWBaddir2,r2,#4IFIDEXMWBsubr4,r3,r2IFIDEXMWBbnzr4,loopIFIDEXMWBIwr1,0(r

29、2)IFmissmissIFIDEXMWB第i次迭代(i=0.98)開始周期:1+(ix10)總的時(shí)鐘周期數(shù):(98X10)+11=991(3)有正常定向路徑。單周期延遲分支。Loop:lwr1,0(r2)addir2,r2,#4addir1,r1,#1subr4,r3,r2bnzr4,loopswr1,-4(r2)第i次迭代(i=0.98)開始周期:1+(iX6)總的時(shí)鐘周期數(shù):(98X6)+10=598Instruction1234567891011lwr1,0(r2)IFIDEXMWBaddir2,r2,#4IFIDEXMWBaddir1,r1,#1IFIDEXMWBsubr4,r3,r

30、2IFIDEXMWBbnzr4,loopIFIDEXMWBswr1,-4(r2)IFIDEXMWBlwr1,0(r2)IFIDEXMWB第五章存儲(chǔ)層次.存儲(chǔ)層次一一采用不同的技術(shù)實(shí)現(xiàn)的存儲(chǔ)器,處在離CPU不同距離的層次上,目標(biāo)是達(dá)到離CPU最近的存儲(chǔ)器的速度,最遠(yuǎn)的存儲(chǔ)器的容量。.全相聯(lián)映象一一主存中的任一塊可以被放置到Cache中任意一個(gè)地方。.直接映象一一主存中的每一塊只能被放置到Cache中唯一的一個(gè)地方。.組相聯(lián)映象主存中的每一塊可以放置到Cache中唯一的一組中任何一個(gè)地方(Cache分成若干組,每組由若干塊構(gòu)成)。.替換算法一一由于主存中的塊比Cache中的塊多,所以當(dāng)要從主存中調(diào)

31、一個(gè)塊到Cache中時(shí),會(huì)出現(xiàn)該塊所映象到的一組(或一個(gè))Cach啾已全部被占用的情況。這時(shí),需要被迫騰出其中的某一塊,以接納新調(diào)入的塊。.LRU一一選擇最近最少被訪問的塊作為被替換的塊。實(shí)際實(shí)現(xiàn)都是選擇最久沒有被訪問的塊作為被替換的塊。.寫直達(dá)法一一在執(zhí)行寫操作時(shí),不僅把信息寫入Cache中相應(yīng)的塊,而且也寫入下一級(jí)存儲(chǔ)器中相應(yīng)的塊。.寫回法一一只把信息寫入Cache中相應(yīng)塊,該塊只有被替換時(shí),才被寫回主存。.按寫分配法一一寫失效時(shí),先把所寫單元所在的塊調(diào)入Cache,然后再進(jìn)行寫入。.不按寫分配法一一寫失效時(shí),直接寫入下一級(jí)存儲(chǔ)器中,而不把相應(yīng)的塊調(diào)入Cache。.命中時(shí)間訪問Cache#

32、中時(shí)所用的時(shí)間。.失效率一一CPU訪存時(shí),在一級(jí)存儲(chǔ)器中找不到所需信息的概率。.失效開銷一一CPU向二級(jí)存儲(chǔ)器發(fā)出訪問請(qǐng)求到把這個(gè)數(shù)據(jù)調(diào)入一級(jí)存儲(chǔ)器所需的時(shí)間。.強(qiáng)制性失效一一當(dāng)?shù)谝淮卧L問一個(gè)塊時(shí),該塊不在Cache中,需要從下一級(jí)存儲(chǔ)器中調(diào)入Cache,這就是強(qiáng)制性失效。.容量失效一一如果程序在執(zhí)行時(shí),所需要的塊不能全部調(diào)入Cache中,則當(dāng)某些塊被替換后又重新被訪問,就會(huì)產(chǎn)生失效,這種失效就稱作容量失效。.沖突失效在組相聯(lián)或直接映象Cache中,若太多的塊映象到同一組(塊)中,則會(huì)出現(xiàn)該組中某個(gè)塊被別的塊替換(即使別的組或塊有空閑位置),然后又被重新訪問的情況。.相聯(lián)度在組相聯(lián)中,每組Ca

33、che中的塊數(shù)。.VictimCache位于Cache和存儲(chǔ)器之間的又一級(jí)Cache,容量小,采用全相聯(lián)策略。用于存放由于失效而被丟棄(替換)的那些塊。每當(dāng)失效發(fā)生時(shí),在訪問下一級(jí)存儲(chǔ)器之前,先檢查VictimCache中是否含有所需塊。.偽相聯(lián)Cache-一種既能獲得多路組相聯(lián)Cache的低失效率,又能獲得直接映象Cache的命中速度的相聯(lián)辦法。.故障性預(yù)取一一在預(yù)取時(shí),若出現(xiàn)虛地址故障或違反保護(hù)權(quán)限,就會(huì)發(fā)生異常。.非故障性預(yù)取一一在預(yù)取時(shí),若出現(xiàn)虛地址故障或違反保護(hù)權(quán)限,不發(fā)生異常。.非阻塞CacheCache在等待預(yù)取數(shù)據(jù)返回時(shí),還能繼續(xù)提供指令和數(shù)據(jù)。.子塊放置技術(shù)把一個(gè)Cach啾劃

34、分為若干小塊,稱為子塊(sub-blocks),并為每個(gè)子塊賦予一位有效值,用于說明該子塊中的數(shù)據(jù)是否有效。失效時(shí),只需從下一級(jí)存儲(chǔ)器調(diào)入一個(gè)子塊。.盡早重啟動(dòng)一一在請(qǐng)求字沒有到達(dá)時(shí),CPU處于等待狀態(tài)。一旦請(qǐng)求字到達(dá),就立即發(fā)送給CPU,讓等待的CPU盡早重啟動(dòng),繼續(xù)執(zhí)行。.請(qǐng)求字優(yōu)先一一調(diào)塊時(shí),首先向存儲(chǔ)器請(qǐng)求CPU所要的請(qǐng)求字。請(qǐng)求字一旦到達(dá),就立即送往CPU,讓CPU繼續(xù)執(zhí)行,同時(shí)從存儲(chǔ)器調(diào)入該塊的其余部分。.多級(jí)包容性一一一級(jí)存儲(chǔ)器(Cache)中的數(shù)據(jù)總位于下一級(jí)存儲(chǔ)器中。.虛擬Cache地址使用虛地址的Cache。5.2簡述Cache一主存”和生存一輔存”層次的區(qū)別。存儲(chǔ)層次比較

35、項(xiàng)目-Cache主存層次T存一輔存層次目的為了彌補(bǔ)生存速度的不足為了彌補(bǔ)主存容量的不足存儲(chǔ)管理實(shí)現(xiàn)全部曲專用硬件實(shí)現(xiàn)主要由軟件實(shí)現(xiàn)訪問速度的比值(A級(jí)比第二級(jí))幾比一幾百比一典型的塊(頁)大小幾十個(gè)字節(jié)幾百到幾千個(gè)字節(jié)CPU對(duì)第二級(jí)的訪問方式可直接訪問均通過第一級(jí)失效時(shí)CPU是否切換不切換切換到其它進(jìn)程3降低Cached效率有哪幾種方法?簡述其基本思想。常用的降低Cached效率的方法有下面幾種:增加Cache塊大小。增加塊大小利用了程序的空間局部性。提高相聯(lián)度,降低沖突失效。VictimCache,降低沖突失效。偽相聯(lián)Cache,降低沖突失效。硬件預(yù)取技術(shù),指令和數(shù)據(jù)都可以在處理器提出訪問請(qǐng)

36、求前進(jìn)行預(yù)取。由編譯器控制的預(yù)取,硬件預(yù)取的替代方法,在編譯時(shí)加入預(yù)取的指令,在數(shù)據(jù)被用到之前發(fā)出預(yù)取請(qǐng)求。編譯器優(yōu)化,通過對(duì)軟件的優(yōu)化來降低失效率。5.4簡述減小Cached效的幾種方法。讓讀失效優(yōu)先于寫。子塊放置技術(shù)。請(qǐng)求字處理技術(shù)。非阻塞Cache技術(shù)。采用兩級(jí)Cache在Cache一主存”層次中,主存的更新算法有哪幾種?它們各有什么特點(diǎn)?寫直達(dá)法易于實(shí)現(xiàn),而且下一級(jí)存儲(chǔ)器中的數(shù)據(jù)總是最新的。寫回法速度塊,氣操作能以Cache存儲(chǔ)器的速度進(jìn)行。而且對(duì)于同一單元的多個(gè)寫最后只需一次寫回下一級(jí)存儲(chǔ)器,有些f只到達(dá)Cache,不到達(dá)主存,因而所使用的存儲(chǔ)器頻帶較低。組相聯(lián)Cache比相同容量的

37、之直接映象Cache的失效率低。由此是否可以得出結(jié)論:采用組相聯(lián)Cache一定能帶來性能上的提高?為什么?答:不一定。因?yàn)榻M相聯(lián)命中率的提高是以增加命中時(shí)間為代價(jià)的,組相聯(lián)需要增加多路選擇開關(guān)。寫出三級(jí)Cache的平均訪問時(shí)間Ta的公式。平均訪存時(shí)間=命中時(shí)間+失效率x失效開銷只有第I層的失效時(shí)才會(huì)訪問第I+1設(shè)三級(jí)Cache的命中率分別為H|_i、H|2、HL3,失效率分別為Mi、M2、M_3,第三級(jí)Cache的失效開銷為P|_3。平均訪問時(shí)間Ta=H|_1+MiH|2+M2(H|_3+M_3XPL3)給定以下的假設(shè),5.10試計(jì)算直接映象Cache和兩路組相聯(lián)Cache的平均訪問時(shí)間以及C

38、PU的性能。由計(jì)算結(jié)果能得出什么結(jié)論?理想Cache情況下的CPI為2.0,時(shí)鐘周期為2ns,平均每條指令訪存1.2次;兩者Cache容量土勻?yàn)?4KB,塊大小都是32字節(jié);組相聯(lián)Cache中的多路選擇器使CPU的時(shí)鐘周期增加了10%;這兩種Cache的失效開銷都是80ns;命中時(shí)間為1個(gè)時(shí)鐘周期;64KB直接映象Cache的失效率為1.4%,64KB兩路組相聯(lián)Cache的失效率為1.0%。解:平均訪問時(shí)間=命中時(shí)間+失效率x失效開銷平均訪問時(shí)間1-路=2.0+1.4%*80=3.12ns平均訪問時(shí)間2-路=2.0*(1+10%)+1.0%*80=3.0ns兩路組相聯(lián)的平均訪問時(shí)間比較低CPU

39、tim產(chǎn)(CPU執(zhí)行+存儲(chǔ)等待周期)*時(shí)鐘周期CPUtime=IC(CPI執(zhí)行+總失效次數(shù)/指令總數(shù)*失效開銷)*時(shí)鐘周期=IC(CPI執(zhí)彳時(shí)鐘周期)+(每條指令的訪存次數(shù)*失效率*失效開銷*時(shí)鐘周期)CPUtime1-way=IC(2.0*2+1.2*0.014*80)=5.344ICCPUtime2-way=IC(2.2*2+1.2*0.01*80)=5.36ICCPUtime工way相對(duì)性能比:CPUtimeaway5.36/5.344=1,003直接映象cache的訪問速度比兩路組相聯(lián)cache要快1.04倍,而兩路組相聯(lián)Cache的平均性能比直接映象cache要高1.003倍。因此這里選擇兩路組相聯(lián)。6輸入輸出系統(tǒng)假設(shè)一臺(tái)at算機(jī)的I/O處理占10%,當(dāng)其CPU性能改進(jìn)到原來的100倍時(shí),而I/O性能僅改進(jìn)為原來的兩倍時(shí),系統(tǒng)總體性能會(huì)有什么改進(jìn)?1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論