DSP原理及应用第二章DSP的硬件结构总结_第1页
DSP原理及应用第二章DSP的硬件结构总结_第2页
DSP原理及应用第二章DSP的硬件结构总结_第3页
DSP原理及应用第二章DSP的硬件结构总结_第4页
DSP原理及应用第二章DSP的硬件结构总结_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、第 2 章 DSP 的硬件结构DSP的硬件结构:DSP 与标准微处理器有许多共同的地方,都是由 CPU、存储器、总线、外设、 接口、时钟组成。从广义上讲,可以说 DSP是一种 CPU。但 DSP 和一般的 CPU 又有不同, DSP 有自己的一些独特的特点,比如采用哈佛结构、流水线操作、独 立的硬件乘法器、独立的 DMA 总线和控制器等。Von Neuman结构与 Harvard 结构:Harvard 结构 :程序与数据存储空间分开,各有独立 的地址总线和数据总线,取指和读数可以同时进行,从而提高速度,目前的水平已 达到 90 亿次浮点运算 /秒( 9000MFLOPS)。MIPS-Milli

2、on Instruction Per Second算,大量重复乘法和累加。 通用计算机的乘法用软件实现,用若干个机器周期。 DSP 有硬件乘法器,用 MAC 指令(取数、乘法、累加)在单周期内完成 独立的 DMA 总线和控制器:有一组或多组独立的 DMA 总线,与 CPU 的程序、数据总线并行工作,数据的传 递和处理可以独立进行, DMA 内部总线与系统总线完全分开,避开了总线使用上 的瓶颈。在不影响 CPU 工作的条件下, DMA 速度已达 800Mbyte/s。CPU:通用微处理器的 CPU由ALU 和 CU组成,其算术运算和逻辑运算通过软件来实 现,如加法需要 10 个机器周期,乘法是一

3、系列的移位和加法,需要数十个机器周 期。DSP 的 CPU设置硬件乘法器,可以在单周期内完成乘法和累加 .移位:通用微处理器的移位,每调用一次移位指令移动 1-bitDSP 可以在一个机器周期内左移或右移多个 bit,可以用来对数字定标,使之放大 或缩小,以保证精度和防止溢出;还可以用来作定点数和浮点数之间的转换 .溢出:通用 CPU 中,溢出发生后,设置溢出标志,不带符号位时回绕,带符号位时反 相,带来很大的误差DSP 把移位输出的最高位( MSB )存放在一个位检测状态寄存器中,检测到 MSB=1 时,就通知下一次会发生溢出,可以采取措施防止 .数据地址发生器( DAG ):在通用 CPU

