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

下載本文檔

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

文檔簡介

1、第1章計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的基本概念1.1解釋下列術(shù)語層次結(jié)構(gòu):按照計(jì)算機(jī)語言從低級(jí)到高級(jí)的次序,把計(jì)算機(jī)系統(tǒng)按功能劃分成多級(jí)層次結(jié)構(gòu),每一層以一種不同的語言為特征。這些層次依次為:微程序機(jī)器級(jí),傳統(tǒng)機(jī)器語言機(jī)器級(jí),匯編語言機(jī)器級(jí),高級(jí)語言機(jī)器級(jí),應(yīng)用語言機(jī)器級(jí)等。虛擬機(jī):用軟件實(shí)現(xiàn)的機(jī)器。翻譯:先用轉(zhuǎn)換程序把高一級(jí)機(jī)器上的程序轉(zhuǎn)換為低一級(jí)機(jī)器上等效的程序,然后再在這低一級(jí)機(jī)器上運(yùn)行,實(shí)現(xiàn)程序的功能。解釋:對(duì)于高一級(jí)機(jī)器上的程序中的每一條語句或指令,都是轉(zhuǎn)去執(zhí)行低一級(jí)機(jī)器上的一段等效程序。執(zhí)行完后,再去高一級(jí)機(jī)器取下一條語句或指令,再進(jìn)行解釋執(zhí)行,如此反復(fù),直到解釋執(zhí)行完整個(gè)程序。計(jì)算機(jī)系統(tǒng)結(jié)構(gòu):傳

2、統(tǒng)機(jī)器程序員所看到的計(jì)算機(jī)屬性,即概念性結(jié)構(gòu)與功能特性。在計(jì)算機(jī)技術(shù)中,把這種本來存在的事物或?qū)傩裕珡哪撤N角度看又好像不存在的概念稱為透明性。計(jì)算機(jī)組成:計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的邏輯實(shí)現(xiàn),包含物理機(jī)器級(jí)中的數(shù)據(jù)流和控制流的組成以及邏輯設(shè)計(jì)等。計(jì)算機(jī)實(shí)現(xiàn):計(jì)算機(jī)組成的物理實(shí)現(xiàn),包括處理機(jī)、主存等部件的物理結(jié)構(gòu),器件的集成度和速度,模塊、插件、底板的劃分與連接,信號(hào)傳輸,電源、冷卻及整機(jī)裝配技術(shù)等。系統(tǒng)加速比:對(duì)系統(tǒng)中某部分進(jìn)行改進(jìn)時(shí),改進(jìn)后系統(tǒng)性能提高的倍數(shù)。Amdahl定律:當(dāng)對(duì)一個(gè)系統(tǒng)中的某個(gè)部件進(jìn)行改進(jìn)后,所能獲得的整個(gè)系統(tǒng)性能的提高,受限于該部件的執(zhí)行時(shí)間占總執(zhí)行時(shí)間的百分比。程序的局部性原理

3、:程序執(zhí)行時(shí)所訪問的存儲(chǔ)器地址不是隨機(jī)分布的,而是相對(duì)地簇聚。包括時(shí)間局部性和空間局部性。CPI:每條指令執(zhí)行的平均時(shí)鐘周期數(shù)。測試程序套件:由各種不同的真實(shí)應(yīng)用程序構(gòu)成的一組測試程序,用來測試計(jì)算機(jī)在各個(gè)方面的處理性能。存儲(chǔ)程序計(jì)算機(jī):馮諾依曼結(jié)構(gòu)計(jì)算機(jī)。其基本點(diǎn)是指令驅(qū)動(dòng)。程序預(yù)先存放在計(jì)算機(jī)存儲(chǔ)器中,機(jī)器一旦啟動(dòng),就能按照程序指定的邏輯順序執(zhí)行這些程序,自動(dòng)完成由程序所描述的處理工作。系列機(jī):由同一廠家生產(chǎn)的具有相同系統(tǒng)結(jié)構(gòu)、但具有不同組成和實(shí)現(xiàn)的一系列不同型號(hào)的計(jì)算機(jī)。軟件兼容:一個(gè)軟件可以不經(jīng)修改或者只需少量修改就可以由一臺(tái)計(jì)算機(jī)移植到另一臺(tái)計(jì)算機(jī)上運(yùn)行。差別只是執(zhí)行時(shí)間的不同。向上

