第5章 指令系統(tǒng)_第1頁
第5章 指令系統(tǒng)_第2頁
第5章 指令系統(tǒng)_第3頁
第5章 指令系統(tǒng)_第4頁
第5章 指令系統(tǒng)_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第5章指令系統(tǒng)指令系統(tǒng)主要包括:指令功能和指令格式指令功能:CISC和RISC指令格式:操作碼和地址碼指令:是指示計算機某種操作的命令。微指令,機器指令,宏指令指令系統(tǒng):一臺計算機中所有機器指令的集合。它是機器硬件設計的依據,也是軟件設計的基礎。它決定了一臺計算機硬件的主要性能和基本功能。指令系統(tǒng)是軟件和硬件分界面的一個主要標志硬件設計人員采用各種手段實現它;軟件設計人員則利用它編制各種各樣的系統(tǒng)軟件和應用軟件一、指令的一般格式

操作碼

地址碼指令格式則是指令字用二進制代碼表示的結構形式,由操作碼字段和地址碼字段組成。做什么操作如果需要操作數,從哪里取結果送哪里下一條指令從哪里取設計指令格式包括:指令長度、操作碼和地址碼5.1指令格式1.操作碼反映機器做什么操作。如進行加法、減法、乘法、除法、取數、存數等等。組成操作碼字段的位數一般取決于計算機指令系統(tǒng)的規(guī)模。例如,一個指令系統(tǒng)只有8條指令,則有3位操作碼就夠;如果有32條指令,那么就需要5位操作碼。(1)長度固定(指令規(guī)整,譯碼簡單)例如IBM370機,該機字長32位,16個通用寄存器R0~R15,共有183條指令;指令的長度可以分為16位、32位和48位等幾種,所有指令的操作碼都是8位固定長度。(2)長度可變(擴展操作碼技術)操作碼的位數隨地址數的減少而增加OP

A1

A2

A3000000011110…A1A1A1…A2A2A2…A3A3A3…A2A2A2…A3A3A3…111111111111…000000011110…111111111111…111111111111…111111111111…000000011111…111111111111…111111111111…A3A3A3…000000011110…4位操作碼8位操作碼12位操作碼16位操作碼最多15條三地址指令最多15條二地址指令最多15條一地址指令16條零地址指令2.地址碼根據一條指令中有幾個操作數地址,指明該指令源操作數、目的操作數以及下一條指令的地址??蓪⒃撝噶罘Q為幾操作數指令或幾地址指令。四地址指令三地址指令二地址指令單地址指令零地址指令

操作碼

地址碼(1)四地址指令(2)三地址OP

A1

A2

A3

A486666A1

第一操作數地址A2

第二操作數地址A3

結果的地址A4

下一條指令地址若PC代替A4(A1)OP(A2)A38888OP

A1

A2

A3(A1)OP(A2)A34次訪存4次訪存尋址范圍26=64尋址范圍28=256若A3用A1或A2代替設指令字長為32位操作碼固定為8位(3)二地址OP

A1

A281212(A1)OP(A2)A1(A1)OP(A2)A2或4次訪存若ACC代替A1(或A2)若結果存于ACC(4)一地址(5)零地址OP

A1824無地址碼(ACC)OP(A1)ACC2次訪存尋址范圍212=4K尋址范圍224=16M3次訪存二、指令字長指令字長決定于操作碼的長度指令字長=存儲字長=機器字長操作數地址的長度操作數地址的個數1.指令字長固定訪問某個存儲單元就可以取出一條完整的指令或完整的數據,控制比較簡單。2.指令字長可變按字節(jié)的倍數變化,單字長指令和多字長指令。硬件實現電路復雜,執(zhí)行速度慢。小結當用一些硬件資源代替指令字中的地址碼字段后當指令的地址字段為寄存器時可擴大指令的尋址范圍可縮短指令字長可減少訪存次數三地址OPR1,

R2,R3二地址OPR1,R2

一地址OPR1

