計算機體系結(jié)構(gòu)課后習(xí)題課后答案-3計算機體系結(jié)構(gòu)課后習(xí)題課后答案-3計算機體系結(jié)構(gòu)課后習(xí)題課后答案-1-3章_第1頁
計算機體系結(jié)構(gòu)課后習(xí)題課后答案-3計算機體系結(jié)構(gòu)課后習(xí)題課后答案-3計算機體系結(jié)構(gòu)課后習(xí)題課后答案-1-3章_第2頁
計算機體系結(jié)構(gòu)課后習(xí)題課后答案-3計算機體系結(jié)構(gòu)課后習(xí)題課后答案-3計算機體系結(jié)構(gòu)課后習(xí)題課后答案-1-3章_第3頁
計算機體系結(jié)構(gòu)課后習(xí)題課后答案-3計算機體系結(jié)構(gòu)課后習(xí)題課后答案-3計算機體系結(jié)構(gòu)課后習(xí)題課后答案-1-3章_第4頁
計算機體系結(jié)構(gòu)課后習(xí)題課后答案-3計算機體系結(jié)構(gòu)課后習(xí)題課后答案-3計算機體系結(jié)構(gòu)課后習(xí)題課后答案-1-3章_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章計算機系統(tǒng)結(jié)構(gòu)的基本概念

1.1解釋下列術(shù)語

層次機構(gòu):按照計算機語言從低級到高級的次序,把計算機系統(tǒng)按功能劃分成多級層次結(jié)構(gòu),

每一層以i種不同的語言為特征。這些層次依次為:微程序機器級,傳統(tǒng)機器語言機器級,

匯編語言機器級,高級語言機器級,應(yīng)用語言機器級等。

虛擬機:用軟件實現(xiàn)的機器。

翻譯:先用轉(zhuǎn)換程序把高一級機器上的程序轉(zhuǎn)換為低一級機器上等效的程序,然后再在這低

一級機器上運行,實現(xiàn)程序的功能。

解釋:對于高一級機器上的程序中的每一條語句或指令,都是轉(zhuǎn)去執(zhí)行低一級機器上的一段

等效程序。執(zhí)行完后,再去高一級機器取下一條語句或指令,再進行解釋執(zhí)行,如此反復(fù),

直到解釋執(zhí)行完整個程序。

計算機系統(tǒng)結(jié)構(gòu):傳統(tǒng)機器程序員所看到的計算機屬性,即概念性結(jié)構(gòu)與功能特性。

在計算機技術(shù)中,把這種本來存在的事物或?qū)傩?,但從某種角度看又好像不存在的概念稱為

透明性。

計算機組成:計算機系統(tǒng)結(jié)構(gòu)的邏輯實現(xiàn),包含物理機器級中的數(shù)據(jù)流和控制流的組成以及

邏輯設(shè)計等。

計算機實現(xiàn):計算機組成的物理實現(xiàn),包括處理機、主存等部件的物理結(jié)構(gòu),器件的集成度

和速度,模塊、插件、底板的劃分與連接,信號傳輸,電源、冷卻及整機裝配技術(shù)等。

系統(tǒng)加速比:對系統(tǒng)中某部分進行改進時,改進后系統(tǒng)性能提高的倍數(shù)。

Amdahl定律:當對一個系統(tǒng)中的某個部件進行改進后,所能獲得的整個系統(tǒng)性能的提高,

受限于該部件的執(zhí)行時間占總執(zhí)行時間的百分比。

程序的局部性原理:程序執(zhí)行時所訪問的存儲器地址不是隨機分布的,而是相對地簇聚。包

括時間局部性和空間局部性。

CPI:每條指令執(zhí)行的平均時鐘周期數(shù)。

測試程序套件:由各種不同的真實應(yīng)用程序構(gòu)成的一組測試程序,用來測試計算機在各個方

面的處理性能。

存儲程序計算機:馮?諾依曼結(jié)構(gòu)計算機。其基本點是指令驅(qū)動。程序預(yù)先存放在計算機存

儲器中,機器一旦啟動,就能按照程序指定的邏輯順序執(zhí)行這些程序,自動完成由程序所描

述的處理工作。

系列機:由同一廠家生產(chǎn)的具有相同系統(tǒng)結(jié)構(gòu)、但具有不同組成和實現(xiàn)的一系列不同型號的

計算機。

軟件兼容:一個軟件可以不經(jīng)修改或者只需少量修改就可以由一臺計算機移植到另一臺計算

機上運行。差別只是執(zhí)行時間的不同。

向上(下)兼容:按某檔計算機編制的程序,不加修改就能運行于比它高(低)檔的計算機。

向后(前)兼容:按某個時期投入市場的某種型號計算機編制的程序,不加修改地就能運行

于在它之后(前)投入市場的計算機。

兼容機:由不同公司廠家生產(chǎn)的具有相同系統(tǒng)結(jié)構(gòu)的計算機。

模擬:用軟件的方法在一臺現(xiàn)有的計算機(稱為宿主機)上實現(xiàn)另一臺計算機(稱為虛擬機)

的指令系統(tǒng)。

仿真:用臺現(xiàn)有計算機(稱為宿主機)上的微程序去解釋實現(xiàn)另臺計算機(稱為目標機)

的指令系統(tǒng)。

并行性:計算機系統(tǒng)在同一時刻或者同一時間間隔內(nèi)進行多種運算或操作。只要在時間上相