4、(下)兼容:按某檔計(jì)算機(jī)編制的程序,不加修改就能運(yùn)行于比它高(低)檔的計(jì)算機(jī)。向后(前)兼容:按某個(gè)時(shí)期投入市場的某種型號(hào)計(jì)算機(jī)編制的程序,不加修改地就能運(yùn)行于在它之后(前)投入市場的計(jì)算機(jī)。兼容機(jī):由不同公司廠家生產(chǎn)的具有相同系統(tǒng)結(jié)構(gòu)的計(jì)算機(jī)。模擬:用軟件的方法在一臺(tái)現(xiàn)有的計(jì)算機(jī)(稱為宿主機(jī))上實(shí)現(xiàn)另一臺(tái)計(jì)算機(jī)(稱為虛擬機(jī))的指令系統(tǒng)。仿真:用一臺(tái)現(xiàn)有計(jì)算機(jī)(稱為宿主機(jī))上的微程序去解釋實(shí)現(xiàn)另一臺(tái)計(jì)算機(jī)(稱為目標(biāo)機(jī))的指令系統(tǒng)。并行性:計(jì)算機(jī)系統(tǒng)在同一時(shí)刻或者同一時(shí)間間隔內(nèi)進(jìn)行多種運(yùn)算或操作。只要在時(shí)間上相互重疊,就存在并行性。它包括同時(shí)性與并發(fā)性兩種含義。時(shí)間重疊:在并行性概念中引入時(shí)間因

5、素,讓多個(gè)處理過程在時(shí)間上相互錯(cuò)開,輪流重疊地使用同一套硬件設(shè)備的各個(gè)部分,以加快硬件周轉(zhuǎn)而贏得速度。資源重復(fù):在并行性概念中引入空間因素,以數(shù)量取勝。通過重復(fù)設(shè)置硬件資源,大幅度地提高計(jì)算機(jī)系統(tǒng)的性能。資源共享:這是一種軟件方法,它使多個(gè)任務(wù)按一定時(shí)間順序輪流使用同一套硬件設(shè)備。耦合度:反映多機(jī)系統(tǒng)中各計(jì)算機(jī)之間物理連接的緊密程度和交互作用能力的強(qiáng)弱。緊密耦合系統(tǒng):又稱直接耦合系統(tǒng)。在這種系統(tǒng)中,計(jì)算機(jī)之間的物理連接的頻帶較高,一般是通過總線或高速開關(guān)互連,可以共享主存。松散耦合系統(tǒng):又稱間接耦合系統(tǒng),一般是通過通道或通信線路實(shí)現(xiàn)計(jì)算機(jī)之間的互連,可以共享外存設(shè)備(磁盤、磁帶等)。計(jì)算機(jī)之間

6、的相互作用是在文件或數(shù)據(jù)集一級(jí)上進(jìn)行。異構(gòu)型多處理機(jī)系統(tǒng):由多個(gè)不同類型、至少擔(dān)負(fù)不同功能的處理機(jī)組成,它們按照作業(yè)要求的順序,利用時(shí)間重疊原理,依次對(duì)它們的多個(gè)任務(wù)進(jìn)行加工,各自完成規(guī)定的功能動(dòng)作。同構(gòu)型多處理機(jī)系統(tǒng):由多個(gè)同類型或至少擔(dān)負(fù)同等功能的處理機(jī)組成,它們同時(shí)處理同一作業(yè)中能并行執(zhí)行的多個(gè)任務(wù)。1.3計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的Flynn分類法是按什么來分類的?共分為哪幾類?答:Flynn分類法是按照指令流和數(shù)據(jù)流的多倍性進(jìn)行分類。把計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)分為:(1)單指令流單數(shù)據(jù)流SISD(2)單指令流多數(shù)據(jù)流SIMD(3)多指令流單數(shù)據(jù)流MISD(4)多指令流多數(shù)據(jù)流MIMD計(jì)算機(jī)系統(tǒng)設(shè)計(jì)中經(jīng)常

