指令系統(tǒng)課件與部分習題_第1頁
指令系統(tǒng)課件與部分習題_第2頁
指令系統(tǒng)課件與部分習題_第3頁
指令系統(tǒng)課件與部分習題_第4頁
指令系統(tǒng)課件與部分習題_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《計算機組成原理》第七章指令系統(tǒng)軟件硬件邏輯功能:計算0+1機器指令:0010001匯編語言:ADDr1,r2王戰(zhàn)紅手機號嗎:第七章指令系統(tǒng)7.1、指令系統(tǒng)概述7.2、指令的格式

7.2.1、地址碼結構

7.2.2、操作碼結構7.3、指令的尋址方式(10種)7.4、指令的類型與功能(6類)7.5、RISC和CISC的比較在一個有限的存儲空間里,對于任何可解的問題,編制計算程序時,指令系統(tǒng)提供的指令足夠使用。指令系統(tǒng)的完備性1)數(shù)據(jù)傳送類指令功能:實現(xiàn)將數(shù)據(jù)從發(fā)送地址傳送到目的地址,發(fā)送過程中數(shù)據(jù)不變。(即傳送與復制)

傳送范圍:寄存器R-寄存器R,存儲器M-寄存器R,存儲器M-存儲器M

傳送單位:按字節(jié)、字、字符串、數(shù)據(jù)塊等

MOVAL,BL(字節(jié))MOVAX,BX(字)

MOVSB(字符串)REPMOVSB(數(shù)據(jù)塊)傳送數(shù)據(jù)取值:原值傳送,取補,取反,零值傳送主要包括:取數(shù)指令、存數(shù)指令、傳送指令、成組傳送指令、字節(jié)交換指令、清累加器指令、堆棧操作指令等等。7.4、指令的類型與功能功能設置考慮問題2)算術運算類指令功能:實現(xiàn)各種算術運算(大型機中有向量運算指令,直接對整個向量或矩陣進行求和、求積運算)。主要包括:二進制定點加、減、乘、除指令,浮點加、減、乘、除指令,求反、求補指令,算術移位指令,算術比較指令,十進制加、減運算指令等。指令舉例:

ADD加法 SUB 減法

MUL乘法 DIV 除法

NEG求補 ABS求絕對值

INC+1 DEC-17.4、指令的類型與功能功能設置考慮問題(在算術運算中講過的問題都要考慮):二/十進制運算;定點/浮點運算;整數(shù)/小數(shù)運算;是否規(guī)格化;固定字長/變字長運算;半字長/全字長/雙字長運算等等。3)邏輯運算類指令功能:把一個數(shù)據(jù)字看做是一個位數(shù)組,分別處理每一位。主要包括:邏輯加、邏輯乘、按位加、邏輯移位等指令,移位指令用來對寄存器的內(nèi)容實現(xiàn)左移、右移或循環(huán)移位。指令舉例:

AND與OR或COM非(求反)EOR異或7.4、指令的類型與功能設置功能設置考慮問題:不同指令的功能設置與邏輯運算規(guī)律有關系。4)移位類指令功能:實現(xiàn)邏輯移位,循環(huán)移位,算術移位。

主要包括:算術右移,算術左移,邏輯右移,邏輯左移,循環(huán)右移,循環(huán)左移功能設置考慮問題: 數(shù)據(jù)格式:字符移位,字移位 移位參數(shù):移動一位的次數(shù)與移動方向 被移動的寄存器地址 補位的方法。指令舉例:SHLAL,1寄存器AL左移1位

MOVDL,5SHLAL,DL寄存器AL左移5位7.4、指令的類型與功能設置5)程序控制(轉(zhuǎn)移)類指令功能:實現(xiàn)控制程序的執(zhí)行順序和選擇程序的運行方向。它是計算機的智能機構,設置較為復雜。程序執(zhí)行的三大結構:順序、分支、循環(huán)順序:PC+1;分支:分支點(必須設置比較測試指令與條件轉(zhuǎn)移指令)匯合點(必須設置無條件轉(zhuǎn)移指令);循環(huán):循環(huán)次數(shù)已知(計數(shù)跳指令LOOP)循環(huán)次數(shù)未知

