DSP技术2(精)_第1页
DSP技术2(精)_第2页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、2第一节基本性能第才节串行口第第二二CPU结构第七第三节第三节 内部总线结构内部总线结构第八节第八节第四节第四节存储器结第九第五节第五节在片外围电路在片外围电路I A豺厂丁J与外设的錢口复位与省电中断自举加载DSP技术及应用jgital Signal打ocessor数字信号处理器数字信号处理器陈舍鹰利教授信息工程学通信工程系E第二章DSP芯片结构介绍4第一节C54x芯片的基本性能1)多总线结构3) 17X17位并行乘法器7)数据总线8)总线寻址空间9)三种存储器空间用2)40位(ALU4)5)比较、选择和存储单元(CSSU)指两个地址发生器用1L510)单指令循环和块循环11)区分的存储块移动

2、指令12)32位长操作数指令13)可编程等待状态发生器和 可编程的存储单元转换6朋令itz*羊Cbgjx只对灶2廻二迟二翅乞E M“鼻期ii/y14)15)16)17)18)19)20)21)锁相环(PLL)发生器多通道缓冲串口(McBSP)直接存储器访问(DMA)控制器主机接口(HPI)定时器 多种节电模式JT AG接 口 低电压工作朋令itz*羊Cbgjx只对灶2廻二迟二翅乞E“鼻期第二节C54x芯片的CPU结构40位算术逻辑运算单元(ALU) 2个40位累加器A和B移位-1630位的桶形移位寄存器 乘法器/加法器单元比较和选择及存储单元(CSSU)指数编码器CPU状态和控制寄存器冷袍/r