7、使用的4個(gè)定量原理是什么?并說出它們的含義。答:(1)以經(jīng)常性事件為重點(diǎn)。在計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)中,對(duì)經(jīng)常發(fā)生的情況,賦予它優(yōu)先的處理權(quán)和資源使用權(quán),以得到更多的總體上的改進(jìn)。(2)Amdahl定律。加快某部件執(zhí)行速度所獲得的系統(tǒng)性能加速比,受限于該部件在系統(tǒng)中所占的重要性。(3)CPU性能公式。執(zhí)行一個(gè)程序所需的CPU時(shí)間=ICXCPIX時(shí)鐘周期時(shí)間。(4)程序的局部性原理。程序在執(zhí)行時(shí)所訪問地址的分布不是隨機(jī)的,而是相對(duì)地簇聚。將計(jì)算機(jī)系統(tǒng)中某一功能的處理速度加快10倍,但該功能的處理時(shí)間僅為整個(gè)系統(tǒng)運(yùn)行時(shí)間的40%,則采用此增強(qiáng)功能方法后,能使整個(gè)系統(tǒng)的性能提高多少?解由題可知:可改進(jìn)比例=

8、40%=0.4部件加速比=10根據(jù)Amdahl定律可知:采用此增強(qiáng)功能方法后,能使整個(gè)系統(tǒng)的性能提高到原來的1.5625倍。第2章指令集結(jié)構(gòu)的分類2.1解釋下列術(shù)語堆棧型機(jī)器:CPU中存儲(chǔ)操作數(shù)的單元是堆棧的機(jī)器。累加器型機(jī)器:CPU中存儲(chǔ)操作數(shù)的單元是累加器的機(jī)器。通用寄存器型機(jī)器:CPU中存儲(chǔ)操作數(shù)的單元是通用寄存器的機(jī)器。CISC:復(fù)雜指令集計(jì)算機(jī)RISC:精簡指令集計(jì)算機(jī)尋址方式:指令系統(tǒng)中如何形成所要訪問的數(shù)據(jù)的地址。一般來說,尋址方式可以指明指令中的操作數(shù)是一個(gè)常數(shù)、一個(gè)寄存器操作數(shù)或者是一個(gè)存儲(chǔ)器操作數(shù)。數(shù)據(jù)表示:硬件結(jié)構(gòu)能夠識(shí)別、指令系統(tǒng)可以直接調(diào)用的那些數(shù)據(jù)結(jié)構(gòu)。2.2區(qū)別不

9、同指令集結(jié)構(gòu)的主要因素是什么?根據(jù)這個(gè)主要因素可將指令集結(jié)構(gòu)分為哪3類?答:區(qū)別不同指令集結(jié)構(gòu)的主要因素是CPU中用來存儲(chǔ)操作數(shù)的存儲(chǔ)單元。據(jù)此可將指令系統(tǒng)結(jié)構(gòu)分為堆棧結(jié)構(gòu)、累加器結(jié)構(gòu)和通用寄存器結(jié)構(gòu)。常見的3種通用寄存器型指令集結(jié)構(gòu)的優(yōu)缺點(diǎn)有哪些?指令系統(tǒng)結(jié)構(gòu)類型優(yōu)點(diǎn)缺點(diǎn)奇存器奇存器型指令字長固定,指令結(jié)構(gòu)簡潔,是一種簡與指令中含存儲(chǔ)器操作數(shù)的指令系統(tǒng)結(jié)構(gòu)相比,指令條數(shù)多,目標(biāo)代碼(0,3)單的代碼生成模型,各種指令的執(zhí)行時(shí)鐘周期數(shù)相近。不夠緊湊,因而程序占用的空間比較大。寄存器-存儲(chǔ)器型(1,2)可以在ALU指令中直接對(duì)存儲(chǔ)器操作數(shù)進(jìn)行引用,而不必先用load指令進(jìn)行加載。容易對(duì)指令進(jìn)行編

10、碼,目標(biāo)代碼比較緊湊。由于有一個(gè)操作數(shù)的內(nèi)容將被破壞,所以指令中的兩個(gè)操作數(shù)不對(duì)稱。在一條指令中同時(shí)對(duì)寄存器操作數(shù)和存儲(chǔ)器操作數(shù)進(jìn)行編碼,有可能限制指令所能夠表示的寄存器個(gè)數(shù)。指令的執(zhí)行時(shí)鐘周期數(shù)因操作數(shù)的來源(寄存器或存儲(chǔ)器)不同而差別比較大。存儲(chǔ)器-存儲(chǔ)器型(2,2)或(3,3)目標(biāo)代碼最緊湊,不需要設(shè)置寄存器來保存變量。指令字長變化很大,特別是3操作數(shù)指令。而且每條指令完成的工作也差別很大。對(duì)存儲(chǔ)器的頻繁訪問會(huì)使存儲(chǔ)器成為瓶頸。這種類型的指令系統(tǒng)現(xiàn)在已不用了。指令集應(yīng)滿足哪幾個(gè)基本要求?答:對(duì)指令集的基本要求是:完整性、規(guī)整性、高效率和兼容性。完整性是指在一個(gè)有限可用的存儲(chǔ)空間內(nèi),對(duì)于任

