計(jì)算機(jī)組成原理課后答案(第二版)_唐朔飛_第七章.ppt_第1頁(yè)
計(jì)算機(jī)組成原理課后答案(第二版)_唐朔飛_第七章.ppt_第2頁(yè)
計(jì)算機(jī)組成原理課后答案(第二版)_唐朔飛_第七章.ppt_第3頁(yè)
計(jì)算機(jī)組成原理課后答案(第二版)_唐朔飛_第七章.ppt_第4頁(yè)
計(jì)算機(jī)組成原理課后答案(第二版)_唐朔飛_第七章.ppt_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、指 令 系 統(tǒng),第 七 章,6. 某指令系統(tǒng)字長(zhǎng)為16位,地址碼取4位,試提出一種方案,使該指令系統(tǒng)有8條三地址指令、16條二地址指令、100條一地址指令。 解:三地址指令格式如下: 4 4 4 4,解題思路:以三地址指令格式為該指令系統(tǒng)的基本格式。以此格式為基礎(chǔ),采用擴(kuò)展操作碼技術(shù),設(shè)計(jì)出題意所要求的地址碼結(jié)構(gòu)的指令。 指令操作碼分配方案如下:,4位OP0000, A1,A2,A3;8條三地址指令0111,1000,0000, A2,A3;16條二地址指令1000,1111,1001,0000,0000, A3;100條一地址指令1001,0110,0011,1001,0110,0100,

2、冗余編碼1001,1111,1111, 可用來(lái)擴(kuò)充一、零地址指令條數(shù)1010, 冗余編碼1111, 可用來(lái)擴(kuò)充三、二、一、零地址指令條數(shù),指令操作碼分配方案,7. 設(shè)指令字長(zhǎng)為16位,采用擴(kuò)展操作碼技術(shù),每個(gè)操作數(shù)的地址為6位。如果定義了13條二地址指令,試問(wèn)還可安排多少條一地址指令? 解:二地址指令格式如下: 4 6 6,設(shè)二地址指令格式為該指令系統(tǒng)的基本格式,4位操作碼共有16種編碼,其中13種用來(lái)定義二地址指令,還剩3種可用作擴(kuò)展標(biāo)志。如不考慮零地址指令,該指令系統(tǒng)最多還能安排: 一地址指令條數(shù) =326 =192條,8. 某機(jī)指令字長(zhǎng)16位,每個(gè)操作數(shù)的地址碼為6位,設(shè)操作碼長(zhǎng)度固定,

3、指令分為零地址、一地址和二地址三種格式。若零地址指令有M種,一地址指令有N種,則二地址指令最多有幾種?若操作碼位數(shù)可變,則二地址指令最多允許有幾種? 解:1)若采用定長(zhǎng)操作碼時(shí),二地址指令格式如下: 4 6 6,此時(shí),無(wú)論指令中有幾個(gè)地址,指令格式都不變。,設(shè)二地址指令有K種,則: K=24-M-N 當(dāng)M=1(最小值),N=1(最小值)時(shí),二地址指令最多有: Kmax=16-1-1=14種 2)若采用變長(zhǎng)操作碼時(shí),二地址指令格式仍如1)所示,但操作碼長(zhǎng)度可隨地址碼的個(gè)數(shù)而變。此時(shí), K= 24 -(N/26 + M/212 ); (N/26 + M/212 向上取整) 當(dāng)(N/26 + M/2

4、12 ) 1時(shí),K最大,則二地址指令最多有: Kmax=16-1=15種(只留一種編碼作擴(kuò)展標(biāo)志用。),討論:此時(shí),一地址指令條數(shù)為: N=(24 - K)26 - M/26; ( M/26向上取整)。 零地址指令條數(shù)為: M = 216 - 212K - 26N; 當(dāng)K最大時(shí)(K=15),一地址指令最多有: Nmax=64 - 1=63種; 零地址指令最多有: Mmax=64種 注意:應(yīng)首先根據(jù)題意畫出指令基本格式。,10. 試比較基址尋址和變址尋址。 解:比較如下: 1)都可有效地?cái)U(kuò)大指令尋址范圍。 2)基址尋址時(shí),基準(zhǔn)地址由基址寄存器給出,地址的改變反映在位移量A的取值上;變址尋址時(shí),基