互重疊,就存在并行性。它包括同時性與并發(fā)性兩種含義。

時間重疊:在并行性概念中引入時間因素,讓多個處理過程在時間上相互錯開,輪流重疊地

使用同一套硬件設(shè)備的各個部分,以加快硬件周轉(zhuǎn)而贏得速度。

資源重復(fù):在并行性概念中引入空間因素,以數(shù)量取勝。通過重復(fù)設(shè)置硬件資源,大幅度地

提高計算機系統(tǒng)的性能。

資源共享:這是一種軟件方法,它使多個任務(wù)按一定時間順序輪流使用同一套硬件設(shè)備。

耦合度;反映多機系統(tǒng)中各計算機之間物理連接的緊密程度和交互作用能力的強弱。

緊密耦合系統(tǒng):又稱直接耦合系統(tǒng)。在這種系統(tǒng)中,計算機之間的物理連接的頻帶較高,一

般是通過總線或高速開關(guān)互連,可以共享主存。

松散耦合系統(tǒng):又稱間接耦合系統(tǒng),一般是通過通道或通信線路實現(xiàn)計算機之間的互連,可

以共享外存設(shè)備(磁盤、磁帶等)。計算機之間的相互作用是在文件或數(shù)據(jù)集一級上進行。

異構(gòu)型多處理機系統(tǒng):由多個不同類型、至少擔負不同功能的處理機組成,它們按照作業(yè)要

求的順序,利用時間重疊原理,依次對它們的多個任務(wù)進行加工,各自完成規(guī)定的功能動作。

同構(gòu)型多處理機系統(tǒng):由多個同類型或至少擔負同等功能的處理機組成,它們同時處理同一

作業(yè)中能并行執(zhí)行的多個任務(wù)。

1.2試用實例說明計算機系統(tǒng)結(jié)構(gòu)、計算機組成與計算機實現(xiàn)之間的相互關(guān)系。

答:如在設(shè)計主存系統(tǒng)時,確定主存容量、編址方式、尋址范圍等屬于計算機系統(tǒng)結(jié)構(gòu)。

確定主存周期、邏輯上是否采用并行主存、邏輯設(shè)計等屬于計算機組成。選擇存儲芯片類型、

微組裝技術(shù)、線路設(shè)計等屬于計算機實現(xiàn)。

計算機組成是計算機系統(tǒng)結(jié)構(gòu)的邏輯實現(xiàn)。計算機實現(xiàn)是計算機組成的物理實現(xiàn)。一種

體系結(jié)構(gòu)可以有多種組成。一種組成可以有多種實現(xiàn).

1.3計算機系統(tǒng)結(jié)構(gòu)的Flynn分類法是按什么來分類的?共分為哪幾類?

答:Flynn分類法是按照指令流和數(shù)據(jù)流的多倍性進行分類。把計算機系統(tǒng)的結(jié)構(gòu)分為:

(1)單指令流單數(shù)據(jù)流SISD

(2)單指令流多數(shù)據(jù)流SIMD

(3)多指令流單數(shù)據(jù)流MISD

(4)多指令流多數(shù)據(jù)流MIMD

1.4計算機系統(tǒng)設(shè)計中經(jīng)常使用的4個定量原理是什么?并說出它們的含義。

答:

(1)以經(jīng)常性事件為重點。在計算機系統(tǒng)的設(shè)計中,對經(jīng)常發(fā)生的情況,賦予它優(yōu)先

的處理權(quán)和資源使用權(quán),以得到更多的總體上的改進。

(2)Amdahl定律。加快某部件執(zhí)行速度所獲得的系統(tǒng)性能加速比,受限于該部件在系

統(tǒng)中所占的重要性。

(3)CPU性能公式。執(zhí)行一個程序所需的CPU時間=ICXCP/X時鐘周期時間。

(4)程序的局部性原理。程序在執(zhí)行時所訪問地址的分布不是隨機的,而是相對地簇

聚。

1.5分別從執(zhí)行程序的角度和處理數(shù)據(jù)的角度來看,計算機系統(tǒng)中并行性等級從低到高

可分為哪兒級?

答:從處理數(shù)據(jù)的角度來看,并行性等級從低到高可分為:

(1)字串位串:每次只對一個字的一位進行處理。這是最基本的串行處理方式,不存

在并行性;

(2)字串位并;同時對一個字的全部位進行處理,不同字之間是串行的。已開始出現(xiàn)

并行性;

(3)字并位串:同時對許多字的同一位(稱為位片)進行處理。這種方式具有較高的

并行性;

(4)全并行:同時對許多字的全部位或部分位進行處理。這是最高一級的并行。

從執(zhí)行程序的角度來看,并行性等級從低到高可分為:

(1)指令內(nèi)部并行:單條指令中各微操作之間的并行;

(2)指令級并行:并行執(zhí)行兩條或兩條以上的指令;

(3)線程級并行:并行執(zhí)行兩個或兩個以上的線程,通常是以一個進程內(nèi)派生的多個

線程為調(diào)度單位;

(4)任務(wù)級或過程級并行:并行執(zhí)行兩個或兩個以上的過程或任務(wù)(程序段),以子程

序或進程為調(diào)度單元;

(5)作業(yè)或程序級并行:并行執(zhí)行兩個或兩個以上的作業(yè)或程序。

1.6某臺主頻為400MHz的計算機執(zhí)行標準測試程序,程序中指令類型、執(zhí)行數(shù)量和平

