TMSCCPU结构与指令系统学习课程_第1页
TMSCCPU结构与指令系统学习课程_第2页
TMSCCPU结构与指令系统学习课程_第3页
TMSCCPU结构与指令系统学习课程_第4页
TMSCCPU结构与指令系统学习课程_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、2.1 CPU结构第1页/共50页第一页,编辑于星期日:点 四十六分。取数存数分离结构CPU 双数据通路 8个运算单元8条32-位指令/周期32-位寻址空间整数指令特性 数据可按字节寻址(8-, 16-, 32-位数据) 8-位溢出保护饱和 位操作:提取、置位、清零 位计数 归一化C62xC67x控制寄存器 程序取指指令调度指令译码控制逻辑 中断 仿真接口 Test数据通路1数据通路2A寄存器堆A15A0B寄存器堆B15B0L2S2M2D2D1M1S1L1C6000系列DSP第1代VelociTI.1 CPU内核结构双32-位取数存数通路第2页/共50页第二页,编辑于星期日:点 四十六分。对第

2、1代VLIW内核结构进行扩展支持4个16-位和8个8-位连乘加MAC指令,提高运算的并行度寄存器数量增加了1倍,取数存数的数据通道也从32-位增加为64-位,实现带宽的加倍增强在线仿真能力增加了新的指令以加速宽带和图像处理等应用改善正交设计,使频繁使用的指令获得更多的功能单元C6000系列DSP第2代VelociTI.2 CPU内核结构C64x CPU数据通路 2数据通路 1寄存器堆 AD2S2L2A31A16指令译码指令调度取指控制寄存器中断控制S1L1双64-位取数存数通路A15A0+M1xD1+寄存器堆 BB31B16B15B0+M2高级指令打包+xxxxxxxxxxx高级在线仿真第3页

3、/共50页第三页,编辑于星期日:点 四十六分。u 进一步改进内部存储器结构: L1P和L1D既可配置为Cache,也可配置为SRAM 改进了Cache一致性协议 增加了Cache冻结功能 增加了内部DMA控制器 增加了带宽管理功能 增加了存储器保护u 增加了新的指令 32-位乘法指令,提高精度 扩展了算术指令,以加速FFT和DCt运算 改进复数乘法指令 增加了双点积指令,改善FIR循环的吞吐率 增加了平行打包指令 增强了“高斯”域乘法指令C6000系列DSP第3代VelociTI.3 CPU内核结构存储器保护128128统一的存储器控制器 (UMC) 存储器保护带宽管理器IDMA数据通路1数据

4、通路2A寄存器堆中断&异常控制器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)存储器保护带宽管理器25625625612864带宽管理器32TMS320C64x+DSP Core新增的特

5、点由由C64x改进改进第4页/共50页第四页,编辑于星期日:点 四十六分。2.1.1 CPU结构 (1)程序取指单元 (2)指令分配单元 (3)指令译码单元 (4)32个或64个32位寄存器 (5)两个数据通路,每通路4个功能单元 (6)控制寄存器 (7)控制逻辑 (8) 测试、仿真和中断逻辑第5页/共50页第五页,编辑于星期日:点 四十六分。2.1.2 CPU 数据通路(1) 2 个通用寄存器组(A 和 B) (2) 8 个功能单元(.L1、.L2、.S1、.S2、.M1、.M2、.D1 和.D2)(3) 2 个数据读取通路(LD1 和 LD2) (4) 2 个数据存储通路(ST1 和 ST

6、2) (5) 2 个寄存器组交叉通路(1X 和 2X)(6) 2 个数据寻址通路(DA1 和 DA2) 第6页/共50页第六页,编辑于星期日:点 四十六分。第7页/共50页第七页,编辑于星期日:点 四十六分。第8页/共50页第八页,编辑于星期日:点 四十六分。第9页/共50页第九页,编辑于星期日:点 四十六分。通用寄存器组 寄存器组A -16个32位寄存器 A0-A31 寄存器组B -16个32位寄存器 B0-B31第10页/共50页第十页,编辑于星期日:点 四十六分。功能单元 .L单元:完成算术和逻辑运算 .S单元:完成程序跳转指令 .M单元:完成乘法运算 .D单元:完成数据读取/写入第11

