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

下载本文档

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

文档简介

第二章TMS320C6000CPU结构与指令系统2.1CPU结构2.2CPU控制寄存器2.3流水线2.4汇编指令系统2.1CPU结构取数/存数分离结构CPU双数据通路8个运算单元8条32-位指令/周期32-位寻址空间整数指令特性数据可按字节寻址(8-,16-,32-位数据)8-位溢出保护饱和位操作:提取、置位、清零位计数归一化C62x/C67x控制寄存器程序取指指令调度指令译码控制逻辑中断仿真接口Test数据通路1数据通路2A寄存器堆A15~A0B寄存器堆B15~B0L2S2M2D2D1M1S1L1C6000系列DSP第1代VelociTI.1CPU内核结构双32-位取数/存数通路对第1代VLIW内核结构进行扩展支持4个16-位和8个8-位连乘加MAC指令,提高运算的并行度寄存器数量增加了1倍,取数/存数的数据通道也从32-位增加为64-位,实现带宽的加倍增强在线仿真能力增加了新的指令以加速宽带和图像处理等应用改善正交设计,使频繁使用的指令获得更多的功能单元C6000系列DSP第2代VelociTI.2CPU内核结构C64xCPU数据通路2数据通路1寄存器堆AD2S2L2A31~A16指令译码指令调度取指控制寄存器中断控制S1L1双64-位取数/存数通路A15~A0+++++++++++++++M1xD1++寄存器堆BB31~B16B15~B0++M2高级指令打包+xxxxxxxxxxx高级在线仿真进一步改进内部存储器结构:L1P和L1D既可配置为Cache,也可配置为SRAM改进了Cache一致性协议增加了Cache冻结功能增加了内部DMA控制器增加了带宽管理功能增加了存储器保护增加了新的指令32-位乘法指令,提高精度扩展了算术指令,以加速FFT和DCt运算改进复数乘法指令增加了双点积指令,改善FIR循环的吞吐率增加了平行打包指令增强了“高斯”域乘法指令C6000系列DSP第3代VelociTI.3CPU内核结构存储器保护128128统一的存储器控制器(UMC)存储器保护带宽管理器IDMA数据通路1数据通路2A寄存器堆中断&异常控制器S1L1M1xxxx数据存储器控制器(DMC)外部存储器控制器(EMC)DMASlaveI/F256程序存储器控制器(PMC)256128MasterPort(CPU/cachereq.)功率控制256L1DCache/SRAML1PCache/SRAML2Cache/SRAMToEDMA3.0256D1C64x+

CPUM2xxxxS2L2D2B寄存器堆指令译码16/32-位指令调度软件流水线缓冲器取指高级事件触发(AET)存储器保护带宽管理器25625625612864带宽管理器32TMS320C64x+™DSPCore新增的特点由C64x改进2.1.1CPU结构(1)程序取指单元(2)指令分配单元(3)指令译码单元(4)32个或64个32位寄存器(5)两个数据通路,每通路4个功能单元(6)控制寄存器(7)控制逻辑(8)测试、仿真和中断逻辑2.1.2CPU数据通路(1)2个通用寄存器组(A和B)(2)8个功能单元(.L1、.L2、.S1、.S2、.M1、.M2、.D1和.D2)(3)2个数据读取通路(LD1和LD2)(4)2个数据存储通路(ST1和ST2)(5)2个寄存器组交叉通路(1X和2X)(6)2个数据寻址通路(DA1和DA2)通用寄存器组寄存器组A-16个32位寄存器A0-A31寄存器组B-16个32位寄存器B0-B31功能单元.L单元:完成算术和逻辑运算.S单元:完成程序跳转指令.M单元:完成乘法运算.D单元:完成数据读取/写入交叉通路每个功能单元可以直接与所处的数据通路的寄存器组进行读写操作,即.L1、.S1、.D1和.M1可以直接读写寄存器组A,而.L2、.S2、.D2和.M2可以直接读写寄存器组B。两个寄存器组通过1X和2X交叉通路也可以与另一侧的功能单元相连。1X交叉通路允许数据通路A的功能单元从寄存器组B读它的源操作数,2X交叉通路则允许数据通路B的功能单元从寄存器组A读它的源操作数。数据存取通道LD1用于寄存器组ALD2用于寄存器组BST1、ST2用于保存及存器中的值到存储器中数据地址通道数据地址通路DA1和DA2来自数据通路的.D功能单元,地址通路与两侧数据通道都相连,这使一个寄存器组产生的数据地址能够支持任意一侧寄存器组对数据存储器的读写操作。2.2CPU控制寄存器寻址模式及存器(AMR)在寻址模式寄存器中,对每个寄存器都有2位字段用来选择地址修改模式:线性(缺省)或循环模式。对于循环寻址,这个字段也指定哪个BK(blocksize)字段用作循环缓冲区。此外,缓冲区的值必须与循环块尺寸相匹配,模式选择字段和块尺寸字段示于图2-5,模式选择字段编码示于表2-4。寻址模式寄存器(AMR)在复位时初始化为零,其保留部分总为零。块尺寸字段BK0和BK1含有5位数值,用于计算循环寻址循环块的尺寸,块尺寸与BK0或者BK1内5位数值N的关系为:块尺寸=2(N+1)控制状态寄存器(CSR)E1程序节拍计数器TMS320C67X扩展控制寄存器用于支持.L和.M运算,指定希望的浮点舍入方式,指示警告状态2.3DSP指令系统寻址方式:1立即数寻址2寄存器寻址3寄存器间接寻址寄存器间接寻址线性寻址方式循环寻址方式指令集算术运算指令逻辑及位域操作指令MV类传送指令程序控制指令C67X指令集.L.D.S.MNoUnitUsedIDLENOP.SUnitNEG