3、z*羊IEEE 1149.IStdTest/EMU隔行MACALU17X17乘法器40-bit加法器凑整,保和运算移位器40-Bit ALUCMP比较运算单元(VitrLi算法加速器EXP指数编码器累加器40-Bit桶形移位寄存器40-bit累加:gA(-31)40-bit累加器B地址产生单元8个辅助寄存器2个辅助寄存器算术单元o|定时詁Opt.2:xl,4,4.5,5C542 的结构框7HH Ixe-Q-s.Lb-AZA.18CPU 结构10二,.* :.-二二:4.:ig!?riP丄丄丄d型心心应亠上厶“丘WJ、人1.算术逻辑运算单元 ALU如何获取数据ALU输出送往何方溢出怎么办进位位的

4、作用什么是双16位算术运算ALU 的功能框图CB15CB0丁BMUXarariWI- -AMAC输出KB1符号CtB0M桶形移位MUX器输出符号ctSXMOVMC16OVA/OVBZA/ZBTC1-ZZZMMII11E“一.1. ALU的输入和输出 根据输入源的不同, ALU采用不同的输入方式。(1) ALU 的 X 输入源1来自桶形移位寄存器输出的操作数;来自数据总线 DB 中的操作数。(2) ALU 的 Y输入源1来自累加器 A 中的数据;2来自累加器 B 中的数据;3来自数据总线 CB 中的操作数;当 SXM=1 时,高 24 位(3916 位)扩展为符号位。2若数据存储器的 16 位操

5、作数在高 16 位时.则当 SXM 二 0 时,39*32 位和 150 位用 0 填充;当 SXM 二 1 时,3 旷 32 位扩展为符号位,150 位置 0。(4) ALU 的输出ALU 的输出为 40 位运算结果,通常被送至累加器 A 或 B。“ 来自 T 寄存器中的操作数。11(3) ALU 輸入数据的预处理 謝紳歸懈瞬襁灌歸齡鳩CB输-72.溢出处理当运算瞬煖卿聞拟对运算结果进行溢出处理。镇送负数(负向溢出)。0VM=1则对 ALU 的运行结果进行谓整当正向溢出时,将 32 位最大正数 00 7FFFFFFFH 装 入累加器;当负向溢出时,将 32 位最小负数 FF 80000000

6、H 装入累加器。状态寄存醫 ST0 中与目标累加器相关的迸出标志 0VA13(fi 舱 e 酌药篦算结果有关的进位位 c,位于STO括算題搦淋彌剛報精删矚瞒算;3可作为分支、调用、返回和条件操作的执行条件。注意:进位位 C 不受装载累加器操作、逻辑操作、 非算术运算和控制指令的影响;可通过寄存器操作指令RSBX和SSBX对 其进行置位和复位。瞬溯遥査箱进他唆解指令的影响,包或 OVB 被.1 3.进位位C的112.3931150AGAHAL保护位 高阶位 低阶位若要将 ST1 中的 C16 置位,则 ALU 进行双 16 位算术 运算,即在一个机器周期内完成两个 16 位数的算术运 算,进行两

7、次 16 位加法或两次 16 位减法运算。5 其他控制位除 SXM、OVM、C、C16、OVA、OVB 外, ALU 还有两个控制位。TC测试/控制标志,位于 STO 的 12 位;ZA/ZB累加器结果为 0 标志位。154.双16位算术运算o 页存储器89.D,C54x 芯片有两个独立的 40 位累加器 A 和 B,可以 作为 ALU 或MAC 的目标寄存器,存放运算结果,也可 以作为 ALU 或 MAC 的一个输入。在执行并行指令(LD|MAC)和一些特殊指令 (MIN 和 MAX)时,两个累加器中的一个用于装载数 据,而另一个用于完成运算。L 累加器结构3932311615X0累加器AA

8、ri保护位高阶位低阶位39-32311615 0累加器RBG保护位高阶位低阶位保护位JAG、BG 3932,作为算术计算时的数据位余量,以防止迭代运算中的溢出。高阶位:AH、BH 3116;低阶位:AL、BL 15-0 .2.带移位的累加器存储操作1 1仅銅 HHISS 皿和獅存咖轴卿或疆檢夸中。右移存储乂A0BG声移AH(BH) AH(BH府入存储器二左移存傑k AL(BLAH(BH), AH(BH#入存储壽.鱼進壓 TL 指令存储累加器内容1移位操作是在存储累加器内容的过程中 同时完成的;2移位操作是在移位寄存器中完成的,累 加器的内容保持不变。【例】累加器 A 二 FF 0123 456

9、7H,执行带移位的 STH和 STL 指令后,求暂存器 T 和 A 的内容。T = 2345H.A=FF01234567H20;A 的内容右移 8 位,AL 存入 T2345223.桶形移位器的功能要点什么是定标移位处理的作用归一化的作用为何要扩展符号位21瞬确2章TMS320C54X的硬件舊翳昶名尢*1rTMS320C54X 的 40位桶形移位寄存器主要用于累 加器或数据区操作数的定标。它能将输入数据进行 031 位的左移和 0=6位的右移。所移动的位数可由 ST1 中的 ASM 或被指定的暂存器 T决定。232.桶形移位寄存器的输入脚前诫擬觀瞬篩选捋 输入数据;2 2取自 DB 和 CB

10、扩展数据总 线的32 位输入数据;3 3来自累加器 A 或 B 的 40 位 输入数据。3.桶形移位寄存器的输出1 1输出至 ALU 的一个输入端;2 2经写 MSW/LSW 选择电路 输出至EB 总线。 .L 组成框图1多路选择器MUX用来选择输入数据。2符号控制SC用于对输入数据进 行符号位扩展。3移位寄存壽用来对输入的数据 进行定标和移位。4写选择电路用来选择最高有效 字和最低有效字。DB15A/DB0符号控制SCAB移位寄存器(-16-3!)SXMT:ASM(40)指令寄存器 立即数-1615 015EB15EB0ALU测试位 TcCSSU- TZZZZaM|符号控制 sc|SXM测试

11、位 TcAMJI移位寄存器(-16-31)TASM(40)指令奇存器立即数-1615O/vlS写选择MSW/L26主要用于格式化操作.为输入的数据定标1在进行 ALU 运算之前,对输入数据进行数据定标;2对累加器进行算术或逻辑移位;3对累加器进行归一化处理;4在累加器的内容存入数据存储器之前,对存储数 据进行定标。25(1)控制操作数的符号位扩展根据 SXM 位控制操作数进行符号位的扩展。若操作数为有符号数,则当 SXM 二 1 时,完成符号位扩展;当 SXM=O 时,禁止符号位扩展。若操作数为无符号数, 则不考虑 SXM 位, 不执行 符号位的扩展。如:LDU、ADDS 和 SUBS 指令,

12、操作数为无 符号数,不进行符号位扩展。4.桶形移位寄存器的功能5.桶形移位寄存器的操作根据指令中的移位数,控制操作数进行移位操作。移位数用二进制补码表示,正值时完成左移, 负值时完成右移。移位数的形式, 暂存器 T 中的低 6 位数值,取值范围:-1631O这种移位操作能使 CPU 完成数据的定标、位提取、扩展算术和溢出保护等操作。27【例【例】对累加器对累加器A执行不同的移位操作执行不同的移位操作。;A 右移 4 位后加到 B 中;A 按 ASM 移位后加到 B 中例形移锂住签懈制睁踽議加賺黒初銅啲 数值血硼烽rM霊的. .5 位立即数,S. .ADDA, -4, BADD;按 T的数值对(

13、2)控制操作数的移位取值范-16=5;-16=5;指数为 13H,存 放在 T 寄存器中。2然后再执行 NORM A 指令,可在单个周期 内将原来的定点数分成尾数 FF 8008 ()000 和指数 13H 两个部分。零检测舍入器4.乘法器/加法器结构功能什么是舍入处理饱和处理的优点数据流向29OVA/OVB40 位加法器OVM40 位加法丄32为附诱威和无符号数的乘法运算。1 1取自数据总线 DB 的数据存储器操作数;2 2来自暂存器 T 的操作数;3 3来自累加器 A 的 3216 位操作数。VM 输入:1 1来自数据总线 DB 的数据存储器操作数;2 2来自数据总线 CB 的数据存储器操

14、作数;3 3来自程序总线 PB 的程序存储器操作数;4 4来自累加器 A 的 3216 位操作数。(2)乘法器的输出乘法器的输出经小数控制电路接至加法器的 XA 输入端。(3)乘法器的操作(1)罪诿可完成311.乘法器K乘法器33MAC 单元的乘法器能进行有符号数、无符号数以 及有符号数与无符号数的乘法运算。34Q)乘法器的操作根据操作数的不同情况需进行以下处理:前面添加“0”,扩展为 17 位后再进行乘运算。若是有符号数与无符号数相乘,则有符号数在最高位前面添加“0”,然后两个操作数相乘。33(3)乘法器的操作由于乘法器在进行两个16位二进制补码相乘时 会产生两个符号位,为提高运算精度,在状

15、态寄存器 ST1 中设置了小数方式控制位FRCTo当 FRCT=丄时.乘法结果左移一位.消去多余 的符号位.相应的若是两个有符号数相乘,则在进行乘法对 两个 16位 乘数 进行 符号 位扩展,相乘。形成 17 位有符号后再进行【相则在两个 16 位乘的前添加 1 个符号位,其彳由最間位决而无符号数在最高位若是两个无符35定标值加3635工作祠i卷单元主要完成累加器的高阶位与低阶位之 储有轉感储器中。2比较结果分别送入 TRN 和 TC 中,记录比较结果以便程序调试;3比较结果输出至写选择电路,选择较大的数据;4将选择的数据通过总线 EB 存入指定的存储单元。5.选38例如,CMPS 指令可以对

16、累加器的高阶位和低阶位进行比较,并选择较大的数存放在指令所指定的存储单元中。指令格式:CMPS A, *AR1功能: 对累加器 A 的高 16 位字(AH)和低 16 位字(AL)进 行比较, 若 AHAL,贝 IJAH*AR1, TRN 左移 1 位,OTRN(O), OTC;若 AHAL,贝 IJAL-*AR1,TRN 左移 1 位,l-TRN(O), 1TC。376.指数编码器39EXP 指数编码器T 寄存器要如何40指数编码器是一个用于支持指数运算指令的专用功能:求累加器中数据的指数值。指数值二冗余符号位-839CPU状态和控制寄存器 3 个状态寄存器功能位置各 bit 的作用O 页存

17、储器沖数指数编码器ExpExp67ID的指42(1)状态寄存器0 (STO)15RPTCCOVAOVBDP1514131211109876540BRAF CPLXFHMINTM0OVM SXMC16FRCT CMPTASM(3)处理器工作方式状态寄存器(PMST)IPTRMP/MCOVLYAVISDROMCLKOFFSMULSST43如何将 40 位数据饱和处理成 32 位数75320第三节内部总线结构不同总线作用与区别程序总线(PB) 数据总线(CB、DB 和 EB)地址总线(PAB、 CAB、 DAB 和 EAB)在片双向总线4346TMS320C54X 的结构是

18、以 8 组 16 位总线为核心,形成了支持高速指令执行的硬件基础。r 1 组程序总线 PBJ 3 组数据总线 CB. DB、EBL 4 组地址总线 PAB、CAB、DAB、EAB主要用来传送取自程序存储器的指令代码和立即操作数。PB 总线既可以将程序空间的操作数据(如系数表)送至数据空间的目标地址中,以实现数据移动,也可 以将程序空间的操作数据传送乘法器和加法器中,以 便执行乘法-累加操作。45总贱结构2.数据总线 CB、DB 和 EB3 条数据总线分别与不同功能的内部单元相连接。 如:CPU、程序地址产生逻辑 PAGEN、数据地址产生 逻辑 DAGEN、片内外设和数据存储器等。CB 和 DB 用来传送从数据存储器

温馨提示

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

评论

0/150

提交评论