天天看點

計算機系統結構習題集1

6.1在CRAY1機上,V為向量寄存器,設向量長度均為32,s為标量寄存器,所用浮點功能執行部件的執行時間分别為:加法需6拍,相乘需7拍,從存儲器讀數需6拍,求倒數近似值需14拍,打入寄存器及啟動功能部件(包括寄存器)各需1拍。問下列各指令組中的哪些指令可以連結?哪些指令可以并行執行?試說明其原因并分别計算出各指令組全部完成所需的拍數。 

(1)

V0←存儲器

V1←V2+V3

V4←V5*V6

(2)

V2←V0+V1

V3←存儲器

V4←V2*V3

(3)

V0←存儲器

V3←V1+V2

V4←V0*V3

V6←V4+V5

(4)

V0←存儲器

V1←1/V0

V3←V1+V2

V5←V3*V4

(5)

V0←存儲器

V1←V2+V3

V4←V5*V6

s0←s1+s2

(6)

V3←存儲器

V2←V0+V1

s0←s2+s3

V3←V1*V4

(7)

V3←存儲器

V2←V0+V1

V4←V2*V3

存儲器←V4

(8)

V0←存儲器

V2←V0+V1

V3←V2*V1

V5←V3*V4

解答:

(1) 三條指令可并行執行,所需時間為執行時間最長的指令的執行時間:(1+7+1) + (32-1) = 40

(2) 指令1、指令2并行執行并與指令3連結,所需時間為(1+6+1) + (1+7+1) + (32-1) = 48

(3) 指令1、指令2并行執行并與指令3連結,指令4與指令2存在功能部件沖突,需等待前一流水鍊完成之後執行,所需時間為(1+6+1) + (1+7+1) + (32-1) + (1+6+1) + (32-1) = 87

(4) 4條指令相連結,所需時間為(1+6+1) + (1+14+1) + (1+6+1) + (1+7+1) + (32-1) = 72

(5) 前3條指令并行執行,最後一條與指令2存在功能部件沖突,所需時間為(1+7+1) + (32-1) + (1+6+1) = 48

(6) 前2條指令并行執行,後2條指令并行執行,所需時間為(1+6+1) + (32-1) + (1+7+1) +(32-1) = 79

(7) 前3條指令相連結,此流水鍊與第4條指令存在功能部件沖突,所需時間為(1+6+1) + (1+7+1) + (32-1) + (1+6+1) + (32-1) = 87

(8) 前2條指令相連結,此流水鍊與第3條指令存在寄存器沖突,第3條指令與第4條指令存在功能部件沖突,所需時間為(1+6+1) + (1+6+1) + (32-1) + (1+7+1) + (32-1) + (1+7+1) + (32-1) = 127

6.2、在Cray 1機上,按連結方式執行下面4條向量指令(括号中給出相應功能部件時間),如果向量寄存器和功能部件之間的資料傳輸需要1拍,試求此連結流水線的流過時間為多少拍?如果向量長度為64,則需要多少拍能得到全部結果。 

  V0←存儲器 (存儲器取數:7拍)

V2←V0+V1 (向量加:3拍)

  V3←V2<A3 (按照A3左移:4拍)

  V5←V3∧V4 (向量邏輯乘:2拍)

解答:

流水線經過時間為(1+7+1) + (1+3+1) + (1+4+1) + (1+2+1) = 24。

如果向量長度為64,則需24 + (64-1) = 87拍能得到全部結果。

6.3、某機有16個向量寄存器,其中V0~V5中分别放有向量A、B、C、D、E、F,向量長度均為8,向量各元素均為浮點數;處理部件采用二個單功能流水線,加法功能部件時間為2拍,乘法功能部件時間為3拍。用類似Cray 1的連結技術,先計算(A+B)*C,在流水線不停流的情況下,接着計算(D+E)*F。

(1) 求此連結流水線的流過時間為多少拍?(設寄存器入,出各需1拍)。

(2) 假設每拍時間為50ns,完成這些計算并把結果存進相應寄存器,此部件的實際的吞吐率是多少MFLOPS?

解答:

(1) (A+B)*C 可用以下2條指令完成:

