江西財(cái)經(jīng)大學(xué)第3章 指令系統(tǒng)習(xí)題講解_第1頁(yè)
江西財(cái)經(jīng)大學(xué)第3章 指令系統(tǒng)習(xí)題講解_第2頁(yè)
江西財(cái)經(jīng)大學(xué)第3章 指令系統(tǒng)習(xí)題講解_第3頁(yè)
江西財(cái)經(jīng)大學(xué)第3章 指令系統(tǒng)習(xí)題講解_第4頁(yè)
江西財(cái)經(jīng)大學(xué)第3章 指令系統(tǒng)習(xí)題講解_第5頁(yè)
已閱讀5頁(yè),還剩18頁(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)介

計(jì)算機(jī)組成原理朱華貴2017年09月22日計(jì)算機(jī)組成原理第3章指令系統(tǒng)

---習(xí)題課朱華貴2017年09月22日計(jì)算機(jī)組成原理3-1、指令長(zhǎng)度和機(jī)器字長(zhǎng)有什么關(guān)系?半字長(zhǎng)指令、單字長(zhǎng)指令、雙字長(zhǎng)指令分別表示什么意思?解:指令長(zhǎng)度與機(jī)器字長(zhǎng)沒(méi)有固定的關(guān)系,指令長(zhǎng)度可以等于機(jī)器字長(zhǎng),也可以大于或小于機(jī)器字長(zhǎng)。通常,把指令長(zhǎng)度等于機(jī)器字長(zhǎng)的指令稱為單字長(zhǎng)指令;指令長(zhǎng)度等于半個(gè)機(jī)器字長(zhǎng)的指令稱為半字長(zhǎng)指令;指令長(zhǎng)度等于兩個(gè)機(jī)器字長(zhǎng)的指令稱為雙字長(zhǎng)指令。3-2、零地址指令的操作數(shù)來(lái)自哪里?一地址指令中,另一個(gè)操作數(shù)的地址通??刹捎檬裁磳ぶ贩绞将@得?各舉一例說(shuō)明。解:雙操作數(shù)的零地址指令的操作數(shù)來(lái)自堆棧的棧頂和次棧頂。雙操作數(shù)的一地址指令的另一個(gè)操作數(shù)通常可采用隱含尋址方式獲得,即將另一操作數(shù)預(yù)先存放在累加器中。例如:零地址指令壓棧、出棧指令和一地址的加法指令。3-3、某機(jī)為定長(zhǎng)指令字結(jié)構(gòu),指令長(zhǎng)度16位;每個(gè)操作數(shù)的地址碼長(zhǎng)6位,指令分為無(wú)操作數(shù)、單操作數(shù)和雙操作數(shù)三類。若雙操作數(shù)指令已有K種,無(wú)操作數(shù)指令已有L種,問(wèn)單操作數(shù)指令最多可能有多少種?上述三類指令各自允許的最大指令條數(shù)是多少?

