14單元7-2指令系統(tǒng)_第1頁
14單元7-2指令系統(tǒng)_第2頁
14單元7-2指令系統(tǒng)_第3頁
14單元7-2指令系統(tǒng)_第4頁
14單元7-2指令系統(tǒng)_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第7章

指令系統(tǒng)教學(xué)單元十四:尋址方式、指令格式舉例及RISC技術(shù)。教學(xué)目標(biāo):掌握尋址方式;掌握指令舉例。7.3

式尋址方式確定本條指令的操作數(shù)地址

下一條欲執(zhí)行指令的指令地址指令尋址尋址方式數(shù)據(jù)尋址7.3

式一、指令尋址PC順序跳躍(

PC

)

+

1由轉(zhuǎn)移指令指出PC+1指令地址尋址方式指令地址

指令0LDA100011ADD1001順序?qū)ぶ?2DEC1200順序?qū)ぶ?3JMP7順序?qū)ぶ?LDA20005SUB20016INC77STA2500跳躍尋址88LDA1100順序?qū)ぶ?...二、數(shù)據(jù)尋址形式地址有效地址指令字中的地址操作數(shù)的真實地址形式地址A操作碼

尋址特征立即數(shù)指令執(zhí)行階段不訪存A的位數(shù)限制了立即數(shù)的范圍可正可負(fù)補(bǔ)碼約定

指令字長

=

存儲字長

=

機(jī)器字長1.立即尋址形式地址A就是操作數(shù)立即尋址特征OP

#

A教學(xué)計算機(jī)指令格式4位4位DR

SRIO端口地址/相對偏移量立即數(shù)/直接內(nèi)存地址/變址偏移量8位操作碼MVRD

R3,1234 R3←立即數(shù)1234

D表示立即數(shù)尋址2.直接尋址EA

=

A操作數(shù)主存尋址特征LDAAAACC有效地址由形式地址直接給出執(zhí)行階段訪問一次存儲器A的位數(shù)決定了該指令操作數(shù)的尋址范圍STRA

[2000],

R2把R2的內(nèi)容寫入到地址為2000的內(nèi)存單元之中,A表示直接地址尋址。3.隱含尋址操作數(shù)地址隱含在操作碼中ADDA操作數(shù)主存尋址特征AACC暫存ALU另一個操作數(shù)隱含在ACC中如8086MUL指令

MOVS指令被乘數(shù)隱含在AX(16位)或AL(8位)中源操作數(shù)的地址隱含在SI中目的操作數(shù)的地址隱含在DI中指令字中少了一個地址字段,可縮短指令字長4.間接尋址有效地址由形式地址間接提供EA

=(A)尋址特征OP

AAEAA1EAA1主存

主存EA10執(zhí)行指令階段

2

次訪存OP

A尋址特征A一次間址多次間址EA

操作數(shù)操作數(shù)可擴(kuò)大尋址范圍多次訪存子程序主程序8081間接尋址編程舉例…調(diào)用子程序…

…調(diào)用子程序……@

間址特征……JMP

@

3022012023025.寄存器尋址EA

=

Ri執(zhí)行階段不訪存,只訪問寄存器,執(zhí)行速度快OPRi尋址特征寄存器個數(shù)有限,可縮短指令字長…操作數(shù)……R0Ri…Rn寄存器有效地址即為寄存器編號ADD

R0,R1表示R0←R0+R1R代表寄存器尋址MVRR

R0,R1把寄存器R1的內(nèi)容傳送到寄存器R0;6.寄存器間接尋址操作數(shù)主存OP

Ri地址………R0Ri…RnEA=(Ri

)

有效地址在寄存器中尋址特征寄存器STRR

[R8],R9把R9的內(nèi)容傳送到以寄存器R8的內(nèi)容為地址的內(nèi)存單元之中;R字母兩側(cè)加上方括號,代表寄存器間接尋址,7.基址尋址OP

A主存(1)采用專用寄存器作基址寄存器EA=(BR)+A

