版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
計算機(jī)體系結(jié)構(gòu)習(xí)題含答案
文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。
第2章課后習(xí)題
1、尾數(shù)用補碼、小數(shù)表示,階碼用移碼、整數(shù)表示,尾數(shù)字長p=6(不包括符號位),階碼字長q=6
(不包括符號位),為數(shù)基值r?,=16,階碼基值r?=2。對于規(guī)格化浮點數(shù),用十進(jìn)制表示式寫出如下
數(shù)據(jù)(對于前11項,還要寫出16進(jìn)值編碼).
(1)最大尾數(shù)(8)最小正數(shù)
(2)最小正尾數(shù)(9)最大負(fù)數(shù)
(3)最小尾數(shù)(10)最小負(fù)數(shù)
(4)最大負(fù)尾數(shù)(11)浮點零
(5)最大階碼(12)表數(shù)精度
(6)最小階碼(13)表數(shù)效率
(7)最大正數(shù)(14)能表示的規(guī)格化浮點數(shù)個數(shù)
2.一臺計算機(jī)系統(tǒng)要求浮點數(shù)的精度不低于1072,表數(shù)范圍正數(shù)不小于HP,且正、負(fù)數(shù)對稱。尾
數(shù)用原碼、純小數(shù)表示,階碼用移碼、整數(shù)表示。
(1)設(shè)計這種浮點數(shù)的格式
(2)計算(1)所設(shè)計浮點數(shù)格式實際上能夠表示的最大正數(shù)、最大負(fù)數(shù)、表數(shù)精度和表數(shù)效率。
3.某處理機(jī)要求浮點數(shù)在正數(shù)區(qū)的積累誤差不大于2中“,其中,p是浮點數(shù)的尾數(shù)長度。
(1)選擇合適的舍入方法。
(2)確定警戒位位數(shù)。
(3)計算在正數(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ù),每個存放在存儲
器中的操作數(shù)平均要被訪問8次。對于一個由1000條指令組成的程序,分別計算這個程序在A處理
機(jī)和B處理機(jī)中所占用的存儲空間大小(包括指令和數(shù)據(jù)),從中得到什么啟發(fā)?
5.一臺模型機(jī)共有7條指令,各指令的使用頻率分別為35%,25%,20%,10%,5%,3%和2%,
有8個通用數(shù)據(jù)寄存器,2個變址寄存器。
(1)要求操作碼的平均長度最短,請設(shè)計操作碼的編碼,并計算所設(shè)計操作碼的平均長度。
(2)設(shè)計8字長的寄存器-寄存器型指令3條,16位字長的寄存器-存儲器型變址尋址方式指令4條,
變址范圍不小于±127。請設(shè)計指令格式,并給出各字段的長度和操作碼的編碼。
6.某處理機(jī)的指令字長為16位,有雙地址指令、單地址指令和零地址指令3類,并假設(shè)每個地址字
文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。
段的長度均為6位。
(1)如果雙地址指令有15條,單地址指令和零地址指令的條數(shù)基本相同,問單地址指令和零地址指令
各有多少條?而且為這3類指令分配操作碼。
(2)如果要求3類指令的比例大致為1:9:9,問雙地址指令、單地址指令和零地址指令各有多少條?
而且為這3類指令分配操作碼。
7.別用變址尋址方式和間接尋址方式編寫一個程序,求C=A+B,其中,A與B都是由n個元素組
成的一維數(shù)組。比較兩個程序,并回答下列問題;
(1)從程序的復(fù)雜程度看,哪一種尋址方式更好?
(2)從硬件實現(xiàn)的代價看,哪一種尋址方式比較容易實現(xiàn)?
(3)從對向量運算的支持看,哪一種尋址方式更好?
8.假設(shè)X處理機(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ī)中程序所占用的存儲空間,并加以比較。
9.一種浮點數(shù)表示方式的精度不低于KT%能表示的最大正數(shù)不小于10',叫而且正負(fù)數(shù)對稱。尾
數(shù)用原碼、小數(shù)表示,階碼用移碼、整數(shù)表示,尾數(shù)和階碼的基值都是2。
(1)設(shè)計這種浮點數(shù)的格式,給出各字段的名稱和長度。
(2)計算⑴所設(shè)計的浮點數(shù)格式能夠表示的最大正數(shù)、最大負(fù)數(shù)和表示數(shù)的精度。
(3)如果在運算器中沒有設(shè)置硬件警戒位,則這種浮點數(shù)可能采用了哪一種舍入方法?給出這種舍入方
法的舍入規(guī)則,在正數(shù)區(qū)的誤差范圍和積累誤差。
10.有研究人員指出,如果在采用通用寄存器結(jié)構(gòu)的計算機(jī)里加入寄存器-存儲器尋址方式可能提高
計算機(jī)效率。做法是用:
ADDR2,0(Rb)
代替指令序列
LOADR1,0(Rb)
ADDR2,R2,RI
假定使用新的指令能使時鐘周期增加10%,而且假定只對時鐘產(chǎn)生影響,而不影響CPI那么:
(1)采用新的指令,要達(dá)到與原來同樣的性能需要去掉的load操作所占的百分比?(假定load指令占
總指令的22.8%)
(2)舉出一種多指令序列,該序列不能使用上述的寄存器-存儲器尋址方式。即使得loadR1后面緊接
著執(zhí)行對R1的操作(該操作能夠是任意某一操作碼),但這一指令序列不能被一條指令(假定存在
文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。
這條指令)代替。
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個,寄存器標(biāo)志符占4位長。
為比較存儲效率,我們對以上4種指令集作了如下約定:
操作碼占一個字節(jié)(8位)
內(nèi)存地址占2個字節(jié)(16位)
操作數(shù)占4字節(jié)(32位)
所有指令的長度都以整數(shù)個字節(jié)計算
另外,還假定訪問內(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)分別計算所執(zhí)行指令的字節(jié)數(shù)和轉(zhuǎn)移內(nèi)存數(shù)據(jù)的字節(jié)數(shù),并指出如果根據(jù)代碼的大小來計算的話,
哪種結(jié)構(gòu)的效率是最高的?如果按需要的總內(nèi)存帶寬(代碼+數(shù)據(jù))來計算,又是哪種結(jié)構(gòu)的效率最
高?
12.考慮為DLX結(jié)構(gòu)的計算機(jī)增加一個新的尋址模式。即使得地址模式增加兩個寄存器和一個11
位長的帶符號的偏移量來得到有效地址。這樣,編譯器就會用新的尋址模式來代替
ADDR1,R1,R2
LWRd,O(R1)(或是Store指令)
如果已知在DLX結(jié)構(gòu)的計算機(jī)上對測得一些程序的load和store指令分別平均占26%和9%,在此
基礎(chǔ)上,計算:
(1)假定10%的load和store指令能夠用新的尋址模式代替,那么采用新的尋址模式后的指令計數(shù)與
采用前之比為多少?
(2)如果新的尋址模式使得時鐘周期增長5%,那么采用了新的尋址模式的機(jī)器和未采用新的尋址模
式的機(jī)器相比,哪種機(jī)器會更快一些,快多少?
文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。
1、解答:
在尾數(shù)采用補碼、小數(shù)表示且p=6,階碼采用移碼、整數(shù)表示且q=6,尾數(shù)基r“,為16,階碼基底為2的
情況下:
(1)最大尾數(shù)為:1一面》=1-16,6,O.FFFFFF
(2)最小正尾數(shù)為:l/rm=1/16,0.100000
(3)最小尾數(shù)為:-1,1.000000
1
(4)最大負(fù)尾數(shù)為:+rm")=(16-+16?),1.EFFFFF
6
(5)最大階碼為:rei-l=2-l=63,7F,包括符號位共7個1
(6)最小階碼為:位。=-26=-64,00,包括符號位共7個0
(7)最大正數(shù)為:(1—163)1663,7FFFFFFF
(8)最小正數(shù)為:1665,00100000
(9)最大負(fù)數(shù)為:-(164+16?)16&,80EFFFFF
(10)最小負(fù)數(shù)為:-16",FF000000
(11)浮點零為:00000000
(12)表數(shù)精度為:1爐/2=221
(13)表數(shù)效率為:15/16=93.75%
(14)能表示的規(guī)格化浮點數(shù)個數(shù)為:2x15x165x27+1
2、解答:
(1)取尾數(shù)和階碼的基都為2,即:rm=2且r0=2
2*p<10-7JP>=23.9
根據(jù)表示數(shù)精度的要求:log2
于是能夠取p=24;
根據(jù)表示數(shù)范圍的要求:Q-2-.22bl嚴(yán)
即22*-1>1,00000006X1038
中〉38+logl.00000006+
2>l^g2+
.3叱33)=6.99
因此能夠取q=7
數(shù)據(jù)格式能夠表示如下(尾數(shù)采用隱藏位):
1位1位7位23位
符號階符階碼尾數(shù)
⑵能夠表示的最大正數(shù):(1一2-24)少27,
能夠表示的最大負(fù)數(shù):一2一3,
表示數(shù)的精度:2P4,
表數(shù)效率:100%。
文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。
3、解答:
(1)舍入方法:下舍上入法、查表法
(2)警戒位位數(shù):2位
(3)正數(shù)區(qū)的誤差范圍:2叫12呻~2?川
4、解答:
我們能夠計算出數(shù)據(jù)的大致數(shù)量:
1000條指令訪問的數(shù)據(jù)總數(shù)為1000*2=個;
每個數(shù)據(jù)平均訪問8次,因此,不同的數(shù)據(jù)個數(shù)為:+8=250個
對于A處理機(jī),所用的存儲空間的大小為:
Mem_size=Meminstruction+Memdata=1000x32+250x32=4000064
對于B處理機(jī),指令字長由32位變?yōu)榱?0位(條數(shù)由256減少到64),這樣,所用的存儲空間的大小為:
Mem_size=Meminstruction+Memdata=1000x32+250x36=39000萬it
由此我們能夠看出,由于數(shù)據(jù)的平均訪問次數(shù)要大于指令,因此,經(jīng)過改進(jìn)數(shù)據(jù)的格式來減少指令的長
度,能夠減少總的存儲空間大小。
5、解答:
(1)要使得到的操作碼長度最短,應(yīng)采用Huffman編碼,構(gòu)造Huffman樹如下:
I100I
由此能夠得到7條指令的編碼分別如下:
出現(xiàn)的頻率舸
135%00
225%01
320%10
410%110
55%1110
63%11110
72%11111
文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。
這樣,采用Huffman編碼法得到的操作碼的平均長度為:
H=2x(0.35+0.25+0.20)+3x0.10+4x0.05+5x(0.03+0.02)
=1.6+0.3+0.2+0.25
=2.35
(2)設(shè)計8位字長的寄存器-寄存器型變址尋址方式指令如下:
因為只有8個通用寄存器,因此寄存器地址需3位,操作碼只有兩位,設(shè)計格式如下:
2位2位3位
操作碼OP源寄存器R1目的寄存器R2
3條指令的操作碼分別為00,01,10
設(shè)計16位字長的寄存器-存儲器型變址尋址方式指令如下:
4位3位1位8位
操作碼OP通用寄存器變址寄存器偏移地址
4條指令的操作碼分別為1100,1101,1110,1111
6、解答:
(1)首先,能夠根據(jù)指令地址的數(shù)量來決定各種指令在指令空間上的分布:
如果按照從小到大的順序分配操作碼,而且按照指令數(shù)值從小到大的順序,分別為雙地址指令、單地址指
令和零地址指令。
其次能夠根據(jù)指令的條數(shù)來大致的估計操作碼的長度:
雙指令15條,需要4位指令來區(qū)分,剩下的12位指令平均分給單地址和零地址指令,每種指令能夠用6
位指令來區(qū)分,這樣,各指令的條數(shù)為:
雙地址指令15條,地址碼:0000-1110;
單地址指令26-1=63條,地址碼:1111000000-1111111110;
零地址指令64條,地址碼:1111111111000000-1111111111llllllo
(2)與上面的分析相同,能夠得出答案:
雙地址指令14條,地址碼:0000-1101;
單地址指令26*2-2=126條,1110000000-1110111110,1111000000-1111111110s
零地址指令128條1110111111.000000~1110111111.111111,1111
7、解答:
(1)變址尋址方式
(2)間接尋址方式
(3)變址尋址方式
8、解答:
x處理機(jī)程序占用的存儲空間總和為:R
Y處理機(jī)程序占用的存儲空間總和為:R
文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。
15R+35
2x32/16R+32
321+
Y處理機(jī)與X處理機(jī)的程序占用存儲空間的比值:-R-
,B,V]
當(dāng)R>3時,有京,,即對于同樣的程序,在Y處理機(jī)中所占用的存儲空間比在X處理機(jī)中所占用的
存儲空間要小。在實際應(yīng)用中經(jīng)常是R>10,因此帶標(biāo)志符的處理機(jī)所占用的存儲空間一般要小。
9、解答:
19
2“<10p>—=63,12
(1)根據(jù)表示數(shù)精度的要求:log2
?giooo
外毋
log0OOQ/log2+l)
4〉=13.70
根據(jù)表示數(shù)范圍的要求:log2
取p=64,q=14
1位1位14位64位
符號階符階碼尾數(shù)
⑵能夠表示的最大正數(shù):(1-2=4)2悶83,
能夠表示的最大負(fù)數(shù):-2r6385,
表示數(shù)的精度:2一”
(3)采用的舍入方法為恒置法,
舍入規(guī)則:在規(guī)格化之后,尾數(shù)的最低位置為1,
在正數(shù)區(qū)的誤差范圍:一2-64(1—2F)?+2-3,
在正數(shù)區(qū)的積累誤差:+2"4。
10、解答:
(1)計算CPU時間為:「叩:IcXCPIx%
對原來的指令:7r。巾Tj1dxePIoldXTjld(1)
T(;PUmw=ICAWXCPIMWXTBW
(2)
對修改后的指令序列:
x
在等式(2)中,CPIi=CPI.M,TCttW=(110TcOH),R為新的指令設(shè)計方案中比原來的方案中減少
的指令數(shù)。
要使去掉一些load操作,使得修改指令后的性能和原來的性能相同,必須滿足:
文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。
兒泡xCPI函"或曲=。。泅-丹*CPI函X。.10*TCH)
即=0.91
又已知load指令占總指令的22.8%
即要達(dá)到原來的性能,39.5%的10ad指令必須去掉。
((2)給出下面的兩條指令:
Idrl,0(rl)
addrl,rl,rl
在上面的指令中,我們將題目中的寄存器r2和rb用寄存器rl來代替。如果假定rl的值為47,指令執(zhí)行
前內(nèi)存中地址為47的位置存放了整數(shù)4,那么上面指令序列執(zhí)行后rl存放的值將變?yōu)?.
然而,如果我們使用了寄存器-存儲器模式后,上面的指令序列成為:
addrl,0(rl)
假設(shè)寄存器和內(nèi)存初值相同的話,指令執(zhí)行結(jié)束后,寄存器的值將變?yōu)?1(rl+MEMlO+rl]即47+4)。因
此,在這種情況下,不能做指令替換。
11、解答:
一臺采用累加型指令集結(jié)構(gòu)計算機(jī)實現(xiàn)的程序段如下:
Start:loadaB;accumiilator<-B
addaC;accumulator<-B+C
storeaA;storeB+CinA
addC;accumulator
storeaB;storeA-H3inB
negatea;negateaccumulator
addaA;accumulator<--B+A
storeaD;storeA-BinD
在上面的代碼中,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ī)實現(xiàn)的程序段如下:
Start:addA,B,C;A=BK!
addB,A.C;B=A£
subD,A,B;D=A-B
在上面的代碼中,每個指令為56位長(操作碼8位,3個操作數(shù)48位),這樣程序需要21個字節(jié)。對
存取數(shù)據(jù)操作來說,每條指令執(zhí)行3個各訪問4字節(jié)數(shù)據(jù)的操作,這樣,整個程序在內(nèi)存和CPU之間共
轉(zhuǎn)移36字節(jié)的數(shù)據(jù)。
一臺采用堆棧型指令集結(jié)構(gòu)計算機(jī)實現(xiàn)的程序段如下:
文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。
Stack:pushB,pushBontostack
pushC;pushContostack
add;top<-B+C
popA;A=B+C
pushA;pushAontostack
pushC;pushContostack
add;top<-A-HC
popB;B=A4€
pushA,pushAontostack
pushB;pushBontostack
sub;top<-A-B
popA;D=A-B
上面的代碼中,每條load和store指令都為28位
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小數(shù)點位置移動引起小數(shù)大小的變化課件
- 新生兒氣道管理課件
- 焊接工藝課件-焊條電弧焊V形坡口板對接橫焊
- 《慢阻肺gold指南》課件
- 《草帽圖解析話術(shù)》課件
- 《心理學(xué)章》課件
- 【課件】發(fā)現(xiàn)你的優(yōu)勢
- 【大學(xué)課件】建筑電氣安裝工程定額計價
- 單位管理制度展示匯編【人力資源管理】
- 單位管理制度展示大全職工管理篇
- 無錫市區(qū)2024-2025學(xué)年四年級上學(xué)期數(shù)學(xué)期末試題一(有答案)
- 血液凈化中心院內(nèi)感染控制課件
- 年產(chǎn)1.5萬噸長鏈二元酸工程建設(shè)項目可研報告
- 紡織廠消防管道安裝協(xié)議
- 【MOOC】思辨式英文寫作-南開大學(xué) 中國大學(xué)慕課MOOC答案
- 期末測試卷(試題)-2024-2025學(xué)年五年級上冊數(shù)學(xué)北師大版
- 2024年下半年中國石油大連石化分公司招聘30人易考易錯模擬試題(共500題)試卷后附參考答案
- 國有企業(yè)品牌建設(shè)策略方案
- 2024年河南省公務(wù)員考試《行測》真題及答案解析
- 家政培訓(xùn)講師課件
- 廣東省深圳市龍華區(qū)2023-2024學(xué)年八年級下學(xué)期期中數(shù)學(xué)試題
評論
0/150
提交評論