機器指令系統的分類、常見的定址方式、指令格式、設計指令系統時應考慮的各種因素。
人們習慣把每一條機器語言的語句稱為機器指令,將全部機器指令的集合稱為機器的指令系統。
機器的指令系統集中反應了機器的功能。
指令的一般格式
指令由操作碼和位址碼組成
操作碼其位數反應了機器的操作種類,機器允許的指令條數
通常採用擴充套件操作碼技術,使操作碼的長度隨位址數的減少而增加,不同的位址數指令可以具有不同長度的操作碼,從而滿足需要的前提下,有效縮短指令字長。
位址碼這裡的「位址」可以是主存的位址,也可以是暫存器的位址,甚至可以使i/o裝置的位址。
四位址指令
三位址指令
可以完成(a1)op(a2)->a3的操作,後續指令的位址隱含在程式計數器pc之中。
二位址指令
可以完成(a1)op(a2)->a1的操作,即a1欄位既代表源運算元的位址,又代表了本次運算結果的位址。直接定址範圍為2的12次方=4k。
一位址指令
可以完成(acc)op(a1)->acc的操作,acc既存放參與運算的運算元,又存放運算的中間結果。指令字長為32位,操作碼位數為8位,直接定址範圍為2的24次方=16m。
零位址指令
零位址指令在指令字中無位址碼,例如空操作(nop),停機(hlt)這類指令沒有位址碼。
而子程式返回(ret)、中斷返回(iret)這類指令沒有位址碼,其運算元的位址隱含在堆疊指標sp中。
位址字段表示暫存器時,也有三位址、二位址、一位址之分,在指令的執行階段都不必訪問儲存器,直接訪問暫存器,使機器執行速度得到提高(因為暫存器型別的紫菱只需在取指階段訪問一次儲存器)。
指令字長
指令字長取決於操作碼的長度、運算元位址的長度和運算元位址的個數。
早期的計算機指令字長是固定的,隨著計算機的發展,一台機器的指令系統可以採用位數不相同的指令,多次訪問儲存器,使cpu速度下降,常用的指令設計成單子長或短字長。
運算元型別
數字:定點數、浮點數和十進位制數
字元:普遍採用ascii碼
邏輯資料
資料在儲存器中的存放方式
存放在儲存器或暫存器中,暫存器的位數便可反應機器字長。
儲存器儲存字長如果為32位,可按位元組、半字、字、雙字訪問。
操作型別
資料傳送、算術邏輯操作、移位、轉移(無條件轉移、條件轉移、呼叫與返回、陷阱trap與陷阱指令)、輸入輸出、其他(等待指令、停機指令、空操作指令、開中斷指令、關中斷指令、置條件碼等指令)。
定址方式
定址方式分為指令定址和資料定址
指令定址分為順序定址和跳躍定址兩種。
資料定址
指令的位址碼字段通常都代表運算元的真實位址,把它稱為形式位址,記作a;
運算元的真實位址稱為有效位址,記作ea。
1、立即定址
立即定址的特點是運算元本身設在指令字內,即形式位址a不是運算元的位址,而是運算元的本身,又稱為立即數。
2、直接定址
直接定址的特點是,指令字中的形式位址a就是運算元的真實位址。
ea = a
3、隱含位址
隱含位址是指指令字中不明顯的給出運算元的位址,其運算元的位址隱含在操作碼或暫存器中
ea = a + (acc)
4、間接定址
倘若指令字中的形式位址不直接指出運算元的位址,而是指出運算元有效位址所在的儲存單元
ea = (a)
5、暫存器定址
在暫存器定址的指令中,位址碼字段直接指出了暫存器的編號
ea = r
6、暫存器間接定址
ri中的內容不是運算元,而是運算元所在的主存單元的位址號,即ea = (ri)。
7、基址定址
基址暫存器br
ea = a + (br)
8、變址定址
變址暫存器ix
ea = a + (ix)
9、相對定址
ea = (pc)+ a
相對定址也可與間接定址配合使用
risc技術
risc即精簡指令系統計算機,與其對應的是cisc,即複雜指令系統計算機。
能否用最常用的20%的簡單指令,重新組合不常用的80%的指令功能呢?這便引發出risc技術。
risc主要特徵
執行程式所需的時間p
p = i * c * t
i是高階語言編譯後在機器上執行的機器指令數;
c為執行每條機器指令所需的平均機器週期;
t是每個機器週期的執行時間。
risc和cisc的比較
1、充分利用vlsl晶元的面積
2、提高計算機運算速度
3、便於設計,可降低成本,提高可靠性
4、有效支援高階語言程式
計算機組成原理 指令系統
本章首先說明指令系統的發展與效能要求,然後介紹指令的一般格式。之後重點講述定址方式,指令的分類和功能,並給出幾個指令系統例項。計算機的程式是由一系列的機器指令組成的。指令就是要計算機執行某種操作的命令。一台計算機中所有機器指令的集合,稱為這台計算機的指令系統。複雜指令系統計算機簡稱cisc comp...
計算機組成 指令系統
指令是要計算機執行某種操作的命令。從層次結構來說,可以分為 為微指令,機器指令,巨集指令。微指令 微程式的命令,它屬於硬體 巨集指令 由若干條機器指令組成的軟體指令,它屬於軟體 機器指令 用機器字表示,簡稱指令。指令系統 一台計算機的所有機器指令的集合,稱為這台計算機的指令系統。用組合語言編寫各種程...
計算機組成原理之指令系統
第六章 指令系統 1.指令系統概述 指令字 指令字長 機器字長 2.指令格式 操作碼字段 op 位址碼字段 a 操作碼 用來指明該指令所要完成的操作。若操作碼有n位二進位制數,最多可表達2的n次方條指令op a1a2 a3 2 二位址指令 opa1 a2 3 一位址指令 opa1 4 零位址指令 o...