指令執(zhí)行階段不訪存可縮短指令字長設某機為定長指令字結構,指令長度12位,每個地址碼占3位,能否構成:三地址指令4條,單地址指令255條,零地址指令64條?4條三地址指令,8條二地址指令,180條單地址指令。OPA1A2333A33

000001010011單地址指令64條單地址指令64條單地址指令64條單地址指令63條三地址指令4條(100)→OP=9位

100000000111111(101)→OP=9位

101000000111111(110)→OP=9位

110000000111111(111)→OP=9位

111000000111110單地址指令255條(111111111)→OP=12位

111111111000111111111零地址指令8條不能,因為按此分配方案,零地址指令只能有8條,不夠64條。5.2尋址方式尋址方式

確定本條指令的操作數地址下一條欲執(zhí)行指令的指令地址指令尋址數據尋址尋址方式5.2尋址方式(重點)一、指令尋址順序(PC)+1PC跳躍由轉移指令指出LDA1000ADD1001DEC1200JMP7LDA2000SUB2001INCSTA2500LDA1100...0123456789PC+1指令地址尋址方式指令地址指令順序尋址1順序尋址2順序尋址3跳躍尋址7順序尋址8二、數據尋址形式地址A:指令字中的地址有效地址EA:操作數的真實地址,由形式地址和尋址方式來確定。

指令字長=存儲字長=機器字長形式地址A操作碼尋址特征操作數的尋址方式:(10種)立即尋址、直接尋址、間接尋址、隱含尋址寄存器尋址、寄存器間接尋址、基值尋址、變址尋址、相對尋址堆棧尋址1.立即尋址OP

#

A立即尋址特征立即數可正可負補碼形式地址A就是操作數指令的地址字段指出的不是操作數的地址,而是操作數本身,這種尋址方式稱為立即尋址。立即尋址方式的特點:指令執(zhí)行階段不訪存,指令執(zhí)行時間很短。A的位數限制了立即數的范圍2.直接尋址操作數主存尋址特征OPAA執(zhí)行階段訪問一次存儲器

A的位數決定了該指令操作數的尋址范圍操作數的地址不易修改(必須修改A)在指令格式的地址字段中直接指出操作數在內存的地址,即EA=A。由于操作數的地址直接給出而不需要經過某種變換或運算,所以稱這種尋址方式為直接尋址方式。3.間接尋址EA=(A)有效地址由形式地址間接提供OPA尋址特征AEA主存EAA1EA

A1主存

EA10執(zhí)行指令階段2次訪存可擴大尋址范圍便于編制程序OPA尋址特征A一次間址多次間址操作數操作數多次訪存@間址特征……子程序主程序…8081201202調用子程序調用子程序間接尋址編程舉例(A)=81(A)=202……@間址特征JMP@A…

……

…4.隱含尋址操作數地址隱含在操作碼中ADDA操作數主存尋址特征AACC暫存ALU另一個操作數隱含在ACC中如8086MUL指令被乘數隱含在AX(16位)或AL(8位)中MOVS指令源操作數的地址隱含在SI中目的操作數的地址隱含在DI中指令字中少了一個地址字段,可縮短指令字長5.寄存器尋址EA=Ri執(zhí)行階段不訪存,只訪問寄存器,執(zhí)行速度快OPRi尋址特征寄存器個數有限,可縮短指令字長操作數…………R0RiRn寄存器有效地址即為寄存器編號EA=(Ri

)6.寄存器間接尋址

有效地址在寄存器中,操作數在存儲器中,執(zhí)行階段訪存操作數主存OPRi尋址特征

便于編制循環(huán)程序地址…………R0RiRn寄存器有效地址在寄存器中7.基址尋址(隱式和顯式)(1)采用專用寄存器作基址寄存器(隱式)EA=(BR)+ABR為基址寄存器OPA操作數主存尋址特征ALUBR

可擴大尋址范圍

BR內容由操作系統(tǒng)或管理程序確定

