計(jì)算機(jī)結(jié)構(gòu)原理(超級(jí)精簡(jiǎn))_第1頁
計(jì)算機(jī)結(jié)構(gòu)原理(超級(jí)精簡(jiǎn))_第2頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第一章計(jì)算機(jī)系統(tǒng)概論求階差:E補(bǔ)=11011+00100=11111,知E=1。例題精析1.C2.D3. 解答:計(jì)算機(jī)系統(tǒng)包括硬件和軟件。從計(jì)算機(jī)層次結(jié)構(gòu)來看,它通常有五個(gè)以上的層次,在每一層次(級(jí))上都能進(jìn)行程序設(shè)計(jì)。由下至上排序?yàn)椋旱谝患?jí)微程序機(jī)器級(jí),微指令由硬件直接執(zhí)行;第二級(jí)傳統(tǒng)機(jī)器級(jí),用微程序解釋機(jī)器指令;第三級(jí)操作系統(tǒng)級(jí),一般用機(jī)器語言程序解釋作業(yè)控制語句;第四級(jí)匯編語言機(jī)器級(jí),這一級(jí)由匯編程序支持和執(zhí)行;第五級(jí)高級(jí)語言機(jī)器級(jí),采用高級(jí)語言,由各種高級(jí)語言編譯程序支持和執(zhí)行。此外,還可以有第六級(jí)應(yīng)用語言機(jī)器級(jí),采用各種面向問題的應(yīng)用語言。4. 解答:由主存容量為64KX32位,可得

2、共需要數(shù)據(jù)線32根,存儲(chǔ)字長(zhǎng)為32位;由于MDR的位數(shù)與存儲(chǔ)字長(zhǎng)相等,故MDR為32位;由于MAR的位數(shù)對(duì)應(yīng)存儲(chǔ)單元的個(gè)數(shù),且216=64K,故MAR為16位,地址線16根。因指令字長(zhǎng)=機(jī)器字長(zhǎng)=存儲(chǔ)字長(zhǎng)(32位),則IR、ACC、MQ、X均為32位。試題精選單項(xiàng)選擇題1.B2.B3.D4.C5.D6.D7.C8.D9.D10.C11.A12.C13.C14.C15.D綜合應(yīng)用題1.解答:CPI即執(zhí)行一條指令所需的時(shí)鐘周期(時(shí)鐘頻率f的倒數(shù))數(shù)。本處理器共包括四種指令,那么CPI就是這四種指令的數(shù)學(xué)期望。即對(duì)階:X補(bǔ)=11100,11.101100000.尾數(shù)求差:11.101100000+1

3、1.00010100010.110001000XY補(bǔ)=11100,10.110001000.結(jié)果右規(guī)一次:XY補(bǔ)=11101,11.011000100.正常階碼,無溢出,結(jié)果真值為試題精選單項(xiàng)選擇題1.C2.A3.B4.B5.D14.C15.C16.C17.C綜合應(yīng)用題1.解答:1)表示一個(gè)補(bǔ)碼整數(shù):最高位為符號(hào)位,其他23X(0.1001111)2.6.B7.B8.A9.C10.B11.C12.B13.C18.D19.B20.C21.C22.C23.B24.C31位為數(shù)值位。其對(duì)應(yīng)的真值二進(jìn)制數(shù)表示為1110000000100000100000000000000其十進(jìn)制值為(230+229+

4、228+220+214)CPI=1X60%+2X18%+4X12%+8X10%=2.24MIPS即MillionInstructionsPerSecond(每秒執(zhí)行百萬條指令數(shù))。已知處理器時(shí)鐘頻率為40MHz,即每秒包含40M個(gè)時(shí)鐘周期,故MIPS=40十CPI=40十2.24=17.9程序的執(zhí)行時(shí)間T=CPIXT_ICX匸CPIX(1/f)XI=5.6X10-8I(s)。2.解答:1)A機(jī)的CPU主頻為8MHz,所有A機(jī)的CPU時(shí)鐘周期=1十8MHz=0.125s。2) A機(jī)的平均指令周期=1十0.4MIPS=2.5s»3) A機(jī)平均每條指令的時(shí)鐘周期數(shù)=2.5s十0.125s=

5、20.因微機(jī)A和B片內(nèi)邏輯電路完全相同,所以B機(jī)平均每條指令的時(shí)鐘周期數(shù)也為20.由于B機(jī)的CPU主頻為12MHz,所以B機(jī)的CPU時(shí)鐘周期=1十12MHz=1/12s。B機(jī)的平均指令周期=20X(1/12)s=5/3s。B機(jī)的平均指令執(zhí)行速度=1十(5/3)s=0.6MIPS。另解:B機(jī)的平均執(zhí)行速度=A機(jī)的平均指令執(zhí)行速度X(12/8)=0.4MIPSX(12/8)=0.6MIPS第二章數(shù)據(jù)的表示和運(yùn)算例題精析1.C2.B:3.C4.C5.D6.B7.B8.C9.D10.組間并行;16;4.11.327D=101000111B12.解答:奇校驗(yàn)碼:11001110,偶校驗(yàn)碼:1100111

6、1.奇校驗(yàn)碼:10001100,偶校驗(yàn)碼:10001101.奇校驗(yàn)碼:10101101,偶校驗(yàn)碼:10101100.13. 解答:(1100)的循環(huán)校驗(yàn)碼為M(x)x3+R(X)=1100000+010=1100010(模2力口)14. 解答:浮點(diǎn)數(shù)的格式如下:階符2階碼3數(shù)符2尾數(shù)9X=5/256=(101)2/28=2101X(0.101000000)2Y=+59/1024=(111011)2/210=2100X(0.111011000)2X補(bǔ)=11011,11.0110000002)表示一個(gè)無符號(hào)整數(shù):全部32位均為數(shù)值位,其十進(jìn)制值為231+227+226+225+224+223+22

