一、(10分)
某RISC處理機各類指令使用頻率和理想CPI(指令和數據訪問Cache命中率為100%時的CPI)如下表所示。而實際測得的指令訪問Cache缺失率(miss rate)為5%,數據訪問的Cache缺失率為10%,Cache的缺失損失(miss penalty)為40個時鐘周期。
(1) 該機器在無Cache缺失(理想情況)時的CPI是多少?(3分)
(2) 該機器在無Cache缺失(理想情況)時的速度比有Cache缺失時快多少倍?(7分)
指令類型
使用頻率
CPI ideal
ALU操作
43%
1
Loads
21%
2
Stores
12%
2
Branches
24%
2
二、(13分)
一臺模型機共有7條指令,主頻25MHz,各指令的使用頻率與CPI如下表所示。該模型機有8位和16位兩種指令字長,采用2-4擴展操作碼。8位字長指令為寄存器(R-R)二地址類型,16位字長指令為寄存器-存儲器(R-M)二地址變址尋址類型(-128<=變址范圍<=127)。
指令(字長)
使用頻度f
CPI
I1(8位)
35%
1
I2(8位)
25%
2
I3(8位)
20%
2
I4(16位)
10%
2
I5(16位)
5%
1
I6(16位)
3%
2
I7(16位)
2%
2
(1) 計算該機的MIPS速率。(4分)
(2) 計算操作碼的平均碼長。(3分)
(3) 該機允許使用多少個可編址的通用寄存器,多少變址寄存器?(3分)
(4) 設計該機的兩種指令格式,標出各字段位數并給出操作編碼。(3分)
三、(12分)
假設在一個采用組織相聯映像方式的Cache中,主存有B0~B7共8塊組成,Cache有C0~C3共4塊,組內塊數為2塊。每塊的大小為32個字節,采用FIFO塊替換算法。在一個程序執行過程中依次訪問塊地址流如下:
B1,B4,B6,B3,B0,B4,B6,B2,B4,B5
(1) 寫出主存地址的格式,并標出各字段的長度(3分)
(2) 寫出Cache地址的格式,并標出各字段的長度(3分)
(3) 畫出主存與Cache之間各個塊的映像對應關系(3分)
(4) 列出程序執行過程中Cache的塊地址流分布情況。并計算Cache的塊命中率。(3分)
四、(15分)
有4個中斷源D1、D2、D3、D4,它們的中斷優先級和中斷屏蔽碼見下表,表中,“1”表示該中斷源被屏蔽,“0”表示該中斷源開放。假設從處理機響應中斷源的中斷服務請求到運行中斷服務程序中第一次開中斷所用的時間為1微秒,其它中斷服務時間為10微秒。
(1) 處理機在0時刻開始響應中斷請求,這時4個中斷源都已經申請中斷服務,寫出處理機開始響應各中斷源的中斷請求和處理機為各中斷源完成中斷服務的時刻。(7分)
(2) 處理機在0時刻開始響應中斷請求,這時中斷源D3和D4已經申請中斷服務,在6微秒時中斷源D1和D2同時申請中斷服務,寫出處理機開始響應各中斷源的中斷請求和處理機為各中斷源完成中斷服務的時刻。(8分)
中斷源
中斷優先級
中斷屏蔽碼
D1 D2 D3 D4
D1
1(最高)
1 1 0 0
D2
2(第二)
0 1 0 1
D3
3(第三)
1 0 1 0
D4
4(最低)
1 0 1 1
五、(10分)
假定我們將某一執行部件性能改進后速度提高10倍。改進后被改進部件執行時間占系統總運行時間的50%。則改進后獲得的加速比Sp是多少?
六、(10分)
在下列單級互連網絡中,將信息從一個PE播送給所有其它PE要用多少步(N=2n個PE)?
(1) 混洗交換網絡,每步只能做一次混洗或一次交換。(5分)
(2) 超立方體網絡,每步i(0≤i≤n-1)可實現尋徑函數Ci。(5分)
七、(15分)
在一臺單流水線處理機上執行下面的程序。每條指令都要經過“取指令”、“譯碼”、“執行”和“寫結果”4個流水段,每個流水段的延遲時間都是5ns。在“執行”流水段,LS部件完成LOAD和STORE操作,其他操作都在ALU部件中完成,兩個操作部件的輸出端有直接數據通路與任意一個操作部件的輸入端相連接,ALU部件產生的條件碼也能夠直接送入控制器。
1: SUB R0, R0 :R0←0
2: LOAD R1, #8 :R1←向量長度8
3:LOOP: LOAD R2, A(R1) :R2←A向量的一個元素
4: MUL R2, R1 :R2←(R2)×(R1)
5: ADD R0, R2 :R0←(R0)+(R2)
6: DNE R1, LOOP :R1←(R1)-1,若(R1)≠0 轉向LOOP
7: STORE R0, S :保存結果
(1) 采用靜態分支預測技術,每次都預測轉移不成功。畫出指令流水線的時空圖(中間部分可以省略,圖中可用指令序號表示),計算流水線的吞吐率和加速比,并分別計算譯碼部件和ALU部件的使用效率。(8分)
(2) 采用靜態分支預測技術,每次都預測轉移成功。計算指令流水線的吞吐率和加速比,并分別計算譯碼部件和ALU部件的使用效率。(7分)
八、(15分)
分別在下面三種計算機系統上用最短的時間來計算表達式 。假設加法和乘法分別需要2個和4個單位時間,從存儲器取指令、取數據、譯碼的時間忽略不計,所有的指令和數據已裝入有關的PE或處理機中。PE或處理機中有一個加法器和一個乘法器,同一時刻只有其中一個可以使用。試確定下列每種情況的最小計算時間。
(1) 一臺串行計算機,這種單處理機系統不需要數據尋徑操作。(3分)
(2) 一臺有8個PE(PE0,PE1,···,PE7)的SIMD計算機,8個PE連成單向環結構。每個PE用一個單位時間可以把數據直接送給它的相鄰PE。操作數Ai和Bi最初存放在PEi mod 8 中,其中i=0,2,···,35。(6分)
(3) 分布存儲器的MIMD多處理機,8個CPU用立方體網連接。在相鄰CPU之間傳送一個數據需要一個單位時間。操作數Ai和Bi最初存放在CPU i mod 8中,其中i=0,1,···,35。最終結果s可以放在任意CPU的寄存器中。(6分)
總共用時=35+1次乘法=39單位時間。
特別聲明:①凡本網注明稿件來源為"原創"的,轉載必須注明"稿件來源:育路網",違者將依法追究責任;
②部分稿件來源于網絡,如有侵權,請聯系我們溝通解決。
25人覺得有用