答:指令結(jié)構(gòu)為:XXXXYYYYYYZZZZZZ雙操作數(shù)指令K種:0000YYYYYYZZZZZZ…K-1YYYYYYZZZZZZ無(wú)操作數(shù)指令L種:K000000000000…L+K-1111111111111單操作數(shù)指令數(shù)=(24-K)*26-(L/26)*K雙操作數(shù)指令最大數(shù)為24-1單操作數(shù)指令最大數(shù)為15*26-1(假設(shè)雙操作數(shù)指令為一條)無(wú)操作數(shù)指令最大數(shù)為216-212-26(212為雙地址指令地址占用數(shù),26為單地址指令地址占用數(shù),雙和單操作數(shù)指令都為一條指令。)3-4、設(shè)某機(jī)為定長(zhǎng)指令字結(jié)構(gòu),指令長(zhǎng)度12位,每個(gè)地址碼占3位,試提出一種分配方案,使該指令系統(tǒng)包含:4條三地址指令,8條二地址指令,180條單地址指令。答:4條三地址指令:000XXXYYYZZZ……011XXXYYYZZZ8條二地址指令:100000YYYZZZ……100111YYYZZZ180條單地址指令:101000000ZZZ……111110011ZZZ3-5指令格式同上題,能否構(gòu)成:三地址指令4條,單地址指令255條,零地址指令64條?為什么?答:4條三地址指令:000XXXYYYZZZ……011XXXYYYZZZ255條單地址指令:100000000ZZZ……111111110ZZZ零地址指令:111111111000……111111111111只有8條3-6、指令中地址碼的位數(shù)與直接訪問(wèn)的主存容量和最小尋址單位有什么關(guān)系?答:主存容量越大,所需的地址碼位數(shù)就越長(zhǎng)。對(duì)于相同容量來(lái)說(shuō),最小尋址單位越小,地址碼的位數(shù)就越長(zhǎng)。3-7、試比較間接尋址和寄存器間址。答:間接尋址方式的有效地址在主存中,操作數(shù)也在主存中;寄存器間址方式的有效地址在寄存器中,操作數(shù)在主存中。所以間接尋址比較慢。3-8、試比較基址尋址和變址尋址。答:基址尋址和變址尋址在形成有效地址時(shí)所用的算法是相同的,但是它們兩者實(shí)際上是有區(qū)別的。一般來(lái)說(shuō),變址尋址中變址寄存器提供修改量(可變的),而指令中提供基準(zhǔn)值(固定的);基址尋址中基址寄存器提供基準(zhǔn)值(固定的),而指令中提供位移量(可變的)。這兩種尋址方式應(yīng)用的場(chǎng)合也不同,變址尋址是面向用戶的,用于訪問(wèn)字符串、向量和數(shù)組等成批數(shù)據(jù);而基址尋址面向系統(tǒng),主要用于邏輯地址和物理地址的變換,用以解決程序在主存中的再定位和擴(kuò)大尋址空間等問(wèn)題。在某些大型機(jī)中,基址寄存器只能由特權(quán)指令來(lái)管理,用戶指令無(wú)權(quán)操作和修改。3-9、某機(jī)字長(zhǎng)為16位,主存容量為64K字,采用單字長(zhǎng)單地址指令,共有50條指令。若有直接尋址、間接尋址、變址尋址、相對(duì)尋址四種尋址方式,試設(shè)計(jì)其指令格式。答:四種尋址方式需要兩位,50條指令則需6位作為操作碼,剩下的8位為地址碼。所以指令格式為:操作碼6位,尋址方式2位,地址碼8位。尋址空間計(jì)算3-10、某計(jì)算機(jī)字長(zhǎng)為16位,主存容量為64K字,指令格式為單字長(zhǎng)單地址,共有64條指令。試說(shuō)明:(1)若只采用直接尋址方式,指令能訪問(wèn)多少主存單元?(2)為擴(kuò)充指令的尋址范圍,可采用直接/間接尋址方式,若只增加一位直接/間接標(biāo)志,指令可尋址范圍為多少?指令直接尋址的范圍為多少?(3)采用頁(yè)面尋址方式,若只增加一位Z/C(零頁(yè)/現(xiàn)行頁(yè))標(biāo)志,指令尋址范圍為多少?指令直接尋址范圍為多少?(4)采用(2)、(3)兩種方式結(jié)合,指令的尋址范圍為多少?指令直接尋址范圍為多少?