7、2+221+219+218+217+216+215+2143)表示一個(gè)IEEE754標(biāo)準(zhǔn)的單精度浮點(diǎn)數(shù):其階碼為00011111,對(duì)應(yīng)十進(jìn)制數(shù)為31.IEEE754標(biāo)準(zhǔn)中的階碼用移碼表示,單精度浮點(diǎn)數(shù)的偏置值為127,所以階碼的十進(jìn)制真值為31127=96.其尾數(shù)為1.11011111100000000000000(第一位為符號(hào)位)。IEEE754標(biāo)準(zhǔn)中的尾數(shù)用原碼表示,且采用隱含尾數(shù)最高數(shù)位“1”的方法,隱含的“1”是一位整數(shù)(即位權(quán)為20)。所以尾數(shù)真值為(20+21+22+24+25+26+27+28+29)單精度浮點(diǎn)數(shù)的真值為(20+21+22+24+25+26+27+28+29)X2

8、962. 解答:為判斷溢出采用雙符號(hào)位。1) y補(bǔ)=0.10101x+y補(bǔ)=x補(bǔ)+y補(bǔ)=00.11011+11.01011=00.00110無溢出,結(jié)果正確。xy補(bǔ)=x補(bǔ)+y補(bǔ)=00.11011+00.10101=01.10000兩個(gè)符號(hào)位相反,出現(xiàn)溢出。雙符號(hào)位為01表示發(fā)生正溢出,結(jié)果不正確。2) y補(bǔ)=0.11100x+y補(bǔ)=x補(bǔ)+y補(bǔ)=11.01010+11.00100=10.01110兩個(gè)符號(hào)位相反,出現(xiàn)溢出。雙符號(hào)位為10表示發(fā)生負(fù)溢出,結(jié)果不正確。xy補(bǔ)=x補(bǔ)+y補(bǔ)=11.01010+00.11100=00.00110無溢出,結(jié)果正確。3. 解答:xXy補(bǔ)=1.10011101,

9、即xXy=0.01100011.4. 解答:1) (3.8125)10=11.1101=1.11101X21表示為IEEE754標(biāo)準(zhǔn)短實(shí)數(shù)時(shí),階碼加7FH,即01H+7FH=80H;數(shù)符為0,尾數(shù)部分隱藏第一位1,即得機(jī)器數(shù)形式為Y補(bǔ)=11100,00.1110110000,10000000;11101000000000000000000表示為IEEE754標(biāo)準(zhǔn)長(zhǎng)實(shí)數(shù)時(shí),階碼加3FFH,即01H+3FFH=4000H;數(shù)符為0,尾數(shù)部分a)隱藏第一位1,即得機(jī)器數(shù)形式為0,10000000000;11101000000000(44個(gè)0)表示為IEEE754標(biāo)準(zhǔn)臨時(shí)實(shí)數(shù)時(shí),階碼加3FFFH,即0

10、1H+3FFFH=4000H;數(shù)符為0,沒有隱藏位,即得機(jī)器數(shù)形式為0,100000000000000;1111010000000000(56個(gè)0)2)機(jī)器數(shù)為11000010111110111101000000000000,即1,10000101;11110111101000000000000,可知階碼為133-127=6;數(shù)符為1表示負(fù)數(shù),尾數(shù)加上隱藏位后的二進(jìn)制形式為1.11110111101000000000000,可知真值的二進(jìn)制形式為1111101.11101,即十進(jìn)制數(shù)為125.90625.5.解答:Cache塊號(hào)塊內(nèi)地址主存塊號(hào)塊內(nèi)地址C1=G1+P1C0其中:G1=A1B1,

11、P1=A1B1C2=G2+P2C1G2=A2B2:,P2=A2B2C3=G3+P3C2G3=A3B3:,P3=A3B3C4=G4+P4C3G4=A4B4,P4=A4B41)串行進(jìn)位方式:2)并行進(jìn)位方式:4位8位4位Cache地址C仁G1+P1C0C2=G2+P2G1+P2P1C0C3=G3+P3G2+P3P2G1+P3P2P1C0C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0其中,G1G4、P1P4表達(dá)式與串行進(jìn)位方式相同。第3章存儲(chǔ)器系統(tǒng)的層次結(jié)構(gòu)例題精析I. A2.B3.D4.D5.D6.A7.D8.C9.D10.DII. 解答:因?yàn)閠a=tc/e,所以tc=

12、tae=60nsx0.85=51ns(Cache存取周期),tm=tcr=51nsx4=204ns(主存存取周期)。因?yàn)閑=tc/htc+(1-h)tm,所以h=0.94.12.解答:1)主存容量=16X256x2=8192B,Cache容量=16x8X2=256B,主存字地址=8+4=12位,Cache字地址=3+4=7位,如圖3-17a所示。b)圖3-172)如圖3-17b)所示,由于每塊16字,所以該主存字所在的主存塊號(hào)為33H,由于是全相聯(lián)映射,原先已經(jīng)裝入Cache的5個(gè)塊依次在04號(hào)塊,因此主存的第33H的塊將裝入Cache的第5塊。對(duì)應(yīng)Cache的字地址為1011000B,其中1

