計算機體系結(jié)構(gòu)練習(xí)題參考解答_第1頁
計算機體系結(jié)構(gòu)練習(xí)題參考解答_第2頁
計算機體系結(jié)構(gòu)練習(xí)題參考解答_第3頁
計算機體系結(jié)構(gòu)練習(xí)題參考解答_第4頁
計算機體系結(jié)構(gòu)練習(xí)題參考解答_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 四 章 4.52 浮點數(shù)系統(tǒng)使用的階碼基值re=2,階值位數(shù)q=2,尾數(shù)基值rm=10,尾數(shù)位數(shù)p=1,即按照使用的二進制位數(shù)來說,等價于p=4。計算在非負階、正尾數(shù)、規(guī)格化情況下的最小尾數(shù)值、最大尾數(shù)值、最大階值、可表示的最小值和最大值及可表示數(shù)的個數(shù)。解: 最小尾數(shù)值:rm-1 = 10-1 = 0.1最大尾數(shù)值:1- rm-p =1-10-1 = 0.9最大階值:2q-1=3可表示數(shù)的最小值:1×rm-1 = 10-1 = 0.1可表示數(shù)的最大值:rm2q-1×(1- rm-p)=103(1-10-1)= 900可表示數(shù)的個數(shù):2q×rmp(rm-1)/

2、rm = 22×101(10-1)/10 = 364.53 一臺機器要求浮點數(shù)的字長的精度不低于10-7.2,表數(shù)的范圍正數(shù)不小于1038,且正負對稱。尾數(shù)用原碼、純小數(shù)表示,階碼用移碼、整數(shù)表示。設(shè)計這種浮點數(shù)的格式。解 依題意,取表數(shù)范圍N =1038,表數(shù)精度=10-7.2。由式(4-4)得: = 6.99,上取整,得到階碼字長q=7。由式(4-5)得:,上取整,得到尾數(shù)字長p=24。從而加上一個尾數(shù)符號位和一個階碼符號位,浮點數(shù)的總字長為:p+q+2=24+7+2=33。實際浮點數(shù)總字長應(yīng)為8的倍數(shù),故取浮點數(shù)總字長為40位。多出的7位可以加到尾數(shù)字長p中用于提高浮點數(shù)的表數(shù)

3、精度,也可以加到階碼字長q中來擴大浮點數(shù)的表數(shù)范圍。暫且讓p增加6位,q增加1位,即p=30,q=8。如圖4-8所示是設(shè)計出來的浮點數(shù)格式。長度 1 p=30 1 q=8位序 39 38 9 8 7 0尾符S 尾數(shù)M 階符F 階碼E圖4-8 例4.2浮點數(shù)的設(shè)計格式4.58 用于文字處理的某專用機,每個文字符用4位十進制數(shù)字(09)編碼表示,空格用表示。在對傳送的文字符和空格進行統(tǒng)計后,得出它們的使用頻度如下:0.20 0:0.17 1:0.06 2:0.08 3:0.11 4:0.085: 0.05 6:0.08 7:0.13 8:0.03 9:0.01(1)若對數(shù)字09和空格采用二進制編碼

4、,試設(shè)計編碼平均長度最短的編碼。(2)若傳送106個文字符號,且每個文字符號后均自動跟一個空格,按最短的編碼,共需傳送多少個二進制位?若傳送波特率為9600bPS,共需傳送多少時間?(3)若對數(shù)字09和空格采用4位定長碼編碼,重新計算問題(2)。解:(1)操作碼編碼的平均長度最短為Huffman編碼,生成的Huffman樹,如圖所示,相應(yīng)的Huffman編碼如表所示。l=×li = 3.23(位)。(2)根據(jù)題意,每個字符的二進制碼的平均長度為:3.23×(41)=16.15(位)。若要傳輸106個字符,則要傳輸二進制位數(shù)為:106×16.15 =1.615