5、準(zhǔn)地址由A給出,地址的改變反映在變址值的自動(dòng)修改上,變址值由變址寄存器給出。 3)基址寄存器內(nèi)容通常由系統(tǒng)程序設(shè)定,變址寄存器內(nèi)容通常由用戶設(shè)定。 4)基址尋址適用于程序的動(dòng)態(tài)重定位,變址尋址適用于數(shù)組或字符串處理,適用場(chǎng)合不同。,11. 畫出先變址再間址及先間址再變址的尋址過(guò)程示意圖。 解:1)先變址再間址尋址過(guò)程簡(jiǎn)單示意如下: EA=(IX)+A, (IX)+1IX,IX,+1,IR,主存,IX:變址寄存器, 既可是專用寄存器, 也可是通用寄存器之一。,設(shè)一重間接,2)先間址再變址尋址過(guò)程簡(jiǎn)單示意如下: EA=(IX)+(A), (IX)+1IX,IX,+1,IR,EA,操作數(shù),主存,IX

6、:變址寄存器, 既可是專用寄存器, 也可是通用寄存器之一。,設(shè)一重間接,注意: 1)英文縮寫EA表示有效地址,不能亂用。 2)示意圖中應(yīng)標(biāo)明EA(有效地址)的位置。,12. 畫出“SUB R1”指令對(duì)操作數(shù)的尋址及減法過(guò)程的流程圖。設(shè)被減數(shù)和結(jié)果存于ACC中,表示間接尋址,R1寄存器的內(nèi)容為2074H。 解: SUB R1指令尋址及減法過(guò)程的流程圖:,取指令(?。?尋址操作: 寄存器間址 EA=(R1) =2074H,EA MAR,讀,M(EA) MDR,(ACC)-(MDR) ACC,A,A,(公操作),注:在沒(méi)有指定數(shù)據(jù)通路的情況下,此流程只是一個(gè)粗略的示意。,13. 畫出執(zhí)行“ADD *

7、-5”指令(*為相對(duì)尋址特征)的信息流程圖。設(shè)另一個(gè)操作數(shù)和結(jié)果存于ACC中,并假設(shè)(PC)=4000H。 解:由于本題未指定數(shù)據(jù)通路結(jié)構(gòu),因此只能大概地排一下信息流程圖,并且流程圖中突出尋址過(guò)程的實(shí)現(xiàn)。 ADD *-5指令信息流程圖如下:,取指令(?。?尋址計(jì)算: EA=(PC)-5 =4000H+FFFBH =3FFBH,EA MAR,讀,M(EA) MDR,(ACC)+(MDR) ACC,A,A,(公操作),14. 設(shè)相對(duì)尋址的轉(zhuǎn)移指令占兩個(gè)字節(jié),第一個(gè)字節(jié)是操作碼,第二個(gè)字節(jié)是相對(duì)位移量,用補(bǔ)碼表示。假設(shè)當(dāng)前轉(zhuǎn)移指令第一字節(jié)所在的地址為2000H,且CPU每取出一個(gè)字節(jié)便自動(dòng)完成(PC

8、)+1PC的操作。試問(wèn)當(dāng)執(zhí)行“JMP *+8”和“JMP *-9”指令時(shí),轉(zhuǎn)移指令第二字節(jié)的內(nèi)容各為多少? 解:據(jù)題意,相對(duì)尋址的轉(zhuǎn)移指令格式如下:,2000H 2001H 2002H,當(dāng)執(zhí)行JMP指令時(shí),指令第二字節(jié)的內(nèi)容不變,PC的內(nèi)容變?yōu)?002H。此時(shí)轉(zhuǎn)移指令第二字節(jié)內(nèi)容各為: A1= +8 = 0000 1000 = 08H A2= -9 = 1111 0111 = F7H 其有效地址各為: EA1= (PC) +8 = 2002H+0008H = 200AH EA2= (PC) 9 =2002H+FFF7H = 1FF9H,16. 某機(jī)主存容量為4M16位,且存儲(chǔ)字長(zhǎng)等于指令字長(zhǎng),

9、若該機(jī)指令系統(tǒng)可完成108種操作,操作碼位數(shù)固定,且具有直接、間接、變址、基址、相對(duì)、立即等六種尋址方式,試回答以下問(wèn)題。 (1)畫出一地址指令格式并指出各字段的作用。 (2)該指令直接尋址的最大范圍。 (3)一次間接尋址和多次間接尋址的尋址范圍。 (4)立即數(shù)的范圍(十進(jìn)制表示)。,(5)相對(duì)尋址的位移量(十進(jìn)制表示)。 (6)上述六種尋址方式的指令中哪一種執(zhí)行時(shí)間最短,哪一種最長(zhǎng),為什么?哪一種便于程序浮動(dòng),哪一種最適合處理數(shù)組問(wèn)題? (7)如何修改指令格式,使指令的尋址范圍可擴(kuò)大到4M? (8)為使一條轉(zhuǎn)移指令能轉(zhuǎn)移到主存的任一位置,可采取什么措施?簡(jiǎn)要說(shuō)明之。,解: (1)單字長(zhǎng)一地址

10、指令格式: 7 3 6,OP M A,各字段的作用: OP操作碼字段,提供至少108種指令操作碼; M尋址方式碼字段,指出6種尋址方式; A形式地址字段,給出尋址所需的形式地址。,(2)A為6位,該指令直接尋址的最大范圍為26=64字; (3)一次間址的尋址范圍為216=64K字; 多次間址的尋址范圍為215=32K字; (4)立即數(shù)的范圍:若采用補(bǔ)碼表示為1FH20H;十進(jìn)制表示為31 -32;無(wú)符號(hào)數(shù)為063; (5)相對(duì)尋址的位移量范圍在采用補(bǔ)碼表示時(shí)同立即數(shù)范圍,為31 -32;,(6)六種尋址方式中,立即尋址指令執(zhí)行時(shí)間最短,因?yàn)榇藭r(shí)不需尋址; 間接尋址指令執(zhí)行時(shí)間最長(zhǎng),因?yàn)閷ぶ凡僮?/p>