BR為基址寄存器尋址特征ALUBR操作數(shù)可擴(kuò)大尋址范圍有利于多道程序BR內(nèi)容由操作系統(tǒng)或管理程序確定在程序的執(zhí)行過程中BR內(nèi)容不變,形式地址A可變(2)采用通用寄存器作基址寄存器操作數(shù)主存尋址特征ALUOP

R0

AR0

作基址寄存器通用寄存器R0R1…Rn-1由用戶指定哪個通用寄存器作為基址寄存器基址寄存器的內(nèi)容由操作系統(tǒng)確定在程序的執(zhí)行過程中R0

內(nèi)容不變,形式地址A可變8.變址尋址EA

=

(

IX

)

+AOPA主存尋址特征ALUIX操作數(shù)可擴(kuò)大尋址范圍IX的內(nèi)容由用戶給定在程序的執(zhí)行過程中IX內(nèi)容可變,形式地址A不變便于處理數(shù)組問題IX為變址寄存器(專用)通用寄存器也可以作為變址寄存器LDRX

R1,12[R2]用X表示變址尋址,把變址寄存器R2的內(nèi)容與變址偏移量12相加作為內(nèi)存地址,進(jìn)行讀操作,讀出的數(shù)據(jù)傳送的寄存器

R1;P316變址尋址的例子例設(shè)數(shù)據(jù)塊首地址為D,求N

個數(shù)的平均值直接尋址變址尋址LDA

DADD

D

+

1ADD

D

+

2…ADD

D

+

(

N

-1

)DIV

#

NSTA

ANS共N

+2

條指令共8

條指令LDA

#

0LDX

#

0ADD

X,

DINXCPX

#

NBNE

MDIV

#

NSTA

ANSMX為變址寄存器D為形式地址(X)

+1

X(X)和#N

比較結(jié)果不為零則轉(zhuǎn)[D]

ACC9.相對尋址操作數(shù)A的位數(shù)決定操作數(shù)的尋址范圍程序浮動廣泛用于轉(zhuǎn)移指令A(yù)LUEA

=

(

PC

)

+

AA是相對于當(dāng)前指令的位移量(可正可負(fù),補(bǔ)碼)尋址特征OP

A相對距離APC

1000…主存A1000

OP(1)相對尋址舉例M

隨程序所在存儲空間的位置不同而不同*

3LDA#

0LDX#

0MADDX,

DM+1INXM+2CPX#

NM+3BNEMDIV#

NSTAANS指令A(yù)DD

X,D相對位移量不變而指令

BNE

*–

與3指令

BNE

*–

3操作數(shù)的有效地址為EA

=

(

M+3

)

3

=

M*相對尋址特征(2)按字節(jié)尋址的相對尋址舉例2000

H2008

H8OP位移量2000

H2008

H8OP

06

H設(shè)當(dāng)前指令地址

PC

=

2000H轉(zhuǎn)移后的目的地址為

2008H因為取出JMP

*

+?后PC

=

2002HJMP

*

+

?二字節(jié)指令故

JMP

*

+

?

指令

的第二字節(jié)為

2008H

-

2002H

=

06H例設(shè)相對尋址的轉(zhuǎn)移指令占兩個字節(jié),第一個字節(jié)是操作碼,第二個字節(jié)是相對位移量,用補(bǔ)碼表示。假設(shè)當(dāng)前轉(zhuǎn)移指令第一字節(jié)所在的地址為2000H,且CPU每取出一個字節(jié)便自動完成(PC)+1→PC的操作。試問當(dāng)執(zhí)行JMP

*

+8和JMP

*-9指令時,轉(zhuǎn)移指令第二字節(jié)的內(nèi)容各為多少?雙字節(jié)相對尋址,位移量的內(nèi)存存放P318例7.210.堆棧尋址(1)堆棧的特點硬堆棧堆棧軟堆棧多個寄存器指定的存儲空間先進(jìn)后出(一個入出口)

棧頂?shù)刂酚蒘P

指出–

1

1FFFH棧底SP2000

H……1FFFH2000

H棧底出棧棧頂棧頂棧頂堆(heap)棧(stack)AX=30進(jìn)棧

