第二章 DSP芯片结构介绍

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
19
例如:累加器A=FF 4321 1234h,求执行带移位的STH 和STL指令后,数据存储单元的TEMP中的结果。 STH A, 8,TEMP ;A中的内容左移8
; 位后高位字存入TEMP, ;TEMP=2112h STH A,-8,TEMP ;A中的内容右移8位后 ;高位字存入TEMP, ;TEMP=FF43h STL A, 8,TEMP ;A中的内容左移8位后低位 ;字存入TEMP, TEMP=3400h STL A,-8,TEMP ;A中的内容右移8位后低位 ;字存入TEMP,TEMP=2112h
可编程的存储单元转换
4
14)锁相环(PLL)发生器 15)多通道缓冲串口(McBSP) 16)直接存储器访问(DMA)控制器 17)主机接口(HPI) 18)定时器 19)多种节电模式 20)JTAG接口 21)低电压工作
5
TMS320C54x DSP的内部硬件组成图
6
第二节 C54x芯片的CPU结构
要 • A和B的异同 点 • 加载与存储中的移位
依指令而定
累加器A和 B的差别仅 在于累加器 A 的 31~16 位可以用作 乘法器的一 个输入。
18
保存累加器的内容:用户可以利用 STH、STL、STLM和SACCD等指令 或者用并行存储指令,将累加器的内 容存放到数据存储器中。
在存储前,有时需要对累加器的内 容进行移位操作。右移时,AG和BG 中的各数据位分别移至AH和BH;左 移时,AL和BL中的各数据分别移至 AH和BH,低位添0。
15 14 13 12 11 10 9 8 7 6
5 4~0
BRAF CPL XF HM INTM 0 OVM SXM C16 FRCT CMPT ASM
块重复操
作标志位,
指示当前 是(1)否(0) 在执行块 重复操作。
直接寻址编 方式位。指 直接寻址时 用何种指针 DP 的 直 接 寻
辑 示 采 。 址
X输入端 Y输入端
点 • 溢出怎么办
输出为
• 进位位的作用
40 位 ,
• 什么是双16位算术运算
被送往 累加器A
或B
10
11
ALU的输入:ALU有两个输入端,X输入端的数 据来源于移位寄存器的输出(32位或16位数据存储 器操作数以及累加器中的数值,经移位寄存器移位 后输出)或来自数据总线DB 的数据存储器操作数。
例如,对累加器的内容进行归一化,A=FF FFFF FFCB:
EXP A
;(冗余符号位-8)->T寄存器
; T=33位-8=25
; (d)=0019(H) 33
7.CPU状态和控制寄存器
• 3个状态寄存器
要 • 功能 点 • 位置
• 各bit的作用
6
ST0
7
ST1
1D
PMST
ST0和ST1中包含有各种工作条件和工 作方式的状态;PMST中包含存储器的 设置状态及其它控制信息
溢出发生后,相应的溢出标志位(OVA 或OVB)置1,直到复位或执行溢出条件指 令。也可用SAT指令对累加器进行饱和处理 而不必考虑OVM值。
若OVM=0,直接将结果回到累加器。
14
• ALU如何获取数据
要 • ALU输出送往何方 点 • 溢出怎么办
• 进位位的作用
可以用来支持扩展
精度的算术运算,
术运算,亦
即进行两次 16位加法或 两次16位减 法。
16
2. 累加器A和B

• 作用 • 结构与位置
存放运算
前后数据
8 9
AL AH AG
点 • A和B的异同
BL
BH
D
BG
• 加载与存储中的移位
39~ 32 AG
保护位
31~ 16 AH
高阶位
15~ 0 AL
低阶位
O页存储器
17
• 作用 • 结构与位置
有符号数乘法(每个16位操作数都符号位扩展 成17位有符号数);
无符号数(16位操作数前面加一个0)与有符号 数(16位操作数符号扩展成17位有符号数)相乘 运算。
乘法器工作在小数相乘方式(状态寄存器ST1 中的FRCT位=1)时,乘法结果左移1位,以消除 多余的符号位。
27
• 结构
要 • 功能 点 • 什么是舍入处理
• 为何要扩展符号位 通过它进行
0~16位左移然
后再进行运算