在程序的執(zhí)行過程中BR內容不變,形式地址A可變(2)

采用通用寄存器作基址寄存器(顯式)操作數主存尋址特征ALUOPR0AR0

作基址寄存器由用戶指定哪個通用寄存器作為基址寄存器通用寄存器R0Rn-1R1…基址寄存器的內容由操作系統(tǒng)確定在程序的執(zhí)行過程中R0內容不變,形式地址A可變8.變址尋址EA=(IX)+AOPA操作數主存尋址特征ALUIX可擴大尋址范圍便于處理數組問題

IX的內容由用戶給定IX為變址寄存器(專用)在程序的執(zhí)行過程中IX內容可變,形式地址A不變通用寄存器也可以作為變址寄存器比較基址尋址和變址尋址

1.相同點:都是把某個變址寄存器或基值寄存器的內容,加上指令格式中的形式地址A而形成操作數的有效地址EA。都可有效地擴大指令尋址范圍。2.不同點:基址尋址適用于為程序或數據分配存儲空間,它的內容通常由操作系統(tǒng)或管理程序來確定。同時,基址寄存器,內容不變,地址的改變反映在位移量A的取值上,形式地址A可變。變址尋址適用于數組或字符串處理,設定A為數組的首地址,不斷改變變址寄存器IX的內容,這樣很容易到達數組內容的任一數據的地址,特別適合編制循環(huán)程序。變址寄存器內容通常由用戶設定。變址尋址時,IX內容可變,形式地址A不變。9.相對尋址

EA=(PC)+AA是相對于當前指令的位移量(可正可負,補碼)

A的位數決定操作數的尋址范圍操作數尋址特征ALUOPA相對距離A1000PC

…主存1000AOP

廣泛用于轉移指令,有利于浮動程序的編寫10.堆棧尋址堆棧指令沒有地址碼,是零地址指令。PUSH,POP堆棧是一塊按“后進先出”(一個入出口)原則進行讀寫的存儲區(qū)。堆棧的結構:硬堆棧,由多個寄存器組成。軟堆棧,內存中的一片的存儲空間,棧底固定,棧頂浮動。棧頂地址由SP

指出–11FFFH+12000H進棧(SP)–1SP出棧(SP)+1SP棧頂棧底2000HSP2000H……1FFFHSP1FFFH棧頂棧底進棧出棧1FFFH棧頂2000H棧頂堆棧尋址舉例15200HACCSPX棧頂200H棧底主存151FFHACCSP15棧頂200H棧底主存X1FFHPUSHA前PUSHA后POPA前POPA后Y1FFHACCSPX棧頂200H棧底主存151FFH15200HACCSP棧頂200H棧底主存X15練習:根據操作數所在位置,指出其尋址方式(填空):

(1)操作數在寄存器中,為()尋址方式。

(2)操作數地址在寄存器,為()尋址方式。

(3)操作數在指令中,為()尋址方式。

(4)操作數地址(主存)在指令中,為()尋址方式

(5)操作數的地址,為某一寄存器內容與位移量之和可以是()尋址方式。

A:寄存器直接;B:寄存器間接;C:立即;