5、15;107(位)若波特率為56Kb/s,則傳輸時間為:1.615×107/(56×103)=288(s)。1.000.010.040.090.200.400.030.050.110.200.080.060.140.270.600.160.080.130.330.170.08(3)當(dāng)采用四位定長編碼時,則需要傳輸二進制位數(shù)為:106×4(41)=2×107(位),傳輸時間為:2×107/(56×103)=357(s)。 1 0 1 0 1 0 1 0 1 0 1 0 3 7 0 5 1 6 4 2IiPiHuffman編碼Li0201

6、0200170003701301033011110320080010440080011460080110410060111450051110480031111059001111115 9 84.60 一臺模型機共有7條指令,各指令的使用頻度分別為:35%,25%,20%,10%,5%,3%,2%,有8個通用數(shù)據(jù)寄存器,2個變址寄存器。(1)要求操作碼的平均長度最短,請設(shè)計操作碼的編碼,并計算操作碼編碼的平均長度。(2)設(shè)計8位字長的寄存器寄存器型指令3條,16位字長的寄存器一存儲器型變址尋址方式指令4條,變址范圍不小于正、負127。請設(shè)計指令格式,并給出指令各字段的長度和操作碼的編碼。解:(1

7、)操作碼編碼的平均長度最短為Huffman編碼,生成的Huffman樹如圖所示,相應(yīng)的Huffman編碼如表所示。l=×li = 2.35(位)1.000.020.050.100.200.400.030.050.100.200.250.600.35IiPiHuffman編碼Li2-4編碼(3/4)LiI1035002002I2025012012I3020102102I4010110311004I50051110411014I600311110511104I700211111511114(2)由于通用寄存器有8個,則指令中通用寄存器字段應(yīng)為3位;操作碼字段2位可有4個碼點,用三個碼點表

8、示三條指令,另一個碼點則作為擴展標(biāo)志。所以3條8位長的寄存器寄存器型指令格式如下:操作碼(2位)寄存器1(3位)寄存器2(3位)由于變址寄存器有2個,則指令中變址寄存器字段應(yīng)為1位;變址范圍-127+127,則指令中相對位移字段應(yīng)為8位;操作碼字段前2位可有4個碼點,用三個碼點表示三條指令,另一個碼點則作為擴展標(biāo)志。擴展2位正好可表示四條指令,操作碼字段則為4位。所以4條16位長的寄存器存儲器型指令格式如下:操作碼(4位)寄存器(3位)變址寄存器(1位)相對位移(8位)特別地,當(dāng)采用3/4擴展編碼時,使用頻度高的用短碼表示,使用頻度低的用長碼表示,其相應(yīng)的編碼如表所示。4.65 某模型機9條指

9、令使用頻度為:ADD(加) 30% SUB(減) 24% JOM(按負轉(zhuǎn)移)6% STO(存) 7%JMP(轉(zhuǎn)移)7% SHR(右移)2% CIL(循環(huán)左移)3% CLA(清除)20%STP(停機)1%要求有兩種指令字長,都按雙操作數(shù)指令格式編排,采用擴展操作碼,并限制只能有兩種操作碼碼長。設(shè)該機有若干通用寄存器,主存為16位寬,按字節(jié)編址,采用按整數(shù)邊界存儲,任何指令都在一個主存周期中取得,短指令為寄存器-寄存器型,長指令為寄存器-主存型,主存地址應(yīng)能變址尋址。(1)僅根據(jù)使用頻度,不考慮其它要求,設(shè)計出全Huffman操作碼,計算其平均碼長;(2)考慮題目全部要求,設(shè)計優(yōu)化實用的操作碼形式

