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