MIPS架構
Clash Royale CLAN TAG#URR8PPP
本條目需要擴充。 (2011年11月17日) |
body.skin-minerva .mw-parser-output table.infobox captiontext-align:center
推出年份 | 1981年(1981) |
---|---|
設計公司 | MIPS科技公司→Imagination Technologies |
體系結構類型 | 暫存器-暫存器 |
字長/暫存器資料寬度 | 32位元、64位元 |
位元組序 | 可配置大小端序 |
指令編碼長度 | 固定長度 |
指令集架構設計策略 | 精簡指令集(RISC) |
擴展指令集 | MDMX、MIPS-3D |
分支預測結構 | 比較和分支 |
通用暫存器 | 31個+1個固定為0的暫存器R0 |
浮點寄存器 | 32個(有一對32位元暫存器組成的雙精度浮點數暫存器) |
MIPS架構(英语:MIPS architecture,為Microprocessor without Interlocked Pipeline Stages的縮寫,亦為Millions of Instructions Per Second的頭字語),是一種採取精簡指令集(RISC)的處理器架構,1981年出現,由MIPS科技公司開發並授權,廣泛被使用在許多電子產品、網路設備、個人娛樂裝置與商業裝置上。最早的MIPS架構是32位元,最新的版本已經變成64位元。
目录
1 發展歷史
2 MIPS操作数
3 MIPS指令格式
4 相關條目
5 参考文献
6 外部連結
發展歷史
在1981年,斯坦福大学教授約翰·軒尼詩領導他的團隊,實作出第一個MIPS架構的處理器。他們原始的概令是透過指令管線化來增加CPU運算的速度。
1984年,約翰·軒尼詩教授離開斯坦福大学,創立MIPS科技公司。於1985年,設計出R2000晶片,1988年,將其改進為R3000晶片。
MIPS操作数
MIPS包括32个寄存器和2^30个存储器字,详见下表[1]:
名字 | 举例 | 注释 |
---|---|---|
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) |
相關條目
- 龍芯
参考文献
^ David A, Patterson. 计算机组成与设计:硬件、软件接口(原书第4版). 机械工业出版社.
^ MIPS R3000 Instruction Set Summary
^ MIPS Instruction Reference
外部連結
- MIPS 架構
- 計算機組織:MIPS 指令集 (一) 暫存器說明
|
|