計(jì)算機(jī)體系結(jié)構(gòu)習(xí)題含答案_第1頁
計(jì)算機(jī)體系結(jié)構(gòu)習(xí)題含答案_第2頁
計(jì)算機(jī)體系結(jié)構(gòu)習(xí)題含答案_第3頁
計(jì)算機(jī)體系結(jié)構(gòu)習(xí)題含答案_第4頁
計(jì)算機(jī)體系結(jié)構(gòu)習(xí)題含答案_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第2章 課后習(xí)題窗體頂端1、尾數(shù)用補(bǔ)碼、小數(shù)表示,階碼用移碼、整數(shù)表示,尾數(shù)字長p=6(不包括符號位),階碼字長q=6(不包括符號位),為數(shù)基值rm=16,階碼基值re=2。對于規(guī)格化浮點(diǎn)數(shù),用十進(jìn)制表達(dá)式寫出如下數(shù)據(jù)(對于前11項(xiàng),還要寫出16進(jìn)值編碼)。(1)最大尾數(shù) (8)最小正數(shù)(2)最小正尾數(shù) (9)最大負(fù)數(shù)(3)最小尾數(shù) (10)最小負(fù)數(shù)(4)最大負(fù)尾數(shù) (11)浮點(diǎn)零(5)最大階碼 (12)表數(shù)精度(6)最小階碼 (13)表數(shù)效率(7)最大正數(shù) (14)能表示的規(guī)格化浮點(diǎn)數(shù)個數(shù)2一臺計(jì)算機(jī)系統(tǒng)要求浮點(diǎn)數(shù)的精度不低于10-7.2,表數(shù)范圍正數(shù)不小于1038,且正、負(fù)數(shù)對稱。尾數(shù)用原

2、碼、純小數(shù)表示,階碼用移碼、整數(shù)表示。(1) 設(shè)計(jì)這種浮點(diǎn)數(shù)的格式(2) 計(jì)算(1)所設(shè)計(jì)浮點(diǎn)數(shù)格式實(shí)際上能夠表示的最大正數(shù)、最大負(fù)數(shù)、表數(shù)精度和表數(shù)效率。3某處理機(jī)要求浮點(diǎn)數(shù)在正數(shù)區(qū)的積累誤差不大于2-p-1 ,其中,p是浮點(diǎn)數(shù)的尾數(shù)長度。(1) 選擇合適的舍入方法。(2) 確定警戒位位數(shù)。(3) 計(jì)算在正數(shù)區(qū)的誤差范圍。4假設(shè)有A和B兩種不同類型的處理機(jī),A處理機(jī)中的數(shù)據(jù)不帶標(biāo)志符,其指令字長和數(shù)據(jù)字長均為32位。B處理機(jī)的數(shù)據(jù)帶有標(biāo)志符,每個數(shù)據(jù)的字長增加至36位,其中有4位是標(biāo)志符,它的指令數(shù)由最多256條減少到不到64條。如果每執(zhí)行一條指令平均要訪問兩個操作數(shù),每個存放在存儲器中的操

3、作數(shù)平均要被訪問8次。對于一個由1000條指令組成的程序,分別計(jì)算這個程序在A處理機(jī)和B處理機(jī)中所占用的存儲空間大?。òㄖ噶詈蛿?shù)據(jù)),從中得到什么啟發(fā)?5一臺模型機(jī)共有7條指令,各指令的使用頻率分別為35%,25%,20%,10%,5%,3%和2%,有8個通用數(shù)據(jù)寄存器,2個變址寄存器。(1) 要求操作碼的平均長度最短,請?jiān)O(shè)計(jì)操作碼的編碼,并計(jì)算所設(shè)計(jì)操作碼的平均長度。(2) 設(shè)計(jì)8字長的寄存器-寄存器型指令3條,16位字長的寄存器-存儲器型變址尋址方式指令4條,變址范圍不小于127。請?jiān)O(shè)計(jì)指令格式,并給出各字段的長度和操作碼的編碼。6某處理機(jī)的指令字長為16位,有雙地址指令、單地址指令和零

4、地址指令3類,并假設(shè)每個地址字段的長度均為6位。(1) 如果雙地址指令有15條,單地址指令和零地址指令的條數(shù)基本相同,問單地址指令和零地址指令各有多少條?并且為這3類指令分配操作碼。(2) 如果要求3類指令的比例大致為1:9:9,問雙地址指令、單地址指令和零地址指令各有多少條?并且為這3類指令分配操作碼。7別用變址尋址方式和間接尋址方式編寫一個程序,求C=A+B,其中,A與B都是由n個元素組成的一維數(shù)組。比較兩個程序,并回答下列問題:(1) 從程序的復(fù)雜程度看,哪一種尋址方式更好?(2) 從硬件實(shí)現(xiàn)的代價(jià)看,哪一種尋址方式比較容易實(shí)現(xiàn)?(3) 從對向量運(yùn)算的支持看,哪一種尋址方式更好?8假設(shè)X

