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

下載本文檔

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

文檔簡介

1、計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(張晨曦) 題目匯總2011-01-10 10:25:01| 分類: HYPERLINK http:/wuzhaoqi597./blog/#m=0&t=1&c=fks_084067087095088074080087082095085082081068093086082065086計(jì)算機(jī)日志 | 標(biāo)簽:HYPERLINK http:/wuzhaoqi597./blog/#m=0&t=3&c=計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(張晨曦)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(張晨曦) |字號 華南師范大學(xué)計(jì)算機(jī)學(xué)院榮譽(yù)出品1、多處理機(jī)結(jié)構(gòu)的特點(diǎn)是什么?多處理機(jī)實(shí)現(xiàn)并行的主要類型是哪種?多機(jī)系統(tǒng)的耦合度有哪些分類? 書上找不到

2、答案:多處理機(jī)系統(tǒng)的特點(diǎn): 1. 結(jié)構(gòu)靈活, 程序并行性,3. 并行任務(wù)派生4. 進(jìn)程同步5. 資源分配和進(jìn)程調(diào)度P26:多處理機(jī)的隅合度分為緊密耦合和松散耦合兩大類:緊密耦合系統(tǒng)又稱直接耦合系統(tǒng)。在這種系統(tǒng)中,計(jì)算機(jī)之間的物理連接的帶寬比較高,一般是通過總線或高速開關(guān)互連,可以共享主存。由于具有較高的信息傳輸率,因而可以快速地并行處理多個(gè)作業(yè)或任務(wù)。松散耦合系統(tǒng)又稱間接耦合系統(tǒng),一般是通過通道或通信線路實(shí)現(xiàn)計(jì)算機(jī)之間的互連,可以共享外存設(shè)備(磁盤、磁帶等)。2、同構(gòu)型多處理機(jī)和異構(gòu)型多處理機(jī)的特點(diǎn)是什么?它們所采用的提交并行性的技術(shù)途徑有哪些? P:26 異構(gòu)型多處理機(jī)系統(tǒng)由多個(gè)不同類型、至

3、少負(fù)擔(dān)不同功能的處理機(jī)組成,它們按照作業(yè)要求的順序,利用時(shí)間重疊原理,依次對它們的多個(gè)任務(wù)進(jìn)行加工,各自完成規(guī)定的功能動作。同構(gòu)型處理機(jī)系統(tǒng)由多個(gè)類型或至少負(fù)擔(dān)同等功能的處理機(jī)組成,它們同時(shí)處理同一作業(yè)中能并行執(zhí)行的多個(gè)任務(wù)。3、跳轉(zhuǎn)與分支的定義及作用? P:36 當(dāng)指令是無條件改變控制流時(shí),稱之為跳轉(zhuǎn)指令;而當(dāng)指令是有條件改變控制流時(shí),則稱之為分支指令。 作用:用來改變控制流。4、指令系統(tǒng)編碼格式有哪些?(P41圖2.8)(a)變長編碼格式操作碼地址描述符1地址碼1地址描述符n地址碼n(b)固定長度編碼格式操作碼地址碼1地址碼2地址碼3(c)混合型編碼格式操作碼地址描述符地址碼 操作碼地址描

4、述符1地址描述符2地址碼 操作碼地址描述符地址碼1地址碼2 5、什么是流水線的深度?該指標(biāo)是否越大越好?為什么? 流水線中的每個(gè)子過程及其功能部件稱為流水線的級或段,流水線的段數(shù)稱為流水線的深度。(題解P44)不是。流水線深度的增加可以讓處理器時(shí)鐘頻率進(jìn)一步提高,但帶來的反面影響就是處理器的單周期執(zhí)行效率降低、發(fā)熱量上升,同時(shí)容易產(chǎn)生分支預(yù)測等問題 6、流水線的瓶頸的定義?一般來說,產(chǎn)生瓶頸的原因是什么?流水線中各段的時(shí)間應(yīng)盡可能相等,否則講引起流水線堵塞和斷流,因?yàn)闀r(shí)間最長的段將成為流水線的瓶頸。(P54) 7、流水線的最大吞吐率是如何定義的?影響線性流水線最大吞吐率有哪些?答:當(dāng)任務(wù)數(shù)趨向

5、無限大時(shí),吞吐率的極限即是最大吞吐率(書上沒具體定義,這是個(gè)人的理解)。流水線的最大吞吐率由時(shí)間最長的那個(gè)段決定。(P59) 8、延遲分支方法有哪幾種策略?各個(gè)策略的主要思想是什么?答:向前調(diào)度、從目標(biāo)處調(diào)度、從失敗處調(diào)度。向前調(diào)度:它把位于分支指令之前的一條獨(dú)立的指令移到延遲槽。從目標(biāo)處調(diào)度:把目標(biāo)處的指令拷貝到延遲槽。同時(shí),還要修改分支指令的目標(biāo)地址。從目標(biāo)處調(diào)度實(shí)際上是猜測了分支是成功的。從失敗處調(diào)度:當(dāng)猜測錯(cuò)誤時(shí),要保證調(diào)度到延遲槽中的指令的執(zhí)行不會影響程序的正確性。(P82) 9.什么是向量指令的一個(gè)編隊(duì)?編隊(duì)有什么優(yōu)點(diǎn)?答:我們把能在同一個(gè)時(shí)鐘周期內(nèi)一起開始執(zhí)行的幾條向量指令稱為一

6、個(gè)編隊(duì)。(P103)同一個(gè)編隊(duì)中的向量指令之間一定不存在流水功能部件的沖突、Vi沖突或數(shù)據(jù)的相關(guān)性。 10、在向量流水處理機(jī)上,向量指令序列執(zhí)行的特點(diǎn)是什么?編隊(duì)執(zhí)行時(shí)間如何確定?我們把能在同一時(shí)鐘周期內(nèi)一起開始執(zhí)行的幾條向量指令稱為一個(gè)編隊(duì)。同一編隊(duì)中的向量指令之間不存在流水功能部件的沖突、i沖突或數(shù)據(jù)的相關(guān)性。編隊(duì)后,這個(gè)微量指令序列的總的執(zhí)行時(shí)間為各編隊(duì)的執(zhí)行時(shí)間的和,即: (書本P103) 11、“主存輔存”層次的目的是什么?“cache主存”層次的目的是什么?“主存輔存”層次的目的是為了彌補(bǔ)主存容量的不足。(書本192)“cache主存”層次的目的是為了彌補(bǔ)主存速度的不足 12、在“

7、Cache主存”層次中,CPU的訪存地址分為哪幾部分?CPU是按塊進(jìn)行管理的。Cache和主存均被分割成大小相同的塊。信息是以塊為單位調(diào)入Cache。相應(yīng)地,CPU的訪存地址被分割成兩部分:塊地址和塊內(nèi)位移。 13、cache存儲器采用組相聯(lián)映像的基本原理是什么?答:cache存儲器采用組相聯(lián)映像是指組間直接映像,組內(nèi)各塊之間是全相聯(lián)映像。 14、增加塊大小的方法在降低不命中率以及提高相聯(lián)度等方面的特點(diǎn)是什么?答:增加塊大小的方法在降低不命中率的同時(shí)會增加不命中開銷,而提高相聯(lián)度會增加命中時(shí)間。 15、消息傳遞機(jī)器的原理是什么?答:在消息傳遞機(jī)制中,消息一般是由若干個(gè)包組成,包的長度是固定的,