均時鐘周期數(shù)如下:

指令類型指令執(zhí)行數(shù)量平均時鐘周期數(shù)

整數(shù)450001

數(shù)據(jù)傳送750002

浮點80004

分支15002

求該計算機的有效CPI、MIPS和程序執(zhí)行時嘰

解:(1)CPI=(45000X1+75000X2+8000X4+1500X2)/129500=1.776

(2)MIPS速率="CPI=400/1.776=225.225MIPS

(3)程序執(zhí)行時間二(45030X1+75000X2+8000X4+1500X2)/400=575Ps

1.7將計算機系統(tǒng)中某一功能的處理速度加快10倍,但該功能的處理時間僅為整個系

統(tǒng)運行時間的40%,則采用此增強功能方法后,能使整個系統(tǒng)的性能提高多少?

解由題可知:可改進比例=40%=0.4部件加速比=10

根據(jù)Amdahl定律可知:

1

系統(tǒng)加速比==1.5625

采用此增強功能方法后,能使整個系統(tǒng)的性能提高到原來的1.5625倍。

1.8計算機系統(tǒng)中有三個部件可以改進,這三個部件的部件加速比為:

部件加速比尸30;部件加速比2=20;部件加速比3=10

(1)如果部件1和部件2的可改進比例均為30%,那么當部件3的可改進比例為多

少時,系統(tǒng)加速比才可以達到10?

(2)如果三個部件的可改進比例分別為30%、30%和20%,三個部件同時改進,那么

系統(tǒng)中不可加速部分的執(zhí)行時間在總執(zhí)行時間中占的比例是多少?

解:(1)在多個部件可改進情況下,Amdahl定理的擴展:

(1?)+Z?

已知Si-30,S2-20,S3-10,Sn-10,Fl-0.3,F2-O.3,得:

10=-----------------------------!-----------------------------

