指令系統
4.1指令系統的發展與性能要求
-
指令系統的發展
計算機的程序是由一系列的機器指令組成
計算機的指令有
微指令
、機器指令
、宏指令
之分。微指令
是微程序級的命令,屬於硬件;宏指令
是由若干機器指令組成的軟件指令,屬於軟件;機器指令
介於微指令與宏指令之間,通常簡稱為指令
一台計算機上的所有機器指令的集合成為這台計算機的
指令系統
有CISC和RISC之分,前者是復雜指令系統計算機,后者是精簡指令系統計算機
-
指令系統的性能要求
(1)完備性:指令足夠使用
(2)有效性:程序占據存儲空間小、執行速度快
(3)規整性:包括指令系統的對稱性、勻齊性、指令格式和數據格式的一致性
(4)兼容性:系列機各機種之間具有相同的基本結構和共同的基本指令集
-
低級語言與硬件結構的關系:略
4.2指令格式
機器指令是用機器字來表示的。表示一條指令的機器字成為指令字,簡稱指令。
指令格式,是指令字用二進制代碼表示的結構形式,通常由操作碼字段和地址碼字段組成
操作碼字段:OP;
地址碼字段:A
-
操作碼
OP表示該指令應進行什么性質的操作,如加、減、乘、除等。
一般來說,一個包含n位的操作碼最多能夠表示 2^n 條指令
-
地址碼
根據一條指令中有幾個操作數地址,可將該指令稱為幾操作數指令或幾地址指令
有零地址指令、一地址指令、二地址指令和三地址指令
在二地址指令格式中,可以歸結為三種類型:
(1)訪問內存的指令格式,稱為
存儲器-存儲器(SS)
型指令,這種操作時都是涉及內存單元(2)訪問寄存器的指令格式,稱為
寄存器-寄存器(RR)
型指令(3)
寄存器-存儲器(RS)
型指令 -
指令字長度
一個指令字中包含二進制代碼的位數,稱為指令字長度。
機器字長是指計算機能直接處理的二進制數據的位數,決定了計算機的運算精度。機器字長通常與主存單元的位數一致。
指令字長度等於機器字長度的指令,稱為單字長指令;等於半個機器字長的指令,稱為半字長指令;等於兩個機器字長度的指令,稱為雙字長指令
-
指令助記符
硬件只能識別1和0,操作碼在機器上都有對應的二進制代碼。便於書寫和閱讀,用英文的縮寫代替,縮寫碼叫做指令助記符,如ADD、SUB、MOV、JMP等
例題:
指令格式如下,OP為操作碼,試分析指令格式的特點
|15 9| |7 4|3 0|
| OP | —— | 源寄存器 | 目標寄存器 |
解:
(1)單字長的二地址指令
(2)操作碼字段OP可以指定2^7=128條指令
(3)源寄存器和目標寄存器都是通用寄存器,可分別指定16個,RR型指令
(4)常用於算術邏輯運算類指令
指令格式如下,分析指令格式特點
|15 10| |7 4|3 0|
| OP | —— | 源寄存器 | 變址寄存器 |
| 位移量(16位) |
解:
(1)雙字長二地址指令,用於訪問存儲器
(2)OP為6位,可以指定64種指令
(3)一個操作數在源寄存器中,目標操作數在存儲器中(由變址寄存器和位移量決定),RS型指令
4.3操作數類型
略
4.4指令和數據的尋址方式
存儲器既可以存放數據,也可以存放指令。
尋址方式分為兩類,指令尋址方式和數據尋址方式。
馮.諾依曼型結構的計算機中,內存中指令的尋址與數據的尋址是交替進行的
哈佛型計算機中指令尋址和數據尋址是獨立進行的
(1)指令的尋址方式
有順序尋址和跳躍尋址之分
(2)操作數基本尋址方式
形成操作數的有效地址的方式,稱為操作數的尋址方式
有 隱含尋址、立即尋址、直接尋址、間接尋址、寄存器尋址、寄存器間接尋址、偏移尋址(相對尋址(使用PC)、基址尋址、變址尋址)
段尋址方式
:基地址+偏移量
4.5典型指令
- MOV 傳送
- STO 存數 : 由CPU向存儲器傳送字
- LAD 取數 : 由存儲器向CPU傳送字
- EXC 交換 : 源和目標交換內容
- CLA 清零
- SET 置1
- PUS 進棧
- POP 退棧
- ADD、SUB、MUL、DIV、ABS、NEG(變負)、INC(增量,操作數加1)、DEC(減量,操作數減一)
- AND、OR、NOT、EOR(異或)、TES(測試)、COM(比較)、SHI(移位)、ROT(循環移)
- JMP、JMPX(條件轉移)、JMPC(轉子)、RET(返回)