11、何可解的問題,編制計(jì)算程序時(shí),指令集所提供的指令足夠使用。規(guī)整性主要包括對(duì)稱性和均勻性。對(duì)稱性是指所有與指令集有關(guān)的存儲(chǔ)單元的使用、操作碼的設(shè)置等都是對(duì)稱的。均勻性是指對(duì)于各種不同的操作數(shù)類型、字長、操作種類和數(shù)據(jù)存儲(chǔ)單元,指令的設(shè)置都要同等對(duì)待。高效率是指指令的執(zhí)行速度快、使用頻度高。指令集結(jié)構(gòu)設(shè)計(jì)所涉及的內(nèi)容有哪些?答:(1)指令集功能設(shè)計(jì):主要有RISC和CISC兩種技術(shù)發(fā)展方向;(2)尋址方式的設(shè)計(jì):設(shè)置尋址方式可以通過對(duì)基準(zhǔn)程序進(jìn)行測試統(tǒng)計(jì),察看各種尋址方式的使用頻率,根據(jù)適用頻率設(shè)置必要的尋址方式。(3)操作數(shù)表示和操作數(shù)類型:主要的操作數(shù)類型和操作數(shù)表示的選擇有:浮點(diǎn)數(shù)據(jù)類型、整

12、型數(shù)據(jù)類型、字符型、十進(jìn)制數(shù)據(jù)類型等等。(4)尋址方式的表示:可以將尋址方式編碼于操作碼中,也可以將尋址方式作為一個(gè)單獨(dú)的域來表示。(5)指令集格式的設(shè)計(jì):有變長編碼格式、固定長度編碼格式和混合型編碼格式3種。2.6簡述CISC指令集結(jié)構(gòu)功能設(shè)計(jì)的主要目標(biāo)。從當(dāng)前的計(jì)算機(jī)技術(shù)觀點(diǎn)來看,CISC指令集結(jié)構(gòu)的計(jì)算機(jī)有什么缺點(diǎn)?答:主要目標(biāo)是增強(qiáng)指令功能,把越來越多的功能交由硬件來實(shí)現(xiàn),并且指令的數(shù)量也是越來越多。缺點(diǎn):(1)CISC結(jié)構(gòu)的指令集中,各種指令的使用頻率相差懸殊。(2)CISC結(jié)構(gòu)指令的復(fù)雜性帶來了計(jì)算機(jī)體系結(jié)構(gòu)的復(fù)雜性,這不僅增加了研制時(shí)間和成本,而且還容易造成設(shè)計(jì)錯(cuò)誤。(3)CIS

13、C結(jié)構(gòu)指令集的復(fù)雜性給VLSI設(shè)計(jì)增加了很大負(fù)擔(dān),不利于單片集成。(4)CISC結(jié)構(gòu)的指令集中,許多復(fù)雜指令需要很復(fù)雜的操作,因而運(yùn)行速度慢。(5)在CISC結(jié)構(gòu)的指令集中,由于各條指令的功能不均衡性,不利于采用先進(jìn)的計(jì)算機(jī)體系結(jié)構(gòu)技術(shù)(如流水技術(shù))來提高系統(tǒng)的性能。2.7簡述RISC指令集結(jié)構(gòu)的設(shè)計(jì)原則。答(1)選取使用頻率最高的指令,并補(bǔ)充一些最有用的指令;(2)每條指令的功能應(yīng)盡可能簡單,并在一個(gè)機(jī)器周期內(nèi)完成;(3)所有指令長度均相同;(4)只有Load和Store操作指令才訪問存儲(chǔ)器,其它指令操作均在寄存器之間進(jìn)行;(5)以簡單有效的方式支持高級(jí)語言。指令中表示操作數(shù)類型的方法有哪幾

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

