MIPS架構(gòu)與指令簡(jiǎn)介
1 什么是MIPS?
MIPS是世界上很流行的一種RISC處理器。MIPS的意思是“無(wú)內(nèi)部互鎖流水級(jí)的微處理器”(Microprocessor without interlocked pipelined stages),其機(jī)制是盡量利用軟件辦法避免流水線中的數(shù)據(jù)相關(guān)問(wèn)題。它最早是在80年代初期由斯坦福(Stanford)大學(xué)Hennessy教授領(lǐng)導(dǎo)的研究小組研制出來(lái)的。MIPS公司的R系列就是在此基礎(chǔ)上開(kāi)發(fā)的RISC工業(yè)產(chǎn)品的微處理器。這些系列產(chǎn)品為很多計(jì)算機(jī)公司采用構(gòu)成各種工作站和計(jì)算機(jī)系統(tǒng)。MIPS是出現(xiàn)最早的商業(yè)RISC架構(gòu)芯片之一,新的架構(gòu)集成了所有原來(lái)MIPS指令集,并增加了許多更強(qiáng)大的功能。
組成MIPS架構(gòu)的主要部件有
• program counter (PC) –程序計(jì)數(shù)器
• instruction register (IR)-指令寄存器
• register file-寄存器堆
• arithmetic and logic unit (ALU) -算數(shù)邏輯單元
• memory-內(nèi)存
(1)PC(Program counter-程序計(jì)數(shù)器)
PC是一個(gè)寄存器,存放著下一條將要取出指令的地址,也稱(chēng)作指令指針。
(2)Memory
Memory分為兩部分,一部分是Instruction memory,為了存儲(chǔ)指令只讀。另一部分是data memory 存儲(chǔ)被指令操作的數(shù)據(jù),可讀可寫(xiě)。
(3)Instruction register (IR)-指令寄存器
保存當(dāng)前正在解碼的指令的寄存器。
(4)Register file-寄存器堆
寄存器:存儲(chǔ) 32 位值的組件 MIPS寄存器文件包含32個(gè)寄存器。
(5)Arithmetic and logic unit (ALU)-算數(shù)邏輯單元
實(shí)現(xiàn)二進(jìn)制算術(shù)和邏輯運(yùn)算。
(6)Control unit—控制單元
控制數(shù)據(jù)路徑的組件以實(shí)現(xiàn) FDX 循環(huán)。
2)MIPS指令
• I-Type (Immediate)
• J-Type (Jump)
• R-Type (Register)
(1)I-TYPE
Op:操作碼
Rs:源操作數(shù)
Rt:目的操作數(shù)
Immediate:16bit補(bǔ)碼的立即數(shù)
(2)J-Type
Op:操作碼
Target:目標(biāo)地址
(3) R-Type
Op:operation code (opcode)
Rs:first source register number
Rt:second source register number
Rd:destination register number
Shamt:shift amount(00000 for now)
Funct:function code (extends opcode)