7.4、指令的類型與功能設置A=B?執(zhí)行A執(zhí)行A分支點匯合點調(diào)用子程序:主程序調(diào)用子程序時,重點考慮主程序與子程序的鏈接。子程序是一個公共程序,主程序可以在任意一地址調(diào)用它,設置一條無條件轉(zhuǎn)移指令轉(zhuǎn)向子程序的入口地址就可以了,但是從子程序返回主程序地址時設置返回指令。轉(zhuǎn)移地址可以通過鏈接寄存器,或堆棧進行操作。利用堆??梢詫崿F(xiàn)子程序嵌套調(diào)用。7.4、指令的類型與功能設置6)輸入輸出指令

功能:控制輸入輸出設備的工作,完成計算機與輸入輸出設備之間的數(shù)據(jù)交換。根據(jù)不同的機器結構,功能設置方式不同:1)內(nèi)存與輔存統(tǒng)一編制;2)輔存單獨編址。7.4、指令的類型與功能設置第七章指令系統(tǒng)7.1、指令系統(tǒng)概述7.2、指令的格式

7.2.1、地址碼結構

7.2.2、操作碼結構7.3、指令的尋址方式(9種)7.4、指令的類型與功能(6類)7.5、RISC和CISC的比較

系統(tǒng)指令復雜龐大,各種指令使用頻度相差大

指令長度不固定、指令格式種類多、尋址方式多

訪存

指令不受限制

大多數(shù)指令需要多個時鐘周期

執(zhí)行完畢

采用微程序

控制器

CPU中設有專用寄存器

難以

用優(yōu)化編譯

生成高效的目的代碼

7.5、RISC和CISC的比較CISC的主要特征

選用使用頻度較高的一些簡單指令,復雜指令的功能由簡單指令來組合

指令長度固定、指令格式種類少、尋址方式少

只有LOAD/STORE

指令訪存

采用流水技術一個時鐘周期

內(nèi)完成一條指令

采用組合邏輯

實現(xiàn)控制器

CPU中有多個

通用寄存器

采用優(yōu)化

的編譯

程序

7.5、RISC和CISC的比較RISC的主要特征7.5、RISC和CISC的比較1、RISC更能充分利用VLSI芯片的面積2、RISC更能提高計算機運算速度指令數(shù)、指令格式、尋址方式少,通用寄存器多,采用組合邏輯,便于實現(xiàn)指令流水3、RISC便于設計,可降低成本,提高可靠性4、RISC

有利于編譯程序代碼優(yōu)化

5、RISC不易

實現(xiàn)指令系統(tǒng)兼容

RISC相對CISC的優(yōu)勢指令系統(tǒng)小結軟件硬件計算機系統(tǒng)包括硬件和軟件兩大組成部分。硬件:指構成計算機的CPU、主存、外設等物理裝置。軟件:系統(tǒng)軟件和各種用戶應用軟件。指令:CPU的控制器發(fā)布的操作命令。指令系統(tǒng):一臺計算機所能執(zhí)行的全部指令的集合。 一臺特定的計算機只能執(zhí)行自己指令系統(tǒng)中的指令。因此,指令系統(tǒng)就是計算機的機器語言。軟硬件分工就在指令系統(tǒng)軟件在指令系統(tǒng)上設計程序,和硬件設計沒有任何關系硬件設計去實現(xiàn)指令系統(tǒng)的操作,所以要了解指令的結構。指令:CPU的控制器發(fā)布的操作命令。指令格式:一條指令應完成以下功能:

執(zhí)行什么操作?(操作碼)操作數(shù)到哪里去???結果送到哪里?(地址碼)為了使程序自動執(zhí)行還應該指出下一條指令的地址。操作碼地址碼MOVr,mADD r1,r2指令的操作碼:用于指明本條指令的操作功能。例如:算術加、減,邏輯與、或,讀、寫內(nèi)存,讀、寫外設……

指令的地址碼:用于給出被操作數(shù)的地址。包括:參加運算的一或多個操作數(shù)地址,運算結果的保存地址……指令系統(tǒng)小結操作碼地址碼指令格式小結:固定長度(IBM/PC)擴展長度(PDP-11)交叉安排(NOVA)四地址三地址二地址單地址零地址三種方案按操作數(shù)個數(shù)劃分指令系統(tǒng)小結

尋址方式 操作數(shù)地址 操作數(shù)存放位置1)立即尋址 指令中2)隱含尋址隱含指定某寄存器號特定寄存器3)直接尋址存儲單元地址 內(nèi)存4)寄存器直接尋址寄存器號 寄存器5)間接尋址存儲單元地址——存儲單元地址內(nèi)存6)寄存器間接尋址寄存器號——存儲單元地址內(nèi)存7)相對尋址 PC+A(可變) 內(nèi)存8)基址尋址基址寄存器+A(可變) 內(nèi)存9)變址尋址A+變址寄存器(可變) 內(nèi)存10)堆棧尋址SP