15、指令格式,請(qǐng)簡述其適用范圍。答:(1)變長編碼格式。如果系統(tǒng)結(jié)構(gòu)設(shè)計(jì)者感興趣的是程序的目標(biāo)代碼大小,而不是性能,就可以采用變長編碼格式。(2)固定長度編碼格式。如果感興趣的是性能,而不是程序的目標(biāo)代碼大小,則可以選擇固定長度編碼格式。(3)混合型編碼格式。需要兼顧降低目標(biāo)代碼長度和降低譯碼復(fù)雜度時(shí),可以采用混合型編碼格式。根據(jù)CPU性能公式簡述RISC指令集結(jié)構(gòu)計(jì)算機(jī)和CISC指令集結(jié)構(gòu)計(jì)算機(jī)的性能特點(diǎn)。答:CPU性能公式:CPU時(shí)間=ICXCPIXT其中,IC為目標(biāo)程序被執(zhí)行的指令條數(shù),CPI為指令平均執(zhí)行周期數(shù),T是時(shí)鐘周期的時(shí)間。相同功能的CISC目標(biāo)程序的指令條數(shù)少于RISC的【CRM

16、但是CISC的叫仗和T都大于RISC的CPI和T,因此,CISC目標(biāo)程序的執(zhí)行時(shí)間比RISC的更長。CISCRISCRISC第3章流水線技術(shù)3.2指令的執(zhí)行可采用順序執(zhí)行、重疊執(zhí)行和流水線三種方式,它們的主要區(qū)別是什么?各有何優(yōu)缺點(diǎn)。答:(1)指令的順序執(zhí)行是指指令與指令之間順序串行。即上一條指令全部執(zhí)行完后,才能開始執(zhí)行下一條指令。優(yōu)點(diǎn):控制簡單,節(jié)省設(shè)備。缺點(diǎn):執(zhí)行指令的速度慢,功能部件的利用率低。(2)指令的重疊指令是在相鄰的指令之間,讓第k條指令與取第k+l條指令同時(shí)進(jìn)行。重疊執(zhí)行不能加快單條指令的執(zhí)行速度,但在硬件增加不多的情況下,可以加快相鄰兩條指令以及整段程序的執(zhí)行速度。與順序方

17、式相比,功能部件的利用率提高了,控制變復(fù)雜了。(3)指令的流水執(zhí)行是把一個(gè)指令的執(zhí)行過程分解為若干個(gè)子過程,每個(gè)子過程由專門的功能部件來實(shí)現(xiàn)。把多個(gè)處理過程在時(shí)間上錯(cuò)開,依次通過各功能段,每個(gè)子過程與其它的子過程并行進(jìn)行。依靠提高吞吐率來提高系統(tǒng)性能。流水線中各段的時(shí)間應(yīng)盡可能相等簡述先行控制的基本思想。答:先行控制技術(shù)是把緩沖技術(shù)和預(yù)處理技術(shù)相結(jié)合。緩沖技術(shù)是在工作速度不固定的兩個(gè)功能部件之間設(shè)置緩沖器,用以平滑它們的工作。預(yù)處理技術(shù)是指預(yù)取指令、對(duì)指令進(jìn)行加工以及預(yù)取操作數(shù)等。采用先行控制方式的處理機(jī)內(nèi)部設(shè)置多個(gè)緩沖站,用于平滑主存、指令分析部件、運(yùn)算器三者之間的工作。這樣不僅使它們都能獨(dú)

18、立地工作,充分忙碌而不用相互等待,而且使指令分析部件和運(yùn)算器分別能快速地取得指令和操作數(shù),大幅度地提高指令的執(zhí)行速度和部件的效率。這些緩沖站都按先進(jìn)先出的方式工作,而且都是由一組若干個(gè)能快速訪問的存儲(chǔ)單元和相關(guān)的控制邏輯組成。采用先行控制技術(shù)可以實(shí)現(xiàn)多條指令的重疊解釋執(zhí)行。設(shè)一條指令的執(zhí)行過程分成取指令、分析指令和執(zhí)行指令三個(gè)階段,每個(gè)階段所需的時(shí)間分別為At、t和2At。分別求出下列各種情況下,連續(xù)執(zhí)行N條指令所需的時(shí)間。(1)順序執(zhí)行方式;(2)只有“取指令”與“執(zhí)行指令”重疊;(3)“取指令”、“分析指令”與“執(zhí)行指令”重疊。解:(1)每條指令的執(zhí)行時(shí)間為:At+At+2At=4At連續(xù)

