第2章--TMS320C54x的硬件结构-《DSP原理及实践应用》电子课件.ppt
-
资源ID:91534184
资源大小:2.86MB
全文页数:113页
- 资源格式: PPT
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
第2章--TMS320C54x的硬件结构-《DSP原理及实践应用》电子课件.ppt
第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构内容提要内容提要内容提要 TMS320C54xTMS320C54xTMS320C54x芯片的引脚功能、内外部总线、芯片的引脚功能、内外部总线、芯片的引脚功能、内外部总线、CPUCPUCPU结构、结构、结构、内部存储器结构、片内外设电路、系统控制等。其内内部存储器结构、片内外设电路、系统控制等。其内内部存储器结构、片内外设电路、系统控制等。其内容有:容有:容有:C54xC54xC54x的基本结构和外部引脚的基本结构和外部引脚的基本结构和外部引脚 总线结构总线结构总线结构 存储器和存储器和存储器和I/OI/OI/O 中央处理单元(中央处理单元(中央处理单元(CPUCPUCPU)流水线操作流水线操作流水线操作 C54xC54xC54x的中断系统的中断系统的中断系统 C54xC54xC54x的外部总线的外部总线的外部总线 本章小结本章小结本章小结第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 2.1 C54x2.1 C54x的基本结构和外部引脚的基本结构和外部引脚 TMS320C54x具有的主要优点如下:(1)CPU(中央处理单元)利用其专用的硬件逻辑和高度并行性提高芯片的处理性能。(2)存储器具有192 K字可寻址存储空间(包括64 K字程序存储空间、64 K字数据存储空间和64 K字I/O空间)。其中,TMS320C548、TMS320C549、TMS320C5402、TMS320C5410和TMS320C5420的程序存储空间还可以扩展到8 M字。(3)高度专业化的指令集能够快速地实现算法并用于高级语言编程优化。(4)片内外设和专用电路采用模块化的结构设计,可以快速地推出新的系列产品。第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构(5)TMS320C54x 执行单周期定点指令时间为25/20/15/12.5/10 ns,每秒指令数为40/66/100MIPS。(6)TMS320C54x 电源由IDLE1、IDLE2 和IDLE3 功耗下降指令控制功耗,以便DSP 工作在节电模式下,使之更适合于手机。其控制CLKOUT 引脚的输出,省功耗。(7)在片仿真接口、片上的JTAG 接口符合IEEE1149.1 边界扫描逻辑接口标准,可与主机连接,用于芯片的仿真和测试。第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构2.1.1 C54x2.1.1 C54x的基本结构的基本结构中央处理器CPU内部总线控制存储器系统(数据存储器RAM、程序存储器ROM)外设接口(包括I0 接口(扩展功能)、串行口、主机通信接口HPI、定时器、中断系统)第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构各部分功能(1)中央处理器(CPU)它是DSP 的运算核心,采用了流水线指令执行结构和相应的并行处理结构,提高了CPU 运算速度,在一个周期内可对数据进行高速的算术和逻辑运算。(2)内部总线控制 C54x 有8 组16 位总线:通过1 组程序总线、4 组地址总线和3 组数据总线,在一个指令周期内可产生两个存储地址访问数据,实现流水线并行数据处理。第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构(3)存储器系统 C54x 存储器系统包括数据存储器RAM、程序存储器ROM。现分述如下:数据存储器RAM:两种片内数据存储器。单寻址RAM(SARAM):在一个指令周期内只进行一次存取操作。双寻址RAM(DARAM):在 个指令周期内,可进行一次读出和一次写入两次存取操作。程序存储器ROM C54x 的程序存储器可由ROM 和RAM 配置而成。当需要芯片高速运行程序时,可将片外ROM 中的程序调入到片内RAM 中,以提高程序的运行速度。第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构(5)外设接口 C54x 外设接口包括、I0 扩展功能接口、串行口、主机通信接口HPI、定时器、中断系统)等5 个部分组成。I/O 口(扩展功能)TMS320C54x 系列芯片只有两个通用I/O 口引脚(BIO 和XF)。其中BIO 主要作用是监测外部设备的工作状态,XF主要作用是发信号给外部设备。同时C54x 芯片还配有主机接口(HPI)、同步串行口和64 千字I/O 空间,HPI 和串行口可以通过设置,用作通用I/O 使用。串行口 不同型号的C54x 芯片可分为4 种不同串行口功能配置:标准同步串行口SP、带缓冲器的同步串行口BSP、带缓冲器的多通道同步串行口McBSP 和时分复用串行口TMD.第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 TMS320C54x 芯片不同的器件型号其引脚的个数不同,基本上都采用塑料或陶瓷四方扁平封装形式(TQFP)。2.1.22.1.2C54xC54x的引脚功能的引脚功能1441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930313233343536108107106105 104 103 102 101 100 99 98 97 969594939291908988878685848382818079787776757473TMS320VC5402373839404142434445464748495051525354555657585960616263646566676869707172第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构TMS320VC5402管脚示意图第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 C54x DSP可以利用两个辅助寄存器算术运算单元(ARAU0 和ARAU1),在1个周期内产生两个数据存储器的地址。PB能够将存放在程序空间(如系数表)中的操作数传送到乘法器和加法器,以便执行乘法/累加操作,或通过数据传送指令(MVPD 和READA 指令)传送到数据空间的目的地址。C54x DSP 还有一条在片双向总线,用于寻址片内外设。这条总线通过CPU 接口中的总线交换器连到DB和EB。第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 通常C54x DSP的总存储空间为192K 字,可分为3个存储空间:64K字的程序存储空间、64K字的数据存储空间和64K字的I/O空间。所有的C54x DSP片内都有随机存储器(RAM)和只读存储器(ROM)。RAM有单寻址RAM(SARAM)和双寻址RAM(DARAM)两种类型。用户可以将双寻址RAM(DARAM)和单寻址RAM(SARAM)配置为数据存储器或程序/数据存储器。与片外存储器相比,片内存储器具有不需插入等待状态、成本和功耗低等优点。当然,片外存储器具有能寻址较大存储空间的能力,这是片内存储器无法比拟的。2.3 2.3 存储器和存储器和I/OI/O空间空间第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构存储器类型C541 C542 C543 C545 C546 C548 C549 C5402 C5410 C5420ROM 28K 2K 2K 48K 48K 2K 16K 4 K 16 K 0程序ROM 20K 2K 2K 32K 32K 2K 16K 4 K 16 K 0程序/数据 8K 0 0 16K 16K 0 16K 4 K 0 0DARAM 5K 10K 10K 6K 6K 8K 8K 16 K 8 K 32 KSARAM 0 0 0 0 0 24K 24K 0 56 K 168 K表2-3-1C54x DSP片内存储器配置(单位:字)第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构C54x 通过MP/MC、OVLY 和DROM 3 个状态位,可以很方便地“使能”和“禁止”程序和数据空间中的片内存储器。1)MP/MC 位若MP/MC=0,则片内 ROM 安排到程序空间,若MP/MC=1,则片内 ROM 不安排到程序空间。2)OVLY 位若 OVLY=1,则片内RAM 安排到程序和数据空间;若 OVLY=0,则片内RAM 只安排到数据存储宇间。3)DROM 位 当DROM=1,则部分片内RAM 安排到数据空间;当DROM=0,则片内RAM 不安排到数据空间。DROM 用法与MP/MC 的用法无关。第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构图2.3.1 C5402 存储器配置结构第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 C5402 可以扩展程序存储器空间。采用分页扩展方法,使其程序空间可扩展到 1024K 字。为此,设有 20 根地址线,增加了一个额外的存储器映像寄存器 程序计数器扩展寄存器(XPC),以及6 条寻址扩展程序空间的指令。C5402 中的程序空间分为 16 页,每页64K 字,如图2.3 所示。第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构图2-3 C5402扩展程序存储器图第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 多数C54x DSP 的外部程序存储器可寻址64 K 字的存储空间。它们的片内 ROM、双寻址RAM(DARAM)以及单寻址RAM(SARAM),都可以通过软件映像到程序空间。当存储单元映像到程序空间时,处理器就能自动地对它们所处的地址范围寻址。如果程序地址生成器(PAGEN)发出的地址处在片内存储器地址范围以外,处理器就能自动地对外部寻址。表2-3-2 列出了 C54x DSP 可用的片内程序存储器的容量。由表可见,这些片内存储器是否作为程序存储器,取决于软件对处理器工作方式状态寄存器(PMST)的状态位 MP/MC 和OVLY 的编程。2.3.2 程序存储器第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 当处理器复位时,复位和中断向量都映像到程序空间的FF80h。复位后,这些向量可以被重新映像到程序空间中任何一个128 字页的开头。这就很容易将中断向量表从引导ROM 中移出来,然后再根据存储器图安排。第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 C54x DSP 的片内ROM 容量有大(28K 或48K 字)有小(2K 字),容量大的片内ROM 可以把用户的程序代码编写进去,然而片内高2K 字ROM 中的内容是由 TI 公司定义的,图2.3.3 所示为 C54x DSP 片内高2K 字ROM 中的内容及其地址范围。这2K 字程序空间(F800h FFFFh)中包含如下内容:(1)自举加载程序。从串行口、外部存储器、I/接口或者主机接口(如果存在的话)自举加载。(2)256 字A 律压扩表。(3)256 字 律压扩表。(4)256 字正弦函数值查找表。(5)中断向量表。如果MP/MC 0,则用于代码的地址范围 F800h FFFFh被映射到片内ROM。第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构C542/543/548/549/5402/5410C541/545/546FF80hFF00hFE00hFD00hFC00hFB00hFA00hF900hF800h用户程序 自举加载代码保留中断矢量表 中断矢量表保留正弦查找表256字u律扩展表256字u律扩展表图2.3.3片内ROM程序存储器映射(高2K字的地址)第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构XPC=127XPC=2 XPC=1XPC=07F FFFF02 FFFF01 FFFF00 FFFF7F 000002 000001 000000 0000第0页64K字第1页64K字第2页64K字第127页64K字图2.3.4片内RAM不映射到程序空间(OVLY=0)的扩展程序存储器第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 当片内RAM 安排到程序空间(OVLY=1)时,每页程序存储器分为两部分:一部分是公共的32K 字,另一部分是各自独立的32K 字。公共存储区为所有页共享,而每页独立的32K 字存储区只能按指定的页号寻址,如图2.3.5 所示。第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 C54x DSP 的数据存储器容量最多达64K 字。除了单寻址和双寻址RAM(SARAM 和DARAM)外C54x 还可以通过软件将片内ROM 映像到数据存储空间。表2-3-3 列出了各种C54x可用的片内数据存储器的容量。当处理器发出的地址处在片内存储器的范围内时,就对片内的RAM 或数据ROM(当ROM 设为数据存储器时)寻址。当数据存储器地址产生器发出的地址不在片内存储器的范围内时,处理器就会自动地对外部数据存储器寻址。2.3.3 数据存储器第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构表2-3-3各种C54x可用的片内数据存储器容量器 件程序/数据ROM(DROM1)DARAM SARAMC541 8K 5KC54210KC54348KC545 16K 6KC546 16K 6KC5488K 24KC549 8K 8K 24KC5402 4K 16KC5410 16K 8K 56KC542032K 168K第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 数据存储器可以驻留在片内或者片外。片内DARAM 都是数据存储空间。对于某些C54x DSP,用户可以通过设置 PMST 寄存器的DROM 位,将部分片内ROM 映像到数据存储空间。这一部分片内ROM 既可以在数据空间使能(DROM 位=1),也可以在程序空间使能(MP/MC 位=0)。复位时,处理器将DROM 位清0。对数据ROM 的单操作数寻址,包括32 位长字操作数寻址,单个周期就可完成。而在双操作数寻址时,如果操作数驻留在同一块内则2 个周期;若操作数驻留在不同块内则只需1 个周期就可以了。第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 C54xDSP 中DARAM 前1K 数据存储器包括存储器映像CPU 寄存器(0000h 0001Fh)和外围电路寄存器(0020h 005Fh)、32 字暂存器(0060h 007Fh)以及896 字DARAM(0080h 03FFh)。表2-3-4 列出了存储器映像CPU 寄存器的名称及地址。寻址存储器映像CPU 寄存器,不需要插入等待周期。外围电路寄存器用于对外围电路的控制和存放数据,对它们寻址,需要2 个机器周期。第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构表2-3-4存储器映象CPU寄存器地 址CPU寄存器名称 地址 CPU寄存器名称0 IMR(中断屏蔽寄存器)12 AR2(辅助寄存器2)1 IFR(中断标志寄存器)13 AR3(辅助寄存器3)2-5 保留(用于测试)14 AR4(辅助寄存器4)6 ST0(状态寄存器0)15 AR5(辅助寄存器5)7 ST1(状态寄存器1)16 AR6(辅助寄存器6)8 AL(累加器A 低字,150 位)17 AR7(辅助寄存器7)9 AH(累加器A 高字,3116位)18 SP(堆栈指针)A AG(累加器A 保护位,3932位)19 BK(循环缓冲区长度寄存器)B BL(累加器B 低字,150 位)1A BRC(块重复寄存器)C BH(累加器B 高字,3116位)1B RSA(块重复起始地址寄存器)D BG(累加器B 保护位,3932位)1C REA(块重复结束地址寄存器)E T(暂时寄存器)1D PMST(处理器工作方式状态寄存器)F TRN(状态转移寄存器)1E XPC(程序计数器扩展寄存器,仅C548以上的型号)10 AR0(辅助寄存器0)11 AR1(辅助寄存器1)1F 保留第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 C54x DSP 除了程序和数据存储器空间外,还有一个I/O存储器空间。它是一个64K 的地址空间(0000h FFFFh),并且都在片外。可以用两条指令(输入指令PORTR 和输出指令PORTW)对I/O 空间寻址。程序存储器和数据存储器空间的读取时序与I/O 空间的读取时序不同,访问I/O 空间是对I/O 映射的外部器件进行访问,而不是访问存储器。所有C54x DSP 只有两个通用I/O,即 BIO 和XF。为了访问更多的通用I/O,可以对主机通信并行接口和同步串行接口进行配置,以用作通用I/O。另外,还可以扩展外部I/O C54x DSP 可以访问64K 字的I/O,外部I/O 必需使用缓冲或锁存电路,配合外部I/O 读写控制时序构成外部I/O 的控制电路。2.3.4 I/O 空间 第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构C54x DSP 的并行结构设计特点,使其能在一条指令周期内,高速地完成算术运算。其CPU 的基本组成如下:(1)40 位算术逻辑运算单元(ALU);(2)2 个40 位累加器;(3)桶形移位寄存器,支持-16 31 位移动范围;(4)乘法器/累加器单元;(5)16 位暂存器(T);(6)CPU 状态和控制寄存器;(7)比较、选择和存储单元(CSSU);(8)指数编码器;(9)16 位传输寄存器TRN。2.4 中央处理单元(CPU)第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构C54x DSP 有三个状态和控制寄存器:(1)状态寄存器0(ST0);(2)状态寄存器1(ST1);(3)处理器工作模式状态寄存器(PMST)。ST0 和ST1 中包含各种工作条件和工作方式的状态,PMST 中包含存储器的设置状态及其他控制信息。由于上面3 个寄存器都是存储器映像寄存器,所以都可以快速地存放到数据存储器,或者由数据存储器对它们加载,或者用子程序或中断服务程序保存和恢复处理器的状态。2.4.1 CPU 状态和控制寄存器 第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 ST0、ST1 都是16 位的存储器印象寄存器(MMR),其地址分别为0006h,0007h。ST0 和ST1 寄存器的各位可以使用SSBX 和RSBX 指令来设置和清除,ARPDP 和ASM 位可以使用带短立即数的LD 指令来加载,用STM 等给ST0、ST1 加载设定值。状态寄存器ST0、ST1 各状态位的解释如表2-4-1 和2-4-2 所示。1.状态寄存器ST0 和ST1 第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构表2-4-1ST0各状态位功能第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构表2-3 状态寄存器ST1(1)第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构表2-3 状态寄存器ST1(2)第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 PMST 寄存器是16 位的存储器印象寄存器(MMR),其地址为001Dh,可由存储器映射寄存器指令进行加载,例如STM 指令。PMST 寄存器各状态位的解释如表2-4-3 所示。2.处理器工作模式状态寄存器(PMST)第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构157 6 5 4 3 2 1 0IPTR MP/MCOVLYA VISDROMCLKOFFtSMULtSSTt图2-11 处理器方式状态寄存器PMST的位结构第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构表2-4 状态寄存器PMST第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构TCZA/ZBOV A/OVBCC16OVM移位器输出(40)MAC输出BU MASD C T B ASXMSXM40404040 40TCB15CB0DB15DB0MUX MUXSign Ctr Sign CrrY XALUA BMUX图2.4.1 ALU的功能框图2.4.2 算术逻辑单元(ALU)第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构1.ALU 的输入 ALU 的X 输入端的数据为以下2 个数据中的任何一个:(1)移位器的输出(32 位或16 位数据存储器操作数或者经过移位后累加器的值);(2)来自数据总线(DB)的数据存储器操作数。ALU 的Y 输入端的数据是以下3 个数据中的任何一个:(1)累加器(A)或(B)的数据;(2)来自数据总线(CB)的数据存储器操作数;(3)T 寄存器的数据。当一个16 位数据存储器操作数加到40 位ALU 的输入端时,若状态寄存器 ST1 的SXM=0,则高位添0;若SXM=1,则符号位扩展。在图2.5 中,A 累加器A;B 累加器B;CCB 数据总线;DDB 数据总线;MMAC 单元;S 桶状移位器;TT 寄存器;U 算数逻辑单元ALU。1.ALU的输入第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 ALU 的饱和逻辑可以处理溢出。当发生溢出且状态寄存器ST1 的OVM 1 时,则用32 位最大正数007FFFFFFFh(正向溢出)或最大负数FF80000000h(负向溢出)加载累加器。当发生溢出后,相应的溢出标志位(OVA 或OVB)置1,直到复位或执行溢出条件指令。注意,用户可以用SAT 指令对累加器进行饱和处理,而不必考虑OVM 的值。2.ALU的输出ALU的输出为40位,被送到累加器A或B。3.溢出处理第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 用户只要置位状态寄存器ST1 的C16 状态位,就可以让ALU 在单个周期内进行特殊的双16 位算术运算,即进行两次16 位加法或两次16 位减法。4.进位位 ALU的进位位受大多数算术ALU指令(包括循环和移位操作)的影响,可以用来支持扩展精度的算术运算。利用两个条件操作数C 和NC,可以根据进位位的状态,进行分支转移、调用与返回操作。RSBX 和SSBX 指令可用来加载进位位。硬件复位时,进位位置1。5.双16位算术运算第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 累加器A 和B 都可以配置成乘法器/加法器或ALU 的目的寄存器。此外在执行MIN 和MAX 指令或者并行指令LDMAC都要用到它们,这时一个累加器加载数据,另一个累加器完成运算。累加器A 和B 都可分为3 部分,如图2.4.2 所示。其中,保护位用作计算时的数据位余量,以防止诸如自相关那样的迭代运算时溢出。AG、BG、AH、BH、AL 和BL 都是存储器映射寄存器。在保存和恢复文本时,可用PSHM 或POPM 指令将它们压入堆栈或从堆栈中弹出。用户可以通过其他的指令,寻址0 页数据存储器(存储器映像寄存器),访问累加器的这些寄存器。累加器A 和B 的差别仅在于累加器A 的31 16 位可以作为乘法器的一个输入。2.4.3 累加器A 和B第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构累加器A:3932 3116 150AG(保护位)AH(高阶位)AL(低阶位)累加器B:3932 3116 150BG(保护位)BH(高阶位)BL(低阶位)图2.4.2累加器A和B第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构桶形移位器用来为输入的数据定标,可以进行如下的操作:(1)在ALU 运算前,对来自数据存储器的操作数或者累加器的值进行预定标;(2)执行累加器的值的一个逻辑或算术运算;(3)对累加器的值进行归一化处理;(4)对存储到数据存储器之前的累加器的值进行定标。2.4.4 桶形移位器第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 DB15-DB0 CB15-CB0 MUX 符号控制 桶形移位器(-16 31)MSW/LSW 写信号选择 EB15-EB0 SXM T:16至 31 指令寄存器立即数ASM(40):16至15 TC(测试位)CSSU ALU 16 40 40 40 16 16 A B A B D C 图中:A累加器A B累加器B C数据总线CB D数据总线DB TT 寄存器 图243桶形移位器结构第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 根据SXM 位控制操作数进行带符号位/不带符号位扩展,当SXM=1 时执行符号位扩展。有些指令(如LDU、ADDS 和SUBS)认为存储器中的操作数是无符号数不执行符号位扩展,也就可以不考虑SXM 状态位的数值。指令中的移位数就是移位的位数,移位数都是用2 的补码表示,正值表示左移,负值表示右移。移位数可以用以下方式定义。用一个立即数(-16 15)表示。用状态寄存器ST1 的累加器移位方式(ASM)位表示,共5 位,移位数为-16 15。用T 寄存器中最低 6 位的数值(移位数为-16 31)表示。第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构例如:ADD A,-2,B;累加器A 右移2 位后加到累加器B ADD A,ASM,B;累加器A 按ASM 规定的移位数移位后加到累加器B ORM A;按T 寄存器中的数值对累加器归一化 最后一条指令对累加器中的数归一化是很有用的。第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 C54x DSP 的CPU 有一个1717 位硬件乘法器,它与一个40 位专用加法器相连,构成乘法器/加法器单元。乘法器/加法器单元可以在一个流水线状态周期内完成一次乘法累加(MAC)运算。图2.4.4 是其功能框图。乘法器能够执行无符号数乘法和带符号数乘法,按如下约束来实现乘法运算:(1)带符号数乘法,使每个16 位操作数扩展成17 位带符号数;(2)无符号数乘法,使每个16 位操作数前面加一个0;(3)带符号/无符号乘法,使一个16 位操作数前面加一个0;另一个16 位操作数扩展成17 位带符号数,以完成相乘运算。2.4.5 乘法器/加法器单元第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构X MUX Y MUXMUXCB15-CB0DB15-DB0PB15-PB0TSign ctr Sign ctr XM YM 乘法器FRCTintXA YA 加法器ZeroDetectRound SATD C DAA T累加器A累加器B0OVMOVA OVBZA ZB累加器A B图244乘法器结构第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 当两个16 位的数在小数模式下(FRCT 位为1)相乘时,会产生多余的符号位,乘法器的输出可以左移1 位,以消去多余的符号位。在乘法器/加法器单元中的加法器包含一个零检查器(Zero Detector)、一个舍入器(2 的补码)和溢出/饱和逻辑电路。舍入处理即加2 到结果中,然后清除目的累加器的低16 位。当指令中包含后缀R 时,会执行舍入处理,如乘法、乘法/累加(MAC)和乘法/减(MAS)等指令,LMS 指令也会进行舍入操作,并最小化更新系数的量化误差。加法器的输入来自乘法器的输出和另一个加法器。任何乘法操作在乘法器/加法器单元中执行时,结果会传送到一个目的累加器(A 或B)。第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 在数据通信、模式识别等领域,经常要用到Viterbi(维特比)算法。C54x DS 的CPU 的比较、选择和存储单元(CSSU)就是专门为Viterbi 算法设计的进行加法/比较/选择(ACS)运算的硬件单元。图2.4.5 所示为CSSU 的结构图,它和ALU 一起执行快速ACS 运算。CSSU 通过CMPS 指令、一个比较器和16 位的传送寄存器(TRN)来执行比较和选择操作。该操作比较指定累加器的两个16 位部分,并且将结果移入TRN 的第0 位。该结果也保存在ST0 寄存器的TC 位。基于该结果,累加器的相应16位被保存在数据存储器中。2.4.6 比较、选择和存储单元第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构COMP COMPTCTRN来自桶形移位器EB15EB0MSW/LSW选择MUXBCSSUA来自累加器A来自累加器B16图2-4-5 比较选择和存储单元结构第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 指数编码器也是一个专用硬件,如图2.4.6 所示。它可以在单个周期内执行EXP 指令,求得累加器中数的指数值,并以 2 的补码形式(-8 31)存放到T 寄存器中。累加器的指数值=冗余符号位,也就是为消去多余符号位而将累加器中的数值左移的位数。当累加器数值超过32 位时,指数是个负值。2.4.7 指数编码器第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构图2.4.6指数编码器的功能框图第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 有了指数编码器,就可以用EXP 和NORM 指令对累加器的内容归一化了。例如:EXP A;(冗余符号位-8)T 寄存器 ST T,EXPONET;将指数值存放到数据存储器中 NORM A;对累加器归一化(累加器按T 中值移位)假设40 位累加器 A 中的定点数为FF FFFF F001。先用 EXP A 指令,求得它的指数为13h,存放在 T 寄存器中,再执行 NORM A 指令就可以在单个周期内将原来的定点数分成尾数FF 80080000 和指数两部分。第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 流水线操作是DSP 芯片不同于一般单片机的主要硬件工作机制,是指各条指令以机器周期为单位,相差一个时间周期而连续并行工作的情况。其原理是将指令分成几个子操作,每个子操作在不同的操作阶段完成。在同一个机器周期内,在不同的操作阶段可以处理多条指令,相当于并行执行了多条指令。因此,流水线操作可以减少指令的执行时间,提高DSP 的运行速度,增强DSP 的处理能力。2.5流水线操作第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 C54x 的流水线操作是由6 个相互独立操作阶段或操作周期组成的,在任何一个机器周期内,可以有1-6 条不同的指令同时工作,每条指令可在不同的周期内工作在不同的操作阶段。C54x 的流水线结构如图2.5.1 所示。T1T2T3T4T5T6P(预取指)F(取指)D(译码)A(寻址)R(读数)X(执行)图2.5.1流水线结构2.5.1流水线操作组成第 第第2 22章 章章 TMS320C54x TMS320C54xTMS320C54x的硬件结构 的硬件结构的硬件结构 在C54x 的流水线中,1 条指令分为预取指、取指、译码、寻址、读数和执行6 个操作阶段。各操作阶段的功能如下。1.预取指P:在T1 机器周期内,CPU 将PC中的内容加载到程序