版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機組成原理A
西南交通大學
信息科學與技術學院
2006年2月
第3章指令系統(tǒng)
§3.1指令格式
§3.2指令類型
§3.3尋址技術
§3.4堆棧與堆棧操作
§3.5指令系統(tǒng)實例
/占總工、[a吟“、/.不若HIKI▲,,"田
第3章指令系統(tǒng)
本章重點:
1.理解指令的基本格式和基本操作種類,理解擴展操
作碼方法;
2,掌握基本數據尋址方式和有效地址的確定方法,搞
清楚每一種基本尋址方式的特點;
3.存儲器堆棧的概念及堆棧的進、出棧操作
金,K士大]京金白工、IX,,、A口+HTPRA,,土占4
如u早口曰q不可L
第3章指令系統(tǒng)
指令:執(zhí)行某種基本操作的命令(如:力口、減)。
指令是計算機硬件能夠識別并直接執(zhí)行的操作命令,
指示計算機硬件完成指定的基本操作。
程序:由一系列有序指令構成。
指令系統(tǒng):一臺計算機能執(zhí)行的全部的指令的集合。
屋”指令系統(tǒng)是軟件和硬件的主要界面。
是設計計算機硬件的一個基本依據,
是軟件設計者則編制程序的基礎。
如u早口曰q不可L
§3.1指令格式
3.1.1機器指令的基本格式
0P:操作碼字段,指出所要進行的操作;
A:地址碼字段,指出操作數和操作結果的地址。
指令的長度:
1)定長.指令系統(tǒng)中所有的指令其長度都一樣。
2)變長.各指令的長度可以不同。
如u早口曰q不可L
3.1.2地址碼結構
地址碼字段可以是單地址、雙地址、三地址或零地址等格式。
單地址指令IOP
如:ACHAC)0P(A)AC為累加器,隱含方式
A-OP(A)
■■■■■■■■■■■■■■I■■■■■■■■■■■■■■!■■■!
■■■■■■■■■■■■■■I■■■■■■■■■■■■■■!■■■■
■■■■■■'1■■■■■■■)■■■■■■1■■■■■■■!■■■■
■■■■■7.1?■■■■■■!■■■■■FA?■■■■■■!■■■■
■■■■?,??■■■■
多地址指令OP■■■■■■■?■■■■■■)■■■■■■■■■■■■■■I■■■■
如:AqVHAJOPfA^
零地址指令:操作數在棧頂和次棧頂中,或隱含指定。
“、/.不若HiW▲,,"田
如u早口曰q不可L
例:完成(X)+(Y)-Z的操作
用一條三地址指令即可……
ADDX,Y,Z;
用二條二地址指令實現--
ADDX,Y;(X)+(Y)-X
MOVZ,X;(X)-Z
用三條一地址指令實現……
LDAX;(X)-ACLDA意為LoadAC
ADDY;(AC)+(Y)-AC
STAZ;(X)-ZSTA意為StoreAC
“、/.不若r/〃/Z7HiW▲,,"田
如u早口曰q不可L
地址段&的長度(N)與存儲器容量(M)的關系:
N
M=2IOPML......................
i內存地址?
存在問題:①地址段位數增長一指令過長;
②程序設計的靈活性差。
???需要采用好的尋址技術!
“、/.不若r/〃/Z7HiW▲,,"田
如u早口曰q不可L
3.1.3指令的操作碼OP|A
1.規(guī)整型(定長操作碼、變長指令碼)
n位操作碼最多可表示2n種計算機指令,
特點:操作碼字段規(guī)整,譯碼簡單、迅速。
指令的長度隨操作數個數的不同而變化。
(適于大、中、小型機)
“、I.々4r¥nActr-P-HEA”生田
如u早口曰q不可L
例:IBM370機的指令格式
指令可分為幾種不同的長度不論指令的長度為多少位,
其中操作碼字段一律都是8位。
如u早口曰q不可L
2,非規(guī)整型(變長操作碼、定長指令碼)
可采用擴展操作碼技術。
0000xxxxxxxxxxxx)
0001xxxxxxxxxxxxI4位操作碼
……|15條三地址指令
1110XXXXXXXXXXXXJ
11110000xxxxxxxx\
11110001xxxxxxxxI8位操作碼
……I15條二地址指令
11111110XXXXXXXXJ
111111110000xxxx
111111110001xxxx12位操作碼
??????15條一地址指令
111111111110xxxx
1111111111110000
mimimioooi16位操作碼
??????16條零地址指令
111111111111nil
如u早口曰q不可L
例:PDP-11機的指令格式
士大?吊—占白工、【小e“、/.不若r/〃/Z7T>HiW▲,,"田
如u早口曰q不可L
§3.2指令類型—A1
與機器的用途、性能的總體要求有關。
通用型計算機其基本的操作種類有:
>數據傳送類指令
>運算類指令
>程序控制類指令
>輸入輸出類指令(非必備)
其它種類指令還有:
>串操作指令
>數據轉換指令
>處理機控制指令
>特權指令
如u早口曰q不可L
§3.2指令類型
3.2.1數據傳送類指令
1.一般傳送指令(復制)
把數據從源地址復制到目的地址中去。
常用助記符:MOV,LOAD(LD),STORE
類型:寄存器一寄存器
寄存器一主存
主存一寄存器
主存一主存
2,堆棧操作指令
進棧PUSH、出棧POP,在程序中它倆往往成對出現。
3.數據交換指令
常見的有字節(jié)交換、字交換、高低半字節(jié)之間交換等。
常用助記符:XCHG
如u早口曰q不可L
3.2.2運算類指令
1.算術運算類指令
+,一,X,/,加1,減1,向量運算等。
ADD,SUB,MUL,DIV,INC,DEC,...(各種運算不一定都具備)
2.邏輯運算類指令
與、或、取反、異或等(AND,OR,NOT,XOR,…)。
3.移位類指令
算術移位(x2,+2)
還有邏輯移位、循環(huán)移位等。
注:算邏運算除了產生運算結果外,還產生一些狀態(tài)信息記錄在
狀態(tài)寄存器PSW的標志位中。
例如:進位、溢出、全零、正負和奇偶標志等。
如u早口曰q不可L
3.2.3程序控制類指令
1.轉移指令
(1)無條件轉移JMp"A
功能:PC-A(PC為程序計數器)
(2)條件轉移
如:JCA(進位位標志C=1時轉)
2.子程序調用指令轉子時要先保存好
CALLSUB_A當前的PC值(通常是PC
值壓入堆棧),然后再
PC-SUB_A;
3.返回指令
返回時要恢復PC,
返回主程序
RET把棧中原PC的值彈出送
RETI中斷返回給PC。
鼠一K士我?不一必在白上一什屈?!?、/.不若HiW▲,,"田
如u早口曰q不可L
3.2.4輸入輸出類指令
實現CPU與/0設備之間的信息傳送。
'總]注:輸入、輸出都是對CPU而言的。
例如輸入,指從I/O到CPU的數據傳送。
ML7K士大濟―小金白a1什曲“、/.不若r/〃/Z7HIKI▲,,"田
如u早口曰q不可L
3.2.4輸入輸出類指令
輸入指令如:
INA,端口地址;A是CPU中的寄存器
輸出指令如:
OUT端口地址,A;A是CPU中的寄存器
在I/0設備獨立編址的計算機中,指令系統(tǒng)設有專門的輸入/
輸出指令(IN/OUT);而在I/O設備與內存統(tǒng)一編址的計算機
中,輸入輸出由傳送指令來實現,不設專門的輸入/輸出指令。
力士大?吊—*但白工、[X―什q小曲“、[.gin〃口r-p.r^TfffA,,"冷
如u早口曰q不可L
思考題:P781,2,5,6
習題:P783,4
7K士大漏一小金白*/a1什曲“、/.不若r/〃/Z7T>HIKI▲,,"田
如u早口曰q不可L
§3.3尋址技術
尋址:1)指令尋址
2)數據尋址
指令尋址:尋找下一條將要執(zhí)行的指令地址。
通常采用順序尋址(順序執(zhí)行)或跳躍尋址(轉移)
數據尋址:尋找操作數的地址。
(本章重點)
尋址與存儲單元的編址有關
如u早口曰q不可L
3.3.1編址
1.編址單位
常見的編址單位有:
按字編址:編址單位:計算機字長
按字節(jié)編址:編址單位=1個字節(jié)
按位編址:編址單位=1bit
2.指令中地址碼的位數
主存容量越大,所需的地址碼位數越長;
編址單位越小,所需的地址碼位數越長。
士*?京一金白工、[a、[.g工n〃口HE),,"今上
如u早口曰q不可L
3.3.2基本的數據尋址方式
數據尋址方式:由指令中形式地址確定有效地址的方法。
以單操作數為例
“」存儲器地址
無尋址技術時:OP|A十二1(宥效地址)J
有尋址技術時:OP羋jA十」-形式地址」
丁式]
形式地址:指令中地址字段給出的地址。
(通常不能直接用來訪問存儲器)
有效地址:形式地址經過一定的計算而得到的能直接訪問存
儲器的地址。
形式地址——史3——^有效地址
如u早口曰q不可L
采用尋址方式的原因:
①操作數地址表示多樣化需要;
②壓縮操作數地址字段的長度。
*“-皿目AN,/必1升44曲“、/.不若r/〃/Z7HiW▲,,"田
如u早口曰q不可L
(1)立即尋址(ImmediateAddressing)
指令中的地址字段存放的就是操作數。
OPM操作數(取指令的同時取出數據)
尋址方式
力士大?吊—*但白工、[X―什q小曲“、[.gin〃口r-p.r^TfffA,,"冷
如u早口曰q不可L
(2)寄存器尋址(RegisterAddressing)
操作數在某一通用寄存器(在CPU)中。
力士大?吊—*但白工、[X―什q小曲“、[.gin〃口r-p.r^TfffA,,"冷
如u早口曰q不可L
(3)直接尋址(DirectAddressing)
適合于訪問固定主存單元或外部設備接口中的寄存器;
地址碼字段較長。例如,64K尋址空間需16位。
“、/.不4T//7/Z7HiW▲,,"田
如u早口曰q不可L
(4)間接尋址(IndirectAddressing)
需訪問兩次主存才能取出操作數。
KH*7V席—*但RN,/皿1什4小曲“、/.不若r/〃/Z7HiW▲,,"田
如u早口曰q不可L
一級間接尋址三級間接尋址
主存儲器主存儲器
(b)
EA=(A)EA=(((A)))
S=((A))S=((((A))))
特點:
擴大了尋址范圍,可用指令的短地址訪問大容量的主存空
間;
訪問速度較慢。
據二K士大?京金白上一山正土
“、/.不若r/〃/Z7HiW▲,,"田
如u早口曰q不可L
(5)寄存器間接尋址(RegisterIndirectAddressing)
寄存器中存放操作數的有效地址。
OP???MRi
形式地址短,但可訪問較大的內存空間。
“、/.不若r/〃/Z7HiW▲,,"田
如u早口曰q不可L
(6)變址尋址(IndexedAddressing)
有效地址=變址寄存器的內容+形式地址(位移量)O
EA=(Rx)+A
主存儲器
IR
Rx
適用于對數據塊操作
k士公金白工、[X―什q小曲“、1.gin〃口r-p-r^TmA,,"冷
X
盡
卜
E
C
d
L
7匚
匚
T
2
?1
H,
如
W
才
4
笠
一
,H
g
一
CS
一
也
VK
LU
如u早3日q不可L
(7)基址尋址(BasedAddressing)
有效地址=基址寄存器的內容+形式地址(位移量
EA=(Rb)+D
“、/.不若r/〃/Z7HiW▲,,"田
如u早3日q不可L
?變址尋址與基址尋址的區(qū)別:
變:通常由變址寄存器提供修改量,
形式地址為基準地址,
面向用戶(例如向量運算);
基:基址寄存器提供基準地址,
形式地址為位移量,
面向操作系統(tǒng)(例如程序的動態(tài)重定位)。
展二K土大濟一迎金白工、/a的“,L3T門〃口r-P-Hirn』
如u早3日q不可L
⑻相對尋址
主存儲器
EA=(PC)+D
位移量D指出的是操作數和現行指令之間的相對位置。
“、/.不若r/〃/Z7HiW▲,,"田
如u早3日q不可L
⑼頁面尋址
將主存空間分頁,可解決地址碼位數與主存訪問范圍的矛盾。
例:某機主存為64K,將其劃分為256頁,則頁面地址從00H?FFH;
每頁有64K/256=256單元,頁內單元序號從00H?FFH。
“、/.不若r/〃/Z7HiW▲,,"田
如u早3日q不可L
⑼頁面尋址
頁面尋址又可以分成三種不同的方式:
1)基頁尋址
EA=0/7A操作數S在零頁面中。實際上就是直接尋址。
2)當前頁尋址
EA=(PC)H〃A操作數S與指令本身處于同一頁面中。
3)頁寄存器尋址
頁面地址取自頁寄存器,與形式地址相拼接形成有效地址。
土*?京一金白工、[a、[.g工n〃口HE),,"今上
如u早3日q不可L
⑼頁面尋址
頁面尋址又可以分成三種不同的方式:
主在
0
0頁內地址操作數
(b)
主存
PCPCHPCL
當前頁面頁內地址操作數
⑹
頁寄存器頁面號
頁面號頁內地址操作數
H*代田—*上-"4X2“、/.ge)“心Him▲”"田
如u早3日q不可L
以當前頁尋址為例:
主存儲器指令寄存器
OP38
0頁
1頁
EA
2F38-------》指令
」2F38
指令所在災
所在頁
2F85
255頁程序計數器
“、/.不若r/〃/Z7HiW▲,,"田
木u早3日q不可L
(10)其它尋址
位尋址:能尋址到位,一般用于專門的位操作指令。
塊尋址:對連續(xù)的數據塊進行尋址。
一般要指明塊首址和塊長(或)末址。
堆棧尋址:由堆棧指針SP隱含指定,不需要指令給出地址碼。
存儲器堆棧:內存中一個連續(xù)的存儲區(qū),按后進先出方式存取。
內存SP為棧頂指針
基本操作:1)壓入
SP2)彈出
如u早3日q不可L
尋址方式的表示方式
1)顯式:在指令中設置專門的尋址方式字段。
OP:M:A
2)隱式:由指令的操作碼隱章約定址方仆
二:〔形式地址〕
使用約定的
尋址方式
一條指令中的各地址碼可采用不同的尋址方式。
例如:MOVAX,[BX]
器間接跡二
KH*7V席—*但RN,/皿1什4小曲“、/.不若r/〃/Z7HiW▲,,"田
思考題:P787,8,16
習題:P7810,12
ML7K土大濟―小金白*/a1什曲“、/.不若r/〃/Z7T>HIKI▲,,"田
如u早3日q不可L
3.3.4變型或組合尋址方式
1.自增型寄存器間址和自減型寄存器間址
(1)自增尋址(Ri)+
EA=(印)
Ri-(Ri)+dRi
先確定EA后遞增Ri
(2)自減尋址-(Ri)
Ri-(Ri)-d
EA=(Ri)
先遞減Ri后確定EA.
Ri
“、/.不若r/〃/Z7HiW▲,,"田
如u早3日q不可L
2.擴展變址方式
(1)先變址后間址(前變址方式)
EA=(A+(Rx)),
操作數S=((A+(Rx)))o
(2)先間址后變址(后變址方式)
EA=(A)+(Rx),
操作數S=((A)+(Rx))o
如u早3日q不可L
3.基址變址尋址
EA=(Rb)+(Rx)+D
其中:Rb為基址寄存器,Rx為變址寄存器,D為位移量。
位移量D在指令一旦確定后不能再修改;
基址和變址寄存器中的內容可以改變。
ML7K土大濟―小金白a1什曲“、/.不若r/〃/Z7HIKI▲,,"田
如u早3日q不可L
常見尋址方式小結
尋址方式通俗解釋
⑴立即尋址操作數在指令(的地址字段)中。
⑵寄存器尋址操作數在CPU的某一寄存器中。
(3)寄存器間址操作數在內存,其地址在CPU的某一寄存器中。
(4)直接尋址操作數在內存,其地址由指令直接給出。
⑸間接尋址操作數在內存,指令中給出操作數地址的地址(操
作數的地址也在內存)。
(6)變址、基址、操作數在內存,其內存地址為
相對尋址Rx或Rb或PC的值+指令中給的位移量。
KH*7V席—*但RN,/皿1什4小曲“、/.不若HiW▲,,"田
如u早3日q不可L
本章重點:
1.理解指令的基本格式和基本操作種類,理解擴展操
作碼方法;
2,掌握基本數據尋址方式和有效地址的確定方法,搞
清楚每一種基本尋址方式的特點;
3.存儲器堆棧的概念及堆棧的進、出棧操作
金,K土大]京金白工、IX,,、I.g¥H4口fHTPRA,,"4
如u早3日q不可L
§3.4堆棧與堆棧操作
堆棧:“后進先出”(LIF0)的存儲區(qū)。
3.4.1堆棧結構
>寄存器堆棧(硬堆棧)
>存儲器堆棧(軟堆棧)
“、/.不若r/〃/Z7HiW▲,,"田
如u早3日q不可L
1,寄存器堆棧(硬堆棧)
可由移位寄存器組構成。(從圖中縱向看)
KH*7V席—*但RN,/皿1什4小曲“、/.不若r/〃/Z7HiW▲,,"田
如u早3日q不可L
2.存儲器堆棧(軟堆棧)
從主存中劃出一段區(qū)域來作
堆棧,棧底固定,棧頂浮動。
由堆棧指針寄存器SP指示當
前棧頂的位置。
自底向上生成堆棧,棧底地址大于棧頂地址,通常棧指針
始終指向棧頂的滿單元。
“、/.不若r/〃/Z7HiW▲,,"田
如u早3日q不可L
3.4.2堆棧操作
進棧操作(壓入):
(SP)-1-SP修改棧指針
(A)一(SP)將A中的數據壓入堆棧
“、/.不若r/〃/Z7HiW▲,,"田
如u早3日q不可L
3.4.2堆棧操作
出棧操作(彈出):
((SP))一A將棧頂內容彈出,送入A中
(SP)+1-SP修改棧指針
“、/.不若r/〃/Z7HiW▲,,"田
如u早3日q不可L
堆棧的應用:
在一般計算機中,堆棧主要用來暫存中斷斷點、子程序調用時的
返回地址、狀態(tài)標志及現場信息等,也可用于子程序調用時參數的傳
遞等。
“、/.不若r/〃/Z7HiW▲,,"田
如u早3日q不可L
§3.5指令系統(tǒng)實例(側重于8086/8088尋址方式)
3.5,0與8086/8088相關的預備知識
1.8086/8088的結構
n外部總線
,總線接口部件
指
令
隊(BIU)
列
>
EU
控制鵠
微操作信號L執(zhí)行部件
|(EU)
圖2-128086內部結構框圖
K土八C京」一小金白工、【小一"4型“、/."r/口Z"#HrmA,,ML
如u早3日q不可L
3.5,0與8086/8088相關的預備知識
2.8086/8088存儲器的分段管理
[[外部總線
20位地址緩
邏輯仁
________16位數據線
UCPU內總線
0
EU
控制器
微操作信號
庭寄存器|
±1~圖2-138086/8088主存物理地址的形成
圖2-128086內部結構框圖
分段管理的目的是使指令可以訪問較大的內存空間。
士大?吊q占白工、【小e“、/.不若r/〃/Z7HiW▲,,"田
如u早3日q不可L
3.5,0與8086/8088相關的預備知識
3.段寄存器
CS:代碼段寄存器
DS:數據段寄存器
指
SS:堆棧段寄存器令
隊
ES:附加段寄存器列
通常將需執(zhí)行的程序各部分(指令代碼、數據、堆棧等)分別放在指
定的某個段中。當CPU訪問某個主存單元(如取指令或存取操作數)時,
就必須指明(或默認使用)哪個段寄存器提供該單元的段基值,并給出
該單元在這個段內的偏移量。
如u早3日q不可L
3.5,18086/8088指令系統(tǒng)特征
二地址指令系統(tǒng)。(一條指令里最多有兩個地址)
操作碼:定長操作碼,變長指令碼。
地址碼:寄存器、立即、寄存器間址、基址、變址等尋址。
對于操作數在內存的尋址方式,有效地址EAW物理地址!
I形式I______A|有效地址EA_______J_I___k物理地址
I地址I(16位)4-1(20位)
段首址
(20位)
對于二地址指令:其中一個尋址方式可選,
另一個只能是寄存器尋址。
士大?吊q占白工、【小e“、/.不若HiW▲,,"田
如u早3日q不可L
3.5.2尋址方式
以二地址指令為例,指令格式為OPA1A2
例如:ADDBX,5
基本尋址方式匯編符號例子尋找操作數(的地址)的過程
寄存器尋址ADDBX,5EA=BX,即數據在寄存器中
寄存器間址ADD[BX],AXEA=(BX)
立即尋址ADDBX,5操作數在指令中
直接尋址ADD[100],AXEA=100
間接尋址
變(基)址尋址ADD[BX+20],AXEA=(BX+20)
自相對LOOPL1EA=(IP)+位移量
RU早:J日q刁\三兒
例:MOVAL,AH;AL—(AH)8位
SUBAX,BX;AX—(AX)-(BX)16位
INCCX;CX—(CX)+116位
20位地址繞0:夕卜部趨緩
卷續(xù)控制逮姆
TT16位數揖線
CS
DS
ES
SS
IP
n廠
<0
控fM部
微捺作信號
圖2-128086內部結構框圖
MLyH土大?吊—4/士白工、/MA1什4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商業(yè)計劃書須避免的雷區(qū)
- 社區(qū)食品藥品工作計劃范文
- 小學國培個人研修計劃
- 小學四年級上冊音樂教學計劃例文
- 人教版九年級數學下冊教學計劃
- 2025年手術室護理工作計劃范文模板
- 2025年小學一年級班務秋季工作計劃
- 《ERP系統(tǒng)功能介紹》課件
- 《塑料薄膜印刷》課件
- 《蝙蝠和雷達自制》課件
- 病理學知到智慧樹章節(jié)測試課后答案2024年秋溫州醫(yī)科大學
- 2023年湖北交投智能檢測股份有限公司社會招聘筆試真題
- 2024企業(yè)所得稅培訓
- 眼科考試題含答案
- 共話五千年傳承根與魂主題團日活動
- 小學校門口突發(fā)問題應急預案(5篇)
- 2024年危險品貨車租賃合同條款
- 2024年大型風力發(fā)電項目EPC總承包合同
- 植物學#-形考作業(yè)4-國開(ZJ)-參考資料
- 國開汽車學院《項目管理》形考作業(yè)1-4答案
- 歌唱語音智慧樹知到期末考試答案章節(jié)答案2024年齊魯師范學院
評論
0/150
提交評論