11、需訪存一次到多次; 相對(duì)尋址便于程序浮動(dòng),因?yàn)榇藭r(shí)操作數(shù)位置可隨程序存儲(chǔ)區(qū)的變動(dòng)而改變,總是相對(duì)于程序一段距離; 變址尋址最適合處理數(shù)組問(wèn)題,因?yàn)榇藭r(shí)變址值可自動(dòng)修改而不需要修改程序。,(7)為使指令尋址范圍可擴(kuò)大到4M,需要有效地址22位,此時(shí)可將單字長(zhǎng)一地址指令的格式改為雙字長(zhǎng),如下圖示: 7 3 6,OP M A,A,16 圖中,指令的第一字保持原來(lái)格式不變,形式地址A擴(kuò)展到第2個(gè)字。這樣,直接尋址時(shí),EA=A=16+6=22位,正好可訪問(wèn)4M地址空間。由于A的擴(kuò)展,變址、基址、相對(duì)、立即數(shù)等尋址方式也擴(kuò)展到22位。,(8)如使一條轉(zhuǎn)移指令能轉(zhuǎn)移到主存的任一位置,可采用上述雙字長(zhǎng)一地址指

12、令,通過(guò)選用合適的尋址方式完成。(如選用直接尋址就可轉(zhuǎn)移到主存任一位置,但選用相對(duì)尋址則只能在2M范圍內(nèi)轉(zhuǎn)移。) 除此之外,(7)、(8)兩題也可通過(guò)段尋址方式達(dá)到擴(kuò)大尋址空間的目的(此時(shí)不需修改指令格式)??傊?,不論采取何種方式,最終得到的實(shí)際地址應(yīng)是22位。,方案二: (7)如果仍采用單字長(zhǎng)指令(16位)格式,為使指令尋址范圍擴(kuò)大到4M,可通過(guò)段尋址方案實(shí)現(xiàn)。安排如下: 硬件設(shè)段寄存器DS(16位),用來(lái)存放段地址。在完成指令尋址方式所規(guī)定的尋址操作后,得有效地址EA(16位),再由硬件自動(dòng)完成段尋址,最后得22位物理地址。 物理地址=(DS) 26 + EA 注:段尋址方式由硬件隱含實(shí)現(xiàn)

13、。在編程指定的尋址過(guò)程完成、EA產(chǎn)生之后由硬件自動(dòng)完成,對(duì)用戶是透明的。,方案三: (7)在采用單字長(zhǎng)指令(16位)格式時(shí),還可通過(guò)頁(yè)面尋址方案使指令尋址范圍擴(kuò)大到4M。安排如下: 硬件設(shè)頁(yè)面寄存器PR(16位),用來(lái)存放頁(yè)面地址。指令尋址方式中增設(shè)頁(yè)面尋址。當(dāng)需要使指令尋址范圍擴(kuò)大到4M時(shí),編程選擇頁(yè)面尋址方式,則: EA =(PR)A(有效地址=頁(yè)面地址“拼接”6位形式地址) 這樣得到22位有效地址。,通過(guò)基址尋址與段尋址獲得實(shí)際地址的區(qū)別: 1)基址尋址的基地址一般比較長(zhǎng)(存儲(chǔ)器地址位數(shù)),位移量比較短(=形式地址位數(shù)),相加后得到的有效地址長(zhǎng)度=基地址長(zhǎng)度。此時(shí)主存不分段。 實(shí)際地址=

