深入學習計算機指令系統(tǒng)唐書課件_第1頁
深入學習計算機指令系統(tǒng)唐書課件_第2頁
深入學習計算機指令系統(tǒng)唐書課件_第3頁
深入學習計算機指令系統(tǒng)唐書課件_第4頁
深入學習計算機指令系統(tǒng)唐書課件_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第7章指令系統(tǒng)7.1機器指令7.2操作數(shù)類型和操作類型7.3尋址方式7.4指令格式舉例7.5RISC技術From:新聞7.1機器指令一、指令的一般格式操作碼字段

地址碼字段1.操作碼反映機器做什么操作(1)長度固定(2)長度可變用于指令字長較長的情況,RISC如IBM370操作碼8位操作碼分散在指令字的不同字段中From:新聞(3)擴展操作碼技術操作碼的位數(shù)隨地址數(shù)的減少而增加OPA1A2A3000000011110…A1A1A1…A2A2A2…A3A3A3…A2A2A2…A3A3A3…111111111111…000000011110…111111111111…111111111111…111111111111…000000011111…111111111111…111111111111…A3A3A3…000000011110…4位操作碼8位操作碼12位操作碼16位操作碼最多15條三地址指令最多15條二地址指令最多15條一地址指令16條零地址指令7.1From:新聞2.地址碼(1)四地址(2)三地址OPA1A2A3A486666A1

第一操作數(shù)地址A2

第二操作數(shù)地址A3

結果的地址A4

下一條指令地址若PC代替A4(A1)OP(A2)A38888OPA1A2A3(A1)OP(A2)A34次訪存4次訪存尋址范圍26=64尋址范圍28=256若A3用A1或A2代替7.1設指令字長為32位操作碼固定為8位From:新聞(3)二地址OPA1A281212(A1)OP(A2)A1(A1)OP(A2)A2或4次訪存若ACC代替A1(或A2)若結果存于ACC(4)一地址(5)零地址OPA1824無地址碼(ACC)OP(A1)ACC2次訪存尋址范圍212=4K尋址范圍224=16M3次訪存7.1From:新聞二、指令字長指令字長決定于操作碼的長度指令字長=存儲字長2.指令字長可變操作數(shù)地址的長度操作數(shù)地址的個數(shù)1.指令字長固定按字節(jié)的倍數(shù)變化7.1From:新聞7.2操作數(shù)類型和操作種類一、操作數(shù)類型地址數(shù)字字符邏輯數(shù)無符號整數(shù)定點數(shù)、浮點數(shù)、十進制數(shù)ASCII邏輯運算二、數(shù)據(jù)在存儲器中的存放方式字地址為低字節(jié)地址字地址為高字節(jié)地址37621540字地址04低字節(jié)04512673字地址04低字節(jié)From:新聞存儲器中的數(shù)據(jù)存放(存儲字長為

32

位)地址(十進制)04812162024283236雙字雙字(地址32)雙字雙字(地址24)半字(地址20)半字(地址22)半字(地址16)半字(地址18)字節(jié)(地址8)字節(jié)(地址9)字節(jié)(地址10)字節(jié)(地址11)字(地址4)字(地址0)字節(jié)(地址14)字節(jié)(地址15)字節(jié)(地址13)字節(jié)(地址12)邊界對準地址(十進制)048字節(jié)(地址7)字節(jié)(地址6)字(地址2)半字(地址10)半字(地址8)半字(地址0)字(地址4)邊界未對準

7.2From:新聞三、操作類型1.

數(shù)據(jù)傳送源目的寄存器寄存器寄存器寄存器存儲器存儲器存儲器存儲器置“1”,清“0”2.算術邏輯操作加、減、乘、除、增1、減1、求補、浮點運算、十進制運算與、或、非、異或、位操作、位測試、位清除、位求反如8086MOVESTORELOADMOVEPUSHPOP例如MOVEMOVE7.2ADDSUBMULDIVINCDECCMPNEGAAAAASAAMAADANDORNOTXORTESTFrom:新聞(3)調(diào)用和返回CALLSUB1......CALLSUB2…...CALLSUB2…RETURNRETURN主程序地址200021002101子程序SUB1240025002501256025612700主存空間分配程序執(zhí)行流程子程序SUB27.2...From:新聞INAX,nOUTDX,ALOUTn,AXOUTDX,AX(4)陷阱(Trap)與陷阱指令意外事故的中斷設置供用戶使用的陷阱指令如8086INTTYPE軟中斷提供給用戶使用的陷阱指令,完成系統(tǒng)調(diào)用5.輸入輸出一般不提供給用戶直接使用

在出現(xiàn)事故時,由CPU自動產(chǎn)生并執(zhí)行(隱指令)INAL,DXINAX,DX入端口地址CPU的寄存器出CPU的寄存器端口地址7.2如如INAL,nOUTn,ALFrom:新聞7.3尋址方式尋址方式

確定本條指令的操作數(shù)地址下一條欲執(zhí)行指令的指令地址指令尋址數(shù)據(jù)尋址尋址方式From:新聞二、數(shù)據(jù)尋址形式地址指令字中的地址有效地址操作數(shù)的真實地址約定

指令字長=存儲字長=機器字長1.立即尋址指令執(zhí)行階段不訪存

A的位數(shù)限制了立即數(shù)的范圍形式地址A操作碼尋址特征OP#A立即尋址特征立即數(shù)可正可負補碼形式地址A就是操作數(shù)7.3From:新聞2.直接尋址EA=A操作數(shù)主存尋址特征LDAAAACC執(zhí)行階段訪問一次存儲器

