本頁使用了標題或全文手工轉換

MIPS架構

維基百科,自由的百科全書
前往: 導覽搜尋
MIPS
推出年份 1981年,​36年前​(1981
設計公司 MIPS科技公司Imagination Technologies
體系結構類型 暫存器-暫存器
字長/暫存器資料寬度 32位元64位元
位元組序 可配置大小端序
指令編碼長度 固定長度
指令集架構設計策略 精簡指令集(RISC)
擴展指令集 MDMXMIPS-3D
分支預測結構 比較和分支
通用暫存器 31個+1個固定為0的暫存器R0
浮點寄存器 32個(有一對32位元暫存器組成的雙精度浮點數暫存器)
流水線式 MIPS,展示了五個階段(指令取得、指令解碼、執行、內存訪問和寫回)。

MIPS架構英語:MIPS architecture,為Microprocessor without Interlocked Pipeline Stages的縮寫,亦為Millions of Instructions Per Second的頭字語),是一種採取精簡指令集(RISC)的處理器架構,1981年出現,由MIPS科技公司開發並授權,廣泛被使用在許多電子產品、網路設備、個人娛樂裝置與商業裝置上。最早的MIPS架構是32位元,最新的版本已經變成64位元。

發展歷史[編輯]

在1981年,史丹佛大學教授約翰·軒尼詩領導他的團隊,實作出第一個MIPS架構的處理器。他們原始的概令是透過指令管線化來增加CPU運算的速度。

1984年,約翰·軒尼詩教授離開史丹福大學,創立MIPS科技公司。於1985年,設計出R2000晶片,1988年,將其改進為R3000晶片。

MIPS操作數[編輯]

MIPS包括32個寄存器和2^30個存儲器字,詳見下表[1]

MIPS操作數
名字 舉例 注釋
32個寄存器 $s0 ~ $s7,$t0 ~ $t9,$zero,$a0 ~ $a3,$v0 ~ $v1,$gp,$fp,$sp,$ra,$at 寄存器用於數據的快速存取。在MIPS中,只能對存放在寄存器中的數執行算術操作,寄存器$zero恆為0,寄存器$at被匯編器保留,用於處理大的常數。
2^30個存儲字 Memory[0],Memory[4],...,Memory[4294967292] 存儲器只能通過數據傳輸指令訪問。MIPS使用字節編址,所以連續的字地址相差4。存儲器用於保存數據結構、數組和溢出的寄存器

MIPS指令格式[編輯]

在MIPS架構中,指令被分為三種類型:R型、I型和J型。三種類型的指令的最高6位均為6位的opcode碼。從25位往下,

  • R型指令用連續三個5位二進制碼來表示三個寄存器的地址,然後用一個5位二進制碼來表示移位的位數(如果未使用移位操作,則全為0),最後為6位的function碼(它與opcode碼共同決定R型指令的具體操作方式);
  • I型指令則用連續兩個5位二進制碼來表示兩個寄存器的地址,然後是一個16位二進制碼來表示的一個立即數二進制碼;
  • J型指令用26位二進制碼來表示跳轉目標的指令地址(實際的指令地址應為32位,其中最低兩位為00,高四位由PC當前地址決定)。[2][3]

三種類型的指令圖示如下:

類型 -31-                                 格式(位)                                 -0-
R opcode (6) rs (5) rt (5) rd (5) shamt (5) funct (6)
I opcode (6) rs (5) rt (5) immediate (16)
J opcode (6) address (26)

相關條目[編輯]

參考文獻[編輯]

  1. ^ David A, Patterson. 計算機組成與設計:硬件、軟件接口(原書第4版). 機械工業出版社. 
  2. ^ MIPS R3000 Instruction Set Summary
  3. ^ MIPS Instruction Reference

外部連結[編輯]