DSP第二章C54x结构与工作原理——总线结构和存储器结构
TMS320C54xDSP(精)知识分享

T M S320C54x D S P(精)TMS320C54x DSP CPU与外设第一章综述1 总线结构C54x包括8条16比特宽度的总线,其中:●一条程序总线(PB)●三条数据总线(CB、DB、EB)●四条地址总线(PAB、CAB、DAB、EAB)2CPUC54x的CPU结构包括:●40比特的ALU,其输入来自16比特立即数、16比特来自数据存储器的数据、暂时存储器、T中的16比特数、数据存储器中两个16比特字、数据存储器中32比特字、累加器中40比特字。
●2个40比特的累加器,分为三个部分,保护位(39-32比特)、高位字(31-16比特)、低位字(15-0比特)。
●桶型移位器,可产生0到31比特的左移或0到16比特的右移。
●17×17比特的乘法器●40比特的加法器●比较选择和存储单元CSSU●数据地址产生器DAGEN●程序地址产生器PAGEN3外设C54x包括:●通用I/O引脚,XF和BIO●定时器●PLL时钟产生器●HPI口,8比特或16比特●同步串口●带缓存串口,BSP●多路带缓存串口,McBSP●时分复用串口,TDM●可编程等待状态产生器●可编程bank-switching模块●外部总线接口●IEEE1149.1标准JTAG口第二章存储器一般而言,C54x的存储空间可达192K16比特字,64K程序空间,64K数据空间,64KI/O空间。
依赖其并行的工艺特性和片上RAM双向访问的性能,在一个机器周期内,C54x可以执行4条并行并行存储器操作:取指令,两操作数读,一操作数写。
使用片内存储器有三个优点:高速执行(不需要等待),低开销,低功耗。
1 存储空间分配图(以C549为例)复位后,中断矢量表位于程序区FF80H 位置,可重新定位于程序空间任何一个128字的页面(其地址高9比特即页号由PMST 中IPTR 确定)。
2 程序存储区C54x 有片内ROM 、DARAM 、SARAM ,这些区域可以通过软件配置到程序空间。
TMS320C54x硬件系统结构

OVLY位:RAM重复占位位; =0,则片内RAM只安排到数据存储空间; =1,则片内RAM可安排到程序和数据空间,这 时,RAM是程序和数据共用,在具体编程使用 时,用户要安排好用于程序存储和用于数据存 储的范围,以免出现错误。 DROM位:数据ROM位,可让片内ROM映象到 数据空间; =0,片内ROM不能映象到数据空间; =1,片内ROM的一部分可映象到数据空间
§2.4 片上外设
所有的C54x的CPU结构及功能完全相同, 但片上外设配置多少有所不同。完整的片 上外设包括:I/O、定时器、时钟发生器、 主机接口、软件可编程等待状态发生器、 可编程分区开关、串行通信接口等。
通用I/O C54x只有两个软件控制的通用I/O引脚: /BIO、XF。 /BIO:分支转移控制输入端口。主要用于监 控外围设备的运行状态。 XF:外部标志输出端口。主要用于程序向外 设传输标志信息。
2、片内ROM高2K字中的内容由TI公司定义, 包含下列内容: ① 自举加载程序; ② 256字A律压扩表; ③ 256字μ律压扩表; ④ 256字正弦函数值查找表; ⑤ 中断向量表。
3、为了提高性能,可以把片内ROM和RAM 细分成若干块。 4、数据存储器的低96个字一般都是为CPU寄 存器或外围电路寄存器(也就是一些控制 寄存器和状态寄存器)。 5、I/O存储空间(0000~ffffh),可用两条 指令访问:PORTR,PORTW。
SXM:符号扩展方式控制位。=1,扩展;=0, 禁止扩展。 C16:双精度/双16位算术运算方式控制位。=1, 双16位;=0,双精度。 FRCT:小数方式控制位。=1为小数运算,即乘 法时结果会自动左移1位。 CMPT:间接寻址辅助寄存器修正方式控制位。 =1,修正;=0,ARP清零,不能修正。 ASM:累加器移位方式控制位,范围-16~15。
第2章C54x的硬件结构剖析