5、處理機(jī)的數(shù)據(jù)不帶標(biāo)志符,其指令字長和數(shù)據(jù)字長均為32位。Y處理機(jī)的數(shù)據(jù)帶有標(biāo)志符,每個數(shù)據(jù)的字長增加至35位,其中有3位是標(biāo)志符,其指令字長由32位減少至30位。并假設(shè)一條指令平均訪問兩個操作數(shù),每個操作數(shù)平均被訪問R次?,F(xiàn)有一個程序,它的指令條數(shù)為I,分別計(jì)算在這兩種不同類型的處理機(jī)中程序所占用的存儲空間,并加以比較。9一種浮點(diǎn)數(shù)表示方式的精度不低于10-19,能表示的最大正數(shù)不小于104000,而且正負(fù)數(shù)對稱。尾數(shù)用原碼、小數(shù)表示,階碼用移碼、整數(shù)表示,尾數(shù)和階碼的基值都是2。(1)設(shè)計(jì)這種浮點(diǎn)數(shù)的格式,給出各字段的名稱和長度。(2)計(jì)算(1)所設(shè)計(jì)的浮點(diǎn)數(shù)格式能夠表示的最大正數(shù)、最大負(fù)數(shù)

6、和表示數(shù)的精度。(3)如果在運(yùn)算器中沒有設(shè)置硬件警戒位,則這種浮點(diǎn)數(shù)可能采用了哪一種舍入方法?給出這種舍入方法的舍入規(guī)則,在正數(shù)區(qū)的誤差范圍和積累誤差。10有研究人員指出,如果在采用通用寄存器結(jié)構(gòu)的計(jì)算機(jī)里加入寄存器-存儲器尋址方式可能提高計(jì)算機(jī)效率。做法是用:ADD R2, 0(Rb)代替指令序列LOAD R1, 0(Rb)ADD R2, R2, R1假定使用新的指令能使時鐘周期增加10%,并且假定只對時鐘產(chǎn)生影響,而不影響CPI那么:(1) 采用新的指令,要達(dá)到與原來同樣的性能需要去掉的load操作所占的百分比?(假定load指令占總指令的22.8%)(2) 舉出一種多指令序列,該序列不能

7、使用上述的寄存器-存儲器尋址方式。即使得load R1后面緊接著執(zhí)行對R1的操作(該操作可以是任意某一操作碼),但這一指令序列不能被一條指令(假定存在這條指令)代替。11試比較下面4種不同類型的指令結(jié)構(gòu)的存儲效率:(1) 累加型:所有的操作都在單個寄存器和單個內(nèi)存地址之間進(jìn)行(2) 存儲器-存儲器型:每個指令的3個操作數(shù)都在內(nèi)存中進(jìn)行(3) 堆棧型:所有的操作都在棧頂進(jìn)行。只有push和pop操作會訪問內(nèi)存,其它的指令執(zhí)行時都會刪除棧中的操作數(shù),然后寫入執(zhí)行結(jié)果。(4) 通用寄存器型:所有的操作都在寄存器中進(jìn)行。這些寄存器-寄存器指令中的每個指令都包含3個操作數(shù)。通用寄存器一共有16個,寄存器

8、標(biāo)志符占4位長。為比較存儲效率,我們對以上4種指令集作了如下約定:操作碼占一個字節(jié)(8位)內(nèi)存地址占2個字節(jié)(16位)操作數(shù)占4字節(jié)(32位)所有指令的長度都以整數(shù)個字節(jié)計(jì)算另外,還假定訪問內(nèi)存不使用其它的優(yōu)化措施,變量A、B、C和D的初值都已經(jīng)放在內(nèi)存中。針對以上4種不同的指令系統(tǒng),回答下列問題:(1) 分別用匯編指令寫出下面3個賦值語句:A = B + C;B = A + C;D = A B;(2) 分別計(jì)算所執(zhí)行指令的字節(jié)數(shù)和轉(zhuǎn)移內(nèi)存數(shù)據(jù)的字節(jié)數(shù),并指出如果根據(jù)代碼的大小來計(jì)算的話,哪種結(jié)構(gòu)的效率是最高的?如果按需要的總內(nèi)存帶寬(代碼+數(shù)據(jù))來計(jì)算,又是哪種結(jié)構(gòu)的效率最高?12考慮為DL