答:指令格式為單字長(zhǎng)單地址,64條:操作碼需占用6位;(1)采用直接尋址:除操作碼外,10位都作為地址位,210=1K,可訪問(wèn)主存單元為1K字;(2)增加1位直接/間接標(biāo)志,10-1=9,29=512,直接尋址訪問(wèn)為512個(gè)字;采用間接尋址可訪問(wèn)整個(gè)主存空間即64K字;(3)采用頁(yè)面尋址方式,增加一位Z/C(零頁(yè)/現(xiàn)行頁(yè))標(biāo)志,10-1=9,29=512,則尋址范圍同(2)一樣;(4)采用(2)、(3)兩種方式結(jié)合,則10-1-1=8,28=256,則直接尋址訪問(wèn)為256個(gè)字,采用間接尋址可訪問(wèn)整個(gè)主存空間64K字。3-11、設(shè)某計(jì)算機(jī)字長(zhǎng)32位,CPU有32個(gè)32位的通用寄存器,設(shè)計(jì)一個(gè)能容納64種操作的單字長(zhǎng)指令系統(tǒng)。(1)如果是存儲(chǔ)器間接尋址方式的寄存器-存儲(chǔ)器型指令,能直接尋址的最大主存空間是多少?(2)如果采用通用寄存器作為基址寄存器,能直接尋址的最大主存空間又是多少?答:因?yàn)橛?jì)算機(jī)中共有64條指令,所以操作碼占6位;32個(gè)通用寄存器,寄存器編號(hào)占5位;其余部分為地址碼或標(biāo)志位。32-6-5=21(1)如果是存儲(chǔ)器間接尋址方式的寄存器-存儲(chǔ)器型指令,則需間址標(biāo)志1位,剩下21-1=20位,所以作地址碼有20位,直接尋址的最大主存空間是220字。(2)如果采用通用寄存器作為基址寄存器,則EA=(Rb)+A,則能直接尋址的最大主存空間為存儲(chǔ)器空間即232字。3-12、已知某小型機(jī)字長(zhǎng)為16位,其雙操作數(shù)指令的格式如下:0567815OPRA其中:OP為操作碼,R為通用寄存器地址。試說(shuō)明下列各種情況下能訪問(wèn)的最大主存區(qū)域有多少機(jī)器字?(1)A為立即數(shù)。(2)A為直接主存單元地址。(3)A為間接地址(非多重間址)。(4)A為變址尋址的形式地址,假定變址寄存器為R1(字長(zhǎng)為16位)。答:(1)1個(gè)機(jī)器字。(2)28=256個(gè)機(jī)器字。(3)216=65536個(gè)機(jī)器字。(4)216=65536個(gè)機(jī)器字。有效地址計(jì)算P76:3-13、14、15講過(guò)3-16、某計(jì)算機(jī)有變址尋址、間接尋址和相對(duì)尋址等方式,設(shè)當(dāng)前指令的地址碼部分為001AH,正在執(zhí)行的指令所在地址為1F05H,變址寄存器中的內(nèi)容為23A0H,已知存儲(chǔ)器的部分地址及相應(yīng)內(nèi)容如圖:(1)當(dāng)執(zhí)行取數(shù)指令時(shí),如為變址尋址方式則取出的數(shù)是多少?

(2)如為間接尋址方式則取出的數(shù)為多少?

(3)當(dāng)執(zhí)行轉(zhuǎn)移指令時(shí),轉(zhuǎn)移地址是多少?

地址內(nèi)容

001AH23A0H

1F05H2400H

1F1FH2500H

23A0H2600H

23BAH1700H