外设写
第2章 TMS320C54x的CPU结构和存储器配置
2.3 TMS320C54x的CPU结构 CPU包括下列基本部件:
① ② ③ ④ ⑤ ⑥ ⑦ ⑧
2018年10月15日
40位算术逻辑运算单元ALU; 2个40位的累加器A和B; 40位桶形移位寄存器; 能完成乘法-加法运算的乘法累加器MAC; 比较、选择、存储单元CSSU; 指数编码器; CPU状态和控制寄存器。 寻址单元
ST0: ARP
TC
C
OVA
OVB
DP
DP :数据存储器页指针。 ARP :辅助寄存器指针。 TC C OVA/B :进位标志位。 :测试 :累加器 /控制标志。 A/B的溢出标志。 用来与指令中提供的 7位地址结合形成 1个 用来选择使用单操作数间接寻址时的 用来保存 用来反映 ALU A/B 测试操作的结果。 是否产生溢出。 用来保存 ALU 加减运算时所产生的进 /借位。 16位数据存储器的地址。 辅助寄存器AR0~AR7。
当SXM=1时, 39~32位扩展为符号位,15~0位置0 。
2018年10月15日
DSP原理及应用
22
第2章 TMS320C54x的CPU结构和存储器配置
DSP原理及应用
17
第2章 TMS320C54x的CPU结构和存储器配置
2.3.7 CPU状态和控制寄存器 ’C54x提供三个16位寄存器来作为CPU状态和控 制寄存器,它们分别为: 状态寄存器0(ST0)
状态寄存器1(ST1)
工作方式状态寄存器(PMST)
ST0和ST1主要包含各种工作条件和工作方式的 状态;
2018年10月15日 DSP原理及应用 19
进位和溢出
C54x的内部总线结构2.4C54x的中央处理器.ppt

第2章 TMS320C54x的硬件结构
【例2.4.1】累加器A=FF 0123 4567H,执行带移位 的STH和STL指令后,求暂存器T和A的内容。
STHL A,-88,,TT ; ;A的A的内内容容左右右移移8位8位,,AHLA存L存入入TT
AG
AH
AL
A FF 0123 4567
移位 寄存器
DB15~DB0
A
CB15~CB0
B
MUX
测试位Tc ALU CSSU
符号控制SC
移位寄存器 (-16~31)
写选择 MSW/LSW
SXM
T ASM(4~0) 指令寄存器
立即数 -16~15
0~15
② 经写MSW/LSW(最高/最低 有效字)写选择电路 输出至EB总线。
EB15~EB0
第2章 TMS320C54x的硬件结构
TMS320C54x的40位桶形移位寄存器主要用于累 加器或数据区操作数的定标。它能将输入数据进行 0~31位的左移和0~16位的右移。所移动的位数可由 ST1中的ASM或被指定的暂存器T决定。
第2章 TMS320C54x的硬件结构
1. 组成框图
① 多路选择器MUX 用来选择输入数据。
② 符号控制SC 用于对输入数据进
第2章 TMS320C54x的硬件结构
1.ALU的输入和输出 根据输入源的不同,ALU采用不同的输入方式。
(1) ALU的X输入源 ① 来自桶形移位寄存器输出的操作数; ② 来自数据总线DB中的操作数。
(2) ALU的Y输入源 ① 来自累加器A中的数据; ② 来自累加器B中的数据; ③ 来自数据总线CB中的操作数; ④ 来自T寄存器中的操作数。
0F 1F 02F 13F 2440035511 462 573 604705
DSP 第2章TMS320C54XDSP硬件结构

