相關概念
- 指令:又稱爲機器指令,計算機執行某種操作的命令。是計算機運行的最小功能單位。
- 指令系統:一臺計算機所有的指令集合。
- 指令字長:一條指令的二進制位數。因爲主存一般是按字節編址的,所以指令字長一般是字節的整數倍。
- 單字長指令:指令字長等於機器字長;對應有半字長指令、雙字長指令。
- 定長指令字結構:在一個指令系統中,所有的指令長度是相等的。對應的是變長指令字結構。
指令的基本格式
- 操作碼字段:指出指令應執行什麼操作
- 地址碼字段:給出被操作信息(指令或數據)的地址
指令的分類(根據根據指令中操作數地址碼數目的不同)
零地址指令
有兩種可能:
- 不需要操作數的指令。空操作、停機指令、關中斷指令等。
- 堆棧類計算機內的運算。棧頂和次棧頂取出並送至運算器運算,運算結果再壓回棧頂。
一地址指令
有兩種可能
- 只有目的操作數的單操作數指令。按A1地址取操作數,進行OP操作後,結果存回原地址
a. 指令含義:OP(A1)→A1。如加1、減1、求反、求補等 - 隱含約定目的地址的雙操作數指令。按A1地址取出源操作數,指令可隱含約定另一個操作數由累加寄存器ACC提供,運算結果也存放到ACC中
a. 指令含義:(ACC)OP(A1)→ACC
b. 若指令字長爲32位,操作碼字段佔8位,地址碼字段佔24位,則指令操作數的直接尋址範圍是224=16M
二指令地址
- 常用的算數和邏輯運算。分別給出目的操作數 和 源操作數的地址,其中目的操作數地址還用於保存本次運算的結果
- 指令含義:(A1)OP(A2)→A1
- 若指令字長爲32位,操作碼佔8位,兩個操作數地址碼各佔12位,則指令操作數可尋址的範圍是212=4K
三指令地址
- 指令含義:(A1)OP(A2)→A3
- 若每個地址均爲主存地址,且指令字長等於機器字長,則完成一條三指令地址需要4次訪存(取指令1次、取操作數2次、存放結果1次)
四指令地址
- 指令含義:(A1)OP(A2)→A3,A4=下一條指令的地址
定長操作碼指令格式
- 概念:在指令字高位分配固定位數表示操作碼。n位操作碼可以表示2n條指令。
- 優點:簡化計算機硬件設計,提高指令譯碼和識別速度。
擴展操作碼
- 如以下格式:
- 通常情況下,對執行頻率較高的指令,分配短的操作碼;執行頻率較低的指令,分配長的操作碼。以減少指令分析及譯碼時間。
- 還有其他多種擴展方法:【例題】設指令字長16位,試設計一套指令系統滿足:a. 有15條三地址指令;b. 有12條二地址指令;c. 有62條一地址指令;d. 有32條零地址指令。