解:(1)S=((RX)+A)=(23A0H+001AH)=(23BAH)=1748H(2)S=((A))=(001AH)=23A0H(3)EA=PC+2+rel=1F05H+2+001AH=1F21H(假設(shè)轉(zhuǎn)移指令為2字節(jié))3-17、舉例說(shuō)明哪幾種尋址方式除去取指令以外不訪問(wèn)存儲(chǔ)器?哪幾種尋址方式除去取指令外只需訪問(wèn)一次存儲(chǔ)器?完成什么樣的指令,包括取指令在內(nèi)共訪問(wèn)4次存儲(chǔ)器?答:除去取指令以外不訪問(wèn)存儲(chǔ)器:立即尋址,寄存器尋址。除去取指令外只需訪問(wèn)一次存儲(chǔ)器:直接尋址,寄存器間接尋址,變址尋址,基址尋址,相對(duì)尋址,頁(yè)面尋址。二級(jí)間接尋址包括取指令在內(nèi)共訪問(wèn)4次存儲(chǔ)器。3-18、設(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)+1→PC的操作。試問(wèn)當(dāng)執(zhí)行JMP*+8和JMP*-9指令(倡為相對(duì)尋址特征)時(shí),轉(zhuǎn)移指令第二字節(jié)的內(nèi)容各為多少?轉(zhuǎn)移的目的地址各是什么?答:轉(zhuǎn)移指令第二字節(jié)的內(nèi)容分別為:00001000(+8),11110111(-9)轉(zhuǎn)移的目的地址分別為:200AH,1FF9H。3-19、在某堆棧計(jì)算機(jī)中,用一地址指令PIUSH、POP)及零地址指令A(yù)DD、MPY寫(xiě)出計(jì)算下式:Z=(A*(B+C+D)*E+F*F)*(B+C+D)的程序設(shè)A、B…是主存單元地址中存放的數(shù)據(jù)位a、b…PUSHBPUSHCPUSHDADDADDPOPXPUSHAPUSHXMPYPUSHEMPYPUSHFPUSHFMPYADDPUSHXMPYPOPZ3-21.什么叫主程序和子程序?調(diào)用子程序時(shí)還可采用哪幾種方法保存返回地址?畫(huà)圖說(shuō)明調(diào)用子程序的過(guò)程。答:主程序就是指通常的程序,而子程序是一組可以公用的指令序列,只要知道子程序的入口地址就能調(diào)用它。保存返回地址的方法有多種:(1)用子程序的第一個(gè)字單元存放返回地址。轉(zhuǎn)子指令把返回地址存放在子程序的第一個(gè)字單元中,子程序從第二個(gè)字單元開(kāi)始執(zhí)行。返回時(shí)將第一個(gè)字單元地址作為間接地址,采用間址方式返回主程序。(2)用寄存器存放返回地址。轉(zhuǎn)子指令先把返回地址放到某一個(gè)寄存器中,再由子程序?qū)⒓拇嫫髦械膬?nèi)容轉(zhuǎn)移到另一個(gè)安全的地方。(3)用堆棧保存返回地址。調(diào)用子程序的過(guò)程如圖所示,此時(shí)返回地址保存在堆棧中。P78、3-22題在某些計(jì)算機(jī)中,調(diào)用子程序的方法是這樣實(shí)現(xiàn)的:轉(zhuǎn)子指令將返回地址存入子程序的第一個(gè)字單元,然后從第二個(gè)字單元開(kāi)始執(zhí)行子程序,請(qǐng)回答下列問(wèn)題:(1)為這種方法設(shè)計(jì)一條從子程序轉(zhuǎn)到主程序的返回指令。(2)在這種情況下,怎么在主、子程序間進(jìn)行參數(shù)的傳遞?(3)上述方法是否可用于子程序的嵌套?(4)上述方法是否可用于子程序的遞歸(即某個(gè)子程序自己調(diào)用自己)?(5)如果改用堆棧方法,是否可實(shí)現(xiàn)(4)所提出的問(wèn)題?(1)返回指令通常為零地址指令。返回地址保存在堆棧中,執(zhí)行返回指令時(shí)自動(dòng)從堆棧中彈出。而目前返回地址是保存在子程序的第一個(gè)單元中,故此時(shí)返回指令不能再是零地址指令了,而應(yīng)當(dāng)是一地址指令。如:OP@子程序首地址;間接尋址可找到返回地址,然后無(wú)條件轉(zhuǎn)移到返回的位置。(2)在這種情況下,可利用寄存器或主存單元進(jìn)行主、子程序間的參數(shù)傳遞。(3)可以用于子程序的嵌套(多重轉(zhuǎn)子)。因?yàn)槊總€(gè)返回地址都放在調(diào)用的子程序的第一個(gè)單元中。(4)不可以用于子程序的遞歸,因?yàn)楫?dāng)某個(gè)子程序自己調(diào)用自己時(shí),子程序第一個(gè)單元的內(nèi)容將被破壞。(5)如果改用堆棧方法,可以實(shí)現(xiàn)子程序的遞歸,因堆棧具有后進(jìn)先出的功能。計(jì)算指令偏移量例:設(shè)存儲(chǔ)器按字節(jié)編址,相對(duì)尋址的轉(zhuǎn)移指令字長(zhǎng)為2B,第二字節(jié)為相對(duì)偏移量,用補(bǔ)碼表示。CPU取指時(shí)每取出一個(gè)字節(jié)自動(dòng)完成PC←(PC)+1操作。假設(shè)某相對(duì)尋址的轉(zhuǎn)移指令的第一字節(jié)地址為200

溫馨提示

  • 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)論