1.4.1 嵌入式处理器
嵌入式处理器通常分为嵌入式微控制器、嵌入式DSP、嵌入式微处理器与嵌入式片上系统4类,下面分别进行介绍。
1.嵌入式微控制器MCU(Micro Control Unit)
嵌入式微控制器是主要用于控制领域的嵌入式处理器。在一块芯片内部集成了ROM、RAM、总线、总线控制逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A等各种适宜控制用的功能模块,因此称为微控制器或单片机。典型代表是MCS-51系列及PIC系列的4位、8位及16单片机。
微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高,特别适合工业控制。
2.嵌入式DSP(Digital Signal Processor)
DSP是专门用于数字信号处理的处理器。数字信号处理是指数字滤波、FFT、DCT、小波变换、谱分析及音视频编码解码等处理,这些处理通常涉及大量数据的传输、乘法及乘累加等操作。因此,为便于数字信号处理,DSP在系统结构和指令算法方面进行了特殊设计,如采用便于大量数据传输的哈佛体系结构及硬件乘法器和硬件乘累加器设计,以加快数据的传输、乘法及乘累加操作的速度。
哈佛体系结构如图1.2所示,它与传统的冯 • 诺依曼体系结构(见图1.3)不同,程序存储器与指令存储器是分开的,有两套地址总线与数据总线,在取指令的同时也可取数据,克服了冯 • 诺依曼体系结构取指令时不能取数据带来的数据传输屏颈。
图1.2 哈佛体系结构
图1.3 冯·诺依曼体系结构模型
DSP芯片厂商主要有TI(德州仪器)、Motorloa、Lucent等。
TI占据DSP市场80%以上份额,主要产品有2000、5000与6000三个系列,其中2000系列主要用于高速控制领域,5000系列主要用于音频处理,6000系列主要用于视频处理。
3.嵌入式微处理器MPU
MPU(Micro Processor Unit)是由通用计算机中的CPU演变而来的,主要类型有Am186/88、386EX、SC-400、PowerPC、68000、MIPS、SPARC与ARM等系列。
(1)PowerPC
PowerPC架构的处理器最初是由IBM、Motorola和Apple三家公司联合研制的产品,1994年第一个PowerPC处理器PowerPC 601问世,到现在已有几十种PowerPC处理器投放市场,其主频范围从32 MHz到1 GHz不等。Apple后来放弃了PowerPC,但IBM与Motorola仍还在继续研发和生产PowerPC处理器。
PowerPC处理器品种很多,既有通用的处理器,又有嵌入式控制器和内核,应用范围非常广泛,从高端的工作站、服务器到桌面计算机系统,从消费类电子产品到大型通信设备,无所不包。
PowerPC主要型号是PowerPC 750,它于1997年研制成功,最高的工作频率可以达到500 MHz,采用先进的铜线技术。该处理器有许多品种,以便适合各种不同的系统。包括IBM小型机、苹果计算机和其他系统。嵌入式用的为PowerPC 405(主频最高为266 MHz)和PowerPC 440(主频最高为550 MHz),其内核可以用于各种SoC设计上,在电信、金融和其他许多行业具有广泛的应用。
(2)MIPS
MIPS(Microprocessor without Interlocked Piped Stages),为无内部互锁流水级的微处理器。
MIPS微处理器最早是在20世纪80年代初期由斯坦福大学Hennessy教授领导的研究小组研制出来的。1984年,MIPS计算机公司成立,1992年,SGI收购了MIPS计算机公司,1998年,MIPS脱离SGI,成为MIPS技术公司。MIPS技术公司是一家设计与制造高性能嵌入式32位和64位处理器的厂商,在RISIC处理器方面占有重要地位。
MIPS系列微处理器是目前仅次于ARM的用得最多的处理器之一(1999年以前MIPS是世界上用得最多的处理器),其应用领域覆盖游戏机、路由器、激光打印机、掌上电脑等各个方面。MIPS的系统结构及设计理念比较先进,在设计理念上MIPS强调软/硬件协同提高性能,同时简化硬件设计。
MIPS处理器的发展如表1.1所示。下面仅对其中的MIPS32 24KE和MIPS32 74K做一简单介绍。
表1.1 MIPS的发展
MIPS32 24KE是MIPS公司在2000年推出的高性能、低功耗的32位处理器内核系列。该内核系列采用高性能24K微架构,同时集成了MIPS DSP特定应用架构扩展(ASE)。24KE内核系列包括24KEc、24KEf、24KEc Pro和24KEf Pro。目标市场包括机顶盒、DTV、DVD刻录机、调制解调器与住宅网关等。其功能框图如图1.4所示。
图1.4 MIPS32 24KE功能框图
MIPS32 74K(以下简称74K)是MIPS公司在2007年推出的内核产品。该产品采用标准硅工艺,是目前嵌入式市场速度较快的可综合处理器内核,主频速度达到1 GHz以上。
MIPS32 74K按照普通单元和EDA标准流程设计,采用65 nm制造工艺,内核面积为1.7 mm2。内含自主研发的嵌入式微架构,在同类产品之中的性能/芯片面积比很高。具有如下特点:
① 具有CorExtendTM功能,该功能可供用户自定义指令。具有二进制兼容的特性,可以直接替代原有的MIPS32 24K系列内核,而不需要对应用代码进行任何修改;
② 74K内核运行速度可达到24K内核的1.5倍到1.6倍。
③ 双流水线架构,支持非对称双发。
④ 一条6级地址生成(AGEN)流水线可处理存储转移负载,并控制传输分支转移指令。另外一条5级ALU流水线处理所有的与算数、逻辑和计算相关的指令。提供加快DSP和媒体处理应用的增强型指令集DSP ASE(第2版)。
(3)SPARC
SPARC(Scalable Processor Architecture),即可扩展处理器架构,是SUN公司在1985年提出的体系结构标准,它基于1980年到1982年间加州大学伯克利分校关于Berkeley RISC的研究成果,并由一个独立、非盈利组织SPARC International负责SPARC架构标准的管理和开发认证,是国际上流行的RISC(Reduced Instruction Set Computer)微处理器体系架构之一。SPARC是开放的,任何机构或个人均可研究或开发基于SPARC架构的产品,如东芝、富士通、Aeroflex、ESA(Europen Space Agent)、北京时代、珠海欧比特等都在此架构上开发出了自己的SPARC微处理器。
1985年,SUN发布了世界上第一个32位可扩展处理器架构标准SPARC V7。V7定义了SPARC体系结构的数据类型、寄存器、指令、存储器模型和异常处理,处理器指令字长是32位。它采用独立的指令(SAVE,RESTORE)来进行寄存器管理,用LOAD和STORE指令访问内存。
1987年,SUN发布了业界第一款有可扩展性功能的32位微处理器SPARC。因为它采用了SPARC的首款架构SPARC V7,所以获得了更高的流水线硬件执行效率和更为优化的编译器,并缩短了其开发周期,满足了Sun-4计算机迅速投放市场的要求。
1990年,SPARC International发布了32位SPARC V8架构标准。它在SPARC V7的基础上增加了乘法和除法指令,加速乘除法的处理,使得用户不必使用子程序完成相同操作。
1994年,SPARC International发布了64位SPARC V9架构标准。相对于SPARC V8,这一版本的显著变化在于:数据和地址的位宽由32位变到64位,支持超标量微处理器的实现,支持容错及多层嵌套陷阱,具有超快速陷阱处理及上下文切换能力。
1995年以前,基于SPARC V7或V8架构的微处理器种类不多,而且基本上只有SUN一家公司在研制开发。从1995年以后,基于SPARC V9架构的64位SPARC微处理器日渐丰富,其面向高性能计算和服务器的微处理器得到了市场广泛的接受,如SUN的UltraSPARCT1/T2系列及富士通的SPARC64系列等。
2003年,随着基于SPARC V8架构的LEON2的发布,面向高可靠嵌入式领域(如工业控制、军工电子、空间应用等)的SPARC微处理器的研制得到了众多公司的青睐。ESA研制了基于SPARC V7架构的ERC32微处理器,ATMEL制造了SPARC V8架构的AT697微处理器。
SPARC微处理器具备精简指令集、支持32位/64位数据精度,架构运行稳定、可扩展性优良、体系标准开放等特点。此外,寄存器窗口技术既是SPARC微处理器的显著特点,也是SPARC架构不同于由斯坦福大学提出的MIPS微处理器架构的主要不同点之一。采用这项技术可以显著减少过程调用和返回执行时间、执行的指令条数和访问存储器的次数,从而易于实现直接高效的编译。寄存器窗口技术是将工作寄存器组成若干窗口,建立一个环形结构,利用重叠寄存器窗口来加快程序的运转。每个过程分配一个寄存器窗口(含有一组寄存器),当发生过程调用时,可以把处理器转换到不同寄存器窗口使用,无需保存和恢复操作。相邻寄存器窗口部分重叠,便于调用参数传送。为每个过程提供有限数量的寄存器窗口,各个过程的部分寄存器窗口重叠。
伴随LEON2的发布,SPARC微处理器在嵌入式应用领域获得了巨大的发展空间,全球大约已有3万多个成功的应用案例。比较著名的是国际空间站上的控制计算机DMS-R及空间自动转移器ATV中均使用了SPARC微处理器ERC32,而在太空观测台JEM-EUSO上则使用了SPARC V8架构的微处理器。国内研制的SPARC微处理器在军工电子领域已得到应用,在民用领域正处于普及推广应用过程中。
经过20多年的发展,SPARC微处理器凭借其持续的创新研发能力,不断取得骄人成绩。在服务器等高端处理器领域,以及在空间应用等高可靠嵌入式应用领域,SPARC微处理器发挥着越来越重要的作用。如ESA已决定在2013年发射的水星探测任务中采用SPARC微处理器。
SPARC架构标准的开放和最先进的多核心、多线程SPARC微处理器的设计代码开放,促使世界上越来越多的公司、机构和大学加入到SPARC微处理器的研发中。到目前为止,对于开源的SPARC微处理器设计代码,已经有超过10,000个下载。而业界对研究SPARC微处理器的积极响应,必将推动SPARC微处理器持续进步,让它始终具有超强的竞争性。
(4)ARM
ARM最初是由英国Acorn Computer公司于1983~1985年间设计的第一个商用RISC微处理器架构。
1990年,ARM(Advanced RISC Machines)公司成立。现ARM公司已成为一个全球领先的嵌入式微处理器IP(Intellectual Property)核供应商,提供一些高性能、低功耗、低成本和高可靠性的RISC处理器核、外围部件和系统级芯片设计方案,自己既不生产芯片也不销售芯片。
ARM微处理器核的特点是结构简单、低功耗、低成本、高性能,适用于便携式通信工具、手持式计算机、多媒体数字消费类产品以及其他的嵌入式系统。
关于ARM的更多介绍请参见第2章。
4.嵌入式片上系统SoC
SoC(System on Chip),意为“片上系统”,即将一个“系统”所需的功能模块都做在一个芯片上。如将USB、TCP/IP、GPRS、GSM、IEEE1394、蓝牙等模块都集成在一块芯片上,而这些单元以往都是一个个独立的IC。这样做有如下好处:
(1)实现了软、硬件无缝结合,可直接在微处理器芯片内嵌入操作系统的代码模块。
(2)通过改变内部工作电压,可降低芯片功耗。
(3)减少芯片对外引脚数,简化了制造过程。
(4)减少了外围驱动接口单元及电路板之间的信号传递,可以加快其数据处理的速度。
(5)内嵌的线路可以避免外部电路板在信号传递时所造成的系统杂讯干扰。
将SoC与PLD/FPGA相结合便产生另一种新的嵌入式处理器SoPC(System On Programmable Chip),即可编程片上系统,其结合了SoC和PLD/FPGA各自的技术优点,使得系统具有可编程的功能,是可编程逻辑器件在嵌入式应用中的完美体现,极大提高了系统的在线升级、换代能力。
嵌入式处理器的以上划分是历史上形成的,并不一定合理,实际上有时很难将一款嵌入式处理器归为以上的哪一类,如三星公司的S3C2440嵌入式微处理器片上就集成了USB、LCD、AC97、摄影机、串口、IIC与IIS等控制器,算得上是一款SoC,但通常仍将其当做一款微处理器。