《計算機組成原理》第3章習(xí)題答案_第1頁
《計算機組成原理》第3章習(xí)題答案_第2頁
《計算機組成原理》第3章習(xí)題答案_第3頁
《計算機組成原理》第3章習(xí)題答案_第4頁
《計算機組成原理》第3章習(xí)題答案_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第3章習(xí)題解答 1指令長度和機器字長有什么關(guān)系?半字長指令、單字長指令、雙字長指令分別表示什么意思? 解:指令長度與機器字長沒有固定的關(guān)系,指令長度可以等于機器字長,也可以大于或小于機器字長。通常,把指令長度等于機器字長的指令稱為單字長指令;指令長度等于半個機器字長的指令稱為半字長指令;指令長度等于兩個機器字長的指令稱為雙字長指令。 2零地址指令的操作數(shù)來自哪里?一地址指令中,另一個操作數(shù)的地址通??刹捎檬裁磳ぶ贩绞将@得?各舉一例說明。 解:雙操作數(shù)的零地址指令的操作數(shù)來自堆棧的棧頂和次棧頂。雙操作數(shù)的一地址指令的另一個操作數(shù)通??刹捎秒[含尋址方式獲得,即將另一操作數(shù)預(yù)先存放在累加器中。例如,

2、前述零地址和一地址的加法指令。 3某機為定長指令字結(jié)構(gòu),指令長度16位;每個操作數(shù)的地址碼長6位,指令分為無操作數(shù)、單操作數(shù)和雙操作數(shù)三類。若雙操作數(shù)指令已有K種,無操作數(shù)指令已有L種,問單操作數(shù)指令最多可能有多少種?上述三類指令各自允許的最大指令條數(shù)是多少? 解:X= (24一K)×26一L/26 雙操作數(shù)指令的最大指令數(shù):24一1。 單操作數(shù)指令的最大指令數(shù):15×26一l(假設(shè)雙操作數(shù)指令僅1條,為無操作數(shù)指令留出1個擴展窗口)。 無操作數(shù)指令的最大指令數(shù):216一212一26。其中212為表示某條二地址指令占用的編碼數(shù),26為表示某條單地址指令占用的編碼數(shù)。此時雙操

3、作數(shù)和單操作數(shù)指令各僅有1條。 4設(shè)某機為定長指令字結(jié)構(gòu),指令長度12位,每個地址碼占3位,試提出一種分配方案,使該指令系統(tǒng)包含:4條三地址指令,8條二地址指令,180條單地址指令。 解:4條三地址指令000 XXX YYY ZZZ 011 XXX YYY ZZZ 8條二地址指令 100 000 XXX YYY 100 111 XXX YYY 180條單地址指令 101 000 000 XXX 111 110 011 XXX 5指令格式同上題,能否構(gòu)成: 三地址指令4條,單地址指令255條,零地址指令64條?為什么? 解:三地址指令4條 000 XXX YYY ZZZ 011 XXX YYY

4、ZZZ 單地址指令255條 100 000 000 XXX 111 111 110 YYY 只能再擴展出零地址指令8條,所以不能構(gòu)成這樣的指令系統(tǒng)。 6指令中地址碼的位數(shù)與直接訪問的主存容量和最小尋址單位有什么關(guān)系? 解:主存容量越大,所需的地址碼位數(shù)就越長。對于相同容量來說,最小尋址單位越小,地址碼的位數(shù)就越長。 7試比較間接尋址和寄存器間址。 解:間接尋址方式的有效地址在主存中,操作數(shù)也在主存中;寄存器間址方式的有效地址在寄存器中,操作數(shù)在主存中。所以間接尋址比較慢。 8試比較基址尋址和變址尋址。 解:基址尋址和變址尋址在形成有效地址時所用的算法是相同的,但是它們兩者實際上是有區(qū)別的。一般

5、來說,變址尋址中變址寄存器提供修改量(可變的),而指令中提供基準(zhǔn)值(固定的);基址尋址中基址寄存器提供基準(zhǔn)值(固定的),而指令中提供位移量(可變的)。這兩種尋址方式應(yīng)用的場合也不同,變址尋址是面向用戶的,用于訪問字符串、向量和數(shù)組等成批數(shù)據(jù);而基址尋址面向系統(tǒng),主要用于邏輯地址和物理地址的變換,用以解決程序在主存中的再定位和擴大尋址空間等問題。在某些大型機中,基址寄存器只能由特權(quán)指令來管理,用戶指令無權(quán)操作和修改。 9某機字長為16位,主存容量為64K字,采用單字長單地址指令,共有50條指令。若有直接尋址、間接尋址:變址尋址、相對尋址四種尋址方式,試設(shè)計其指令格式。 解:操作碼6位,尋址方式2

6、位,地址碼8位。 10某機字長為16位,主存容量為64K字,指令格式為單字長單地址,共有64條指 令。試說明: (1)若只采用直接尋址方式,指令能訪問多少主存單元? (2)為擴充指令的尋址范圍,可采用直接間接尋址方式,若只增加一位直接間接標(biāo) 志,指令可尋址范圍為多少?指令直接尋址的范圍為多少? (3)采用頁面尋址方式,若只增加一位zc(零頁現(xiàn)行頁)標(biāo)志,指令尋址范圍為多 少?指令直接尋址范圍為多少? (4)采用(2)、(3)兩種方式結(jié)合,指令的尋址范圍為多少?指令直接尋址范圍為多少? 解:因為計算機中共有64條指令,所以操作碼占6位,其余部分為地址碼或標(biāo)志位。 (1)若只采用直接尋址方式,地址

7、碼部分為10位,指令能訪問的主存單元數(shù)為210=1K字。 (2)若采用直接間接尋址方式,將增加了一位直接間接標(biāo)志,地址碼部分為9位, 指令直接尋址的范圍為29=05K字,指令可尋址范圍為整個主存空間216=64K字。 (3)若采用頁面尋址方式,將增加一位zc(零頁現(xiàn)行頁)標(biāo)志,所以指令直接尋址 范圍仍為29=05K字,指令尋址范圍仍為216=64K字。 (4)此時將需要和zc兩個標(biāo)志位,所以指令直接尋址范圍為28=025K字,指令尋址范圍仍為216=64K字。 11設(shè)某機字長32位,CPU有32個32位的通用寄存器,設(shè)計一個能容納的單字長指令系統(tǒng)。 (1)如果是存儲器間接尋址方式的寄存器一存儲

8、器型指令,能直接尋址的空間是多少? (2)如果采用通用寄存器作為基址寄存器,能直接尋址的最大主存空間又是多少? 解:因為計算機中共有64條指令,所以操作碼占6位;32個通用寄存器,寄存器編號占5位;其余部分為地址碼或標(biāo)志位。 (1)如果是存儲器間接尋址方式的寄存器一存儲器型指令,操作碼6位,寄存器編號5位,間址標(biāo)志1位,地址碼20位,直接尋址的最大主存空間是220字。 (2)如果采用通用寄存器作為基址寄存器,EA=(Rb)+A,能直接尋址的最大主存空間是232字。 12已知某小型機字長為16位,其雙操作數(shù)指令的格式如下: 其中:OP為操作碼,R為通用寄存器地址。試說明下列各種情況下能訪問的最大

9、主存區(qū)域有多少機器字? (1)A為立即數(shù)。 (2)A為直接主存單元地址。 (3)A為間接地址(非多重間址) (4)A為變址尋址的形式地址,假定變址寄存器為R1(字長為16位)。 解: (1)1個機器字。 (2)256個機器字。 (3)65536個機器字。 (4)65536個機器字。 13計算下列4條指令的有效地址(指令長度為16位)。 (1)000000Q (2)l00000Q (3)170710Q (4)012305Q 假定:上述4條指令均用八進制書寫,指令的最左邊是一位間址指示位(=O,直接尋址;=1,間接尋址),且具有多重間訪功能;指令的最右邊兩位為形式地址;主存容量215單元,下表為有

10、關(guān)主存單元的內(nèi)容(八進制)。解:(1)000000Q 因為指令的最高位為0,故為直接尋址,EA=A=00000Q。 (2)100000Q 因為指令的最高位為1,故指令為間接尋址。 (00000)=100002,最高位仍為1,繼續(xù)間接尋址,(00002)=054304,其最高位為0,表示已經(jīng)找到有效地址,EA=54304Q。 (3)170710Q因為指令的最高位為1,故指令為間接尋址。(00010)=100005,最高位仍為1,繼續(xù)間接尋址。(00005)=100001,最高位仍為1,繼續(xù)間接尋址。(00001)=046710,其最高位為0,表示已找到有效地址,EA=46710Q。(4)0123

11、05Q因為指令的最高位為0,故為直接尋址,EA=A=00005Q。14假定某機的指令格式如下:其中: Bitll=1:間接尋址; Bit8=1:變址寄存器I1尋址; Bit7=1:變址寄存器I2尋址; Bit6(零頁現(xiàn)行頁尋址):ZC=0,表示O頁面;ZC=1,表示現(xiàn)行頁面,即指令所在頁面。 若主存容量為212個存儲單元,分為26個頁面,每個頁面有26個字。 設(shè)有關(guān)寄存器的內(nèi)容為 (PC)=0340Q (11)=11llQ (12)=0256Q 試計算下列指令的有效地址。 (1)1046Q (2)2433Q (3)32150 (4)1111Q解:(1)1046Q=001 000 100 110

12、因為4個標(biāo)志位均為0,故為直接尋址,EA=A=0046Q。(2)2433Q一010 100 011 011因為Bit8(I1)=1,故為變址寄存器1尋址,EA=(I1)+A=1111+33=1144Q。(3)3215Q=011 010 001 101因為Bit7(I2)=1,故為變址寄存器2尋址,EA=(I2)+A=0256+15=0273Q。(4)111lQ一001 001 001 001因為Bit6(zC)=1,故為當(dāng)前頁尋址,EA=(PC)HA=0311=0311Q。15假定指令格式如下: , 其中:DI為直接間接尋址標(biāo)志,DI=0表示直接尋址,DI=1表示間接尋址。其余標(biāo)志位同題14說

13、明。 若主存容量為216個存儲單元,分為28個頁面,每個頁面有28個字。設(shè)有關(guān)寄存器的內(nèi)容為 (I1)=002543Q (I2)=063215Q (PC)=004350Q 試計算下列指令的有效地址。 (1)152301Q (2)074013Q (3)161123Q (4)140011Q 解:(1) 152301Q =1 101 010 011 000 001因為Bit10(I2)=1,故為變址寄存器2尋址,EA=(I2)+A=063215+301=063516Q。(2) 074013Q=0 111 100 000 001 011因為Bit11(I1)=1,故為變址寄存器1尋址,EA=(I1)+

14、A=002543+013=002556Q。(3) 161123Q=1 110 001 001 010 011因為Bit9(zC)=1,故為當(dāng)前頁尋址,EA=(PC)A=994123Q。 (4)140011Q=1 100 000 000 001 001 因為4個標(biāo)志位均為O,故為直接尋址,EA=A=000011Q。16舉例說明哪幾種尋址方式除去取指令以外不訪問存儲器?哪幾種尋址方式除去取指令外只需訪問一次存儲器??完成什么樣的指令,包括取指令在內(nèi)共訪問4次存儲器?解:除去取指令外不訪問存儲器:立即尋址,寄存器尋址。除去取指令外只需訪問一次存儲器:直接尋址,寄存器間接尋址,變址尋址,基址尋址,相對

15、尋址,頁面尋址。 二級間接尋址包括取指令在內(nèi)共訪問4次存儲器。 17設(shè)相對尋址的轉(zhuǎn)移指令占兩個字節(jié),第一個字節(jié)是操作碼,第二個字節(jié)是相對位移量,用補碼表示,假設(shè)當(dāng)前轉(zhuǎn)移指令第一字節(jié)所在的地址為2000H,且CPU每取一個字節(jié)便自動完成(PC)+1一PC的操作。試問當(dāng)執(zhí)行JMP*+8和JMP*一9指令(*為相對尋址特征)時,轉(zhuǎn)移指令第二字節(jié)的內(nèi)容各為多少?轉(zhuǎn)移的目的地址各是什么? 解:轉(zhuǎn)移指令第二字節(jié)的內(nèi)容分別為:00001000(+8),11110111(一9)轉(zhuǎn)移的目的地址分別為:200AH,1FF9H。 18什么叫主程序和子程序?調(diào)用子程序時還可采用哪幾種方法保存返回地址?畫圖說明調(diào)用子程

16、序的過程。 解:主程序就是指通常的程序,而子程序是一組可以公用的指令序列,只要知道子程序的入口地址就能調(diào)用它。 保存返回地址的方法有多種: (1)用子程序的第一個字單元存放返回地址。轉(zhuǎn)子指令把返回地址存放在子程序的第一個字單元中,子程序從第二個字單元開始執(zhí)行。返回時將第一個字單元地址作為間接地址,采用間址方式返回主程序。 (2)用寄存器存放返回地址。轉(zhuǎn)子指令先把返回地址放到某一個寄存器中,再由子程序?qū)⒓拇嫫髦械膬?nèi)容轉(zhuǎn)移到另一個安全的地方。 (3)用堆棧保存返回地址。 調(diào)用子程序的過程如下圖所示,此時返回地址保存在堆棧中。 19在某些計算機中,調(diào)用子程序的方法是這樣實現(xiàn)的:轉(zhuǎn)子指令將返回地址存入子程序的第一個字單元,然后從第二個字單元開始執(zhí)行子程序,請回答下列問題:(1)為這種方法設(shè)計一條從子程序轉(zhuǎn)到主程序的返回指令。(2)在這種情況下,怎么在主、子程序間進行參數(shù)的傳遞?(3)上述方法是否可用于子程序的嵌套?(4)上述方法是否可用于子程序的遞歸(即某個子程序自己調(diào)用自己)?(5)如果改用堆棧方法,是否可實現(xiàn)(4)所提出的問題? 解:(1)返回指令通常為零地址指令。返回地址保存在堆棧中

溫馨提示

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

評論

0/150

提交評論