目录
嵌入式微处理器分类
嵌入式硬件结构
嵌入式微处理器的分类
典型8位微处理器
8位微处理器结构
8051单片机的硬件组成
8051单片机的引脚
时钟电路
MCS-51指令集
典型16位微处理器
16位微处理器结构
MSP430单片机硬件结构
典型32位微处理器
32位微处理器特点
ARM处理器概述
ARM处理器工作状态
ARM运行模式
ARM寄存器结构
I/O端口编址
ARM指令集
ARM异常
MIPS系列
Power PC
DSP处理器
DSP概述
典型数字信号处理器
硬件结构
DSP的发展方向
多核处理器结构
多核处理器原理
典型多核处理器
嵌入式微处理器分类
嵌入式硬件结构
嵌入式硬件系统基本结构如下图所示,一般由嵌入式微处理器、存储器、输入/输出部分组成,其中,嵌入式微处理器是嵌入式硬件系统的核心,通常由三大部分组成:控制单元(控制器)、算数逻辑单元(运算器)、寄存器。
嵌入式微处理器的分类
根据嵌入式微处理器的字长宽度,可分为4位、8位、16位、32位和64位。一般把16位及以下的称为嵌入式微控制器(Embedded Micro Controller),32位及以上的称为嵌入式微处理器。
如果按系统集成度划分,可分为两类:一种是微处理器内部仅包含单纯的中央处理器单元,称为一般用途型微处理器:另一种则是将CPU、ROM、RAM及I/O等部件集成到同一个芯片上,称为单芯片微控制器(Single Chip Micro Controller)。
如果根据用途分类,一般分为嵌入式微控制器MCU、嵌入式微处理器MPU、嵌入式数字信号处理器DSP、嵌入式片上系统(System-on-a-chip,SoC)等。
嵌入式微控制器MCU的典型代表是单片机,其片上外设资源比较丰富,适合于控制。MCU芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、FlashRAM、EEPROM等各种必要功能和外设。和嵌入式微处理器相比,
微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高,其片上外设资源一般较丰富,是嵌入式系统工业的主流。
嵌入式微处理器MPU由通用计算机中的CPU演变而来。它的特征是具有32位以上的处理器,具有较高的性能,当然其价格也相应较高。但与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。与工业控制计算机相比,嵌入式微处理器具有体积小、质量轻、成本低、可靠性高的优点。目前常见的有ARM、MIPS、POWER PC等。
嵌入式数字信号处理器DSP是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令的执行速度。采用哈佛结构,流水线处理,其处理速度比最快的CPU还快10~50倍。在数字滤波、FFT、谱分析等各种仪器上DSP获得了大规模的应用。
嵌入式片上系统SoC,是追求产品系统最大包容的集成器件。SoC最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。而且SoC具有极高的综合性,在一个硅片内部运用VHDL等硬件描述语言,实现一个复杂的系统。通常是专用的芯片。
典型8位微处理器
8位微处理器结构
8位微处理器是指使用8位数据总线的微处理器,大部分8位微处理器有16位的地址总线,其能够访问64KB的地址空间。8051单片机是8位微处理器中的典型产品,其结构如下图所示。
8051单片机的硬件组成
CPU(中央处理器):单片机核心部件,是8位数据宽度的处理器,能处理8位二进制数据和代码;完成各种运算和控制操作,由运算器(ALU、ACC、B寄存器、PSW、暂存器)和控制器(PC、指令寄存器、指令译码器、数据指针DPTR、堆栈指针SP、缓冲器、定时与控制电路)组成。
存储器:哈佛体系结构,程序存储器和数据存储器的寻址空间是相互独立的,物理结构也不相同。包括ROM(只读存储器)、RAM(随机存储器)。
两个16位的可编程定时/计数器,即定时器0和1,实质都是计数器,用作定时器时是对单片机内部的时钟脉冲进行计数,用作计数器时是对单片机外部的输入脉冲进行计数。
并行I/O口:8051单片机共有四组8位的I/O口(PO/P1/P2/P3),每一条I/O线都能独立地用作输入或输出。
串行I/O口:8051单片机具有一个全双工串行通信接口,可以同时发送和接收数据。
时钟电路:8051芯片内部有时钟电路,但晶体振荡器和微调电容必须外接,时钟电路为单片机产生时钟脉冲序列。
8051共有五个中断源:外部中断两个,定时/计数中断两个,串口中断一个。是二级中断优先级控制。
8051单片机的引脚
MCS-51系列单片机中采用40引脚封装的双列DTP结构,如下图所示。
(1)通用I/O口线。
PO口为数据/地址复用口,它既可作为通用I/O口,又可作为外部扩展时的数据总线及低8位地址总线的分时复用口。
P1口是单纯的I/O口,一般作通用I/O口使用。
P2口也是数据/地址复用口,一般作为外部扩展时的高8位地址总线使用。
P3口是双功能复用口,复用功能包括串口中断、外部中断、定时器中断、读写复用信号。
(2)控制口线。
ALE/PROG:地址锁存允许/片内EPROM编程脉冲。
ALE功能:用来锁存PO口送出的低8位地址。
PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
PSEN:外部ROM读选通信号。
RST/VPD:复位/备用电源。
RST(Reset)功能:复位信号输入端。
VPD功能:在Vcc掉电情况下,接备用电源,保证单片机内部RAM的数据不丢失。
EA/Vpp:内外ROM选择/片内EPROM编程电源。
EA功能:内外ROM选择端。
Vp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
电源口线:GND地引脚;Vcc电源引脚,正常工作或对片内EPROM编写程序时,接+5V电源。
时钟口线:时钟XTAL1引脚,片内振荡电路的输入端;时钟XTAL2引脚,片内振荡电路的输出端。
(3)控制引脚工作原理。
1)Pin9:RST复位信号复用脚。当8051通电,时钟电路开始工作,在RST引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0~P3输出口全部为高电平,堆栈指针SP写入07H,其他专用寄存器SFR被清0,RAM不改变。RST信号由高电平下降为低电平后,系统即从0000H地址开始执行程序。
8051的复位有冷启动和热启动两种方式。
冷启动:上电自动复位,在断电状态下给系统加电,让系统开始正常运行。
热启动:手动复位,在不断电状态下,给单片机复位脚一个复位信号,让系统重新开始。
8051的复位启动方式如下图所示。
2)Pin30:ALE。当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。还有一个特点是当访问外部程序存储器时,ALE会跳过一个脉冲。
3)Pin29:PESN。当访问外部程序存储器时,此引脚输出负脉冲选通信号,PC机的16位地址数据将出现在PO和P2接口上,外部程序存储器则把指令数据放到PO接口上,由CPU读入并执行。
4)Pin31:EA/Vpp。程序存储器的内外部选通线,8051和8751单片机,内置有4KB的程序存储器,当EA为高电平并且程序地址小于4KB时,读取内部程序存储器指令数据,而地址超过4KB则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。在编程时,EA/Vpp引脚还需加上21V的编程电压。
时钟电路
8051的时钟有两种方式,如下图所示,一种是内部时钟方式,但需在18和19引脚外接石英晶体和振荡电容。另外一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。
MCS-51指令集
MCS-51指令集共111条指令,可分为五类:
(1)数据传送类指令,29条,数据传送指令一般的操作是把源操作数传送到目的操作数;指令执行完成后,源操作数不变,目的操作数等于源操作数。如MOVA,#67H。
(2)算数运算类指令,24条,算术运算主要是执行加、减、乘、除法、加1、减1、BCD码的运算和调整;除加1、减1指令外,大多数指令都对PSW有影响。如ADDA,#58H。
(3)逻辑运算及移位类指令,24条,有与、或、异或、求反、左右移位、清0等逻辑操作,有直接、寄存器和寄存器间址等寻址方式。这类指令一般不影响PSW。如CLRA。
(4)控制转移类指令,17条,用于控制程序的流向。如LJMPAAAAH。
(5)布尔变量操作类指令,17条,布尔变量也即开关变量,它是以位(bit)为单位进行操作的。
典型16位微处理器
16位微处理器结构
继8位的微处理器后,许多厂商为了满足更复杂的应用,推出了16位微处理器。16位微处理器是指内部总线宽度为16位的微处理器。16位微处理器的操作速度及数据吞吐能力在性能上比8位微处理器有较大的提高,它的数据宽度增加了一倍,实时处理能力更强,主频更高,集成度、RAM和ROM都有较大的增加,而且有更多的中断源,同时配置了多路的A/D转换通道和高速的I/O处理单元,适用于更复杂的控制系统。
目前16位微控制器以Intel公司的MCS-96/196系列、TI公司的MSP430系列和Motorola公司的68H12系列为主。
MSP430系列单片机特点:超低功耗;16位RISCCPU,冯·诺依曼架构;高性能模拟技术及丰富的片上外围模块;系统工作稳定;方便高效的开发环境。
MSP430单片机硬件结构
(1)CPU:采用三级指令流水线,包括指令译码器、16位ALU、4个专用寄存器、12个通用寄存器。
用通用内存地址总线MAB和内存数据总线MDB互联,采用冯·诺依曼架构,数据和指令集共用一个存储结构,把指令当成数据(可编程的)一样处理。
RISC架构,只包括最基本的指令,提高指令执行速度和效率,增强实时处理能力。
(2)存储器:存储程序、数据以及外围模块的运行控制信息。包括程序存储器和数据存储器。
1)程序存储器:以字形式进行访问取得代码,MSP430单片机的程序存储器有ROM、OTP、EPROM、FLASH等。
2)数据存储器:用字或字节方式访问,存储器有RAM。
(3)外围模块:MSP430不同系列产品所包含的外围模块的种类及数目可能不同,一般包括时钟模块、看门狗、定时器、比较器、串口、硬件乘法器、液晶驱动器、A/D、D/A、DMA控制器等。
(4)JTAG:联合测试行动组,研究标准测试访问接口和边界扫描结构,用JTAG表示满足该标准的接口或测试方法。
JTAG最初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(测试访问口),通过专用的JTAG测试工具对内部结点进行测试;TAP是一个通用的端口,通过TAP可以访问芯片提供的所有数据寄存器和指令寄存器。
JTAG的接口是一种特殊的4/5个管脚,包括:TDI(测试数据输入)、TDO(测试数据输出)、TCK(测试时钟)、TMS(测试模式选择)、TRST(测试复位)。
JTAG主要应用于电路的边界扫描测试和可编程芯片的在线系统编程、调试。含有JTAG Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU总线上的设备,如FLASH/RAM/Timers等。
典型32位微处理器
32位微处理器特点
32位微处理器采用32位的地址和数据总线,其地址空间达到了2³²=4GB。目前主流的32位嵌入式微处理器系列主要有ARM系列、MIPS系列、PowerPC系列等。属于这些系列的嵌入式微处理器产品很多,有千种以上。
ARM处理器概述
ARM公司是一家专门从事芯片IP设计与授权业务的英国公司,其产品有ARM内核以及外围接口。ARM内核是一种32位RISC微处理器,具有功耗低、性价比高和代码密度高等特点。
目前,70%的移动电话、大量的游戏机、手持PC和机顶盒等都已采用了ARM处理器,ARM微处理器体系结构被公认为是嵌入式应用领域领先的32位嵌入式RISC微处理器结构。
作为一种RISC体系结构的微处理器,ARM处理器具有RISC体系结构的典型特征,同时具有以下特点:
(1)在每条数据处理指令当中,都控制算术逻辑单元ALU和移位器,以使ALU和移位器获得最大的利用率。
(2)自动递增和自动寻址模式,以优化程序中的循环。
(3)同时执行Load和Store多条指令,以增加数据吞吐量。
(4)所有指令都可以条件执行,以执行吞吐量。
这些是对基本RISC体系结构的增强,使得ARM处理器可以在高性能、小代码尺寸、低功耗和小芯片面积之间获得好的平衡。
ARM处理器工作状态
ARM状态(32位):处理器执行32位的字对齐的ARM指令,能够支持所有ARM指令集,效率高,但是代码密度低。
Thumb状态(16位):处理器执行16位的、半字对齐的Thumb指令,具有较高的代码密度,却仍然保持ARM的大多数性能上的优势,是ARM指令集的子集。
ARM指令集和Thumb指令集均有切换处理器状态的指令,并可在两种工作状态之间切换;两个状态之间的切换并不影响处理器模式或寄存器内容;开始执行代码时,应该处于ARM状态。
从ARM状态切换到Thumb状态:当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态,如下图所示。当处理器处于Thumb状态时发生异常(如IRQ/FIQ/Under/Abort/SWI等),则异常处理返回时,自动切换到Thumb状态。
从Thumb状态切换到ARM状态:当操作数寄存器的状态位(位0)为0时,执行BX指令可以使微处理器从Thumb状态切换到ARM状态,如下图所示。
当处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。
ARM运行模式
ARM处理器有七种运行模式,见下表。大多数应用程序在User模式下执行,当特定的异常出现时,进入相应的六种异常模式之一。除User模式外,其他模式都被称为特权模式,可以存取系统中的任何资源,并进行模式切换。User模式下程序不能访问有些受保护的资源,也不能直接改变CPU的模式,而只能通过异常的形式来改变CPU的当前运行模式。软件可以控制CPU模式的改变,外部中断也可以引起模式的改变。
ARM处理器运行模式
处理器模式 | 说明 |
用户模式(User) | 正常程序执行模式,用于应用程序 |
异常模式(FIO) | 快速中断处理,用于支持高速数据传送通道处理 |
异常模式(IRQ) | 用于一般中断处理 |
异常模式(Supervisor) | 特权模式,用于操作系统 |
异常模式(Abort) | 存储器保护异常处理 |
异常模式(Undefined) | 未定义指令异常处理 |
异常模式(System) | 运行特权操作系统任务(ARMV4以上版本) |
ARM寄存器结构
如上图所示,ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。但是这些寄存器不能被同时访问,具体哪些寄存器是可编程访问的,取决于微处理器的工作状态及具体的运行模式。但在任何时候,通用寄存器R14~R0、程序计数器PC、一个或两个状态寄存器都是可访问的。
R0~R15是ARM中的通用寄存器,其中R0~R7是未分组的寄存器,其对应的物理寄存器都是相同的,是真正意义上的通用寄存器,功能都是等同的;R8~R14是分组的寄存器,程序访问的物理寄存器取决于当前的处理器模式;程序计数器R15用作程序计数器PC。由上图可知,FIQ模式下R8~R14是自有的,其他异常模式下,R13~R14也是自有的。
ARM体系结构中包含一个CPSR(当前程序状态寄存器)和五个SPSR(程序状态保存寄存器):
CPSR:保存当前处理器状态的信息,可以在任何处理器模式下被访问。
SPSR:每一种异常处理器模式下都有一个专用的物理状态寄存器,当特定的异常中断发生时,这个寄存器用于存放当前程序状态寄存器的内容,在异常中断程序退出时,可以用SPSR中保存的值来恢复CPSR。
用户模式和系统模式不属于异常模式,它们没有SPSR,当在这两种模式下访问SPSR时,结果是未知的。
CPSR主要包含条件标志、中断标志、当前处理器的模式、其他的一些状态和控制标志,如下图所示。
CPSR的格式如下:
(1)条件标志包括N,Z,C,V。
N——Negative,负标志。
Z——Zero,零标志。
C——Carry,进位标志。
V——overflow,溢出标志。
(2)中断标志包括I,F。
I——置1表示禁止IRQ中断的响应,置0表示允许。
F——置1表示禁止FIQ中断的响应,置0表示允许。
(3)ARM/Thumb工作状态标志位:T。
置0表示执行32位的ARM指令。
置1表示执行16位的Thumb指令。
(4)控制位M0~M4,表示ARM运行模式。
I/O端口编址
ARM的寻址空间是线性地址空间。ARM支持大端和小端的内存数据方式,可以通过硬件的方式设置端模式。I/O端口的编址方法即地址安排方式有两种:I/O映射编址和存储器映射编址。
I/O映射编址采用I/O端口与内存单元分开编址,互不影响。I/O单元与内存单元都有自己独立的地址空间。通过专门的输入指令(IN)和输出指令(OUT)来完成I/O操作。
存储器映射编址采用I/O端口的地址与内存地址统一编址方式,I/O单元与内存单元在共享同一地址空间。这种编址方式不区分存储器地址空间和I/O端口地址空间,把所有的I/O端口都当作是存储器的一个单元对待,每个接口芯片都安排一个或几个与存储器统一编号的地址号。也不设专门的输入/输出指令,所有传送和访问存储器的指令都可用来对I/O端口操作。
ARM指令集
ARM指令集包括六种典型的指令:
(1)分支指令,如B,BL等。
(2)数据处理指令,如ADD,SUB,AND等。
(3)转移指令,如MRS,MSR等。
(4)Load-Store数据移动指令,如LDR等。
(5)协处理器指令,如LDC,STC等。
(6)异常处理指令,如SWI等。
ARM指令集的特点如下:
(1)所有ARM指令都是32位定长,在内存中以4字节边界保存。
(2)Load-Store体系结构,ARM指令集属于RISC体系,一般指令只能把内部寄存器和立即数作为操作数,只有Load-Store类型的数据移动指令才可以访问内存,在内存和寄存器之间转移数据。
(3)ARM可以在一条指令中用一个指令周期完成一个移位操作和一个ALU(算术逻辑)操作。
(4)所有指令都可以条件执行,这是由其指令格式决定的,任何指令的高4位都是条件指示位,根据CPSR中的N,Z,C,V决定该指令是否执行。这样可以方便高级语言的编译器设计,很容易实现分支和循环。
(5)有功能很强的一次加载和存储(Load-Store)多个寄存器的指令:LDM和STM。这样当发生过程调用或中断处理时,只用一条指令就能把当前多个寄存器的内容保护到内存堆栈中。
ARM异常
异常是由内部或外部原因引起的。当异常发生时,CPU自动到指定的向量地址读取指令或地址并且执行。在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们会按固定的优先级进行处理。
中断——异步的,由硬件随机产生,在程序执行的任何时候可能出现。
异常——同步的,在(特殊的或出错的)指令执行时由CPU控制单元产生。
ARM中常见异常类型见下表所示。
ARM中常见异常类型
异常类型 | 具体含义 |
复位 | 复位电平有效时,产生复位异常,程序跳转到复位处理程序处执行 |
未定义指令 | 遇到不能处理的指令时,产生未定义指令异常 |
软件中断 | 执行SWI指令产生,用于用户模式下的程序调用特权操作指令 |
指令预取中止 | 处理器预取指令的地址不存在,或该地址不允许当前指令访问,产生指令预取中止异常 |
数据中止 | 处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常 |
IRQ | 外部中断请求有效,且CPSR中的I位为0时,产生IRQ异常 |
FIQ | 快速中断请求引脚有效,且CPSR中的F位为0时,产生FIQ异常 |
条指令的地址存入相应链接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行;将CPSR复制到相应的SPSR中;根据异常类型,强制设置CPSR的运行模式位;强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处;置位中断禁止标志,这样可以防止不受控制的异常嵌套。
从异常返回:将链接寄存器LR的值减去相应的偏移量后送到PC中;将SPSR复制回CPSR中;若在进入异常处理时设置了中断禁止位,要在此清除;恢复CPSR的动作会将T/F/I位自动恢复为异常发生前的值。
MIPS系列
MIPS是世界上很流行的一种RISC处理器。MIPS(Microprocessor without Interlocked Piped Stages)的意思是“无互锁流水级的微处理器”,也是目前使用最广泛的嵌入式处理器之一。其机制是尽量利用软件办法避免流水线中的数据相关问题。应用在宽带接入、路由器、调制解调设备、电视、游戏、打印机、办公用品、DVD播放等领域。
Power PC
Power PC RISC处理器实现性能增强的最主要原因就在于修改了指令处理设计,它比传统处理器的指令处理效率要高得多。它完成一个操作所需的指令数比CISC处理器要多,但完成操作的总时间却减少了。这主要是因为前者采用了超标量处理器设计和调整内存缓冲器。Power PC内核的主要特点如下:
(1)独特分支处理单元可以让指令预取效率大大提高,即使指令流水线上出现跳转指令,也不会影响到其运算单元的运算效率。
(2)超标量设计。分支单元、浮点运算单元和定点运算单元,每个单元都有自己独立的指令集井可独立运行。
(3)可处理“字节非对齐”的数据存储。
(4)同时支持大端小端数据类型。
Power PC的技术特点如下。
(1)分支处理器:读入指令队列后,会找出其中的跳转指令,然后预取跳转指令所指向的新的内存地址的指令,大大提高了指令预取的效率。Power PC RISC处理器设计了多级内存高速缓冲区,实现指令预取功能,处理器一般会同时读入多条指令到缓存或指令流水线上。
(2)超标量设计:在Power PC内部,集成了多个处理器,这些处理器可以进行独立工作,这样就可以在一个时钟周期执行多条指令。允许多条指令同时运行的多处理流水线。
(3)非字节对齐操作的兼容:可以处理非字节对齐的存储器访问,能够兼容许多从CISC处理器移植过来的指令和数据结构。字节非对齐的操作会降低处理器的性能。
(4)字节顺序的兼容:同时兼容大端、小端字节顺序。单工作在小端模式时,不能访问非字节对齐的数据。
DSP处理器
DSP概述
DSP是专为数字信号处理而设计的处理器,可快速实现各种数字信号处理算法。其有多总线结构和哈佛体系结构。多总线结构,允许CPU同时进行指令和数据的访问,因而可以实现流水线操作。哈佛体系结构,程序和数据空间分开,可以同时访问指令和数据。
数字信号处理的运算特点:乘/加,反复相乘求和(乘积累加)。DSP设置了硬件乘法/累加器,能在单个指令周期内完成乘法/加法运算。
DSP主要应用:信号处理、图像处理、仪器、语言处理、控制、军事、通信、医疗、家用电器等领域。
典型数字信号处理器
下面以TI公司的TMS32LF2407A为例,对其内部结构和组成进行介绍,其结构框图如下图所示。
硬件结构
CPU及总线结构:TMS320LF2407A的CPU是基于TMS320C2XX的16位定点低功耗内核。体系结构采用四级流水线技术加快程序的执行,可在一个处理周期内完成乘法、加法和移位运算。其程序存储器总线和数据存储器总线相互独立,支持并行的程序和操作数寻址,因此CPU的读/写可在同一周期内进行,这种高速运算能力使自适应控制、卡尔曼滤波、神经网络、遗传算法等复杂控制算法得以实现。
存储器配置:TMS320LF2407A有16位地址线,地址映像被组织为三个可独立选择的空间:程序存储器(64KB)、数据存储器(64KB)、I/O空间(64KB)。这些空间提供了共192KB的地址范围。片内存储器包括RAM、BootROM、FLASH等存储器。
事件管理器模块:TMS320LF2407A包含两个专用于电机控制的事件管理器模块EVA和EVB,每个事件管理器模块包括通用定时器(GP,可用于产生采样周期,作为全比较单元产生PWM输出以及软件定时的时基)、全比较单元(产生PWM输出信号控制功率器件,死区控制单元用来产生可编程的软件死区)、正交编码脉冲电路(QEP,可以对引脚上的正交编码脉冲进行解码和计数,可以直接处理光电编码盘的双路正交编码脉冲)、捕获单元(用于捕获输入引脚上信号的跳变)。
片内集成外设:TMS320LF2407A片内集成了丰富的外设,大大减少了系统设计的元器件数量。包括串行通信接口(异步SCI和同步SPI),A/D转换模块、CAN总线、锁相环电路PLL(实现时钟选项)、等待状态发生器(可通过软件编程产生用于用户需要的等待周期,以配合外围低速器件的使用)、看门狗定时器(监控系统软件和硬件工作)、实时中断定时器(产生周期性的中断请求)、外部存储器接口(可扩展存储空间最大192KB×16bit)、数字I/O(复用引脚)、JTAG接口(在线仿真和测试)、外部中断。
DSP的发展方向
系统级集成:缩小DSP芯片尺寸始终是DSP的技术发展方向。当前的DSP多数基于精简指令集计算(RISC)结构,这种结构的优点是尺寸小、功耗低和性能高。各DSP厂商纷纷采用新工艺,改进DSP芯核,并将几个DSP芯核、MPU芯核、专用处理单元、外围电路单元和存储单元集成在一个芯片上,成为DSP系统级集成电路。
更高的运算速度:目前一般的DSP运算速度为100MIPS,即每秒钟可运算1亿条指令,但由于电子设备的个人化和客户化趋势,DSP必须追求更高更快的运算速度,才能跟上电子设备的更新步伐。DSP运算速度的提高主要依靠新工艺改进芯片结构。
可编程性:可编程DSP给生产厂商提供了很大的灵活性。生产厂商可在同一个DSP平台上开发出各种不同型号的系列产品,以满足不同用户的需求。同时,可编程DSP也为广大用户提供了易于升级的良好途径。许多微控制器能做的事情,使用可编程DSP能做得更好、更便宜,例如冰箱、洗衣机这些原来装有微控制器的家电如今都己换成可编程DSP来进行大功率电机控制。
支持高级编程语言的DSP开发软件:支持使用高级程序设计语言开发DSP软件。
并行处理结构:支持在DSP平台上同时运行多个DSP软件。
功耗低:降低现有DSP运行的功耗。
多核处理器结构
多核处理器原理
双核处理器是基于单个半导体的一个处理器上拥有两个处理器核心。
由于将两个或多个运算核封装在一个芯片上,可节省大量晶体管、封装成本;显著提高处理器性能;兼容性好;系统升级方便。
两个或多个内核工作协调可通过对称多处理技术和非对称处理技术来实现。
(1)对称多处理技术:将两个完全一样的处理器封装在一个芯片内,达到双倍或接近双倍的处理性能,节省运算资源。
(2)非对称处理技术:两个处理内核彼此不同,各自处理和执行特定的功能,在软件的协调下分担不同的计算任务。
从目前已经发布或透露的多核处理器原型来看,对称式的处理方式将成为未来多核处理器的主要体系结构,同时,多核间将共享大容量的缓存作为处理器之间及处理器与系统内存之间交换数据的“桥梁”。为了提高交换速度,这些缓存往往集成在片内,其数据传输速度是惊人的。
典型多核处理器
下面以TI公司的开放式多媒体应用平台(Open Multimedia Applications Platform,OMAP)双核处理器OMAP5910为例,对双核处理器进行介绍。
OMAP是TI公司推出的专门为支持3G无线终端应用而设计的应用处理器体系结构;提供了语音、数据和多媒体所需的功能,能以极低的功耗提供极佳的性能。OMAP5910处理器是由TI的TMS320C55xDSP内核与ARM925微处理器所组成的双核应用处理器。其中,55x系列可提供对低功耗应用的实时多媒体处理的支持;ARM可满足控制和接口方面的处理需要。
特点:基于双核结构,OMAP5910具有极强的运算能力和极低的功耗,基于其开发的产品性能高且功耗低;采用开放式易于开发的软件设施;支持多种操作系统;可以通过API或者用户熟悉且易于使用的工具优化其应用程序。
优势:两个独立的内核完成处理任务,ARMMPU负责支持应用操作系统并完成以控制为核心的应用处理;DSP负责完成多媒体信号(语言、图像、视频等)的处理;使操作系统的效率和多媒体代码的执行更加优化;合理划分总工作负荷。
OMAP5910的架构图如下图所示。
OMAP5910硬件功能模块包括MCU子系统、DSP子系统、传输控制器(TC)、直接存储器访问单元(DMA)、两级中断管理器及丰富的外围接口等。
MPU子系统采用ARM925核,通过使用协处理器CP15使体系结构得到增强。系统中的控制寄存器可通过对协处理器CP15的读写来对MMU、cache和读写缓存控制器进行存取操作。这种微构架在ARM核的周围提供了指令与数据存储器管理单元,指令、数据和写缓冲器,性能监控、调试和JTAG单元以及协处器接口,MAC协处理器和内核存储总线。
DSP子系统中的C55xDSP核具有极佳的功耗性能比,内核主要由四个单元组成:指令缓冲单元(I单元)、程序流单元(P单元)、地址数据流单元(A单元)和数据运算单元(D单元)。它支持无线网络传输与语音数据处理等工作,能提供高效谐振数据处理能力。
C55xDSP核采用了多项新技术:增大的空闲省电区域、变长指令、扩大的并行机制等。其结构针对多媒体应用做了高度优化,适合低功耗的实时语音图像处理。C55xDSP核还新增了图像位移预测、离散余弦变换/反变换和1/2像素插值的视频硬件加速器,从而可以提高数据处理速度,降低视频处理功耗。
传输控制器TC管理着MPU、DSP、DMA以及局部总线对OMAP5910系统存储资源(如SRAM、SDRAM、FLASH、ROM等)的访问。它的主要功能是确保处理器能够高效访问外部存储区,并避免产生瓶颈现象而降低片上处理速度。TC通过三种不同的接口支持处理器或DMA单元对存储器的访问,即EMIFS、EMIFF和IMIF。其中EMIFS外部存储器接口提供对FLASH、SRAM和ROM的访问;EMIFF外部存储器接口提供对SDRAM的访问;IMIF内部存储器接口提供对OMAP5910片内192KBSRAM的访问。
系统控制功能:OMAP5910的系统控制模块提供了实时时钟(RTC)、看门狗(WT)、中断控制器、功率管理控制器、复位控制器和两个片上振荡器。
时钟和电源管理:OMAP5910提供了两个振荡器来辅助管理电源耗损,设计系统时,在待机模式下可以直接关闭12MHz的振荡输入,只留下32kHz振荡器来维持系统运作。
外围控制模块:OMAP5910微处理器拥有九个独立通道和七个接收/发送端口的DMA控制器。DMA控制器可响应内部和外部设备的请求,在MPU运行的条件下,完成外部寄存器、内部寄存器和外部设备之间的数据传输。系统DMA的设置取决于MPUTI925T(ARM9TDMI)内核。