第二章:‘ C5000 DSP硬件结构
TMS320C54XX硬件结构特点 ★
在这一章中,我们介绍,
’ C54X的结构特点
多总线结构,三组 16-bit数据总线和一组程序总线
40-bit算术逻辑单元( ALU),包括一个 40-
bit的桶形
移位器和两个独立的 40-bit累加器
17x17-bit并行乘法器,连接一个 40-bit的专用加法器,
’ C54X的结构特点
可用来进行非流水单周期乘 /加( MAC) 运算
比较、选择和存储单元( CSSU) 用于 Viterbi
运算器的加 /比较选择
指数编码器在一个周期里计算一个 40-bit累加器值的指数值
两个地址发生器中有八个辅助寄存器和两个辅助寄存器算术单元( ARAUS)
’ C54X的结构特点
数据总线具有总线保持特性
C548,549,5402,5410等具有扩展寻址方式,最大可寻址扩展程序空间为 8Mx16-bit
C54X可访问的存储器空间最大可为 192Kx16-
bit( 64K程序存储器,64K数据存储器和
64KI/O存储器)
支持单指令循环和块循环
’ C54X的结构特点
存储块移动指令提供了更好的程序和数据管理
支持 32-bit长操作数指令,支持两个或三个操作数读指令,支持并行存储和并行装入的算术指令,支持条件存储指令及中断快速返回指令
软件可编程等待状态发生器和可编程的存储单元转换
’ C54X的结构特点
连接内部振荡器或外部时钟源的锁相环( PLL)
发生器
支持 8-或 16-bit传送的全双工串口
时分多路( TDM) 串口
缓冲串口( BSP)
McBSPs串口
8/16-bit并行主机接口( HPI)
一个 16-bit定时器
’ C54X的结构特点
外部 I/O( XIO) 关闭控制,禁止外部数据、地址和控制信号
片内基于扫描的仿真逻辑,JTAG边界扫描逻辑( IEEE1149.1)
单周期定点指令执行时间 10-25ns
TMS320C542
功能框图
TMS320C54x内部 硬件框图
程序总线 ( PB) 传送从程序存储器来的指令代码和立即数 。
三组数据总线 ( CB,DB和 EB) 连接各种元器件,如 CPU,数据地址产生逻辑,程序地址产生逻辑,片内外设和数据存储器 。 CB和 DB总线传送从数据存储器读出的操作数 。 EB总线传送写入到存储器中的数据 。
四组数据总线 ( PAB,CAB,DAB和 EAB) 传送执行指令所需要的地址 。
‘ C54x的总线结构
(八组 16-bit总线):
辅助寄存器算术单元
‘ C54x通过使用两个辅助寄存器算术单元( ARAU0
和 ARAU1),每周期能产生两个数据存储器地址。
PB总线能把存储在程序空间的数据操作数(如系数表)
传送到乘法器和加法器中进行乘 /累加运算,或者在数据移动指令( MVPD和 READA) 中传送到数据空间。
这种能力再加上双操作数读的特性,支持单周期 3操作数指令的执行,如 FIRS指令。
‘ C54x还有一组寻址片内外设的片内双向总线,通过
CPU接口中的总线交换器与 DB和 EB 相连接。对这组总线的访问,需要两个或更多的机器周期来进行读和写,具体所需周期数由片内外设的结构决定。
‘ C54x的算术逻辑单元( ALU):
‘ C54x/’LC54x使用 40-bit的算术逻辑单元( ALU) 和两个
40-bit的累加器( ACCA和 ACCB) 来完成二进制补码的算术运算。同时 ALU也能完成布尔运算。 ALU可使用以下输入:
16-bit的立数? 从数据存储器读出的 16-bit字
暂存器 T中的 16-bit值?从数据存储器读出的两个 16-bit