13、01為塊號(hào),1000為塊內(nèi)地址。3)如圖3-18所示,由于表中地址為1的行中標(biāo)記著36H的主存塊號(hào)標(biāo)志,則當(dāng)CPU送來主存的字地址為368H時(shí),其主存塊號(hào)為36H,所以命中。此時(shí)的Cache字地址為58H主存塊號(hào)8位塊內(nèi)地址4位36H8H主存地址Cache塊號(hào)塊內(nèi)地址主存塊號(hào)塊內(nèi)地址Cache地址3位41第0塊0第1塊第7塊Cache8位41主存地址塊號(hào)3位塊內(nèi)地址4位相聯(lián)查找比較017主存塊號(hào)標(biāo)志5H8HCache地址8位"Cache塊號(hào)3位”*命中塊表圖3-1813.解答:相聯(lián)存儲(chǔ)器1)數(shù)據(jù)Cache有8個(gè)Cache行,每個(gè)Cache行大小為64B,若不考慮用塊號(hào)塊內(nèi)偏移塊號(hào)塊內(nèi)

14、偏移數(shù)組按行優(yōu)先方式存放,首地址為320,數(shù)組元素占4個(gè)字節(jié),可知a031的地址為320+31x4=444=110111100,可知其所在的主存塊對(duì)應(yīng)的Cache行號(hào)為110=6.a11的地址為320+(256+1)x4=1348=10101000100,可知其所在的主存塊對(duì)應(yīng)的Cache行號(hào)為101=5.1.A2.C3.B4.B5.A6.D7.B8.B9.C10.C11.A12.B13.A14.C15.A16.C17.B18.B19.D20.C21.C22.D23.B24.C25.D26.D27.D填空題1.寫操作占總訪存次數(shù)的%。Cache命中率為_%。每塊_個(gè)字。當(dāng)Cache發(fā)生塊替換A

15、0DDb3)數(shù)組a存放的數(shù)據(jù)量為256X256X4B=218B,占用218/64=212個(gè)內(nèi)存塊,按行優(yōu)先方式存放。程序A逐行訪問數(shù)組a,未命中次數(shù)為212,于是程序A的數(shù)據(jù)訪問命中率為(216212)/216X100%=93.75%程序B逐行訪問數(shù)組a,由于數(shù)組a一行的數(shù)據(jù)量為1KB>64B,所以訪問第0列每個(gè)元素時(shí)都不命中。由于數(shù)組有256列,數(shù)據(jù)Cache僅有8行,故訪問數(shù)組后續(xù)列元素時(shí)仍然不命中,于是程序B的數(shù)據(jù)訪問命中率為0%。由于從Cache讀數(shù)據(jù)比從內(nèi)存讀數(shù)據(jù)塊很多,所以程序A的執(zhí)行過程更短。試題精選單項(xiàng)選擇題時(shí),有%塊需要寫回主存,其余的因未被修改過而不必寫回主存。2.W

16、T法:寫主存次數(shù)占總訪存次數(shù)的_%.WB法:(1-99%)X30%X4=1.2%。綜合應(yīng)用題1. 解答:假設(shè)存儲(chǔ)器和交叉存儲(chǔ)器連續(xù)讀出m=4個(gè)字的信息總量都是q=64位X4=256位順序存儲(chǔ)器和交叉存儲(chǔ)器連續(xù)讀出4個(gè)字所需的時(shí)間分別是t2=mT=4X200ns=800ns=8X107st仁T+(m1)t=200ns+3X50ns=350ns=3.5X107s順序存儲(chǔ)器帶寬:W2=q/t2=256bit/(8X107)s=32X107bit/s交叉存儲(chǔ)器帶寬:W1=q/t仁256bit/(3.5X107)s=73X107bit/s2. 解答:1)命中率H=Nc/(Nc+Nm)=1900/(190

17、0+100)=0.95主存訪問時(shí)間是Cache的倍率:r=tm/tc=250ns/50ns=5訪問效率:e=1/r+(1r)H=1/5+(15)X0.95=83.3%2)平均訪問時(shí)間:ta=tc/e=50ns/0.833=60ns3. 解答:1)主存容量為2MB,按字節(jié)編址,所以主存地址為21位。每個(gè)塊有8個(gè)字,每個(gè)字有32位,得出主存地址字段中字塊內(nèi)地址字段為5位。根據(jù)Cache容量為16KB=214B,字塊大小為25B,得出Cache共有29塊,故c=9.根據(jù)4路組相聯(lián)映射2r=4,得r=2,則q=cr=7.主存字塊標(biāo)記位數(shù)為2175=9.其地址格式如下:主存字塊標(biāo)記(9位)組地址(7位)

18、字塊內(nèi)地址(5位)2)由于每個(gè)字塊有8個(gè)字,所以CPU的0,1,,100字單元分別在字塊0至字塊11和字塊12中,采用4路組相聯(lián)映射將分別映射到第0至第12組中,但高速緩存起始為空,所以第一次讀時(shí)每一塊中的第一個(gè)單元每命中,但后面10次每個(gè)單元均可以命中。所以命中率=(11X101-13)/(11X101)=98.8%。3)設(shè)高速緩存的存儲(chǔ)周期為T,則主存的存儲(chǔ)周期為5T。有高速緩存的訪問時(shí)間=98.8%XT+(1-98.8%)X5T=1.048T。無高速緩存的訪問時(shí)間=5T。所以提高倍數(shù)=(5/1.048)-1=3.77倍。4.解答:1)存儲(chǔ)器的總?cè)萘繛?6KX16位,RAM芯片為1KX4位