8、但一條消息中所包含的包的個(gè)數(shù)可變的。包又可以進(jìn)一步分成一些更小的固定長度的單位,稱為片。消息尋徑方式可以分為線路交換和包交換兩大類。包交換又分為存儲轉(zhuǎn)發(fā)、虛擬直通和蟲蝕3種方式。 16、從計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)來看,機(jī)器語言程序員看到機(jī)器屬性是什么?屬性是編程要用到的硬件組織。(習(xí)題冊P10、1.3習(xí)題,選擇題1.6) 17、流水處理機(jī),多處理機(jī),陣列處理機(jī),機(jī)群系統(tǒng)能夠?qū)崿F(xiàn)并行處理嗎?它們的工作原理是什么?它們都能夠?qū)崿F(xiàn)并行處理。流水處理機(jī)原理:利用流水線技術(shù)(將一個(gè)重復(fù)的時(shí)序過程,分解成為若干子過程,而每一個(gè)子過程都可有效地在其專用功能段上與其他子過程同時(shí)執(zhí)行)處理計(jì)算機(jī)任務(wù)的處理機(jī)。(自己概括的

9、)多處理機(jī)原理:具有多個(gè)處理機(jī)的計(jì)算機(jī)。(百度百科)陣列處理機(jī)原理: 其核心是由多個(gè)處理單元構(gòu)成的陣列,用單一的控制部件來控制多個(gè)處理單元對各自的數(shù)據(jù)進(jìn)行相同的運(yùn)算和操作(習(xí)題冊P250)機(jī)群系統(tǒng)原理:有多臺同構(gòu)或異構(gòu)的的獨(dú)立計(jì)算機(jī)通過高性能網(wǎng)絡(luò)連接在一起而構(gòu)成的高性能并行計(jì)算機(jī)系統(tǒng)。構(gòu)成機(jī)群的計(jì)算機(jī)都有自己獨(dú)立的存儲器、IO設(shè)備和操作系統(tǒng),他們在機(jī)群操作系統(tǒng)的控制下協(xié)同完成特定的并行計(jì)算任務(wù)。(習(xí)題冊P241) 18、信息按整數(shù)邊界存儲的主要優(yōu)點(diǎn)有哪些?為了避免出現(xiàn)一個(gè)信息字被截?cái)啻鎯υ趦蓚€(gè)存儲字中的情況,可以要求信息寬度不超過主存寬度的信息必須存儲在一個(gè)存儲字內(nèi),不能跨邊界。(習(xí)題冊P25

10、) 19、RISC執(zhí)行程序的速度比CISC要快的原因?采用寄存器窗口重疊技術(shù)對于RISC有何好處?RISC執(zhí)行程序的速度比CISC要快是因?yàn)镽ISC指令平均執(zhí)行周期數(shù)較少。好處:大大減少了程序調(diào)用引起的訪存次數(shù)P32 20、線性流水線、動態(tài)流水線、靜態(tài)流水線的特點(diǎn)是什么?線性流水線:各段串行連接,沒有反饋回路,數(shù)據(jù)通過流水線各段時(shí),每段最多只流過一次動態(tài)流水線:指同一時(shí)間內(nèi),多功能流水線中的各段可以按照不同的方式連接,同時(shí)執(zhí)行多種功能的流水線。它允許某些段正在實(shí)現(xiàn)某種運(yùn)算時(shí),另一些段在實(shí)現(xiàn)另一種運(yùn)算。靜態(tài)流水線:同一時(shí)間內(nèi),多功能流水線中的各段只能按同一種功能的的連接方式工作。當(dāng)流水線要切換另

11、一種功能時(shí),必須等到前面的任務(wù)都流出流水線之后,才能改變連接(P61,根據(jù)定義回答的) 21、程序的局部性原理的定義是什么?它又分哪些局部性?這些局部性各有什么特點(diǎn)?(P10,名詞解釋或填空題)程序的局部性原理是指程序執(zhí)行時(shí)所訪問的存儲器地址不是隨機(jī)分布的,而是相對地簇聚。局部性原理包括時(shí)間局部性和空間局部性。時(shí)間局部性是指:程序即將用到的信息很可能就是目前正在使用的信息??臻g局部性是指:程序即將用到的信息很可能與目前正在使用的信息在空間上相鄰或者鄰近。 22、指令系統(tǒng)的完整性與正交性是如何進(jìn)行定義的?習(xí)題冊P34 2.4.1答:完整性:在一個(gè)有限可用的存儲空間內(nèi),對于任何可解的問題,編制計(jì)算

12、機(jī)程序時(shí),指令系統(tǒng)提供的指令足夠使用.正交性:指在指令中各個(gè)不同含義的字段,如操作類型,數(shù)據(jù)類型,尋址方式字段等,在編碼時(shí)應(yīng)互不相關(guān),相互獨(dú)立. 23、排空時(shí)間指的是那段時(shí)間?習(xí)題冊P60答:流水線中最后一個(gè)任務(wù)從進(jìn)入流水線到流出結(jié)果所需懂得時(shí)間 24、流水線沖突是如何定義的? 習(xí)題冊P61答:指對于具體的流水線來說,由于相關(guān)的存在,使得指令流的下一條指令不能在指定的時(shí)鐘周期開始執(zhí)行 25、分段開采技術(shù),循環(huán)開采技術(shù),鏈接技術(shù)的定義分別是什么?答:分段開采技術(shù)(循環(huán)開采技術(shù))當(dāng)向量長度大于向量寄存器的長度時(shí),必須把長向量分成長度固定的段,然后循環(huán)分段處理,每一次循環(huán)只處理一個(gè)向量段。 鏈接技術(shù)

13、當(dāng)前一個(gè)向量功能部件長生第一個(gè)結(jié)果并送到結(jié)果向量寄存器的入口時(shí),將該結(jié)果立即送往下一個(gè)功能部件的入口,開始后續(xù)的向量處理操作。 26、采用動態(tài)分支預(yù)測技術(shù)的目的是什么?在所采用的方法中,需要解決哪些關(guān)鍵問題?答:目的有兩個(gè):分支預(yù)測是否成功和盡快找到分支目標(biāo)地址(或指令),從而避免控制相關(guān)造成流水線停頓。需要解決的兩個(gè)關(guān)鍵問題:如何記錄分支的歷史信息;如何根據(jù)這些信息來預(yù)測分支的去向,甚至提前取出分支目標(biāo)地址(或指令)。 27、基于硬件的前瞻執(zhí)行是把哪三種思想結(jié)合在一起的?答:(1)動態(tài)分支預(yù)測。用來選擇后續(xù)執(zhí)行的指令。 (2)在控制相關(guān)的結(jié)果尚未出來之前,前瞻地執(zhí)行后續(xù)指令。 (3)用動態(tài)調(diào)

