
1.2.5 嵌入式微处理器
1. 处理器
处理器(processor)是嵌入式系统的核心部分,通常由三部分组成,即控制单元、算术逻辑单元和寄存器,如图1-6所示。

图1-6 处理器的组成
控制单元:主要负责取指、译码和取操作数等基本操作,发送主要的控制指令。控制单元中包含两个重要的寄存器:程序计数器(PC)和指令寄存器(IR)。程序计数器用于记录下一条程序指令在内存中的位置,以便控制单元能到正确的内存位置取指;指令寄存器负责存放被控制单元所取的指令,通过译码产生必要的控制信号,将其发送到算术逻辑单元进行相关的数据处理工作。
算术逻辑单元:算术逻辑单元分为两部分。一部分是算术运算单元,主要处理数值型的数据,进行数学运算,如加、减、乘、除或数值的比较;另一部分是逻辑运算单元,主要处理逻辑运算,如AND、OR、XOR或NOT等运算。
寄存器:用于存储暂时性的数据。主要是从存储器中得到的数据(这些数据被发送到算术逻辑单元中进行处理)和算术逻辑单元中处理好的数据(再进行算术逻辑运算或存入存储器中)。
2. 常见的嵌入式处理器
嵌入式处理芯片或核有多种不同类型,包括:
·通用处理器(微处理器、微控制器、嵌入式处理器、数字信号处理器、媒体处理器)。
·专用处理器ASP或专用标准产品ASSP。
·包含通用处理器或专用指令处理器(ASIP)的多处理器系统。
·嵌入一个专用集成电路(ASIC)或一个大规模集成电路(VLSI)中的通用处理器或专用指令处理器。
·ASIC/VLSI中集成了处理器单元的FPGA核。
嵌入式处理器要针对用户的具体需求对芯片配置进行裁剪和添加才能获得理想的性能;但同时还受市场需求的制约,因此不同的处理器面向的用户是不一样的,通常分为通用用户、行业用户和单一用户。
尽管市场对多功能产品需求的增加和IT技术的推动,使32位MCU产品成为市场的热点,但目前8位MCU仍然是技术市场的主流,并且还有相当广阔的应用空间和旺盛的生命力,16位MCU也占有一定的市场份额。
下面介绍几种常用的嵌入式微处理器。
1)嵌入式微控制器(MCU)嵌入式微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合控制,因此称为微控制器。
嵌入式微控制器的最大特点是单片化,其体积大大减小,从而使功耗和成本下降、可靠性提高。嵌入式微控制器的典型代表是单片机(Intel最早将自己生产的单片机命名为嵌入式微控制器),就是将整个计算机系统集成到一块芯片中,这种8位的电子器件目前在嵌入式设备中仍然有极其广泛的应用。
单片机芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要的功能和外设。
2)嵌入式DSP处理器(Embedded DSP)DSP处理器是专门用于信号处理的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波、FFT、谱分析等各种仪器上获得了大规模的应用,在语音合成和编码/解码器中也得到了广泛应用。随着DSP运算速度的进一步提高,其应用领域也从上述范围扩大到了通信和计算机。
DSP的理论算法在20世纪70年代就已经被提出,但是由于专门的DSP处理器还未出现,因此这种理论算法只能通过MPU等由分立元件实现。1982年,世界上诞生了首个DSP芯片。
DSP处理器采用哈佛结构,适合执行DSP算法,编译效率较高,指令执行速度快。在数字滤波、FFT、谱分析等方面,DSP算法正在进入嵌入式领域,DSP应用正在从通用单片机中以普通指令实现DSP功能过渡到采用嵌入式DSP处理器。
目前应用最为广泛的嵌入式DSP处理器是TI的TMS320C2000/C5000系列,另外,Intel的MCS-296和Siemens的TriCore也有各自的应用领域。
3)嵌入式微处理器(Micro Processor Unit,MPU)嵌入式微处理器是由通用计算机中的CPU演变而来的。与计算机处理器不同的是,在实际嵌入式应用中,嵌入式微处理器只保留和嵌入式应用紧密相关的功能硬件,去除了其他冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。
与工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。
在1996年以前,最成功的嵌入式微处理器是Motorola公司的68000系列。此外,嵌入式微处理器市场还包括其他体系结构,如Intel公司的I960、Motorola公司的Coldfire、Sun公司的Sparc,以及嵌入式X86系列平台。
目前32位嵌入式微处理器是市场的主流。在32位嵌入式微处理器市场,我们可以发现超过100家的芯片供应商和近30种指令体系结构,如ARM公司的ARM系列、MIPS公司的MIPS系列,以及Hitachi公司的SuperH系列。目前,常用的主要有ARM系列、PowerPC系列和X86系列。
4)嵌入式片上系统(System On Chip,SOC)SOC嵌入式片上系统是一种电路系统,它在单个芯片上实现一个复杂的系统。它结合了许多功能区块,将功能集成在一个芯片上(如ARM RISC、MIPS RISC、DSP或其他的微处理器核心),加上通信的接口单元,如通用串行端口(USB)、TCP/IP通信单元、GPRS通信接口、GSM通信接口、IEEE1394、蓝牙模块接口等,这些单元以往都会按照各单元的功能做成一个个独立的处理芯片。
SOC的实现通常采用基于IP的设计方法,即用户首先定义整个应用系统,通过调用IP或现成的VLSI设计库中的器件在计算机中模拟实现,然后进行仿真调试,调试通过后,将设计图交给半导体工厂制作样品。除个别无法集成的器件之外,整个嵌入式系统的大部分均可集成到一块或几块芯片中,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利。
SOC仿真调试可通过计算机模拟,也可利用真实的SOC开发环境进行调试。
SOC有以下几个优势:
·可以大幅缩小整个系统的体积;
·减少外设与微处理器之间的电路板连线,避免信号传递时的噪声干扰,从而大大减小硬件开发的难度;
·由于SOC一般采用的都是低电压内核,因此可以大大降低系统的功耗;
·由于SOC的实现通常采用基于IP的模块化设计思想,因此大大降低了软件开发的难度。
3. 嵌入式处理器指令集
目前,常见的指令集是复杂指令集(Complex Instruction Set Computer,CISC)和精简指令集(Reduced Instruction Set Computer,RISC)。CISC具有大量的指令和寻址方式,满足80/20法则:80%的程序只使用20%的指令。大多数程序只使用少量的指令就能够运行。RISC在通道中只包含最有用的指令,确保数据通道快速执行每一条指令,使CPU硬件结构设计变得更为简单。表1-2是这两种指令系统的对比。
表1-2 CISC和RISC指令系统的对比

4. 选择合适的嵌入式处理器
如何选择处理器主要取决于应用需要、设计目标和设计约束,适合是最好的。针对嵌入式系统的设计者,在选择处理器时,必须要考虑以下几个因素:
·指令集(RISC);
·操作数的最大位宽;
·处理速度和时钟频率;
·对时间要求严格的复杂算法的解决能力。
目前的MCU、MPU处理能力都大大提高,大多数控制系统选择MCU就足够,对于需要复杂计算的应用,选择MPU才能满足算力要求。相应地,MPU的功耗也远远大于MCU。