第二章 TMS320C6000 CPU结构与指令系统_第1页
第二章 TMS320C6000 CPU结构与指令系统_第2页
第二章 TMS320C6000 CPU结构与指令系统_第3页
第二章 TMS320C6000 CPU结构与指令系统_第4页
第二章 TMS320C6000 CPU结构与指令系统_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章 TMS320C6000 CPU结构与指令系统2.1 CPU结构2.2 CPU控制寄存器2.3 流水线2.4 汇编指令系统2.1 CPU结构取数存数分离结构取数存数分离结构CPU 双数据通路 8个运算单元 8条32-位指令/周期32-位寻址空间位寻址空间整数指令特性整数指令特性 数据可按字节寻址(8-, 16-, 32-位数据) 8-位溢出保护 饱和 位操作:提取、置位、清零 位计数 归一化C62xC67x控制控制寄存器寄存器 程序取指程序取指指令调度指令调度指令译码指令译码控制控制逻辑逻辑 中断中断 仿真接口仿真接口 Test数据通路数据通路1数据通路数据通路2A寄存器堆寄存器堆A15

2、A0B寄存器堆寄存器堆B15B0L2S2M2D2D1M1S1L1C6000系列DSP第1代VelociTI.1 CPU内核结构双双32-位取数存数通路位取数存数通路对第对第1代代VLIW内核结构进内核结构进行扩展行扩展支持支持4个个16-位和位和8个个8-位位连乘加连乘加MAC指令,提高指令,提高运算的并行度运算的并行度寄存器数量增加了寄存器数量增加了1倍,倍,取数存数的数据通道也取数存数的数据通道也从从32-位增加为位增加为64-位,实位,实现带宽的加倍现带宽的加倍增强在线仿真能力增强在线仿真能力增加了新的指令以加速宽增加了新的指令以加速宽带和图像处理等应用带和图像处理等应用改善正交设计,使

3、频繁使改善正交设计,使频繁使用的指令获得更多的功能用的指令获得更多的功能单元单元C6000系列DSP第2代VelociTI.2 CPU内核结构C64x CPU数据通路数据通路 2数据通路数据通路 1寄存器堆寄存器堆 AD2S2L2A31A16指令译码指令译码指令调度指令调度取指取指控制寄存器控制寄存器中断控制中断控制S1L1双双64-位取数存数通路位取数存数通路A15A0+M1xD1+寄存器堆寄存器堆 BB31B16B15B0+M2高级指令打包高级指令打包+xxxxxxxxxxx高级在线仿真高级在线仿真u 进一步改进内部存储器结构:进一步改进内部存储器结构: L1P和L1D既可配置为Cache

4、,也可配置为SRAM 改进了Cache一致性协议 增加了Cache冻结功能 增加了内部DMA控制器 增加了带宽管理功能 增加了存储器保护u 增加了新的指令增加了新的指令 32-位乘法指令,提高精度 扩展了算术指令,以加速FFT和DCt运算 改进复数乘法指令 增加了双点积指令,改善FIR循环的吞吐率 增加了平行打包指令 增强了“高斯”域乘法指令C6000系列DSP第3代VelociTI.3 CPU内核结构存储器保护存储器保护128128统一的存储器统一的存储器控制器控制器 (UMC) 存储器保护存储器保护带宽管理器带宽管理器IDMA数据通路数据通路1数据数据通路通路2A寄存器堆寄存器堆中断中断&

5、异常异常控制器控制器S1L1M1xxxx数据存储器控制器数据存储器控制器 (DMC)外部存储器外部存储器控制器控制器(EMC)DMA Slave I/F256程序存储器控制器程序存储器控制器 (PMC)256128Master Port(CPU/ cache req.)功率控制功率控制256L1D Cache/SRAML1P Cache/SRAML2 Cache/SRAMTo EDMA3.0256D1C64x+CPUM2xxxxS2 L2D2B寄存器堆寄存器堆指令译码指令译码16/32-位指令调度位指令调度软件流水线缓冲器软件流水线缓冲器取指取指高级事件触发高级事件触发(AET)存储器保护存储

6、器保护带宽管理器带宽管理器25625625612864带宽管理器带宽管理器32TMS320C64x+DSP Core新增的特点新增的特点由由C64x改进改进2.1.1 CPU结构v(1)程序取指单元v(2)指令分配单元v(3)指令译码单元v(4)32个或64个32位寄存器v(5)两个数据通路,每通路4个功能单元v(6)控制寄存器v(7)控制逻辑v(8) 测试、仿真和中断逻辑2.1.2 CPU 数据通路(1) 2 个通用寄存器组(A 和 B) (2) 8 个功能单元(.L1、.L2、.S1、.S2、.M1、.M2、.D1 和.D2)(3) 2 个数据读取通路(LD1 和 LD2) (4) 2 个

7、数据存储通路(ST1 和 ST2) (5) 2 个寄存器组交叉通路(1X 和 2X)(6) 2 个数据寻址通路(DA1 和 DA2) 通用寄存器组v寄存器组A -16个32位寄存器 A0-A31v寄存器组B -16个32位寄存器 B0-B31功能单元v.L单元:完成算术和逻辑运算v.S单元:完成程序跳转指令v.M单元:完成乘法运算v.D单元:完成数据读取/写入交叉通路v每个功能单元可以直接与所处的数据通路的寄存器组进行读写操作,即.L1、.S1、.D1和 .M1 可以直接读写寄存器组 A,而 .L2、.S2、.D2 和 .M2 可以直接读写寄存器组 B。v两个寄存器组通过 1X 和 2X 交叉