14、度的基本快=塊的各種組合進(jìn)行跨基本塊的調(diào)度。 28、指令多流出處理器的流出能力受哪些因素的影響?P148程序所固有的指令級并行性。硬件實(shí)現(xiàn)上困難。超標(biāo)量和超長指令字處理器固有的技術(shù)限制。其中,第一個(gè)限制是最簡單的也是最根本的因素。第二個(gè)限制,是多留出的處理器需要大量的硬件資源。(其他剩下的都是浮云,請明察) 29、什么是共享數(shù)據(jù)的遷移和復(fù)制?這么做的原因是什么?共享數(shù)據(jù)的遷移是把遠(yuǎn)程的共享數(shù)據(jù)項(xiàng)拷貝放在本處理器局部的Cache中使用,從而降低了對遠(yuǎn)程共享數(shù)據(jù)的訪問延遲。共享數(shù)據(jù)的復(fù)制是把多個(gè)處理器需要同時(shí)讀取的共享數(shù)據(jù)項(xiàng)的拷貝放在各自局部Cache中使用,復(fù)制不僅降低了訪存的延遲,也減少了訪問

15、共享數(shù)據(jù)所產(chǎn)生的沖突。共享數(shù)據(jù)的遷移和復(fù)制對于提高訪問共享數(shù)據(jù)的性能來說是非常重要的。30、增加塊大小導(dǎo)致Cache不命中率先下降后上升的原因是什么? P208-209導(dǎo)致不命中率先下降后上升的原因,在于增加塊大小會產(chǎn)生雙重作用。(1)增強(qiáng)了空間局部性,減少了強(qiáng)制性不命中。(2)減少了Cache中塊的數(shù)目,所以有可能會增加沖突不命中。在塊大小比較小的情況下,上述的第一種作用超過第二種作用,從而使不命中率下降。但等到塊大小較大時(shí),第二種作用超過了第一種作用,就反而使不命中率上升了。 31、降低cache不命中率有哪幾種方法?簡述其基本思想?(題解:P158 題7.37 題型:問答題)答:常用的降

16、低cache不命中率的方法有下面幾種: (1)、增加cache塊大小,增加塊大小利用了程序的空間局部性。 (2)、增加cache的容量。 (3)、提高相聯(lián)度,降低沖突不命中。 (4)、偽相聯(lián)cache,降低沖突不命中。當(dāng)對偽相聯(lián)cache進(jìn)行訪問時(shí),首先是按與直接映像相同的方式進(jìn)行訪問。如果命中,則從相應(yīng)的塊中取出所訪問的數(shù)據(jù),送給CPU,訪問結(jié)束。如果不命中,就將索引字段的最高位取反,然后按照新索引去尋找“偽相聯(lián)組”中的對應(yīng)塊。如果這一塊的標(biāo)識匹配,則稱發(fā)生了“偽命中”。否則,就訪問下一級存儲器。 (5)、硬件預(yù)取技術(shù)。指令和數(shù)據(jù)都可以在處理器提出訪問請求前進(jìn)行預(yù)取。 (6)、由編譯器控制的

17、預(yù)取。硬件預(yù)取的替代方法,在編譯時(shí)加入預(yù)取的指令,在數(shù)據(jù)被用到之前發(fā)出預(yù)取請求。 (7)、編譯器優(yōu)化。通過對軟件的優(yōu)化來降低不命中率。 (8)、“犧牲”cache。在cache和其下一級存儲器的數(shù)據(jù)通路之間增設(shè)一個(gè)全相聯(lián)的小cache,存放因沖突而被替換出去的那些塊。每當(dāng)發(fā)生不命中時(shí),在訪問下一級存儲器之前,先檢查“犧牲”cache中是否含有所需的塊。如果有,就將該塊與cache中某個(gè)塊做交換,把所需的塊從“犧牲”cache調(diào)入cache。32、簡述減小Cache不命中開銷的幾種方法?(題解:P158 題7.38 題型:問答題)答 (1)、讓讀不命中優(yōu)先于寫。 (2)、寫緩沖合并。 (3)、請

18、求字處理技術(shù)。 (4)、非阻塞cache或非鎖定cache技術(shù)。 (5)、采用二級cache。33.通過編譯器對程序優(yōu)化來改進(jìn)Cache性能的方法有哪種?簡述其基本思想。(題解: P158 題7.41 題型:問答題)答 (1)、數(shù)組合并。通過提高空間局部性來減少不命中次數(shù)。有些程序同時(shí)用相同的索引來訪問若干個(gè)數(shù)組的同一維,這些訪問可能會相互干擾,導(dǎo)致沖突不命中。可以將這些相互獨(dú)立的數(shù)組合并成一個(gè)復(fù)合數(shù)組,使得一個(gè)cache塊中能包含全部所需元素。 (2)、內(nèi)外循環(huán)交換。循環(huán)嵌套時(shí),程序沒有按數(shù)據(jù)在存儲器中的順序訪問。只要簡單地交換內(nèi)外循環(huán),就能使程序按數(shù)據(jù)在存儲器中的存儲順序進(jìn)行訪問。 (3)

19、、循環(huán)融合。有些程序含有幾部分獨(dú)立的程序段,他們用相同的循環(huán)訪問同樣的數(shù)組,對相同的數(shù)據(jù)作不同的運(yùn)算。通過將它們?nèi)诤铣梢粋€(gè)單一循環(huán),能使讀入cache的數(shù)據(jù)被替換出去之前得到反復(fù)的使用。 (4)、分塊。通過改進(jìn)時(shí)間局部性來減少不命中。分塊不是對數(shù)組的整行或整列進(jìn)行訪問,而是對子矩陣或塊進(jìn)行操作。34、在設(shè)計(jì)Cache時(shí)并非都采用虛擬Cache,為什么?虛擬Cache有什么作用?(“原因”:題解: P158 題7.46 ;“作用”: 課本: P220 第一段 題型:問答題)答 原因: (1)、每當(dāng)進(jìn)行進(jìn)程切換時(shí),由于新進(jìn)程的虛擬地址(有可能與原進(jìn)程的相同)所指向的物理空間與原進(jìn)程的不同,故需要清

20、空cache。 (2)、操作系統(tǒng)和用戶程序?qū)τ谕粋€(gè)物理地址可能采用兩種以上不同形式的虛擬地址來訪問。他們可能會導(dǎo)致同一個(gè)數(shù)據(jù)在虛擬cache中存在兩個(gè)副本。 作用: 虛擬cache是指可以直接用虛擬地址進(jìn)行訪問的cache,其標(biāo)識存儲器中存放的是虛擬地址,地址檢測用的也是虛擬地址。在命中時(shí)不需要地址轉(zhuǎn)換,省去地址轉(zhuǎn)換的時(shí)間。另外,即使不命中,地址轉(zhuǎn)換和訪問cache是并行進(jìn)行的,其速度比物理cache快很多。35、主存地址,邏輯地址,物理地址以及有效地址有什么關(guān)系?程序員編寫程序時(shí),使用的訪存地址是什么?(題解:P156 題7.2 選擇題) 程序員編寫程序時(shí),使用的訪存地址是邏輯地址。36、