4、 中,数据地址的产生和数据的处理都由 ALU 来完成在 DSP中,设置了专门的数据地址发生器(实际上是专门的 ALU ),来产生所需 要的数据地址,节省公共 ALU 的时间 .外设( peripherals):时钟发生器(振荡器与 PLL )定时器( Timer)软件可编程等待状态发生器 通用 I/O同步串口( SSP)与异步串口( ASP)JTAG 扫描逻辑电路( IEEE 1149.1标准 便于对 DSP 作片上的在线仿真和多 DSP条 件下的调试 C54的x 内部结构 :中央处理器 CPU 、内部总线控制、特殊功能寄存器、数据存储器 RAM 、程序存 储器 ROM、I/O 功能扩展接口、

5、串行口、主机通信接口 HPI、定时系统、中断系 统。各部分的功能: 中央处理器 CPU采用了流水线指令执行结构和相应的并行处理结构,可在一个周期内对数据进行高 速的算术运算和逻辑运算。 内部总线结构 由一组程序总线、三组数据总线和四组地址总线组成,可在一个指令周期内产生两 个数据存储地址,实现流水线并行数据处理。 特殊功能寄存器共有 26 个特殊功能寄存器,位于具有特殊功能的 RAM 区。主要用来对片内各功 能模块进行管理、控制、监视。 数据存储器 RAMDARAM :在一个指令周期内,可对其进行两次存取操作,即一次读出和一次写 入;SARAM :在一个指令周期内,只能进行一次存取操作。 程序

6、存储器 ROM可由 ROM 和 RAM 配置而成,即程序空间可以定义在 ROM 上,也可以定义在 RAM 中。当需要高速运行的程序时,可将片外 ROM 中的程序调入到片内 RAM 中,以提高 程序的运行速度,降低对外部 ROM 的速度要求,增强系统的整体抗干扰性能。 I/O 口C54x共有两个通用 I/O引脚( BIO 和 XF)BIO:主要用来监测外部设备的工作状态;XF:用来给外部设备发送信号。C54x芯片还配有主机接口( HPI)、同步串行口和 64K字 I/O空间。HPI 和串行口可以通过设置,用作通用 I/O。64K 字的 I/O 空间可通过外加缓冲器或锁存电路,配合外部 I/O 读

7、写控制时序构成 片外外设的控制电路。 串行口不同型号的 C54x 芯片,所配置的串行口功能不同。可分为 4种:单通道同步串行 口 SP、带缓冲器单通道同步串行口 BSP、并行带缓冲器多通道同步串行口 McBSP、时分多通道带缓冲器串行口 TMD 。 主机接口 HPIHPI 是一个与主机通信的并行接口,主要用于 DSP与其它总线或 CPU进行通信。 信息可通过 C54x 的片内存储器与主机进行数据交换。不同型号的器件配置不同 HPI口,可分为: 8位标准 HPI 接口、 8位增强型 HPI接 口、 16 位增强型 HPI 接口。 定时器定时器是一个软件可编程的计数器,用来产生定时中断。可通过设置

8、特定的状态来控制定时器的停止、恢复、复位和禁止。 中断系统C54x 的中断系统具有硬件中断和软件中断。硬件中断:由外围设备信号引起的中断。分为: 片外外设引起的硬件中断;片内 外设引起的硬件中断。软件中断:由程序指令所引起的中断。中断管理优先级: 1116 个固定级。TMS320C54x的 CPU:(1)采用先进的多总线结构,通过 1 组程序总线、 3组数据总线和 4组地址总线 来实现。(2)40位算术逻辑运算单元 ALU ,包括 1个40位桶形移位寄存器和 2个独立的 40位累加器。(3)1717位并行乘法器,与 40 位专用加法器相连 ,可用于进行非流水线的单周期 乘法-累加运算。(4)比

9、较、选择、存储单元( CSSU),可用于 Viterbi 译码器的加法 -比较 -选择运(5)指数编码器,是一个支持单周期指令 EXP 的专用硬件。可以在一个周期内计 算 40 位累加器数值的指数。(6)配有两个地址生成器,包括 8 个辅助寄存器和 2个辅助寄存器算术运算单元 ( ARAU )。TMS320C54x 的总线结构 :TMS320C54x的结构是以 8组 16位总线为核心,形成了支持高速指令执行的硬件 基础。总线结构: 1 组程序总线 PB、3组数据总线 CB、DB、EB、4组地址总线 PAB、 CAB、DAB 、EAB1程序总线 PB主要用来传送取自程序存储器的指令代码和立即操作

10、数。PB 总线既可以将程序空间的操作数据 (如系数表送至数据空间的目标地址中,以实 现数据移动,也可以将程序空间的操作数据传送乘法器和加法器中,以便执行乘法 -累加操作。2数据总线 CB 、DB 和 EB3 条数据总线分别与不同功能的内部单元相连接。 如: CPU、程序地址产生逻辑 PAGEN、数据地址产生逻辑 DAGEN 、片内外设和数据存储器等。 CB和 DB 用来 传送从数据存储器读出的数据; EB 用来传送写入存储器的数据。3地址总线 PAB、CAB、DAB 和 EAB 用来提供执行指令所需的地址。C54读x /写操作占用总线情况(3 ALU 输入数据的预处理当 16 位数据存储器操作

11、数通过数据总线 DB 或 CB 输入时, ALU 将采用两种方式 对操作数进行预处理。 若数据存储器的 16 位操作数在低 16 位时,则当 SXM=0 时,高 24位 ( 3916位 用 0填充;当 SXM=1 时,高 24位 ( 3916位 扩展为符号位。 若数据存储器的 16 位操作数在高 16 位时,则当 SXM=0 时, 3932位和 150位用 0 填充;当 SXM=1 时, 3932 位扩展为符号位, 150 位置 0。(4 ALU 的输出ALU 的输出为 40位运算结果,通常被送至累加器 A 或 B。溢出处理 :ALU 的饱和逻辑可以对运算结果进行溢出处理。当发生溢出时,将运算

12、结果调整 为最大正数(正向溢出)或最小负数(负向溢出)。当运算结果发生溢出时: 若 OVM=0 ,则对 ALU 的运算结果不作任何调整,直接送入累加器; 若 OVM=1 ,则对 ALU 的运行结果进行调整。当正向溢出时,将 32 位最大正数 00 7FFFFFFFH装入累加器;当负向溢出时,将 32 位最小负数 FF 80000000H装入累加器。 状态寄存器 ST0中与目标累加器相关的溢出标志 OVA 或OVB 被置 1。 累加器 A 和B :C54芯x 片有两个独立的 40位累加器 A和 B,可以作为 ALU 或(乘法器/加法器MAC 的目标寄存器,存放运算结果,也可以作为 ALU 或 M

13、AC 的一个输入。 累加器 A 和B 的差别:累加器 A 中的 31-16位可以作为乘法器的一个输入。1. 累加器结构【例 2.4.1】累加器 A=FF 0123 4567H,执行带移位的 STH 和 STL 指令后,求暂存 器 T 和 A 的内容。2.4.3 桶形移位寄存器 :TMS320C54x 的 40 位桶形移位寄存器 主要用于累加器或数据区操作数的定标。它能将输入数据进行 031 位的左移和 016位的右移。所移动的位数可由 ST1中的 ASM 或被指定的暂存器 T决定。1. 组成框图 多路选择器 MUX: 用来选择输入数据。 符号控制 SC:用于对输入数据进行符号位扩展。 移位寄存

14、器 : 用来对输入的数据进行定标和移位 写选择电路 : 用来选择最高有效字和最低有效字 2桶形移位寄存器的输入通过多路选择器 MUX 来选择输入信号。 取自 DB 数据总线的 16 位输入数据; 取自 DB 和 CB 扩展数据总线的 32 位输入数据; 来自累加器 A 或 B 的 40 位输入数据。3桶形移位寄存器的输出 输出至 ALU 的一个输入端 ; 经写 MSW/LSW 选择电路输出至 EB 总线4桶形移位寄存器的功能 主要用于格式化操作,为输入的数据定标 。 在进行 ALU 运算之前,对输入数据进行数据定标; 对累加器进行算术或逻辑移位; 对累加器进行归一化处理; 在累加器的内容存入数

15、据存储器之前,对存储数据进行定标。2.4.5 比较、选择和存储单元 CSSUCSSU单元主要完成累加器的高阶位与低阶位之间最大值的比较,即选择累加器中 较大的字,并存储在数据存储器中。工作过程:比较电路 COMP将累加器 A或 B的高阶位与低阶位进行比较; 比较结果分别送入 TRN 和 TC 中,记录比较结果以便程序调试; 比较结果输出至写选择电路,选择较大的数据; 将选择的数据通过总线 EB 存入指定的存储单元。例如, CMPS指令可以对累加器的高阶位和低阶位进行比较,并选择较大的数存放 在指令所指定的存储单元中。指令格式:CMPS A,*AR1功能:对累加器 A 的高 16 位字( AH

16、)和低 16位字( AL )进行比较,若 AHAL ,则 AH*AR1 ,TRN 左移 1 位,0TRN(0 ,0TC;若 AH ,则 AL *AR1 , TRN 左移 1 位, 1 TRN(0 ,1TC。TRN 是状态转移寄存器, TC 是状态比较寄存器。指数编码器 :指数编码器用于支持单周期指令 EXP 的专用硬件。在 EXP 指令中,求出累加器中 的指数值,并能以二进制补码的形式存储在 T 寄存器中。2.4.7 CPU 状态和控制寄存器C54提x 供三个 16位寄存器来作为 CPU 状态和控制寄存器,它们分别为:状态寄 存器 0(ST0)、状态寄存器 1(ST1)、工作方式状态寄存器(

17、PMST)。ST0和 ST1主要包含各种工作条件和工作方式的状态;PMST 包含存储器的设置状态和其他控制信息。1状态寄存器 0(ST0)主要反映处理器的寻址要求和计算机的运行状态2状态寄存器 1 (ST1 主要反映处理器的寻址要求、计算初始状态的设置、 I/O 及中断的控制等。3工作方式状态寄存器 PMST 主要设定和控制处理器的工作方式和存储器的配置,反映处理器的工作状态。2.5 C5的4x存储空间结构C54共x 有 192K 字的存储空间,分成 3个相互独立可选择的存储空间: 程序存储空间:用来存放要执行的指令和指令执行中所需要的系数表(数学用表;数据存储空间:用来存放执行指令所需要的数

18、据;I/O 存储空间:用来提供与外部存储器映射的接口,可以作为外部数据存储空间使 用。所有 C54芯x 片都含有片内 RAM 和 ROMDARAM 和 SARAM 既可以被映射到数据存储空间用来存储数据,也可以映射到程 序空间用来存储程序代码。片内 ROM:主要存放固化程序和系数表。一般构成程序存储空间,也可以部分地 映射在数据存储空间。片内存储器的优点:不 需要插入等待状态;与 外部存储器相比,成本低;比 外部存储器功耗小。TMS320C54x的存储器分配:TMS320C54x有 3位设置位在微处理器的方式状态寄存器 (PMST中,用以配置片 内存储器。MP/MC 位:用来决定程序空间是否使

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

20、不同而不同。地址线的数目有 16个、 20个、 23个,相应的程序空间分别为 64K、1M、8M。TMS320C549存储器空间分配图(MMR存储器映射寄存器在 C54X 的数据存储空间中,前 80H 个单元中含有 CPU 寄存器和片内外设寄存 器。这些寄存器全部映射到数据存储空间。采用寄存器映射的方法,可以简化 CPU和片内外设的访问方式,使程序对寄存器的存取、累加器与其他寄存器之间 的数据交换变得十分方便。TMS320C54x 的片内外设:1. 软件可编程等待状态发生器;2. 可编程分区转换逻辑电路;3. 带有内部振荡器和外部时钟源的片内锁相环( PLL)时钟发生器;4. 可编程定时器;5. 时分多路串行口( TDM )、缓冲串行口( BSP)、多通道缓冲串行口 (McBSP);6. 并行主机接口( HPI)。浮点 DSP:浮点格式用指数形式表示,其动态范围比用小数形式表示的定点格式要大得多,定 点 DSP 中经常要考虑的溢出问题,在浮点 DSP 中基本上可以不考虑 为了保证底数的精度,浮点 DSP基本上作成 32-bit 的,其总线、寄存器、存储器 等的宽度也相应是 32-bit 的浮点 DSP 的速度更快,尤其是作浮点运算浮点 DSP 的价格高,开发难度也更大多处理器接口:TMS320C40有 6个 8-bit 的接口,使多个处理器可以很方便的并

温馨提示

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

评论

0/150

提交评论