NOT

OR

SET

SHL

SHR

SSHL

SUB

SUB2

XOR

ZEROADD

ADDK

ADD2

AND

B

CLR

EXT

MV

MVC

MVK

MVKL

MVKHABSSP

ABSDP

CMPGTSP

CMPEQSP

CMPLTSP

CMPGTDP

CMPEQDP

CMPLTDP

RCPSP

RCPDP

RSQRSP

RSQRDP

SPDP.LUnitNOT

OR

SADD

SAT

SSUB

SUB

SUBC

XOR

ZEROABS

ADD

AND

CMPEQ

CMPGT

CMPLT

LMBD

MV

NEG

NORM

ADDSP

ADDDP

SUBSP

SUBDP

INTSP

INTDP

SPINT

DPINT

SPRTUNC

DPTRUNC

DPSP.MUnitSMPY

SMPYHMPY

MPYH

MPYLH

MPYHLMPYSP

MPYDP

MPYI

MPYID.DUnitNEG

STB (B/H/W)

SUB

SUBAB (B/H/W)

ZEROADD

ADDAB (B/H/W)

ADDAD

LDB (B/H/W)

LDDW

MVNote:Refertothe'C6000CPU

ReferenceGuideformoredetails.‘C67xC64x指令集DataPack/Un

PACK2

PACKH2

PACKLH2

PACKHL2

PACKH4

PACKL4

UNPKHU4

UNPKLU4

SWAP2/4Dual/QuadArith

ABS2

ADD2

ADD4

MAX

MIN

SUB2

SUB4

SUBABS4BitwiseLogical

ANDNShift&Merge

SHLMB

SHRMBLoadConstant

MVK(5-bit).L.D.S.MBitOperations

BITC4

BITR

DEAL

SHFLMove

MVDAverage

AVG2

AVG4Shifts

ROTL

SSHVL

SSHVRMultiplies

MPYHI

MPYLI

MPYHIR

MPYLIR

MPY2

SMPY2

DOTP2

DOTPN2

DOTPRSU2

DOTPNRSU2

DOTPU4

DOTPSU4

GMPY4

XPND2/4MemAccess

LDDW

LDNW

LDNDW

STDW

STNW

STNDWLoadConstant

MVK(5-bit)DualArithmetic

ADD2

SUB2BitwiseLogical

AND

ANDN

OR

XORAddressCalc.

ADDADDataPack/Un

PACK2

PACKH2

PACKLH2

PACKHL2

UNPKHU4

UNPKLU4

SWAP2

SPACK2

SPACKU4Dual/QuadArith

SADD2

SADDUS2

SADD4BitwiseLogical

ANDNShifts&Merge

SHR2

SHRU2

SHLMB

SHRMBCompares

CMPEQ2

CMPEQ4

CMPGT2

CMPGT4Branches/PC

BDEC

BPOS

BNOP

ADDKPC资源限制使用相同功能单元的指令限制使用交叉通路的限制数据读写的限制使用40位长定点类型数据的限制寄存器读取限制寄存器存储限制2.4流水线现代微处理器是用结构的复杂性来换取速度的提高的。它把指令的处理分成几个子操作,每个子操作在微处理器内部由不同的部件来完成。对微处理器的每个部件来说,每隔1个时钟周期即可进入1条新指令,这样在同一时间内,就有多条指令交迭地在不同部件内处理,这种工作方式称为“流水线”(pipeline)工作方式。TMS320C6000的特殊结构又可使多个指令包(每包最多可达8条指令)交迭地在不同部件内处理,大大提高了微处理器的吞吐量。TMS320C6000中所有指令均按照取指(Fetch)、译码(Decode)和执行(Execute)3级(Stage)流水线运行,每一级又包含几个节拍(Phase)。所有指令取指级有4个节拍,译码级有2个节拍。执行级对不同类型的指令有不同数

温馨提示

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

最新文档

评论

0/150

提交评论