19、執(zhí)行N條指令所需的時(shí)間為:4NAt連續(xù)執(zhí)彳丁N條指令所需的時(shí)間為:4At+3(N-1)t=(3N+1)At連續(xù)執(zhí)行N條指令所需的時(shí)間為:4At+2(N-1)At=(2N+2)At簡述流水線技術(shù)的特點(diǎn)。答:流水技術(shù)有以下特點(diǎn):流水線把一個(gè)處理過程分解為若干個(gè)子過程,每個(gè)子過程由一個(gè)專門的功能部件來實(shí)現(xiàn)。因此,流水線實(shí)際上是把一個(gè)大的處理功能部件分解為多個(gè)獨(dú)立的功能部件,并依靠它們的并行工作來提高吞吐率。流水線中各段的時(shí)間應(yīng)盡可能相等,否則將引起流水線堵塞和斷流。流水線每一個(gè)功能部件的前面都要有一個(gè)緩沖寄存器,稱為流水寄存器。流水技術(shù)適合于大量重復(fù)的時(shí)序過程,只有在輸入端不斷地提供任務(wù),才能充分發(fā)

20、揮流水線的效率。流水線需要有通過時(shí)間和排空時(shí)間。在這兩個(gè)時(shí)間段中,流水線都不是滿負(fù)荷工作。解決流水線瓶頸問題有哪兩種常用方法?答:細(xì)分瓶頸段與重復(fù)設(shè)置瓶頸段減少流水線分支延遲的靜態(tài)方法有哪些?答:(1)預(yù)測分支失?。貉厥〉姆种Ю^續(xù)處理指令,就好象什么都沒發(fā)生似的。當(dāng)確定分支是失敗時(shí),說明預(yù)測正確,流水線正常流動(dòng);當(dāng)確定分支是成功時(shí),流水線就把在分支指令之后取出的指令轉(zhuǎn)化為空操作,并按分支目標(biāo)地址重新取指令執(zhí)行。預(yù)測分支成功:當(dāng)流水線ID段檢測到分支指令后,一旦計(jì)算出了分支目標(biāo)地址,就開始從該目標(biāo)地址取指令執(zhí)行。(3)延遲分支:主要思想是從邏輯上“延長”分支指令的執(zhí)行時(shí)間。把延遲分支看成是由原

21、來的分支指令和若干個(gè)延遲槽構(gòu)成。不管分支是否成功,都要按順序執(zhí)行延遲槽中的指令。3種方法的共同特點(diǎn):它們對(duì)分支的處理方法在程序的執(zhí)行過程中始終是不變的。它們要么總是預(yù)測分支成功,要么總是預(yù)測分支失敗。簡述延遲分支方法中的三種調(diào)度策略的優(yōu)缺點(diǎn)。調(diào)度策略對(duì)調(diào)度的要求對(duì)流水線性能改善的影響從前調(diào)度分支必須不依賴于被調(diào)度的指令總是可以有效提咼流水線性能從目標(biāo)處調(diào)度如果分支轉(zhuǎn)移失敗,必須保證被調(diào)度的指令對(duì)程序的執(zhí)行沒有影響,可能需要復(fù)制被調(diào)度指令分支轉(zhuǎn)移成功時(shí),可以提高流水線性能。但由于復(fù)制指令,可能加大程序空間從失敗處如果分支轉(zhuǎn)移成功,必須保證被調(diào)度分支轉(zhuǎn)移失敗時(shí),可以提高流調(diào)度的指令對(duì)程序的執(zhí)行沒有

22、影響水線性能3.9列舉出下面循環(huán)中的所有相關(guān),包括輸出相關(guān)、反相關(guān)、真相關(guān)。for(i=2;i100;i=i+1)ai=bi+ai;/*s1*/ai=bi+ai;/*s1*/ci+1=ai+di/*s2*/ai-1=2*bi;/*s3*/bi+1=2*bi;/*s4*/解:展開循環(huán)兩次:ai=bi+ai;/*s1*/ci+1=ai+di;/*s2*/ai-1=2*bi;/*s3*/bi+1=2*bi;/*s4*/ai+1=bi+1+ai+1;/*s1*/ci+2=ai+1+di+1;/*s2*/ai=2*bi+1;/*s3*/bi+2=2*bi+1;/*s4*/輸出相關(guān):無反相關(guān):無真相關(guān):S

23、1&S2由于循環(huán)引入的相關(guān):S4&S4(真相關(guān))、S1&S4(真相關(guān))、S3&S4(真相關(guān))、S1&S3(輸出相關(guān)、反相關(guān))、S2&S3(反相關(guān))。有一指令流水線如下所示(1)求連續(xù)輸入10條指令,該流水線的實(shí)際吞吐率和效率;(2)該流水線的“瓶頸”在哪一段?請(qǐng)采取兩種不同的措施消除此“瓶頸”。對(duì)于你所給出的兩種新的流水線,連續(xù)輸入10條指令時(shí),其實(shí)際吞吐率和效率各是多少?解:(1)(2)瓶頸在3、4段。變成八級(jí)流水線(細(xì)分)重復(fù)設(shè)置部件3.14有一條靜態(tài)多功能流水線由5段組成,加法用1、3、4、5段,乘法用1、2、5段,第3段的時(shí)間為2At,其余各段的時(shí)間均為At,而且流水線的輸出可以直接返