8、通路也可以与另一侧的功能单元相连。1X 交叉通路允许数据通路 A 的功能单元从寄存器组 B 读它的源操作数,2X 交叉通路则允许数据通路 B 的功能单元从寄存器组 A 读它的源操作数。数据存取通道vLD1 用于寄存器组AvLD2 用于寄存器组BvST1、ST2 用于保存及存器中的值到存储器中数据地址通道v数据地址通路 DA1 和 DA2 来自数据通路的 .D 功能单元,地址通路与两侧数据通道都相连,这使一个寄存器组产生的数据地址能够支持任意一侧寄存器组对数据存储器的读写操作。 2.2 CPU控制寄存器寻址模式及存器(AMR)v在寻址模式寄存器中,对每个寄存器都有 2 位字段用来选择地址修改模式

9、:线性(缺省)或循环模式。对于循环寻址,这个字段也指定哪个 BK(block size)字段用作循环缓冲区。此外,缓冲区的值必须与循环块尺寸相匹配,模式选择字段和块尺寸字段示于图 2-5,模式选择字段编码示于表 2-4。寻址模式寄存器(AMR)在复位时初始化为零,其保留部分总为零。v块尺寸字段 BK0 和 BK1 含有 5 位数值,用于计算循环寻址循环块的尺寸,块尺寸与 BK0或者 BK1 内 5 位数值 N 的关系为:块尺寸=2(N+1) 控制状态寄存器(CSR)E1 程序节拍计数器TMS320C67X扩展控制寄存器v用于支持.L和.M运算,指定希望的浮点舍入方式,指示警告状态2.3 DSP

10、 指令系统v寻址方式:v1 立即数寻址v2 寄存器寻址v3 寄存器间接寻址寄存器间接寻址v线性寻址方式v循环寻址方式指令集v算术运算指令v逻辑及位域操作指令vMV类传送指令v程序控制指令C67X指令集.L .D .S .M No Unit UsedIDLENOP.S UnitNEGNOT ORSETSHLSHRSSHLSUBSUB2XORZEROADDADDKADD2ANDBCLREXTMVMVCMVKMVKLMVKHABSSPABSDPCMPGTSPCMPEQSPCMPLTSPCMPGTDPCMPEQDPCMPLTDPRCPSPRCPDPRSQRSPRSQRDPSPDP.L UnitNOTO

11、RSADDSATSSUBSUBSUBCXORZEROABSADDANDCMPEQCMPGTCMPLTLMBDMVNEGNORMADDSPADDDPSUBSPSUBDPINTSPINTDPSPINTDPINTSPRTUNCDPTRUNCDPSP.M UnitSMPYSMPYHMPYMPYHMPYLHMPYHLMPYSPMPYDPMPYIMPYID.D UnitNEGSTB(B/H/W) SUBSUBAB (B/H/W) ZEROADDADDAB (B/H/W)ADDADLDB(B/H/W)LDDWMVC64x指令集Data Pack/UnPACK2PACKH2PACKLH2PACKHL2PACK

12、H4PACKL4UNPKHU4UNPKLU4SWAP2/4Dual/Quad ArithABS2ADD2ADD4MAXMINSUB2SUB4SUBABS4Bitwise LogicalANDNShift & MergeSHLMBSHRMBLoad ConstantMVK (5-bit).L .D .S .M Bit OperationsBITC4BITRDEALSHFLMoveMVDAverageAVG2AVG4ShiftsROTLSSHVLSSHVRMultipliesMPYHIMPYLIMPYHIRMPYLIRMPY2SMPY2DOTP2DOTPN2DOTPRSU2DOTPNRSU2DOT

13、PU4DOTPSU4GMPY4XPND2/4Mem AccessLDDWLDNWLDNDWSTDWSTNWSTNDWLoad ConstantMVK (5-bit)Dual ArithmeticADD2SUB2Bitwise LogicalANDANDNORXORAddress Calc.ADDADData Pack/UnPACK2PACKH2PACKLH2PACKHL2UNPKHU4UNPKLU4SWAP2SPACK2SPACKU4Dual/Quad ArithSADD2SADDUS2SADD4Bitwise LogicalANDNShifts & MergeSHR2SHRU2SHLMBSH

14、RMBComparesCMPEQ2CMPEQ4CMPGT2CMPGT4Branches/PCBDECBPOSBNOPADDKPC资源限制v使用相同功能单元的指令限制v使用交叉通路的限制v数据读写的限制v使用40位长定点类型数据的限制v寄存器读取限制v寄存器存储限制2.4 流水线v现代微处理器是用结构的复杂性来换取速度的提高的。它把指令的处理分成几个子操作,每个子操作在微处理器内部由不同的部件来完成。对微处理器的每个部件来说,每隔1 个时钟周期即可进入 1 条新指令,这样在同一时间内,就有多条指令交迭地在不同部件内处理,这种工作方式称为“流水线”(pipeline)工作方式。TMS320C600

15、0 的特殊结构又可使多个指令包(每包最多可达 8 条指令)交迭地在不同部件内处理,大大提高了微处理器的吞吐量。vTMS320C6000 中所有指令均按照取指(Fetch)、译码(Decode)和执行(Execute)3级(Stage)流水线运行,每一级又包含几个节拍(Phase)。所有指令取指级有 4 个节拍,译码级有 2 个节拍。执行级对不同类型的指令有不同数目的节拍。流水线节拍取指vPG:程序地址产生vPS:程序地址发送vPW:程序访问等待vPR:程序取指包接收译码vDP:指令分配vDC:指令译码DM64X内核内核取指取指分配分配译码译码数据通路数据通路 1寄存器组寄存器组A/16*32数据通路数据通路 2寄存器组寄存器组B/16*32L2S2M2D2D1M1S1L1L D

温馨提示

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

评论

0/150

提交评论