7、页/共50页第十一页,编辑于星期日:点 四十六分。第12页/共50页第十二页,编辑于星期日:点 四十六分。第13页/共50页第十三页,编辑于星期日:点 四十六分。交叉通路 每个功能单元可以直接与所处的数据通路的寄存器组进行读写操作,即.L1、.S1、.D1和 .M1 可以直接读写寄存器组 A,而 .L2、.S2、.D2 和 .M2 可以直接读写寄存器组 B。 两个寄存器组通过 1X 和 2X 交叉通路也可以与另一侧的功能单元相连。1X 交叉通路允许数据通路 A 的功能单元从寄存器组 B 读它的源操作数,2X 交叉通路则允许数据通路 B 的功能单元从寄存器组 A 读它的源操作数。第14页/共50

8、页第十四页,编辑于星期日:点 四十六分。数据存取通道 LD1 用于寄存器组A LD2 用于寄存器组B ST1、ST2 用于保存及存器中的值到存储器中第15页/共50页第十五页,编辑于星期日:点 四十六分。数据地址通道 数据地址通路 DA1 和 DA2 来自数据通路的 .D 功能单元,地址通路与两侧数据通道都相连,这使一个寄存器组产生的数据地址能够支持任意一侧寄存器组对数据存储器的读写操作。 第16页/共50页第十六页,编辑于星期日:点 四十六分。2.2 CPU控制寄存器第17页/共50页第十七页,编辑于星期日:点 四十六分。寻址模式及存器(AMR) 在寻址模式寄存器中,对每个寄存器都有 2 位

9、字段用来选择地址修改模式:线性(缺省)或循环模式。对于循环寻址,这个字段也指定哪个 BK(block size)字段用作循环缓冲区。此外,缓冲区的值必须与循环块尺寸相匹配,模式选择字段和块尺寸字段示于图 2-5,模式选择字段编码示于表 2-4。寻址模式寄存器(AMR)在复位时初始化为零,其保留部分总为零。第18页/共50页第十八页,编辑于星期日:点 四十六分。第19页/共50页第十九页,编辑于星期日:点 四十六分。 块尺寸字段 BK0 和 BK1 含有 5 位数值,用于计算循环寻址循环块的尺寸,块尺寸与 BK0或者 BK1 内 5 位数值 N 的关系为:块尺寸=2(N+1) 第20页/共50页

10、第二十页,编辑于星期日:点 四十六分。控制状态寄存器(CSR)第21页/共50页第二十一页,编辑于星期日:点 四十六分。E1 程序节拍计数器第22页/共50页第二十二页,编辑于星期日:点 四十六分。TMS320C67X扩展控制寄存器 用于支持.L和.M运算,指定希望的浮点舍入方式,指示警告状态第23页/共50页第二十三页,编辑于星期日:点 四十六分。2.3 DSP 指令系统 寻址方式: 1 立即数寻址 2 寄存器寻址 3 寄存器间接寻址第24页/共50页第二十四页,编辑于星期日:点 四十六分。寄存器间接寻址 线性寻址方式 循环寻址方式第25页/共50页第二十五页,编辑于星期日:点 四十六分。指

11、令集 算术运算指令 逻辑及位域操作指令 MV类传送指令 程序控制指令第26页/共50页第二十六页,编辑于星期日:点 四十六分。C67X指令集.L .D .S .M No Unit UsedIDLENOP.S UnitNEGNOT ORSETSHLSHRSSHLSUBSUB2XORZEROADDADDKADD2ANDBCLREXTMVMVCMVKMVKLMVKHABSSPABSDPCMPGTSPCMPEQSPCMPLTSPCMPGTDPCMPEQDPCMPLTDPRCPSPRCPDPRSQRSPRSQRDPSPDP.L UnitNOTORSADDSATSSUBSUBSUBCXORZEROABSA

12、DDANDCMPEQCMPGTCMPLTLMBDMVNEGNORMADDSPADDDPSUBSPSUBDPINTSPINTDPSPINTDPINTSPRTUNCDPTRUNCDPSP.M UnitSMPYSMPYHMPYMPYHMPYLHMPYHLMPYSPMPYDPMPYIMPYID.D UnitNEGSTB(B/H/W) SUBSUBAB (B/H/W) ZEROADDADDAB (B/H/W)ADDADLDB(B/H/W)LDDWMV第27页/共50页第二十七页,编辑于星期日:点 四十六分。C64x指令集Data Pack/UnPACK2PACKH2PACKLH2PACKHL2PACKH

