計算機組成原理 指令系統

2021-09-29 14:25:48 字數 2317 閱讀 6208

機器指令系統的分類、常見的定址方式、指令格式、設計指令系統時應考慮的各種因素。

人們習慣把每一條機器語言的語句稱為機器指令,將全部機器指令的集合稱為機器的指令系統。

機器的指令系統集中反應了機器的功能。

指令的一般格式

指令由操作碼和位址碼組成

操作碼其位數反應了機器的操作種類,機器允許的指令條數

通常採用擴充套件操作碼技術,使操作碼的長度隨位址數的減少而增加,不同的位址數指令可以具有不同長度的操作碼,從而滿足需要的前提下,有效縮短指令字長。

位址碼這裡的「位址」可以是主存的位址,也可以是暫存器的位址,甚至可以使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...