C28xDSP的CPU与指令系统课件_第1页
C28xDSP的CPU与指令系统课件_第2页
C28xDSP的CPU与指令系统课件_第3页
C28xDSP的CPU与指令系统课件_第4页
C28xDSP的CPU与指令系统课件_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

第3章C28xDSP的CPU与指令系统本章内容:3.1中央处理器

3.2寻址方式

3.3C28xDSP指令系统

4/2/202313.1中央处理器

C28xDSP的中央处理器(CPU)结构包括三个部分:CPU内核、仿真逻辑单元和CPU信号。C28xCPU组成概念框图

1.CPU结构4/2/20232仿真逻辑单元的主要功能是监视和控制CPU以及其他外设的工作情况,并实现对设备的测试和调试功能。CPU的信号主要包括4种:①存储器接口信号②时钟和控制信号③复位和中断信号④仿真信号4/2/20233C28x的CPU主要由总线、CPU寄存器、程序地址发生器和控制逻辑、地址寄存器算术单元(ARAU)、算术逻辑单元(ALU)、乘法器和移位器等逻辑部件组成,还包括指令队列和指令译码单元、中断处理逻辑等。ALU为32位的运算逻辑单元,主要执行算术运算和布尔运算。在运算之前,ALU从寄存器、数据存储器或程序控制逻辑单元接收数据,然后进行运算,最后把结果存入寄存器或数据存储器中。32位的乘法器,可执行32×32位的补码乘法,并产生64位的结果。乘法器采用32位乘数寄存器(XT,)、32位乘积寄存器(P)和32位累加器(ACC)。CPU的移位器实现对操作数的移位操作。4/2/20235FastprogramexecutionoutofbothRAMand

Flashmemory100-120MIPSwithFlashAccelerationTechnology150MIPSoutofRAMfortime-criticalcode

ControlPeripherals

MemorySub-SystemEventManagersUltra-Fast12-bitADC12.5MSPSthroughputDualsample&holdsenablesimultaneoussamplingAutoSequencer,upto16conversionsw/oCPUControlPortsMultiplestandardcommunicationportsprovidesimpleinterfacestoothercomponentsCommunicationsPorts150MIPSperformanceSinglecycle32x32-bitMAC(ordual16x16MAC)VeryFastInterruptResponseSinglecycleread-modified-writeF24x/LF240xSourceCodeCompatibleHigh-PerformanceCPU(C28xTMDSPCore)MemoryBus128KwFlash+2KwOTP4KwBootROM18KwRAMCodesecurityXINTF32-bitRegisterFileReal-TimeJTAG32-bit

Timers(3)150MIPsC28xTM32-bitDSP32x32-bit

MultiplierRMWAtomicALU

InterruptManagementEventMgrAEventMgrB12-BitADCWatchdogGPIOMcBSPCAN2.0BSCI-UARTASCI-UARTBSPIPeripheralBusTMS320F2812/TMS320F2810

MostPowerful-MostIntegratedDualFunctionDigitalSignalController4/2/20236Fast&flexibleinterruptmanagementsignificantlyreduceinterruptlatencySingle-cycle32-bitmultipliermakescomputationallyintensivecontrolalgorithmsmoreefficient

C28xTMDSPCoreThree32-bittimerssupportmultiplecontrolloops/timebases.Singlecycleread-modified-writeinanymemorylocationand32-bitregistersimprovecontrolalgorithmefficiencyReal-timeJTAGdebugshortensdevelopmentcycleC28xTM32-bitDSPInterruptManagement32-bitRegisterFileReal-TimeJTAG32-bit

Timers(3)32x32bit

MultiplierRMWAtomicALU

MostC/C++Efficient32-bitDSPCoreCodecompatiblewiththeTMS320C24x™DSPfamily4/2/20237多总线的结构使C28x能够实现流水线的指令执行机制。采用流水线机制可以大大加快指令执行速度,实现指令的执行在单机器周期内完成。C28x采用了8级流水线。(1)取指令阶段1:指令地址通过22位总线PAB送往程序存储器。(2)取指令阶段2:通过32位总线PRDB读程序存储器,放入指令队列。(3)译码阶段1:CPU硬件识别取指队列中指令的边界,并测定下一条待执行指令的长度。(4)译码阶段2:CPU硬件从取指队列中取回指令,并将该指令放入指令寄存器,译码。(5)读阶段1:从存储器中读取数据时,把地址送到相应的地址总线上。(6)读阶段2:硬件通过数据总线取回读阶段1所寻址的存储器内的数据。(7)执行阶段:CPU执行乘法、移位和ALU操作,包括算术和逻辑操作。(8)写阶段:需要时,将指令执行的结果写回存储器。4/2/202392.CPU的寄存器累加器(ACC、AH、AL)乘数寄存器(XT、T、TL)和乘积寄存器(P、PH、PL)

数据页指针寄存器(DP)

堆栈指针(SP)

辅助寄存器(XAR0~XAR7、AR0~AR7)

程序计数器(PC)

返回PC指针寄存器(RPC)

中断控制寄存器(IFR、IER、DBGIER)

状态寄存器(ST0,STl)

4/2/202310C28xDSP的CPU寄存器