堆棧

指令系統(tǒng)小結一個較完善的指令系統(tǒng)應當包含數(shù)據(jù)傳送類指令、算術運算類指令、邏輯運算類指令、程序控制類指令、I/O類指令、系統(tǒng)控制類指令。RISC指令系統(tǒng)是CISC指令系統(tǒng)的改進,它的最大特點是:1)指令條數(shù)少;2)指令長度固定,指令格式和尋址種類少;3)只有取數(shù)/存數(shù)指令訪問存儲器;其余指令的操作均在寄存器之間進行。指令系統(tǒng)小結例1)某16位機器所使用的指令格式和尋址方式如下所示,該機有兩個

20位基址寄存器,四個16位變址寄存器,十六個16位通用寄存器,指令格式中的S(源),D(目標)都是通用寄存器,

M是主存中的一個單元。三種指令的操作碼分別是

MOV(OP=AH),傳送指令;

STA(OP=1BH),寫數(shù)指令;

LDA(OP=3CH),讀數(shù)指令??佳蓄}目精選要求:分析三種指令的指令格式與尋址方式特點。解:第一種指令是單字長二地址指令,RR型;第二種指令是雙字長二地址指令,RS型,其中S采用基址尋址或變址尋址,R由源寄存器決定;第三種也是雙字長二地址指令,RS型,其中R由目標寄存器決定,

S由20位內(nèi)存地址(直接尋址)決定??佳蓄}目精選要求:CPU完成哪一種操作所花時間最短?哪一種所花時間最長?第二種指令的執(zhí)行時間有時會等于第三種指令的執(zhí)行時間嗎?解:處理機完成第一種指令所花時間最短,因為是RR型指令,不需要訪問存儲器。第二種指令所花時間最長,因為是RS型指令,需要訪問存儲器,同時要進行尋址方式的變換運算(基址或變址),這也需要時間。第二種指令的執(zhí)行時間不會等于第三種指令,因為第三種指令雖然也訪問存儲器,但節(jié)省了求有效地址運算的時間開銷??佳蓄}目精選要求:下列情況下每個十六進制指令字分別代表什么操作?其中如果有編碼不正確,如何改正才能成為合法指令?①(F0F1)H(3CD2)H②(2856)H③(6FD6)H④(1C2)H解:已知MOV(OP=AH)=001010,

STA(OP=1BH)=011011,

LDA(OP=3CH)=111100,

將指令的十六進制格式轉(zhuǎn)換成二進制代碼,比較后可知:①(F0F1)H(3CD2)H指令代表LDA指令,編碼正確,其含義是把主存(13CD2)H地址單元的內(nèi)容取至15號寄存器。

111100001111

0001 0011110011010010考研題目精選解:②(2856)H指令代表MOV指令,編碼正確,含義是把6號源寄存器的內(nèi)容傳送至5號目標寄存器。

001010000101

0110

③(6FD6)H是單字長指令,一定是MOV指令,但編碼錯誤,可改正為(28D6)H

011011111101

0110→001010111101

0110④(1C2)H是單字長指令,代表MOV指令,但編碼錯誤,可改正為(28C2)H。

0000000111000010→00101001

1100

0010考研題目精選

例3)某機字長32位,CPU內(nèi)有32個32位通用寄存器,設計一種能容納

64種操作的指令系統(tǒng),設指令字長等于機器字長,存儲器按字節(jié)編址。1)如果主存可直接或間接尋址,采用寄存器—存儲器型指令,能直接尋址的最大存儲空間是多少?畫出指令格式。2)如果采用通用寄存器作為基址寄存器,則上述寄存器---存儲器型指令的指令格式有何特點?畫出指令格式并指出這類指令可訪問多大的存儲空間??佳蓄}目精選解:操作碼6尋址特征1寄存器號5內(nèi)存單元地址20操作碼6尋址特征1寄存器號5形式地址15寄存器號5直接尋址空間220因為基址寄存器號5位,間接尋址空間232例4)某機存儲器容量為64K*16位,該機訪存指令格式如下:考研題目精選解:1)16種操作。操作碼4尋址模式2間址1形式地址8變址1其中,尋址00直接尋址,01基址尋址,10相對尋址,11立即

溫馨提示

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

評論

0/150

提交評論