24、回輸入端或畫出其時(shí)暫存于相該流水線畫出其時(shí)暫存于相該流水線上計(jì)空?qǐng)D,并計(jì)算其吞吐率、加速比和效率。解:首先,應(yīng)選擇適合于流水線工作的算法。對(duì)于本題,應(yīng)先計(jì)算A+B、A+B、A11223+B和A+B;再計(jì)算(A+B)X(A+B)和(A+B)X(A+B);然后求總的結(jié)果。34411223344CXDBDBCXDBDB1B2B3B4其次,畫出完成該計(jì)算的時(shí)空?qǐng)D,如圖所示,圖中陰影部分表示該段在工作。由圖可見,它在18個(gè)At時(shí)間中,給出了7個(gè)結(jié)果。所以吞吐率為:如果不用流水線,由于一次求積需3At,次求和需5At,則產(chǎn)生上述7個(gè)結(jié)果共需(4X5+3X3)At=2941。所以加速比為:該流水線的效率可由

25、陰影區(qū)的面積和5個(gè)段總時(shí)空區(qū)的面積的比值求得:3.15動(dòng)態(tài)多功能流水線由6個(gè)功能段組成,如下圖:其中,S1、S4、S5、S6組成乘法流水線,S1、S2、S3、S6組成加法流水線,各個(gè)功能段時(shí)間均為50ns,假設(shè)該流水線的輸出結(jié)果可以直接返回輸入端,而且設(shè)置有足夠的緩沖寄存器,若以最快的方式用該流水計(jì)算:丘xyziiii=1畫出時(shí)空?qǐng)D;計(jì)算實(shí)際的吞吐率、加速比和效率。解:機(jī)器一共要做10次乘法,4次加法。第5章存儲(chǔ)層次5.2簡述“Cache主存”層次與“主存一輔存”層次的區(qū)別。答:、存儲(chǔ)層次比較項(xiàng)目、“Cache主存”層次“主存一輔存”層次目的為了彌補(bǔ)主存速度的不足為了彌補(bǔ)主存容量的不足存儲(chǔ)管理

26、的實(shí)現(xiàn)全部由專用硬件實(shí)現(xiàn)主要由軟件實(shí)現(xiàn)訪問速度的比值(第一級(jí)比第二級(jí))幾比一幾萬比一典型的塊(頁)大小幾十個(gè)字節(jié)幾百到幾千個(gè)字節(jié)CPU對(duì)第二級(jí)的訪問方式可直接訪問均通過第一級(jí)不命中時(shí)CPU是否切換不切換切換到其它進(jìn)程5.3地址映象方法有哪幾種?它們各有什么優(yōu)缺點(diǎn)?答:(1)全相聯(lián)映象。實(shí)現(xiàn)查找的機(jī)制復(fù)雜,代價(jià)高,速度慢。Cache空間的利用率較高,塊沖突概率較低,因而Cache的失效率也低。(2)直接映象。實(shí)現(xiàn)查找的機(jī)制簡單,速度快。Cache空間的利用率較低,塊沖突概率較高,因而Cache的失效率也高。(3)組相聯(lián)映象。組相聯(lián)是直接映象和全相聯(lián)的一種折衷。5.4降低Cache失效率有哪幾種方

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

28、方法,在編譯時(shí)加入預(yù)取的指令,在數(shù)據(jù)被用到之前發(fā)出預(yù)取請(qǐng)求。編譯器優(yōu)化,通過對(duì)軟件的優(yōu)化來降低失效率。“犧牲”Cache。在Cache和其下一級(jí)存儲(chǔ)器的數(shù)據(jù)通路之間增設(shè)一個(gè)全相聯(lián)的小Cache,存放因沖突而被替換出去的那些塊。每當(dāng)發(fā)生不命中時(shí),在訪問下一級(jí)存儲(chǔ)器之前,先檢查“犧牲”Cache中是否含有所需的塊。如果有,就將該塊與Cache中某個(gè)塊做交換,把所需的塊從“犧牲”Cache調(diào)入Cache。5.5簡述減小Cache失效開銷的幾種方法。答:讓讀失效優(yōu)先于寫、寫緩沖合并、請(qǐng)求字處理技術(shù)、非阻塞Cache或非鎖定Cache技術(shù)、采用二級(jí)Cache。5.6通過編譯器對(duì)程序優(yōu)化來改進(jìn)Cache性