1-(0.3+0.3++(0.3/30+0.3/20+/10)

得F3=0.36,即部件3的可改進比例為36%。

(2)設(shè)系統(tǒng)改進前的執(zhí)行時間為T,則3個部件改進前的執(zhí)行時間為:(0.3+0.3+0.2)

T=0.8T,不可改進部分的執(zhí)行時間為0.2T。

已知3個部件改進后的加速比分別為Si=30,S2=20,S3=10,因此3個部件改進后的

執(zhí)行時間為:

城0.3T0.3T0.2T八八彳門

T=------+-------+-------=0.045T

“n302010

改進后整個系統(tǒng)的執(zhí)行時間為:Tn=0.045T+0.2T=0.245T

那么系統(tǒng)中不可改進部分的執(zhí)行時間在總執(zhí)行時間中占的比例是:

0.2T

0.82

0.245T

1.9假設(shè)某應(yīng)用程序中有4類操作,通過改進,各操作獲得不同的性能提高。具體數(shù)據(jù)

如下表所示:

程序中的數(shù)量改進前的執(zhí)行時間改進后的執(zhí)行時間

操作類型

(百萬條指令)(周期)(周期)

操作11021

操作2302015

操作335103

操作41541

(1)改進后,各類操作的加速比分別是多少?

(2)各類操作單獨改進后,程序獲得的加速比分別是多少?

(3)4類操作均改進后,整個程序的加速比是多少?

解:根據(jù)Amdahl定律S“=----!———可得

re

(1-Fe)+—

Se

各類操作的指令條數(shù)在程序各類操作單獨改進后,程

操作類型各類操作的加速比Si

中執(zhí)行時間所占的比例Fi序獲得的加速比

操作120/1030=1.9%21.01

操作2600/1030=58.3%1.331.17

操作3350/1030=34.0%3.331.73

操作460/1030=5.8%41.04

4類操作均改進后,整個程序的加速比:

S?=-------!-----—?2.16改為1.77

(1-Z號)+21

第2章指令集結(jié)構(gòu)的分類

2.1解釋下列術(shù)語

堆棧型機器:CPU中存儲操作數(shù)的單元是堆棧的機器。

累加器型機器:CPU中存儲操作數(shù)的單元是累加器的機器。

通用寄存器型機器:CPU中存儲操作數(shù)的單元是通用寄存器的機器。

CISC:復(fù)雜指令集計算機

RISC:精簡指令集計算機

尋址方式:指令系統(tǒng)中如何形成所要訪問的數(shù)據(jù)的地址。一般來說,尋址方式可以指明

指令中的操作數(shù)是一個常數(shù)、一個寄存器操作數(shù)或者是一個存儲器操作數(shù)。

數(shù)據(jù)表示:硬件結(jié)構(gòu)能夠識別、指令系統(tǒng)可以直接調(diào)用的那些數(shù)據(jù)結(jié)構(gòu)。

2.2區(qū)別不同指令集結(jié)構(gòu)的主要因素是什么?根據(jù)這個主要因素可將指令集結(jié)構(gòu)分為哪

3類?

答:區(qū)別不同指令集結(jié)構(gòu)的主要囚素是CPU中用來存儲操作數(shù)的存儲單元。據(jù)此可將指

令系統(tǒng)結(jié)構(gòu)分為堆棧結(jié)構(gòu)、累加器結(jié)構(gòu)和通用寄存器結(jié)構(gòu)。

2.3常見的3種通用寄存器型指令集結(jié)構(gòu)的優(yōu)缺點有哪些?

答:

指令系統(tǒng)結(jié)構(gòu)類型優(yōu)點缺點

指令字長固定,指令結(jié)構(gòu)簡

與指令中含存儲器操作數(shù)的指令系統(tǒng)結(jié)構(gòu)相比,

寄存器-寄存器型潔,是一種簡單的代碼生成

指令條數(shù)多,目標代碼不夠緊湊,因而程序占用

(0,3)模型,各種指令的執(zhí)行時鐘

的空間比較大。

周期數(shù)相近。

由于有一個操作數(shù)的內(nèi)容珞被破壞,所以指令中

可以在ALU指令中直接對

的兩個操作數(shù)不對稱。在一條指令中同時對寄存

存儲器操作數(shù)進行引用,而

寄存器-存儲器型器操作數(shù)和存儲器操作數(shù)進行編碼,有可能限制

不必先用load指令進行加

(1,2)指令所能夠表示的寄存器個數(shù).指令的執(zhí)行時鐘

載。容易對指令進行編碼,

周期數(shù)因操作數(shù)的來源(寄存器或存儲器)不同

目標代碼比較緊湊。

而差別比較大。

指令字長變化很大,特別是3操作數(shù)指令。而且

存儲器-存儲器型目標代碼最緊湊,不需要設(shè)每條指令完成的工作也差別很大。對存儲器的頻

(2,2)或(3,3)置寄存器來保存變量。繁訪問會使存儲器成為瓶頸。這種類型的指令系

統(tǒng)現(xiàn)在已不用了。

2.4指令集應(yīng)滿足哪幾個基本要求?

答:對指令集的基本要求是:完整性、規(guī)整性、高效率和兼容性c

完整性是指在一個有限可用的存儲空間內(nèi),對于任何可解的問題:編制計算程序時,指

令集所提供的指令足夠使用。

規(guī)整性主要包括對稱性和均勻性。對稱性是指所有與指令集有關(guān)的存儲單元的使用、操

作碼的設(shè)置等都是對稱的。均勻性是指對于各種不同的操作數(shù)類型、字長、操作種類和數(shù)據(jù)

存儲單元,指令的設(shè)置都要同等對待。

高效率是指指令的執(zhí)行速度快、使用頻度高。

2.5指令集結(jié)構(gòu)設(shè)計所涉及的內(nèi)容有哪些?

答:(1)指令集功能設(shè)計:主要有RISC和CISC兩種技術(shù)發(fā)展方向;(2)尋址方式的

設(shè)計:設(shè)置尋址方式可以通過對基準程序進行測試統(tǒng)計,察看各種尋址方式的使用頻率,根

據(jù)適用頻率設(shè)置必要的尋址方式。(3)操作數(shù)表示和操作數(shù)類型:主要的操作數(shù)類型和操

作數(shù)表示的選擇有:浮點數(shù)據(jù)類型、整型數(shù)據(jù)類型、字符型、十進制數(shù)據(jù)類型等等。(4)尋

址方式的表示:可以將尋址方式編碼于操作碼中,也可以將尋址方式作為一個單獨的域來表

示。(5)指令集格式的設(shè)計:有變長編碼格式、固定長度編碼格式和混合型編碼格式3種。

2.6簡述CISC指令集結(jié)構(gòu)功能設(shè)計的主要目標。從當前的計算機技術(shù)觀點來看,CISC

指令集結(jié)構(gòu)的計算機有什么缺點?

答:主要目標是增強指令功能,把越來越多的功能交由硬件來實現(xiàn),并且指令的數(shù)量也

是越來越多。

缺點:

(1)CISC結(jié)構(gòu)的指令集中,各種指令的使用頻率相差懸殊。

(2)CISC結(jié)構(gòu)指令的復(fù)雜性帶來了計算機體系結(jié)構(gòu)的復(fù)雜性,這不僅增加了研制時間

和成本,而且還容易造成設(shè)計錯誤。

(3)CISC結(jié)構(gòu)指令集的復(fù)雜性給VLSI設(shè)計增加了很大負擔,不利于單片集成。

(4)CISC結(jié)構(gòu)的指令集中,許多復(fù)雜指令需要很復(fù)雜的操作,因而運行速度慢。

(5)在CISC結(jié)構(gòu)的指令集中,由于各條指令的功能不均衡性,不利于采用先進的計

算機體系結(jié)構(gòu)技術(shù)(如流水技術(shù))來提高系統(tǒng)的性能。

2.7簡述RISC指令集結(jié)構(gòu)的設(shè)計原則。

答:

(1)選取使用頻率最高的指令,并補充一些最有用的指令;

(2)每條指令的功能應(yīng)盡可能簡單,并在一個機器周期內(nèi)完成;

(3)所有指令長度均相同;

(4)只有Load和Store操作指令才訪問存儲器,其它指令操作均在寄存器之間進行;

<5)以簡單有效的方式支持高級語言。

2.8指令中表示操作數(shù)類型的方法有哪幾種?

答:操作數(shù)類型有兩種表示方法:

(1)操作數(shù)的類型由操作碼的編碼指定,這是最常見的一種方法;

(2)數(shù)據(jù)可以附上由硬件解釋的標記,由這些標記指定操作數(shù)的類型,從而選擇適當

的運算。

2.9表示尋址方式的主要方法有哪些?簡述這些方法的優(yōu)缺點。

答:表示尋址方式有兩種常用的方法:

(1)將尋址方式編于操作碼中,由操作碼在描述指令的同時也描述了相應(yīng)的尋址方式。