(SP)–

1

SPAX

(SP)進(jìn)棧出棧

(SP)

AX(SP)+

1

SP(2)堆棧尋址舉例200HSPX棧頂

200H棧底主存ACC

15151FFHACCSP棧底主存15X棧頂

1FFH200HPUSH

A前PUSH

A后POP

A前POP

A后Y1FFHACCSP棧底主存15X棧頂

1FFH200H15200HACCSP棧頂

200H棧底主存15X(3)SP的修改與主存編址方法有關(guān)①按字編址進(jìn)棧(SP)–

1SP出棧(SP)+

1SP②按字節(jié)編址存儲字長16

位進(jìn)棧(SP)–

2SP出棧(SP)+

2SP存儲字長32

位進(jìn)棧(SP)–

4SP出棧(SP)+

4SPP319例7.37.4

指令格式舉例一、設(shè)計指令格式時應(yīng)考慮的各種因素數(shù)據(jù)類型指令格式指令系統(tǒng)的兼容性(向上兼容)其他因素操作類型

包括指令個數(shù)及操作的難易程度尋址方式寄存器個數(shù)確定哪些數(shù)據(jù)類型可參與操作指令字長是否固定操作碼位數(shù)、是否采用擴(kuò)展操作碼技術(shù),地址碼位數(shù)、地址個數(shù)、尋址方式類型指令尋址、操作數(shù)尋址寄存器的多少直接影響指令的執(zhí)行時間二、指令格式舉例1.PDP–8

指令字長固定12位訪存類指令操作碼

頁0

2

3

4

511寄存器類指令111輔助操作碼02311I/O類指令設(shè)備操作碼1

1

00

2

3118

9采用擴(kuò)展操作碼技術(shù)PC/07地址碼6392.

PDP

1116OP-CODE指令字長有16位、32位、48位三種零地址(16位)OP10源地址6目的地址二地址R–R

(16位)466OP目的地址存儲器地址

二地址

R

M

(32

位)10616OP源地址目的地址存儲器地址1

存儲器地址246616

16二地址M–M

(48位)擴(kuò)展操作碼技術(shù)一地址(16位)寄存器16位機(jī)器3

3OP-CODE

目的地址3.

IBM

360RR格式OP8R1

R24

4RX格式RS格式OPR1XBD844412OPR1R3BD844412SI格式OP8I8B4D12二地址R–R二地址R–M基址加變址尋址三地址R–M基址尋址二地址M–M基址尋址立即數(shù)–M基址尋址SS格式OP8L8B1

4D1

12B2

4D2

1232位機(jī)器4.

Intel

8086指令字長

1

~

6

個字節(jié)INC

AX

1字節(jié)MOV

WORD

PTR[0204],0138H

6字節(jié)地址格式零地址一地址NOPCALLCALL1字節(jié)段間調(diào)用 5

字節(jié)段內(nèi)調(diào)用 3

字節(jié)二地址ADDAX,BX

2字節(jié)寄存器–寄存器ADDAX,3048H

3字節(jié)寄存器–立即數(shù)ADDAX,[3048H]4字節(jié)寄存器–存儲器16位指令格式設(shè)計舉例:指令系統(tǒng)共有74種指令,前4種使用頻率平均為0.12,中間15種使用頻率平均為

0.02,最后55種使用頻率平均為0.004。如何編碼?平均碼長為多少?平均碼長的定義:i:表示指令Fi:指令的頻率(度)Bi:編碼所用的位數(shù)001010011100-0000100-1110100-1111-

000000100-1111-

110110平均碼長:0.12×4×3

+

0.02×15×7

+0.004×55×13=1.44+2.1+2.86=6.4解:

000頻率40.12指令數(shù)150.02550.0047.5

RISC

術(shù)一、RISC的產(chǎn)生和發(fā)展RISC(Reduced

Instruction

Set

Computer)CISC(Complex

Instruction

Set

Computer)80—20規(guī)律典型程序中80%的語句

溫馨提示

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

評論

0/150

提交評論