19、,故所需芯片總數(shù)為(16KX16位)/(1KX4位)=64片。地址長(zhǎng)度為10位(A9A0).每一組16位(4片),共16組,組與組間譯碼采用4:16譯碼器組成框圖如圖3-21所示。圖3-21存儲(chǔ)體的組成框圖3)采用異步刷新方式,在2ms時(shí)間內(nèi)分散地把芯片64行刷新一遍,故刷新信號(hào)的時(shí)間間隔為2ms/64=31.25s,即可取刷新信號(hào)周期為30s。5.1)將十六進(jìn)制地址范圍寫成二進(jìn)制地址碼,并確定其總?cè)萘浚鐖D3-22所示。十進(jìn)制值為4,故用Y4作為片選信號(hào)A15A14A13A12A11A10As1A8A7A6AsA4A3A2A1A00110000000000000.I系統(tǒng)程序區(qū)2KX8位011

20、00111111111110110100000000000.10號(hào)線與經(jīng)與非門共同產(chǎn)生片選信號(hào)用戶程序區(qū)1KX8位0110101111111111十進(jìn)制值為5,故用Yo作為片選信號(hào)圖3-22二進(jìn)制地址碼2)根據(jù)地址范圍的容量以及該范圍在計(jì)算機(jī)系統(tǒng)中的作用,選擇存儲(chǔ)芯片。由6000H67FFH為系統(tǒng)程序區(qū)的范圍,應(yīng)選1片2KX8位的ROM芯片。由6800H6BFFH為用戶程序區(qū)的范圍,應(yīng)選2片1KX4位的RAM芯片。3)存儲(chǔ)芯片的片選邏輯圖如圖3-23所示。圖3-23存儲(chǔ)芯片的片選邏輯圖6. 解答:1)用虛擬地址1的頁號(hào)15作為快表檢索項(xiàng),查得頁號(hào)為15的頁在主存中的起始地址為80000,故將8

21、0000與虛擬地址中的頁內(nèi)地址碼0324相加,求得主存實(shí)地址碼為80324.2)主存實(shí)地址碼=96000+0128=96128.3)虛擬地址3的頁號(hào)為48,當(dāng)用48作檢索項(xiàng)在快表中檢索時(shí),沒有檢索到頁號(hào)為48的頁面,此時(shí)操作系統(tǒng)暫停用戶作業(yè)程序的執(zhí)行,轉(zhuǎn)去執(zhí)行查頁表程序。如該頁面在主存中,則將該頁號(hào)及該頁在主存中的起始地址寫入快表;如該頁面不存在,則操作系統(tǒng)要將該頁面從外存調(diào)入主存,然后將頁號(hào)及其在主存中的起始地址寫入快表。7. 解答:根據(jù)圖3-20已知,ROM1的地址空間為0000H3FFFH,ROM2的地址空間為4000H7FFFH,RAM1的地址空間為C000HDFFFH,RAM2的地址

22、空間為E000HFFFFH。對(duì)應(yīng)上述空間,地址碼最高4位A15A12的狀態(tài)如下:2)由于存儲(chǔ)單元數(shù)為16K,故地址長(zhǎng)度為14位(設(shè)A13A0)芯片單元數(shù)為1K,則占用00000011ROM101000111ROM24)主存中的第i塊映射到Cache中第imod29個(gè)塊中11001101RAM111101111RAM22:4譯碼器對(duì)A15、A14兩位進(jìn)行譯碼,產(chǎn)生4路輸出,其中,Y0=00對(duì)應(yīng)ROM1,Y1=01對(duì)應(yīng)ROM2,Y3=11對(duì)應(yīng)RAM1和RAM2,然后用A13區(qū)分是RAM1(A13=0)還是RAM2(A13=1)。由此,兩組端子的連接方法如下:15,26,37,812,1114,91

23、3。8.解答:加速比SP=tM/tE,又tE=tch+(1-h)tM,本題中h=90%,tM=10tc,故可由上式解得SP=tM/tc+(1-h)tM=1/(0.1X0.9+1-0.9)=1/0.19=5.269.解答:1)依據(jù)Cache的塊容量和訪問的塊地址流序列可以畫出圖3-25.訪問順12序塊地址1418序列塊分配1414情況-18-操作狀調(diào)調(diào)態(tài):進(jìn)進(jìn)2)如圖3-26所示。訪問順12序塊地址615序列塊分配66情況-15-操作狀調(diào)調(diào)態(tài):進(jìn)進(jìn)34514188141414181818-8-命命調(diào)中中進(jìn)圖3-25Cache的地址分配(1)36413511666151515-1313-11命調(diào)調(diào)

24、中進(jìn)進(jìn)圖3-26Cache的地址分配(2)4810141414181818888444-10-調(diào)命調(diào)進(jìn)中進(jìn)6781087101010158813137111111替替替換換換5)根據(jù)j=imod29,Cache塊號(hào)=513mod29=1,即第1號(hào)塊。根據(jù)k=i/29,區(qū)號(hào)=513/29=1,即區(qū)號(hào)標(biāo)志為000001.6)16位主存字地址為04011H=0000100000000010001,按此主存的塊號(hào)為地址讀出的主存區(qū)號(hào)標(biāo)志000010000001(當(dāng)前主存區(qū)號(hào)),故不命中。第4章指令系統(tǒng)例題解析1.A2.C3.A4.解答:1)根據(jù)操作數(shù)地址碼為6位,則二地址指令中操作碼的位數(shù)為1666=

