




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DSPDSP芯片结构的特点芯片结构的特点 1、哈佛结构、哈佛结构 将程序和数据存储在不同的存储空间,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。 2、DSP芯片广泛采用流水线流水线以减少指令执行时间,从而增强了处理器的处理能力。3、在DSP内部采用了多总线结构多总线结构,这样可以保证在一个机器周期内可以多次访问程序空间和数据空间。 三组数据总线(CB,DB和EB)连接各种元器件,如CPU、数据地址产生逻辑、程序地址产生逻辑,片内外设和数据存储器。CB和DB总线传送从数据存储器读出的操作数。EB总线传送写入到数据存储器的数据。 四组数据总线(PAB,CAB,DA
2、B和EAB)传送执行指令所需要的地址。 4、 DSP内部一般都包括有多个处理单元多个处理单元,如算术逻辑运算单元(ALU)、辅助寄存器运算单元(ARAU)、累加器(ACC)以及硬件乘法器(MUL)等。 它们可以在一个指令周期内同时进行运算。例如,当执行一次乘法和累加的同时,辅助寄存器单元已经完成了下一个地址的寻址工作,为下一次乘法和累加运算做好了充分的准备。在进行在进行DSP系统设计时,选择合适的系统设计时,选择合适的DSP芯片是非常重要芯片是非常重要的一个环节。通常依据系统的的一个环节。通常依据系统的运算速度、运算精度和存储器运算速度、运算精度和存储器的的需求等来选择需求等来选择DSP芯片。
3、芯片。 一般来说,选择一般来说,选择DSP芯片时应考虑如下一些因素。芯片时应考虑如下一些因素。 1DSP芯片的运算速度芯片的运算速度 2DSP芯片的价格芯片的价格 3DSP芯片的运算精度芯片的运算精度 4DSP芯片的硬件资源芯片的硬件资源5DSP芯片的开发工具芯片的开发工具 6DSP芯片的功耗芯片的功耗 7其它因素其它因素TMS320C54x DSP芯片的芯片的CPU结构结构 1. 算术逻辑运算单元: ALU的输入: 16位的立即数(来源于移位寄存器的输出)、从数据存储器读出的16位字、暂存器T中的16位字、从数据存储器读出的2个16位字、从数据存储器读出的32位字、来源于累加器A累加器B输出
4、的40位字数据。 ALU的输出:ALU的输出为40位,被送往累加器A或B。 2. 累加器A和B: 累加器A和B都可以配置成乘法器/加法器或ALU的目的寄存器。 累加器和的差别仅在于累加器的3116位可以用作乘法器的一个输入。 3桶形移位器: 40位桶形移位器的输入端接至DB(取得16位输入数据),或DB和CB(取得32位输入数据),或40位累加器A或B。其输出接至ALU的一个输入端或数据存储器(EB)。 4乘法器/加法器: CPU有一个17位17位的硬件乘法器,它与一个40位专用加法器相连。 乘法器有两个输入:一个数据来自暂存器(TREG)、累加器A的位3216、以及由DB总线传送过来的数据存
5、储器操作数;另一个输入端来自累加器A的位3216、由DB总线和CB总线传送过来的数据存储器操作数以及由PB总线传送过来的程序存储器操作数。 乘法器的输出加到加法器的输入端XA,累加器A或B则是加法器的另一个输入。最后结果送往目的累加器A或B。n5比较、选择和存储单元: 比较、选择和存储单元(CSSU)是专为Viterbi型蝶形算法设计的进行加法/比较/选择(ACS)运算的硬件单元。 6指数编码器: 指数编码器也是一个专用硬件。有了它,可以在单个周期内执行EXP指令,求得累加器中数的指数值,并以二进制补码形式存放到T寄存器中,范围为8至31位。累加器的指数值=冗余符号位-8,也就是为消去多余符号
6、位而将累加器中的数值左移的位数。当累加器数值超过32位时,指数是个负值。 7CPU状态和控制寄存器: C54x有3个状态和控制寄存器: 状态寄存器0(ST0)和状态寄存器1(ST1): 包含有各种工作条件和工作方式的状态。 处理器工作方式状态寄存器(PMST): 包含存储器的设置状态及其它控制信息。TMS320C54x DSP芯片的存储器结构 C54的总存储空间为192K字,分成3个可选择的存储空间: 64K字的程序存储空间 64K字的数据存储空间 64K字的I/O空间 C54x还有26个CPU寄存器和外设寄存器。它们映射在数据存储空间(内存映射寄存器MMR)。 (1)辅助寄存器(AR0AR7
7、) 产生16位数据地址,也可以用来作通用寄存器和计数器。 (2)暂存器(TREG) 为乘法指令和乘/累加指令存放一个乘数。 (3)过渡寄存器(TRN) 是一个16位寄存器,为得到一个新的度量值存放中间结果。 (4)堆栈指针寄存器(SP) 存放栈顶地址的16位寄存器,SP总指向压入顶地的最后一个数据。 (5)循环缓冲寄存器(BK) 由ARAU用来在循环寻址中确定数据块的大小。(6)块循环寄存器(BRC、RSA、REA)、块循环计数器(BRC) 在循环时确定一块代码所需要的循环次数(BRC)、块循环开始地址(RSA)、块循环结束地址(REA) (7)中断寄存器(IMR、IFR) 中断屏蔽寄存器(I
8、MR)在需要时独立地屏蔽特定的中断。中断标志寄存器(IFR)用来指明各中断当前的状态。定时器 片内定时器是一个软件可编程定时器,可以用来周期地产生中断。 定时器每个时钟周期减1,减至0就产生一个定时中断。 可以通过设置特定的状态位,来使定时器停止、恢复、运行或禁止。 定时器主要由3个寄存器所组成: 定时器寄存器(TIM)、定时器周期寄存器(PRD)和定时器控制器寄存器(TCR) TIM是一减1计数器。 PRD中存放时间常数。 TCR中包含有定时器的控制位和状态位。时钟发生器 时钟发生器为C54x提供时钟信号。时钟发生器由内部振荡器和锁相环(PLL)电路两部分组成。时钟发生器要求有一个参考时钟输
9、入,可以由两种方式提供: 第一种方式:利用DSP芯片内部提供的晶振电路,在DSP芯片的X1和X2/CLKIN之间连接一晶体可启动内部振荡器, 第二种方式:将外部时钟源直接输入X2/CLKIN引脚,X1悬空。可采用封装好的晶体振荡器,复位电路:复位电路: 在DSP上电后,系统的晶体振荡器往往需 要 几 百 毫 秒 的 稳 定 期 , 一 般 为100ms200ms。 为此,应在DSP的复位引脚RS上加一复位信号。 为使芯片初始化正确,一般RS为低至少持续3个CLKOUT周期。DSP中断 中断类型: 中断是由硬件驱动或者软件驱动的信号。中断信号使C54x暂停正在执行的程序,并进入中断服务程序(IS
10、R)。通常,当外部需要送一个数至C54x(如A/D变换),或者从C54x取走一个数(如D/A变换),就通过硬件向C54x发出中断请求信号。中断也可以是发出特殊事件,如定时器已经完成计数。 C54x的中断可以分成两大类: 第一类是可屏蔽中断。这些都是可以用软件来屏蔽或开放的硬件和软件中断。 第二类是非屏蔽中断。这些中断是不能够屏蔽的。C54x对这一类中断总是响应的,并从主程序转移到中断服务程序。 54X支持软件中断(如INTR,TRAP,RESET)和硬件中断,中断可分为可屏蔽中断(如TINT,INT0等)和不可屏蔽中断(如RESET和NMI),其中RESET的优先级最高,不可屏蔽中断的优先级高
11、于可屏蔽中断的优先级,硬件中断的优先级则高于软件中断的优先级。主机接口(HPI) 主机接口为一个8位并行接口,是与主微处理器通信的接口。通过C54X和主微处理器都可访到的C54X片内存储器,并且可在C54X和主微处理器之间进行信息交换。串行口串行口 C54x具有高速、全双工串行口,可用来与系统中的其它C54x器件、编码解码器、串行模/数(A/D)变换器以及其它串行器件直接接口。 C54x中的串行口有三种形式:标准同步串行口、缓冲串行口(BSP)和时分多路串行口(TDM).寻址方式寻址方式1.立即数寻址: 指令中已经包含有执行指令所需要的操作数。CPU不必再去寻找数据。在操作数前面需要加字号来说
12、明该操作数为立即数。否则会把该操作误认为是一个地址,从而把立即数寻址变成绝对地址寻址。2.绝对地址寻址: 利用一个16位数标识地址,这个16位的地址可以用其所在单元的地址标号或者16位符号常数来表示。有4种类型的绝对地址寻址。 数据存储器地址(damd)寻址:它是用一个符号或一个数来确定数据空间的一个地址。 程序存储器地址(pmad)寻址:它是用一个符号或一个具体的数来确定程序存储器中的一个地址。I/O端口寻址(PA) :用一个符号或一个常数来确定外部I/O口地址。 *(lk)寻址:用一个符号或一个常数来确定数据存储器中的一个地址。3.累加器寻址: 累加器寻址是用累加器中的数值作为地址来读写程
13、序存储器。这种寻址方式可用来对存放数据的程序存储器寻址。4.直接寻址: 指令代码中包含了数据存储器地址(dam)的低7位。这7bits的dam作为偏移地址与数据页指针(DP)或堆栈指针(SP)相结合共同形成16位的数据存储器实际地址。 利用这种寻址方式,可以在不改变DP或SP的情况下,随机地寻址128个存储单元中的任何一个单元。 直接寻址的语法是用一个符号或一个常数来确定偏移值。 在表示时,用符号加在变量的前面。5.间接寻址: 间接寻址通过辅助寄存器中的16位地址进行寻址,寻址范围为64K。 C54x有8个16位辅助寄存器(AR0AR7)都可用来进行寻址。两个辅助寄存器算术单元(ARAU0和A
14、RAU1),根据辅助寄存器的内容进行操作,完成无符号的16位算术运算。6.存储器映射寄存器寻址: 存储器映射寄存器(MMR)寻址用来修改存储器映射寄存器而不影响当前数据页指针(DP)或堆栈指针(SP)的值。7.堆栈寻址: 系统堆栈用来在中断和子程序调用时自动保存程序计数器(PC)中的数值。它也能用来保护现场或传送参数。 C54x的堆栈是从高地址向低地址方向生长,并用一个16位存储器映象寄存器堆栈指针(SP)来管理堆栈,SP始终指向堆栈中所存放的最后一个数据,即SP指针始终指向栈顶。在压入操作时,先减小SP的值,再将数据压入堆栈;在弹出操作时,先从堆栈弹出数据,再增加SP的值。汇编语言指令系统汇
15、编语言指令系统 算术指令: 加法、减法、乘法、乘法减法、32位操作数、特殊用途 逻辑指令: 与、或、异或和移位、测试 程序控制指令: 跳转、调用、中断、返回、重复、栈操作和复杂控制 装入和存储指令: 载入、存储、条件存储、并行载入存储、并行载入乘法、并行存储加减、并行存储乘法和复杂载入存储 长长 混合装载和存储指令混合装载和存储指令 加法指令加法指令(ADD) 减法指令减法指令(SUB) 乘法指令乘法指令(MPY) 乘法乘法-累加累加/减指令减指令(MAC/MAS) 双字运算指令双字运算指令(DADD)特殊运算指令特殊运算指令 ABS src ,dst 累加器求绝对值累加器求绝对值 NEG N
16、EG src src ,dstdst 累加器变负累加器变负 MAX MAX dst dst 求求A和和B的最大值的最大值 EXP EXP src src 求累加器的指数求累加器的指数 NORM NORM src src ,dst dst 归一化归一化 无条件分支转移指令: BD 用指令中所给出的地址加载PC. BACCD 用所指定的累加器的低16位作为地址加载PC。 条件分支转移指令: BCD 如果指令中所规定的条件得到满足,就用指令中所给出的地址加载PC; BANZD 如果当前辅助寄存器不等于0,就用指令中所规定的地址加载PC。 子程序调用与返回指令: CALLD:将返回地址压入堆栈,用指令
17、 所规定的地址加载PC; CALAD:将返回地址压入堆栈,用指定累加器的低16位加载PC; RETD: 用栈顶的返回地址加载PC; RETED:用栈顶的返回地址加载PC并开放中断; RETFD:用快速返回寄存器RTN中的 返回地址加载PC,并开放中断。 单条指令的重复操作单条指令的重复操作 RPT指令: RPT Smem RPT #k RPT #lk执行过程: (Smem) RC k RC lk RC RPTZ指令: RPTZ dst,#k执行过程: 0 dst lk RC 当RPTZ指令执行时,对目的累加器dst清0,循环执行下一条指令n+1次。RC的值是一个16位常数1k。 操作数n的最大
18、值为65 535(216),因此重复执行单条指令的最大次数为65 536。块重复操作块重复操作 例如: STM #99,BRC ;99块重复计数 器BRC RPTB NEXT-1 ;对下条指令至标号 为NEXT前的程序 块执行 ;重复操作 NEXT:. ;重复程序块以外的 指令汇编指令 汇编指令(伪指令)是用来为程序提供数据和控制汇编进程的。 C54x汇编器共有64条汇编命令。 将代码和数据汇编到特定的段中。 为未初始化的变量保留存储器空间。 控制展开列表的形式。 存储器初始化。 汇编条件块。 定义全局变量。汇编程序的编辑与汇编和链接汇编程序的编辑与汇编和链接 汇编语言源程序编好后,必须经过汇
19、编和链接才能运行。DSP软件开发软件开发C编译器(C Compiler):将C源程序代码编译成为C54x汇编语言源代码程序。 在编译软件包中包括一个外壳程序(Shell program)、一个优化器(Optimizer)和一个内部列表公用程序(Interlist utility)。其中,外壳程序能自动编译、汇编、连接源模块。优化器能改进代码来提高C程序的效率。内部列表公用程序能将C源程序同汇编语言输出相结合。汇编程序(汇编器)功能汇编程序(汇编器)功能 汇编器根据汇编命令用适当的段将各部分汇编器根据汇编命令用适当的段将各部分程序代码和数据连在一起,构成可重定位的目程序代码和数据连在一起,构成可
20、重定位的目标文件(标文件(.obj.obj文件);文件); 如果需要,可以生成一个列表文件(如果需要,可以生成一个列表文件(.lst.lst文件);文件); 将程序代码分段,每段的目标代码都有一将程序代码分段,每段的目标代码都有一个个SPCSPC管理;管理; 所谓段,就是在存储器图中占据相邻空间的代码或数据块。一个目标文件中的每一个段都是分开的和不相同的。所有的COFF目标文件都包含以下3种形式的段: .text 段(此段通常包含可执行代码) .data 段(此段通常包含初始化数据) .bss 段(此段通常为未初始化变量保留存储空间) 链接器的功能 链接器的一个任务就是分配存储单元,链接器的一个任务就是分配存储单元,即把各个段重新定位到目标存储器中。即把各个段重新定位到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业废气催化燃烧技术环保产业发展报告
- 自媒体技术使用合同范本
- 游戏行业临时工合同协议
- 江苏招聘教师就业协议书
- 用吊车维修楼房合同范本
- 门市房出租协议合同范本
- 舞蹈机构合作人合同协议
- 门窗代加工项目合同范本
- 祖屋继承公证协议书范本
- 港龙文化体育合作协议书
- 中兴通讯 ZXV10 IAD 速查手册
- 义务教育科学课程标准(2022年版)
- 超星尔雅学习通《大学体育(上海体育学院)》章节测试(含答案)
- GB/T 34652-2017全断面隧道掘进机敞开式岩石隧道掘进机
- GB/T 21872-2008铸造自硬呋喃树脂用磺酸固化剂
- 中国铂族金属供需发展趋势
- 风电施工合同模板
- GA/T 1567-2019城市道路交通隔离栏设置指南
- 氧化还原反应的类型
- 小学英语素材-1-5年级英语牛津词汇表(带音标) 牛津上海版
- DB11-T1836-2021 城市桥梁工程施工技术规程高清最新版
评论
0/150
提交评论