21、單體多字存儲器,多體存儲器各有什么作用?單級存儲器的主要矛盾是什么?(題解:P147 、 P156 題7.29)在相同的器件條件下,如果要提高主存的帶寬,可以采用這兩種并行存儲器結(jié)構(gòu):單體多字存儲器和多體交叉存儲器。單體多字并行存儲器實(shí)現(xiàn)簡單,但訪存效率不高,而多體交叉存儲器由多個(gè)單字存儲體構(gòu)成,每個(gè)體都有自己的地址寄存器以及地址譯碼和讀寫驅(qū)動等電路。單級存儲器的主要矛盾有(1)速度越快,每位價(jià)格就越高;(2)容量越大,每位價(jià)格就越低;(3)容量越大,速度越慢。37、超標(biāo)量的定義。(題解:P100 題5.1)一種多指令流出技術(shù)。它在每個(gè)時(shí)鐘周期流出多余的指令,但指令的條數(shù)不固定,依代碼的具體情

22、況而定,但有個(gè)上限。38、提高向量處理機(jī)的性能有哪些方法?(題解:P74)為了提高向量處理機(jī)的性能,可采用多種方法。設(shè)置多個(gè)功能部件,使它們并行工作;采用連接技術(shù),加快一串向量指令的執(zhí)行;采用循環(huán)開采技術(shù),加快循環(huán)的處理;采用多處理機(jī)系統(tǒng),進(jìn)一步提高性能。39、非線性流水線的突出特點(diǎn)是什么?(課本P57 題型:填空和選擇)答:突出特點(diǎn)是:有反饋回路。40、什么是MIPS?在MIPS的指令流水線中,可能發(fā)生的沖突有哪些?(題解P56 題3.6 題型:選擇題)答:(1)一種基于RISC結(jié)構(gòu)的微型處理器出處:課本P47中間 題型:填空或簡答題。(2)先流入的指令的寫操作與后流入的指令的讀操作之間的寫

23、后讀沖突。41、“由中間開始設(shè)計(jì)”的“中間”目前多指那些?(題解:P12 題1.31 題型:問答題)答:指多級層次結(jié)構(gòu)中的軟硬件交界面,即傳統(tǒng)機(jī)器級與操作系統(tǒng)機(jī)器級之間。42、計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)定義是什么?(課本 P3)(題解 P14 名詞解析題)答:計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)是指傳統(tǒng)機(jī)器語言程序員所看到的計(jì)算機(jī)屬性,即概念性結(jié)構(gòu)與功能特性。43、操作碼優(yōu)化的主要目的是什么?(題解P31 選擇題)答:縮短指令字長;減少程序總位數(shù);增加指令字表示的信息。44、編碼的分類有哪些?平均碼長最短的編碼是什么?(題解P32 選擇題)(課本P38P40)答:共三種:哈夫曼編碼、等長擴(kuò)展碼、等長操作碼。平均碼長最短的編碼是

24、哈夫曼編碼。45.面向目標(biāo)程序優(yōu)化的思想是什么?減少程序的執(zhí)行時(shí)間,并減少程序所占用的空間,即對大量的目標(biāo)程序及其執(zhí)行情況進(jìn)行統(tǒng)計(jì)分析,找出哪些使用頻率高、執(zhí)行時(shí)間長的指令或指令串;對于使用頻率高的指令,使用硬件加快其執(zhí)行,對于使用頻率高的指令串,用一條新的指令來代替。46.系列機(jī)是什么?它對計(jì)算機(jī)發(fā)展的意義?系列機(jī)軟件兼容的基本要求是什么?系列機(jī)指基本指令系統(tǒng)相同、基本體系結(jié)構(gòu)相同的一系列計(jì)算機(jī)(百度)/系列機(jī)是指由同一廠家生產(chǎn)的具有相同的系統(tǒng)結(jié)構(gòu),但具有不同組成和實(shí)現(xiàn)的一系列不同型號的計(jì)算機(jī)(課本)。系列機(jī)能較好地解決軟件開發(fā)要求系統(tǒng)結(jié)構(gòu)相對穩(wěn)定與器件、硬件技術(shù)迅速發(fā)展的矛盾。系列機(jī)的軟件

25、兼容有4種:向上兼容、向下兼容、向前兼容、向后兼容。向上(下)兼容是指按某檔計(jì)算機(jī)編制的程序,布甲修改就能運(yùn)行于比它高(低)檔的計(jì)算機(jī)。向后(前)兼容是指按某個(gè)使其投入市場的某種型號計(jì)算機(jī)編制的程序,不加修改就能運(yùn)行于在它之后(前)投入市場的計(jì)算機(jī)。 47.簡述在指令操作碼優(yōu)化中哈弗曼壓縮的基本思想?當(dāng)各種事件發(fā)生的概率不均等時(shí),可對發(fā)生概率高的事件用短的位數(shù)(時(shí)間)來表示(處理),而對于發(fā)生概率較低的事件,則可用較長的位數(shù)(時(shí)間)來表示(處理),從而使總的平均位數(shù)(時(shí)間)縮短。 48.簡述RICS結(jié)構(gòu)的設(shè)計(jì)原則?1.指令條數(shù)少,指令功能簡單。2.采用簡單而又統(tǒng)一的指令格式,并減少尋址方式。3

26、.指令的執(zhí)行在單周期內(nèi)完成(采用流水線技術(shù)后)。4.采用load-store結(jié)構(gòu)。5.大多數(shù)指令都采用硬連邏輯來實(shí)現(xiàn)。6.強(qiáng)調(diào)優(yōu)化編譯器的作用,為高級語言程序生成優(yōu)化的代碼。7.充分利用流水技術(shù)來提高性能。 49.什么是流水寄存器?作用是?流水線每一個(gè)段的后面都要有一個(gè)緩沖寄存器(鎖存器),成為流水寄存器。P54作用:在相鄰的兩段間傳送數(shù)據(jù),以提供后面流水段要用到的信息。P54 50.解決流水線結(jié)構(gòu)沖突的方法有?方法:一:在將要發(fā)生結(jié)構(gòu)沖突的前一條指令訪問存儲器時(shí),將流水線停頓一個(gè)時(shí)鐘周期,推遲后面指令的執(zhí)行操作。二:分別設(shè)置指令存儲器和數(shù)據(jù)存儲器或者只設(shè)置一個(gè)存儲器但采用兩個(gè)分離的Cache

27、:指令Cache,數(shù)據(jù)Cache。P75 51有哪些方法可以處理由前瞻執(zhí)行指令引起的異常?四種方法:一:立即處理每一個(gè)異常。二:借助專門的檢測指令判斷是否需要進(jìn)行異常處理。三:為每個(gè)通用增加一個(gè)標(biāo)志位“poison”位??衫^續(xù)異常將被立即處理,引發(fā)終止性異常時(shí),目的寄存器R的poison位置1,否則改為清0。當(dāng)之后的另一條指令訪問R時(shí),若poison位為1將觸發(fā)一個(gè)終止性異常。四:將指令的執(zhí)行結(jié)果保存到再定序緩沖器內(nèi),并將指令流出的順序依次確認(rèn),但是前瞻指令的確認(rèn)時(shí)機(jī)卻被推遲,直至能夠確定該指令都的前瞻執(zhí)行是正確(或錯(cuò)誤)的。P170-P171 52.采用鏈接技術(shù)時(shí),向量指令能鏈接執(zhí)行必須有哪

