MIPS
MIPS(MillionInstructionsPerSecond):单字长定点指令平均执行速度MillionInstructionsPerSecond的缩写,每秒处理的百万级的机器语言指令数。这是衡量CPU速度的一个指标。像是一个Intel80386电脑可以每秒处理3百万到5百万机器语言指令,即我们可以说80386是3到5MIPS的CPU。MIPS只是衡量CPU性能的指标。
中文名:单字长定点指令平均执行速度
外文名:MillionInstructionsPerSecond
类别:机器语言指令数
成立时间:1998年
1、相关公司
MIPS科技公司(纳斯达克交易代码:MIPS)是全球第二大半导体设计IP(知识产权)公司和全球第一大模拟IP公司。MIPS科技在全球拥有超过250家客户,为全球众多最受欢迎的数字消费、宽带、无线、网络和便携式媒体市场提供动力——包括Linksys的宽带设备、索尼的数字电视和娱乐系统、先锋的DVD刻录设备、摩托罗拉的数字机顶盒、思科的网络路由器、Microchip的32位微控制器和惠普的激光打印机。今天,MIPS科技在全球拥有400多项专利产权(专利和应用)。公司成立于1998年,总部位于美国加州MountainView,办事处遍布全球。
MIPS技术公司则是一家设计制造高性能、高档次及嵌入式32位和64位处理器的厂商。在通用方面,MIPSR系列微处理器用于构建SGI的高性能工作站、服务器和超级计算机系统。在嵌入式方面,MIPSK系列微处理器是目前仅次于ARM的用得最多的处理器之一(1999年以前MIPS是世界上用得最多的处理器),其应用领域覆盖游戏机、路由器、激光打印机、掌上电脑等各个方面。
MIPS在RISC处理器方面占有重要地位。1984年,MIPS计算机公司成立。1992年,SGI收购了MIPS计算机公司。1998年,MIPS脱离SGI,成为MIPS技术公司。
MIPS公司设计RISC处理器始于二十世纪八十年代初,1986年推出R2000处理器,1988年推R3000处理器,1991年推出第一款64位商用微处器R4000。之后又陆续推出R8000(于1994年)、R10000(于1996年)和R12000(于1997年)等型号。
随后,MIPS公司的战略发生变化,把重点放在嵌入式系统。1999年,MIPS公司发布MIPS32和MIPS64架构标准,为未来MIPS处理器的开发奠定了基础。新的架构集成了所有原来MIPS指令集,并且增加了许多更强大的功能。MIPS公司陆续开发了高性能、低功耗的32位处理器内核(core)MIPS324Kc与高性能64位处理器内核MIPS645Kc。2000年,MIPS公司发布了针对MIPS324Kc的版本以及64位MIPS6420Kc处理器内核。
2、处理器
MIPS是世界上很流行的一种RISC处理器。MIPS的意思“无内部互锁流水级的微处理器”(Microprocessorwithoutinterlockedpipedstages),其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福(Stanford)大学Hennessy教授领导的研究小组研制出来的。MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列产品为很多计算机公司采用构成各种工作站和计算机系统。
MIPS技术公司是美国着名的芯片设计公司,它采用精简指令系统计算结构(RISC)来设计芯片。和英特尔采用的复杂指令系统计算结构(CISC)相比,RISC具有设计更简单、设计周期更短等优点,并可以应用更多先进的技术,开发更快的下一代处理器。MIPS是出现最早的商业RISC架构芯片之一,新的架构集成了所有原来MIPS指令集,并增加了许多更强大的功能。
MIPS处理器是八十年代中期RISCCPU设计的一大热点。MIPS是卖的最好的RISCCPU,可以从任何地方,如Sony,Nintendo的游戏机,Cisco的路由器和SGI超级计算机,看见MIPS产品在销售。目前随着RISC体系结构遭到x86芯片的竞争,MIPS有可能是起初RISCCPU设计中唯一的一个在本世纪盈利的。和英特尔相比,MIPS的授权费用比较低,也就为除英特尔外的大多数芯片厂商所采用。
MIPS的系统结构及设计理念比较先进,其指令系统经过通用处理器指令体系MIPSI、MIPSII、MIPSIII、MIPSIV到MIPSV,嵌入式指令体系MIPS16、MIPS32到MIPS64的发展已经十分成熟。在设计理念上MIPS强调软硬件协同提高性能,同时简化硬件设计。
中国龙芯2和前代产品采用的都是64位MIPS指令架构,它与大家平常所知道的X86指令架构互不兼容,MIPS指令架构由MIPS公司所创,属于RISC体系。过去,MIPS架构的产品多见于工作站领域,索尼PS2游戏机所用的“EmotionEngine”也采用MIPS指令,这些MIPS处理器的性能都非常强劲,而龙芯2也属于这个阵营,在软件方面与上述产品完全兼容。
3、相关联系
MIPS即MillionInstructionsPerSecond的简写——计算机每秒钟执行的百万指令数。是衡量计算机速度的指标。
现如今CPU的频率越来越高,又是流水线又是超标量计算又是双核多核的,单纯以时钟频率来衡量计算机的速度已经不再科学,用MIPS来衡量相对比较合理。
以ARM7为内核的S3C44B0X的推荐最高工作频率为66MHz,按照ARM公司提供的技术资料,CortexA9类CPU的运算速度可按如下公式计算:MIPS=0.9×MHz,由此可得出,旧型号的Arm7系列S3C44B0X的最大运算速度大约为0.9×66MHz=59.4MIPS。6M的51单片机通常是12或24个时钟周期才能完成1条指令,乘法和除法指令更需要48个时钟周期。这样,我初步估算6M的51单片机的运算速度应该在0.2——0.5MIPS之间。可见8位机与32位机的运算速度还是有巨大的差异的。
再以AVR为例,它的数据吞吐率可达1MIPS/MHz,即1MHz的震荡频率可达1MIPS。
综上,用MIPS衡量计算机速度很合理,对于不同的cpu,它的最高工作频率不同,数据吞吐率也不同,所以不可一概而论。
4、存在问题
MIPS是指令执行的速率,规定了性能和执行时间成反比,越快的计算机具有越高的MIPS值。从表面看,MIPS既容易理解,又符合人的直觉。其实,用MIPS作为度量性能的指标存在三个问题。
首先,MIPS规定了指令执行的速率,但没有考虑指令的能力。我们没有办法用MIPS比较不同指令集的计算机,因为指令数肯定是不同的。
其次,在同一计算机上,不同的程序会有不同的MIPS,因而一台计算机不会只有一个MIPS值。例如,将执行时间用MIPS、CPI、时钟频率代入之后可得:
MIPS=指令数/(执行时间*10^6)=指令数/(指令数*CPI/时钟频率*10^6)=时钟频率/(CPI*10^6)
上图显示了SPEC2006在IntelCorei7上的CPI最大值和最小值是相差5倍的,MIPS也是如此。
最后一点,也是最重要的一点,如果一个新程序执行的指令数更多,但每条指令的执行速度更快,则MIPS的变化是性能无关的。
推荐阅读