




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第2章課后習題1、尾數用補碼、小數表示,階碼用移碼、整數表示,尾數字長p=6 (不包括符號位),階碼字長 q=6 (不包括符號位),為數基值rm=16,階碼基值re=2。對于規(guī)格化浮點數,用十進制表達式寫岀如下數據(對于前 11項,還要寫岀16進值編碼)(1 )最大尾數(8)最小正數(2)最小正尾數(9)最大負數(3 )最小尾數(10)最小負數(4)最大負尾數(11)浮點零(5 )最大階碼(12)表數精度(6)最小階碼(13)表數效率(7 )最大正數(14)能表示的規(guī)格化浮點數個數2 . 一臺計算機系統要求浮點數的精度不低于10-7.2,表數范圍正數不小于 1038,且正、負數對稱。尾數用原碼
2、、純小數表示,階碼用移碼、整數表示。(1) 設計這種浮點數的格式計算(1)所設計浮點數格式實際上能夠表示的最大正數、最大負數、表數精度和表數效率。3.某處理機要求浮點數在正數區(qū)的積累誤差不大于2-p-1,其中,P是浮點數的尾數長度。(1) 選擇合適的舍入方法。(2) 確定警戒位位數。(3) 計算在正數區(qū)的誤差范圍。4 假設有A和B兩種不同類型的處理機,A處理機中的數據不帶標志符,其指令字長和數據字長均為32位。B處理機的數據帶有標志符,每個數據的字長增加至36位,其中有4位是標志符,它的指令數由最多256條減少到不到64條。如果每執(zhí)行一條指令平均要訪問兩個操作數,每個存放在存儲器中的操作數平均
3、要被訪問8次。對于一個由1000條指令組成的程序,僅供個人學習參考分別計算這個程序在 A處理機和B處理機中所占用的存儲空間大小(包括指令和數據),從中得到什么啟發(fā)?5 . 一臺模型機共有7條指令,各指令的使用頻率分別為35%, 25%, 20% , 10% , 5%, 3%和2%,有8個通用數據寄存器,2個變址寄存器。(1) 要求操作碼的平均長度最短,請設計操作碼的編碼,并計算所設計操作碼的平均長度。(2) 設計8字長的寄存器-寄存器型指令3條,16位字長的寄存器-存儲器型變址尋址方式指令 4條,變址范圍不小于 ±27。請 設計指令格式,并給岀各字段的長度和操作碼的編碼。6 .某處理
4、機的指令字長為16位,有雙地址指令、單地址指令和零地址指令3類,并假設每個地址字段的長度均為6位。"7(1) 如果雙地址指令有15條,單地址指令和零地址指令的條數基本相同,問單地址指令和零地址指令各有多少條?并且為這 3類指令分配操作碼。(2) 如果要求3類指令的比例大致為1: 9: 9,問雙地址指令、單地址指令和零地址指令各有多少條?并且為這3類指令分配操作碼。7 .別用變址尋址方式和間接尋址方式編寫一個程序,求C=A+B,其中,A與B都是由n個元素組成的一維數組。比較兩個程序,并回答下列問題:f lj(1) 從程序的復雜程度看,哪一種尋址方式更好?(2) 從硬件實現的代價看,哪一
5、種尋址方式比較容易實現?(3) 從對向量運算的支持看,哪一種尋址方式更好?8 假設X處理機的數據不帶標志符,其指令字長和數據字長均為32位。Y處理機的數據帶有標志符,每個數據的字長增加至35位,其中有3位是標志符,其指令字長由32位減少至30位。并假設一條指令平均訪問兩個操作數,每個操作數平均被訪問R次?,F有一個程序,它的指令條數為I,分別計算在這兩種不同類型的處理機中程序所占用的存儲空間,并加以比較。9 . 一種浮點數表示方式的精度不低于10-19,能表示的最大正數不小于104°°°,而且正負數對稱。尾數用原碼、小數表示,階碼用移碼、整數表示,尾數和階碼的基值都
6、是2。(1)設計這種浮點數的格式,給岀各字段的名稱和長度。計算(1)所設計的浮點數格式能夠表示的最大正數、最大負數和表示數的精度。(3) 如果在運算器中沒有設置硬件警戒位,則這種浮點數可能采用了哪一種舍入方法?給岀這種舍入方法的舍入規(guī)則,在正數區(qū)的誤差范圍和積累誤差。I° I 八1-j|10. 有研究人員指出,如果在采用通用寄存器結構的計算機里加入寄存器-存儲器尋址方式可能提高計算機效率。做法是用:?ADDR2,0(Rb)II Cif'J代替指令序列?LOADR1,0(Rb)?ADDR2,R2,R1假定使用新的指令能使時鐘周期增加10%,并且假定只對時鐘產生影響,而不影響CP
7、I那么:(1) 采用新的指令,要達到與原來同樣的性能需要去掉的load操作所占的百分比?(假定load指令占總指令的22.8%)7 I(2) 舉出一種多指令序列,該序列不能使用上述的寄存器-存儲器尋址方式。即使得loadR1后面緊接著執(zhí)行對 R1的操作(該操作可以是任意某一操作碼),但這一指令序列不能被一條指令(假定存在這條指令)代替。11. 試比較下面4種不同類型的指令結構的存儲效率:(1) 累加型:所有的操作都在單個寄存器和單個內存地址之間進行(2) 存儲器-存儲器型:每個指令的 3個操作數都在內存中進行(3) 堆棧型:所有的操作都在棧頂進行。只有push和pop操作會訪問內存,其它的指令
8、執(zhí)行時都會刪除棧中的操作數,然后寫入執(zhí)行結果。(4) 通用寄存器型:所有的操作都在寄存器中進行。這些寄存器-寄存器指令中的每個指令都包含3個操作數。通用寄存器一共有16個,寄存器標志符占4位長為比較存儲效率,我們對以上4種指令集作了如下約定:操作碼占一個字節(jié)(8位)內存地址占2個字節(jié)(16位)操作數占4字節(jié)(32位)所有指令的長度都以整數個字節(jié)計算I另外,還假定訪問內存不使用其它的優(yōu)化措施,變量A、B、C和D的初值都已經放在內存中。針對以上4種不同的指令系統,回答下列問題:(1) 分別用匯編指令寫出下面3個賦值語句:)”'- _'"7A=B+C;B=A+C;D=A -
9、B;(2) 分別計算所執(zhí)行指令的字節(jié)數和轉移內存數據的字節(jié)數,并指岀如果根據代碼的大小來計算的話,哪種結構的效率是最高的?如果按需要的總內存帶寬(代碼+數據)來計算,又是哪種結構的效率最高?丨12. 考慮為DLX結構的計算機增加一個新的尋址模式。即使得地址模式增加兩個寄存器和一個11位長的帶符號的偏移量來得到有效地址。這樣,編譯器就會用新的尋址模式來代替1_-卜?ADDR1,R1,R2?LWRd,0(R1)(或是 Store 指令)如果已知在DLX結構的計算機上對測得一些程序的load和store指令分別平均占26%和9%,在此基礎上,計算:(1) 假定10%的load和store指令可以用新
10、的尋址模式代替,那么采用新的尋址模式后的指令計數與采用前之比為多少?(2) 如果新的尋址模式使得時鐘周期增長5%,那么采用了新的尋址模式的機器和未采用新的尋址模式的機器相比,哪種機器會更快一些,快多少?1、解答:在尾數采用補碼、小數表示且p=6,階碼采用移碼、整數表示且q=6,尾數基rm為16,階碼基Q為2的情況下:最大尾數為:1 - rm-p= 1 16-6, O.FFFFFF最小正尾數為:1/rm= 1/16, 0.100000最小尾數為:-1, 1.000000最大負尾數為:-(rm-1+rm-P)= (16-1+16-6), 1.EFFFFFI(5) 最大階碼為:req- 1 = 26
11、- 1 = 63 , 7F,包括符號位共7個1(6) 最小階碼為:-req = -26 = -64, 00,包括符號位共7個0IJIV最大正數為:(1 - 16-6)1663, 7FFFFFFFI ” L' ._"T(8) 最小正數為:16-65, 00100000(9) 最大負數為:-(16-1+16-6)16-64, 80EFFFFFP (10) 最小負數為:-1663, FF000000(11) 浮點零為:000000005 21(12) 表數精度為:16-/2= 2-(13) 表數效率為:15/16 = 93.75%7 I(14) 能表示的規(guī)格化浮點數個數為:2X15
12、X165X27+12、解答:匚卜?(1)取尾數和階碼的基都為 2,即:rm=2且re=2<10"7J P23.9根據表示數精度的要求:1 :-于是可以取p=24;根據表示數范圍的要求:;11僅供個人學習參考即11?38 + 1陀1一血叩叩血log 2八1嗽仍3)孑 log 2= 6.S3因此可以取q = 7數據格式可以表示如下(尾數采用隱藏位):1位1位7位23位符號階符階碼尾數能夠表示的最大正數:(1 - 2 24) 2127,能夠表示的最大負數:一2-129,表示數的精度:2-24,表數效率:100%。3、解答:(1) 舍入方法:下舍上入法、查表法(2) 警戒位位數:2位正
13、數區(qū)的誤差范圍:-2-p-1(1-2-g+1)2-p-14、解答:我們可以計算岀數據的大致數量:1000條指令訪問的數據總數為1000*2=2000個;每個數據平均訪問8次,所以,不同的數據個數為:2000乜=250個對于A處理機,所用的存儲空間的大小為:Mem_size=Meminstruction+Mem data=1000 X32+250 X32=40000bit 對于B處理機,指令字長由32位變?yōu)榱?30位(條數由256減少到64),這樣,所用的存儲空間的大小為:Mem_size=Meminstruction+Mem data=1000 X32+250 X36=39000bitI?牯此
14、我們可以看岀,由于數據的平均訪問次數要大于指令,所以,通過改進數據的格式來減少指令的長度,可以減少總的存儲 空間大小。5、解答:(1)要使得到的操作碼長度最短,應采用Huffman編碼,構造Huffman樹如下:由此可以得到7條指令的編碼分別如下:?這樣,采用Huffman編碼法得到的操作碼的平均長度為:|-卜H=2X(0.35+0.25+0.20)+3 0.10+4 X.05+5 粒.03+0.02)?=1.6+0.3+0.2+0.25?=2.35(2)設計8位字長的寄存器-寄存器型變址尋址方式指令如下:?因為只有8個通用寄存器,所以寄存器地址需3位,操作碼只有兩位,設計格式如下:2位2位3
15、位操作碼OP源寄存器R1目的寄存器R2?3條指令的操作碼分別為 00, 01, 10 ?設計16位字長的寄存器-存儲器型變址尋址方式指令如下:4位3位1位8位操作碼OP通用寄存器變址寄存器偏移地址?4條指令的操作碼分別為1100,1101,1110,11116、解答:(1)首先,可以根據指令地址的數量來決定各種指令在指令空間上的分布:° |如果按照從小到大的順序分配操作碼,并且按照指令數值從小到大的順序,分別為雙地址指令、單地址指令和零地址指令。其次可以根據指令的條數來大致的估計操作碼的長度:I I; / /雙指令15條,需要4位指令來區(qū)分,剩下的12位指令平均分給單地址和零地址指令
16、,每種指令可以用6位指令來區(qū)分,這樣,各指令的條數為:雙地址指令15條,地址碼:00001110 ;單地址指令 26-仁63條,地址碼:11110000001111111110 ;零地址指令 64 條,地址碼:11111111110000001111111111111111。與上面的分析相同,可以得出答案:雙地址指令14條,地址碼:00001101 ;7 I單地址指令 26*2-2=126 條,11100000001110111110,11110000001111111110 ;零地址指令 128 條 1110111111.0000001110111111.111111,1111L.?%- 7
17、、解答:(1) 變址尋址方式(2) 間接尋址方式(3) 變址尋址方式8、解答:X處理機程序占用的存儲空間總和為:30/ +2 =*35/Y處理機與X處理機的程序占用存儲空間的比值:321+2x32/-R-15R + 3516J2+32Y處理機程序占用的存儲空間總和為:當R>3時,有T- ' 1,即對于同樣的程序,在 Y處理機中所占用的存儲空間比在X處理機中所占用的存儲空間要小。在實際應用中經常是R> 10,所以帶標志符的處理機所占用的存儲空間通常要小。# |' / 9、解答:(1)根據表示數精度的要求:?艮據表示數范圍的要求:2工*丄| q+qm汐型+1Sg2qlo
18、g(如號呷毋+ D =12 70嚴】?取 p= 64,q = 141位1位14位64位符號階符階碼尾數能夠表示的最大正數:(1 - 2 64) 216383, 能夠表示的最大負數:-2-16385,表示數的精度:2-64。(3) 采用的舍入方法為恒置法,舍入規(guī)則:在規(guī)格化之后,尾數的最低位置為1, 在正數區(qū)的誤差范圍:一2-64(1 - 2 - g)+ 2- 64在正數區(qū)的積累誤差:+2-64 10、解答:(1)計算CPU時間為:丨二廠比型建":.僅供個人學習參考對原來的指令:"::I畑I對修改后的指令序列:.!丄-L _(2)在等式(2)中,CPIne滬CPIold ,
19、I- ' 一, R為新的指令設計方案中比原來的方案中減少的指令數。要使去掉一些load操作,使得修改指令后的性能和原來的性能相同,必須滿足:Icdi 忙 CPI 咼 * 屯址二(“說-血 *CPI詛xTc,11)即 Di = o.?i【亡ld又已知load指令占總指令的22.8%.1-31%-39.5%即要達到原來的性能,39.5%的load指令必須去掉。(2)給出下面的兩條指令:?ldr1,O(r1)?addM,r1,r1/ J 1在上面的指令中,我們將題目中的寄存器存放了整數4,那么上面指令序列執(zhí)行后r2和rb用寄存器r1來代替。如果假定r1的值為47,指令執(zhí)行前內存中地址為47的
20、位置r1存放的值將變?yōu)?。然而,如果我們使用了寄存器 -存儲器模式后,上面的指令序列成為:?addri,o(ri)假設寄存器和內存初值相同的話,指令執(zhí)行結束后,寄存器的值將變?yōu)?做指令替換。51( r1+MEM0+r1即47+4)。所以,在這種情況下,不能11、解答:?一臺采用累加型指令集結構計算機實現的程序段如下:僅供個人學習參考Start:B;accumulator<-BaddaC;ac cutnulator'-B-H?storeaA;store E-H? in AiddC;acstoreaB;stone A-K! in Bnegatea? negate accumulato
21、raddaA,accutnulator<- -B+A?D;storeA-B inD?在上面的代碼中,loada, storea和adda每個都是24位長(操作碼8位,操作數地址16位),negatea指令只需8位,所以整 個代碼一共需要22個字節(jié)。對存取數據操作來說,每條指令訪問操作數的值需要訪問4字節(jié)數據,所以,整個程序需要在內存和CPU之間轉移28字節(jié)的數據 ?一臺采用存儲器-存儲器型指令集結構計算機實現的程序段如下:Start: add扎BC,A=B-H3add#B=A4(l_小? :n'-1D,A,B;D=A-B./ I1?在上面的代碼中,每個指令為56位長(操作碼8位,3個操作數48位),這樣程序需要21個字節(jié)。對存取數據操作來說,每條指令執(zhí)行3個各訪問4字節(jié)數據的操作,這樣,整個程序在內存和CPU之間共轉移36字節(jié)的數據。?一臺采用堆棧型指令集結構計算機實現的程序段如下Stack: push B push C addpop A push A push C addpop i B Apush E subpop A7 pushB onto stack ,push C onto stackT;A=B-K:I;push A onto stack ;push C onto stack ;top-A4C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧農業(yè)技術推廣實戰(zhàn)手冊
- 浙江廣告字施工方案
- 2025年人力資源制度:人事勞動合同管理程序
- 定向井技術服務合同
- 設計和施工方案資質
- 防彈玻璃施工方案
- 戶內沉箱滲水施工方案
- TACCEM 129-2024 糧食環(huán)鏈刮板輸送機
- 鐵路伸縮縫圖片施工方案
- 威海鋁鎂錳屋面施工方案
- 裝飾公司小區(qū)團購活動策劃
- 曲率系數不均勻系數自動計算
- 垃圾分揀項目可行性報告
- 陜09J08 樓梯 欄桿 欄板圖集
- 老年功能狀態(tài)評估
- 石膏外固定的健康教育
- LOI意向書中英文模板
- 任務二機床坐標系與工件坐標系任務二機床坐標系與工件坐標系
- 2023《中華人民共和國合同法》
- 心臟康復實施試題及答案
- 《英語演講友情》課件
評論
0/150
提交評論