28、些條件?1.不出現(xiàn)功能部件沖突和其他Vi沖突2.只有在前一條指令的第一個(gè)結(jié)果元素送入結(jié)果向量寄存器的那一個(gè)時(shí)鐘周期才可以進(jìn)行鏈接。3.當(dāng)一條向量指令的兩個(gè)源操作數(shù)分別來自于前面緊鄰的兩條指令的結(jié)果時(shí),要求這兩條指令產(chǎn)生運(yùn)算結(jié)果的時(shí)間必須相等,即要求有關(guān)功能部件的通過時(shí)間相等。4.要進(jìn)行鏈接執(zhí)行的向量指令的向量長度必須相等,否則無法進(jìn)行鏈接。P99-P101 53、記分牌算法中,記分牌記錄的信息由哪3部分構(gòu)成?各部分功能是什么? P1173部分:(1 )指令狀態(tài)表:記錄正在執(zhí)行的各條指令已經(jīng)進(jìn)入到了哪一段(2) 功能部件狀態(tài)表:記錄各個(gè)功能部件的狀態(tài)。每個(gè)功能部件有一項(xiàng),每一項(xiàng)由9個(gè)字段組成:B

29、usy Op Fi Fj Fk Qj Qk Rj Rk (3) 結(jié)果寄存器狀態(tài)表Result:每個(gè)寄存器在該表中有一項(xiàng),用于指出哪個(gè)功能不見(編號)將結(jié)果寫入該寄存器。如果當(dāng)前正在運(yùn)行的指令都不以它為目的寄存器,則其相應(yīng)項(xiàng)偉“no”。Result各項(xiàng)的初值為“no”(全0) 54、半性能向量長度的定義?P105半性能向量長度 n1/2 是指向量處理機(jī)的性能達(dá)到其最大性能R 的一半時(shí)所需的向量長度。它是評價(jià)響亮流水線的建立時(shí)間對性能影響的重要參數(shù)。(若向量長度 n=n1/2,則表示整個(gè)響亮流水處理時(shí)間中只有一半是在做有效操作,而另一半則是浪費(fèi)掉了。) 55、寫更新協(xié)議的主要思想P304當(dāng)一個(gè)處理

30、器對某數(shù)據(jù)項(xiàng)進(jìn)行寫入時(shí),它將該新數(shù)據(jù)廣播給所有其它Cache。這些Cache用該新數(shù)據(jù)對其中的副本(如果有的話)進(jìn)行更新。當(dāng)然,如果知道其他Cache中都沒有相應(yīng)的副本,就不必進(jìn)行廣播和更新。這樣處理能夠減少實(shí)現(xiàn)該協(xié)議所需的帶寬。P304有例子 56、寫作廢協(xié)議的主要思想。(課本P304)在處理器對某個(gè)數(shù)據(jù)項(xiàng)進(jìn)行寫入之前,它擁有對該數(shù)據(jù)項(xiàng)的唯一訪問權(quán),具體做法是在處理器P進(jìn)行寫入操作之前,把所有其他cache中的副本全部作廢。這稱為寫作廢協(xié)議 57、超流水的主要內(nèi)容是什么?(課本P149)超流水線處理機(jī):在一個(gè)時(shí)鐘周期內(nèi)能夠分時(shí)流出多條指令的處理機(jī)。在流水處理機(jī)中,把一條指令的執(zhí)行過程的5個(gè)流

31、水段:取指令、譯碼、執(zhí)行、訪存、寫結(jié)果,進(jìn)一步細(xì)分,這樣使得在一個(gè)時(shí)鐘周期內(nèi)各流水段都在處理各自的多條指令。 58、補(bǔ)償代碼的定義(課本P159)有一些復(fù)雜的調(diào)度機(jī)制可以確保在調(diào)度I的情況下保持執(zhí)行結(jié)果不變,但需要向基本快elsepart中增加若干指令以保證結(jié)果正確,這些新增的指令被稱為補(bǔ)償代碼。 59、尾復(fù)制的定義及作用。答:定義:超塊調(diào)度時(shí)往往也需要進(jìn)行代碼復(fù)制,以確保結(jié)果的正確。由于被復(fù)制的代碼段總是作為退出超塊后必須執(zhí)行的補(bǔ)償代碼,故這種技術(shù)被形象地稱為尾復(fù)制。(練習(xí)P126)作用:在超塊調(diào)度中,除最后一個(gè)出口外,其余出口退出超塊后利用尾復(fù)制技術(shù)完成余下的迭代工作。尾復(fù)制實(shí)質(zhì)上通過復(fù)制

32、代碼,使原超塊擴(kuò)展為更大的超級塊,從而更好地進(jìn)行指令級并行開發(fā)。反映并行程序性能的一個(gè)重要的度量。在并行計(jì)算中,它是指每次數(shù)據(jù)通信要進(jìn)行的計(jì)算與通信開銷的比值。(練習(xí)P230) 60、前瞻執(zhí)行的主要思想是什么?答:前瞻執(zhí)行并不僅僅是在數(shù)據(jù)相關(guān)或控制相關(guān)尚未消除的情況下,簡單地將指令調(diào)度到與之相關(guān)的指令之前猜測執(zhí)行,它還是通過一系列復(fù)雜的硬件機(jī)制完成異常處理、正確性保證等工作。(P169) 61、命中時(shí)間的定義。答:訪問Cache命中所需要的時(shí)間。(P190)62、不命中開銷的定義答:CPU向二級存儲器發(fā)出訪問請求到把這個(gè)數(shù)據(jù)調(diào)入一級存儲器所需要的時(shí)間。(P190) 63、相聯(lián)度的定義答:在組相

33、聯(lián)中,每組所包含的塊數(shù)。n=M/G(P195)(M未Cache的塊數(shù),見P193,G為Cache的組數(shù),見P194) 64、計(jì)算/通訊比指的是什么?答:計(jì)算/通信比率是指反映并行程序性能的一個(gè)重要的度量。如果比值較高,就意味著應(yīng)用程序中相對于每次數(shù)據(jù)通信要進(jìn)行較多的計(jì)算。通常狀況下,計(jì)算/通信比率隨著處理的數(shù)據(jù)規(guī)模的增大而增大,隨著處理器數(shù)目的增加而減少。(P301) 65、多cache一致性的主要思想?答:允許共享數(shù)據(jù)進(jìn)入Cache,出現(xiàn)多個(gè)處理器的Cache中都有同一存儲塊的副本,當(dāng)其中某個(gè)處理器對其Cache中的數(shù)據(jù)進(jìn)行修改后,對某個(gè)數(shù)據(jù)項(xiàng)的任何操作均可得到其最新寫入的值,則認(rèn)為這個(gè)存儲

34、系統(tǒng)是一致的。(P302) 66、IPC的定義?它的作用是?答:(1)定義:每個(gè)時(shí)鐘周期完成的指令條數(shù),是CPI的倒數(shù)。(2) 作用:衡量流水線最高性能的一個(gè)指標(biāo)(P111) 67、全相聯(lián)映像?組相聯(lián)映像?它們的優(yōu)點(diǎn)分別是什么?答:(1)全相聯(lián):Cache空間的利用率高,塊沖突概率低,Cache的不命中率也低。 (2)組相聯(lián):Cache被分成若干組,每組有若干個(gè)塊構(gòu)成,主存中的每一塊可以被放置到的Cache中唯一的一個(gè)組的任何一個(gè)位置,它是直接相聯(lián)和全相聯(lián)的一種折中。(P194到195) 68、LRU替換算法的主要思想。答:這種方法本來是選擇近期使用次數(shù)最少的塊作為被替換的懷,但由于起實(shí)現(xiàn)比較