25、4,這4位操作碼可有16種操作。由于操作碼固定,則除了零地址指令有M種,一地址指令有N種,剩下二地址指令最多有16MN種。2)采用擴(kuò)展操作碼技術(shù),操作碼位數(shù)可隨地址數(shù)的減少而增加。對(duì)于二地址指令,指令字長(zhǎng)16位減去兩個(gè)地址碼共12位,剩下4位操作碼,共16種編碼,去掉一種編碼(如1111)用于一地址指令擴(kuò)展,二地址指令最多可有15種操作。3)采用擴(kuò)展操作碼技術(shù),操作碼位數(shù)可變,則二地址、一地址和零地址的操作碼長(zhǎng)度分別為4位、10位和16位。這樣二地址指令操作碼每減少一個(gè),就可以多構(gòu)成26條一地址指令操作碼;一地址指令操作碼每減少一個(gè),就可以多構(gòu)成26條零地址指令操作碼。設(shè)一地址指令有R條,則一

26、地址指令最多有(24P)X26條,零地址指令最多有(24P)X26RX26條。根據(jù)題中給出零地址指令為Q條,即Q=(24P)X26RX26則R=(24P)X26QX265.解答:此題的指令編碼格式如圖4-11所示2位7位7位011)OP地址碼1地址碼2操碼作總共3條105位4位7位110002)OP寄存器索引操作數(shù)操碼作總共6條111018位4位4位11110000OP寄存器索引1寄存器索引2操碼作總共8條111101119位7位1111100004)OP地址碼操作總共12條碼111110111位5)OP由于是全相聯(lián)映射,且當(dāng)訪問從第6個(gè)地址開始時(shí),Cache已經(jīng)裝不下,因此,按照先進(jìn)先出的原

27、則依次替換出第0塊、第1塊和第2塊。1111111000000000操作總共32條碼111111100001111110.解答:1)主存有512K&16=512X1024&16=32768個(gè)塊;有512K&8K=64個(gè)區(qū)。2)Cache中有8192十16=512塊;8192=213,Cache的字地址為13位;512=29,16=24,即塊號(hào)和塊內(nèi)地址分別為9位和4位。3)主存有32768塊X16B/字塊=219B,即字地址為19位。主存儲(chǔ)器的字地址分為三段:區(qū)號(hào)、區(qū)內(nèi)塊號(hào)、塊內(nèi)字地址。區(qū)號(hào)的長(zhǎng)度為19-13=6位,塊號(hào)為9位,塊內(nèi)字地址為4位。圖4-116.解答:1)

28、算術(shù)邏輯指令格式為“寄存器一寄存器"型,取單字長(zhǎng)為16位,格式如下:6244的操作碼,需要操作碼字段16位?,F(xiàn)在有50種不同3種,尋址方式字段不少OPMRiRj其中,OP為操作碼,6位,可實(shí)現(xiàn)64種操作;M為尋址特征,2位,可反映寄存器尋址、直接尋址、相對(duì)尋址;Ri和Rj各取4位,指出源操作數(shù)和目的操作數(shù)的寄存器編號(hào)。2)取數(shù)/存數(shù)指令格式為“寄存器一存儲(chǔ)器"型,取雙字長(zhǎng)為32位,格式如下:6244OPMRiA1A2其中,OP為操作碼,6位不變;M為尋址特征,2位不變;Ri為4位,為源操作數(shù)地址(存數(shù)指令)或目的操作數(shù)地址(取數(shù)指令);A1和A2共20位,為存儲(chǔ)器地址,可直

29、接訪問按字節(jié)編址的1MB存儲(chǔ)器。3)相對(duì)轉(zhuǎn)移指令為一地址格式,取單字長(zhǎng)為16位,格式如下:628OPMA其中,OP為操作碼,6位不變;M為尋址特征,2位不變;A為位移量,8位,對(duì)應(yīng)128+127.7. 解答:1)根據(jù)IR和MDR均為16位,且采用單字長(zhǎng)指令,得出指令字長(zhǎng)為16位。根據(jù)105種操作,取操作碼為7位。因允許直接尋址和間接尋址,且有變址寄存器和基址寄存器,因此取2位尋址特征,能反映4種尋址方式。最后得指令格式如下:727OPMAD其中,OP為操作碼,可完成105種操作;M為尋址特征,可反映4種尋址方式;AD為形式地址。這種格式指令可直接尋址的范圍為27=128,一次間址的尋址范圍為2

30、16=65536.2)雙字長(zhǎng)指令格式如下:727OPMAD1AD2其中,OP、M的含義同上;AD1/AD2為23位形式地址。這種格式指令可直接尋址的范圍為223=8M。3)容量為8MB的存儲(chǔ)器,MDR為16位,即對(duì)應(yīng)4MX16位的存儲(chǔ)器??刹捎秒p字長(zhǎng)指令,直接訪問4M存儲(chǔ)空間,此時(shí)MAR取22位;也可采用單字長(zhǎng)指令,但Rx和RB取22位,用變址或基址尋址方式訪問4M存儲(chǔ)空間。8. 解答:因?yàn)镺P字段長(zhǎng)為5位,所以指令能定義25=32種指令。各種尋址方式的有效地址EA的計(jì)算公式、尋址范圍見表4-5.尋址方式有效地址EA的計(jì)算公式尋址范圍立即尋址EA=(PC)1個(gè)字,即指令自身直接尋址EA=A25

31、6B間接尋址EA=(A)64KB變址尋址EA=(Rx)+A64KB相對(duì)尋址EA=(PC)+A256B(PC附近256B)9. 解答:指令操作碼占4位,則該指令系統(tǒng)最多可以有24=16條指令;指令操作數(shù)占6位,尋址方式占3位,于是寄存器編號(hào)占3位,該計(jì)算機(jī)最多可以有23=8個(gè)通用寄存器;主存容量為128KB,按字編址,計(jì)算機(jī)字長(zhǎng)為16位,劃分為128KB/2B=216個(gè)存儲(chǔ)單元,故MDR和MAR至少各需16位。2)PC和Rn可表示的地址范圍均為02161,而主存地址空間為216,故轉(zhuǎn)移指令的目標(biāo)地址范圍為02161。3)匯編語句add(R4),(R5)+對(duì)應(yīng)的機(jī)器碼為00100011000101