9、X結(jié)構(gòu)的計(jì)算機(jī)增加一個新的尋址模式。即使得地址模式增加兩個寄存器和一個11位長的帶符號的偏移量來得到有效地址。這樣,編譯器就會用新的尋址模式來代替ADD R1, R1, R2LW Rd, 0(R1) (或是Store指令)如果已知在DLX結(jié)構(gòu)的計(jì)算機(jī)上對測得一些程序的load和store指令分別平均占26%和9%,在此基礎(chǔ)上,計(jì)算:(1) 假定10%的load和store指令可以用新的尋址模式代替,那么采用新的尋址模式后的指令計(jì)數(shù)與采用前之比為多少?(2) 如果新的尋址模式使得時鐘周期增長5%,那么采用了新的尋址模式的機(jī)器和未采用新的尋址模式的機(jī)器相比,哪種機(jī)器會更快一些,快多少?窗體底端1、

10、解答:在尾數(shù)采用補(bǔ)碼、小數(shù)表示且p=6,階碼采用移碼、整數(shù)表示且q=6,尾數(shù)基rm為16,階碼基re為2的情況下:(1) 最大尾數(shù)為:1rm-p116-6,0.FFFFFF(2) 最小正尾數(shù)為:1/rm1/16,0.100000(3) 最小尾數(shù)為: -1, 1.000000(4) 最大負(fù)尾數(shù)為:-(rm-1 + rm-p)(16-1 + 16-6),1.EFFFFF(5) 最大階碼為:req126163,7F,包括符號位共7個1(6) 最小階碼為:-req-26-64,00,包括符號位共7個0(7) 最大正數(shù)為:(116-6)1663,7FFFFFFF(8) 最小正數(shù)為:16-65,00100

11、000(9) 最大負(fù)數(shù)為:-(16-1 + 16-6) 16-64,80EFFFFF(10) 最小負(fù)數(shù)為:-1663,F(xiàn)F000000(11) 浮點(diǎn)零為:00000000(12) 表數(shù)精度為:16-5/22-21(13) 表數(shù)效率為:15/1693.75(14) 能表示的規(guī)格化浮點(diǎn)數(shù)個數(shù)為:21516527+12、解答:(1)取尾數(shù)和階碼的基都為2,即:rm=2 且 re=2根據(jù)表示數(shù)精度的要求: 于是可以取p=24;根據(jù)表示數(shù)范圍的要求: 即 因此可以取q7數(shù)據(jù)格式可以表示如下(尾數(shù)采用隱藏位):1位1位7位23位符號階符階碼尾數(shù)(2)能夠表示的最大正數(shù):(1224)2127,能夠表示的最大

12、負(fù)數(shù):2129,表示數(shù)的精度:224,表數(shù)效率:100%。3、解答:(1) 舍入方法:下舍上入法、查表法(2) 警戒位位數(shù):2位(3) 正數(shù)區(qū)的誤差范圍:-2-p-1(1-2-g+1) 2-p-14、解答:我們可以計(jì)算出數(shù)據(jù)的大致數(shù)量:1000條指令訪問的數(shù)據(jù)總數(shù)為1000*2=2000個;每個數(shù)據(jù)平均訪問8次,所以,不同的數(shù)據(jù)個數(shù)為:20008=250個對于A處理機(jī),所用的存儲空間的大小為:Mem_size = Meminstruction+Memdata = 100032+25032=40000bit對于B處理機(jī),指令字長由32位變?yōu)榱?0位(條數(shù)由256減少到64),這樣,所用的存儲空間

13、的大小為:Mem_size = Meminstruction+Memdata = 100032+25036=39000bit由此我們可以看出,由于數(shù)據(jù)的平均訪問次數(shù)要大于指令,所以,通過改進(jìn)數(shù)據(jù)的格式來減少指令的長度,可以減少總的存儲空間大小。5、解答:(1) 要使得到的操作碼長度最短,應(yīng)采用Huffman編碼,構(gòu)造Huffman樹如下:由此可以得到7條指令的編碼分別如下:這樣,采用Huffman編碼法得到的操作碼的平均長度為:H = 2(0.35+0.25+0.20) + 30.10 + 4 0.05 + 5(0.03 + 0.02)= 1.6+0.3+0.2+0.25=2.35(2) 設(shè)計(jì)