35、復(fù)雜,現(xiàn)在實(shí)際上實(shí)現(xiàn)的LRU都只是選擇最久沒有被訪問的塊,一居室局部性原理的一個(gè)推論:最近剛用過的塊很可能就是馬上要再用到的塊,因此最久沒有用的塊就是最佳的被替換者。(P199) 69、組相聯(lián)映像、全相聯(lián)映像以及直接映像三者的關(guān)系。答:(1)全相聯(lián)。實(shí)現(xiàn)查找的機(jī)制復(fù)雜,代價(jià)高,速度慢。Cache空間的利用率高,塊沖突概率低,Cache的不命中率也低。 (2)直接映像:實(shí)現(xiàn)查找的機(jī)制簡單,代價(jià)低,速度快。Cache空間的利用率低,塊沖突概率高,Cache的不命中率也高。 (3)組相聯(lián)映像是直接影響和全相聯(lián)影響的這中(課本P199或者 白色練習(xí)冊的P) 70、監(jiān)聽協(xié)議的主要思想是?目錄協(xié)議的主要思

36、想是?目錄協(xié)議的分類?每種分類的主要內(nèi)容?答:(1)監(jiān)聽協(xié)議的基本思想是當(dāng)物理存儲器中的數(shù)據(jù)塊被調(diào)入Cache時(shí),其共享狀態(tài)信息與該數(shù)據(jù)塊一起放在該cache中。系統(tǒng)中沒有集中的狀態(tài)表。這些cache通常連接在共享存儲器的總線上。當(dāng)某個(gè)cache需要訪問存儲器時(shí),它會把請求防盜總線上廣播出去,其他各個(gè)cache控制器通過監(jiān)聽總線(它們一直在監(jiān)聽)來判斷它們是否有總線上請求的數(shù)據(jù)塊,如果有,就進(jìn)行相應(yīng)的操作。(P304)(2)目錄協(xié)議的基本思想物理存儲器中數(shù)據(jù)塊的共享狀態(tài)被保存在一個(gè)稱為目錄的地方。目錄協(xié)議采用了一個(gè)集中的數(shù)據(jù)結(jié)構(gòu)目錄來實(shí)現(xiàn)Cache一致性。對于存儲器中的每一個(gè)可以調(diào)入Cache

37、的數(shù)據(jù)塊,在目錄中設(shè)置一條目錄項(xiàng),用于記錄該塊的狀態(tài)以及那些cache中有副本等相關(guān)信息。這樣,對于任何一個(gè)數(shù)據(jù)塊,都可以快速地在唯一的一個(gè)位置(根據(jù)該存儲器的地址來確定)中找到相關(guān)的信息。這使目錄協(xié)議避免了廣播操作。(P310)(3)目錄協(xié)議分為3類:全映像目錄,有限映像目錄和鏈?zhǔn)侥夸?P316)(4)全映像目錄:在這種結(jié)構(gòu)中,每一個(gè)目錄項(xiàng)都包含一個(gè)N位(N為處理機(jī)的個(gè)數(shù))的位向量,其每一位對應(yīng)一個(gè)處理機(jī)。全映像目錄的處理比較簡單,速度比較快,但它的存儲空間的開銷比較大。 有限映像目錄:是對全映像目錄的改進(jìn),為的是提高其可擴(kuò)放性和減少目錄所占用的空間。核心思想是采用位數(shù)固定的目錄項(xiàng)目,這是通

38、過對同一數(shù)據(jù)塊在所有Cache中的副本總數(shù)進(jìn)行限制來實(shí)現(xiàn)。 鏈?zhǔn)侥夸洠河靡粋€(gè)目錄指針鏈表來表示共享集合。當(dāng)一個(gè)數(shù)據(jù)塊的副本數(shù)增加(或減少)時(shí),其指針鏈表就跟著變長(變短)。由于鏈表長度不受限制,因此既不限制副本的個(gè)數(shù),又保持了可擴(kuò)展性。(P316) 71、鏈?zhǔn)侥夸浀姆诸??答:分為單鏈法和雙鏈法。(P317)72、在各種編碼中,平均碼長最短的編碼是什么?它的主要思想是什么?答:(1)哈夫曼編碼;(2) 思想是當(dāng)各種事件發(fā)生的概率不均等時(shí),可以對發(fā)生概率最高的事件用位數(shù)最短的位數(shù)(時(shí)間)來表示(處理),而對于出現(xiàn)概率較低的事件,則可以用較長的位數(shù)(時(shí)間)來表示(處理),從而使總的平均位數(shù)(時(shí)間)縮

39、短.(P38) 73、結(jié)構(gòu)沖突、數(shù)據(jù)沖突、控制沖突產(chǎn)生原因、定義,如何消除?(課本P75,題解P49P50)(求高手更新控制沖突)(1)結(jié)構(gòu)沖突產(chǎn)生原因:功能部件不是完全流水或者資源份數(shù)不夠,某種指令 因?yàn)橘Y源沖突而不能正常執(zhí)行。定義:因硬件資源滿足不了指令重疊執(zhí)行的要求而發(fā)生的沖突。消除方法:對功能部件進(jìn)行全流水處理或重復(fù)設(shè)置足夠多的資源。(2)數(shù)據(jù)沖突產(chǎn)生原因:當(dāng)相關(guān)的指令彼此靠得足夠近時(shí),它們在流水線中的 重疊執(zhí)行或者重新排序會改變指令讀/寫操作數(shù)的順 序,使之不同于它們串行執(zhí)行時(shí)的順序。定義:當(dāng)指令在流水線中重疊執(zhí)行時(shí),因需要用到前面指令的執(zhí)行結(jié)果而發(fā) 生的沖突。消除方法: 使用定向技

40、術(shù)減少數(shù)據(jù)沖突引起的停頓。 設(shè)置流水線互鎖機(jī)制檢測和發(fā)現(xiàn)數(shù)據(jù)沖突,使流水線停頓至沖突消失。 依靠編譯器解決數(shù)據(jù)沖突。(3)控制沖突產(chǎn)生原因:分支指令或其他指令改變PC值, 定義:流水線遇到分支指令或其他會改變PC值的指令所引起的沖突。 消除方法:凍結(jié)或者排空流水線預(yù)測分支失敗預(yù)測分支成功延遲分支 74、什么是向量長度臨界值?(題解P78 ,概念題)向量長度臨界值是指向量流水方式的處理速度優(yōu)于標(biāo)量串行方式的處理速 度時(shí)所需的向量長度的最小值。 75、什么是Vi沖突?(題解P78,概念題)指多條向量指令的源向量或結(jié)果向量要使用相同的Vi。 76、超長指令字?(題解P100,概念題)一種多指令流出技