V0←A+B

V1←V0*C

流水線流過時間為(1+2+1) + (1+3+1) = 9拍

(2) 實際吞吐率為 

計算機系統結構習題集1

3.1設有一個兩層的存儲器層次結構:M1 和 M2。M1 的命中率用 h 表示,并分别令 c1 和 c2 為每千位元組的成本,s1 和 s2 為存儲器容量,t1 和 t2 為存取時間。

(1) 在什麼條件下,整個存儲器系統的平均成本會接近于 c2?

(2) 該層次結構的存儲器有效存取時間 ta 是多少?

(3) 令兩層存儲器的速度比 r=t2/t1,并令 E=t1/ta 為存儲系統的存取效率。試以 r 和命中 率 h 來表示 E。

(4) 試分别畫出 r=5、20 和 100 時,E 和 h 的關系圖。

(5) 如果 r=100,為使 E>0.95,要求的命中率 h 是多少?

(6) (5)中的命中率實際上很難達到,假設實際的命中率隻能達到 0.96。現在采用一種 緩沖技術來解決這個問題。當通路 M1 不命中時,把包括被通路資料在内的一個數 據塊都從 M2 取到 M1 中,并假設被取到 M1 中的每個資料平均可以被重複通路 5 次。請設計緩沖深度(即每次從 M2 取到 M1 中的資料塊的大小)。

解答

計算機系統結構習題集1
計算機系統結構習題集1

3.1 有5個中斷源D1,D2,D3,D4,D5。資訊如下表所示:

中斷源名稱 中斷優先級 正常中斷屏蔽碼 改變後的中斷屏蔽碼
D1 D2 D3 D4 D5 D1 D2 D3 D4 D5
D1 1 1 1 1 1 1 1
D2 2 1 1 1 1 1
D3 3 1 1 1 1 1
D4 4 1 1 1 1 1 1
D5 5 1 1 1 1 1

1) 使用正常中斷屏蔽碼時,處理機響應各中斷源的中斷服務請求的順序是什麼?實際的中斷處理次序是什麼?

2) 使用改變後的中斷屏蔽碼時,處理機響應各中斷源的中斷服務請求的順序是什麼?實際的中斷處理次序是什麼?

【答案】

1)處理機響應各中斷源的中斷服務請求的順序是D1,D2,D3,D4,D5

實際的中斷處理次序是D1,D2,D3,D4,D5

2) 處理機響應各中斷源的中斷服務請求的順序是D1,D2,D3,D4,D5

實際的中斷處理次序是D4,D5,D3,D2,D1

3.2.一台處理機有5個中斷源D1,D2,D3,D4,D5,它們的軟硬體優先級如表所示:

中斷源名稱 D1 D2 D3 D4 D5
硬體中斷優先級 7 6 5 4 3
軟體中斷優先級 4 5 7 6 5

1) 在處理機狀态字中至少要設定多少位中斷屏蔽碼?

2) 寫出中斷響應次序和實際中斷處理次序。

3) 當處理機正在執行主程式時,5個中斷源同時請求中斷服務,畫出處理機實際響應中斷源的中斷服務請求和運作中斷服務程式過程的示意圖。

【答案】

1) 3位

2)

中斷源名稱 D1 D2 D3 D4 D5
中斷響應次序 1 2 3 4 5
實際中斷處理次序 5 3 1 2 4

3)

計算機系統結構習題集1

3.3.一個位元組多路通道連接配接有5台裝置,它們的資料傳輸率如下表所示:

裝置名稱 D1 D2 D3 D4 D5
資料傳輸速率(KB/s) 100 33.3 33.3 20 10
服務優先級 1(最高) 2 3 4 5

1) 計算這個位元組多路通道的實際工作流量。

2) 為了使通道能夠正常工作,試設計通道的最大流量和工作周期。

3) 該通道工作在最大流量時,5台裝置都在0時刻同時發出第一次傳送資料的請求,并在以後的時間裡按照各自的資料傳輸速率連續工作。計算這個位元組多路通道處理完各台裝置的第一次資料服務請求的時刻。

計算機系統結構習題集1

繼續閱讀