【MIPS -最适用于设计MCU的处理器】连载三:

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级流水线

图2 M4K 内核 5级流水线

3.2 系统协处理器(CP0)
系统协处理器(CP0)是MIPS 架构所独有的,M4K 内核就采用了这种技术。CP0作为一个辅助执行单元工作,可分担部分内核资源的管理,包括异常处理和存储器管理,故而能够提高内核的性能。

3.3 GPR 和影子寄存器

M4K内核在设计时可以选择把通用寄存器(GPR)的最大数量增加到16组,其中每一组都包含了完整的32个寄存器。这些GPR可片上存储参数和操作数,因此减少存储器转储的开销,并释放指令周期。这对提高计算吞吐量十分有利。

如前所述,采用GPR作为映像寄存器能够减小MCU系统中常见的服务中断事件的开销,从而提高系统性能。

在异常中断时,M4K内核会确定使用哪一组映像寄存器,将其设置为激活的GPR组,允许中断向量继续执行。这种处理完全避免了上下文数据(context)的保存或恢复周期,因为当前的激活寄存器组专门负责指定的中断服务程序。这不仅意味着在中断或异常代码开始实际执行之前不会浪费时间,而且还表示自从上一次异常或中断事件发生以来寄存器的内容一直被完好保存,这就节省了从SRAM空间取回特定数值的时间。

--电子创新网--
粤ICP备12070055号