41、術(shù)。VLIW處理機(jī)在每個(gè)時(shí)鐘周期流出的指令條數(shù)是固定 的,這些指令構(gòu)成一條長指令或者一個(gè)指令包,在這個(gè)指令包中,指令之間 的并行性是通過指令顯式地表示出來的。 77、指令的cpi是如何進(jìn)行計(jì)算的?(書本111頁)答: CPI是cycles per instruction的縮寫,意思是每條計(jì)算機(jī)指令執(zhí)行所需的時(shí)鐘周期。它的計(jì)算方法是: 流水線處理機(jī)的實(shí)際CPI等于理想流水線的CPI加上各類停頓的時(shí)鐘周期數(shù) CPI流水線=CPI理想+停頓結(jié)構(gòu)沖突+停頓數(shù)據(jù)沖突+停頓控制沖突 78、指令操作碼的哈夫曼編碼(哈夫曼樹)設(shè)計(jì)方法,以及操作碼的平均碼長的計(jì)算。(書本38、39頁)答: 哈夫曼樹的設(shè)計(jì)方法是

42、:將各事件按其使用頻度從大到小依次排列,每次從中選擇兩個(gè)頻度值最小的結(jié)點(diǎn),將其合并成一個(gè)新的結(jié)點(diǎn),并把新結(jié)點(diǎn)畫在所選結(jié)點(diǎn)的上面,然后用兩條邊把新結(jié)點(diǎn)分別與那兩個(gè)結(jié)點(diǎn)相連,新結(jié)點(diǎn)的頻度值是所選兩個(gè)結(jié)點(diǎn)的頻度值的和。把新結(jié)點(diǎn)與其他剩余未結(jié)合的結(jié)點(diǎn)一起,再以上面的步驟進(jìn)行處理,反復(fù)進(jìn)行,指導(dǎo)全部結(jié)點(diǎn)都結(jié)合完畢形成根結(jié)點(diǎn)為止。 平均碼長的計(jì)算公式:L= 其中pi為頻度,li為操作碼的長度。 79、2-4-6等長擴(kuò)展編碼的編碼方法以及計(jì)算平均碼長的方法?題解P154【題7.58】設(shè)某臺計(jì)算機(jī)有9條指令,各指令的使用頻度分別為:I1 :52% I2 :14% I3:12% I4 :7% I5:6%I6 :

43、5% I7 :2% I8 :1% I9 :1%試分別用哈夫曼編碼和2-4-6等長擴(kuò)展碼為其操作碼編碼,并分別計(jì)算平均碼長。解:哈夫曼樹如下所示。 由哈夫曼樹生成的哈夫曼編碼和2-4-6擴(kuò)展編碼如下所示。 指令使用頻度pi哈夫曼編碼2-4-6編碼I10.5200 0I20.141 0 00 1I30.121 1 01 0I40.071 0 1 01 1 0 0I50.061 0 1 11 1 0 1I60.051 1 1 01 1 1 0I70.021 1 1 1 01 1 1 1 0 0I80.011 1 1 1 1 01 1 1 1 0 1I90.011 1 1 1 1 11 1 1 1 1

44、 0 哈夫曼編碼的平均碼長為:2-4-6擴(kuò)展編碼的平均碼長:80、在多處理機(jī)系統(tǒng)中,根據(jù)有無遠(yuǎn)程訪問情況來計(jì)算CP2的方法,以及系統(tǒng)快慢的比較。沒有遠(yuǎn)程訪問時(shí),CPI等于系統(tǒng)中指令基本CPI(這個(gè)題目一定會給出來的),有遠(yuǎn)程訪問時(shí),CPI=基本指令CPI+P X C。C為遠(yuǎn)程訪問開銷=t/T,t為遠(yuǎn)程訪問時(shí)間,T時(shí)鐘周期。P為遠(yuǎn)程訪問率。比較兩種情況下的系統(tǒng)快慢,就將兩種情況下計(jì)算出來的CPI相除,說遠(yuǎn)程訪問的速度是沒有遠(yuǎn)程訪問速度的多少倍。 81、靜態(tài)指令調(diào)度方法的主要思想,以及程序中指令序列的調(diào)度方法。在靜態(tài)調(diào)度的超標(biāo)量處理機(jī)中,指令按序流出。所有的沖突檢測都在流出時(shí)進(jìn)行,由硬件檢測當(dāng)前流

45、出的指令之間是否存在沖突以及當(dāng)前流出的指令與正在執(zhí)行的指令是否有沖突。如果在當(dāng)前的流出的指令序列中,某條指令存在著上述沖突,那么就只流出該指令之前的指令。指令序列的調(diào)度方法:指令調(diào)度是指要求充分開發(fā)指令之間存在的并行性,找出不相關(guān)的指令序列,讓它們在流水線上重疊并行執(zhí)行。指令調(diào)度不會真正消除指令的相關(guān),而是通過重新安排指令的流出順序,使得指令間的相關(guān)盡可能少地引起流水線空轉(zhuǎn),從而減少整個(gè)指令序列在流水線的執(zhí)行時(shí)間。另外指令調(diào)度不能跨越分支指令。 82、流水線的實(shí)際吞吐率和效率的計(jì)算方法?以及流水線中“瓶頸”的確定?流水線的實(shí)際吞吐率為TP=n/(k+n-1)tK為流水線的段數(shù),n為流水線的任務(wù)

46、數(shù),t為短時(shí)間流水線的效率E=knt/kTkTk符號中的k是下標(biāo)而已,Tk是一個(gè)完整的符號。還可以寫出,E=n/(k+n-1) 流水線中“瓶頸”是指流水線的各段執(zhí)行時(shí)間應(yīng)該盡可能相等,否則會引起堵塞或斷流現(xiàn)象。執(zhí)行時(shí)間長的段會成為整個(gè)流水線的瓶頸,這時(shí),流水線的各個(gè)功能部件不能充分發(fā)揮作用。 83、局部不命中率?全局不命中率?以及這二者在多Cache系統(tǒng)中的計(jì)算?局部不命中率對于某一級Cache來說:局部不命中率 = 該級Cache的不命中次數(shù)/到達(dá)該級Cache的訪存次數(shù)全局不命中率對于某一級Cache來說:全局不命中率 = 該級Cache的不命中次數(shù)/CPU發(fā)出的訪存總次數(shù)全局不命中率是一

47、個(gè)比局部不命中率更有用的衡量指標(biāo),它指出了在CPU發(fā)出的訪存中,究竟有多大比例是穿過各級Cache,最終到達(dá)存儲器的。(課本P214)題解P153 【題7.53】【題7.54】可作參考(注:在課本中找不到這兩個(gè)名詞的具體概念) 84、根據(jù)不命中率,通過提高相聯(lián)度,或者提高Cache容量大小等方法來計(jì)算能夠消除的最大不命中次數(shù)的方法。題解P154【題7.58】某個(gè)程序共訪問存儲器1 000 000次,該程序在某個(gè)系統(tǒng)中運(yùn)行,系統(tǒng)中cache的不命中率為7%,其中,強(qiáng)制性不命中和容量不命中各占25%,沖突不命中占50%。問:(1)當(dāng)允許對該cache所做的唯一改變是提高相聯(lián)度時(shí),此時(shí)期望能夠消除的

