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

1、指令系統概述

  計算機的程序時由一系列的機器指令組成的。
  指令就是要計算機執行某種操作的命令。從計算機組成層次上看,計算機的指令有微指令、機器指令和宏指令之分。微指令就是微程序級的命令,它屬於硬件;宏指令是由若干條機器指令組成的軟件指令,它屬於軟件指令;而機器指令介於宏指令和微指令之間,通常簡稱指令,每一條指令可完成一個獨立的算數運算或邏輯運算操作。
  一臺計算機中所有機器指令的集合,稱爲該計算機的指令系統。
  一個完善的指令系統應該滿足如下四方面要求:完備性、有效性、規整性、兼容性。

2、指令格式

  機器指令使用機器字來表示的。表示一條指令的機器字就稱爲指令字,通常簡稱指令。
  指令格式,則是指令字用二進制代碼表示的結構形式,通常由操作碼字段和地址字段組成。操作碼字段表徵指令的操作特性與功能,而地址碼字段通常指定參與操作的操作數的地址。

2.1 操作碼

  操作碼有以下性質:
  (1)設計計算機時,對指令系統的每一條指令都要規定一個操作碼,且不同指令對應的操作碼不同。
  (2)指令的操作碼OP表示該指令應該進行什麼性質的操作,如加減乘除、存取數等。
  (3)組成操作碼字段的位數一般取決於計算機指令的規模。
  (4)指令字的操作碼字段和地址字段段長通常是固定的(對於單片機不固定)。

2.2 操作碼

  地址碼按地址數有以下分類:
  (1)零地址指令的指令字只有操作碼,而沒有地址碼。例如停機指令就不需要地址碼,因爲停機不需要操作數。
  (2)一地址指令只有一個地址碼,它指定一個操作數,另一個操作數地址是隱含。如累加器。
  (3)二地址指令常稱爲雙操作數指令,它有兩個地址碼字段A1和A2。分別指明參與操作的兩個數在內存中或運算器中通用寄存器的地址,其中A1兼做存放操作結果的地址。
  (4)三地址指令字中有三個操作數地址A1、A2、A3。其中A1爲被操作數地址,也稱源操作數地址;A2爲操作數地址,也稱終點操作數地址;A3爲存放操作結果的地址。

  地址碼按操作數的物理位置有以下分類:
  (1)寄存器-寄存器(SS)型指令。
  (2)寄存器-寄存器(RR)型指令。
  (3)寄存器-存儲器(RS)型指令。
  其中訪問內存的速度比訪問寄存器的速度慢,在複雜指令計算機CISC中一般採用多種格式混合使用。

2.3 指令字長度

  一個指令字中包含二進制代碼的位數稱爲指令字長。而機器字長是指計算機能夠直接處理的二進制數據的位數,它決定了計算機的運算精度。機器字長通常與主存單元的位數一致。指令字長度等於機器字長度的指令,稱爲單字長指令;指令字長度等於半個機器字長度的指令稱爲半字長指令;指令字長度等於兩個機器字長度的指令稱爲雙字長指令。
  在一個指令系統中,如果各種指令字長度是相等的稱爲等長指令字結構。如果各種指令字長度隨功能而異就成爲變長指令字結構。

2.4 指令助記符

  爲了書寫和閱讀程序,每條指令通常用特定的縮寫碼錶示,稱爲指令助記符。不同計算機的指令助記符的規定是不一樣的。

2.5 操作數類型

  一般的數據類型。機器指令對數據進行操作,數據通常分爲以下四類:
  地址數據 地址實際上也是一種形式的有效地址。多數情況下,對指令中操作數的引用必須完成某種計算,才能確定它們在主存中的有效地址。此時,將地址看作是無符號整數。
  數值數據 計算機中普遍使用的三種類型的數值數據是:①定點整數或定點小數;②浮點數;③壓縮十進制數。一個字節用2位BCD碼錶示。
  字符數據 也稱文本數據或字符串,目前廣泛使用ASII碼。
  邏輯數據 一個單元中有若干二進制位項組成,每個位的值可以是1或0。當數據以這種方式看待時,稱爲邏輯性數據,它創造了對某個具體位進行布爾邏輯運算的機會。

  其它還有Pentium數據類型和Power PC數據類型。感覺沒什麼用就不瞭解了。

2.6 指令和數據的尋址方式

  存儲器既可用來存放數據,又可用來存放指令。因此,當某個操作數或某條指令存放在某個存儲單元時,其存儲單元的編號,就是該操作數或指令在存儲器中的地址。在存儲器中,操作數或指令字寫入或讀出的方式,有地址指定方式,相關聯存儲方式和堆棧存儲方式。幾乎所有計算機在內存中都採用地址指定方式。當採用地址指定方式時,形成操作數或指令地址的方式,稱爲尋址方式。尋址方式分爲兩類,即指令尋址方式和數據尋址方式,前者比較簡單,後者比較複雜。值得注意的是,在馮·諾伊曼型結構的計算機中,內存中指令的尋址與數據的尋址是交替進行的,而哈佛型計算機中指令尋址方式和數據尋址是獨立進行的。
  指令的尋址方式:順序尋址方式,跳躍尋址方式。
  順序尋址方式:指令地址在內存中按順序安排,使用程序計數器(又稱指令指針寄存器)PC來計數指令的順序號,該順序號就是指令在內存中的地址。
  跳躍尋址方式:下條指令的地址碼不是由程序計數器給出,而是由本條指令給出的。注意程序跳躍後,按新的指令地址開始順序執行。因此指令計數器的內容也必須相應的改變,以便及時跟蹤新的指令地址。

  操作數的尋址方式,形成操作數有效地址的方法稱爲操作數的尋址方式,有以下方式:
  1、隱含尋址
  2、立即尋址
  3、直接尋址
  4、間接尋址
  5、寄存器尋址
  6、寄存器間接尋址
  7、偏移尋址。(相對尋址、基址尋址、變址尋址)
  8、段尋址
  9、堆棧尋址

2.7 典型指令

  一個較完善的指令系統,應當有數據處理、數據存儲、數據傳送、程序控制四大類指令。具體有:數據傳送指令、算術運算指令、邏輯運算指令、程序控制類指令、輸入輸出類指令、字符串類指令、系統控制類指令。
  精簡指令系統:RISC指令系統的最大特點是:①選取使用頻率最高的一些簡單指令。指令條數少;
②指令長度固定,指令格式種類少,尋址方式種類少;③只有取數/存數指令訪問存儲器(其餘指令都在寄存器之間進行)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章