-
- 素材大。
- 2.69 MB
- 素材授權:
- 免費下載
- 素材格式:
- .ppt
- 素材上傳:
- chenrong
- 上傳時間:
- 2018-08-26
- 素材編號:
- 208598
- 素材類別:
- 學校PPT
-
素材預覽
這是杭州電子科技大學介紹ppt,包括了指令操作碼與地址碼,指令字長和操作碼擴展,指令字長度,指令操作碼擴展等內(nèi)容,歡迎點擊下載。
杭州電子科技大學介紹ppt是由紅軟PPT免費下載網(wǎng)推薦的一款學校PPT類型的PowerPoint.
第六章 指令系統(tǒng)
6.1 指令格式
一、指令操作碼與地址碼
指令是由操作碼和地址碼兩部分組成的:
一、指令操作碼與地址碼
1、操作碼
操作碼長度固定:將操作碼集中放在指令字的一個字段內(nèi)。
這種格式便于硬件設計,指令譯碼時間短,廣泛應用于字長較長的、大中型計算機和超級小型計算機以及RISC(Reduced Instruction Set Computer)中。如IBM370和VAX-11系列機,操作碼長度均為8位。
操作碼長度不固定:指令操作碼分散在指令字的不同字段中。
這種格式可有效地壓縮操作碼的平均長度,在字長較短的微機中被廣泛采用。如PDP-11,Intel8086/80386等。
2、地址碼
(1)三地址指令:
(A1)OP(A2)→A3
2、按照地址碼分類
(4)零地址指令
不涉及操作數(shù):如NOP、HLT指令
操作數(shù)隱含:如PUSH、POP指令
對于寄存器類型的操作數(shù),地址A指寄存器編號。
3、操作數(shù)類型
按照指令處理的操作數(shù)存放位置分:
存儲器類型:操作數(shù)存放在主存中,A為其地址信息
寄存器類型:操作數(shù)存放在CPU的通用寄存器中,A為寄存器號
立即數(shù)類型:操作數(shù)存放在指令(地址字段)中
按照指令處理的操作數(shù)性質分:
地址(addresses):存儲器地址,是無符號整數(shù)。
數(shù)字(numbers):整數(shù)、浮點數(shù)、十進制數(shù)。
字符(characters)
邏輯數(shù)據(jù):真假兩種狀態(tài)
二、指令字長和操作碼擴展
1、指令字長度
機器指令是用二進制機器字來表示的,表示一條指令的機器字,就稱為指令字。一條指令中所包含的二進制碼的位數(shù),稱為指令字長度或指令字長。它主要取決于操作碼的長度、操作數(shù)地址的長度和操作數(shù)地址的個數(shù)。不同機器的指令字長是不相同的。
注意區(qū)分:機器字長、指令字長、存儲字長
按指令長度固定與否可以分為:
固定指令字長的指令:所有指令的字長均相等,一般等于機器字長。
可變指令字長的指令:指令字長不固定,通常取字節(jié)的整數(shù)倍。
1、指令字長度
按照指令字長與機器字長的關系分類:
短格式指令:指令字長小于或等于機器字長。
長格式指令:指令字長大于機器字長。
一個機器的指令系統(tǒng)中,短格式指令和長格式指令可以并存,通常將最常用的指令設計成短格式指令,可以節(jié)省存儲空間、提高指令的執(zhí)行速度。
2、指令操作碼擴展
指令的操作碼的編碼方式:固定操作碼長度的格式和可變操作碼長度格式
采用擴展操作碼技術,使操作碼的長度隨地址數(shù)的減少而增加,即不同地址數(shù)的指令可以具有不同長度的操作碼,從而可以有效地縮短指令字長。
舉例
2、指令操作碼擴展
在設計操作碼不固定的指令系統(tǒng)時,應安排指令使用頻度高的指令占用短的操作碼,對使用頻度低的指令可占用較長的操作碼,這樣可以縮短經(jīng)常使用的指令的譯碼時間。
指令操作碼擴展技術是一種重要的指令優(yōu)化技術,它可以縮短指令的平均長度,增加指令字所能表示的操作信息。但指令操作碼擴展技術需要更多的硬件支持,它的指令譯碼更加復雜,使控制器設計難度增大。
6.2 尋址方式
一、指令尋址
1、順序尋址方式
控制器中使用程序計數(shù)器PC來指示指令在內(nèi)存中的地址。在程序順序執(zhí)行時,指令的地址碼由PC自加1得出。
指令在內(nèi)存中按順序存放,當順序執(zhí)行一段程序時,根據(jù)PC從存儲器取出當前指令, PC自動+1,然后執(zhí)行這條指令;接著又根據(jù)PC指示從存儲器取出下一條指令, PC自動+1, 執(zhí)行……。
2、跳躍尋址方式
當程序執(zhí)行轉移指令時,程序不再順序執(zhí)行,而是跳轉到另一個地址去執(zhí)行,此時,由該條轉移指令的地址碼字段可以得到新指令地址,然后將其置入PC中。
指令尋址舉例
二、數(shù)據(jù)尋址
形式地址:指令的地址碼字段,不一定(通常都不)代表操作數(shù)的真實地址,記為A。
有效地址:操作數(shù)的真實地址,記作EA,它是由尋址方式和形式地址共同來確定的。
常見的有9種尋址方式。
復合尋址
所有的計算機CPU都采用多種尋址方式
問題:如何識別?
二、數(shù)據(jù)尋址
1、立即尋址(Immediate Addressing)
操作數(shù)在指令的地址碼字段,即:
DATA=A
例如:
MOV AL, 5
MOV AX, 3064H
MOV AL, ‘A’
2.直接尋址(Direct Addressing)
操作數(shù)位于存儲器中,操作數(shù)所在的存儲器單元的地址存放在指令的地址字段A中,即:
EA=A
DATA=(EA)
例如:
MOV AX, [1000H]
ADD [2000H], BX
3、間接尋址( Indirect Addressing )
操作數(shù)位于存儲器中,操作數(shù)所在的存儲器單元地址也存放在存儲器中,該存儲器地址則存放在指令的地址字段中,即:
DATA=(EA)
EA=(A)
即:A為操作數(shù)地址的地址
4、寄存器尋址方式 ( Register Addressing )
操作數(shù)位于寄存器中,操作數(shù)所在的寄存器編號存放在指令的地址字段A中,即:
DATA=(Ri)
例如:
MOV AX, BX
MOV AL, BH
5、寄存器間接尋址方式
操作數(shù)位于存儲器中,操作數(shù)所在的存儲器地址存放在寄存器中,而該寄存器編號存放在指令的地址字段A中,即:
DATA=(EA)
EA=(Ri )
例如:
SUB DX, [ESI]
6、變址尋址(Indexed Addressing)
操作數(shù)位于存儲器中,操作數(shù)所在的存儲器地址EA由變址寄存器RI和指令的地址字段A指出:
DATA=(EA)
EA=(RI )+A
變址尋址舉例
例如:
Data
str_tb db ‘Abort, Retry?’, 0
Code
MOV ESI, 0
MOV AL, str_tb[ESI]
……
INC ESI
7、基址尋址 ( Based Addressing )
操作數(shù)位于存儲器中,操作數(shù)所在的存儲器地址EA由基址寄存器Rb和指令的地址字段A指出:
DATA=(EA)
EA=(Rb )+A
基址尋址和變址尋址
基址尋址方式適合于多用戶計算機系統(tǒng),當操作系統(tǒng)為多道程序分配主存空間,將用戶程序裝入主存時,需要進行邏輯地址到物理地址的轉換。
操作系統(tǒng)給每個用戶一個基地址并將其放入相應的基址寄存器,在程序執(zhí)行時,以基址為基準自動進行邏輯地址到物理地址的轉換。
在應用中,基址尋址面向系統(tǒng),可以用來解決程序在主存中的重定位和擴大尋址空間等問題;而變址尋址則面向用戶編程,用來訪問字符串、向量和成批數(shù)據(jù)
8、基址變址尋址
9、相對尋址 ( Relative Addressing )
操作數(shù)位于存儲器中,操作數(shù)所在的存儲器地址EA由程序計數(shù)器PC和指令的地址字段A指出:
DATA=(EA)
EA=(PC )+A
A通常稱作相對偏移量DISP。
相對尋址主要用于轉移指令,執(zhí)行之后,程序將轉移到(PC)+偏移量為地址的指令去執(zhí)行。
偏移量可正、可負,通常用補碼表示,即可相對PC值向后或向前轉移。
10、堆棧尋址 ( Stack Addressing )
操作數(shù)位于存儲器中,操作數(shù)所在的存儲器地址EA由堆棧指針寄存器SP隱含指出,通常用于堆棧指令。
堆棧是由若干個連續(xù)主存單元組成的先進后出(first in last out,即FILO)存儲區(qū),第一個放入堆棧的數(shù)據(jù)存放在棧底,最近放入的數(shù)據(jù)存放在棧頂。棧底是固定不變的,而棧頂是隨著數(shù)據(jù)的入棧和出棧在時刻變化。棧頂?shù)牡刂酚啥褩V羔楽P指明。
一般計算機中,堆棧從高地址向低地址擴展,即棧底的地址總是大于或等于棧頂?shù)牡刂,稱為上推堆棧;也有少數(shù)計算機相反,稱為下推堆棧。
堆棧尋址主要用來暫存中斷和子程序調(diào)用時現(xiàn)場數(shù)據(jù)及返回地址。
堆棧的結構
堆棧的操作:壓入(PUSH)和彈出(POP),對應PUSH和POP指令,假設數(shù)據(jù)字長為1B
壓入指令 PUSH Ri:將Ri寄存器內(nèi)容壓入堆棧。其操作是:
(SP)-1→SP,(Ri) →(SP)
彈出指令POP Ri:從堆棧中彈出1個數(shù)據(jù)送Ri寄存器,其操作是:
((SP)) → Ri ,(SP)+1→SP
其中(SP)表示堆棧指針SP的內(nèi)容;((SP))表示SP所指的棧頂?shù)膬?nèi)容。
6.3 指令類型
1. 數(shù)據(jù)傳送指令
包括寄存器與寄存器、寄存器與存儲單元、存儲單元與存儲單元之間的傳送。
2.算術邏輯運算指令
實現(xiàn)算術運算(加、減、乘、除等)和邏輯運算(與、或、非、異或)。有些計算機還設置有位操作指令,如位測試(測試指定位的值)、位清零、位求反指令等。
3. 移位操作指令
可分為算術移位、邏輯移位和循環(huán)移位。
6.3 指令類型
4.程序控制類指令
無條件轉移指令:無條件轉至目的地址處執(zhí)行。
條件轉移指令:條件滿足轉至目的地址處執(zhí)行,否則順序執(zhí)行(生成條件碼判斷決定是否轉移)
調(diào)用與返回指令:
調(diào)用指令CALL用于從當前的程序位置轉至子程序的入口;
返回指令RETURN用于子程序執(zhí)行完后重新返回到原程序的斷點。
陷阱指令
陷阱其實是一種意外事故的中斷。
6.3 指令類型
5.堆棧操作指令
6.輸入輸出指令:它完成從外設端口讀入一個數(shù)據(jù)到CPU的寄存器內(nèi),或將數(shù)據(jù)從CPU的寄存器輸出到某外設的端口中,此類指令適用于外設寄存器獨立編址的情況。
7.處理器控制指令:包括等待指令、停機指令、空操作指令、開/關中斷指令等
8.特權指令:這類指令主要用于系統(tǒng)資源的分配和管理。特權指令只能給操作系統(tǒng)或其他系統(tǒng)軟件,而不能提供給用戶使用,以防止破壞系統(tǒng)或其他用戶信息
6.4 指令系統(tǒng)的設計技術
一、指令系統(tǒng)的要求
1、完備性:指指令系統(tǒng)直接提供的指令足夠使用,而不必用軟件來實現(xiàn)。
2、有效性:是指利用該指令系統(tǒng)所編寫的程序能夠高效地運行。程序占據(jù)存儲空間小、執(zhí)行速度快。
3、規(guī)整性:
對稱性:所有的指令都可使用各種尋址方式;
勻齊性:指令可以支持各種數(shù)據(jù)類型;
指令格式和數(shù)據(jù)格式的一致性:指令長度和數(shù)據(jù)長度有一定的關系,以方便處理和存取。
4、兼容性:“向上兼容”,即低檔機上運行的軟件可以在高檔機上運行。
二、指令系統(tǒng)的發(fā)展
“復雜指令系統(tǒng)計算機”,簡稱CISC(Complex Instruction Set Computer)
指令格式不固定,尋址方式豐富,功能復雜
一些比較簡單的指令,在程序中僅占指令系統(tǒng)中指令總數(shù)的20%,但出現(xiàn)的頻率卻占80%;占指令總數(shù)20%的最復雜的指令,卻占用了控制存儲器容量的80%,且使用頻率卻不高。
二、指令系統(tǒng)的發(fā)展
精簡指令系統(tǒng)計算機(Reduced Instruction Set Computer,簡稱RISC)
RISC體系結構的芯片經(jīng)歷了三代:
第一代以32位數(shù)據(jù)通路為代表,支持Cache,軟件支持較少,性能與CISC體系結構的產(chǎn)品相當,如RISC Ⅰ、MIPS、IBM801等。
第二代產(chǎn)品提高了集成度,增加了對多處理機系統(tǒng)的支持,提高了時鐘頻率,建立了完善的存儲管理體系,軟件支持系統(tǒng)也逐漸完善。它們已具有單指令流水線,可同時執(zhí)行多條指令。
第三代RISC產(chǎn)品為64位微處理器,采用了超級流水線技術和超標量技術,提高了指令級的并行處理能力,使RISC處理器的整體性能更好。如MIPS的R4000處理器。
三、CISC的特點
早期CISC指令系統(tǒng)的主要特點是:
指令系統(tǒng)復雜。具體表現(xiàn)為指令條數(shù)多、尋址方式多、指令格式多。
指令串行執(zhí)行,大多數(shù)指令需要多個時鐘周期完成。
采用微程序控制,因為微程序控制器適合于實現(xiàn)CISC指令執(zhí)行過程的控制。
有較多的專用寄存器,大部分運算所需的數(shù)據(jù)均需訪問存儲器獲取。
由于指令系統(tǒng)復雜,編譯系統(tǒng)面臨復雜的選擇,編譯程序難以用優(yōu)化措施生成高效的目標代碼程序。
三、CISC的特點
CISC主要在以下方面來對增強指令的功能
面向目標程序增強指令功能
具體方法有:
提高運算類指令的功能
提高傳送類指令的功能
增強程序控制指令功能
面向編譯程序目標代碼生成優(yōu)化的改進
提供面向操作系統(tǒng)優(yōu)化的指令
四、RISC的特點
大部分RISC機具有以下特點:
(1) 指令系統(tǒng)設計時選擇一些使用頻率較高的簡單指令,且選擇一些很有用但不復雜的指令。
(2) 指令長度固定,指令格式種類少,尋址方式種類少。
(3) 只有取數(shù)/存數(shù)指令訪問存儲器,其余指令的操作都在寄存器之間進行。
四、RISC的特點
(4) 采用流水線技術。超級標量及超級流水線技術,增加了指令執(zhí)行的并行度,使得一條指令的平均指令執(zhí)行時間小于一個機器周期。
(5) CPU中通用寄存器數(shù)量相當多,可以減少訪存次數(shù)。
(6) 以硬布線控制邏輯為主,不用或少用微碼控制。
(7) 采用優(yōu)化的編譯程序,力求有效地支持高級語言程序。
同CISC比較,RISC的優(yōu)點
(1) 可以充分利用VLSI芯片面積
(2) 可以提高計算機運算速度
指令數(shù)、尋址方式和指令格式的種類都較少,且指令的編碼很有規(guī)律,使指令譯碼加快。
在簡化指令的情況下,硬布線連接比微程序控制的延遲小,可縮短CPU的周期。
CPU的通用寄存器多,減少了訪存次數(shù),加快了速度
大部分指令能在一個周期內(nèi)完成,特別適合于流水線工作。
有的RISC機采用寄存器窗口重疊技術,程序嵌套時不必將寄存器內(nèi)容保存到存儲器中,加快了速度。
同CISC比較,RISC的優(yōu)點
(3) 設計容易,可降低成本,提高可靠性。
(4) 能有效支持高級語言程序
RISC靠編譯程序的優(yōu)化來支持高級語言程序。
指令少,尋址方式少,反而使編譯程序容易選擇更有效的指令和尋址方式。
通用寄存器多,可盡量安排快速的寄存器操作,使編譯程序的代碼優(yōu)化效率較高。
有的RISC機采用寄存器窗口重疊技術,使過程間的參數(shù)傳送快,且不必保存與恢復現(xiàn)場,因而能直接支持調(diào)用子程序和過程的高級語言程序。
在編譯時盡量做好程序優(yōu)化工作,而減少程序執(zhí)行時間
五、指令系統(tǒng)舉例
1、Pentium 指令系統(tǒng)
指令類型
(1)算術邏輯操作指令
(2)串操作/轉移控制指令
(3)標志控制/高級語言支持指令
(4)數(shù)據(jù)傳送指令
(5)系統(tǒng)控制/段寄存器操作指令
(6)保護/CACHE管理指令
Pentium 的指令格式
2、模型機上8位字長的指令系統(tǒng)設計
① 模型機指令格式
格式1:一般指令格式
格式2:帶尋址方式碼的指令格式
OP1:第一指令操作碼,
2位,是帶尋址方式碼
的指令(4條)的特征位。
MOD:尋址方式碼,2位,用于對4種尋址方式的編碼,至于4種尋址方式的定義,可以自行設計,例如:可設計為直接、間接、變址、相對尋址。
OP2:第二指令操作碼,2位,是4條帶尋址方式碼的指令本身的編碼。
DR:同格式一。
ADDR/DISP/X:指令的第二個字,為尋址方式中所用到的直接/間接地址ADDR,或者是相對尋址的偏移量DISP,或者是變址尋址的形式地址X
帶尋址方式MOD的指令格式(格式2)
對于指令格式2,假設定義:
MOD=00:直接尋址,則有效地址EA=ADDR,操作數(shù)=(ADDR);
MOD=01:間接尋址,則有效地址EA=(ADDR),操作數(shù)=((ADDR));
MOD=10:變址尋址,則有效地址EA=(SI)+X,操作數(shù)=((SI)+X);其中SI為變址寄存器,隱含為R2;
MOD=11:相對尋址,則有效地址EA=(PC)+DISP,操作數(shù)=((PC)+DISP);
格式3:三字指令
格式4:操作碼擴展指令格式
OP——指令操作碼,4位,是單寄存器地址指令(16條)的操作碼,可通過I7 I6為11方式實現(xiàn)散轉。
② 模型機尋址方式
模型機的指令系統(tǒng),可實現(xiàn):寄存器直接、寄存器間接、直接、間接、相對、變址、立即數(shù)7種基本尋址方式。
對于其中相對復雜的尋址方式(直接、間接、相對、變址),可以由指令中的MOD字段來定義。
簡單的尋址方式可以直接由指令操作碼指定。
注意:任何一種尋址方式,均可以直接由指令操作碼隱含指定。
用戶也可以根據(jù)需要,自行設計一些特殊的尋址方式,例如相對SR的偏移量尋址方法,即EA=(SR)+ADDR。
③ 模型機指令系統(tǒng)設計
指令設計原則
指令的格式必須按照規(guī)定的格式設計,即操作碼OP、源寄存器號SR、目的寄存器號DR必須按格式規(guī)定固定長度和位置,若按照格式2設計指令,則操作碼OP分為兩段。
尋址方式的設計,可以根據(jù)需要,由MOD字段定義,或由操作碼隱含指定。
指令類型及功能的設計,只需滿足程序設計的要求和需求即可。
指令操作碼的分配設計,要注意規(guī)整性。
模型機指令設計舉例1
模型機指令設計舉例2
指令系統(tǒng)1舉例
不用專門的MOD字段指出尋址方式,尋址方式由指令碼定義(隱含)。
4. IN Rd,[Addr];
(Port Addr)Rd
指令系統(tǒng)2舉例
共有16條指令,分為:
5條雙寄存器算術邏輯運算類指令
3條單寄存器指令
4條存儲器訪問類指令
2條I/O指令
2條過程控制類指令
程序設計
5條雙寄存器算術邏輯運算類指令
格式:
操作碼及功能:
3條單寄存器指令
格式:
操作碼及功能:
4條存儲器訪問類指令
格式:
操作碼及功能:
SI隱含為R2
2條I/O指令
格式:
操作碼及功能:
2條過程控制類指令
格式:
CALL ADDR
功能:
(SP)-1→SP,
(PC) →(SP),
ADDR→PC
將存儲器單元20H開始的10個數(shù)累加,將和送到2AH單元中,要求按“指令系統(tǒng)二”編程。
本章小結
機器指令由操作碼字段和地址碼字段組成。擴展操作碼技術實現(xiàn)指令優(yōu)化,但也增加了硬件設計難度。
指令的尋址方式包括指令尋址和數(shù)據(jù)尋址,指令尋址主要是順序和跳躍兩種方式;數(shù)據(jù)尋址有許多種尋址方式,其目的是獲得本條指令執(zhí)行所需要的操作數(shù)。
根據(jù)指令的功能,可將指令分類為數(shù)據(jù)傳送、算術邏輯運算類、移位操作類、轉移類、堆棧操作類、輸入輸出類等指令。
指令系統(tǒng)的設計應滿足完備性、有效性、規(guī)整性、兼容性四個方面的要求。CISC指令系統(tǒng)龐大的指令集及其存在問題,RISC指令以它簡潔、高效等特點而得到快速地發(fā)展。
通過兩種指令系統(tǒng)例子,細述了模型機指令系統(tǒng)設計方法,以便結合實際理解和掌握指令系統(tǒng)的設計方法。北京大學出版社課件怎么PPT:這是北京大學出版社課件怎么PPT,包括了最重要的地方——圖書館,吃貨的福利——食堂,北京大學并無校訓
ppt杜克大學:這是ppt杜克大學,包括了什么是生活,明天比今天更重要,獲得滿足感,不要輕易說“不”,挑戰(zhàn)自我,別害怕不確定性,回顧過去的經(jīng)歷,受到教育不等于聰明等內(nèi)容,歡迎點擊下載。
介紹墨爾本大學ppt:這是介紹墨爾本大學ppt,包括了澳大利亞,城市概況,學校簡介,歷史沿革,特色優(yōu)勢,優(yōu)秀學院,本科課程,學費,就業(yè)等內(nèi)容,歡迎點擊下載。