10、,并計算其操作碼的平均碼長;(3)該機允許使用多少可編址的通用寄存器?(4)畫出該機兩種指令字格式,標(biāo)出各字段之位數(shù);(5)指出訪存操作數(shù)地址尋址的最大相對位移量為多少個字節(jié)?解:(1)根據(jù)給出的使用頻度,在構(gòu)造Huffman樹的過程中,有兩個結(jié)點可供合并,因此可生成不同的Huffman樹,其中給出一棵如圖所示,相應(yīng)的Huffman編碼如表所示。 Huffman編碼的平均長度為:l=×lil=0.3×20.24×20.2×20.07×40.07×40.06×40.03×50.02×60.01×6

11、=2.61(位)0.560.010.030.060.120.260.020.030.060.070.141.000.200.070.440.240.30 ADD CLA SUB J0M JMP STO CIL 指令I(lǐng)iPiHuffman編碼Li2-5編碼(3/6)LiADDI1030012002SUBI2024112012CLAI3020102102STOI400700114110015JMPI500700104110105JOMI600600014110115CILI7003000015111005SHRI80020000016111015STPI90010000006111105 STP

12、SHR (2)任何指令都在一個主存周期中取得,那么短指令字長為8位,長指令字長為16位。又指令都是二地址指令,所以短指令寄存器-寄存器型的格式為:操作碼(2位)寄存器1(3位)寄存器2(3位)長指令為寄存器-主存型的格式為:操作碼(5位)寄存器(3位)變址寄存器(3位)相對位移(5位)由題意可知:指令操作碼采用擴展編碼,且只能有兩種碼長。從指令使用頻度來看,ADD、SUB和CLA三條指令的使用頻度與其它指令的使用頻度相差較大,所以用兩位操作碼的三個碼點來表示三條指令,一個碼點作為擴展碼點,且擴展三位來表示六條指令,即采用2-4擴展編碼構(gòu)成3/6編碼,2-4擴展編碼如表所示。 2-4擴展編碼(3

13、/6)的平均長度為:l=×li=2.78(3)(4)由短指令寄存器-寄存器型的格式可知,寄存器號字段長度為3位,寄存器個數(shù)為8個。則各字段長度如圖格式所標(biāo)識。而對于長指令寄存器-主存型,一般變址寄存器是某通用寄存器,則變址寄存器號的字段長度為3位,則各字段長度如圖格式所標(biāo)識。(5)由于相對位移字段長度為5位,因此訪存地址尋址的最大相對位移量為25=32字節(jié)。4.79 下面是一段數(shù)據(jù)塊搬家程序。在RISC處理機中,為了提高指令流水線的執(zhí)行效率,通常要采用指令取消技術(shù)。START:MOVE AS,R1 ;把源數(shù)組的起始地址送入變址寄存器R1MOVE NUM,R2 ;把傳送的數(shù)據(jù)個數(shù)送入R

14、2LOOP: MOVE (R1),ADAS(R1) ;ADAS為地址偏移量,在匯編過程中計算INC R1 ;增量變址寄存器DEC R2 ;剩余數(shù)據(jù)個數(shù)減1BGT LOOP ;測試N個數(shù)據(jù)是否傳送完成HALT ;停機NUM: N ;需要傳送的數(shù)據(jù)總數(shù)(1)如果一條指令的執(zhí)行過程分解為“取指令”和“分析”兩個階段,并采用兩級流水線。為了采用指令取消技術(shù),請修改上面的程序。(2)如果N=100,采用指令取消技術(shù)后,在程序執(zhí)行過程中,能夠節(jié)省多少個指令周期?(3)如果把一條指令的執(zhí)行過程分解為“取指令”、“分析”(包括譯碼和取操作數(shù)等)和“執(zhí)行”(包括運算和寫回結(jié)果等)三個階段,并采用三級流水線。仍然要采用指令取消技術(shù),請修改上面的程序。 解:(1)START:MOVE AS,R1MOVE NUM,R2MOVE (R1),ADAS(R1)LOOP:INC R1DEC R2BGT LOOPMOVE (R1),ADAS(R1)HALTNUM:N (2)解決轉(zhuǎn)移指令引起的流水線斷流可插入一條無效的空操作

溫馨提示

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

評論

0/150

提交評論