第二章 DSP的硬件结构_第1页
第二章 DSP的硬件结构_第2页
第二章 DSP的硬件结构_第3页
第二章 DSP的硬件结构_第4页
第二章 DSP的硬件结构_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

1、 第二章第二章DSP的硬件结构的硬件结构IntroductionnDSP处理器与通用处理器与通用CPU硬件结构硬件结构比较比较nTMS320C54x DSP的硬件结构的硬件结构nDSP四大生产厂商典型定点芯片四大生产厂商典型定点芯片比较比较 n浮点浮点DSP DSP的硬件结构的硬件结构nDSP与标准微处理器有许多共同的地方,都是与标准微处理器有许多共同的地方,都是由由CPU、存储器、总线、外设、接口、时钟组、存储器、总线、外设、接口、时钟组成。从广义上讲,可以说成。从广义上讲,可以说DSP是一种是一种CPU。但。但DSP和一般的和一般的CPU又有不同,又有不同, DSP有自己的有自己的一些独特

2、的特点,比如采用哈佛结构、流水线一些独特的特点,比如采用哈佛结构、流水线操作、独立的硬件乘法器、独立的操作、独立的硬件乘法器、独立的DMA总线和总线和控制器等。控制器等。Von Neuman结构与结构与Harvard结构结构Harvard结构结构 程序与数据存储空间分开,各有独立程序与数据存储空间分开,各有独立的地址总线和数据总线,取指和读数的地址总线和数据总线,取指和读数可以同时进行,从而提高速度,目前可以同时进行,从而提高速度,目前的水平已达到的水平已达到9090亿次浮点运算亿次浮点运算/ /秒秒(9000MFLOPS) MIPS-Million Instruction Per Secon

3、d MFLOPS-Million Floating Operation Per Second流水操作流水操作(pipeline)独立的硬件乘法器独立的硬件乘法器 在卷积、数字滤波、在卷积、数字滤波、FFT、相关、矩阵运算等、相关、矩阵运算等算法中,都有算法中,都有 A(k)B(nk)一类的运算,)一类的运算,大量重复乘法和累加大量重复乘法和累加v通用计算机的乘法用软件实现,用若干个机器通用计算机的乘法用软件实现,用若干个机器周期。周期。vDSP有硬件乘法器,用有硬件乘法器,用MAC指令(取数、乘法、指令(取数、乘法、累加)在单周期内完成。累加)在单周期内完成。独立的独立的DMA总线和控制器总线

4、和控制器 有一组或多组独立的有一组或多组独立的DMA总线,与总线,与CPU的程序、数据总线并行工作,在不的程序、数据总线并行工作,在不影响影响CPU工作的条件下,工作的条件下,DMA速度已达速度已达800Mbyte/sCPUv通用微处理器的通用微处理器的CPU由由ALU和和CU组成,组成,其算术运算和逻辑运算通过软件来实现,其算术运算和逻辑运算通过软件来实现,如加法需要如加法需要10个机器周期,乘法是一系个机器周期,乘法是一系列的移位和加法,需要数十个机器周期。列的移位和加法,需要数十个机器周期。vDSP的的CPU设置硬件乘法器,可以在单设置硬件乘法器,可以在单周期内完成乘法和累加周期内完成乘

5、法和累加TMS320C2xx的的CPU(部分)(部分)硬件乘法器硬件乘法器CALU(中心算术逻辑单元)(中心算术逻辑单元)移位移位v通用微处理器的移位,每调用一次移通用微处理器的移位,每调用一次移位指令移动位指令移动1-bitvDSP可以在一个机器周期内左移或右可以在一个机器周期内左移或右移多个移多个bit,可以用来对数字定标,使,可以用来对数字定标,使之放大或缩小,以保证精度和防止溢之放大或缩小,以保证精度和防止溢出;还可以用来作定点数和浮点数之出;还可以用来作定点数和浮点数之间的转换间的转换溢出溢出v通用通用CPU中,溢出发生后,设置溢中,溢出发生后,设置溢出标志,不带符号位时回绕,带符出

