1. 程式人生 > 其它 >計算機組成原理-指令系統(概括)

計算機組成原理-指令系統(概括)

指令

操作碼  地址碼

零地址指令:不需要運算元,如空操作、停機、關中斷等指令。

一地址指令:加一減一、取反、求補

二地址指令:兩個運算元的邏輯算數運算

三地址指令:多了個需要存的位置

四地址指令:相比於3,結束後PC修改為下一條指令地址

指令字長:一條指令的總長度(可能會變)/會影響取指令所需的時間

機器字長:CPU進行一次整數運算所能處理的二進位制資料的位數(通常和ALU直接相關)

儲存字長:一個儲存單元中的二進位制程式碼位數(通常和MDR位數相同)

按操作碼長度分類:定長操作碼    可變長操作碼

按操作型別:資料傳送   算術邏輯運算   移位操作  轉移操作  輸入輸出操作

擴充套件操作碼:

定長指令字結構+可變長操作碼

指令定址:

跳躍定址:JMP無條件轉移等直接改變PC的值

資料定址:確定本條指令的地址碼指明的真實地址

直接定址:直接給運算元地址

間接定址:指令的地址欄位給出的形式地址不是運算元的真正地址,而是運算元有效地址

所在的儲存單元的地址,也就是運算元地址的地址,即EA=(A)。

(範圍更大)

暫存器定址:在指令字中直接給出運算元所在的暫存器編號,即EA=R,其運算元在由R,所

指的暫存器內。

優點:

指令在執行階段不訪問主存,只訪問暫存器,指令字短且執行速度快,支援向量/矩陣運算。

缺點:

暫存器價格昂貴,計算機中暫存器個數有限。

暫存器間接定址:暫存器R,中給出的不是一個運算元,而是運算元所在主存單元的地址,

即EA=(R)。

隱含定址

立即定址:形式地址A就是運算元本身,又稱為立即數,一般採用補碼形式。

#表示立即定址特徵。(最快)

偏移定址

 

基址定址:將CPU中基址暫存器(BR)的內容加上指令格式中的形式地址A,

而形成運算元的有效地址,即EA=(BR)+A。

(從任意起始地址+偏移量)

變址定址:有效地址EA等於指令字中的形式地址A與變址暫存器X的內容相加之和,即EA= (IX)+A,其中IX可為變址暫存器(專用),也可用通用暫存器作為變址暫存器。

(寫迴圈)

相對定址:把程式計數器PC的內容加上指令格式中的形式地址A而形成運算元的有效地址,

即EA=(PC)+A,其中A是相對於PC所指地址的位移量,可正可負,補碼錶示。

堆疊定址:運算元存放在堆疊中,隱含使用堆疊指標(SP)作為運算元地址。

CISC和RISC