从数据存储器读出的一个 32-bit字
从其中一个累加器输出的 40-bit值
ALU能起两个 16-bitALUs的作用,且在状态寄存器 ST1中的 C16位置 1时,可同时完成两个 16-bit运算累加器:
累加器 ACCA和 ACCB存放从 ALU或乘法器 /加法器单元输出的数据,累加器也能输出到 ALU或乘法器 /加法器中。
ALU框图:
桶形移位器
‘ C54x的桶形移位器有一个与累加器或数据存储器( CB,DB) 相连接的 40-bit
输入,和一个与 ALU或数据存储器( EB)
相连接的 40-bit输出。桶形移位器能把输入的数据进行 0到 31bits的左移和 0到
16bits的右移。所移的位数由 ST1中的移位数域( ASM) 或被指定作为移位数寄存器的暂存器( TREG) 决定 。
乘法器 /加法器单元
乘法器 /加法器与一个 40-bit的累加器在一个单指令周期里完成 17x17-bit的二进制补码运算。乘法器 /加法器单元由以下部分组成:乘法器,加法器,带符号 /无符号输入控制,小数控制,零检测器,舍入器(二进制补码),
溢出 /饱和逻辑和暂存器( TREG)。
乘法器有两个输入:一个是从 TREG,数据存储器操作数,或一个累加器中选择;另一个则从程序存储器,数据存储器,一个累加器或立即数中选择。
另外,乘法器和 ALU在一个指令周期里共同执行乘 /累加
( MAC) 运算且并行 ALU运算。这个功能可用来确定欧几里德距离,以及完成复杂的 DSP算法所需要的 LMS
滤波比较,选 择 和 存 储 单 元
( CSSU) 完成累加器的高位字和低位字之间的最大值比较,即选择累加器中较大的字并存储在数据存储器中,
不改变状态寄存器 ST0中的测试 /控制位和传送寄存器
( TRN) 的值 。 同时,
CSSU利用优化的片内硬件促进 Viterbi型蝶形运算 。
比较,选择和存储单元( CSSU)
指数编码器用于支持单周期指令
EXP的专用硬件。在 EXP指令中,
累加器中的指数值能以二进制补码的形式存储在 T寄存器中,范围为
bit-8至 31。指数值定义为前面的冗余位数减 8的差值,即累加器中为消除非有效符号位所需移动的位数
。当累加器中的值超过了 32bits,
该操作将产生负值。
指数编码器
CPU状态和控制寄存器
‘ C54x有三个状态和控制寄存器,它们分别为:
状态寄存器 ST0,状态寄存器 ST1和处理器方式状态寄存器 PMST。 ST0和 ST1包括了各种条件和方式的状态,PMST包括了存储器配置状态和控制信息。
ST0
ST1
PMST
存储器分配:
‘ C54x存储器由三个独立的可选择空间组成:程序,数据和 I/O空间。所有的’ C54x芯片都包括随机访问存储器
( RAM) 和只读存储器( ROM)。
RAM又分两种:双访问 RAM( DARAM)
和单访问 RAM( SARAM)。
存储器分配:
分页管理数据存储器
两个通用 I/O引脚,/BIO和 XF。 软件可编程等待状态发生器。
可编程块切换逻辑。 主机接口( HPI)

8/16 bit
硬件定时器。 时钟发生器。
串口:(同步、缓冲和时分多路( TDM),McBSP)。
外部总线接口。 IEEE 1149.1标准扫描逻辑。
片内外设:
C54X的串口
TMS320C54x的存储分配说明
‘ C541的存储 MAP表
C54X扩展存储器访问
使用 XPC寄存器保存页地址( A16以上 )
64K页内的 PC寄存器保存地址
除非修改 XPC,否则都是访问当前页
以下指令可以修改 XPC:
fb,fbacc,fcall,fcala,fret,frete
利用 READA,WRITA可以读写程序空间
‘ 5402扩展程序存储器装入程序代码 -BOOTLOADER
BOOTLOADER是一段芯片出厂时固化在 ROM中的程序代码,其主要功能是将用户的程序代码从外部装入到片内 RAM或扩展的 RAM中,以便高速运行。
BOOTLOADER一般支持多种程序传递方式,如并行
EPROM,串行 EPROM,串口,HPI等等。
不同型号的 DSP,BOOTLOADER不同。
本章小结本章介绍了 DSP硬件结构的发展,重点介绍了 TMS320C54x的硬件结构,了解 DSP硬件结构是设计 DSPS的第一步。
制作,DSP实验室
2002.10