《DSP技术与应用》学时:32(含8学时实验)第2章TMS320C54XDSP硬件结构本 章 内 容1、TMS32054XDSP结构特点2、TMS32054XDSP结构框图3、TMS32054XDSP总线结构4、TMS32054XDSP存储器结构5、TMS32054XDSP处理器结构6、TMS32054XDSP片上外设7、TMS32054XDSP芯片引脚8、TMS32054XDSP复位操作结构特点TMS32054XDSP结构特点• 10-25ns的指令周期(40-100MIPS)----高效快速• 192K×16位的(最小)可寻址存储空间----哈佛结构• 4组内部总线及双地址生成单元----多总线结构• 2—6级的并行流水线操作----流水线结构• 两个40位累加器ACCA、ACCB• 40位算术逻辑单元(ALU),包括一个40位的桶型移位寄存器• 17×17位硬件乘法器,允许16位带符号或不带符号的乘法• 8个辅助寄存器及一个堆栈• 1.8V,2.5V,3.3V低功耗节电模式,宜于电池供电应用• 丰富的片内外设,包括串、并接口,软件可编程定时器、等待状态发生器及可配置PLL的时钟发生器所有’C54x片内部都含有数据存储器和程序存储器,但不同型号芯片的RAM和ROM容量及驻留区域是不相同的64K程序存储空间64K程序存储空间64K数据存储空间两个控制位可通过PMST寄存器软件设置,其状态对VC5402DSP程序存储空间配置的影响见下表MP/MC OVLY程序存储空间配置1064K的程序存储空间全部定义为外部程序存储器,需片外寻址11007FH—3FFFH(约16K字)DARAM可定义为片内程序存储器;4000H—FFFFH(48K字)定义为外部程序存储器,需片外寻址000000H—EFFFH(60K字)定义为外部程序存储器,需片外寻址;F000H—FFFFH(4K字)定义为片内程序存储器(2K字保留)01007FH—3FFFH(约16K字)DARAM可定义为片内程序存储器;4000H—EFFFH(44K字)定义为外部程序存储器,需片外寻址;F000H—FFFFH(4K字)定义为片内存储器(2K保留)VC5402DSP片内含有16k字的DARAM,驻留在数据存储空间的0000H—3FFFH区间内,可片内寻址。
DSP 第二章 TMS320C54x硬件结构与工作原理—CPU

算
2013年8月11日 DSP技术与应用基础
输 出 为 40 位 , 被 送 往 累加器A 或B
9
2013年8月11日
DSP技术与应用基础
10
ALU的输入:ALU有两个输入端,X输入端的数据来源于 移位寄存器的输出(32位或16位数据存储器操作数以及累加 器中的数值,经移位寄存器移位后输出)或来自数据总线DB 的数据存储器操作数。 Y输入端的数据来源于累加器A中的数据,或累加器B中 的数据,或来自数据总线CB的数据存储器操作数,或来自T寄 存器中的数据。
2013年8月11日
DSP技术与应用基础
28
要 点
结构 功能 什么是舍入处理 数据流向
2013年8月11日
DSP技术与应用基础
29
要 点
结构 功能 什么是舍入处理 数据流向
输入端 XM来自T寄存 器、累加器A的位 32~16、以及DB总线; 输入端YM来自累加器 A的位32~16、由DB总 线和CB总线以及由PB 总线。 输出加到加法器的输入 端XA,累加器A或B则 是加法器的另一个输入。 最后结果送往目的累加 器A或B。
6 7
ST0 ST1
要 点
1D
PMST
ST0和ST1中包含有各种工作条件和工 作方式的状态;PMST中包含存储器的 设置状态及其它控制信息
2013年8月11日 DSP技术与应用基础
ห้องสมุดไป่ตู้
O页存储器
36
(1)状态寄存器0(ST0)
15~ 13
ARP
12
TC
11
C
10
9
8~ 0
DP
第2章 'C54x的硬件结构

(hw) (lw) 11
单数据读
双数据读 32位长数据读 单数据写 数据读/数据写 双数据读/系数读 外设读
2012年7月9日7时14 外设写 分
2.3 中央处理单元CPU
CPU包括下列基本部件: ① 40位算术逻辑运算单元ALU; ② 2个40位的累加器A和B; ③ 支持-16~31位移位范围的桶形移位寄存器; ④ 能完成乘法-加法运算的乘法累加器MAC; ⑤ 16位暂存寄存器T; ⑥ 16位转移寄存器TRN; ⑦ 比较、选择、存储单元CSSU; ⑧ 指数译码器; ⑨ CPU状态和控制寄存器。
2012年7月9日7时14 分 DSP技术及应用 14
2.3.1 CPU状态和控制寄存器 2.状态寄存器1 (ST1) 主要反映处理器的寻址要求、计算初始状态的设置、I/O
15 14 13 及中断的控制等。
BRAF CPL XF
12
11
10
0
9
8
7
6
5
4~0
HM INTM HM INTM
OVM SXM C16 FRCT CMPT ASM C16 FRCT CMPT ASM
中 断 向 量 指 针
CPU 工 作 方 式 选 择 位
RAM 重 复 占 位 标 志
地 址 可 见 控 制 位
数 据 ROM 映 射 选 择 位
时 钟 输 出 选 择 位
乘 法 饱 和 方 式 位
存 储 饱 和 位
16
2012年7月9日7时14 分
DSP技术及应用
IPTR:用来指示中断向量所驻留的128字程序存储器的位置;
DP:数据存储器页指针。 ARP:辅助寄存器指针。 OVA/B:累加器A/B的溢出标志。 C:进位标志位。 TC:测试/控制标志。 用来与指令中提供的7位地址结合形成1个 用来选择使用单操作数间接寻址时的 用来保存ALU测试操作的结果。 用来反映A/B是否产生溢出。 用来保存ALU加减运算时所产生的进/借位。 16位数据存储器的地址。 辅助寄存器AR0~AR7。
DSP原理及应用第二章