13、4PACKL4UNPKHU4UNPKLU4SWAP2/4Dual/Quad ArithABS2ADD2ADD4MAXMINSUB2SUB4SUBABS4Bitwise LogicalANDNShift & MergeSHLMBSHRMBLoad ConstantMVK (5-bit).L .D .S .M Bit OperationsBITC4BITRDEALSHFLMoveMVDAverageAVG2AVG4ShiftsROTLSSHVLSSHVRMultipliesMPYHIMPYLIMPYHIRMPYLIRMPY2SMPY2DOTP2DOTPN2DOTPRSU2DOTPNRSU2

14、DOTPU4DOTPSU4GMPY4XPND2/4Mem AccessLDDWLDNWLDNDWSTDWSTNWSTNDWLoad ConstantMVK (5-bit)Dual ArithmeticADD2SUB2Bitwise LogicalANDANDNORXORAddress Calc.ADDADData Pack/UnPACK2PACKH2PACKLH2PACKHL2UNPKHU4UNPKLU4SWAP2SPACK2SPACKU4Dual/Quad ArithSADD2SADDUS2SADD4Bitwise LogicalANDNShifts & MergeSHR2SHRU2

15、SHLMBSHRMBComparesCMPEQ2CMPEQ4CMPGT2CMPGT4Branches/PCBDECBPOSBNOPADDKPC第28页/共50页第二十八页,编辑于星期日:点 四十六分。资源限制 使用相同功能单元的指令限制 使用交叉通路的限制 数据读写的限制 使用40位长定点类型数据的限制 寄存器读取限制 寄存器存储限制第29页/共50页第二十九页,编辑于星期日:点 四十六分。2.4 流水线 现代微处理器是用结构的复杂性来换取速度的提高的。它把指令的处理分成几个子操作,每个子操作在微处理器内部由不同的部件来完成。对微处理器的每个部件来说,每隔1 个时钟周期即可进入 1 条新指令,

16、这样在同一时间内,就有多条指令交迭地在不同部件内处理,这种工作方式称为“流水线”(pipeline)工作方式。TMS320C6000 的特殊结构又可使多个指令包(每包最多可达 8 条指令)交迭地在不同部件内处理,大大提高了微处理器的吞吐量。第30页/共50页第三十页,编辑于星期日:点 四十六分。 TMS320C6000 中所有指令均按照取指(Fetch)、译码(Decode)和执行(Execute)3级(Stage)流水线运行,每一级又包含几个节拍(Phase)。所有指令取指级有 4 个节拍,译码级有 2 个节拍。执行级对不同类型的指令有不同数目的节拍。第31页/共50页第三十一页,编辑于星期

17、日:点 四十六分。流水线节拍第32页/共50页第三十二页,编辑于星期日:点 四十六分。取指 PG:程序地址产生 PS:程序地址发送 PW:程序访问等待 PR:程序取指包接收第33页/共50页第三十三页,编辑于星期日:点 四十六分。第34页/共50页第三十四页,编辑于星期日:点 四十六分。译码 DP:指令分配 DC:指令译码第35页/共50页第三十五页,编辑于星期日:点 四十六分。DM64X内核取指分配译码数据通路 1寄存器组A/16*32数据通路 2寄存器组B/16*32L2S2M2D2D1M1S1L1L D D WBZ E R OS U B S PA D D S PM P Y S PM P

18、Y S PC M P L TS PA D D S PA D D S PC M P L T S P M P Y S P L D D WM P Y S P A B S S PD CL 1D 2S 1M 1D 1L 2S 2M 2EDP第36页/共50页第三十六页,编辑于星期日:点 四十六分。执行第37页/共50页第三十七页,编辑于星期日:点 四十六分。流水线操作第38页/共50页第三十八页,编辑于星期日:点 四十六分。第39页/共50页第三十九页,编辑于星期日:点 四十六分。第40页/共50页第四十页,编辑于星期日:点 四十六分。第41页/共50页第四十一页,编辑于星期日:点 四十六分。不同指令的流水线操作第42页/共50页第四十二页,编辑于星期日:点 四十六分。第43页/共50页第四十三页,

温馨提示

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

评论

0/150

提交评论