這種方式譯碼快,但操作碼和尋址方式的結(jié)合不僅增加了指令的條數(shù),導(dǎo)致了指令的多樣性,

而且增加了CPU對指令譯碼的難度。

(2)為每個操作數(shù)設(shè)置一個地址描述符,由該地址描述符表示相應(yīng)操作數(shù)的尋址方式。

這種方式譯碼較慢,但操作碼和尋址獨立,易于指令擴展。

2.10通常有哪幾種指令格式,請簡述其適用范圍。

答:

(1)變長編碼格式。如果系統(tǒng)結(jié)構(gòu)設(shè)計者感興趣的是程序的目標代碼大小,而不是性

能,就可以采用變長編碼格式。

(2)固定長度編碼格式。如果感興趣的是性能,而不是程序的目標代碼大小,則可以

選擇固定長度編碼格式。

(3)混合型編碼格式。需要兼顧降低目標代碼長度和降低譯碼復(fù)雜度時,可以采用混

合型編碼格式。

2.11根據(jù)CPU性能公式簡達RISC指令集結(jié)構(gòu)計算機和CISC指令集結(jié)構(gòu)計算機的性

能特點。

答:CPU性能公式:CPU時間=ICXCPIXT

其中,【C為目標程序被執(zhí)行的指令條數(shù),CPI為指令平均執(zhí)行周期數(shù),T是時鐘周期的

時間。

相同功能的CISC目標程序的指令條數(shù)ICcisc少于RISC的ICRISC,但是CISC的CPIcisc

和TQSC都大于RISC的CPIRISC和TRISC,因此,CISC目標程序的執(zhí)行時間比RISC的更長。

第3章流水線技術(shù)

3.1解釋下列術(shù)語

流水線:將一個重復(fù)的時序過程,分解成為若干個子過程,而每一個子過程都可有效地在其

專用功能段上與其它子過程同時執(zhí)行。

單功能流水線:指流水線的各段之間的連接固定不變、只能完成一種固定功能的流水線。

多功能流水線:指各段可以進行不同的連接,以實現(xiàn)不同的功能的流水線.

靜態(tài)流水線:指在同一時間內(nèi),多功能流水線中的各段只能按同一種功能的連接方式工作的

流水線。當流水線要切換到另一種功能時,必須等前面的任務(wù)都流出流水線之后,才能改變

連接。

動態(tài)流水線:指在同一時間內(nèi),多功能流水線中的各段可以按照不同的方式連接,同時執(zhí)行

多種功能的流水線。它允許在某些段正在實現(xiàn)某種運算時,另一些段卻在實現(xiàn)另一種運算。

部件級流水線:把處理機中的部件進行分段,再把這些部件分段相互連接而成。它使得運算

操作能夠按流水方式進行。這種流水線也稱為運算操作流水線。

處理機級流水線:又稱指令流水線。它是把指令的執(zhí)行過程按照流水方式進行處理,即把一

條指令的執(zhí)行過程分解為若干個子過程,每個子過程在獨立的功能部件中執(zhí)行。

處理機間流水線:又稱為宏流水線。它是把多個處理機串行連接起來,對同一數(shù)據(jù)流進行處

理,每個處理機完成整個任務(wù)中的一部分。前一個處理機的輸出結(jié)果存入存儲器中,作為后

一個處理機的輸入。

線性流水線:指各段串行連接、沒有反饋回路的流水線。數(shù)據(jù)通過流水線中的各段時,每一

個段最多只流過一次。

非線性流水線:指各段除了有串行的連接外,還有反饋回路的流水線。

順序流水線:流水線輸出端任務(wù)沆出的順序與輸入端任務(wù)流入的順序完全相同。

亂序流水線:流水線輸出端任務(wù)流出的順序與輸入端任務(wù)流入的順序可以不同,允許后進入

流水線的任務(wù)先完成。這種流水線又稱為無序流水線、錯序流水線、異步流水線。

吞吐率:在單位時間內(nèi)流水線所完成的任務(wù)數(shù)量或輸出結(jié)果的數(shù)量。

流水線的加速比:使用順序處理方式處理?批任務(wù)所用的時間與按流水處理方式處理同?批

任務(wù)所用的時間之比。

流水線的效率:即流水線設(shè)備的利用率,它是指流水線中的設(shè)備實際使用時間與整個運行時

間的比值。

數(shù)據(jù)相關(guān):考慮兩條指令i和j,i在j的前面,如果下述條件之一成立,則稱指令/與指令

i數(shù)據(jù)相關(guān):

(1)指令/使用指令i產(chǎn)生的結(jié)果;

(2)指令j與指令上數(shù)據(jù)相關(guān),而指令女又與指令i數(shù)據(jù)相關(guān)。

名相關(guān):如果兩條指令使用了相同的名,但是它們之間并沒有數(shù)據(jù)流動,則稱這兩條指令存

在名相關(guān)。

控制相關(guān):是指由分支指令引起的相關(guān)。它需要根據(jù)分支指令的執(zhí)行結(jié)果來確定后面該執(zhí)行

哪個分支上的指令。

反相關(guān):考慮兩條指令,和?在,的前面,如果指令)所寫的名與指令i所讀的名相同,

則稱指令i和/發(fā)生了反相關(guān)。

輸出相關(guān):考慮兩條指令i和,,i在/的前面,如果指令/和指令i所寫的名相同,則稱指