29、能的方法有哪幾種?簡述其基本思想。答:(1)數(shù)組合并。通過提高空間局部性來減少失效次數(shù)。有些程序同時(shí)用相同的索引來訪問若干個(gè)數(shù)組的同一維,這些訪問可能會(huì)相互干擾,導(dǎo)致沖突失效,可以將這些相互獨(dú)立的數(shù)組合并成一個(gè)復(fù)合數(shù)組,使得一個(gè)Cache塊中能包含全部所需元素。(2)內(nèi)外循環(huán)交換。循環(huán)嵌套時(shí),程序沒有按數(shù)據(jù)在存儲(chǔ)器中的順序訪問。只要簡單地交換內(nèi)外循環(huán),就能使程序按數(shù)據(jù)在存儲(chǔ)器中的存儲(chǔ)順序進(jìn)行訪問。(3)循環(huán)融合。有些程序含有幾部分獨(dú)立的程序段,它們用相同的循環(huán)訪問同樣的數(shù)組,對(duì)相同的數(shù)據(jù)作不同的運(yùn)算。通過將它們?nèi)诤铣梢粋€(gè)單一循環(huán),能使讀入Cache的數(shù)據(jù)被替換出去之前得到反復(fù)的使用。分塊。通過

30、改進(jìn)時(shí)間局部性來減少失效。分塊不是對(duì)數(shù)組的整行或整列進(jìn)行訪問,而是對(duì)子矩陣或塊進(jìn)行操作。5.7在“Cache主存”層次中,主存的更新算法有哪兩種?它們各有什么特點(diǎn)?答:(1)寫直達(dá)法。易于實(shí)現(xiàn),而且下一級(jí)存儲(chǔ)器中的數(shù)據(jù)總是最新的。(2)寫回法。速度快,“寫”操作能以Cache存儲(chǔ)器的速度進(jìn)行。而且對(duì)于同一單元的多個(gè)寫最后只需一次寫回下一級(jí)存儲(chǔ)器,有些“寫”只到達(dá)Cache,不到達(dá)主存,因而所使用的存儲(chǔ)器頻帶較低。5.8組相聯(lián)Cache的失效率比相同容量直接映象Cache的失效率低。由此能否得出結(jié)論:采用組相聯(lián)一定能帶來性能上的提高?為什么?答:不一定。因?yàn)榻M相聯(lián)命中率的提高是以增加命中時(shí)間為代

31、價(jià)的,組相聯(lián)需要增加多路選擇開關(guān)。5.9寫出三級(jí)Cache的平均訪問時(shí)間的公式。解:平均訪存時(shí)間=命中時(shí)間+失效率X失效開銷只有第I層失效時(shí)才會(huì)訪問第1+1。設(shè)三級(jí)Cache的命中率分別為Hli、町2、Hl3,失效率分別為Mii、M2、Ml3,第三級(jí)Cache的失效開銷為PL3。平均訪問時(shí)間Ta=Hli+MiiH12+M12(Hl3+Ml3XPl3)5.10假設(shè)對(duì)指令Cache的訪問占全部訪問的75%;而對(duì)數(shù)據(jù)Cache的訪問占全部訪問的25%。Cache的命中時(shí)間為1個(gè)時(shí)鐘周期,失效開銷為50個(gè)時(shí)鐘周期,在混合Cache中一次load或store操作訪問Cache的命中時(shí)間都要增加一個(gè)時(shí)鐘周期,32KB的指令Cache的失效率為0.39%,32KB的數(shù)據(jù)Cache的失效率為4.82%,64KB的混合Cache的失效率為1.35%。又假設(shè)采用寫直達(dá)策略,且有一個(gè)寫緩沖器,并且忽略寫緩沖器引起的等待。試問指令Cache和數(shù)據(jù)Cache容量均為32KB的分離Cache和容量為64KB的混合Cache相比,哪種Cache的失效率更低?兩種情況下平均訪存時(shí)間各是多少?解:(1)根據(jù)題意,約75%的訪存為取指令。因此,分離Cache的總體失效率為

溫馨提示

  • 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)論