第四章 指令系統
阿新 • • 發佈:2018-08-12
地址 text 尋址方式 通用 減少 順序 多道程序設計 另一個 超流水線
總覽
- 指令格式
- 指令的基本格式
- 定長操作碼指令格式
- 不定長操作指令格式
- 指令的尋址方式
- 數據尋址和指令尋址
- 常見尋址方式
- CISC和RISC的基本概念
- 指令格式
- 指令的基本格式
操作碼 | 地址碼 |
- 零地址指令
- 沒有操作數的指令。如操作指令、停機指令、關中斷指令
- 堆棧計算機中的零地址運算類指令。堆棧計算機中參與運算的兩個操作數隱含的從棧頂和次棧彈出,送到運算器進行運算,運算的結構再隱含地壓入堆棧中。
- 一地址指令
- 只有目的操作數的單操作數指令,OP(A1) à A1
- 隱含約定目的地址的雙操作數指令,另一個操作數由累加器ACC提供,運算結果也在ACC中,(ACC) OP (A1) à ACC
- 二地址指令
- (A1) OP (A2) à A2
二地址指令類型 | 操作數的物理位置 | 速度 |
M-M | 主存 | 最慢 |
R-R | 寄存器 | 最快 |
R-M | 寄存器-主存 | 介於兩者之間 |
- 三地址指令
- (A1) OP (A2) à A3
- 四地址指令
- (A1) OP (A2) à A3, A4為下一條指令地址
- 指令字長與機器字長
- 指令字長指一條指令所占用存儲空間的大小,一般為字節的整數倍;指令字長取決於操作碼的長度、操作地址的長度以及操作數地址的個數。
- 機器字長是CPU一次能處理的數據長度,通常等於內部寄存器的位數。
- 定長操作碼指令格式
在指令字的最高位部分分配固定的若幹位表示操作碼。對於具有n位操作碼字段的指令系統,最多能夠表示2^n條指令。
- 不定長操作碼指令格式
- 不允許較短的操作碼是較長操作碼的前綴
- 各條指令的操作碼一定不可以重復
- 用高位的剩余空間擴充低位的表示範圍,以節省空間
- 指令的尋址方式
- 數據尋址和指令尋址
- 指令尋址:找到下一條將要執行指令的地址;一般來說有兩種方式:順序執行時,用(PC)+"1"來得到下一條指令的地址:跳轉執行時,通過轉移指令的尋址方式,計算出目標地址,送到PC中即可。目標轉移地址的形成方式主要有3種:立即尋址、相對尋址和簡介尋址。
- 數據尋址:找到當前正在執行指令的數據地址
- 數據尋址和指令尋址
操作碼 | 尋址特征 | 形式地址(A) |
- 常見數據尋址方式
尋址方式 | 有效地址計算方式 | 用途和特點 |
立即尋址 | 通常用於給寄存器賦初值 | |
直接尋址 | EA=A | |
隱含尋址 | 縮短指令字長 | |
一次間接尋址 | EA=(A) | 擴大尋址範圍,易於完成子程序返回 |
寄存器尋址 | EA=Ri | 指令字較短;指令執行速度較快 |
寄存器間接尋址 | EA=(Ri) | 擴大尋址範圍 |
基址尋址 | EA=A+(BR) | 擴大操作數尋址範圍;適用於多道程序設計,常用於為程序或數據分配存儲空間 |
變址尋址 | EA=A+(IX) | 主要用於處理數組問題 |
相對尋址 | EA=A+(PC) | 用於轉移指令和程序浮動 |
先間址再變址 | EA=(A)+(IX) | |
先變址再間址 | EA=(A+(IX)) |
- CISC和RISC的基本概念
- RISC的主要特點
- 指令長度固定,指令格式種類少,尋址方式種類少
- 只有取/存數指令訪問存儲器,其余指令的操作都在寄存器內完成
- CPU中有多個通用寄存器
- 采用流水線技術,大部分指令在一個時鐘周期內完成。采用超標量和超流水線技術,可使每條指令的平均執行時間小於一個時鐘周期。
- 控制器采用組合邏輯控制,不采用微程序控制
- 采用優化的編譯程序
- CISC的主要特點
- 指令系統復雜龐大,指令數目一般多大200-300條
- 指令長度不固定,指令格式種類多,尋址方式種類多
- 可以訪存的指令不收限制
- 由於80%的程序使用其20%的指令,因此CISC各指令的使用頻率差距太大。
- 各種指令執行時間相差很大,大多數指令需多個時鐘周期才能完成。
- 控制器大多數采用微程序控制。
- 難以用優化編譯生成高效的目標代碼程序。
- RISC和CISC的比較
- RISC比CISC更能提高計算機的運算速度,列入,由於RISC寄存器多,因此就可以減少訪存次數,其次,由於指令數和尋址方式少,因此指令譯碼較快。
- RISC比CISC更便於設計,可降低成本,提高可靠性。
- RISC能有效支持高級語言程序。
- RISC的主要特點
第四章 指令系統