天天看點

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

  • ​​指令系統​​
  • ​​1.相關概念(了解)​​
  • ​​2.指令格式​​
  • ​​2.1操作碼​​
  • ​​2.2位址碼​​
  • ​​2.3指令字長​​
  • ​​2.4擴充操作碼技術​​
  • ​​2.5指令格式例題​​
  • ​​3.尋址方式​​
  • ​​3.1指令尋址​​
  • ​​3.2資料尋址​​
  • ​​3.2.1立即尋址​​
  • ​​3.2.2直接尋址​​
  • ​​3.2.3間接尋址​​
  • ​​3.2.4寄存器尋址​​
  • ​​3.2.5寄存器間接尋址​​
  • ​​3.2.6隐含尋址​​
  • ​​3.2.7偏移類尋址方式​​

指令系統

1.相關概念(了解)

指令:計算機進行某種操作(控制或運算)的指令,以二進制代碼的形式存放

從計算機組成的層次來看,有不同的指令概念

  • 微指令:微程式級的指令,屬于硬體
  • 宏指令:若幹條機器指令組成的指令,屬于軟體
  • 機器指令:通常所說的指令,可以控制計算機執行某種操作

    接下來看看指令系統的概念

  • 指令系統:也叫指令集,是計算機能直接執行的全部指令的集合
  • 影響計算機系統的重要性能因素
  • 所包含的指令類型,數量,格式,功能,尋址方式等
  • 直接影響計算機的基本硬體結構以及系統軟體設計
  • 可以看成是計算機硬體的語言系統,是不同CPU的主要差别所在
  • 分類:CLSC和RISC
  • 計算機組成原理--指令系統

2.指令格式

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

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

2.1操作碼

計算機組成原理--指令系統
  • 設計計算機的時候,對指令系統的每一條指令都要規定一個操作碼。
  • 指令的操作碼表示指令應該進行什麼性質的操作,比如加法,減法等。
  • 不同操作用不同編碼表示
  • 一般,一個包含n位的操作碼最多能表示2^n條指令
  • 計算機組成原理--指令系統

2.2位址碼

一條指令有幾個操作數位址,就把這個指令稱為幾操作數指令或幾位址指令

位址碼用來描述該指令的操作對象及其所在位置

三位址指令

計算機組成原理--指令系統
  • 有三個操作數位址A1,A2,A3
  • A1為被操作數位址,也稱為源操作數位址(源操作數指的是内容不随指令的執行而發生變化)
  • A2為操作數位址,也稱為終點操作數位址
  • A3為存放操作結果的位址

二位址指令

計算機組成原理--指令系統
  • 有兩個位址碼字段A1,A2
  • 分别指明參與操作的兩個數在記憶體中或運算器中通用寄存器的位址
  • 位址A1兼作存放操作結果的位址

一位址指令

計算機組成原理--指令系統
  • 一位址指令隻有一個位址碼,它指定一個操作數,另一個操作數是隐含的
  • 位址碼字段A指明的是操作數的位址

零位址指令

計算機組成原理--指令系統
  • 零位址指令的指令字隻有操作碼,沒有位址碼
  • 比如停機指令不需要位址碼,因為停機操作不需要操作數
  • 操作數是指令要執行的資料來源,操作碼指明進行什麼性質的操作,比如加減乘除等,加法操作需要操作數,畢竟沒有數我們做什麼加法操作,操作數就是具體執行操作的對象
    計算機組成原理--指令系統

2.3指令字長

  • 指令字長指的是表示指令的二進制編碼的位數
  • 字長必須是位元組的整數倍
  • 根據指令字長和機器字長(機器字長指的是計算機直接處理的二進制資料的位數)的關系分成:
  • 單字長指令:指令字長等于機器字長
  • 半字長指令:指令字長等于半個機器字長
  • 雙字長指令:指令字長等于兩個機器字長

2.4擴充操作碼技術

操作碼的位數随着位址數的減少而增加

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

2.5指令格式例題

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

3.尋址方式

計算機組成原理--指令系統
  • 存儲器可以用來存資料,也可以用來存指令。當某一個操作數或指令存在某個存儲單元的時候,它的存儲單元編号就是這個操作數或指令在存儲器中的位址
  • 尋址方式是産生操作數有效位址(有效位址指的是操作數存放的那個直接的位址)的方式,用來确定種類所用資料及下一條要執行指令的存放位址
  • 不是直接表示操作數存放位址的叫形式位址
  • 尋址方式指确定本條指令的操作數位址或下一條要執行指令的指令位址
    計算機組成原理--指令系統

3.1指令尋址

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

指令的位址儲存在PC中

指令尋址分成順序尋址和跳躍尋址

  • 順序尋址:
  • 程式計數器PC加目前指令位元組數n,自動形成下一條指令的位址
  • (PC)+1------>PC
  • 跳躍尋址:
  • 由目前指令(轉移類指令)的位址碼域給出下一條指令的位址
  • 計算機組成原理--指令系統
    (PC)表示的是裡面的内容

3.2資料尋址

确定本條指令的操作數位址

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

3.2.1立即尋址

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

3.2.2直接尋址

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

3.2.3間接尋址

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

3.2.4寄存器尋址

寄存器的數量有限,是以RI字段不需要特别長

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

3.2.5寄存器間接尋址

計算機組成原理--指令系統
  • 特點
  • 比一般間接尋址速度更快,但指令的執行階段需要通路主存,因為操作數在主存中

3.2.6隐含尋址

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

把A指向的操作數和存放在ACC的操作數進行加法操作并把結果存回ACC

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

3.2.7偏移類尋址方式

偏移類尋址方式是通過位址計算來獲得操作數的有效位址,都是一個寄存器内容加上一個形式位址

常見的三種偏移尋址是相對尋址,變址尋址,基址尋址

計算機組成原理--指令系統
  • 變址尋址:形式位址A為基準位址,變址寄存器内容為偏移量
    計算機組成原理--指令系統
  • 基址尋址:基址寄存器内容為基準位址,形式位址A為偏移量
  • 計算機組成原理--指令系統
  • 把基址寄存器中的位址取出來,把指令字的形式位址A取出來,二者通過ALU相加,就得到了有效位址
  • 程式執行過程中,基準位址不可以改動,形式位址可以變化
  • 相對尋址
  • 計算機組成原理--指令系統
  • PC作為基準位址去找資料
計算機組成原理--指令系統
計算機組成原理--指令系統

程式的局部性原理:

程式執行過程總是趨向于最近使用過的資料和指令,程式執行的時候使用的資訊和通路的存儲器位址分步不是随機的,而是相對集中

集中包括時間和空間兩個方面

程式的時間局部性:

程式的某條指令或資料執行,在一段時間間隔還可能執行,比如for循環求和,sum就是這次執行,下一次還要執行

程式的空間局部性

程式一旦通路某個存儲單元,相鄰單元也可能被通路,比如說數組和連結清單

繼續閱讀