令i和,發(fā)生了輸出相關(guān)。

換名技術(shù):名相關(guān)的兩條指令之間并沒有數(shù)據(jù)的傳送,只是使用了相同的名。可以把其中一

條指令所使用的名換成別的,以此來消除名相關(guān)。

結(jié)構(gòu)沖突:因硬件資源滿足不了指令重疊執(zhí)行的要求而發(fā)生的沖突。

數(shù)據(jù)沖突:當指令在流水線中重登執(zhí)行時,因需要用到前面指令的執(zhí)行結(jié)果而發(fā)生的沖突。

控制沖突:流水線遇到分支指令或其它會改變PC值的指令所引起的沖突。

定向:用來解決寫后讀沖突的。在發(fā)生寫后讀相關(guān)的情況下,在計算結(jié)果尚未出來之前,后

面等待使用該結(jié)果的指令并不見得是馬上就要用該結(jié)果。如果能夠?qū)⒃撚嬎憬Y(jié)果從其產(chǎn)生的

地方直接送到其它指令需要它的地方,那么就可以避免停頓。

寫后讀沖突:考慮兩條指令i和j,且i在j之前進入流水線,指令j用到指令i的計算結(jié)果,

而且在i將結(jié)果寫入寄存器之前就去讀該寄存器,因而得到的是舊值。

讀后寫沖突:考慮兩條指令i和j,且i在j之前進入流水線,指令j的目的寄存器和指令i

的源操作數(shù)寄存器相同,而且j在i讀取該寄存器之前就先對它進行了寫操作,導(dǎo)致i讀到

的值是錯誤的。

寫后寫沖突:考慮兩條指令i和j,且i在j之前進入流水線,,指令j和指令i的結(jié)果單元(寄

存器或存儲器單元)相同,而且j在i寫入之前就先對該單元進行了寫入操作,從而導(dǎo)致寫

入順序錯誤。這時在結(jié)果單元中留下的是i寫入的值,而不是j寫入的。

鏈接技術(shù):具有先寫后讀相關(guān)的兩條指令,在不出現(xiàn)功能部件沖突和Vi沖突的情況下,可

以把功能部件鏈接起來進行流水處理,以達到加快執(zhí)行的目的。

分段開采:當向量的長度大于向量寄存器的長度時,必須把長向量分成長度固定的段,然后

循環(huán)分段處理,每一次循環(huán)只處理一個向量段。

半性能向量長度:向量處理機的性能為其最大性能履的一半時所需的向量長度。

向量長度臨界值:向量流水方式的處理速度優(yōu)于標量串行方式的處理速度時所需的向量長度

的最小值。

3.2簡述流水線技術(shù)的特點。

答:流水技術(shù)有以下特點:

(1)流水線把一個處理過程分解為若干個子過程,每個子過程由一個專門的功能部件

來實現(xiàn)。因此,流水線實際上是把一個大的處理功能部件分解為多個獨立的功能部件,并依

靠它們的并行工作來提高吞吐率。

(2)流水線中各段的時間應(yīng)盡可能相等,否則將引起流水線堵塞和斷流。

(3)流水線每一個功能部件的前面都要有一個緩沖寄存器,稱為流水寄存器。

(4)流水技術(shù)適合于大量重復(fù)的時序過程,只有在輸入端不斷地提供任務(wù),才能充分

發(fā)揮流水線的效率。

(5)流水線需要有通過時間和排空時間。在這兩個時間段中,流水線都不是滿負荷工

作。

3.3解決流水線瓶頸問題有哪兩種常用方法?

答:細分瓶頸段與重復(fù)設(shè)置瓶頸段

3.4減少流水線分支延遲的靜態(tài)方法有哪些?

答:(1)預(yù)測分支失?。貉厥〉姆种Ю^續(xù)處理指令,就好象什么都沒發(fā)生似的。當確

定分支是失敗時,說明預(yù)測正確,流水線正常流動;當確定分支是成功時,流水線就把在分

支指令之后取出的指令轉(zhuǎn)化為空操作,并按分支目標地址重新取指令執(zhí)行。

(2)預(yù)測分支成功:當流水線ID段檢測到分支指令后,一旦計算出了分支目標地址,

就開始從該目標地址取指令執(zhí)行。

(3)延遲分支:主要思想是從邏輯上“延長”分支指令的執(zhí)行時間。把延遲分支看成

是由原來的分支指令和若干個延遲槽構(gòu)成。不管分支是否成功,都要按順序執(zhí)行延遲槽中的

指令。

3種方法的共同特點:它們對分支的處理方法在程序的執(zhí)行過程中始終是不變的。它們

要么總是預(yù)測分支成功,要么總是預(yù)測分支失敗。

3.5簡述延遲分支方法中的三種調(diào)度策略的優(yōu)缺點。

調(diào)度策略對調(diào)度的要求對流水線性能改善的影響

從前調(diào)度分支必須不依賴于被調(diào)度的指令總是可以有效提高流水線性能

如果分支轉(zhuǎn)移失敗,必須保證被調(diào)度的指令對程分支轉(zhuǎn)移成功時,可以提高流水線性能。

從目標處調(diào)度

序的執(zhí)行沒畬影響,可能需要復(fù)制被調(diào)度指令但由于夏制指令,可能加大程序空間

如果分支轉(zhuǎn)移成功,必須保證被調(diào)度的指令對程分支轉(zhuǎn)移失敗時,可以提高流水線性能