D:直接;E:相對;F:基值;G:變址某微機的指令格式如下所示:D:位移量;X:尋址特征位X=00:直接尋址;X=01:用變址寄存器X1進行變址;X=10:用變址寄存器X2進行變址;X=11:相對尋址設(PC)=1234H,(X1)=0037H,(X2)=1122H(H代表十六進制數),請確定下列指令的有效地址。①4420H②2244H③1322H④3521H⑤6723H1)X=00,D=20H,有效地址E=20H2)X=10,D=44H,有效地址E=1122H+44H=1166H3)X=11,D=22H,有效地址E=1234H+22H=1256H4)X=01,D=21H,有效地址E=0037H+21H=0058H5)X=11,D=23H,有效地址E=1234H+23H=1257HDX操作碼151098705.3指令類型指令系統(tǒng)決定了計算機的功能,不同的機器指令系統(tǒng)各不相同。指令系統(tǒng)與計算機的硬件結構密切相關,而且直接影響到編寫操作系統(tǒng)和編寫編譯程序的難易程度。一、指令設計的基本原則完整性:指令系統(tǒng)的功能盡量完備,給用戶的使用帶來方便,但若指令系統(tǒng)太復雜,會給指令的硬件實現帶來困難。有效性:編制的程序占用的存儲空間小。擴充性:操作碼字段要保留一定的空間,以便需要時進行功能擴充。兼容性:高檔機的指令系統(tǒng)兼容低檔機的指令系統(tǒng),提高軟件資源重復利用率。二、設計指令格式時應考慮的各種因素操作類型數據類型指令格式包括指令個數及操作的難易程度指令字長是否固定尋址方式寄存器個數地址碼位數、地址個數、尋址方式類型操作碼位數、是否采用擴展操作碼技術,確定哪些數據類型可參與操作指令尋址、操作數尋址寄存器的多少直接影響指令的執(zhí)行時間三、指令類型一臺計算機的指令系統(tǒng)通常有幾十條至幾百條指令。按其所完成功能可分為:算術邏輯運算指令;移位操作指令;浮點運算指令;十進制運算指令;字符串處理指令;向量運算指令;數據傳送指令;轉移指令;堆棧操作指令;輸入輸出指令;特權指令等。三、指令類型1.

數據傳送源目的寄存器寄存器寄存器寄存器存儲器存儲器存儲器存儲器2.算術邏輯操作加、減、乘、除、增1、減1、求補、浮點運算、十進制運算與、或、非、異或、位操作、位測試、位清除、位求反如8086MOVESTORELOADMOVEPUSHPOP例如MOVEMOVEADDSUBMULDIVINCDECCMPNEGANDORNOTXORTEST3.移位操作算術移位(有符號數)循環(huán)移位(帶進位和不帶進位)邏輯移位(無符號數)c0c算術移位左移右移c0c邏輯移位左移右移0cc小循環(huán)左移右移cc左移右移大循環(huán)4.浮點運算指令一般能對單精度(32位)、雙精度(64位)數據進行處理。在有些計算機中沒有設置浮點運算指令,而用子程序實現,速度較低,因此,運用于科學計算的計算機應設置浮點運算指令。5.十進制運算指令包括十進制加、減運算指令。在人機交互作用時,輸入輸出的數據都是以十進制形式表示的。在某些數據處理系統(tǒng)中輸入輸出的數據很多,但對數據本身的處理卻很簡單,在不具有十進制運算指令的計算機中,首先將十進制數據轉換成二進制數,再在機器內運算;爾后又轉換成十進制數據輸出。因此,在輸入輸出數據頻繁的計算機系統(tǒng)中設置十進制運算指令能提高數據處理的速度。6.轉移(1)無條件轉移JMP(2)條件轉移結果為零轉(Z=1)JZ結果溢出轉(O=1)JO結果有進位轉(C=1)JC跳過一條指令SKP如300…305306307SKPDZD=0則跳7.字符串處理指令字符串處理指令就是一種非數值處理指令,一般包括字符串傳送、字符串比較、字符串查詢、字符串轉換等指令。其中“字符串傳送”指的是數據塊從主存儲器的某區(qū)傳送到另一區(qū)域;“字符串比較”是一個字符串與另一個字符串逐個字符進行比較,以確定其是否相等;“字符串查詢”是查找在字符串中是否含有某一指定的子串或字符;“字符串轉換”指的是從一種數據表達形式轉換成另一種表達形式。例如,從ASCII碼轉換成EBCDIC碼(擴充的BCD碼)。這種指令在需對大量字符串進行各種處理的文字編輯和排版方面非常有用。5.4指令系統(tǒng)的分類隨著VLSI技術的發(fā)展,計算機的硬件成本不斷下降,軟件成本不斷提高,使得人們熱衷于在指令系統(tǒng)中增加更多的指令和復雜的指令,來提高操作系統(tǒng)的效率,并盡量縮短指令系統(tǒng)與高級語言的語義差別,以便于高級語言的編譯和降低軟件成本。另外,為了做到程序兼容,同一系列計算機的新機器和高檔機的指令系統(tǒng)只能擴充而不能減去任意一條,因此,促使指令系統(tǒng)越來越復雜,某些計算機的指令多達幾百條。例如,DEC公司的VAX11/780計算機有303條指令,18種尋址方式,我們稱這些計算機為復雜指令系統(tǒng)計算機(complexinstructionsetcomputer,簡稱CISC)。Intel公司的80X86微處理器,IBM公司的大、中計算機均為CISC。一、CISC的主要特征

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

