(在下面这个网站可看到很多mips相关的文章:http://www.embedstudy.com/category-22)
转一篇不错的介绍mips芯片的文章。当然这里面说arm没有影子寄存器是不对的。
wait指令的介绍也不错:M4K内核还通过使用内部寄存器与特定WAIT指令控制,提供进入低功耗与睡眠模式的机制。当WAIT指令被执行时,内部时钟暂停,流水线冻结。任何中断或复位,都将使内核退出睡眠模式,恢复正常工作。
http://www.eccn.com/design_2011040714261440.htm
1 引言
MIPS科技公司以开发与授权高性能处理器内核,以及32位和64位架构享誉业内。MIPS作为数字家庭与网络领域的市场领导厂商,其业界标准MIPS32®架构能满足32位微控制器(MCU)产品开发的要求,提供比其它基于ARM®架构的竞争产品性能更高的、功能更丰富的、功耗更低的解决方案。
MCU广泛用于多个市场应用领域,比如工业、办公自动化、汽车、消费电子设备以及无线通信等先进技术。MCU在这类应用中的运用使得对嵌入式处理器内核的需求日益增加,以期提供更高水平的性能效率、更好的实时响应性能、更低的功耗和广大范围的生态系统支持。这些需求源于一系列新兴挑战的出现,包括运行更复杂的RTOS控制软件的要求、更高速度通信接口及更先进的确定性接口的集成。
32位MCU在不断发展,以为下一代应用提供解决方案。据Semico Research公司预测,未来数年间,32位MCU产品的付运量将以18%的年均复合增长率(CAGR)增长,到2014年,将达25.73亿。
对MCU产品而言,要实现性能、成本和上市时间目标,关键在于选择正确的处理器架构。本文将概述采用具有业界领先性能的MIPS®处理器内核实现的一些设计特性。 此外,我们还将对基于MIPS和ARM架构的MCU设计解决方案进行比较,这两种架构是目前最流行的两大嵌入式处理器IP架构。我们的分析显示,MIPS的解决方案性能更高、功耗更低且具有更先进的特性,另外,MIPS还可提供出色的开发支持服务。
2 MIPS®架构
MIPS®架构是1980年代初期由斯坦福大学基于一种载入/存储RISC(精简指令集计算)技术研发出来的。相比前代的CISC(复杂指令集计算)架构,RISC技术执行的是一个简单却完善的指令集,并采用深度指令流水线,故执行速度更快,性能更高。相反,ARM架构则是基于RISC/CISC混合架构,其设计复杂,且很难获得高水平性能。
自从1985年首个MIPS处理器(R2000)推出之后,MIPS架构与时俱进。该指令集架构(ISA)不断扩展,已发表好几个版本,性能逐一提升。目前的版本包括32和64位架构实现方案:MIPS32® 和 MIPS64®。除了开发基于MIPS32的一系列32位处理器内核之外,MIPS还面向业界授权MIPS32 和 MIPS64架构。获授权的厂商,包括Broadcom、Cavium Networks、LSI Logic、NetLogic Microsystems、瑞萨电子、索尼、东芝以及中科院计算技术研究所,目前都在积极面向数字家庭、网络、微控制器及其它应用付运MIPS-Based™ 产品。而且,MIPS的授权厂商每年的付运量在6亿片以上,迄今MIPS-Based SoC的付运量超过20亿片。
图1 MIPS 架构与ASE
图1所示为目前MIPS架构系列的产品。标准MIPS32/ 64架构可通过MIPS16e®、SmartMIPS®、DSP、3D及多线程等可选专用扩展(ASE)来进行扩展。这些ASE专为增强专门应用的性能而设计。例如,DSP ASE可提供硬件和软件增强,以加速MIPS处理器内核设计中的信号处理功能。类似地,MIPS16e指令集包含了解码到对应的16位形式的“最常用的”MIPS32指令。MIPS16e可压缩应用代码,所需存储容量比 MIPS32的更小,同时通过减小存储器带宽,缩短执行时间,仍能保持高水平的性能。图1所示的每一种ASE都有利于提高目标处理器内核的专用性能。
MIPS最近推出了一种完整的指令集架构(ISA),同时包含16位和32位指令,旨在软件代码密度与执行吞吐量最大化。 microMIPS可减少30%的代码量,并以与MIPS32几乎相同水平的性能执行。microMIPS被整合在专为集成在MCU和嵌入式控制器SoC设计中而开发的MIPS32 M14K™ 与 M14Kc™ 处理器内核中。
MIPS ISA标准软件平台结合了采用MIPS32/64架构实现的先进设计技巧与整合在其处理器内核中的先进设计特性,优于竞争对手解决方案,并提供有额外的灵活性与持续提升的空间。
2.1 MIPS架构性能
所有的MIPS处理器内核,从高端多核解决方案到紧凑型、流水线更短的内核,都是基于性能相同的MIPS32基础架构而设计的。
MIPS内核的性能提高主要得益于内核执行单元的增强,其通过执行更长流水线、超标量和多线程微型架构来提高处理器的最大工作时钟频率。此外,由于整合了高速存储器接口、高效缓存控制器、存储器管理单元等设计特性,并支持大量标准架构中的浮点寄存器和加速器,还可获得额外的性能提升。
MIPS32架构带有32个标准通用寄存器(GPR),其中每个寄存器均为32位。在设计时可以选择创建另外32组寄存器,用作额外的数据存储或“影子寄存器”,可指定给专用向量中断控制器逻辑,相比传统的硬件/软件方法,这种方案能大幅度减少中断延迟,缩短上下文切换时间(context switching)。
通过硬件乘除法单元(MDU),以及大量符号/无符号乘法、除法和乘法-累加指令的软件支持,可提高MIPS32架构的信号处理性能。对MDU,MIPS架构采用了一条单独的流水线,其与整数流水线并行工作。
2.2 MIPS与ARM性能特性之比较
以RISC技术为基础,再加上MIPS架构中的可扩展硬软件设计,使得MIPS的解决方案比ARM的同类解决方案性能更高、功耗更低且面积更小。MIPS科技原来主要瞄准高性能工作站与服务器,而ARM最初针对低端移动系统开发基本内核。MIPS充分利用它在高性能设计方面的经验,向主流嵌入式系统市场转型。ARM则继续沿用其原有性能有限的架构,相比MIPS,它处于不利地位。
MIPS32 4K®处理器内核系列包括MIPS32 M4K®内核,其应用程序执行速度超过同类ARM Cortex™-M系列内核。这一优势部分可归功于更高效的MIPS指令集架构和优化软件工具,但主要原因还是在于MIPS架构具有众多专为更高的性能级和应用效率而设计的出色特性,其中包括一般是在微控制器设计中实现的加速功能。例如:
MIPS 内核包含32个GPR,而ARM内核只有16个GPR。这意味着寄存器溢出更少,从而性能更高。
MIPS内核包含有影子寄存器组,而ARM内核没有。使用映像寄存器可加速中断处理保存/恢复功能,减少上下文切换(context switching)和中断延迟中所需要的周期。
MIPS架构主要执行单一操作指令,而ARM指令在写入GPR之前执行多个操作(如移位操作、算术操作、条件校验位等等),故MIPS更容易达到更高的时钟频率。
MIPS架构采用比ARM更简单的存储器寻址模式工作,故更容易达到更高的时钟工作频率。
MIPS架构的预测执行较少,这大大降低了其逻辑复杂性,并使MIPS内核能够达到更高的频率。
M4K与M14K具有5级流水线结构,故无需预测分支方向。而ARM内核采用了复杂的分支预测和分支推测逻辑。
MIPS架构实现了带延迟的分支,而ARM结构不这样;这意味着,利用MIPS,在短流水设计时可获得更高效率。
MIPS同时提供32位和64位架构,MIPS64架构具有后向兼容性和更高的性能。ARM只有32位架构,而且并非所有版本都后向兼容。
3 专为高性能MCU而设计的处理器内核
2002年,MIPS科技公司推出了M4K内核,这是一种可用于MCU和小尺寸嵌入式控制器设计中的高性能、可综合处理器内核。作为手机、DTV、有线调制解调器、GPS和数码相机中的控制器,M4K已被广大范围的应用所采纳,迄今获授权的公司已近30家,其中部分4K产品的获授权厂商甚至超过了120家。此外,M4K内核已获Microchip公司采用,作为其32位PIC32 MCU产品系列中的标准微控制器。
M4K内核在设计中整合了一系列功能特性,能够提供同类最佳性能,大大超越了ARM Cortex-M系列处理器。
3.1 M4K® 执行流水线
M4K内核的性能可达1.5 DMIPS/MHz,而根据ARM网站公布的数据,Cortex-M3的性能只有1.25 DMIPS/MHz,比前者低约20% (ARM Cortex-M0的性能甚至更低,仅0.9 DMIPS/MHz,比MIPS32 M4K内核低40%;Cortex-M0 还存在众多其它局限性,我们接下来会讨论到)。换言之,Cortex-M3 需要使用高20%的时钟频率才能达到M4K内核的性能,但随之产生更多的功耗。
类似的,如第4节的“性能基准”所述,在采用CoreMark 基准时,M4K内核可达到2.297 CM/MHz的性能,比同类的基于Cortex-M3的解决方案高20-30%。MIPS已把业内越来越获认可的CoreMark基准视为比Dhrystone MIPS更精确的CPU性能测量标准。
M4K执行单元采用5级流水线微架构,如图2所示,而Cortex-M3内核的执行则基于3级流水线架构。因此M4K内核能够采用更高的最大时钟频率,每秒钟处理更多的指令,从而获得比Cortex-M3更高的性能和执行效率。
在M4K内核中,所有ALU和移位操作都在单周期内完成。旁路逻辑(Bypass logic)包含在流水线中,在所有流水线级完成之前提供快速数据存取以供下一条指令所用。由于执行特定任务的周期缩短,性能得以提高。
图2 M4K® 内核 5级流水线
3.2 系统协处理器(CP0)
系统协处理器(CP0)是MIPS 架构所独有的,M4K 内核就采用了这种技术。CP0作为一个辅助执行单元工作,可分担部分内核资源的管理,包括异常处理和存储器管理,故而能够提高内核的性能。
3.3 GPR 和影子寄存器
M4K内核在设计时可以选择把通用寄存器(GPR)的最大数量增加到16组,其中每一组都包含了完整的32个寄存器。这些GPR可片上存储参数和操作数,因此减少存储器转储的开销,并释放指令周期。这对提高计算吞吐量十分有利。
如前所述,采用GPR作为映像寄存器能够减小MCU系统中常见的服务中断事件的开销,从而提高系统性能。
在异常中断时,M4K内核会确定使用哪一组映像寄存器,将其设置为激活的GPR组,允许中断向量继续执行。这种处理完全避免了上下文数据(context)的保存或恢复周期,因为当前的激活寄存器组专门负责指定的中断服务程序。这不仅意味着在中断或异常代码开始实际执行之前不会浪费时间,而且还表示自从上一次异常或中断事件发生以来寄存器的内容一直被完好保存,这就节省了从SRAM空间取回特定数值的时间。
3.4 MDU
M4K内核中MDU的高性能实现方案能够在单周期内完成一次32x16位乘法(或MAC指令), 两个周期内完成32x32乘法/MAC操作。
MDU有自己的专用功能单元,可独立操作内核执行流水线。所有乘法/除法指令发送给MDU,而把需要ALU的其它指令,譬如载入/存储和移位操作,交由内核流水线并行处理。M4K内核中的MDU在加速信号处理操作方面颇具优势,比如FFT、FIR 和IIR滤波器计算等在工业和网络类型应用中一般由微控制器来执行的操作。下面举例说明M4K加速DSP型功能的能力:一个PIC32 可在 22K 周期数,即283微秒@80MHz条件下执行一次256点16位 radix-4 FFT,比基于Cortex-M3微控制器的STM32的周期数少14%。
3.5 SRAM 接口
代码存取与数据存取的速度对处理器的性能有重大影响。在存储器接口设计方面,设计人员作出了巨大的努力,以期尽可能增大可用带宽,并尽可能减小延迟,最终达到0-等待状态数据传送的目标。MIPS架构整合了一个灵活的存储器总线架构,其能够从高速闪存(flash)或从高性能片上SRAM执行代码。M4K内核还整合了一个用于指令及数据存储器的高速低延迟SRAM接口。该接口支持单周期和多周期存储器存取。M4K SRAM接口可配置为双模或统一模式。双模模式可提供最高性能,并带有独立的数据(D-SRAM)总线与控制信号,以及指令(I-SRAM)总线与控制信号。双模允许在I-SRAM 和 D-SRAM接口上同步处理任务,消除在公用总线接口上可能出现的延迟,防止其减缓程序的执行速度。
I-SRAM接口具有改变信号输入方向的能力,在需要时,可将D-SRAM读周期改变到I侧方向。这有助于改良的Harvard架构(基于MCU的系统的一个常规特性)的实现,允许非易失性数据在程序存储器中的存储。
SRAM接口提供了中止M4K内核5级流水线的任何指令处理任务的能力,这种能力有利于外部系统控制器立即响应外部事件,如中断请求或通过EJTAG调试接口的请求。在处理典型微控制器应用中的高度确定性特性时,快速响应外部中断事件的能力至关重要。
SRAM接口还具有中止长延迟处理任务的能力。在处理典型微控制器应用中的高度确定性特性时,快速响应外部中断事件的能力至关重要。
M4K内核SRAM接口为M4K内核提供了一种高速、易于使用且高度可配置的存储器接口,而且,大多数处理任务都是在单周期内完成的。除了指令和数据存储器,它不包含额外的开销,如处理任何情况的协议或信号等,故有助于芯片设计人员实现M4K内核的最大性能。
而Cortex-M3却没有这样完善全面的存储器控制特性,因此其性能比M4K内核的要低。
3.6 CorExtend®
MIPS32架构的另一个特性是CorExtend,其可为开发人员提供产品差异性和定制化功能。这是设计时的一个选项,通过用户定义指令(UDI)和定制硬件来扩展内核指令集。CorExtend允许设计人员在内核中自行增添功能性,以加速目标应用中造成瓶颈障碍的专用功能,从而提高系统总体性能。CorExtend在典型MCU环境中的使用包括专用图形控制器、TCP/IP加速器、定制安全/加密逻辑、无线基带控制或其它实时控制接口的设计。CorExtend与内核流水线协同工作,如图3所示。CorExtend的功能性与MIPS32完全兼容,并得到所有领先的MIPS兼容开发工具的支持。
图3 CorExtend®的流水线结构
4 性能基准
CoreMark™ 是由EEMBC®开发的一种专门针对处理器内核的性能测试而设计的开源基准。CoreMark架构把处理器内核与所有系统附属部件隔离开来,包括存储器子系统的影响和编译器的‘优化技巧’。CoreMark测试处理器流水线和常用功能的性能,包括读/写、整数和控制操作等。因此,相比其它基准,它能够针对处理器内核性能及功能性提供一个人为因素更少的、更接近实际水平的描述。
根据CoreMark网站的定义:“工作负载(workload)实际上包含了若干常用算法,如矩阵运算(允许使用MAC和常用数学运算)、链接表处理(常使用指针)、状态机处理(常使用数据相关分支)和循环冗余码校验(CRC是嵌入式结构中极为常用的函数)。”
图4 比较了从CoreMark网站上获得的基于MIPS M4K的MCU与基于ARM Cortex-M3 /M0的MCU的相关数据。
图4 M4K® PIC32 的CoreMark测试结果,并与意法半导体(ST)及恩智浦半导体公司(NXP)的Cortex-M 器件相比较
相比采用0等待状态存储器的基于Cortex-M3 及 Cortex-M0的竞争产品,基于M4K的PIC32 2采用2等待状态存储器工作,可获得比更高的CoreMark/MHz性能。从图4可看出,在相同时钟频率的条件下,PIC32的性能比Cortex-M3 STM 与 NXP解决方案(蓝色)高20-50%,比Cortex-M0 NXP解决方案(黄色)高63%以上。
5 低功耗与小外型设计
一个典型SoC中,处理器内核之外的存储器、外设和控制逻辑占用了大部分面积,其大部分功耗也来源于此。不过,除了最佳性能效率之外,MIPS科技还认识到,在微控制器设计中硅成本与功耗也是确保产品成功的关键指标。MIPS在处理器内核设计中整合了一些能够尽量减小面积和功耗的特殊特性,本节将描述其中一部分。因此,MIPS科技得以通过提供‘同类最佳’面积和功耗解决方案,进一步增强其在性能方面的领导地位,从下面几节对M4K 和 Cortex-M3的比较中可以清楚看到这一点。
5.1 可降低功耗的特性
M4K微型引擎的高性能优势使应用能够运行在更低的时钟频率下。功率与频率成正比,故随频率的减小,功率降低。从前面的分析我们可看到,M4K内核的处理性能至少比Cortex-M3高20%,这意味着它的功率效率(DMIPS/mW)也更好――亦即相同的任务所需的功率更低。M4K内核的高性能使它能够更快地完成任务,有更多的时间处于低功耗状态(空闲状态),从而有助于降低功耗。
M4K内核是一种可综合设计,能够在不同的低功耗工艺和库之间移植。该内核也是一种静态设计,允许在线时钟改变(根据需要改变到更低频率)。它甚至还支持时钟中止,这时功耗会降至µW数量级的极微水平(这种情况下,功耗主要源于工艺泄漏电流)。
M4K内核提供有好几项功率管理模式,通过使用精细度时钟门控技术并支持节电模式来对功率进行控制。M4K内核的功耗主要源于时钟逻辑与寄存器。M4K在整个内核上广泛采用时钟门控技术,由此提供一种可关断内核未用模块的高效机制。M4K内核还通过使用内部寄存器与特定WAIT指令控制,提供进入低功耗与睡眠模式的机制。当WAIT指令被执行时,内部时钟暂停,流水线冻结。任何中断或复位,都将使内核退出睡眠模式,恢复正常工作。
这些功率管理特性的高效实现,结合低功耗制造工具,有助于大幅度降低有功功耗。
表1比较了在180nm 和 90nm工艺条件下 M 4K 与 Cortex-M3的功耗。这里,M4K的工作频率减小以匹配Cortex-M3的最大时钟速度,它的功耗为在该频率下测得。
表1 M4K® 与 Cortex–M3的速度/功耗比较
TSMC 180nm G | TSMC 90nm G | |||||||||
M4K | Cortex-M3 | M4K | Cortex-M3 | |||||||
Optimization | Speed | Area | Speed | Area | Speed | Area | Speed | Area | ||
Frequency (MHz) | 180 | 100 | 50 | 100 | 50 | 360 | 275 | 50 | 275 | 50 |
Power (mW/MHz) | 0.37 | 0.21 | 0.17 | 0.33 | 0.2 | 0.06 | 0.03 | 0.02 | TBD | 0.1 |
Power Efficiency (DMIPS/mw) | 4.05 | 7.14 | 8.82 | 3.75 | 6.25 | 25 | 50 | 75 | TBD | 12.5 |
Libraries | TSMC 7T SVT | ARM SC7 | TSMC 9T SVT | TSMC 7T SVT | ARM SC9 |
由表1可看出,在相同时钟频率下:
在180nm工艺下,利用速度优化配置,M4K的功耗只有Cortex-M3的65%。利用面积优化50MHz目标时钟速度,M4K的功耗比Cortex-M3的小15%。
在90nm面积优化50MHz配置中,M4K的功耗只有同等Cortex-M3的20%。可惜ARM网站没有提供90nm工艺下的功耗数据,不过,通过推测可以计算出M4K的功率节省有多可观。
• 在功率效率方面,M4K优于Cortex-M3(180nm时大约2倍,90nm时为6倍)——考虑到M4K的更高性能和更低功耗特性,这是不足为奇的。
在130nm工艺条件下,M4K内核显示出类似的低功耗特性。没有130nm Cortex-M3的数据可供比较,因此下面我们只给出了130nm时M4K的功耗数据。
速度优化配置 @ 216MHz 最大频率下,功耗为0.17mW/MHz
面积优化配置 @100MHz 频率下,功耗为0.06mW/MHz。
5.2 小尺寸的特性
M4k内核是一个高功率效率、高度可配置且灵活的处理器内核。图5所示为M4K内核的可选模块,包括调试/跟踪(EJTAG)、COP2 协处理器接口和 CorExtend扩展。MIPS16e ASE指令解码器为可选。
图5 M4K®内核的结构示意图
![](https://i-blog.csdnimg.cn/blog_migrate/a29362fd165784568bc71475d597c38f.jpeg)
为了减少门数,M4K提供了一组全面完整的设计配置选项。可配置选项包括激活/禁用调试功能、设置调试/跟踪断点的数目与类型、快速或慢速MDU、设置GPR寄存器组的数目,以及数据与指令SRAM接口分开或统一。
利用配置选项可综合出一个经过速度或面积优化,能够满足所需应用目标频率的要求,同时获得最小尺寸与门数的实现方案。内核面积与工艺、单元库及应用所需性能有关。要比较M4K内核与Cortex-M3在减小内核面积方面的设计效率,应该充分考虑到所有这些因素。不过,M4K内核只需33K门即能实现,即使而且拥有更多的特性功能,尺寸仍然小于Cortex-M3的。
6 生态系统
SoC开发环境包括硬件/软件调试工具及其它第三方解决方案,在选择处理器时是一项重要的考虑事项。
MIPS科技拥有一支致力于提供一系列硬件和软件开发工具的专业团队,可帮助设计人员成功地测试MIPS处理器并集成到SoC中,并且验证它在目标系统应用中的工作性能。这些工具包括System Navigator™ EJTAG 调试探针、同时支持RTOS和Linux 目标的GNU软件工具链、用于软件剖析和协同仿真的周期精确及指令精确仿真器、基于FPGA的开发/评估板与Navigator集成元件套件(ICS),以及可与其它MIPS工具集成的基于Eclipse的开发环境。
图6 系统Navigator™ 调试探针与SEAD3开发板
![](https://i-blog.csdnimg.cn/blog_migrate/abc325f25b5d77bba78b841ddc4d4d0b.jpeg)
除此之外,MIPS科技还创建了一个MIPS 联盟计划(MAP),旨在支持广大范围的第三方生态系统。MAP是一个由100多家合作伙伴组成的社区,他们共同合作,提供数以百计的解决方案来支持MIPS架构和处理器内核。这个生态系统是设计人员的一个宝贵资源,可为他们提供瞄准广大范围的市场应用(包括MCU)的MIPS兼容工具及解决方案,帮助他们加快产品上市。
MIPS生态系统已发展成为一个拥有丰富且多元化支持的基础架构,包括众多分别提供OS、RTOS、硬件调试工具、软件开发产品、应用软件、EDA工具、物理IP及其它相关专用产品的合作伙伴。对于MCU开发,生态系统有许多支持范例可供众多供应商选用。提供MCU支持的部分MIPS联盟合作伙伴如下:
Express Logic、Mentor Graphics、Micrium、Segger、Green Hills Software、Wind River、CMX、FreeRTOS 等RTOS
供应商
提供调试探针和仿真器的Ashling、Luterbach、Macraigor、Corelis
提供软件开发工具的CodeSourcery、Green Hills、Mentor Graphics、Hi-Tech
提供仿真模型的Carbon、Imperas
提供SoC IP的Sonics、Dolphin、Denali
提供EDA/ESL 工具的Synopsys、Cadence、Magma
7 MIPS32 M14K™ 内核
MIPS 科技最近推出的两款新型MIPS32 4K处理器内核――MIPS32 M14K 与 M14Kc,继续引领着它在微控制器及其它高性能、小外型及成本敏感的嵌入式应用方面的创新与发展。这两款内核采用双解码器设计,包括MIPS32及微MIPS的指令解码器。它们是整合了新型microMIPS代码压缩指令集架构并与MIPS32兼容的首批内核。microMIPS能够提供很高的代码密度与性能水平:维持原有MIPS32性能,调试至少减小30%的代码量。
图7 M14K™ 内核结构示意图
![](https://i-blog.csdnimg.cn/blog_migrate/fb64d9b9a283b446d38a9d7dc5226e2c.jpeg)
与Cortex-M3相比,M14K内核拥有和M4K内核同样的优点:更好的性能,更低的功耗,更小的尺寸,更高的可配置性和更大的灵活性。此外,M14K内核还具有Cortex-M系列所没有的其它一些优点,如表2所示。
表2:M14K™、Cortex–M3和Cortex-M0的特性比较
Feature | MIPS M14K | ARM Cortex-M3 | ARM Cortex-M0 |
Architecture | Harvard | Harvard | Von Neumann |
Pipeline stages | 5 | 3 | 3 |
ISA | MIPS32 microMIPS | Thumb-2 | Thumb Thumb-2 (subset) |
Legacy 32-bit decoder | Y - MIPS32 | N | N |
Total instructions | 300+ | 155 | 56 |
DMIPS performance | 1.5 DMIPS/MHz | 1.25 DMIPS/MHz | 0.9 DMIPS/MHz |
CoreMark performance | 2.36 | 1.76 | 1.6 |
GPRs | 32 | 16 | 13 |
GPR sets (max) | 16 | 1 | 1 |
Interrupt control | Y - int & ext | Y - int NMC | 32 |
Priority levels | 8 | 4 | 4 |
Interrupt latency | 10 cycles | 16 cycles | 16 cycles |
Tailchaining | Y | Y | Y |
Atomic bit instructions | Y | Y | N |
Instruction-only trace | Y | N | N |
PC sampling | Y | N | N |
Performance counter | Y | N | N |
Fast debug channel | Y | N | N |
Multiply-divide unit | Y | Y | Multiply only |
Local code RAM (max) | 4 GB | 1 GB | None |
Local data RAM (max) | 4 GB | 1 GB | None |
Parity | Optional | N | N |
Fast SRAM interface | Y | N | N |
Flash memory prefetch | Y | N | N |
MMU | Y- FMT | Optional | Optional |
External interface | AHB-Lite | AHB-Lite | AHB-Lite |
Co-processor interface | Y | N | N |
Custom instruction support | Y | N | N |
Cortex-M0简介:Cortex-M0的核心架构版本被称为ARMv6,是Cortex-M3的ARMv7架构的前代版本。这实际上是一个带一些Cortex-M3功能的ARM7架构。它执行一个3级流水线结构,其性能仅为0.9 DMIPS/MHz,甚至不及CortexM3。
Cortex-M0总共执行56条Thumb和Thumb-2指令,其中只有6条是32位指令。如果不修改,为Cortex-M3编写的大部分代码都不能在Cortex-M0上运行。
与ARM7一样,Cortex-M0也重新采用冯·诺依曼(Von Neumann)架构。Cortex-M0不支持本地存储,而是通过AHB总线从主存储器上读取代码和数据,它在数据传送完成之前需要额外的等待,因而大大降低了性能。
Cortex-M0的完整配置约为24K门 。尺寸虽然小了,但Cortex-M0却缺乏33K门大小的 M4K或M14K内核所具有的许多标准特性和性能。以牺牲Cortex-M0的性能和功能来换取面积外型的减小,有些得不偿失。
8小结
在为数字家庭和网络市场提供高性能和高效率应用产品方面,MIPS科技口碑卓著。标准MIPS架构在不断改进增强,以帮助微控制器设计人员应对技术挑战,提供比ARM Cortex-M系列产品更出色的性能、更低的功耗及更多的先进特性。
由于具有更高的效率和更好的可配置性,M4K和M14K内核为MCU和嵌入式控制器的设计人员提供了一种“3对1”的方案:无论是与Cortex-M3、-M0还是-M1相比,单个M4K/M14K内核都能提供更好的性能和更多的功能,它能够以一取代这三种内核。
随着MCU应用的逐渐普及,对高性能、低功耗及实时响应的要求也不断提高,32-位处理器架构是满足这些需求的最佳选择。
在选择MIPS处理器内核时,重点需考虑以下因素:
• Performance 性能
MIPS M4K和M14K内核执行5级流水线架构,性能达到1.5 DMIPS/MHz。ARM Cortex-M3及-M0为3级流水线设计,性能分别为1.25和0.9 DMIPS/MHz – 比M4K/M14K低20%和60%。
在180nm和90nm工艺条件下,M4K和M14K内核的最大时钟频率比同等配置的Cortex-M3高20%。
CoreMark基准的结果显示,M4K PIC32性能为2.297 CM/MHz,比在相同时钟频率下执行的Cortex-M3 STM32F性能高20%。
M14K中断延迟为10个周期,而Cortex-M3为12个周期。在处理连续(back-back)中断时,M14K内核需要的周期数比Cortex-M3的少30%。
PIC32和M14K内核利用一个预取缓冲区来减少闪存的存取时间,并利用一个快速SRAM接口来加快执行速度,Cortex-M3则没有。
PIC32的DSP性能比执行常用信号处理FFT算法的STM32F高14%。
• 低功耗及高电源效率
• 在MCU目标工艺节点上,相比Cortex-M3,M4K的功耗大幅降低,性能效率大幅提升。在180nm时,在相同时钟频率下,M4K的功耗比Cortex-M3小65%,而功效达到其2倍。
MIPS生态系统:包含MIPS提供的广大范围
的各种产品,其合作伙伴提供的硬件和软件开发工具,与主要RTOS、中间件的兼容性,以及对主要EDA工具的支持,可帮助设计人员减少开发时间,加速产品上市。
经过验证的技术,更低的风险:在大范围的高性能应用中,数以十亿计的SoC成功采用了MIPS32和MIPS64架构进行设计。MIPS是数字家庭(DTV、STB)、宽带接入和无线网络应用(WLAN、WiMAX)市场的领导者。
随着32位CPU架构的性能的不断提高,新一代嵌入式应用开始出现。MIPS 科技是高性能和性能/功效的领导者,是推动新一代产品的最佳不二选择。
9 参考资料
MIPS Technologies www.mips.com
ARM www.arm.com
EEMBC CoreMark www.coremark.org
Microprocessor Report www.mdronline.com
Berkeley Design Technology Inc. www.BDTI.com
‘See MIPS Run’ by Dominic Sweetman. ISBN 13; 978-0120884216
‘Exploring the PIC32’ by Lucio Di Jasio. ISBN 13: 978-0750687096