第三章(DSP第四讲)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

前面添加“0”,然后两个操作数相乘。
(3)乘法器的操作
由于乘法器在进行两个 16 位二进制补码相乘时
会产生两个符号位,为提高运算精度,在状态寄存器 ST1中设置了小数方式控制位FRCT。 当 FRCT=1 时,乘法结果左移一位,消去多余 的符号位,相应的定标值加1。
2. 专用加法器
在 MAC 单元中,专用加法器用来完成乘积项的
5.桶形移位寄存器的操作
(1) 控制操作数的符号位扩展
根据SXM位控制操作数进行符号位的扩展。 若操作数为有符号数,则
当SXM=1时,完成符号位扩展; 当SXM=0时,禁止符号位扩展。 若操作数为无符号数,则不考虑 SXM位,不执 行符号位的扩展。 如:LDU、ADDS和SUBS指令,操作数为 无符号数,不进行符号位扩展。
③ 移位寄存器 用来对输入的数据 进行定标和移位。 ④ 写选择电路 用来选择最高有效 字和最低有效字。
测试位Tc ALU CSSU
写选择 写选择 MSW/LSW MSW/LSW
EB15~EB0
2.桶形移位寄存器的输入 通过多路选择器 MUX 来选择输入信号。 ① 取自DB数据总线的 16 位 输入数据; ② 取自DB和CB扩展数据总 线的32位输入数据; ③ 来自累加器A或B的40位 输入数据。 3.桶形移位寄存器的输出 ① 输出至ALU的一个输入端 ; ② 经写MSW/LSW选择电路
累加器结构
39
••• AG AG AG 保护位
32
31
••• AH AH
16
15
••• AL AL 低阶位
0
累加器A
高阶位 32 31 ••• BH BH 高阶位 16 15
39
••• BG BG BG 保护位
••• BL BL 低阶位
0
累加器B
保护位:AG、BG 39~32,作为算术计算时的数据位余量, 以防止迭代运算中的溢出。 低阶位:AL、 BL 15~0。 高阶位:AH、BH 31~16;
CPU是DSP器件的核心部件,它的性能直接关系 到DSP器件的性能。 ’C54x的CPU采用了流水线指令执行结构和相 应的并行结构设计,使其能在一个指令周期内,高速 地完成多项算术运算。
CPU包括下列基本部件: ① 40位算术逻辑运算单元ALU;
② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨
2个40位的累加器A和B; 支持-16~31位移位范围的桶形移位寄存器; 能完成乘法-加法运算的乘法累加器MAC; 16位暂存寄存器T; 16位转移寄存器TRN; 比较、选择、存储单元CSSU; 指数编码器; CPU状态和控制寄存器。
要点
• 作用 • 结构与位置 • A和B的异同 累加器A和 B的差别仅 在于累加器 A 的 31~16 位可以用作 乘法器的一 个输入。
2.4.3 桶形移位寄存器
TMS320C54x的40位桶形移位寄存器主要用于累
加器或数据区操作数的定标。它能将输入数据进行 0~31 位的左移和 0~16 位的右移。所移动的位数可由 ST1中的ASM或被指定的暂存器T决定。






