天天看點

計算機組成原理 指令系統一、機器指令二、操作數類型和操作類型三、尋址方式四、RISC 技術

一、機器指令

每一條 機器語言 的指令叫 機器指令

全部機器指令的 集合 叫機器的 指令系統

計算機組成原理 指令系統一、機器指令二、操作數類型和操作類型三、尋址方式四、RISC 技術

指令由 操作碼 和 位址碼 組成,指令字長 與操作碼長度、操作數位址長度、操作數位址個數有關。

計算機組成原理 指令系統一、機器指令二、操作數類型和操作類型三、尋址方式四、RISC 技術
  • 操作碼:指明該指令要完成的操作、對什麼類型的資料進行操作(有的指令系統還在此處說明了操作數的尋址方式),其長度可以固定,也可變化,操作碼位數随位址數減少而增加。
  • 位址碼:指出指令操作數位址、結果位址、下一條指令位址。

注:

  • 操作嗎并非一定如上圖所示,集中在一個區域,可以分散在指令不同字段中。
  • 使用頻率高的指令用短操作碼,使用頻率低的用長操作碼,可縮短編譯時間

(1)四位址指令

格式:

計算機組成原理 指令系統一、機器指令二、操作數類型和操作類型三、尋址方式四、RISC 技術

在執行過程中,訪存 4 次,指令直接尋址範圍太小

由于程式計數器 PC 有計數功能,可自動形成下一條指令位址,故可得三位址指令。

(2)三位址指令

格式:

計算機組成原理 指令系統一、機器指令二、操作數類型和操作類型三、尋址方式四、RISC 技術

在執行過程中,訪存 4 次。

若将中間計算結果放入 CPU 寄存器中(而不放入主存),則可省去結果位址,得到二位址指令。

(3)二位址指令

格式:

計算機組成原理 指令系統一、機器指令二、操作數類型和操作類型三、尋址方式四、RISC 技術

在執行過程中,訪存 3 次。

若将一位操作數直接放于運算器 ACC 中,則得到一位址指令。

(4)一位址指令

格式:

計算機組成原理 指令系統一、機器指令二、操作數類型和操作類型三、尋址方式四、RISC 技術

在執行過程中,訪存 2 次。

(5)零位址指令

無位址碼,如 進棧出棧指令。

二、操作數類型和操作類型

1.操作數類型

  • 位址:無符号整數
  • 數字:定點數、浮點數、十進制數
  • 字元:ASCII
  • 邏輯資料

2.資料存放方式

  • 任意位置開始:浪費存儲空間,訪存時間短
  • 每次從一個字起始位置開始
  • 按“邊界對準”存儲:從位址整數倍位置開始通路。如下圖:
計算機組成原理 指令系統一、機器指令二、操作數類型和操作類型三、尋址方式四、RISC 技術

3.操作類型

  • 資料傳送
  • 算數邏輯運算
  • 移位:分算術移位、邏輯移位、循環移位
  • 轉移
  • 輸入輸出(對于 I/O 單獨編址的計算機,才有輸入輸出指令)
  • 其他:如等待指令、停機指令等

轉移:

分無條件轉移、條件轉移、調用與傳回、陷阱與陷阱指令

  1. 調用與傳回指令通常配合使用
  2. 陷阱指令通常不提供給使用者,作為隐指令,在有意外故障時由 CPU 自動産生并執行。

三、尋址方式

尋址方式指确定本條指令的資料位址,以及下一條指令的位址的方法。

分為:

  • 指令尋址
  • 資料尋址

1.指令尋址

  • 順序尋址:PC 自動加 1 ,形成下一條指令位址(注意,此處 “1”的含義,若指令字長 32 位元組,存儲單元 8 位元組,則此時 PC+4)
  • 跳躍尋址:由轉移指令指出

2.資料尋址

計算機組成原理 指令系統一、機器指令二、操作數類型和操作類型三、尋址方式四、RISC 技術

(1)立即尋址

特點:形式位址 A 不是位址,而是操作數本身,又稱為立即數。

執行階段不必訪存。

(2)直接尋址

特點:形式位址 A 就是有效位址

執行階段隻訪存 1 次,但是必須通過修改 A 的值才可修改操作數位址。

(3)隐含尋址

特點:指令字中補明顯給出操作數位址,位址隐含于操作碼或某個寄存器。

計算機組成原理 指令系統一、機器指令二、操作數類型和操作類型三、尋址方式四、RISC 技術

其中,尋址特征部分為隐含尋址,A 為直接尋址。

有利于縮短指令字長。

(4)間接尋址

計算機組成原理 指令系統一、機器指令二、操作數類型和操作類型三、尋址方式四、RISC 技術

分為一次間址(如上圖)、多次間址(A 所指的還不是最終位址)。

擴大了操作數尋址範圍,利于編址程式,缺點為訪存時間長。

(5)寄存器(直接)尋址

A 為寄存器編号,操作數在 A 所指寄存器中。

執行時無需訪存,執行時間短。

(6)寄存器間接尋址

A 為寄存器編号, A 所指寄存器中存有效位址。

執行階段仍需訪存,便于編寫循環程式。

(7)基址尋址

計算機組成原理 指令系統一、機器指令二、操作數類型和操作類型三、尋址方式四、RISC 技術

采用專門寄存器做基址寄存器,有效位址 EA = 基址寄存器 BR 中位址 + A

計算機組成原理 指令系統一、機器指令二、操作數類型和操作類型三、尋址方式四、RISC 技術

(8)變址尋址

計算機組成原理 指令系統一、機器指令二、操作數類型和操作類型三、尋址方式四、RISC 技術

有效位址 EA = 變址寄存器 IX 中位址 + A

與基址尋址不同:

  • 基址寄存器的内容由作業系統、管理程式确定,A 可變。
  • 變址寄存器内容由使用者确定,A 不可變。,主要用于處理數組問題。

(9)相對尋址

其有效位址為程式計數器 PC 中的位址,與指令字中的形式位址 A 相加而得。

(10)堆棧尋址

堆棧尋址指令字中沒有形式代碼字段,屬于零位址指令。

四、RISC 技術

  • RISC 精簡指令系統計算機
計算機組成原理 指令系統一、機器指令二、操作數類型和操作類型三、尋址方式四、RISC 技術
  • CISC 複雜指令系統計算機
計算機組成原理 指令系統一、機器指令二、操作數類型和操作類型三、尋址方式四、RISC 技術

本文中圖檔除第一張外均為劉宏偉教授在中國大學MOOC上的課件截圖

繼續閱讀