指令系統——計算機組成原理


指令系統

4.1指令系統的發展與性能要求

  1. 指令系統的發展

    計算機的程序是由一系列的機器指令組成

    計算機的指令有微指令機器指令宏指令之分。

    微指令是微程序級的命令,屬於硬件;

    宏指令是由若干機器指令組成的軟件指令,屬於軟件;

    機器指令介於微指令與宏指令之間,通常簡稱為指令

    一台計算機上的所有機器指令的集合成為這台計算機的指令系統

    有CISC和RISC之分,前者是復雜指令系統計算機,后者是精簡指令系統計算機

  2. 指令系統的性能要求

    (1)完備性:指令足夠使用

    (2)有效性:程序占據存儲空間小、執行速度快

    (3)規整性:包括指令系統的對稱性、勻齊性、指令格式和數據格式的一致性

    (4)兼容性:系列機各機種之間具有相同的基本結構和共同的基本指令集

  3. 低級語言與硬件結構的關系:略

4.2指令格式

機器指令是用機器字來表示的。表示一條指令的機器字成為指令字,簡稱指令。

指令格式,是指令字用二進制代碼表示的結構形式,通常由操作碼字段和地址碼字段組成

操作碼字段:OP;

地址碼字段:A

  1. 操作碼

    OP表示該指令應進行什么性質的操作,如加、減、乘、除等。

    一般來說,一個包含n位的操作碼最多能夠表示 2^n 條指令

  2. 地址碼

    根據一條指令中有幾個操作數地址,可將該指令稱為幾操作數指令或幾地址指令

    有零地址指令、一地址指令、二地址指令和三地址指令

    在二地址指令格式中,可以歸結為三種類型:

    (1)訪問內存的指令格式,稱為存儲器-存儲器(SS)型指令,這種操作時都是涉及內存單元

    (2)訪問寄存器的指令格式,稱為寄存器-寄存器(RR)型指令

    (3)寄存器-存儲器(RS)型指令

  3. 指令字長度

    一個指令字中包含二進制代碼的位數,稱為指令字長度。

    機器字長是指計算機能直接處理的二進制數據的位數,決定了計算機的運算精度。機器字長通常與主存單元的位數一致。

    指令字長度等於機器字長度的指令,稱為單字長指令;等於半個機器字長的指令,稱為半字長指令;等於兩個機器字長度的指令,稱為雙字長指令

  4. 指令助記符

    硬件只能識別1和0,操作碼在機器上都有對應的二進制代碼。便於書寫和閱讀,用英文的縮寫代替,縮寫碼叫做指令助記符,如ADD、SUB、MOV、JMP等

例題:

指令格式如下,OP為操作碼,試分析指令格式的特點
|15    9|      |7         4|3          0|
|   OP  |  ——  |  源寄存器  |  目標寄存器  |

解:
(1)單字長的二地址指令
(2)操作碼字段OP可以指定2^7=128條指令
(3)源寄存器和目標寄存器都是通用寄存器,可分別指定16個,RR型指令
(4)常用於算術邏輯運算類指令

指令格式如下,分析指令格式特點
|15     10|        |7         4|3           0|
|   OP    |   ——   |  源寄存器  |  變址寄存器  |
|              位移量(16位)                  |

解:
(1)雙字長二地址指令,用於訪問存儲器
(2)OP為6位,可以指定64種指令
(3)一個操作數在源寄存器中,目標操作數在存儲器中(由變址寄存器和位移量決定),RS型指令

4.3操作數類型

4.4指令和數據的尋址方式

存儲器既可以存放數據,也可以存放指令。

尋址方式分為兩類,指令尋址方式和數據尋址方式。

馮.諾依曼型結構的計算機中,內存中指令的尋址與數據的尋址是交替進行的

哈佛型計算機中指令尋址和數據尋址是獨立進行的

(1)指令的尋址方式

有順序尋址和跳躍尋址之分

(2)操作數基本尋址方式

形成操作數的有效地址的方式,稱為操作數的尋址方式

有 隱含尋址、立即尋址、直接尋址、間接尋址、寄存器尋址、寄存器間接尋址、偏移尋址(相對尋址(使用PC)、基址尋址、變址尋址)

段尋址方式 :基地址+偏移量

4.5典型指令

  • MOV 傳送
  • STO 存數 : 由CPU向存儲器傳送字
  • LAD 取數 : 由存儲器向CPU傳送字
  • EXC 交換 : 源和目標交換內容
  • CLA 清零
  • SET 置1
  • PUS 進棧
  • POP 退棧
  • ADD、SUB、MUL、DIV、ABS、NEG(變負)、INC(增量,操作數加1)、DEC(減量,操作數減一)
  • AND、OR、NOT、EOR(異或)、TES(測試)、COM(比較)、SHI(移位)、ROT(循環移)
  • JMP、JMPX(條件轉移)、JMPC(轉子)、RET(返回)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM