MIPS指令集架构

指令集架构ISA全称为Instruction Set Architecture,MIPS自从1988年提出后,不断扩展,其ISA大致如下:

MIPS I
这是基本的MIPS指令集,早期的R2000和R3000处理器实现了该指令集。

MIPS II
R6000处理器引入该指令集,它增加了load linked、条件存储和分支等指令。还改进了FPU指令集,支持64位读写。

MIPS III
于1992年R4000处理器引入。增加了64位寄存器和整数指令,以及平方根FP指令。

MIPS IV
R8000处理器实现了该指令集,增加了条件move和平方根FPU指令集求倒数指令。

MIPS V
MIPS V于1994年提出,是一个规范,但实际上没有任何处理器实现了该指令集。MIPS 64指令集是其的超集。

MIPS32
是MIPS64指令集的32位子集。

MIPS64
是MIPS V的超集。

MIPS32 V2.0 和 MIPS64 V2.0

Application Specific Extensions (ASE)

DSP ASE
DSP ASE是MIPS32/MIPS64 版本2 指令集的可选扩展,能用于加速大量的媒体计算,尤其是音频。因为电视分辨率的视频计算不在通用处理器的处理范围内。
与大多数MIPS指令集架构不同,他有相当多的不合规则的操作集,这些操作集很多与一些关键算法有关。
与原始的MIPS32相比,它的主要特征有:
1)饱和运算(Saturating arithmetic)
2)Fixed-point arithmetic on signed 32- and 16-bit fixed-point fractions with a range of -1 to +1 
3)The existing MIPS32 instruction set includes integer multiplication and multiply-accumulate which delivers results into a double-size accumulator
4)SIMD instructions operating on 4 x unsigned bytes or 2 x 16-bit values packed into a 32-bit register
5)SIMD operations are basic arithmetic, shifts and some multiply-accumulate type operations. 

学习MIPS指令集的书籍
《MIPS RISC Architecture》
《 See MIPS Run》
《 The MIPS Programmer's Handbook 》