DSP器件及其应用-DSP的硬件结构_第1页
DSP器件及其应用-DSP的硬件结构_第2页
DSP器件及其应用-DSP的硬件结构_第3页
DSP器件及其应用-DSP的硬件结构_第4页
DSP器件及其应用-DSP的硬件结构_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章DSP的硬件结构DSP器件及其应用 DSPDSP的硬件结构,大体上与通用的微的硬件结构,大体上与通用的微处理器相类似,由处理器相类似,由CPUCPU、存储器、总线、存储器、总线、外设、接口、时钟等部分组成,但又有外设、接口、时钟等部分组成,但又有其鲜明的特点。其鲜明的特点。DSPDSP芯片的特点芯片的特点 冯冯. .诺依曼诺依曼结构与哈佛结构结构与哈佛结构DSPDSP芯片的特点芯片的特点 程序与数据存储空间分开,各有独立程序与数据存储空间分开,各有独立的地址总线和数据总线,取指和读数的地址总线和数据总线,取指和读数可以同时进行,从而提高速度,目前可以同时进行,从而提高速度,目前的水平已达

2、到的水平已达到90亿次浮点运算亿次浮点运算/秒秒(9000MFLOPS) MIPS-Million Instruction Per Second MFLOPS-Million Floating Operation Per Second哈佛结构哈佛结构DSPDSP芯片的特点芯片的特点 哈佛结构哈佛结构程序程序存储器存储器CPU数据数据存储器存储器哈佛结构改进的哈佛结构DSPDSP芯片的特点芯片的特点 改进型的哈佛结构改进型的哈佛结构 改进型的哈佛结构是采用双存储空间和数条总线,即一条程序总线和多改进型的哈佛结构是采用双存储空间和数条总线,即一条程序总线和多条数据总线。其特点如下:条数据总线。其特