48、最大不命中次數(shù)是多少?(2)當(dāng)允許同時(shí)提高cache的容量大小和相聯(lián),此時(shí)期望能夠消除的最大不命中次數(shù)是多少?解:(1)提高cache的相聯(lián)度,可以養(yǎng)活沖突不命中的次數(shù),但不會影響強(qiáng)制性不命中和容量不命中的次數(shù)。已知cache的不命中率為7%,程序共訪問存儲器1 000 000次,所以總的不命中次數(shù)為70 000,其中50%為沖突不命中的次數(shù)。因此,提高cache的相聯(lián)度能夠消除的最大不命中次數(shù)是:70 000 x 50% = 35 000 。(2)當(dāng)同時(shí)提高cache的容量大小和相聯(lián)度時(shí),可以消除容量不命中和沖突不命中的次數(shù)。而這兩種不命中占總不命中次數(shù)的75%,所以,能夠消除的最大不命中次

49、數(shù)是:70 000 X 75% = 52 500 。 85、流水時(shí)空圖的畫法?系統(tǒng)運(yùn)行時(shí)鐘周期的計(jì)算?(P54)圖中橫坐標(biāo)表示時(shí)間縱坐標(biāo)表示空間,即流水線中的流水段。格子中的數(shù)字1代表第1個(gè)運(yùn)算,2代表第2個(gè)運(yùn)算,。第1個(gè)運(yùn)算在時(shí)刻0進(jìn)入流水線;第2個(gè)運(yùn)算在時(shí)刻1進(jìn)入流水線,同時(shí)第1個(gè)運(yùn)算離開“求階差”段而進(jìn)入“對階”段;第3個(gè)運(yùn)算在時(shí)刻2進(jìn)入流水線,同時(shí)第1個(gè)運(yùn)算離開“對階”段而進(jìn)入“尾數(shù)相加”段,第2個(gè)運(yùn)算離開“求階差”段而進(jìn)入“對階”段;第4個(gè)運(yùn)算在時(shí)刻3進(jìn)入流水線,同時(shí)第1個(gè)運(yùn)算離開“尾數(shù)相加”段而進(jìn)入“規(guī)格化”段,第2個(gè)運(yùn)算離開“對階”段而進(jìn)入“尾數(shù)相加”段,第3個(gè)運(yùn)算離開“求階差”

50、段而進(jìn)入“對階”段;以此類推。求階差對階尾數(shù)相加求階差 入 出 t t t t 空間 通過時(shí)間 排空時(shí)間 規(guī)格化 尾數(shù)相加 對階 求階差 0 1 2 3 4 5 6 7 時(shí)間題解P59【題3.41】在MIPS流水線上運(yùn)行如下代碼序列: LOOP:LW R1,0(R2) DADDIU R1,R1,#1 SW R1,0(R2) DADDIU R2,R2,#4 DSUB R4,R3,R2 BNEZ R4,LOOP 其中,R3的初值是R2 + 396 。假設(shè):在整個(gè)代碼序列的運(yùn)行過程中,所有的儲存器訪問都是命中的,并且在一個(gè)時(shí)鐘周期中對同一個(gè)寄存器的讀操作和寫操作可以通過寄存器組“定向”。問:(1)在

51、沒有任何其他定向(或旁路)硬件的支持下,請畫出該指令序列執(zhí)行的流水線時(shí)空圖。假設(shè)采用排空流水線的策略處理分支指令,且所有的存儲器訪問都命中cache,那么執(zhí)行上述循環(huán)需要多少個(gè)時(shí)鐘周期?(2)假設(shè)該流水線有正常的定向路徑,請畫出該指令序列執(zhí)行的流水線時(shí)空圖。假設(shè)采用預(yù)測的策略處理分支指令,且所有的存儲器訪問都命中cache,那么執(zhí)行上述循環(huán)需要多少個(gè)時(shí)鐘周期?(3)假設(shè)該流水線有正常的定向路徑和一個(gè)單周期延遲分支,請對該循環(huán)中的指令進(jìn)行調(diào)試,你可以重新組織指令的順序,也可以修改指令的操作數(shù),但是注意不能增加指令的條數(shù)。請畫出該指令序列執(zhí)行的流水線時(shí)空圖,并計(jì)算執(zhí)行上述循環(huán)所需要的時(shí)鐘周期數(shù)。解

52、:(1)寄存器讀寫可以定向,無其他旁路硬件支持。排空流水線。 指令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22LW IF ID EX M WBDADDIU IF S S ID EX M WBSW IF S S ID EX M WBDADDIU IF ID EX M WBDSUB IF S S ID EX M WBBNEZ IF S S ID EX M WBLW IF S S IF ID EX M WB 第i次迭代(i=0.98)開始周期:1+(i+17)總的時(shí)鐘周期數(shù):(98 X 17)+ 18 = 1684有正常定向路徑,

53、預(yù)測分支失敗。 指令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15LW IF ID EX M WBDADDIU IF ID S EX M WBSW IF S ID EX M WBDADDIU IF ID EX M WBDSUB IF ID EX M WBBNEZ IF ID EX M WBLW IF miss miss IF ID EX M WB 第i次迭代(i=0.98)開始周期:1 +(i X 10)總的時(shí)鐘周期數(shù):(98 X 10)+ 11 = 991有正常定向路徑。單周期延遲分支。 LOOP:LW R1,0(R2) DADDIU R2,R2,#4 DADDIU

54、 R1,R1,#1 DSUB R4,R3,R2 BNEZ R4,LOOP SW R1,-4(R2)第i次迭代(i=0.98)開始周期:1 +(i X 6)總的時(shí)鐘周期數(shù):(98 X 6)+ 10 = 598 指令 1 2 3 4 5 6 7 8 9 10 11LW IF ID EX M WBDADDIU IF ID EX M WBSW IF ID EX M WBDADDIU IF ID EX M WBDSUB IF ID EX M WBBNEZ IF ID EX M WBLW IF ID EX M WB 86、在長流水線指令中,使用分支目標(biāo)緩沖,有分支預(yù)測錯(cuò)誤的開銷,有緩沖不命中的開銷,此時(shí)如

55、何計(jì)算CPI?如何與采用固定時(shí)鐘周期延遲的分支處理程序進(jìn)行執(zhí)行速度上的比較?題解P97【題5.27】假設(shè)有一條長流水線,僅僅對條件轉(zhuǎn)移指令使用分支目標(biāo)緩沖。假設(shè)分支預(yù)測錯(cuò)誤的開銷為4個(gè)時(shí)鐘周期,緩沖不命中的開銷為3個(gè)時(shí)鐘周期。假設(shè)命中率為90%,預(yù)測精度為90%,分支頻率為15%,沒有分支的基本CPI為1。(1)求程序執(zhí)行的CPI。(2)相對于采用固定的2個(gè)時(shí)鐘周期延遲的分支處理,哪種方法程序執(zhí)行的速度更快?解:(1)程序執(zhí)行的CPI = 沒有分支的基本CPI(1)+ 分支帶來的額外開銷分支帶來的額外開銷是指在分支指令中,緩沖命中但預(yù)測錯(cuò)誤帶來的開銷與緩沖沒有命中帶來的開銷之和。分支帶來的額外開銷 = 15% X(90%命中 X 10%預(yù)測錯(cuò)誤 X 4 + 10%沒命中 X 3)= 0.099所以程序執(zhí)行的CPI = 1 + 0.099 = 1.099采用固定的2個(gè)時(shí)鐘周期延遲的分支處理CPI = 1 + 15% X 2 = 1.3由(1)(2)可知分支目標(biāo)緩沖方法執(zhí)行速度快。 87、向量處理機(jī)

溫馨提示

  • 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

提交評論