指令長度不固定、指令格式種類多、尋址方式多訪存指令不受限制

大多數指令需要多個時鐘周期執(zhí)行完畢

采用微程序控制器

CPU中設有專用寄存器

難以用優(yōu)化編譯生成高效的目的代碼

二、RISC的產生和發(fā)展RISC(ReducedInstructionSetComputer)1975年IBM公司開始研究指令的合理性問題,IBM的Johncocke提出了RISC的想法。

對CISC的測試表明:最常使用的是一些簡單指令,占指令總數的20%,但在程序中出現的頻率卻占80%。而占20%的復雜指令,為實現其功能而設計的微程序代碼卻占總代碼的80%。CISC研制時間長、成本高、難于實現流水線;因此出現了RISC技術。二、RISC的主要特征

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

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

只有LOAD/STORE

指令訪存

采用流水技術

一個時鐘周期內完成一條指令

采用組合邏輯實現控制器

CPU中有多個通用寄存器

采用優(yōu)化的編譯程序

四、RISC和CISC的比較1.RISC更能充分利用

VLSI芯片的面積2.

RISC更能提高計算機運算速度指令數、指令格式、尋址方式少,通用寄存器多,采用組合邏輯,便于實現指令流水3.RISC便于設計,可降低成本,提高可靠性4.RISC

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

5.

RISC不易實現指令系統(tǒng)兼容

2、指令格式操作碼地址碼指令的字長:定長和變長操作碼:指令功能,操作碼長度定長和變長(擴展操作碼)地址碼:數據的類型,尋址方式本章小結1、什么是指令,機器指令,指令系統(tǒng)3、尋址方式:指令尋址(2)和操作數尋址(10)4、RISC和CISC1.指令系統(tǒng)采用不同尋址方式的目的是()A.實現存貯程序和程序控制;B.縮短指令長度,擴大尋址空間,提高編程靈活性;C.可直接訪問外存;D.提供擴展操作碼的可能并降低指令譯碼的難度;2.指令的尋址方式有順序和跳躍兩種方式,采用跳躍尋址方式,可以實現()A.堆棧尋址;B.程序的條件轉移;C.程序的無條件轉移;D.程序的條件轉移或無條件轉移;3.下列尋址方式中,執(zhí)行速度最快的是()

A.寄存器尋址B.寄存器間接尋址C.直接尋址D.相對尋址4.變址尋址方式中,操作數的有效地址EA等于()A基值寄存器內容加上形式地址A(位移量)B堆棧指示器內容加上形式地址A(位移量)C變址寄存器內容加上形式地址A(位移量)D程序記數器內容加上形式地址A(位移量)5.用某個寄存器中操作數的尋址方式稱為()尋址。A.直接B.間接C.寄存器直接D.寄存器間接6.單地址指令中為了完成兩個數的算術運算,除地址碼指明的一個操作數外,另一個常需采用()A.堆棧尋址方式B.立即尋址方式C.隱含尋址方式D.間接尋址方式7.()不是RISC的特點。A.指令的操作種類比較少B.指令長度固定且指令格式較少C.尋址方式比較少D.訪問內存需要的機器周期比較少

溫馨提示

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

評論

0/150

提交評論