32、01B=2315H;該指令執(zhí)行后,累加器ACC、寄存器R5、地址為1234H的存儲(chǔ)單元的內(nèi)容會(huì)改變,改變后的內(nèi)容分別為(A5)=(R5)+仁5678H+2H=567AH(1234H)=(ACC)=68ACH試題精選1.A2.D3.B4.A5.D6.C7.A8.C9.C10.B11.A12.D13.C14.D15.A,D16.A17.C18.B19.B20.C21.B22.A23.A綜合應(yīng)用題1. 解答:指令中一般有三種字段:操作碼字段、尋址特征字段和地址碼字段。操作碼字段指出機(jī)器完成何種操作,其位數(shù)取決于指令系統(tǒng)的操作種類。尋址特征字段指出該指令以何種方式尋找操作數(shù)的有效地址,其位數(shù)取決于尋址

33、方式的種類。地址碼字段和尋址特征字段共同指出操作數(shù)或指令的有效地址,其位數(shù)與尋址范圍有關(guān)。2. 解答:變址尋址是操作數(shù)地址為變址寄存器中的內(nèi)容與位移量A之和,即EA=(R)變址+A。基址尋址是指令中給出一個(gè)形式地址(作為修改量),并給出基址寄存器號(hào),基址寄存器內(nèi)容(作為基址)與形式地址相加得到操作數(shù)有效地址,即EA=(R)變址+A。兩者的區(qū)別見表4-7.基址尋址變址尋址有效地址等于形式地址加上基址寄存器內(nèi)容有效地址等于形式地址加上變址寄存器內(nèi)容可擴(kuò)大尋址范圍可擴(kuò)大尋址范圍基址寄存器的內(nèi)容由操作系統(tǒng)給定,而且在變址寄存器的內(nèi)容由用戶給定,且在程序的程序的執(zhí)行過程中不可變執(zhí)行過程中可變支持多道程序

34、技術(shù)的應(yīng)用用于處理數(shù)組程序表4-7基址尋址與變址尋址的區(qū)別3. 解答:由于指令總長(zhǎng)度為16位,操作數(shù)地址為4位,則:對(duì)于三地址指令,操作碼長(zhǎng)度為16-4X3=4位。對(duì)于二地址指令,操作碼長(zhǎng)度為16-4X2=8位,可擴(kuò)展位為8-4=4位。對(duì)于一地址指令,操作碼長(zhǎng)度為16-4=12位,可擴(kuò)展位為12-8=4位。由于三地址指令有M條,而三地址指令最多有24條,所以留有24-M個(gè)編碼用于擴(kuò)展到兩地址指令。二地址指令有N條,而二地址指令最多有(24-M)X24條,所以留有(24-M)X24-N個(gè)編碼用于擴(kuò)展到一地址指令。根據(jù)以上分析,一地址指令條數(shù)=(24-M)X24-NX24.4. 解答:1)該指令能

35、定義16種操作。2)立即尋址操作數(shù)的范圍為128+127.3)直接尋址EA=A基址尋址EA=(RB)+A變址尋址EA=(Rx)+A相對(duì)尋址EA=(PC)+A4)非變址直接基址尋址時(shí)EA=(RB)+A,RB為14位,故可尋址的范圍為214.5)間接尋址時(shí),如果不考慮多次間址,尋址范圍為64KB,因?yàn)閺拇鎯?chǔ)器中讀出的16位數(shù)為有效地址。如果考慮多次間址,則需用最高一位作為多次間址標(biāo)志(“1”為多次間址)此時(shí)尋址范圍為32KB。5.解答:1)由于機(jī)器字長(zhǎng)為16位,指令為單字長(zhǎng)指令,所以指令長(zhǎng)度也為6位(26=64>50>32=25);尋址方式有于2位;剩下的8位為地址碼字段(1662=8

36、).指令格式如下:15109870OPMA知指令中的地址字段(頁內(nèi)地址)為8位,則頁面地址也為8位(168=8),故存儲(chǔ)器能劃(ACC)=(R4)+(R5)=5678H+1234H=68ACH2)現(xiàn)采用頁面尋址,需將存儲(chǔ)器劃分成若干頁面。主存容量共64KB,需要地址16位。已4次訪存,存放結(jié)果最多需要2次分為256個(gè)頁面,每一頁面有256個(gè)單元。3)在1)中確定的指令格式情況下,還可以再增加一種尋址方式。因?yàn)閷ぶ贩绞阶侄斡?位,允許出現(xiàn)4種不同的尋址方式。6. 解答:該機(jī)器指令可完成50種操作,則操作碼字段位數(shù)為6,26=64.有8種尋址操作,則每個(gè)尋址方式字段都需要3位,3個(gè)尋址字段共需要9

37、位。要保證各種尋址方式下均可在1KB主存范圍內(nèi)取得操作數(shù),則兩個(gè)操作數(shù)地址碼位數(shù)均為10,共需要20位。要保證運(yùn)算結(jié)果可存放在1KB主存區(qū)域,則結(jié)果地址碼位數(shù)也為10.因此機(jī)器指令字長(zhǎng)為6+9+30=45位,指OP(6位)(3位)D1(10位)(3)位D2(10位)(3位)D3(10位)令格式如下:44393836352625232213121090間接尋址需要兩次訪問主存,則獲得兩個(gè)操作數(shù)最多需要1. B2.D3.C4.A5.A6.B7.C8.D9.A10.A11解答:1)主頻為200MHz,所以主頻周期=1/200MHz=0.005s。每個(gè)指令周期平均為2.5CPU周期,每個(gè)CPU周期平均

