嵌入式处理器MIPS和ARM
以嵌入式计算机技术为核心的嵌入式系统是继网络技术之后,IT领域新的技术发展方向。由于嵌入式系统具有体积小、性能强、功耗低、可靠性高以及面向行业具体应用等突出特征,目前广泛的应用于军事国防、消费电子、信息家电、网络通信、工业控制等各个领域。日常生活中,各种电子手表、电话、手机、个人数字助理(PDA)、洗衣机、电视机、微波炉、电饭锅、空调等都有嵌入式系统的存在。
嵌入式系统的核心部件是各种类型的嵌入式处理器,就是与通用计算机的微处理器相对应的CPU。目前,几乎每个IT硬件厂商都推出了自己的嵌入式处理器。
所有的嵌入式处理器都是基于一定的架构的,即IP核(IntellectualProperty,知识产权),生产处理器的厂家很多,但拥有IP核的屈指可数。嵌入式系统的架构有专有架构和标准架构之分,在MCU(微控制器)产品上,像瑞萨(Renesas)、飞思卡尔(Freescale)、NEC等都拥有自己的专有IP核,而其他嵌入式处理器都是基于标准架构。
标准的嵌入式系统架构有两大体系,RISC(ReducedInstructionSetComputer,精简指令集计算机)处理器和CISC(ComplexInstructionSetComputer,复杂指令集计算机)处理器体系。目前占主要地位的是所谓RISC处理器。RISC体系的阵营非常广泛,如ARM、MIPS、PowerPC、ARC、Tensilica等等,都是属于RISC处理器的范畴。
本文主要从以下几个方面来介绍ARM和MIPS这两个处理器。
流水线结构:MIPS是RISC体系结构中最精巧的一种处理器,占用更小的芯片面积;并且MIPS使用编译器来解决“分支延迟槽”和“负载延迟槽”这两个问题。因为MIPS最初的设计思想就是使用简单的RISC硬体,然后依靠编译器及其他软体技术,来达成RISC的完整概念。
ARM有桶形移位器(barrel shifter),一方面它可以提高数学逻辑运算速度,为编写高效率的汇编语言程序提供了条件;另一方面它也增加了硬件的复杂性。所以和可以完成同样功能的加法/移位寄存器相比,效率更高,但是也占用更多的芯片面积。
指令结构:MIPS具有32位和64位两种架构的指令集,MIPS是开放式的架构,用户可以在开发的内核中加入自己的指令。在MIPSIV加入条件跳转指令,以便提高流水线结构的执行效率。
ARM只有32位架构的指令集,ARM11局部是64位架构的指令集。在每一条ARM指令中都有4位的条件码,在这一点上ARM很像x86。由于ARM有地址递增/递减访问模式,所以有相应得多次自动递增/递减加载/存储数据的指令。
寄存器:MIPS内核中有32个寄存器$0—$31,$0不管存入什么数据,永远返回零,通过mfc0、mtc0指令控制。这种结构设计上的先天优势,决定了在同等性能表现下,MIPS的芯片面积和功耗会更小。
ARM有16个寄存器R0—R15,与协处理器之间交换数据通过MRC、MCR指令来实现。
地址空间:在MIPS中有缓存区地址空间和非缓存区地址空间。ARM通过启用/禁用缓存操作来开启/禁用缓存区。
功能:MIPS是64位的,具备浮点数的运算能力,而ARM支持浮点运算是有限的,通常不包括在内,因为他是一个32位架构的处理器。
ARM基本统一采用JTAG接口进行仿真调试,开放性和通用性好,开发板和仿真器的开发简便,而MIPS使用EJTAG工具。Debug工具一般两种都支持。
性能:MIPS起源于高性能工作站和服务器的设计,而ARM的初衷是针对低端移动系统开发的基本内核。
应用:MIPS:在数字电视、数字机顶盒、DVD/蓝光播放器、数码相机和宽带客户端等领域MIPS架构处理器应用比例大约为50%;大部分宽带路由器与无线接入点都采用了MIPS架构处理器;采用MIPS处理器的索尼PSP的成功说明MIPS在逐渐兴起的电子书领域也是一个突破口。
ARM:占据了高端微控制器的大部分市场份额;大部分无线通讯设备采用了ARM技术;采用ARM技术的ADSL芯片随着宽带技术的推广正逐步获得竞争优势;目前流行的数字音频播放器、数字机顶盒和游戏机中广泛采用;数码相机和打印机中绝大部分采用ARM技术,手机中的32位SIM智能卡也采用了ARM技术。
通过比较了解,虽然ARM和MIPS处理器同样是属于RISC体系,但是在指令集设计、处理单元的结构上等都各有不同,因此彼此完全不能兼容,在特定平台上所开发的软件无法直接为另一硬件平台所用,而必须经过重新编译。
那么,嵌入式处理器要想得到用户特别是中国工程师的认可,那它必须能够形成完整的设计链是至关重要,因为这样才能达到内核开发平台性能和价格的最佳平衡,符合用户的需求;另外,在消费电子产品迅速窜红的今天,帮助开发者缩短设计周期和上市时间无疑是在这一领域寻找更多商机的内核供应商们的竞争利器。实现这两点,开放性以及开发工具的广泛性和易用性就是成功的关键。
如今,ARM公司除了自身推出的硬件开发工具(Multi-ICE/RealView ICE)和软件开发环境(ADS1.2/RDS、ARMCC),在全球和中国已凝聚了众多第三方或代理商争相推出性价比出色但用法统一的评估板和仿真器,而支持ARM内核的集成开发环境(IDE)、编译器、RTOS、软件仿真器、启动/驱动代码产品也是层出不穷,可以说一条完整的设计链已经形成,进入一种良性循环。
同时,ARM芯片的授权模式在中国开展得比较早,获得ARM 授权的芯片厂商基本统一采用JTAG接口进行仿真调试,开放性和通用性好,开发板和仿真器的开发简便,因而第三方支持广泛,对最终用户来说也易于使用。
此外,ARM的下一代走向多内核结构,而MIPS公司的下一代核心则转向硬件多线程功能(multithreading)。从现在的发展来看,多内核占上风。因此,在中国嵌入式芯片领域最受欢迎的是32位的ARM芯片。