’C54x的主要特性 2.2.2 ’C54x的引脚功能
2.2.1 ’C54x的主要特性
1.CPU
先进的多总线结构。 40位算术逻辑运算单元(ALU)。 17 位×17位并行乘法器与 40位专用加法器相连。 比较、选择、存储单元(CSSU)。 指数编码器可以在单个周期内计算 40位累加器 中数值的指数。 双地址生成器包括 8 个辅助寄存器和两个辅助 寄存器算术运算单元(ARAU)。
I/O口:BIO用来监测外设,XF向外设发送信号。 主机接口HPI:用于和其他总线或CPU通信。 定时器:产生定时中断。 中断系统:分为硬件中断和软件中断,不同型号的 DSP配置不同。
返回首页
串行口:分 4 种,分别为 SP 、 BSP 、 McBSP 、 TMD 。
2.2 ’C54x的主要特性和外部引脚
2.存储器
64 K字程序存储器、64 K字数据存储器以及64 K字 I/O空间。在 C548 、 C549、 C5402、 C5410 和C5420中程序存储器可以扩展。
片内ROM可配置成程序存储器和数据存储器。
片内RAM分为单寻址RAM和双寻址RAM。
3.指令系统
单指令重复和块指令重复操作。 块存储器传送指令。 32位长操作数指令。 同时读入2个或3个操作数的指令。 并行存储和并行加载的算术指令。 条件存储指令。 中断快速返回指令。
成:程序空间、数据空间和I/O空间。 程序存储器空间包括程序指令和程序中所需的常 数表格;数据存储器空间用于存储需要程序处理 的数据或程序处理后的结果;I/O空间用于与外
部存储器映象的外设接口,也可以用于扩展外部
数据存储空间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020年12月2日
DSP技术与应用基础
17
C54x可用的片内程序存储器地址的容量
表2-3
器件 C541 C542 C543 C545 C546 C548 C549
ROM MP/MC=0
28K 2K 2K 48K 48K 2K 16K
DARAM OVLY=1
5K 10K 10K 6K 6K 8K 8K
若DROM=1,则部分片内ROM安排为数据空间。 DROM位的用法与MP/ MC位的用法无关。不同的 C54x的数据和程序存储区分配略有不同,下图给出了 TMS320C549存储器空间分配图。
2020年12月2日
DSP技术与应用基础
11
TMS320C549存储器空间分配图
2020年12月2日
DSP技术与应用基础
数据总线
CB
DB
EB
△
△
△
△
△(h △ w) (lw)
△
△
△
△
△
△
△
3
要点
并行处理和流 水线工作
• 为何要设置多内部总线 • 一个机器周期内可完成的存取操作
取1指、 读2字、 写1字。
• 为何要用两个辅助寄存器算术运算单元
• 一个周期内如何执行3操作数指令
双字寻址取 双操作数
2020年12月2日
用C、D、P总 线取操作数
1
2020年12月2日
DSP技术与应用基础
2
读/写方式
程序读
程序写
单数据读
双数据读 长数据(32位)
读 单数据写 数据读/数据
写 双数据读/系
数读 外设读
外设写
2020年12月2日
PAB △ △
△
地址总线 CAB DAB
EAB
程序 总线 PB
△
△
△
△
△
△
(hw) (lw)
△
△
△
△
△
△
△
△
DSP技术与应用基础
程序存储器
部分
哈佛结构
程序/
数据
改善的哈佛结构
空间
可交
叉
CPU
数据存储器
2020年12月2日
DSP技术与应用基础
6
二、哈佛结构存储空间分配
空 64K字程序存储空间
间 64K字数据存储空间
构 架
64K字的I/O空间
特 并行性及RAM双寻址
点 片内/片外存储器
2020年12月2日
DSP技术与应用基础
DARAM
DSP技术与应用基础
15
为了增强处理器的性能,对片内ROM再细分为 若干块,这样就可以在片内ROM的一个块内取指 的同时,又在别的块中存数据。如下图所示为片内 ROM的分块图。
2020年12月2日
DSP技术与应用基础
16
当存储单元映象到程序空间时,处理器就能自 动地对它们所处的地址范围寻址。
如果程序地址生成器(PAGEN)发出的地址处 在存储器地址范围外,处理器就能自动地对外部寻 址。表2-3列出了C54x可用的片内程序存储器地址 的容量。
9
C54x中,片内存储器的型式有DARAM、 SARAM和ROM三种,取决于芯片的型号。
RAM总是安排到数据存储空间,但也可以构 成程序存储空间。
ROM一般构成程序存储空间,也可以部分地 安排到数据存储空间。
C54x通过处理器工作方式状态寄存器(PMST) 中的3个状态位,可以很方便地“使能”和“禁 止”程序和数据空间中的片内存储器。
12
多款C54芯片可进行页扩展,以增加程序空间容量。 如C548和C549其程序空间可扩展到8192K字。为此, 它们有23根地址线,并增加了程序计数器扩展寄存器 (XPC),以及6条寻址扩展程序空间的指令。C548 和C549中的程序空间分成128页,每页64K。
下图为C548和C549的外部扩展程序存储器图。
SARAM
ROM
程序存储 器/片外存 储器本身 不能并行
7
存储器型式 C541 C542 C543 C545 C546 C548 C549
ROM
28K 2K
2K 48K 48K 2K 16K
程序
20K 2K
2K 32K 32K 2K 16K
程序/数据
8K
0
0
16K 16K
0
0
DARAM♀ 5K 10K 10K 6K
当片内RAM安排到程序空间时,每页程序存储器分 成两部分:
一部分是公共的32K字;
一部分是各自独立的32K字。
公共存储区为所有页共享,而每页独立的32K字存
储区只能按指定的页号寻址。如果片内ROM被寻址
(MP/ MC=0),它只能在0页,不能映象到程序存储
2器020年的12月其2日它页。
DSP技术与应用基础
SARAM OVLY=1
24K 24K
2020年12月2日
DSP技术与应用基础
18
当处理器复位时,复位中断向量映象到程序空间 的FF80h。
6K
8K
8K
SARAM♀
0
2020年12月2日
0
0
0
0
24K 24K
DSP技术与应用基础
8
1.存储器空间的划分与交叉
片内存储器 类型
•DARAM •SARAM
•ROM
空间 MP/MC位 使能
程序
交叉 OVLY位 的条件 DROM位
禁止
数据 片内存储器空间
2020年12月2日
PMST
DSP技术与应用基础
13
•C548和C549页扩展方法 •对程序空间扩展
程序计数 器扩展寄 存器XPC
2020年12月2日
DSP技术与应用基础
14
2.程序存储器
片内存储器作为程序存储器条件 外部存储器作为程序存储器条件 片内ROM分块的目的
MP/ MC 为0(对 ROM)、 OVLY 为 1对RAM
DROM=0
2020年12月2日
DSP技术与应用基础
4
第四节 C54x芯片的存储器结构
特点 与
区别
一、哈佛结构
冯•诺依曼 结构
两种结构的 目的旨在从 存储器存取 数据。区别 在于程序/数 据 总 线 是和 否空 分间行是。否 分 开 。
程序/数据存储器
2020年12月2日
DSP技术与应用基础
CPU
5
对存储器空间分配的不同考虑
特点 与 区别
2020年12月2日
DSP技术与应用基础
10
MP/ MC位: 若MP/ MC =0,则片内ROM安排为程序空间; 若MP/ MC =1,则片内ROM不安排为程序空间。
OVLY位:
若OVLY=0,则片内RAM只安排为数据存储空间;
若OVLY=1,则片内RAM安排为程序和数据空间。
DROM位:
若DROM=0,则片内ROM不安排成数据空间;
第三节 内部总线结构
不同总线作用与区别
传送取
自程序
•程序总线(PB) •数据总线(CB、DB和EB)
存储器 的指令 代码和
立即操
•地址总线(PAB、CAB、DAB和EAB) 作数。
传送执 行指令
•在片双向总线
所需的 地址。
2020年12月2日
CB和DB传送读自数据存储器的操作数,
EB传送写到DS存P技术储与应器用基的础数据。