從失敗處調(diào)度

序的執(zhí)行沒有影響

3.6列舉出下面循環(huán)中的所有相關(guān),包括輸出相關(guān)、反相關(guān)、真相關(guān)。

for(i=2;i<100;i=i+l)

a[i]=b[i]+a[i];/*s1*/

c[i+l]=a[i]+d[i];/*s2*/

a[i-lj=2*b[i];/*s3*/

b[i+l]=2*b[i];/*s4?/

解:展開循環(huán)兩次:

a[i]=b[i]+a[i];/*si*/

c[i+l]=a[i]+d[i];/*s2*/

ali-lj=2*bli];/*s3*/

b[i+l]=2*b[i];/*s4*/

a[i+l]=b[i+l]+a[i+l];/*sr*/

c[i+2]=a[i+l]+d[i+l];/*s2'*/

a[i]=2*bfi+l];/*s3'*/

b[i+2J=2*bli+l];/*s4'*/

輸出相關(guān):無

反相關(guān):無

真相關(guān):S1&S2

由于循環(huán)引入的相關(guān):S4&S4'(真相關(guān))、Si*&S4(真相關(guān))、S3'&S4(真相關(guān))、

S1&S3'(輸出相關(guān)、反相關(guān))、S2&S3'(反相關(guān))。

3.7簡述三種向量處理方式,它們對向量處理機的結(jié)構(gòu)要求有何不同?

答(1)橫向處理方式:若向量長度為N,則水平處理方式相當于執(zhí)行N次循環(huán)。若使

用流水線,在每次循環(huán)中可能出現(xiàn)數(shù)據(jù)相關(guān)和功能轉(zhuǎn)換,不適合對向量進行流水處理。(2)

縱向處理方式:將整個向量按相同的運算處理完畢之后,再去執(zhí)行其他運算。適合對向量進

行流水處理,向量運算指令的源/目向量都放在存儲器內(nèi),使得流水線運算部件的輸入、輸

出端直接與存儲器相聯(lián),構(gòu)成M-M型的運算流水線。(3)縱橫處理方式:把長度為N的向量