14、8位字長的寄存器-寄存器型變址尋址方式指令如下:因?yàn)橹挥?個通用寄存器,所以寄存器地址需3位,操作碼只有兩位,設(shè)計(jì)格式如下: 2位2位3位操作碼OP源寄存器R1目的寄存器R23條指令的操作碼分別為00,01,10設(shè)計(jì)16位字長的寄存器-存儲器型變址尋址方式指令如下:4位3位1位8位操作碼OP通用寄存器變址寄存器偏移地址4條指令的操作碼分別為1100, 1101,1110,1111 6、解答:(1) 首先,可以根據(jù)指令地址的數(shù)量來決定各種指令在指令空間上的分布:如果按照從小到大的順序分配操作碼,并且按照指令數(shù)值從小到大的順序,分別為雙地址指令、單地址指令和零地址指令。其次可以根據(jù)指令的條數(shù)來大致

15、的估計(jì)操作碼的長度:雙指令15條,需要4位指令來區(qū)分,剩下的12位指令平均分給單地址和零地址指令,每種指令可以用6位指令來區(qū)分,這樣,各指令的條數(shù)為:雙地址指令15條,地址碼:00001110;單地址指令26-1=63條,地址碼:1111 0000001111 111110;零地址指令64條,地址碼:1111 111111 0000001111 111111 111111。(2) 與上面的分析相同,可以得出答案:雙地址指令14條,地址碼:00001101;單地址指令26*2-2 = 126條,1110 0000001110 111110,1111 0000001111 111110;零地址指令

16、128條1110 111111.0000001110 111111.111111,1111 7、解答:(1) 變址尋址方式(2) 間接尋址方式(3) 變址尋址方式8、解答:X處理機(jī)程序占用的存儲空間總和為: ,Y處理機(jī)程序占用的存儲空間總和為: ,Y處理機(jī)與X處理機(jī)的程序占用存儲空間的比值:當(dāng)R3時,有 ,即對于同樣的程序,在Y處理機(jī)中所占用的存儲空間比在X處理機(jī)中所占用的存儲空間要小。在實(shí)際應(yīng)用中經(jīng)常是R10,所以帶標(biāo)志符的處理機(jī)所占用的存儲空間通常要小。9、解答:(1)根據(jù)表示數(shù)精度的要求:根據(jù)表示數(shù)范圍的要求:取p64, q141位1位14位64位符號階符階碼尾數(shù)(2)能夠表示的最大正數(shù)

17、:(1264)216383,能夠表示的最大負(fù)數(shù):216385,表示數(shù)的精度:264。(3)采用的舍入方法為恒置法,舍入規(guī)則:在規(guī)格化之后,尾數(shù)的最低位置為1,在正數(shù)區(qū)的誤差范圍:264(12g)264,在正數(shù)區(qū)的積累誤差:264。10、解答:(1) 計(jì)算CPU時間為: 對原來的指令:對修改后的指令序列:在等式(2)中,CPI new = CPI old, ,R為新的指令設(shè)計(jì)方案中比原來的方案中減少的指令數(shù)。要使去掉一些load操作,使得修改指令后的性能和原來的性能相同,必須滿足:又已知load指令占總指令的22.8%即要達(dá)到原來的性能,39.5%的load指令必須去掉。(2) 給出下面的兩條指

18、令:ld r1, 0(r1)add r1, r1, r1在上面的指令中,我們將題目中的寄存器r2和rb用寄存器r1來代替。如果假定r1的值為47,指令執(zhí)行前內(nèi)存中地址為47的位置存放了整數(shù)4,那么上面指令序列執(zhí)行后r1存放的值將變?yōu)?。然而,如果我們使用了寄存器-存儲器模式后,上面的指令序列成為:add r1, 0(r1)假設(shè)寄存器和內(nèi)存初值相同的話,指令執(zhí)行結(jié)束后,寄存器的值將變?yōu)?1(r1+MEM0+r1即47+4)。所以,在這種情況下,不能做指令替換。11、解答:一臺采用累加型指令集結(jié)構(gòu)計(jì)算機(jī)實(shí)現(xiàn)的程序段如下: 在上面的代碼中,loada,storea和adda每個都是24位長(操作碼8位,操作數(shù)地址16位),negatea指令只需8位,所以整個代碼一共需要22個字節(jié)。對存取數(shù)據(jù)操作來說,每條指令訪問操作數(shù)的值需要訪問4字節(jié)數(shù)據(jù),所以,整個程序需要在內(nèi)存和CPU之間轉(zhuǎn)移28字節(jié)的數(shù)據(jù)。一臺采用存儲器-存儲器型指令集結(jié)構(gòu)計(jì)算機(jī)實(shí)現(xiàn)的程序段如下: 在上面的代碼中,每個指令為56位長(操作碼8位,3個操作數(shù)48位),這樣程序需要21個字節(jié)。對存取數(shù)據(jù)操作來說,每條指令執(zhí)行3個各訪問4字節(jié)數(shù)據(jù)的操作,這樣,整個程序在內(nèi)存和CPU之間共轉(zhuǎn)移36

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論