A的位數(shù)決定了該指令操作數(shù)的尋址范圍操作數(shù)的地址不易修改(必須修改A)有效地址由形式地址直接給出7.3From:新聞3.隱含尋址操作數(shù)地址隱含在操作碼中ADDA操作數(shù)主存尋址特征AACC暫存ALU另一個操作數(shù)隱含在ACC中如8086MUL指令被乘數(shù)隱含在AX(16位)或AL(8位)中MOVS指令源操作數(shù)的地址隱含在SI中目的操作數(shù)的地址隱含在DI中指令字中少了一個地址字段,可縮短指令字長7.3From:新聞……子程序主程序…8081201202調(diào)用子程序調(diào)用子程序間接尋址編程舉例(A)=81(A)=202……@間址特征7.3JMP@A…

……

…From:新聞5.寄存器尋址EA=Ri執(zhí)行階段不訪存,只訪問寄存器,執(zhí)行速度快OPRi尋址特征寄存器個數(shù)有限,可縮短指令字長操作數(shù)…………R0RiRn寄存器有效地址即為寄存器編號7.3From:新聞EA=(Ri

)6.寄存器間接尋址

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

便于編制循環(huán)程序地址…………R0RiRn寄存器有效地址在寄存器中7.3From:新聞(2)

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

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

IX的內(nèi)容由用戶給定IX為變址寄存器(專用)在程序的執(zhí)行過程中IX內(nèi)容可變,形式地址A不變通用寄存器也可以作為變址寄存器7.3From:新聞(1)相對尋址舉例M

隨程序所在存儲空間的位置不同而不同EA=(M+3)–3=M–3*LDA#0LDX#0ADDX,DINXCPX#NBNE

MDIV#NSTAANSMM+1M+2M+3而指令BNE

與指令ADDX,D

相對位移量不變–3*

指令BNE操作數(shù)的有效地址為–3*

相對尋址特征*7.3From:新聞(2)按字節(jié)尋址的相對尋址舉例OP位移量2000H2008H8JMP*+8OP06H2000H2008H8設當前指令地址PC=2000H轉(zhuǎn)移后的目的地址為

2008H因為取出JMP

*+8

后PC=2002H二字節(jié)指令故JMP

*+8

指令的第二字節(jié)為2008H-2002H=06H7.3From:新聞10.堆棧尋址(1)堆棧的特點堆棧硬堆棧軟堆棧多個寄存器指定的存儲空間先進后出(一個入出口)棧頂?shù)刂酚蒘P

指出–11FFFH+12000H進棧(SP)–1SP出棧(SP)+1SP棧頂棧底2000HSP2000H……1FFFHSP1FFFH棧頂棧底進棧出棧1FFFH棧頂2000H棧頂7.3From:新聞(2)堆棧尋址舉例15200HACCSPX棧頂200H棧底主存151FFHACCSP15棧頂200H棧底主存X1FFHPUSHA前PUSHA后POPA前POPA后Y1FFHACCSPX棧頂200H棧底主存151FFH15200HACCSP棧頂200H棧底主存X157.3From:新聞(3)SP的修改與主存編址方法有關①按字編址進棧出棧(SP)–1SP(SP)+1SP②按字節(jié)編址存儲字長16位進棧出棧(SP)–2SP(SP)+2SP存儲字長32位進棧出棧(SP)–4SP(SP)+4SP7.3From:新聞7.4指令格式舉例一、設計指令格式時應考慮的各種因素1.指令系統(tǒng)的兼容性(向上兼容)2.其他因素操作類型數(shù)據(jù)類型指令格式包括指令個數(shù)及操作的難易程度指令字長是否固定尋址方式寄存器個數(shù)地址碼位數(shù)、地址個數(shù)、尋址方式類型操作碼位數(shù)、是否采用擴展操作碼技術,確定哪些數(shù)據(jù)類型可參與操作指令尋址、操作數(shù)尋址寄存器的多少直接影響指令的執(zhí)行時間From:新聞二、指令格式舉例1.PDP–8指令字長固定12位

操作碼

頁地址碼訪存類指令0235411寄存器類指令

111輔助操作碼02311I/O類指令

110設備操作碼02311987.4采用擴展操作碼技術From:新聞2.PDP–11源地址OP4661616目的地址存儲器地址1存儲器地址2OP10616目的地址存儲器地址目的地址466源地址OP106目的地址OP-CODE16OP-CODE指令字長有16位、32位、48位三種零地址(16位)一地址(16位)二地址R–R(16位)二地址R–M(32位)二地址M–M(48位)擴展操作碼技術7.4From:新聞3.IBM360OPR1R2RR格式844OPR1XBDRX格式844412OPR1R3BDRS格式844412OPBDISI格式88412二地址R–R基址加變址尋址二地址R–M三地址R–M基址尋址二地址M–M基址尋址基址尋址立即數(shù)–

M7.4OPB1D1LB2D2SS格式88412412From:新聞4.Intel8086(1)指令字長(2)地址格式1~6個字節(jié)MOVWORDPTR[0204],0138H6字節(jié)INCAX1字節(jié)一地址NOP1字節(jié)CALL段內(nèi)調(diào)用3字節(jié)零地址5字節(jié)段間調(diào)用寄存器–寄存器寄存器–立即數(shù)寄存器–存儲器ADDAX,BX2字節(jié)ADDAX,[3048H]4字節(jié)ADDAX,3048H

3字節(jié)二地址CALL7.4From:新聞7.5RISC技術一、RISC的產(chǎn)生和發(fā)展

80—20規(guī)律

典型程序中80%的語句僅僅使用處理機中20%的指令

執(zhí)行頻度高的簡單指令,因復雜指令的存在,執(zhí)行速度無法提高RISC(ReducedInstructionSetCompu

溫馨提示

  • 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

提交評論