22
要 • 什么是定标 点 • 移位处理的作用
• 归一化的作用
• 为何要扩展符号位
方便指 数运算
进行符号 位保护
23
包括在ALU运算前: 对来自数据存储器的操作数或者累加器的值进行
定标;
对累加器的值进行算术或逻辑移位;对累加器归 一化处理;
40位算术逻辑运算单元(ALU) 2个40位累加器A和B 包 移位-16~30位的桶形移位寄存器 括 乘法器/加法器单元 比较和选择及存储单元(CSSU) 指数编码器 CPU状态和控制寄存器
7
C542的结构框图
8
CPU结构
9
1. 算术逻辑运算单元
• ALU如何获取数据 要 • ALU输出送往何方
2
第一节 C54x芯片的基本性能
1)多总线结构
2)40位算术逻辑单元(ALU)
3)17×17位并行乘法器
4)比较、选择和存储单元(CSSU) 5)指数编码器 6)两个地址发生器
3
7)数据总线 8)总线寻址空间 9)三种存储器空间 10)单指令循环和块循环 11)区分的存储块移动指令 12)32位长操作数指令 13)可编程等待状态发生器和
O页存储器
34
(1)状态寄存器0(ST0)
15~ 13 12 11 10 9 8~ 0 ARP TC C OVA OVB DP
ARP : 辅 助 寄 存 器指针。在间接 寻址单操作数时, 用来选择辅助寄 存器。
测试/控制标志位。 保 存 ALU 测 试 位 操 作的结果。可以由 TC的状态决定条件 分支转移指令、子 程序调用以及返回 指令是否执行。 35
J
then N1= M1+D1
D2
Else
D2
N2
N1= M2+D2
D1
J+8
CMPS A,*AR1
;如果A(31~16)>A(15~0)
;则A(31~16)->*AR1,
;TRN左移1位,0->TRN(0),0->TC
;否则A(15~0)->*AR1,TRN左移1位,
;1->TRN(0),1->TC
方 式 (0) 或 SP 的
直接寻址方式
(1)。
保持方式位。当 处理器响应 HOLD 信 号 时 , HM 指 示 处 理 器 是(0)否(1)继续执 行内部操作。
XF 引 脚 状 态 位 。 XF 引 脚 是 一 个 通 用输出引脚。
37
15 14 13 12 11 10 9 8 7 6
5 4~0
38
15 14 13 12 11 10 9 8 7 6
5 4~0
BRAF CPL XF HM INTM 0 OVM SXM C16 FRCT CMPT ASM
双 16 位 (1)/ 双 精 度(0)算术 运算方式
位。决定 ALU 的 算 术运算方 式
小数方式位。 当为1,乘法 器输出左移1
位,以消去多 余的符号位。
31
6.指数编码器
• 结构 • 功能
A
B
EXP指数编码器
T寄存器
要点
如何计算指数
32
指数编码器是一个专用硬件。有了它,可以在单 个周期内执行EXP指令,求得累加器中数的指数值, 并以2的补码形式(-8~31)存放到T寄存器中。
累加器的指数值=冗余符号位-8,也就是为消去多 余符号位而将累加器中的数值左移的位数。当累加 器数值超过32位时,指数是个负值。
DSP技术及应用
Digital Signal Processor 数字信号处理器
陈金鹰 教授
信息工程学通信工程系
1
第二章 DSP芯片结构介绍
第一节 基本性能 第六节 串行口
第二节 CPU结构
第七节 与外设的接口
第三节 内部总线结构 第八节 复位与省电
第四节 存储器结构 第九节 中断
第五节 在片外围电路 第十节 自举加载
17X17乘法
• 饱和处理的优点
40位加法
• 数据流向
检零 饱和 取整
25
• 结构
要 • 功能 点 • 什么是舍入处理
• 饱和处理的优点 • 数据流向
乘法器/加法器 单元可以在一 个流水线状态 周期内完成一 次乘法累加 ( MAC ) 运 算 。
26
乘法器能够执行:
无符号数乘法(每个16位操作数前面加一个0);
对累加器的值存储到数据存储器之前进行定标。
例如:
ADD A, -4, B ;累加器A右移4位 ;后加到累加器B
ADD A, ASM, B ;累加器A按ASM规 ;定的移位数移位后加到累加器B
NORM A ;按T寄存器中的数值对累加器归一化 24
4.乘法器/加法器
• 结构
要 • 功能 点 • 什么是舍入处理
利用两个条件操作 数C和NC,可以根 据进位位的状态,
进行分支转移、调 用与返回操作。
• 什么是双16位算术运算
15
• ALU如何获取数据 要 • ALU输出送往何方 点 • 溢出怎么办
• 进位位的作用 • 什么是双16位算术运算
只要置位 ST1 的 C16
状态位,就 可 让 ALU
在单个周期
内进行特殊 的双16位算
累加器
移位方
修正方式位,
CMPT 决 定 ARP 是 (1) 否 (0) 可 以 修 正 。
式位。
规定一 个从16~15 的
移位值
(2的补 码)。39
(3)处理器工作方式状态寄存器(PMST)
15~ 7 IPTR
6
5
4
3
2
1
0
MP/MC OVLY AVIS DROM CLKOFF SMUL SST
20
3.桶形移位器的功能
• 什么是定标
要 点
• 移位处理的作用 • 归一化的作用
BA CD
信号控制
桶形移位器(40位)
• 为何要扩展符号位
S
ALU
最高/最低有 效字选择
E
21
• 什么是定标
要 • 移位处理的作用
当数据存储器 的数据送入累 加器或与累加
点 • 归一化的作用
器中的数据进 行运算时,先
Y输入端的数据来源于累加器A中的数据,或累 加器B中的数据,或来自数据总线CB的数据存储器 操作数,或来自T寄存器中的数据。
当一个16位数据存储器操作数加到40位ALU的 输入端时,若状态寄存器ST1的SXM=0,则高位添0, 若SXM=1,则符号位扩展。
12
• ALU如何获取数据
• ALU输出送往何方
15~ 13 12 11 10 9 8~ 0 ARP TC C OVA OVB DP
进位位。
执行加法
产生进位
置1,减
法 位
产则生清借0 。累加器溢出标志位。
数据存储器页指针。 这9位字段与指令字 中的低7位结合在一 起,形成一个16位直 接寻址存储器的地址, 对数据存储器的一个 操作数寻址。
36
(2)状态寄存器1(ST1)
• 数据流向
有些乘法指令,如 MAC、MAS等指令, 如果带后缀R,就对 结果进行舍入处理, 即 加 215 至 结 果 , 并 将目的累加器的低 16 位 清 0 。 当 执 行 LMS 指 令 时 , 为 了 修正系数的量化误
差最小,也要进行 舍入处理。
28
• 结构
要 • 功能 点 • 什么是舍入处理
中断向量
指针。指
示中断向
量所住留 的128字程 序存储器 的位置。
微处理器/微型 计算机工作方
式位。该引脚 为0允许使能并 寻 址 片 内 ROM ; 为1不能利用片 内ROM。
• 数据流向
输 入 端 XM 来 自 T 寄 存 器、累加器A的位 32~16、以及DB总线; 输入端YM来自累加器 A 的 位 32~16 、 由 DB 总 线和CB总线以及由PB 总线。
输出加到加法器的输入 端XA,累加器A或B则 是加法器的另一个输入。 最后结果送往目的累加 器A或B。
29
5.比较、选择和存储单元
BRAF CPL XF HM INTM 0 OVM SXM C16 FRCT CMPT ASM
中断方式 位。从整 体上屏蔽 (1)或开放
(0) 中 断 。
溢出方式位。
确定发生溢出 时 以 正 常 (0) 或 饱 和 (1) 方 式 加 载目的累加器。
符号位 扩展方 式位。 确定符 号位是 (1) 否 (0) 扩展。
•结构
•功能
CSSU是专为 Viterbi算法设计 的进行加法/比较/ 选择(ACS)运 算的硬件单元。
A
B
MUX
COMP TRN TC CSFra Baidu bibliotekU
桶形移位器 S
MSW/LSW 选择 16
EB15~ EB0
30
2*J M1(尺度1)
2*J+1 M2(尺度2)
D1
N1 If (M1+D1)>(M2+D2)
要 点
• 溢出怎么办
• 进位位的作用
根 据 ST1 的 OVM 位 进 行处理
• 什么是双16位算术运算
13
溢出处理:ALU的饱和逻辑可以处理溢出。 当发生溢出、且状态寄存器ST1的OVM=1时, 则用32位最大正数00 7FFFFFFFh(正向溢 出)或最大负数FF 80000000h(负向溢出) 加载累加器。
相关文档
最新文档