38、包括2個(gè)主頻周期,所以一條指令的執(zhí)行時(shí)間=2x2.5x0.005s=0.025s。該機(jī)平均指令執(zhí)行速度=1/0.025=20MIPS。2)每條指令平均包括5個(gè)CPU周期,每個(gè)CPU周期又包含4個(gè)主頻周期,所以一條指令的執(zhí)行時(shí)間=4x5X0.005s=0.1s。該機(jī)平均指令執(zhí)行速度=1/0.1=10MIPS3)由此可見:指令的復(fù)雜程度會(huì)影響指令的平均執(zhí)行速度。12.解答:1)主機(jī)中各寄存器的位數(shù)為:訪存,加上取指令的1次訪存,執(zhí)行一條指令最多需要訪問7次主存7.解答:ACCMQALUXIRMDRPCMAR32323232323216161)根據(jù)題意,機(jī)器碼4仆CH為一個(gè)字長(zhǎng),取指后,PC為200

39、4H2)操作碼41H為8位,偏移量FCH也為8位,符號(hào)位擴(kuò)展后的16位偏移量是FFFCH3)轉(zhuǎn)移的具體地址計(jì)算為PC=PC+16位偏移量=2004H+FFFCH=2000H,進(jìn)到最高位的1自動(dòng)丟失。所以相對(duì)轉(zhuǎn)移的具體地址為2000H。8.解答:1)第一種指令是單字長(zhǎng)二地址指令,RR型;第二種指令是雙字長(zhǎng)二地址指令,RS型,其中,S采用基址尋址或變址尋址,R由源寄存器決定;第三種指令也是雙字長(zhǎng)二地址指令,RS型,其中,R由目標(biāo)寄存器決定,S由20位地址(直接尋址)決定。2)處理器完成第一種指令所花的時(shí)間最短,因?yàn)槭荝R型指令,不需要訪問存儲(chǔ)器。第二種指令所花的時(shí)間最長(zhǎng),因?yàn)槭荝S型指令,需要訪問

40、存儲(chǔ)器,同時(shí)要進(jìn)行尋址方式的變換運(yùn)算(基址或變址),這也要時(shí)間。第二種指令的執(zhí)行時(shí)間不會(huì)等于第三種指令的執(zhí)行時(shí)間,因?yàn)榈谌N指令雖也訪問存儲(chǔ)器,但節(jié)省了求有效地址運(yùn)算的時(shí)間開銷。3)根據(jù)已知條件:MOV(OP)=001010,STA(OP)=011011,LDA(OP)=111100,將指令的十六進(jìn)制格式轉(zhuǎn)換成二進(jìn)制代碼且比較后可知: (F0F1)H(3CD2)H指令代表LDA指令,編碼正確,其含義是把主存(13CD2)H地址單元的內(nèi)容取至15號(hào)寄存器。 (2856)H代表MOV指令,編碼正確,含義是把6號(hào)源寄存器的內(nèi)容傳送至5號(hào)目標(biāo)寄存器。 (6FD6)H是單字長(zhǎng)指令,一定是MOV指令,但編

41、碼錯(cuò)誤,可改正為(28D6)H。 (1C2)H是編碼錯(cuò)誤,可改正為(28C2)H,代表MOV指令。9.解答:X=00,D=20H,有效地址EA=20H;X=10,D=44H,有效地址EA=1122H+44H=1166HX=11,D=22H,有效地址EA=1234H+22H=1256HX=01,D=21H,有效地址EA=0037H+21H=0058HX=11,D=23H,有效地址EA=1234H+23H=1257H2)微操作命令及節(jié)拍安排如下:T0PCMAR,1RT1M(MAR)MDR,(PC)+1PCT2MARIR,OP(IR)IDT0Ad(IR)MAR,1WT1ACCMDRT2MDRM(MA

42、R)3)若采用微程序控制,還需增加下列微操作:取指:Ad(CMDR)CMAROP(IR)CMAR執(zhí)行:Ad(CMDR)CMAR13.解答:水平型微指令由操作控制字段、判別測(cè)試字段和下地址字段三部分構(gòu)成。因?yàn)槲⒅噶畈捎弥苯涌刂疲ň幋a)方式,所以其操作控制字段的位數(shù)等于微命令數(shù),為22位。又由于后繼微指令地址由下地址字段給出,故其下地址字段的位數(shù)可根據(jù)控制存儲(chǔ)器的容量(128X32位)定為7位。當(dāng)微程序出現(xiàn)分支時(shí),后繼微指令地址的形成取決于狀態(tài)條件,5個(gè)互斥的可判定外部條件,可以編碼成3位狀態(tài)位;非分支時(shí)的后繼微指令地址由微指令的下地址字段直接給出。微指令的格式如下:操作控制(22)判斷(3)下地