要点
• • • •
并行处理和流 水线工作 取1指、 读2字、 写1字。
为何要设置多内部总线 一个机器周期内可完成的存取操作 为何要用两个辅助寄存器算术运算单元 一个周期内如何执行3操作数指令
双字寻址取 双操作数
用C、D、P总 线取操作数
2、’C54x的中央处理器CPU
累加运算。 加法器 零检测器 舍入器 溢出/饱和逻辑电路
专用加法器
舍入器:用来对运算结果进行舍入处理,即将 目标累加器中的内容加上 215 ,然后将累加器的低 16 位清零。
2. 专用加法器 (1)加法器的输入 XA输入:来自乘法器的输出。 YA输入: ① 来自累加器A的操作数; ② 来自累加器B的操作数。 (2)加法器的输出 输出经零检测器、舍入器和溢出/饱和逻辑电路 后,将产生的状态标志送入状态寄存器,并将运算
A
B
符号ctr Y
的 功 能 框 图
MUX
A MAC输出 M U B
ALU
A.ALU的输入和输出 根据输入源的不同,ALU采用不同的输入方式。
a、 ALU的X输入源
① 来自桶形移位寄存器输出的操作数;
② 来自数据总线DB中的操作数。
b、 ALU的Y输入源 ① 来自累加器A中的数据;
② 来自累加器B中的数据;
14)锁相环(PLL)发生器 15)多通道缓冲串口(McBSP) 16)直接存储器访问(DMA)控制器 17)主机接口(HPI) 18)定时器 19)多种节电模式 20)JTAG接口 21)低电压工作
二、’C54x的硬件结构
TMS320C54x的组成
中央处理器CPU 内部总线控制 特殊功能寄存器 数据存储器RAM 程序存储器ROM I/O功能扩展接口 串行口 主机通信接口HPI 定时系统 中断系统
③ 来自数据总线CB中的操作数;
④ 来自T寄存器中的操作数。
c、 ALU的输出
ALU的输出为40位运算结果,通常被送至累加器 A或B。
(2)累加器A和B
’C54x芯片有两个独立的40位累加器A和B,可以 作为 ALU 或 MAC 的目标寄存器,存放运算结果,也
可以作为ALU或MAC的一个输入。
在执行并行指令( LD||MAC )和一些特殊指令 ( MIN 和 MAX )时,两个累加器中的一个用于装载 数据,而另一个用于完成运算。
CPU
1、’C54x的内部总线结构
TMS320C54x的结构是以8组16位总线为核心,
形成了支持高速指令执行的硬件基础。 1组程序总线PB 总线结构 3组数据总线CB、DB、EB 4组地址总线PAB、CAB、DAB、EAB
(1).程序总线PB
主要用来传送取自程序存储器的指令代码和立
即操作数。
PB 总线既可以将程序空间的操作数据 ( 如系数
结果送入累加器A或B。
2.4.5 比较、选择和存储单元CSSU ’C54x的比较、选择和存储单元(CSSU)是一
A B 个特殊用途的硬件电路,专门用来完成 Viterbi算法 来自桶形移位器
DSP技术的发展与应用
第五周 第4讲
电气系 李静
§3.2 TMS320C5000系列DSwk.baidu.com §3.2.1 TMS320C54x系列DSP §3.2.2 TMS320C55x系列DSP
§3.2.1 TMS320C54x系列DSP
TMS320C54x(简称’C54x)是TI公司为实现 低功耗、高速实时信号处理而专门设计的16位 定点数字信号处理器,采用改进的哈佛结构, 具有高度的操作灵活性和运行速度,适应于远 程通信等实时嵌入式应用的需要,现已广泛地 应用于无线电通信系统中。
(1) 算术逻辑运算单元ALU
’C54x 使用 40 位的算术逻辑运算单元和 2 个 40 位
累加器,可完成宽范围的算术逻辑运算。
CB15~CB0
T
C B A D S
DB15~DB0
ALU
MUX
SXM
MUX 符号ctr X
桶形移位 器输出
SXM OVM C16 C OVA/OVB ZA/ZB TC
1. 组成框图 ① 多路选择器MUX 用来选择输入数据。 ② 符号控制SC
DB15~DB0 A B MUX 符号控制 符号控制SC SC 移位寄存器 移位寄存器 (-16~31) (-16~31) SXM T ASM(4~0) 指令寄存器 立即数 -16~15 0~15 CB15~CB0
用于对输入数据进 行符号位扩展。
一、C54x芯片的基本性能
1)多总线结构
2)40位算术逻辑单元(ALU)
3)17×17位并行乘法器
4)比较、选择和存储单元(CSSU) 5)指数编码器 6)两个地址发生器
7)数据总线 8)总线寻址空间 9)三种存储器空间 10)单指令循环和块循环 11)区分的存储块移动指令 12)32位长操作数指令 13)可编程等待状态发生器和 可编程的存储单元转换
来自B
XM YM MAC单元具有强大的乘法 -累加运算功能,可在一 乘法器(17 17) A B
个流水线周期内完成 1次乘法运算和 1次加法运算。在 MUX 取整 FRCT
数字滤波(FIR和IIR滤波)以及自相关等运算中,使 XA YA
OVM 40位加法器 用乘法 - 累加运算指令可以大大提高系统的运算速度。 OVA/OVB 零检测 舍入器 饱和逻辑 ZA/ZB 至A/B
表)送至数据空间的目标地址中,以实现数据移动,
也可以将程序空间的操作数据传送乘法器和加法器
中,以便执行乘法-累加操作。
(2).数据总线CB 、DB和EB
3条数据总线分别与不同功能的内部单元相连接。
如: CPU、程序地址产生逻辑 PAGEN、数据地
址产生逻辑 DAGEN、片内外设和数据存储器等。
CB和DB用来传送从数据存储器读出的数据; EB用来传送写入存储器的数据。 (3).地址总线PAB、CAB、DAB和EAB 用来提供执行指令所需的地址。
1. 乘法器
MAC 单元包含一个 1717 位硬件乘法器,可完 (1)乘法器的输入
XM输入: 成有符号数和无符号数的乘法运算。 ① 取自数据总线DB的数据存储器操作数; ② 来自暂存器T的操作数; ③ 来自累加器A的32~16位操作数。 YM输入: ① 来自数据总线DB的数据存储器操作数; ② 来自数据总线CB的数据存储器操作数; ③ 来自程序总线PB的程序存储器操作数; ④ 来自累加器A的32~16位操作数。
1. 乘法器
(2)乘法器的输出
乘法器的输出经小数控制电路接至加法器的 XA
输入端。
(3)乘法器的操作
MAC单元的乘法器能进行有符号数、无符号数
以及有符号数与无符号数的乘法运算。
(3)乘法器的操作
根据操作数的不同情况需进行以下处理:
若是两个有符号数相乘,则在进行乘法运算之前,先 对两个16位乘数进行符号位扩展,形成17位有符号数后再进行
测试位Tc ALU CSSU 写选择 MSW/LSW EB15~EB0 A B MUX 符号控制SC SXM DB15~DB0 CB15~CB0
移位寄存器 (-16~31)
T ASM(4~0) 指令寄存器 立即数 -16~15 0~15
输出至EB总线。
4.桶形移位寄存器的功能 主要用于格式化操作,为输入的数据定标 。 ① 在进行ALU运算之前,对输入数据进行数据定标; ② 对累加器进行算术或逻辑移位; ③ 对累加器进行归一化处理; ④ 在累加器的内容存入数据存储器之前,对存储数 据进行定标。
相乘。
扩展的方法:在每个乘数的最高位前增加一个符号位,其 若是两个无符号数相乘,则在两个 16 位乘数的最高位 值由乘数的最高位决定,即正数为 0,负数为1。 前面添加“ 0”,扩展为17位乘数后再进行乘运算。 若是有符号数与无符号数相乘,则有符号数在最高位 前添加 1 个符号位,其值由最高位决定,而无符号数在最高位
TMS320C54x的硬件结构图
PAGEN 程序地址生成器 DAGEN 数据地址生成器 特殊功能 寄存器 程序存储器 数据存储器 串行口 并行口 定时器 计数器 中断 乘法 累加器 算术/逻辑 运算单元 比较器 桶形 移位器 外部 设备 接口 外部 存储器 接口
系统 控制 接口
系统控制
PAB PB CAB CB DAB DB EAB EB
扩展算术和溢出保护等操作。
乘法-累加单元功能框图
DB15~DB0 2.4.4 乘法 -累加单元MAC CB15~CB0 PB15~PB0
来自A T ’C54x 的乘法 累加单元 MAC 是由乘法器、加法器、 A D D C A P T X MUX Y MUX 符号控制、小数控制、零检测器、舍入器、饱和逻辑 符号控制 和暂存器几部分组成。 符号控制 0
’C54x读/写操作占用总线情况
读/写方式 程序读 程序写 地址总线
PAB CAB DAB EAB
(hw) (lw) (hw) (lw)
程序总线
PB

数据总线
CB DB EB

单数据读
双数据读 32位长数据读
单数据写
数据读/数据写 双数据读/系数读 外设读 外设写
(2) 控制操作数的移位 根据指令中的移位数,控制操作数进行移位操 作。移位数用二进制补码表示,正值时完成左移, 负值时完成右移。
移位数的形式:
① 5位立即数,取值范围:-16~15; ② ST1中的ASM位,取值范围:-16~15; ③ 暂存器T中的低6位数值,取值范围:-16~31。 这种移位操作能使 CPU完成数据的定标、位提取、
相关文档
最新文档