一、(10分)
某RISC處理機各類指令使用頻率和理想CPI(指令和數(shù)據(jù)訪問Cache命中率為100%時的CPI)如下表所示。而實際測得的指令訪問Cache缺失率(miss rate)為5%,數(shù)據(jù)訪問的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) 設(shè)計該機的兩種指令格式,標出各字段位數(shù)并給出操作編碼。(3分)
三、(12分)
假設(shè)在一個采用組織相聯(lián)映像方式的Cache中,主存有B0~B7共8塊組成,Cache有C0~C3共4塊,組內(nèi)塊數(shù)為2塊。每塊的大小為32個字節(jié),采用FIFO塊替換算法。在一個程序執(zhí)行過程中依次訪問塊地址流如下:
B1,B4,B6,B3,B0,B4,B6,B2,B4,B5
(1) 寫出主存地址的格式,并標出各字段的長度(3分)
(2) 寫出Cache地址的格式,并標出各字段的長度(3分)
(3) 畫出主存與Cache之間各個塊的映像對應(yīng)關(guān)系(3分)
(4) 列出程序執(zhí)行過程中Cache的塊地址流分布情況。并計算Cache的塊命中率。(3分)
四、(15分)
有4個中斷源D1、D2、D3、D4,它們的中斷優(yōu)先級和中斷屏蔽碼見下表,表中,“1”表示該中斷源被屏蔽,“0”表示該中斷源開放。假設(shè)從處理機響應(yīng)中斷源的中斷服務(wù)請求到運行中斷服務(wù)程序中第一次開中斷所用的時間為1微秒,其它中斷服務(wù)時間為10微秒。
(1) 處理機在0時刻開始響應(yīng)中斷請求,這時4個中斷源都已經(jīng)申請中斷服務(wù),寫出處理機開始響應(yīng)各中斷源的中斷請求和處理機為各中斷源完成中斷服務(wù)的時刻。(7分)
(2) 處理機在0時刻開始響應(yīng)中斷請求,這時中斷源D3和D4已經(jīng)申請中斷服務(wù),在6微秒時中斷源D1和D2同時申請中斷服務(wù),寫出處理機開始響應(yīng)各中斷源的中斷請求和處理機為各中斷源完成中斷服務(wù)的時刻。(8分)
中斷源
中斷優(yōu)先級
中斷屏蔽碼
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分)
假定我們將某一執(zhí)行部件性能改進后速度提高10倍。改進后被改進部件執(zhí)行時間占系統(tǒng)總運行時間的50%。則改進后獲得的加速比Sp是多少?
六、(10分)
在下列單級互連網(wǎng)絡(luò)中,將信息從一個PE播送給所有其它PE要用多少步(N=2n個PE)?
(1) 混洗交換網(wǎng)絡(luò),每步只能做一次混洗或一次交換。(5分)
(2) 超立方體網(wǎng)絡(luò),每步i(0≤i≤n-1)可實現(xiàn)尋徑函數(shù)Ci。(5分)
七、(15分)
在一臺單流水線處理機上執(zhí)行下面的程序。每條指令都要經(jīng)過“取指令”、“譯碼”、“執(zhí)行”和“寫結(jié)果”4個流水段,每個流水段的延遲時間都是5ns。在“執(zhí)行”流水段,LS部件完成LOAD和STORE操作,其他操作都在ALU部件中完成,兩個操作部件的輸出端有直接數(shù)據(jù)通路與任意一個操作部件的輸入端相連接,ALU部件產(chǎn)生的條件碼也能夠直接送入控制器。
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 轉(zhuǎn)向LOOP
7: STORE R0, S :保存結(jié)果
(1) 采用靜態(tài)分支預(yù)測技術(shù),每次都預(yù)測轉(zhuǎn)移不成功。畫出指令流水線的時空圖(中間部分可以省略,圖中可用指令序號表示),計算流水線的吞吐率和加速比,并分別計算譯碼部件和ALU部件的使用效率。(8分)
(2) 采用靜態(tài)分支預(yù)測技術(shù),每次都預(yù)測轉(zhuǎn)移成功。計算指令流水線的吞吐率和加速比,并分別計算譯碼部件和ALU部件的使用效率。(7分)
八、(15分)
分別在下面三種計算機系統(tǒng)上用最短的時間來計算表達式 。假設(shè)加法和乘法分別需要2個和4個單位時間,從存儲器取指令、取數(shù)據(jù)、譯碼的時間忽略不計,所有的指令和數(shù)據(jù)已裝入有關(guān)的PE或處理機中。PE或處理機中有一個加法器和一個乘法器,同一時刻只有其中一個可以使用。試確定下列每種情況的最小計算時間。
(1) 一臺串行計算機,這種單處理機系統(tǒng)不需要數(shù)據(jù)尋徑操作。(3分)
(2) 一臺有8個PE(PE0,PE1,···,PE7)的SIMD計算機,8個PE連成單向環(huán)結(jié)構(gòu)。每個PE用一個單位時間可以把數(shù)據(jù)直接送給它的相鄰PE。操作數(shù)Ai和Bi最初存放在PEi mod 8 中,其中i=0,2,···,35。(6分)
(3) 分布存儲器的MIMD多處理機,8個CPU用立方體網(wǎng)連接。在相鄰CPU之間傳送一個數(shù)據(jù)需要一個單位時間。操作數(shù)Ai和Bi最初存放在CPU i mod 8中,其中i=0,1,···,35。最終結(jié)果s可以放在任意CPU的寄存器中。(6分)
總共用時=35+1次乘法=39單位時間。
特別聲明:①凡本網(wǎng)注明稿件來源為"原創(chuàng)"的,轉(zhuǎn)載必須注明"稿件來源:育路網(wǎng)",違者將依法追究責(zé)任;
②部分稿件來源于網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系我們溝通解決。
25人覺得有用