3、点如下: 允许在程序空间和数据空间之间相互传送数据允许在程序空间和数据空间之间相互传送数据, ,使这些数据使这些数据可以由算术运算指令直接调用可以由算术运算指令直接调用, ,增强芯片的灵活性;增强芯片的灵活性; 提供了存储指令的高速缓冲器(提供了存储指令的高速缓冲器(cachecache)和相应的指令和相应的指令, ,当当重复执行这些指令时重复执行这些指令时, ,只需读入一次就可连续使用,不需要再次从程序只需读入一次就可连续使用,不需要再次从程序存储器中读出存储器中读出, ,从而减少了指令执行作需要的时间。如:从而减少了指令执行作需要的时间。如:TMS320C6200TMS320C6200系系

4、列的列的DSP,DSP,整个片内程序存储器都可以配制成高速缓冲结构。整个片内程序存储器都可以配制成高速缓冲结构。 DSPDSP芯片的特点芯片的特点 改进型的哈佛结构改进型的哈佛结构 DSPDSP芯片都采用多总线结构,可同时进行取指令和多个数据存芯片都采用多总线结构,可同时进行取指令和多个数据存取操作,并由辅助寄存器自动增减地址进行寻址,使取操作,并由辅助寄存器自动增减地址进行寻址,使CPUCPU在一在一个机器周期内可多次对程序空间和数据空间进行访问,大大个机器周期内可多次对程序空间和数据空间进行访问,大大地提高了地提高了DSPDSP的运行速度。如:的运行速度。如:TMS320C54xTMS32

5、0C54x系列内部有系列内部有P P、C C、D D、E E等等4 4组总线,每组总线中都有地址总线和数据总线,这样组总线,每组总线中都有地址总线和数据总线,这样在一个机器周期内可以完成如下操作:在一个机器周期内可以完成如下操作: 从程序存储器中取一条指令;从程序存储器中取一条指令; 从数据存储器中读两个操作数;从数据存储器中读两个操作数; 向数据存储器写一个操作数。向数据存储器写一个操作数。 流水操作流水操作(pipelinepipeline)DSPDSP芯片的特点芯片的特点 独立的硬件乘法器独立的硬件乘法器 在卷积、数字滤波、在卷积、数字滤波、FFT、相关、矩阵运算等算、相关、矩阵运算等算

6、法中,都有法中,都有 一类的运算,大量重复一类的运算,大量重复乘法和累加乘法和累加v通用计算机的乘法用软件实现,用若干个机器通用计算机的乘法用软件实现,用若干个机器周期。周期。vDSP有硬件乘法器,用有硬件乘法器,用MAC指令(取数、乘法、指令(取数、乘法、累加)在单周期内完成。累加)在单周期内完成。DSPDSP芯片的特点芯片的特点 独立的独立的DMADMA总线和控制器总线和控制器 有一组或多组独立的有一组或多组独立的DMA总线,与总线,与CPU的程序、数据总线并行工作,在的程序、数据总线并行工作,在不影响不影响CPU工作的条件下,工作的条件下,DMA速度速度目前已达目前已达800Mbyte/

7、sDSPDSP芯片的特点芯片的特点 DSP的硬件结构p中央处理器p总线p数据存储器RAM、程序存储器ROMp外设。CPUCPUv通用微处理器的通用微处理器的CPU由由ALU和和CU组成,其组成,其算术运算和逻辑运算通过软件来实现,如算术运算和逻辑运算通过软件来实现,如加法需要加法需要10个机器周期,乘法是一系列的个机器周期,乘法是一系列的移位和加法,需要数十个机器周期。移位和加法,需要数十个机器周期。vDSP的的CPU设置硬件乘法器,可以在单周设置硬件乘法器,可以在单周期内完成乘法和累加期内完成乘法和累加DSP的硬件结构TMS320C2xxTMS320C2xx的的CPUCPU(部分)(部分)D

8、SP的硬件结构硬件乘法器硬件乘法器DSP的硬件结构CALUCALU(中心算术逻辑单元)(中心算术逻辑单元)DSP的硬件结构DSP的硬件结构数据地址发生器(数据地址发生器(DAGDAG)v在通用在通用CPU中,数据地址的产生和中,数据地址的产生和数据的处理都由数据的处理都由ALU来完成来完成v在在DSP中,设置了专门的数据地址中,设置了专门的数据地址发生器(实际上是专门的发生器(实际上是专门的ALU),),来产生所需要的数据地址,节省公来产生所需要的数据地址,节省公共共ALU的时间的时间DSP的硬件结构TMS320C2xx的片内存储器及总线的片内存储器及总线DSP的硬件结构外设(外设(perip

9、heralsperipherals)v时钟发生器(振荡器与锁相环)时钟发生器(振荡器与锁相环)v定时器(定时器(Timer)v软件可编程等待状态发生器软件可编程等待状态发生器v通用通用I/Ov同步串口(同步串口(SSP)与异步串口()与异步串口(ASP)vJTAG扫描逻辑电路(扫描逻辑电路(IEEE 1149.1标准标准) 便于对便于对DSP作片上的在线仿真和多作片上的在线仿真和多DSP条件下的调试条件下的调试DSP的硬件结构DSP的硬件结构:举例ALUALUDSP的硬件结构:举例ADSP2100ADSP2100DSP的硬件结构:举例MOTOROLA DSP56002MOTOROLA DSP5

10、6002DSP的硬件结构:举例Lucent Lucent DSP1600DSP1600 core coreDSP的硬件结构:举例27uTMS320C54xTMS320C54x的内部结构和主要特性的内部结构和主要特性u总线结构总线结构u中央处理单元(中央处理单元(CPUCPU)u存储器存储器u本章小结本章小结TMS320C54x的硬件结构的硬件结构28内容简内容简介介T TMS320C54x(简称(简称C54x)系列)系列DSP是是TI公司推出的低功公司推出的低功耗、高性能的耗、高性能的16位定点数字信号处理器,具有很好的操作位定点数字信号处理器,具有很好的操作灵活性和很高的运行速度。由于灵活性

11、和很高的运行速度。由于TMS320C54x使用使用CPU的的并行运行特性、特殊硬件逻辑、特定的指令系统和多总线并行运行特性、特殊硬件逻辑、特定的指令系统和多总线技术等来提高运算速度,并使用高级的技术等来提高运算速度,并使用高级的IC硬件设计技术来硬件设计技术来提高处理器工作速度及降低功耗,使其具有功耗小、高度提高处理器工作速度及降低功耗,使其具有功耗小、高度并行等优点,可以满足众多领域实时处理的要求。并行等优点,可以满足众多领域实时处理的要求。T 本章详细介绍本章详细介绍TMS320C54x的硬件结构,主要包括总线结的硬件结构,主要包括总线结构、中央处理单元、存储器。构、中央处理单元、存储器。

12、TMS320C54x的硬件结构的硬件结构291 TMS320C54x1 TMS320C54x的内部结构和主要特性的内部结构和主要特性T TI 公司推出的同一代公司推出的同一代TMS320系列系列DSP产品的产品的CPU结构是相同结构是相同的,只是在片内存储器和片内外围设备的配置上不一定相同。的,只是在片内存储器和片内外围设备的配置上不一定相同。T TMS320C54x系列系列DSP处理器产品虽然很多,处理器产品虽然很多, 但其体系结构基但其体系结构基本上是相同的,特别是处理器内部本上是相同的,特别是处理器内部CPU 结构是完全相同的,不结构是完全相同的,不同处理器只是在时钟频率、工作电压、片内

13、存储器容量大小、同处理器只是在时钟频率、工作电压、片内存储器容量大小、外围设备和接口电路的设计上会有所不同。外围设备和接口电路的设计上会有所不同。1.1 TMS320C54x的内部结构的内部结构TMS320C54x的硬件结构的硬件结构301 TMS320C54x1 TMS320C54x的内部结构和主要特性的内部结构和主要特性TMS320C54x DSP的内部组成框图的内部组成框图TMS320C54x的硬件结构的硬件结构31TMS320C54x DSP的内部硬件结构图的内部硬件结构图331 TMS320C54x1 TMS320C54x的内部结构和主要特性的内部结构和主要特性T TMS320C54

14、x内部结构基本上可以分为内部结构基本上可以分为3大部分:大部分:T CPU:包括算术逻辑运算单元、乘法器、累加器、移位寄存:包括算术逻辑运算单元、乘法器、累加器、移位寄存器、各种专用用途的寄存器、地址生成器及内部总线。器、各种专用用途的寄存器、地址生成器及内部总线。T 片内存储器系统:包括片内的程序片内存储器系统:包括片内的程序ROM、片内单访问的数据、片内单访问的数据RAM和双访问的数据和双访问的数据RAM、外部存储器接口。、外部存储器接口。T 片内外设与专用硬件电路:包括片内定时器、各种类型的串片内外设与专用硬件电路:包括片内定时器、各种类型的串口、主机接口、片内锁相环(口、主机接口、片内

15、锁相环(PLL)时钟发生器及各种控制)时钟发生器及各种控制电路。电路。T 此外,在此外,在DSP处理器中还包含有仿真功能及其处理器中还包含有仿真功能及其IEEE 1149.1标标准接口(准接口(JTAG),用于处理器开发应用时的仿真。),用于处理器开发应用时的仿真。1.1 TMS320C54x的内部结构的内部结构TMS320C54x的硬件结构的硬件结构341 TMS320C54x1 TMS320C54x的内部结构和主要特性的内部结构和主要特性1.CPU 部分部分T 先进的多总线结构(先进的多总线结构(1条程序总线、条程序总线、3条数据总线和条数据总线和4条对应的条对应的地址总线)。地址总线)。

16、T 40位算术逻辑运算单元(位算术逻辑运算单元(ALU),包括),包括1个个40位桶形移位寄存位桶形移位寄存器和器和2个独立的个独立的40位累加器。位累加器。T 17位位17位并行乘法器与位并行乘法器与40位专用加法器相连,用于非流水线位专用加法器相连,用于非流水线式单周期乘法式单周期乘法/累加(累加(MAC)运算。)运算。T 比较、选择、存储单元(比较、选择、存储单元(CSSU),用于加法、比较、选择运),用于加法、比较、选择运算。算。T 指数编码器,是一个支持单周期指令指数编码器,是一个支持单周期指令EXP的专用硬件,可以在的专用硬件,可以在单个周期内计算单个周期内计算40位累加器中数值的

17、指数。位累加器中数值的指数。T 双地址生成器,包括双地址生成器,包括8个辅助寄存器和个辅助寄存器和2个辅助寄存器算术运算个辅助寄存器算术运算单元(单元(ARAU)。)。1.2 TMS320C54x的主要特性的主要特性TMS320C54x的硬件结构的硬件结构351 TMS320C54x1 TMS320C54x的内部结构和主要特性的内部结构和主要特性2.存储器存储器 T 16位位192K字的可寻址存储空间(字的可寻址存储空间(64K字的程序存储空间、字的程序存储空间、64K字的数据存储空间和字的数据存储空间和64K字的字的I/O空间),此外,空间),此外,C549、VC5402、VC5409、VC

18、5410和和VC5416等带有扩展程序存等带有扩展程序存储器,程序存储空间最大可扩展至储器,程序存储空间最大可扩展至8M字。字。 T 片内片内ROM,可配置为程序存储器和数据存储器。,可配置为程序存储器和数据存储器。 T 片内片内RAM有两种类型,即片内双访问有两种类型,即片内双访问RAM(DARAM)和片)和片内单访问内单访问RAM(SARAM)。)。 TMS320C54x的硬件结构的硬件结构1.2 TMS320C54x的主要特性的主要特性361 TMS320C54x1 TMS320C54x的内部结构和主要特性的内部结构和主要特性3.片内外设片内外设 T软件可编程等待状态发生器。软件可编程等

19、待状态发生器。T可编程分区切换逻辑电路。可编程分区切换逻辑电路。T带有内部振荡器或用外部时钟源的片内锁相环时钟发生器。带有内部振荡器或用外部时钟源的片内锁相环时钟发生器。T支持全双工操作的串行口,可进行支持全双工操作的串行口,可进行8位或位或16位串行通信。位串行通信。T片内的串行口根据型号不同可分为片内的串行口根据型号不同可分为4种:单通道同步串行口种:单通道同步串行口(SP)、带缓冲器单通道同步串行口()、带缓冲器单通道同步串行口(BSP)、并行带缓冲器多通)、并行带缓冲器多通道同步串行口(道同步串行口(McBSP)、时分多通道带缓冲器串行口()、时分多通道带缓冲器串行口(TMD)。)。处

20、理器不同串行口配置也不尽相同。处理器不同串行口配置也不尽相同。T可与主机直接连接的可与主机直接连接的8位或位或16位并行主机接口(位并行主机接口(HPI)。)。T16位可编程定时器。位可编程定时器。T6通道直接存储器访问(通道直接存储器访问(DMA)控制器。)控制器。T外部总线关断控制,以断开外部的数据总线、地址总线和控制信外部总线关断控制,以断开外部的数据总线、地址总线和控制信号。号。T数据总线具有总线保持特性。数据总线具有总线保持特性。 1.2 TMS320C54x的主要特性的主要特性TMS320C54x的硬件结构的硬件结构371 TMS320C54x1 TMS320C54x的内部结构和主

21、要特性的内部结构和主要特性4.指令系统指令系统 T 单指令重复和块指令重复操作指令。单指令重复和块指令重复操作指令。T 用于程序和数据管理的块存储器传送指令。用于程序和数据管理的块存储器传送指令。T 32位长操作数指令。位长操作数指令。T 同时读入同时读入2个或个或3个操作数的指令。个操作数的指令。T 可以并行存储和并行加载的算术指令。可以并行存储和并行加载的算术指令。T 条件存储指令。条件存储指令。T 从中断快速返回指令。从中断快速返回指令。TMS320C54x的硬件结构的硬件结构1.2 TMS320C54x的主要特性的主要特性381 TMS320C54x1 TMS320C54x的内部结构和

22、主要特性的内部结构和主要特性5.电源电源 T 具有多种节电模式,可用具有多种节电模式,可用IDLE1、IDLE2和和IDLE3指令来控制指令来控制处理器功耗,使处理器功耗,使CPU工作在省电方式。工作在省电方式。T 可控制关断时钟输出信号可控制关断时钟输出信号CLKOUT。 6.片内仿真接口片内仿真接口 T 具有符合具有符合IEEE1149.1标准的片内仿真接口(标准的片内仿真接口(JTAG),可与主),可与主机相连,用于系统处理器的开发与应用。机相连,用于系统处理器的开发与应用。 7.速度速度 T 单周期定点指令的执行时间为单周期定点指令的执行时间为25/20/12.5/10/8.3/7.5

23、/6.25ns,相应的相应的CPU运行速度为运行速度为 40/50/80 /100/120/133/160MIPS。1.2 TMS320C54x的主要特性的主要特性TMS320C54x的硬件结构的硬件结构392 2 总线结构总线结构T TMS320C54x的结构是以的结构是以8条条16位总线为核心的,即位总线为核心的,即1条程序条程序总线(总线(PB)、)、3条数据总线(条数据总线(CB、DB和和EB)和)和4条地址总条地址总线(线(PAB、CAB、DAB和和EAB),这些总线形成了支持高),这些总线形成了支持高速指令执行的硬件基础。速指令执行的硬件基础。8条条16位总线的功能如下:位总线的功

24、能如下:(1) 1条程序总线(条程序总线(PB)T 程序总线(程序总线(PB)传送由程序存储器取出的指令操作代码和)传送由程序存储器取出的指令操作代码和立即操作数。立即操作数。T PB既可以将程序空间的操作数据(如系数表)送至数据空既可以将程序空间的操作数据(如系数表)送至数据空间的目标地址中,以执行数据移动,也可以将程序空间的操间的目标地址中,以执行数据移动,也可以将程序空间的操作数据传送到乘法器和加法器中,以便执行乘法作数据传送到乘法器和加法器中,以便执行乘法/累加操累加操作。作。 。TMS320C54x的硬件结构的硬件结构40(2) 3条数据总线(条数据总线(CB、DB和和EB)T 3条

25、数据总线(条数据总线(CB、DB和和EB)将内部各单元(如)将内部各单元(如CPU,数,数据地址生成电路,程序地址生成电路,片内外围设备以及数据地址生成电路,程序地址生成电路,片内外围设备以及数据存储器)连接在一起。据存储器)连接在一起。T 其中,其中,CB和和DB用来传送从数据存储器读出的数据;用来传送从数据存储器读出的数据;EB用来用来传送写入存储器的数据。传送写入存储器的数据。2 2 总线结构总线结构TMS320C54x的硬件结构的硬件结构41(3) 4条地址总线(条地址总线(PAB、CAB、DAB和和EAB)T 4条地址总线(条地址总线(PAB、CAB、DAB和和EAB)用于传送执行指

26、)用于传送执行指令所需要的地址。令所需要的地址。T TMS320C54x可以利用两个辅助寄存器算术运算单元可以利用两个辅助寄存器算术运算单元(ARAU0 和和 ARAU1),在每个周期产生两个数据存储器),在每个周期产生两个数据存储器的地址。的地址。T TMS320C54x还有一条访问片内外设的片内双向总线。这条还有一条访问片内外设的片内双向总线。这条双向总线通过双向总线通过CPU接口内的总线交换器与接口内的总线交换器与DB和和EB相连。利相连。利用这条双向总线的访问过程需要用这条双向总线的访问过程需要2个或更多个周期来读个或更多个周期来读/写,写,具体时间取决于外围电路的结构。由此可见,具体

27、时间取决于外围电路的结构。由此可见,DSP处理系统处理系统中应当尽量避免器件内外大量数据交换,以保证系统高速特中应当尽量避免器件内外大量数据交换,以保证系统高速特性。性。2 2 总线结构总线结构TMS320C54x的硬件结构的硬件结构42表:表: 各种读各种读/写方式用到的总线写方式用到的总线读读/写方式写方式地址总线地址总线程序总程序总线线数据总线数据总线PABCABDABEABPBCBDBEB程序读程序读 程序写程序写 单数据读单数据读 双数据读双数据读 32位长数据读位长数据读 (hw) (lw) (hw) (lw)单数据写单数据写 数据读数据读/数据写数据写 双数据读双数据读/系数读系

28、数读 外设读外设读 外设写外设写 注:注:hw为为32位数据的高位数据的高16位;位;lw为为32位数据的低位数据的低16位。位。TMS320C54x的硬件结构的硬件结构43T TMS320C54x总线结构的特点:总线结构的特点:T 8条条16位总线,并行工作能在一个机器周期内完成位总线,并行工作能在一个机器周期内完成3次读操次读操作和作和1次写操作。次写操作。T 支持数据在程序空间和数据空间传送。支持数据在程序空间和数据空间传送。T 支持片内、外外设的双向通信。支持片内、外外设的双向通信。T 支持功能很强的算术逻辑与位操作运算。支持功能很强的算术逻辑与位操作运算。2 2 总线结构总线结构TM

29、S320C54x的硬件结构的硬件结构443 3 中央处理单元(中央处理单元(CPUCPU) T 中央处理单元(中央处理单元(CPU)是)是DSP的核心部件,它的性能直接关的核心部件,它的性能直接关系到系到DSP器件的性能。器件的性能。CPU的基本组成如下:的基本组成如下:T 40位算术逻辑运算单元(位算术逻辑运算单元(ALU)T 2个个40位累加器位累加器T 1个个40位桶形移位寄存器位桶形移位寄存器T 乘法器乘法器/加法器单元(加法器单元(MAC)T 比较、选择和存储单元(比较、选择和存储单元(CSSU)T 指数编码器指数编码器T CPU状态和控制寄存器状态和控制寄存器T 两个地址发生器两个

30、地址发生器TMS320C54x的硬件结构的硬件结构TMS320C54x CPU结构图结构图ALUMAC桶桶形形移移位位寄寄存存器器CSSUEXP46T 算术逻辑运算单元(算术逻辑运算单元(ALU)可以实现加)可以实现加/减法运算、逻辑减法运算、逻辑运算等大部分算术和逻辑功能,且大多数的算术逻辑运运算等大部分算术和逻辑功能,且大多数的算术逻辑运算指令都是单周期指令。算指令都是单周期指令。T 除存储操作指令(除存储操作指令(ADDM、ANDM、ORM 和和XORM)外,外,ALU的运算结果通常都被传送到目的累加器(累加的运算结果通常都被传送到目的累加器(累加器器A和和B)。)。3.1 算术逻辑运算

31、单元(算术逻辑运算单元(ALU)3 3 中央处理单元(中央处理单元(CPUCPU) TMS320C54x的硬件结构的硬件结构473.1 算术逻辑运算单元(算术逻辑运算单元(ALU)3 3 中央处理单元(中央处理单元(CPUCPU) 图图3-3 ALU功能框图功能框图TMS320C54x的硬件结构的硬件结构ALUALU输入数据的预处理输入数据的预处理当当1616位数据存储器操作数通过数据总线位数据存储器操作数通过数据总线DBDB或或CBCB输入时,输入时,ALUALU将采用两种方式对操作数进行预处理。将采用两种方式对操作数进行预处理。 若数据存储器的若数据存储器的1616位操作数在低位操作数在低

32、1616位时,则位时,则 当当SXM=0SXM=0时,高时,高2424位位 ( 3916 ( 3916位位 ) ) 用用0 0填充;填充; 当当SXM=1SXM=1时,高时,高2424位位 ( 3916 ( 3916位位 ) ) 扩展为符号位。扩展为符号位。 若数据存储器若数据存储器的的1616位操作数在高位操作数在高1616位时,则位时,则 当当SXM=0SXM=0时,时,39323932位和位和150150位用位用0 0填充;填充; 当当SXM=1SXM=1时,时,39323932位扩展为符号位,位扩展为符号位,150150位置位置0 0。49 ALU有有X和和Y两个输入端两个输入端 AL

33、U输入:输入:X端端: DB015 , 移位寄存器移位寄存器 Y端:端:CB015 , A, B, T ALU输出:输出:A, B ALU能起两个能起两个16-bitALUs的作用,且在状态寄存器的作用,且在状态寄存器ST1中的中的C16位置位置1时,可同时完成两个时,可同时完成两个16-bit运算运算.3.1 算术逻辑运算单元(算术逻辑运算单元(ALU)3 3 中央处理单元(中央处理单元(CPUCPU) TMS320C54x的硬件结构的硬件结构50 例例3-1 设设(AR2)=0060h,(AR3)=0070h,数据存储器,数据存储器(0060h)=A678h,(0070h)=7234h,分

34、析指令,分析指令“ADD *AR2,*AR3,A”的执行情况:的执行情况:TADD *AR2, *AR3, A ;将将AR2和和AR3各自指向的数据存储器单元内各自指向的数据存储器单元内容左移容左移16位后相加,结果放到累加器位后相加,结果放到累加器A中,执行情况如下表所示中,执行情况如下表所示3.1 算术逻辑运算单元(算术逻辑运算单元(ALU)3 3 中央处理单元(中央处理单元(CPUCPU) SXM=0(无符号数相加无符号数相加)ALU的的X输入端(经过输入端(经过DB取自取自0060h)00 A678 0000hALU的的Y输入端(经过输入端(经过CB取自取自0070h)00 7234

35、0000h指令执行后的结果指令执行后的结果AOVM=001 18AC 0000hOVM=100 7FFF FFFFh指令执行后的标志位指令执行后的标志位状态状态C1(有进位)(有进位)OVA1(有溢出)(有溢出)TMS320C54x的硬件结构的硬件结构51A,B基本结构:基本结构:A,B均为均为40位位说明:说明:保护位保护位,防止迭代运算产生的溢出防止迭代运算产生的溢出,有符号运算时为扩展符号位有符号运算时为扩展符号位AL,AH,AG,BL,BH,BG都是存储器映射寄存器都是存储器映射寄存器,地址为地址为0008H000DHA与与B的区别:的区别:A的的3116位可以作为乘法器的一个输入位可

36、以作为乘法器的一个输入,而而B不能不能累加器累加器A和和B用于存储用于存储ALU或乘法器或乘法器/加法器单元输出的数据。累加加法器单元输出的数据。累加器也能输出数据到器也能输出数据到ALU或乘法器或乘法器/加法器中。加法器中。TMS320C54x的硬件结构的硬件结构3.2 累加器累加器3 3 中央处理单元(中央处理单元(CPUCPU) 52例例3-2累加器累加器A=FF 0123 4567h,执行带移位的,执行带移位的STH和和STL指令后,指令后,求暂存器求暂存器T和和A的内容。的内容。 STH A, 8, T ; A的内容左移的内容左移8位后,位后,AH存入存入T,T=2345h,A=FF

37、 0123 4567hSTH A, -8, T ; A的内容右移的内容右移8位后,位后,AH存入存入T,T=FF01h,A=FF 0123 4567hSTL A, 8, T ; A的内容左移的内容左移8位后,位后,AL存入存入T,T=6700h,A=FF 0123 4567hSTL A, -8, T ; A的内容右移的内容右移8位后,位后,AL存入存入T,T=2345h,A=FF 0123 4567h3.2 累加器累加器3 3 中央处理单元(中央处理单元(CPUCPU) TMS320C54x的硬件结构的硬件结构桶形移位寄存器的功能 主要用于格式化操作,为输入的数据定标。主要用于格式化操作,为输

38、入的数据定标。 在进行在进行ALUALU运算之前,对输入数据进行运算之前,对输入数据进行数据定标;数据定标; 对累加器进行算术或逻辑移位;对累加器进行算术或逻辑移位; 对累加器进行归一化处理;对累加器进行归一化处理; 在累加器的内容存入数据存储器之前,在累加器的内容存入数据存储器之前,对存储数据进行定标。对存储数据进行定标。 3.3 3.3 桶形移位器桶形移位器3 3 中央处理单元(中央处理单元(CPUCPU) TMS320C54x的硬件结构的硬件结构543.3 3.3 桶形移位器桶形移位器桶形移位器能把输入的数据进行0到31位的左移和0到16位的右移。3 3 中央处理单元(中央处理单元(CP

39、UCPU) 图图3-5 桶形移位器的功能框图桶形移位器的功能框图TMS320C54x的硬件结构的硬件结构553.3 3.3 桶形移位器桶形移位器桶形移位寄存器的输入可以为:桶形移位寄存器的输入可以为:DB,取得取得16位输入数据;位输入数据;DB和和CB ,取得取得32位输入数据;位输入数据;40位累加器位累加器A或或B。桶形移位寄存器的输出连到:桶形移位寄存器的输出连到: ALU的一个输入端,的一个输入端, 经过经过MSW/LSW(最高有效字最高有效字/最低有效字)写选择单元至最低有效字)写选择单元至EB总线。总线。 3 3 中央处理单元(中央处理单元(CPUCPU) TMS320C54x的

40、硬件结构的硬件结构563.3 3.3 桶形移位器桶形移位器例例3-3 对累加器对累加器A执行不同的移位操作执行不同的移位操作 ADD A, - 4,B ;累加器累加器A的值右移的值右移4位后加到累加器位后加到累加器B中中ADD A, ASM,B ;累加器累加器A的值按的值按ASM指定的移位数移位后指定的移位数移位后加到累加器加到累加器B中中NORM A ;按暂存器按暂存器T中的数值对累加器中的数值对累加器A进行归一化进行归一化3 3 中央处理单元(中央处理单元(CPUCPU) TMS320C54x的硬件结构的硬件结构57T 乘法器乘法器/加法器(加法器(MAC)单元包括)单元包括1个乘法器和个

41、乘法器和1个专用加法个专用加法器。乘法器器。乘法器/加法器单元具有强大的乘累加运算功能,可以在加法器单元具有强大的乘累加运算功能,可以在一个流水线周期内完成一个流水线周期内完成1次乘法运算和次乘法运算和1次加法运算。次加法运算。T TMS320C54x CPU中的中的MAC单元有一个单元有一个17位位17位的硬件位的硬件乘法器,并且附带了一个乘法器,并且附带了一个40位的专用加法器,其功能框图如位的专用加法器,其功能框图如图图3-6所示。其中硬件乘法器用来完成乘法运算,专用加法器所示。其中硬件乘法器用来完成乘法运算,专用加法器用来完成累加、取整、饱和等操作。用来完成累加、取整、饱和等操作。T

42、乘法器乘法器/加法器单元由以下部分组成:乘法器,加法器,带符加法器单元由以下部分组成:乘法器,加法器,带符号号/无符号输入控制,小数控制,零检测器,舍入器(二进制无符号输入控制,小数控制,零检测器,舍入器(二进制补码),溢出补码),溢出/饱和逻辑和暂存器(饱和逻辑和暂存器(TREG)。)。3.4 3.4 乘法器乘法器/ /加法器单元加法器单元3 3 中央处理单元(中央处理单元(CPUCPU) TMS320C54x的硬件结构的硬件结构58图图3-6 乘法器乘法器/加法器单元功能框图加法器单元功能框图乘法器输入:乘法器输入: X:T,A, DB015 Y:A, DB015, CB015, PB01

43、5乘法器输出:加法器乘法器输出:加法器加法器输入:加法器输入: X:乘法器乘法器 Y:A,B,加法器输出:将产生的加法器输出:将产生的状态标志送入状态寄状态标志送入状态寄存器,存器,A,B3.4 3.4 乘法器乘法器/ /加法器单元加法器单元59T 例例3-4 MAC指令和指令和MACR指令的执行情况分析指令的执行情况分析T MACR *AR3,A ;将将AR3指向的存储单元内容与暂存器指向的存储单元内容与暂存器T的值相乘后与累加器的值相乘后与累加器A的值的值 相加后送入相加后送入A中,再进行四舍五中,再进行四舍五入运算。入运算。3.4 3.4 乘法器乘法器/ /加法器单元加法器单元3 3 中

44、央处理单元(中央处理单元(CPUCPU) TMS320C54x的硬件结构的硬件结构60T 比较、选择和存储单元(比较、选择和存储单元(CSSU)完成累加器的高位字和低位字完成累加器的高位字和低位字之间的最大值比较,即选择累加器中较大的字并存储在数据存储之间的最大值比较,即选择累加器中较大的字并存储在数据存储器中,并改变状态寄存器器中,并改变状态寄存器ST0中的测试中的测试/控制位和状态转移寄存器控制位和状态转移寄存器(TRN)的值。的值。其功能框图如图其功能框图如图3-83-8所示。所示。T 功能:多用于功能:多用于Viterbi型蝶形运算,加、比较、选择、存储运算。型蝶形运算,加、比较、选择

45、、存储运算。T 用途:多用于通信中均衡,解码等用途:多用于通信中均衡,解码等Viterbi蝶型计算蝶型计算3.5 3.5 比较、选择和存储单元(比较、选择和存储单元(CSSUCSSU)3 3 中央处理单元(中央处理单元(CPUCPU) TMS320C54x的硬件结构的硬件结构61图图3-8 比较、选择和存储单元比较、选择和存储单元 结构:比较单元结构:比较单元COMP,TRN,TC用于记用于记录比较结果录比较结果选择单元:选择单元:MSW/LSW 存储通过存储通过EB015完成完成(输出)(输出)输入为输入为A,B,桶型移位寄桶型移位寄存器存器3.5 3.5 比较、选择和存储单元(比较、选择和

46、存储单元(CSSUCSSU)3 3 中央处理单元(中央处理单元(CPUCPU) TMS320C54x的硬件结构的硬件结构62例3-5 CMPS指令的操作pCMPS A, *AR1 p功能:对累加器A的高16位字(AH)和低16位字(AL)进行比较,p如果AHAL,则AH*AR1,TRN左移1位,0TRN(0),0TC;p如果AHAL,则AL*AR1,TRN左移1位,1TRN(0),1TC。 3.5 3.5 比较、选择和存储单元(比较、选择和存储单元(CSSUCSSU)3 3 中央处理单元(中央处理单元(CPUCPU) TMS320C54x的硬件结构的硬件结构63T 指数编码器是用于支持单周期指

47、令指数编码器是用于支持单周期指令EXP的专用硬件。的专用硬件。T 指数编码器指数编码器是一个用于支持指数运算指是一个用于支持指数运算指令的专用硬件,可以在单周期内执行令的专用硬件,可以在单周期内执行EXP指令,求累加器中数的指数值。指令,求累加器中数的指数值。T 功能功能:支持指令支持指令EXP和和NORM完成规格化完成规格化定点数操作。定点数操作。T 规格化定点数格式:规格化定点数格式:T中存指数,中存指数,A中存中存尾数。尾数。3.6 3.6 指数编码器指数编码器3 3 中央处理单元(中央处理单元(CPUCPU) 图图3-10 指数编码器指数编码器TMS320C54x的硬件结构的硬件结构6

48、4TMS320C54x CPU有有3个状态和控制寄存器:个状态和控制寄存器:T 状态寄存器状态寄存器0(ST0)T 状态寄存器状态寄存器1(ST1)T 处理器工作方式状态寄存器(处理器工作方式状态寄存器(PMST)T ST0和和ST1中包含各种工作条件和工作方式的状态;中包含各种工作条件和工作方式的状态;PMST中中包含存储器的设置状态及其他控制信息。由于这些寄存器都包含存储器的设置状态及其他控制信息。由于这些寄存器都是存储器映射寄存器,所以都可以快速地存放到数据存储是存储器映射寄存器,所以都可以快速地存放到数据存储器,或者由数据存储器对它们加载,或者用于程序或者中断器,或者由数据存储器对它们

49、加载,或者用于程序或者中断服务程序保存和恢复处理器的状态。服务程序保存和恢复处理器的状态。 3.7 CPU3.7 CPU状态和控制寄存器状态和控制寄存器 3 3 中央处理单元(中央处理单元(CPUCPU) TMS320C54x的硬件结构的硬件结构651.状态寄存器状态寄存器0(ST0)ST0反映寻址要求和计算的中间运行状态,地址:反映寻址要求和计算的中间运行状态,地址:0006H3.7 CPU3.7 CPU状态和控制寄存器状态和控制寄存器 3 3 中央处理单元(中央处理单元(CPUCPU) 状态寄存器状态寄存器ST0各位的定义:各位的定义:15-1312111098-0ARPTCCOVAOVB

50、DPARPARP辅助寄存器指针,指定用于兼容模式下间接寻址的辅助辅助寄存器指针,指定用于兼容模式下间接寻址的辅助 寄存器;当寄存器;当DSPDSP工作于标准模式(工作于标准模式(CMPT=0CMPT=0)时,)时,ARPARP必须必须 保持为保持为0 0;各位的功能描述:各位的功能描述:TMS320C54x的硬件结构的硬件结构66TC测试测试/控制标志位,存储算术运算单元控制标志位,存储算术运算单元ALU的测试位操作的测试位操作 结果;结果; TC受受BIT、BITF、BITT、CMPM、CMPR、CMPS和和 SFTC指令的影响,指令的影响,TC的状态决定了是否需要条件转移、的状态决定了是否

51、需要条件转移、 调用、执行和执行返回指令;调用、执行和执行返回指令;C进位位进位位 如果加法运算的结果产生了进位,则如果加法运算的结果产生了进位,则C=1; 如果运算产生了借位,则如果运算产生了借位,则C=0; 除了带除了带16位移位的位移位的ADD和和SUB指令外,如果加法中没有指令外,如果加法中没有 进位或减法中没有借位,则在加法运算之后进位或减法中没有借位,则在加法运算之后C=0,在减,在减 法运算之后法运算之后C=1;1.状态寄存器状态寄存器0(ST0)3.7 CPU3.7 CPU状态和控制寄存器状态和控制寄存器 3 3 中央处理单元(中央处理单元(CPUCPU) 67OVA累加器累加

52、器A的溢出标志位;的溢出标志位;OVB累加器累加器B的溢出标志位;的溢出标志位; 不论是不论是ALU还是乘法器中的累加器,当结果目的操作还是乘法器中的累加器,当结果目的操作 数使累加器数使累加器A产生溢出时,产生溢出时,OVA=1;使累加器;使累加器B产生产生 溢出时,溢出时,OVB=1;DP数据存储器页指针,此数据存储器页指针,此9位与指令中的低位与指令中的低7位一起形成位一起形成16 位直接寻址方式下的数据存储器地址位直接寻址方式下的数据存储器地址DP域可通域可通 过带短立即数的过带短立即数的LD指令或从数据存储器中装载;指令或从数据存储器中装载; 当当ST1中的操作模式位中的操作模式位C

53、PL=0时执行此操作;时执行此操作; 1.状态寄存器状态寄存器0(ST0)3 3 中央处理单元(中央处理单元(CPUCPU) 3.7 CPU3.7 CPU状态和控制寄存器状态和控制寄存器 TMS320C54x的硬件结构的硬件结构68151413121110987654-0BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASMBRAF块重复操作标志位块重复操作标志位 块重复有效标志,由其指示块重复是否当前有效;块重复有效标志,由其指示块重复是否当前有效; BRAF=0时块重复无效;当块重复计数器时块重复无效;当块重复计数器BRC减到减到 小于零时,小于零时,BRAF清零;清零;

54、 BRAF=1块重复有效;当执行块重复有效;当执行RPTB指令时,指令时,BRAF 自动置位;自动置位;ST1反映寻址要求,计算的初始状态设置,反映寻址要求,计算的初始状态设置,I/O及中断控制。地及中断控制。地址:址:0007H2.状态寄存器状态寄存器1(ST1) 3 3 中央处理单元(中央处理单元(CPUCPU) 3.7 CPU 3.7 CPU状态和控制寄存器状态和控制寄存器 TMS320C54x的硬件结构的硬件结构69CPL直接寻址编译方式位,指定哪一个指针用于直接寻址;直接寻址编译方式位,指定哪一个指针用于直接寻址; CPL=0时,用数据页指针时,用数据页指针DP; CPL=1时,用堆

55、栈指针时,用堆栈指针SP;XF外部标志(外部标志(XF)管脚状态,它是通用的输出管脚,)管脚状态,它是通用的输出管脚, SSBX指令能够置位指令能够置位XF,RSBX指令能够复位指令能够复位XF; HM保持方式位,指示当接到一个保持方式位,指示当接到一个HOLD信号时处信号时处 理器是否继续内部指令的执行理器是否继续内部指令的执行 HM=0,处理器从内部程序存储器继续执行,只是把外,处理器从内部程序存储器继续执行,只是把外 部接口置成高阻状态部接口置成高阻状态 HM=1,处理器暂停内部执行;,处理器暂停内部执行; 2.状态寄存器状态寄存器1(ST1) 3 3 中央处理单元(中央处理单元(CPU

56、CPU) 3.7 CPU 3.7 CPU状态和控制寄存器状态和控制寄存器 70INTM中断方式位,用于屏蔽或打开全部中断中断方式位,用于屏蔽或打开全部中断 INTM=0,开放所有可屏蔽中断,开放所有可屏蔽中断 INTM=1,关闭所有可屏蔽中断,关闭所有可屏蔽中断 INTM不能通过存储器写操作来设置;不能通过存储器写操作来设置; SSBX指令设置指令设置INTM,RSBX指令清除指令清除INTM;0保留位,未使用,此位总是等于保留位,未使用,此位总是等于0;OVM溢出方式控制位,决定当累加器溢出时重新装入目的溢出方式控制位,决定当累加器溢出时重新装入目的 累加器的数值;累加器的数值; OVM=0

57、,从,从ALU或乘法器的加法器中溢出的结果像或乘法器的加法器中溢出的结果像 正常情况一样加到目的累加器中;正常情况一样加到目的累加器中; OVM=1,根据遇到的溢出值目的累加器被置成:或,根据遇到的溢出值目的累加器被置成:或 者最大的正值(者最大的正值(007FFFFFFFh)或者最负的值()或者最负的值(FF80000000h)2.状态寄存器状态寄存器1(ST1) 3 3 中央处理单元(中央处理单元(CPUCPU) 3.7 CPU 3.7 CPU状态和控制寄存器状态和控制寄存器 TMS320C54x的硬件结构的硬件结构71SXM符号位扩展方式控制位,决定是否做符号扩展符号位扩展方式控制位,决

58、定是否做符号扩展 SXM=0,数据进入,数据进入ALU之前符号位禁止扩展;之前符号位禁止扩展; SXM=1,数据在被,数据在被ALU使用之前进行符号扩展;使用之前进行符号扩展; SSBX指令和指令和RSBX指令分别设置和复位指令分别设置和复位SXMC16双双16位位/双精度算术运算方式控制位,用来决定双精度算术运算方式控制位,用来决定ALU的的 运算模式运算模式 C16=0,ALU进行进行32位字长运算,双精度运算;位字长运算,双精度运算; C16=1,ALU同时进行同时进行2个相独立的个相独立的16位计算;位计算;FRCT小数方式位,指定乘法器的运算模式小数方式位,指定乘法器的运算模式 当当

59、FRCT=1时,乘法器的输出自动左移时,乘法器的输出自动左移1位,消除多余位,消除多余 符号位;符号位;2.状态寄存器状态寄存器1(ST1) 3 3 中央处理单元(中央处理单元(CPUCPU) 3.7 CPU 3.7 CPU状态和控制寄存器状态和控制寄存器 TMS320C54x的硬件结构的硬件结构72CMPT修正方式位,修正方式位,CMPT决定决定ARP是否可以修正。是否可以修正。 CMPT=0 在间接寻址单个数据存储器操作数时,不能在间接寻址单个数据存储器操作数时,不能 修正修正ARP。当。当DSP工作在这种方式。工作在这种方式。ARP必须置必须置0 CMPT=1 在间接寻址单个数据存储器操

60、作数时,可修在间接寻址单个数据存储器操作数时,可修 正正ARP,当指令正在选择辅助寄存器,当指令正在选择辅助寄存器0(AR0)时除外)时除外ASM累加器移位方式位累加器移位方式位 5位的位的ASM域指定了域指定了-15到到16范围内的移位值并且被编范围内的移位值并且被编 码为码为2的补码;的补码; 2.状态寄存器状态寄存器1(ST1) 3 3 中央处理单元(中央处理单元(CPUCPU) 3.7 CPU 3.7 CPU状态和控制寄存器状态和控制寄存器 TMS320C54x的硬件结构的硬件结构73 可以使用可以使用SSBX和和RSBX指令对指令对ST0和和ST1的各个位进行置位(设的各个位进行置位

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论