分為若干組,每組長度為n,組內(nèi)按縱向方式處理,依次處理各組,組數(shù)為[N/nJ,適合流

水處理??稍O(shè)長度為n的向量寄存器,使每組向量運算的源/目向量都在向量寄存器中,流

水線的運算部件輸入、輸出端與向量寄存器相聯(lián),構(gòu)成R-R型運算流水線。

3.8可采用哪些方法來提高向量處理機的性能?

答:可采用多種方法:

(1)設(shè)置多個功能部件,使它們并行工作;

(2)采用鏈接技術(shù),加快一串向量指令的執(zhí)行;

(3)采用循環(huán)開采技術(shù),加快循環(huán)的處理;

(4)采用多處理機系統(tǒng),進一步提高性能。

3.9有一指令流水線如下所示

入T1I2I3I41出

50ns50ns100ns200ns

(1)求連續(xù)輸入10條指令,該流水線的實際吞吐率和效率;

(2)該流水線的“瓶頸”在哪一段?請采取兩種不同的措施消除此“瓶頸”。對于你所給

出的兩種新的流水線,連續(xù)輸入10條指令時,其實際吞吐率和效率各是多少?

解:(1)

Tpipeline=〉:Ati+(0—l)Atmax

i=l

=(50+50+100+200)+9x200

=2200(ns)

TP=%pii=%20(nsT)

m

yAtj

J14005

E=TP-—=TP—=—45.45%

m411

----------------------------

k+(〃-lAmax(4],M,…,頌)

J=i

=10*(50+50+100+200)/4*(50+50+100+200+9*200)

(2)瓶頸在3、4段。

■變成八級流水線(細分)

A」H2T3」-3-2P4_1一…4_4四

50ns50ns50ns50ns50ns50ns

m

Tpipeline=>:Ati+(fl—1)At

nax

=50x8+9x50

=850(ns)

TP==(nS,)

/4pipelineX5-

m

^Ati

=TP寫哈。58.82%

E=TP^—

m

■重復(fù)設(shè)置部件

^"^Tpipelinc=Xs^-,)

E=400X1%50X8=%-58-82%

3.10有一個流水線由4段組成,其中每當流經(jīng)第3段時,總要在該段循環(huán)一次,然后才

能流到第4段。如果每段經(jīng)過一次所需要的時間都是△/,問:

(1)當在流水線的輸入端連續(xù)地每4時間輸入任務(wù)時,該流水線會發(fā)生什么情況?

(2)此流水線的最大吞吐率為多少?如果每2加輸入一個任務(wù),連續(xù)處理10個任務(wù)

時的實際吞吐率和效率是多少?

(3)當每段時間不變時,如何提高該流水線的吞吐率?仍連續(xù)處理10個任務(wù)時,其

吞吐率提高多少?

解:(1)會發(fā)生流水線阻塞情況。

第1個任務(wù)S1S2S3S3S4

第2個任務(wù)S1S2stallS3S3S4

第3個任務(wù)S1stallS2stallS3S3S4

第4個任務(wù)SIstallS2stallS3S3S4

(2)

Tpipeline=23加

TP=%i=%3Af

AE=TP-=5%2?54.35%

(3)重復(fù)設(shè)置部件

yp_n/_10/_5/

1r_/Tpipeline_714?加一力?4

吞吐率提高倍數(shù)='=L64

3.11有一條靜態(tài)多功能流水線由5段組成,加法用1、3、4、5段,乘法用1、2、5段,

第3段的時間為24t,其余各段的時間均為△t,而且流水線的輸出可以直接返回輸入端或

暫存于相應(yīng)的流水寄存器中?,F(xiàn)要在該流水線上計算n(4+用),畫出其時空圖,并計

算其吞吐率、加速比和效率。7

解:首先,應(yīng)選擇適合于流水線工作的算法。對于本題,應(yīng)先計算AI+BHA2+B2、

A3+B3和A4+B4;再計算(Ai+B。XS2+B2)和(A3+B3)X(A4+B4);然后求總的結(jié)果。

其次,畫出完成該計算的時空圖,如圖所示,圖中陰影部分表示該段在工作。

ABCDAXBCXDAXBXCXD

入A〕A>A3A4ACAXB

CXD

BiB2B3B4BD

由圖可見,它在18個△,時間中,給出了7個結(jié)果。所以吞吐率為:

TP=--

18A/

如果不用流水線,由于一次求積需34/,一次求和需5A3則產(chǎn)生上述7個結(jié)果共需

(4x5+3x3)At=29Ato所以加速比為:

S上

=1.61

18。

該流水線的效率可由陰影區(qū)的面積和5個段總時空區(qū)的面積的比值求得:

4x5+3x3

E==0.322

5x18

3.12動態(tài)多功能流水線由6個功能段組成,如下圖:

加法

乘法

其中,SI、S4、S5、S6組成乘法流水線,SI、S2、S3、S6組成加法流水線,各個功能

段時間均為50ns,假設(shè)該流水線的輸出結(jié)果可以直接返回輸入端,而口設(shè)置有足夠的緩沖

寄存器,若以最快的方式用該流水計算:之xj/i

i二l

(1)畫出時空圖;

(2)計算實際的吞吐率、加速比和效率。

解:機器一共要做10次乘法,4次加法。

14

TP=

22At

加遨比=旃=2.55

14X4

娣=42.42%

22X6

3.13在MIPS流水線上運行如下代碼序列:

LOOP:LWRI,0(R2)

DADDIURI,RI,#1

SWRI,0(R2)

DADDIUR2,R2,#4

DSUBR4,R3,R2

BNEZR4,LOOP

其中:R3的初值是R2+396。假設(shè):在整個代碼序列的運行過程中,所有的存儲器訪

問都是命中的,并且在一個時鐘周期中對同一個寄存器的讀操作和寫操作可以通過寄存器文

件“定向”。問:

(1)在沒有任何其它定向(或旁路)硬件的支持下,請畫出該指令序列執(zhí)行的流水線

時空圖。假設(shè)采用排空流水線的策略處理分支指令,且所有的存儲器訪問都命中

Cache,那么執(zhí)行上述循環(huán)需要多少個時鐘周期?

(2)假設(shè)該流水線有正常的定向路徑,請畫出該指令序列執(zhí)行的流水線時空圖。假設(shè)

采用預(yù)測分支失敗的策略處理分支指令,且所有的存儲器訪問都命中Cache,那

么執(zhí)行上述循環(huán)需要多少個時鐘周期?

(3)假設(shè)該流水線有正常的定向路徑和一個單周期延遲分支,請對該循環(huán)中的指令進

行調(diào)度,你可以重新組織指令的順序,也可以修改指令的操作數(shù),但是注意不能

增加指令的條數(shù)。請畫出該指令序列執(zhí)行的流水線時空圖,并計算執(zhí)行上述循環(huán)

所需要的時鐘周期數(shù)。

解:

寄存器讀寫可以定向,無其他旁路硬件支持。排空流水線。

指令12345678910111213141516171819202122

LWIFIDEXMWB

DADDiUIFSSIDEXMWB

SWIFSSIDEXMWB

DADDIUIFIDEXMWB

DSUBIFSSIDEXMWB

BNEZIFSSIDEXMWB

LWIFSSIFIDEXMWB

第i次迭代(i=O..98)開始周期:1+(iX17)

總的時鐘周期數(shù):1+(98X17)+18-1(因與上次循環(huán)重疊1個周期,以下同)

=1684

有正常定向路徑,預(yù)測分支失敗。

指令12345678910111131415

LWIFIDEXMWB

DADDIUIFIDSEXMWB

SWIFSIDEXMWB

DADDIUIFIDEXMWB

DSUBIFIDEXMWB

BNEZIFIDEXMWB

LWIFmissmissIFIDEXMWB

第i次迭代(i=0..98)開始周期:1+(iXIO)

總的時鐘周期數(shù):1+(98X10)+11-1=991

有正常定向路徑。單周期延遲分支。

LOOP:LWRI,0(R2)

DADDIUR2,R2,#4

DADDIURI,RI,#1

DSUBR4,R3,R2

BNEZR4,LOOP

SWRI,-4(R2)

第i次迭代(i=0..98)開始周期:1+(iX6)

總的時鐘周期數(shù):1+(98X6)+10-1=598

指令1234567891011

LWIFIDEXMWB

DADDIUIFIDEXMWB

DADDIUIFIDEXMWB

DSUBIFIDEXMWB

BNEZIFIDEXMWB

SWIFIDEXMWB

LWIFIDEXMWB

3.14假設(shè)各種分支指令數(shù)占所有指令數(shù)的

溫馨提示

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

評論

0/150

提交評論