4/2/202311乘数寄存器XT的分半单独存取结构

P寄存器的分半单独存取结构

(2)乘数寄存器(XT、T、TL)和乘积寄存器(P、PH、PL)

4/2/202313(3)数据页指针寄存器(DP)

在直接寻址方式中,操作数的地址由两部分组成:一个页地址(DataPage)和一个页内的偏移量。C28x的数据存储器每64个字构成一个数据页,这样,4MW的数据存储器共有65536个数据页,用0~65535进行标号。在直接寻址方式下,当前的页地址存放于16位的数据页指针寄存器(DP)中,可以通过给DP赋新值可改变数据页号。当CPU工作在C2xLP源兼容模式时,使用一个7位的偏移量,并忽略DP寄存器的最低位。4/2/202314数据存储器的数据页

4/2/202315(5)辅助寄存器(XAR0~XAR7、AR0~AR7)XAR0~XAR7寄存器

4/2/202317(6)程序计数器(PC)C28x的程序计数器(PC)是一个22位的寄存器,存放当前CPU正在操作指令的地址。(7)返回PC指针寄存器(RPC)

(8)中断控制寄存器(IFR、IER、DBGIER)有两对长调用指令:LC和LRET,LCR和LRETR。LCR和LRETR执行效率更高,只有LCR和LRETR指令使用RPC。当使用LCR指令时,当前RPC的值被压入堆栈。返回地址将被装载到RPC寄存器中,而22位的函数入口地址将被装载到PC计数器,从而使流程转入函数体中运行。调用结束通过LRETR指令返回时,存放在RPC内的返回地址装载到PC中,而压入堆栈中的RPC的值从堆栈中装载到RPC内。4/2/202318(9)状态寄存器(ST0,STl)

C28xCPU有两个重要的状态寄存器:ST0和ST1,其中包含着不同的标志位和控制位。ST0包含指令操作所使用或影响的控制或标志位,如溢出、进位、符号扩展等。ST1则主要包含一些特殊的控制位,如处理器的兼容模式选择、寻址模式配置等。4/2/202319状态寄存器ST1·ARP:辅助寄存器指针。·XF:XF状态位。该位用于控制输出引脚XF的状态。·M0M1MAP:存储器M0和M1映射模式位。·OBJMODE:目标兼容模式位。用来在C27x目标模式(=0)和C28x目标模式(=1)之间进行选择。·AMODE:寻址模式位。在C28x寻址模式(AMODE=0)和C2xLP寻址模式(AMODE=1)之间进行选择。4/2/202321·IDLESTAT:空闲状态位。·EALLOW:仿真允许访问使能位。为1,允许访问。·LOOP:循环指令状态位。·SPA:队栈指针定位(StackPointerAlignment)位。·VMAP:向量映像(VectorMap)位。·DBGM:调试使能屏蔽位。·INTM:中断全局屏蔽位。为0,中断使能。4/2/2023223.2寻址方式

3.2.1寻址方式概述C28xCPU四种基本寻址方式:直接寻址、堆栈寻址、间接寻址和寄存器寻址还有数据/程序/IO空间立即寻址方式或程序空间间接寻址方式。1.寻址方式分类4/2/202323汇编器/编译器对AMODE位的跟踪C/C++编译器是假定寻址方式设定在AMODE=0。汇编器可以按照命令行操作指定默认状态为AMODE=0或AMODE=1。-v28 ;假设AMODE=0(C28x寻址方式)-v28-m20 ;假设AMODE=1(C2xLP兼容寻址方式)汇编器还允许文件中嵌套指令改变寻址方式。.c28_amode ;告知汇编器后缀代码为AMODE=0(C28x寻址方式).lp_amode ;告知汇编器后缀代码为AMODE=1(C2xLP兼容寻址方式)4/2/2023253.2.2直接寻址方式直接寻址方式操作数的22位物理地址被分成两部分,16位的数据页指针(DP)寄存器作为固定的页指针,指令中提供6位或7位的偏移量,这些偏移量与DP中的值一起确定操作数的地址。4/2/2023263.2.5寄存器寻址方式寄存器寻址方式操作数在寄存器中。寄存器寻址方式可分为32位和16位寻址方式。4/2/2023293.2.6数据/程序/IO空间立即寻址方式数据/程序/IO空间立即寻址方式有4种语法:*(0:16bit)、*(PA)、0:pma和*(pma)。4/2/2023303.2.7程序空间间接寻址方式程序空间间接寻址方式的访问程序空间有3种语法:*AL、*XAR7和*XAR7++。3.2.8字节寻址方式与32位操作数的定位字节寻址方式

32位操作数的定位

4/2/2023313.3C28xDSP指令系统

C28xDSP指令系统一览表见教材。XARn寄存器(XAR0~XAR7)操作

DP寄存器操作

SP寄存器操作

AX寄存器操作(AH,AL)

16位ACC累加器操作

32位ACC累加器操作

64位ACC:P寄存器操作

P或XT寄存器操作(P,PH,PL,XT,T,TL)

16×16位乘法操作

4/2/202332

32×32位乘法操作

直接存储器操作

I/O空间操作

程序空间操作

跳转/

温馨提示

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

评论

0/150

提交评论