43、址(7)14. 解答:1)根據(jù)指令周期包括IF、ID、EX、WR四個(gè)子過程,畫出指令周期流程圖,如圖5-13所示圖5-13指令周期流程圖2)假設(shè)一個(gè)時(shí)間單位為一個(gè)時(shí)鐘周期,則每隔4個(gè)時(shí)鐘周期才有一個(gè)輸出結(jié)果。圖5-14所10.1)直接尋址時(shí),有效地址是指指令中的地址碼部分500,裝入ACC的是800.2)立即尋址時(shí),指令的地址碼部分是操作數(shù)而不是地址,所以將500裝入ACC。3)間接尋址時(shí),操作數(shù)的有效地址存儲(chǔ)在地址為500的單元中,由此得到有效地址為800,操作數(shù)是300.4)相對(duì)尋址時(shí),有效地址EA=(PC)+A=202+500=702,所以操作數(shù)是325。這是因?yàn)橹噶钍请p字長(zhǎng),在該指令的

44、執(zhí)行階段,PC的內(nèi)容已經(jīng)加2,更新為下一條指令的地址202。5)變址尋址時(shí),有效地址EA=(XR)+A=100+500=600,所以操作數(shù)是900。6)寄存器尋址時(shí),R1的內(nèi)容400裝入ACC。7)寄存器間接尋址時(shí),有效地址是R1的內(nèi)容400,裝入ACC的操作數(shù)是700。示為非流水線時(shí)空?qǐng)D時(shí)間s彳tI1?12fWRWXIDIF12345678時(shí)間尸t圖5-14非流水線時(shí)空?qǐng)D3)第一條指令出結(jié)果需要4個(gè)指令周期。當(dāng)流水線滿載時(shí),以后每一個(gè)時(shí)鐘周期可以出一第5章中央處理器(CPU)個(gè)結(jié)果,即執(zhí)行完一條指令。圖5-15所示為流水線時(shí)空?qǐng)D。例題精析圖5-15流水線時(shí)空?qǐng)D4)執(zhí)行10條指令所需時(shí)間=(4

45、+9)x100ns=1300ns。流水線的實(shí)際吞吐率=10/1300ns0.77x107條指令/秒。3)指令LDAX的數(shù)據(jù)通路:XMARMMMDRALUACC。4)指令A(yù)DDY的數(shù)據(jù)通路:YMARMMMDR,(MDR)+(ACC)ALU5)指令STAZ的數(shù)據(jù)通路:ZMAR,ACCMDRMM。4.解答:流程如下:步驟執(zhí)行步驟功能1PCAR,PC+1PC,Read送指令地址2)取指令的數(shù)據(jù)通路:PCMARMMMDRIRACC。取指到指令寄存器2IRDBUSDR,DR5)采用流水線處理需要4+(101)=13個(gè)時(shí)鐘周期,不采用流水線需要4X10=40個(gè)時(shí)鐘周Offs(IR地址碼字段將偏移量送到Y(jié)期,

46、故流水線的加速比為40十133.08.R1+YZ將偏移量與基址相加15.解答一:見表5-2ZAR,Read新地址送地址寄存器DBUSDR,DR讀源操作數(shù)時(shí)鐘功能有效控制信號(hào)C5MAR(R1)R1out,MARinC6MDRM(MAR)A(R0)MemR,MDRinE,R0out,AinC7ACC(MDR)+(A)MDRout,Add,ACCinC8MDR(ACC)ACCout,MDRinC9M(MAR)(MDR)MDRoutE,MemW表5-2指令執(zhí)行階段每個(gè)節(jié)拍的功能和有效控制信號(hào)(1)A(R0)"也可在C7:“ACC(MDR)+(A)"之前單列的一個(gè)時(shí)鐘周期內(nèi)執(zhí)行。5.

47、解答:R0+YZ兩數(shù)相加ZR0結(jié)果送R0解答二:見表5-3:T0Ad(IR)R1立即數(shù)R1T1(R1)+(ACC)R2ACC通過總線送ALUT2R2ACC結(jié)果ACC由于(PC)+1PC需由ALU完成,因此PC的值可作為ALU的一個(gè)源操作數(shù),做加1運(yùn)算得到(PC)+1,結(jié)果送至與ALU輸出端相連的R2,然后送至PC。1)立即尋址的加法指令執(zhí)行周期的微操作命令及節(jié)拍安排如下:在控制ALU此題關(guān)鍵是要考慮總線沖突的問題,故取指周期的微操作命令及節(jié)拍安排如下:時(shí)鐘功能有效控制信號(hào)C5MAR(R1)R1out,MARinC6MDRM(MAR)MemR,MDRinEC7A(MDR)MDRout,AinC8

48、ACC(A)+(R0)R0out,Add,ACCinC9MDR(ACC)ACCout,MDRinC10M(MAR)(MDR)MDRoutE,MemW表5-3指令執(zhí)行階段每個(gè)節(jié)拍的功能和有效控制信號(hào)(2)試題精選單項(xiàng)選擇題1.C2.D3.A4.C5.D6.B7.A8.D9.C10.B11.C12.A13.B14.A15.A16.D17.A18.B19.C20.C21.C22.D23.D24.C25.C26.C27.B28.B29.B30.B綜合應(yīng)用題1. 解答:一個(gè)完整的指令周期包括取指周期、間址周期、執(zhí)行周期和中斷周期。其中,取指和執(zhí)行周期是每條指令都有的;間址周期只有間址尋址(存儲(chǔ)器間接尋址)的指令才有;中斷周期只有在條件滿足時(shí)才有。2. 解答:因?yàn)闄C(jī)器主頻為240MHz,所以節(jié)拍周期=(1/240)31) 因?yàn)槊總€(gè)CPU周期平均包含4個(gè)節(jié)拍周期,所以CPU周期=節(jié)拍周期X4=4/240MHz=1/(60)s若訪存不需要插入等待周期,則執(zhí)行一條指令平均需要3個(gè)CPU周期,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論