14、有效地址=基地址+位移量 段尋址是基址尋址的一種變種,當(dāng)基地址短于存儲(chǔ)地址時(shí),基址尋址就變成了段尋址,基地址就叫做段地址,此時(shí)主存分段。 實(shí)際地址=段地址偏移量+段內(nèi)位移量(有效地址),2)基址尋址一般在機(jī)器字長(zhǎng)存儲(chǔ)地址長(zhǎng)度的機(jī)器中,可直接通過(guò)尋址計(jì)算獲得實(shí)際地址。 在機(jī)器字長(zhǎng)存儲(chǔ)地址長(zhǎng)度的機(jī)器中,由于CPU內(nèi)部數(shù)據(jù)通路的限制,編程指定的任何一種尋址計(jì)算得到的有效地址長(zhǎng)度都等于機(jī)器字長(zhǎng),為獲得更長(zhǎng)的地址字,硬件自動(dòng)通過(guò)段尋址計(jì)算出存儲(chǔ)器實(shí)際地址。此時(shí)除ALU之外,硬件還要增設(shè)專用的地址加法器。 相關(guān)問(wèn)題: * 一般:機(jī)器字長(zhǎng)=存儲(chǔ)字長(zhǎng); * CPU中所有寄存器(包括基址寄存器)的位數(shù)=機(jī)器字長(zhǎng)

15、;,* 通常:指令字長(zhǎng)不一定等于機(jī)器字長(zhǎng)。早期的小型機(jī)由于字長(zhǎng)較短,指令常以機(jī)器字長(zhǎng)為單位變化(幾字長(zhǎng)指令,如PDP-11機(jī)),目前以字節(jié)長(zhǎng)為單位變化(幾字節(jié)指令)的較多。習(xí)題中指令字長(zhǎng)=機(jī)器字長(zhǎng)的假設(shè)只是為簡(jiǎn)單起見; * 當(dāng)設(shè)指令字長(zhǎng)=存儲(chǔ)字長(zhǎng)(=機(jī)器字長(zhǎng))時(shí),如用立即尋址,由于立即數(shù)由形式地址直接給出,而形式地址的位數(shù)肯定不足一個(gè)字長(zhǎng),因此立即尋址非常適用于編程給出短常數(shù)的場(chǎng)合。 提示:尋址方式的正確選擇與編程技巧有關(guān)。,17. 舉例說(shuō)明哪幾種尋址方式在指令的執(zhí)行階段不訪問(wèn)存儲(chǔ)器?哪幾種尋址方式在指令的執(zhí)行階段只需訪問(wèn)一次存儲(chǔ)器?完成什么樣的指令,包括取指令在內(nèi)共訪問(wèn)存儲(chǔ)器4次? 解:舉例

16、如下: 1)一地址指令在執(zhí)行階段不訪存的尋址方式有:寄存器尋址、立即尋址。 2)一地址指令在執(zhí)行階段只訪存一次的尋址方式有:寄存器間接尋址、直接尋址、基址尋址、變址尋址、相對(duì)尋址、頁(yè)面尋址。,3)包括取指在內(nèi)共訪存四次的指令有:二重間址的一地址指令;一重間址的二地址指令,當(dāng)另一操作數(shù)采用直接、基址、變址、相對(duì)、頁(yè)面、寄存器間接尋址時(shí)。,19. CPU內(nèi)有32個(gè)32位的通用寄存器,設(shè)計(jì)一種能容納64種操作的指令系統(tǒng)。假設(shè)指令字長(zhǎng)等于機(jī)器字長(zhǎng),試回答以下問(wèn)題。 (1)如果主存可直接或間接尋址,采用“寄存器存儲(chǔ)器”型指令,能直接尋址的最大存儲(chǔ)空間是多少?畫出指令格式并說(shuō)明各字段的含義。 (2)在滿足(1)的前提下,如果采用通用寄存器作基址寄存器,則上述“寄存器存儲(chǔ)器”型指令的指令格式有何特點(diǎn)?畫出指令格式并指出這類指令可訪問(wèn)多大的存儲(chǔ)空間?,解: (1)如采用RS型指令,則此指令一定是二地址以上的地址格式,指令

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論