6、标志,不带符号位时回绕,带符号位时反相,带来很大的误差号位时反相,带来很大的误差vDSP把移位输出的最高位(把移位输出的最高位(MSB)存放在一个位检测状态寄存器中,存放在一个位检测状态寄存器中,检测到检测到MSB=1时,就通知下一次会时,就通知下一次会发生溢出,可以采取措施防止发生溢出,可以采取措施防止数据地址发生器(数据地址发生器(DAG)v在通用在通用CPU中,数据地址的产生和中,数据地址的产生和数据的处理都由数据的处理都由ALU来完成来完成v在在DSP中,设置了专门的数据地址中,设置了专门的数据地址发生器(实际上是专门的发生器(实际上是专门的ALU),),来产生所需要的数据地址,节省公

7、来产生所需要的数据地址,节省公共共ALU的时间的时间外设(外设(peripherals)v时钟发生器(振荡器与时钟发生器(振荡器与PLL)v定时器(定时器(Timer)v软件可编程等待状态发生器软件可编程等待状态发生器v通用通用I/Ov同步串口(同步串口(SSP)与异步串口()与异步串口(ASP)v主机接口主机接口HPIvJTAG扫描逻辑电路(扫描逻辑电路(IEEE 1149.1标准标准) 便于便于对对DSP作片上的在线仿真和多作片上的在线仿真和多DSP条件下的调条件下的调试试TMS320C2xx的片内存储器及总线的片内存储器及总线TMS320C54x的硬件结构的硬件结构 PAGEN DAGE

8、NPAGEN DAGEN 特殊功能特殊功能 寄存器寄存器系统控制系统控制程序地址生成器程序地址生成器数据地址生成器数据地址生成器 CPUCPU乘法乘法累加器累加器算术算术/逻辑逻辑运算单元运算单元桶桶 形形移位器移位器比较器比较器外部外部存储器存储器接口接口外部外部设备设备接口接口程序存储器程序存储器数据存储器数据存储器串行口串行口并行口并行口定时器定时器计数器计数器中断中断系统系统控制控制接口接口PABPABPBPBCABCABCBCBDABDABDBDBEABEABEBEBTMS320C54x的的CPUn先进的多总线结构;先进的多总线结构;n40位算术逻辑运算单元(位算术逻辑运算单元(AL

9、U),一个),一个40位桶位桶形移位寄存器和两个独立的形移位寄存器和两个独立的40位累加器;位累加器;n1717的并行乘法器与的并行乘法器与40位专用加法器相连;位专用加法器相连;n比较、选择、存储单元(比较、选择、存储单元(CSSU););n指数编码器;指数编码器;n双地址生成器包括双地址生成器包括8个辅助寄存器和两个辅助寄个辅助寄存器和两个辅助寄存器算术运算单元(存器算术运算单元(ARAU)。)。TMS320C54x的总线结构的总线结构 n程序总线(程序总线(PB)传送从程序存储器来的指令)传送从程序存储器来的指令代码和立即数;代码和立即数;n3组数据总线(组数据总线(CB、DB和和EB)

10、连接各种元器)连接各种元器件,件,CB和和DB总线传送从数据存储器读出的操总线传送从数据存储器读出的操作数,作数,EB总线传送写入到存储器中的数据;总线传送写入到存储器中的数据;n4组地址总线(组地址总线(PAB、CAB、DAB和和EAB)传)传送执行指令所需的地址。送执行指令所需的地址。TMS320C54x通过使通过使用两个辅助寄存器算术单元(用两个辅助寄存器算术单元(ARAU0和和ARAU1),每周期能产生两个数据存储器地),每周期能产生两个数据存储器地址。址。C54xC54x读读/写操作占用总线情写操作占用总线情况况读读/写方式写方式地址总线地址总线程序总线程序总线数据总线数据总线PAB

11、CABDABEABPBCBDBEB程序读程序读 程序写程序写 单数据读单数据读 双数据读双数据读 32位长数据读位长数据读 (hw) (lw) (hw) (lw)单数据写单数据写 数据读数据读/数据写数据写 双数据读双数据读/系数读系数读 外设读外设读 外设写外设写 ALUArithmetic Logic Unit (ALU)v16-bit immediate valuev16-bit word from data memoryv16-bit value in the temporary register, TvTwo 16-bit words from data memoryv32-bit

12、word from data memoryv40-bit word from either accumulatorMultiplier/Adder桶形移位寄存器桶形移位寄存器Compare, Select, and Store Unit (CSSU)指数编码器指数编码器n指数编码器用于支持单周期指令指数编码器用于支持单周期指令EXP的专用硬的专用硬件。在件。在EXP指令中,求出累加器中的指数值,指令中,求出累加器中的指数值,并能以二进制补码的形式(并能以二进制补码的形式(831)存储在)存储在T寄寄存器中。存器中。CPU状态和控制寄存器状态和控制寄存器nC54X有三个状态和控制寄存器,分别为有

13、三个状态和控制寄存器,分别为状态寄存器状态寄存器ST0、状态寄存器、状态寄存器ST1和处理和处理器方式状态寄存器器方式状态寄存器PMST。ST0和和ST1包包括各种工作条件和工作方式的状态,括各种工作条件和工作方式的状态,PMST包括存储器配置状态和控制信息。包括存储器配置状态和控制信息。状态寄存器状态寄存器0(ST0) 主要反映处理器的寻址要求和计算机的运主要反映处理器的寻址要求和计算机的运行状态。行状态。辅助寄存器指针辅助寄存器指针 测试测试/控制标志位控制标志位进位位进位位 累加器累加器A的溢出标志的溢出标志 累加器累加器B的溢出标志的溢出标志 数据存储器页指针数据存储器页指针 状态寄存

14、器状态寄存器1 (ST1)块重复作标志位块重复作标志位 直接寻址编辑方式位直接寻址编辑方式位 XF引脚状态位引脚状态位 保持方式位保持方式位 中断方式位中断方式位 溢出方式位溢出方式位 符号位扩展方式位符号位扩展方式位 双双16位位/双精度算术运算方式位双精度算术运算方式位 小数方式位小数方式位 修正方式位修正方式位 状态寄存器状态寄存器ST1ST1工作方式状态寄存器工作方式状态寄存器PMST中断向量指针中断向量指针 微处理器微处理器/微型计算机工作方式位微型计算机工作方式位 RAM重复占位位重复占位位 地址可见位地址可见位 数据数据ROM位位 CLKOUT时钟输出关断位时钟输出关断位 乘法饱

15、和方式位乘法饱和方式位 存储饱和位存储饱和位 处理器方式状态寄存器处理器方式状态寄存器PMSTPMST存储器映射寄存器存储器映射寄存器 在在C54XC54X的数据存储空间中,前的数据存储空间中,前80H80H个个单元中含有单元中含有CPUCPU寄存器和片内外设寄存器。寄存器和片内外设寄存器。这些寄存器全部映射到数据存储空间。采这些寄存器全部映射到数据存储空间。采用寄存器映射的方法,可以简化用寄存器映射的方法,可以简化CPUCPU和片和片内外设的访问方式,使程序对寄存器的存内外设的访问方式,使程序对寄存器的存取、累加器与其他寄存器之间的数据交换取、累加器与其他寄存器之间的数据交换变得十分方便。变

16、得十分方便。 地址地址符号符号寄存器名称寄存器名称地址地址符号符号寄存器名称寄存器名称00H IMR 中断屏蔽寄存器中断屏蔽寄存器10H AR0 辅助寄存器辅助寄存器001H IFR 中断标志寄存器中断标志寄存器11H AR1 辅助寄存器辅助寄存器102H 保留保留 ( 用于测试用于测试 )12H AR2 辅助寄存器辅助寄存器203H 保留保留 ( 用于测试用于测试 )13H AR3 辅助寄存器辅助寄存器304H 保留保留 ( 用于测试用于测试 )14H AR4 辅助寄存器辅助寄存器405H 保留保留 ( 用于测试用于测试 )15H AR5 辅助寄存器辅助寄存器506H ST0 状态寄存器状态

17、寄存器016H AR6 辅助寄存器辅助寄存器607H ST1 状态寄存器状态寄存器117H AR7 辅助寄存器辅助寄存器708H AL 累加器累加器A低字低字(150位位) 18H SP 堆栈指针堆栈指针09H AH 累加器累加器A高字高字(3116位位)19H BK 循环缓冲区长度寄存器循环缓冲区长度寄存器0AH AG 累加器累加器A保护位保护位(3932位位)1AH BRC 块重复计数器块重复计数器0BH BL 累加器累加器B低字低字(150位位)1BH RSA 块重复起始地址寄存器块重复起始地址寄存器0CH BH 累加器累加器B高字高字(3116位位)1CH REA 块重复结束地址寄存器

18、块重复结束地址寄存器0DH BG 累加器累加器B保护位保护位(3932位位)1DH PMST 处理器模式状态寄存器处理器模式状态寄存器0EH T 暂存寄存器暂存寄存器1EH XPC 程序计数器扩展寄存器程序计数器扩展寄存器0FH TRN 状态转移寄存器状态转移寄存器1FH 保留保留累加器累加器A A和和B B 39 3231 1615 0累加器累加器AAGAHAL保护位保护位39 32高阶位高阶位31 16低阶位低阶位15 0累加器累加器BBGBHBL保护位保护位高阶位高阶位低阶位低阶位TMS320C54x的存储器的存储器 64K字程序存储器、字程序存储器、64K字数据存储字数据存储器以及器以

19、及64K字字I/O空间。在空间。在C5408、C5409、C5402、C5410和和C5420中程序中程序存储器可以扩展。存储器可以扩展。TMS320C54x的存储器分配的存储器分配nTMS320C54x的存储器由的存储器由3个独立的可选个独立的可选择空间组成:程序空间、数据空间和择空间组成:程序空间、数据空间和I/O空间。程序存储器空间包括程序指令和空间。程序存储器空间包括程序指令和程序中所需的常数表格;数据存储器空程序中所需的常数表格;数据存储器空间用于存储需要程序处理的数据或程序间用于存储需要程序处理的数据或程序处理后的结果;处理后的结果;I/O空间用于与外部存储空间用于与外部存储器映象

20、的外设接口,也可以用于扩展外器映象的外设接口,也可以用于扩展外部数据存储空间。部数据存储空间。TMS320C54x的存储器分配的存储器分配n所有所有TMS320C54x芯片都包括随机访问芯片都包括随机访问存储器(存储器(RAM)和只读存储器()和只读存储器(ROM)。)。RAM可分为两种:双访问可分为两种:双访问RAM(DARAM)和单访问)和单访问RAM(SARAM)。)。RAM一般映象在数据存储器空间,也可一般映象在数据存储器空间,也可以安排在程序存储空间,而以安排在程序存储空间,而 ROM则映象则映象在程序存储器空间,也可部分地映象到在程序存储器空间,也可部分地映象到数据存储器空间。数据

21、存储器空间。TMS320C54x的存储器分配的存储器分配nTMS320C54x有有 3位设置位在微处理器的方式位设置位在微处理器的方式状态寄存器(状态寄存器(PMST)中,用以配置片内存储)中,用以配置片内存储器。器。nMP/MC位:用来决定程序空间是否使用内部位:用来决定程序空间是否使用内部存储器。如果该位清存储器。如果该位清0,则片内,则片内ROM映象在程映象在程序存储器空间;如果该位设置为序存储器空间;如果该位设置为1,则片内,则片内ROM不映象在程序存储器实间。不映象在程序存储器实间。nOVLY位:如果该位设置为位:如果该位设置为1,则片内,则片内RAM分分别映象在程序存储器空间和数据

22、存储器空间;别映象在程序存储器空间和数据存储器空间;如果该位清如果该位清0,则片内,则片内RAM只映象在数据存储只映象在数据存储器空间。器空间。TMS320C54x的存储器分配的存储器分配nDROM位:如果该位设置为位:如果该位设置为1,则片内,则片内ROM的的一部分映象在数据存储器空间;如果该位清一部分映象在数据存储器空间;如果该位清0,则片内则片内ROM的使用取决于的使用取决于MP/MC位。位。nTMS320C54x的各种型号片内存储器容量大小的各种型号片内存储器容量大小不同,片外寻址空间差别也很大,主要表现在不同,片外寻址空间差别也很大,主要表现在数据空间(数据空间(DS)和)和I/O空

23、间(空间(IS)都是)都是64K,而程序空间(而程序空间(PS)随地址线的不同而不同。)随地址线的不同而不同。地址线的数目有地址线的数目有16个、个、20个、个、23个,相应的个,相应的程序空间分别为程序空间分别为64K、1M、8M。TMS320C549存储器空间分配图存储器空间分配图TMS320C54x的片内外设的片内外设n软件可编程等待状态发生器;软件可编程等待状态发生器;n可编程分区转换逻辑电路;可编程分区转换逻辑电路;n带有内部振荡器和外部时钟源的片内锁相环带有内部振荡器和外部时钟源的片内锁相环(PLL)时钟发生器;)时钟发生器;n外部总线关断控制;外部总线关断控制;n数据总线具有总线

24、保持器特征数据总线具有总线保持器特征;n可编程定时器;可编程定时器;n时分多路串行口(时分多路串行口(TDM)、缓冲串行口)、缓冲串行口(BSP)、多通道缓冲串行口()、多通道缓冲串行口(McBSP););n并行主机接口(并行主机接口(HPI)。)。NCNCHCNTL0VSSBCCLKR0BCCLKR1BFSR0BFSR1BDR0HCNTL112345678910111213141516171819202122232425262728293031323334353677767574738281807978878685848392919089889796959493102101100999810

25、8107106105104103373839404142434445464748495051525354555657585960616263646566676869707172144143142141140139138137136135134133132131130129128127126125124123122121120119118117116115114113112111110109NCNCVSSDVDDA10HD7A11A12A13A14A15NCHASVSSNCCVDDHCS HR/WREADY PS DS IS R/WMSTRBIOSTRB MSC XFHOLDAIAOHOLDBI

26、OMP/MCDVDD VSS NC NCA18A17VSSA16D5D4D3D2D1D0RSX2/CLKINX1HD3CLKOUTVSSHPIENACVDDNCTMSTCKTRSTTDITDO EMU1/OFFEMU0TOUT0HD2NCCLKMD3CLKMD2CLKMD1VSSDVDDNCNCNCNCCVDDA9A8A7A6A5A4HD6A3A2A1A0DVDDHDS2 VSSHDS1NCCVDDHD5D15D14D13HD4D12D11D10D9D8D7D6DVDDVSSNCA19BDR1BCLKX0BCLKX1VSSHINT/TOUR1CVDDBFSX0BFSX1HRDYDVDDVSSH

27、D0BDX0BDX1IACKHBILNMIINT0INT1INT2INT3CVDDHD1VSSNCNCADSP2100MOTOROLA DSP56002Lucent DSP1628Lucent DSP1600 core浮点浮点DSPv浮点格式用指数形式表示,其动态范围比用小浮点格式用指数形式表示,其动态范围比用小数形式表示的定点格式要大得多,定点数形式表示的定点格式要大得多,定点DSPDSP中经中经常要考虑的溢出问题,在浮点常要考虑的溢出问题,在浮点DSPDSP中基本上可以中基本上可以不考虑不考虑v为了保证底数的精度,浮点为了保证底数的精度,浮点DSP基本上作成基本上作成32-bit的,其总线

28、、寄存器、存储器等的宽度也相的,其总线、寄存器、存储器等的宽度也相应是应是32-bit的的v浮点浮点DSP的速度更快,尤其是作浮点运算的速度更快,尤其是作浮点运算v浮点浮点DSP的价格高,开发难度也更大的价格高,开发难度也更大多处理器接口多处理器接口 TMS320C40有有6个个8-bit的接口,使的接口,使多个处理器可以很方便的并行或串多个处理器可以很方便的并行或串行工作,行工作,ADI公司的公司的ADSP21160也也有类似的接口有类似的接口 ADSP-21160 的通信口的通信口TMS320C30v 60ns单周期指令执行时间单周期指令执行时间v 33.3MFLOPSv 16.7MIPS

29、v片内片内4Kx32bit 单周期内可访问两次的单周期内可访问两次的ROM v两个两个1Kx32bit 单周期内可访问两次的单周期内可访问两次的RAM v 64x32bit指令指令CacheTMS320C30v 指令及数据字长指令及数据字长32bit,地址宽度地址宽度24bit (16M寻寻址空间址空间)v 40/32bit 浮点浮点/整数乘法器及整数乘法器及ALUv 8个以个以40bit扩展精度寄存器为基础的扩展精度寄存器为基础的Acc v 32bit桶形移位器桶形移位器v 2个地址发生器个地址发生器,8个辅助寄存器和个辅助寄存器和2个辅助寄存个辅助寄存器计算单元器计算单元v 片内片内DMA

30、控制器控制器,使使I/O与与CPU并行工作并行工作TMS320C30v 单周期内并行的单周期内并行的ALU及乘法指令及乘法指令v 零开销循环零开销循环,单周期分支单周期分支v 两个外部接口两个外部接口v 两个串口支持两个串口支持8/16/32bit数据传输数据传输v 两个两个32bit定时器定时器v 封装封装: 181脚脚PGAv 工艺工艺: 1 m CMOSLucent DSP32Cv100MHz, 10ns 指令周期指令周期v峰值峰值 600MFLOPS ,连续,连续 400 MFLOPSv4 Mbit 片内双口片内双口 SRAM ,由核处理器、,由核处理器、主机或主机或DMA独立访问独立访问vDMA 控制器支持控制器支持:14 个零开销个零开销 DMA 通通道,道,64 bit 后台后台 DMA 传输传输, 与全速运行与全速运行的处理器并行的处理器并行特点特点特点特点v700Mbytes/s IO速率速率v4GW 片外寻址能力片外寻址能力v6个连接口,作多处理器应用个连接口,作多处理器应用v2个个50Mbps串口支持独立的发送与接收,串口支持独立的发送与接收,并支持并支持T1与与E1接口接口TMS320C6701TMS320C6x CPUL Unit (Logic)v32/40-bit fixed point arithmetic and com

温馨提示

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

评论

0/150

提交评论