DSP原理与应第二章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《DSP原理与应第二章课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 原理 第二 课件
- 资源描述:
-
1、内容提要内容提要 TMS320C54x芯片是一种特殊结构的微处理器,芯片是一种特殊结构的微处理器,为了快速地实现数字信号处理运算,采用了流水线指为了快速地实现数字信号处理运算,采用了流水线指令执行结构和相应的并行处理结构,可在一个周期内令执行结构和相应的并行处理结构,可在一个周期内对数据进行高速的算术运算和逻辑运算。对数据进行高速的算术运算和逻辑运算。本章主要介绍本章主要介绍TMS320C54x芯片的硬件结构,重芯片的硬件结构,重点对芯片的点对芯片的CPU结构、内部存储器等进行了讨论。结构、内部存储器等进行了讨论。2.1 C54x的基本结构的基本结构 2.2 C54x的内部总线结构的内部总线结
2、构 2.3 C54x的中央处理器的中央处理器 2.4 C54x的存储空间结构的存储空间结构 TMS320320C5454x(简称(简称C5454x)是)是TI公司为实公司为实现低功耗、高速实时信号处理而专门设计的现低功耗、高速实时信号处理而专门设计的1616位定位定点数字信号处理器,采用改进的哈佛结构,具有高点数字信号处理器,采用改进的哈佛结构,具有高度的操作灵活性和运行速度,适应于远程通信等实度的操作灵活性和运行速度,适应于远程通信等实时嵌入式应用的需要,现已广泛地应用于无线电通时嵌入式应用的需要,现已广泛地应用于无线电通信系统中。信系统中。1.1.C54xC54x的主要优点的主要优点 围绕
3、围绕1 1组程序总线、组程序总线、3 3组数据总线和组数据总线和4 4组地址总组地址总线而建立的改进哈佛结构,提高了系统的多功能性和线而建立的改进哈佛结构,提高了系统的多功能性和操作的灵活性。操作的灵活性。具有高度并行性和专用硬件逻辑的具有高度并行性和专用硬件逻辑的CPUCPU设计,设计,提高了芯片的性能。提高了芯片的性能。具有完善的寻址方式和高度专业化指令系统具有完善的寻址方式和高度专业化指令系统,更适应于快速算法的实现和高级语言编程的优化。更适应于快速算法的实现和高级语言编程的优化。1.1.C54xC54x的主要优点的主要优点 模块化结构设计,使派生器件得到了更快的模块化结构设计,使派生器
4、件得到了更快的发展。发展。采用先进的采用先进的ICIC集成电路集成电路制造工艺,降低了芯制造工艺,降低了芯片的功耗片的功耗,提高了芯片的性能。提高了芯片的性能。采用先进的静态设计技术,进一步降低了功采用先进的静态设计技术,进一步降低了功耗,使芯片具有更强的应用能力。耗,使芯片具有更强的应用能力。2.2.C54xC54x的内部结构的内部结构TMS320C54x的组成的组成 2.2.C54xC54x的内部结构的内部结构TMS320C54x的硬件结构图的硬件结构图 PAGEN DAGENPAGEN DAGEN 特殊功能特殊功能 寄存器寄存器系统控制系统控制程序地址生成器程序地址生成器数据地址生成器数
5、据地址生成器 CPUCPU乘法乘法累加器累加器算术算术/逻辑逻辑运算单元运算单元桶桶 形形移位器移位器比较器比较器外部外部存储器存储器接口接口外部外部设备设备接口接口程序存储器程序存储器数据存储器数据存储器串行口串行口并行口并行口定时器定时器计数器计数器中断中断系统系统控制控制接口接口PABPABPBPBCABCABCBCBDABDABDBDBEABEABEBEB3.3.各部分的功能各部分的功能 中央处理器中央处理器CPU 采用了流水线指令执行结构和相应的并行处理采用了流水线指令执行结构和相应的并行处理结构,可在一个周期内对数据进行高速的算术运算结构,可在一个周期内对数据进行高速的算术运算和逻
6、辑运算。和逻辑运算。内部总线结构内部总线结构由一组程序总线、三组数据总线和四组地址总由一组程序总线、三组数据总线和四组地址总线组成,可在一个指令周期内产生两个数据存储地线组成,可在一个指令周期内产生两个数据存储地址,实现流水线并行数据处理。址,实现流水线并行数据处理。3.3.各部分的功能各部分的功能 特殊功能寄存器特殊功能寄存器 共有共有26个特殊功能寄存器,位于具有特殊功能个特殊功能寄存器,位于具有特殊功能的的RAM区。主要用来对片内各功能模块进行管理、区。主要用来对片内各功能模块进行管理、控制、监视。控制、监视。数据存储器数据存储器RAM 片内数据存储器片内数据存储器双寻址双寻址数据寄存器
7、数据寄存器DARAM(单指令周期内二次操作单指令周期内二次操作)单单寻址寻址数据寄存器数据寄存器SARAM(单指令周期内一次操作单指令周期内一次操作)3.3.各部分的功能各部分的功能 程序存储器程序存储器ROM 可由可由ROM和和RAM配置而成,即程序空间可以配置而成,即程序空间可以定义在定义在ROM上,也可以定义在上,也可以定义在RAM中。中。当需要高速运行的程序时,可将片外当需要高速运行的程序时,可将片外ROM中的中的程序调入到片内程序调入到片内RAM中,以提高程序的运行速度,中,以提高程序的运行速度,降低对外部降低对外部ROM的速度要求,增强系统的整体抗的速度要求,增强系统的整体抗干扰性
8、能。干扰性能。3.3.各部分的功能各部分的功能 I/O口口 BIO:主要用来监测外部设备的工作状态;:主要用来监测外部设备的工作状态;XF:用来给外部设备发送信号。:用来给外部设备发送信号。C54x芯片还配有主机接口(芯片还配有主机接口(HPI)、同步串行)、同步串行口和口和64K字字I/O空间。空间。HPI和串行口可以通过设置,用作通用和串行口可以通过设置,用作通用I/O。64K字的字的I/O空间可通过外加缓冲器或锁存电路,空间可通过外加缓冲器或锁存电路,配合外部配合外部I/O读写控制时序构成片外外设的控制电路。读写控制时序构成片外外设的控制电路。C54x共有两个通用共有两个通用I/O引脚(
9、引脚(BIO和和XF)。)。3.3.各部分的功能各部分的功能 串行口串行口 不同型号的不同型号的C54x芯片,所配置的串行口功能不芯片,所配置的串行口功能不同。可分为同。可分为4种:种:单通道同步串行口单通道同步串行口SP 带缓冲器单通道同步串行口带缓冲器单通道同步串行口BSP 并行带缓冲器多通道同步串行口并行带缓冲器多通道同步串行口McBSP 时分多通道带缓冲器串行口时分多通道带缓冲器串行口TMD3.3.各部分的功能各部分的功能 主机接口主机接口HPI HPI是一个与主机通信的并行接口,主要用于是一个与主机通信的并行接口,主要用于DSP与其它总线或与其它总线或CPU进行通信。信息可通过进行通
10、信。信息可通过C54x的片内存储器与主机进行数据交换。的片内存储器与主机进行数据交换。不同型号的器件配置不同不同型号的器件配置不同HPI口,可分为:口,可分为:8位标准位标准HPI接口接口 8位增强型位增强型HPI接口接口 16位增强型位增强型HPI接口接口3.3.各部分的功能各部分的功能 定时器定时器 定时器是一个软件可编程的计数器,用来产生定定时器是一个软件可编程的计数器,用来产生定时中断。时中断。可通过设置特定的状态来控制定时器的停止、恢可通过设置特定的状态来控制定时器的停止、恢复、复位和禁止。复、复位和禁止。中断系统中断系统 C54x的中断系统具有硬件中断和软件中断。的中断系统具有硬件
11、中断和软件中断。硬件中断:硬件中断:软件中断软件中断:由外围设备信号引起的中断。由外围设备信号引起的中断。分为:分为:片外外设引起的硬件中断片外外设引起的硬件中断;片内外设引起的硬件中断片内外设引起的硬件中断。由程序指令所引起的中断。由程序指令所引起的中断。SINT15SINT0。包括所有的软件中断和两个外部包括所有的软件中断和两个外部 中断管理优先级中断管理优先级 11111616个固定级。个固定级。硬件中断硬件中断RS、NMI。TMS320C54x的结构是以的结构是以8 8组组1616位总线为核心,位总线为核心,形成了支持高速指令执行的硬件基础。形成了支持高速指令执行的硬件基础。总线结构总
12、线结构 1 1组程序总线组程序总线PB3 3组数据总线组数据总线CB、DB、EB4 4组地址总线组地址总线PAB、CAB、DAB、EAB1程序总线程序总线PB 主要用来传送取自程序存储器的指令代码和立即主要用来传送取自程序存储器的指令代码和立即操作数。操作数。PB总线既可以将程序空间的操作数据总线既可以将程序空间的操作数据(如系数表如系数表)送至数据空间的目标地址中,以实现数据移动,也可送至数据空间的目标地址中,以实现数据移动,也可以将程序空间的操作数据传送乘法器和加法器中,以以将程序空间的操作数据传送乘法器和加法器中,以便执行乘法便执行乘法-累加操作。累加操作。2 2数据总线数据总线CB、D
13、B和和EB 3条数据总线分别与不同功能的内部单元相连接。条数据总线分别与不同功能的内部单元相连接。如:如:CPU、程序地址、程序地址产生逻辑产生逻辑PAGEN、数据地址、数据地址产生逻产生逻辑辑 DAGEN、片内外设和数据存储器等。、片内外设和数据存储器等。CB和和DB用来传送从数据存储器读出的数据;用来传送从数据存储器读出的数据;EB用来传送写入存储器的数据。用来传送写入存储器的数据。数据地址产生器数据地址产生器DAGEN 程序地址产生器程序地址产生器PAGEN3 3地址总线地址总线PAB、CAB、DAB和和EAB用来提供执行指令所需的地址。用来提供执行指令所需的地址。4 4各总线连接设备各
14、总线连接设备PB:当用于程序指向的操作数传输时输出至乘法当用于程序指向的操作数传输时输出至乘法-累加器当进行程序命令读取时传输累加器当进行程序命令读取时传输至控制系统接口至控制系统接口PAB:与程序地址产生器相连,接收程序地址信息与程序地址产生器相连,接收程序地址信息CB:专用于片内数据存储器的数据传输,把数据输出至乘法专用于片内数据存储器的数据传输,把数据输出至乘法-累加器、算术逻辑运算累加器、算术逻辑运算单元以及桶型移位单元单元以及桶型移位单元CAB:与数据地址产生器相连,接收数据地址信息与数据地址产生器相连,接收数据地址信息DB:除与除与CB传输相同内容外,同时还负责向存储器写入地址信息
15、,而外接存储器的传输相同内容外,同时还负责向存储器写入地址信息,而外接存储器的数据信息也通过它进行读取。数据信息也通过它进行读取。DAB:当参与片内数据传输时,功能与当参与片内数据传输时,功能与CAB一致;当参与外设数据传输时则向地址一致;当参与外设数据传输时则向地址产生器输入读入信息的地址信息。产生器输入读入信息的地址信息。EB:负责向存储器和地址产生器写入信息包括程序指令和数据内容及地址负责向存储器和地址产生器写入信息包括程序指令和数据内容及地址EAB:当写入片内,则接受数据地址产生器的信息,当向外部写入,则向地址产生当写入片内,则接受数据地址产生器的信息,当向外部写入,则向地址产生器输送
16、写入的地址信息器输送写入的地址信息C54xC54x读读/写操作占用总线情写操作占用总线情况况读读/写方式写方式地址总线地址总线程序总线程序总线数据总线数据总线PABCABDABEABPBCBDBEB程序读程序读 程序写程序写 单数据读单数据读 双数据读双数据读 32位长数据读位长数据读(hw)(lw)(hw)(lw)单数据写单数据写 数据读数据读/数据写数据写 双双/单数据读单数据读 外设读外设读 外设写外设写 C54xC54x读读/写操作占用总线情况写操作占用总线情况CPU是是DSP器件的核心部件,它的性能直接关系器件的核心部件,它的性能直接关系到到DSP器件的性能。器件的性能。C54x的的
17、CPU采用了流水线指令执行结构和相应采用了流水线指令执行结构和相应的并行结构设计,使其能在一个指令周期内,高速地的并行结构设计,使其能在一个指令周期内,高速地完成多项算术运算。完成多项算术运算。CPU包括下列基本部件:包括下列基本部件:40 40位算术逻辑位算术逻辑运算运算单元单元ALU;2 2个个4040位的累加器位的累加器A和和B;支持支持-16-163131位移位范围的桶形移位寄存器;位移位范围的桶形移位寄存器;能能完成乘法完成乘法-加法运算的乘法累加器加法运算的乘法累加器MAC;16 16位暂存寄存器位暂存寄存器T;1616位转移寄存器位转移寄存器TRN;比较、选择、存储单元比较、选择
18、、存储单元CSSU;指数译码器;指数译码器;CPU状态和控制寄存器。状态和控制寄存器。C54x使用使用40位的算术逻辑运算单元和位的算术逻辑运算单元和2个个40位位累加器,可完成宽范围的算术逻辑运算。累加器,可完成宽范围的算术逻辑运算。C54x的大多数算术逻辑运算指令都是单周期的大多数算术逻辑运算指令都是单周期指令,其运算结果通常自动送入目的累加器指令,其运算结果通常自动送入目的累加器A或或B。但在执行存储器到存储器的算术逻辑运算指令时但在执行存储器到存储器的算术逻辑运算指令时(如(如ADDM、ANDM、ORM和和XORM),其运算结),其运算结果则存入指令指定的目的存储器。果则存入指令指定的
19、目的存储器。ALU的功能框图的功能框图 MAC输出输出SXMSXMOVMC16CZA/ZBTCXYAMUBBACTDSOVA/OVB桶形移位桶形移位器输出器输出1ALU的输入和输出的输入和输出根据输入源的不同,根据输入源的不同,ALU采用不同的输入方式。采用不同的输入方式。(1)ALU的的X输入源输入源 来自桶形移位寄存器输出的操作数来自桶形移位寄存器输出的操作数;来自数据总线来自数据总线DB中的操作数中的操作数。(2)ALU的的Y输入源输入源 来自累加器来自累加器A中的数据;中的数据;来自累加器来自累加器B中的数据;中的数据;来自数据总线来自数据总线CB中的操作数中的操作数;来自来自T寄存器
20、中的操作数。寄存器中的操作数。(3)ALU输入数据的预处理输入数据的预处理 当当16位数据存储器操作数通过数据总线位数据存储器操作数通过数据总线DB或或CB输入时,输入时,ALU将采用两种方式对操作数进行预处理。将采用两种方式对操作数进行预处理。若数据存储器若数据存储器的的1616位位操作数在低操作数在低1616位时,则位时,则 当当SXM=0时,高时,高24位位(3916位位)用用0填充;填充;当当SXM=1时,高时,高24位位(3916位位)扩展为符号扩展为符号位位。若数据存储器若数据存储器的的1616位位操作数在高操作数在高1616位时,则位时,则 当当SXM=0时,时,3932位和位和
21、150位用位用0填充;填充;当当SXM=1时,时,3932位扩展为符号位扩展为符号位位,150位位置置0。(4)ALU的输出的输出 ALU的输出为的输出为40位运算结果,通常被送至累加器位运算结果,通常被送至累加器A或或B。2溢出处理溢出处理 ALU的饱和逻辑可以对运算结果进行溢出处理。的饱和逻辑可以对运算结果进行溢出处理。当发生溢出时,将运算结果调整为最大正数(正向当发生溢出时,将运算结果调整为最大正数(正向溢出)或最小负数(负向溢出)。溢出)或最小负数(负向溢出)。若若OVM=0,则对,则对ALU的运算结果不作任何的运算结果不作任何调整,直接送入累加器;调整,直接送入累加器;若若OVM=1
22、 1,则对,则对ALU的运行结果进行调整。的运行结果进行调整。当正向溢出时,将当正向溢出时,将3232位最大正数位最大正数0000 7 7FFFFFFFH装入累加器;装入累加器;当负向溢出时,将当负向溢出时,将3232位最小负数位最小负数FF 8000000080000000H装入累加器。装入累加器。状态寄存器状态寄存器ST0中与目标累加器相关的溢出标中与目标累加器相关的溢出标志志OVA或或OVB被置被置1。3进位位进位位C ALU有一个与运算结果有关的进位位有一个与运算结果有关的进位位C,位于,位于ST0的的11位。进位位位。进位位C受大多数受大多数ALU操作指令的影响,操作指令的影响,包括
23、算术操作、循环操作和移位操作。包括算术操作、循环操作和移位操作。进位位进位位C的功能:的功能:用来指明是否有进位发生;用来指明是否有进位发生;用来支持扩展精度的算术运算;用来支持扩展精度的算术运算;可作为分支、调用、返回和条件操作的执行可作为分支、调用、返回和条件操作的执行 条件条件。进位位进位位C不受装载累加器操作、逻辑操作、不受装载累加器操作、逻辑操作、非算术运算和控制指令的影响;非算术运算和控制指令的影响;可通过寄存器操作指令可通过寄存器操作指令RSBX和和SSBX对对 其进行置位和复位。其进行置位和复位。4双双16位算术运算位算术运算 若要将若要将ST1中的中的C16置位,则置位,则A
24、LU进行双进行双16位算位算术运算,即在一个机器周期内完成两个术运算,即在一个机器周期内完成两个16位数的算位数的算术运算,进行两次术运算,进行两次16位加法或两次位加法或两次16位减法运算。位减法运算。5其他控制位其他控制位除除SXM、OVM、C、C16、OVA、OVB外,外,ALU还有两个控制位。还有两个控制位。TC测试测试/控制标志,位于控制标志,位于ST0的的12位;位;ZA/ZB累加器结果为累加器结果为0 0标志位。标志位。C54x芯片有两个独立的芯片有两个独立的40位累加器位累加器A和和B,可,可以作为以作为ALU或或MAC的目标寄存器,存放运算结果,的目标寄存器,存放运算结果,也
25、可以作为也可以作为ALU或或MAC的一个输入。的一个输入。在执行并行指令(在执行并行指令(LD|MAC)和一些特殊指令)和一些特殊指令(MIN和和MAX)时,两个累加器中的一个用于装载)时,两个累加器中的一个用于装载数据,而另一个用于完成运算。数据,而另一个用于完成运算。1.1.累加器结构累加器结构39 3231 1615 0累加器累加器AAGAHAL保护位保护位39 32高阶位高阶位31 16低阶位低阶位15 0累加器累加器BBGBHBL保护位保护位高阶位高阶位低阶位低阶位保护位:保护位:AG、BG 3932,作为算术计算时的数据位余量,作为算术计算时的数据位余量,以防止迭代运算中的溢出以防
展开阅读全文