好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

C28xDSP的CPU与指令系统课件.ppt

34页
  • 卖家[上传人]:桔****
  • 文档编号:590166597
  • 上传时间:2024-09-12
  • 文档格式:PPT
  • 文档大小:254.50KB
  • / 34 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第3章 C28x DSP的CPU与指令系统本章内容:本章内容:3.1 中央处理器中央处理器 3.2 寻址方式寻址方式 3.3 C28x DSP指令系统指令系统 9/12/20241C28xDSP的CPU与指令系统 3.1 中央处理器中央处理器 C28x DSP的中央处理器(的中央处理器(CPU)结构包括三个部分:)结构包括三个部分:CPU内核、仿真逻辑单元和内核、仿真逻辑单元和CPU信号信号 C28x CPU组成概念框图组成概念框图 1. CPU结构结构9/12/20242C28xDSP的CPU与指令系统 仿真逻辑单元的主要功能是监视和控制仿真逻辑单元的主要功能是监视和控制CPU以及其他外设的工作情况,并实现对设备的测试以及其他外设的工作情况,并实现对设备的测试和调试功能和调试功能 CPU的信号主要包括的信号主要包括4种:种:①① 存储器接口信号存储器接口信号②② 时钟和控制信号时钟和控制信号③③ 复位和中断信号复位和中断信号④④ 仿真信号仿真信号9/12/20243C28xDSP的CPU与指令系统 F281x DSP的的CPU 单元结构框图单元结构框图9/12/20244C28xDSP的CPU与指令系统 C28x的的CPU主要由总线、主要由总线、CPU寄存器、程序地址发寄存器、程序地址发生器和控制逻辑、地址寄存器算术单元生器和控制逻辑、地址寄存器算术单元(ARAU)、算术逻辑、算术逻辑单元单元(ALU)、乘法器和移位器等逻辑部件组成,还包括指、乘法器和移位器等逻辑部件组成,还包括指令队列和指令译码单元、中断处理逻辑等。

      令队列和指令译码单元、中断处理逻辑等 ALU为为32位的运算逻辑单元,主要执行算术运算和布位的运算逻辑单元,主要执行算术运算和布尔运算在运算之前,尔运算在运算之前,ALU从寄存器、数据存储器或程序从寄存器、数据存储器或程序控制逻辑单元接收数据,然后进行运算,最后把结果存入控制逻辑单元接收数据,然后进行运算,最后把结果存入寄存器或数据存储器中寄存器或数据存储器中 32位的乘法器,可执行位的乘法器,可执行32×32位的补码乘法,并产生位的补码乘法,并产生64位的结果乘法器采用位的结果乘法器采用32位乘数寄存器位乘数寄存器(XT,)、、32位乘积寄位乘积寄存器存器(P)和和32位累加器位累加器(ACC)CPU的移位器实现对操作数的移位器实现对操作数的移位操作的移位操作 9/12/20245C28xDSP的CPU与指令系统 Fast program execution out of both RAM and Flash memoryl100-120 MIPS with Flash Acceleration Technologyl150 MIPS out of RAM for time-critical code Control Peripherals Memory Sub-SystemEvent ManagersUltra-Fast 12-bit ADCl12.5 MSPS throughputlDual sample&holds enable simultaneous samplinglAuto Sequencer, up to 16 conversions w/o CPUControl PortsMultiple standard communication ports provide simple interfaces to other componentsCommunications Portsl150MIPS performancelSingle cycle 32 x32-bit MAC (or dual 16 x16 MAC)lVery Fast Interrupt ResponselSingle cycle read-modified-writelF24x/LF240x Source Code Compatible High-Performance CPU (C28xTM DSP Core) Memory Bus Code securityXINTF32-bitRegister FileReal-TimeJTAG32-bitTimers (3)150 MIPs C28xTM 32-bit DSP32x32-bitMultiplierR M WAtomicALU Peripheral BusTMS320F2812 / TMS320F2810Most Powerful - Most Integrated Dual Function Digital Signal Controller9/12/20246C28xDSP的CPU与指令系统 lFast & flexible interrupt management significantly reduce interrupt latencylSingle-cycle 32-bit multiplier makes computationally intensive control algorithms more efficient C28xTM DSP CorelThree 32-bit timers support multiple control loops / time bases.lSingle cycle read-modified-write in any memory location and 32-bit registers improve control algorithm efficiencylReal-time JTAG debug shortens development cycleC28xTM 32-bit DSP32-bitRegister FileReal-TimeJTAG32-bitTimers (3)32x32 bitMultiplierR M WAtomicALU Most C/C++ Efficient 32-bit DSP CorelCode compatible with the TMS320C24x™ DSP family9/12/20247C28xDSP的CPU与指令系统 2812 DSP 总线结构总线结构多组总线并行机制。

      多组总线并行机制程序读、数据读、数据写三种情况程序读、数据读、数据写三种情况 内部地址总线,三组内部地址总线,三组 Address Bus::程序读地址总线程序读地址总线PAB (Program Address Bus)(0:21) 22根,根,4 MW数据读地址总线数据读地址总线DRAB (Data Read Address Bus)(0:31) 32位数据写地址总线数据写地址总线DWAB (Data Write Address Bus)(0:31)内部数据总线:三组内部数据总线:三组 Data Bus::程序读数据总线程序读数据总线PRDB (Program Read Data Bus)(0:31)数据读数据总线数据读数据总线DRDB(0:31)数据数据/程序写数据总线程序写数据总线DWDB(0:31) 数据写入数据写入DM和和PM外部外部16位位数据总线数据总线Data(0:15) / 19位地址位地址总线Address(0:18) 为单一形式一形式 9/12/20248C28xDSP的CPU与指令系统 多总线的结构使多总线的结构使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) 写阶段:需要时,将指令执行的结果写回存储器写阶段:需要时,将指令执行的结果写回存储器9/12/20249C28xDSP的CPU与指令系统 2. CPU的寄存器的寄存器 •累加器累加器(ACC、、AH、、AL)•乘数寄存器乘数寄存器(XT、、T、、TL)和乘积寄存器和乘积寄存器(P、、PH、、PL) •数据页指针寄存器数据页指针寄存器(DP) •堆栈指针堆栈指针(SP) •辅助寄存器辅助寄存器(XAR0~XAR7、、AR0~AR7) •程序计数器程序计数器(PC) •返回返回PC指针寄存器指针寄存器(RPC) •中断控制寄存器中断控制寄存器(IFR、、IER、、DBGIER) •状态寄存器状态寄存器(ST0,,STl) 9/12/202410C28xDSP的CPU与指令系统 C28x DSP的的CPU寄存器寄存器 9/12/202411C28xDSP的CPU与指令系统 累加器可以单独存取的结构累加器可以单独存取的结构 (1) 累加器累加器(ACC、、AH、、AL)9/12/202412C28xDSP的CPU与指令系统 乘数寄存器乘数寄存器XT的分半单独存取结构的分半单独存取结构 P寄存器的分半单独存取结构寄存器的分半单独存取结构 (2) 乘数寄存器乘数寄存器(XT、、T、、TL)和乘积寄存器和乘积寄存器(P、、PH、、PL) 9/12/202413C28xDSP的CPU与指令系统 (3) 数据页指针寄存器数据页指针寄存器(DP) 在直接寻址方式中,操作数的地址由两部分组成:一在直接寻址方式中,操作数的地址由两部分组成:一个页地址个页地址(Data Page)和一个页内的偏移量。

      和一个页内的偏移量C28x的数据的数据存储器每存储器每64个字构成一个数据页,这样,个字构成一个数据页,这样,4MW的数据存的数据存储器共有储器共有65536个数据页,用个数据页,用0~65535进行标号在直接寻进行标号在直接寻址方式下,当前的页地址存放于址方式下,当前的页地址存放于16位的数据页指针寄存器位的数据页指针寄存器(DP)中,可以通过给中,可以通过给DP赋新值可改变数据页号当赋新值可改变数据页号当CPU工作在工作在C2xLP源兼容模式时,使用一个源兼容模式时,使用一个7位的偏移量,并位的偏移量,并忽略忽略DP寄存器的最低位寄存器的最低位 9/12/202414C28xDSP的CPU与指令系统 数据存储器的数据页数据存储器的数据页 9/12/202415C28xDSP的CPU与指令系统 (4) 堆栈指针堆栈指针(SP) 堆栈指针堆栈指针(SP)允许在数据存储器中使用软件堆栈允许在数据存储器中使用软件堆栈堆栈指针为堆栈指针为16位,可以对数据空间的低位,可以对数据空间的低64K字字(数据存储数据存储器器0000H~FFFFH)进行寻址进行寻址9/12/202416C28xDSP的CPU与指令系统 (5) 辅助寄存器辅助寄存器(XAR0~XAR7、、AR0~AR7)XAR0~XAR7寄存器寄存器 9/12/202417C28xDSP的CPU与指令系统 (6) 程序计数器程序计数器(PC) C28x的程序计数器的程序计数器(PC)是一个是一个22位的寄存器,存放当前位的寄存器,存放当前CPU正在操作指令的地址。

      正在操作指令的地址 (7) 返回返回PC指针寄存器指针寄存器(RPC) (8) 中断控制寄存器中断控制寄存器(IFR、、IER、、DBGIER) 有两对长调用指令:有两对长调用指令:LC和和LRET,,LCR和和LRETRLCR和和LRETR执行效率更高,只有执行效率更高,只有LCR和和LRETR指令使用指令使用RPC当使用当使用LCR指令时,当前指令时,当前RPC的值被压入堆栈返回地址将的值被压入堆栈返回地址将被装载到被装载到RPC寄存器中,而寄存器中,而22位的函数入口地址将被装载到位的函数入口地址将被装载到PC计数器,从而使流程转入函数体中运行调用结束通过计数器,从而使流程转入函数体中运行调用结束通过LRETR指令返回时,存放在指令返回时,存放在RPC内的返回地址装载到内的返回地址装载到PC中,中,而压入堆栈中的而压入堆栈中的RPC的值从堆栈中装载到的值从堆栈中装载到RPC内9/12/202418C28xDSP的CPU与指令系统 (9) 状态寄存器状态寄存器(ST0,,STl) C28x CPU有两个重要的状态寄存器:有两个重要的状态寄存器:ST0和和ST1,其,其中包含着不同的标志位和控制位。

      中包含着不同的标志位和控制位ST0包含指令操作所使包含指令操作所使用或影响的控制或标志位,如溢出、进位、符号扩展等用或影响的控制或标志位,如溢出、进位、符号扩展等ST1则主要包含一些特殊的控制位,如处理器的兼容模式则主要包含一些特殊的控制位,如处理器的兼容模式选择、寻址模式配置等选择、寻址模式配置等 9/12/202419C28xDSP的CPU与指令系统 状态寄存器状态寄存器ST0 ·OVC/OVCU:溢出计数器溢出计数器·PM:乘积移位模式位乘积移位模式位·V:溢出标志溢出标志·N:负标志位负标志位·Z:零标志·C:进位位·TC:测试:测试/控制标志控制标志·OVM:溢出模式位溢出模式位·SXM:符号扩展模式位符号扩展模式位9/12/202420C28xDSP的CPU与指令系统 状态寄存器状态寄存器ST1 ·ARP:辅助寄存器指针辅助寄存器指针·XF::XF状态位该位用于控制输出引脚状态位该位用于控制输出引脚XF的状态·M0M1MAP:存储器:存储器M0和和M1映射模式位映射模式位·OBJMODE:目标兼容模式位用来在:目标兼容模式位用来在C27x目标模式目标模式(=0)和和C28x目标模式目标模式(=1)之间进行选择。

      之间进行选择·AMODE:寻址模式位在:寻址模式位在C28x寻址模式寻址模式 (AMODE=0)和和C2xLP寻址模式寻址模式(AMODE=1)之间进行选择之间进行选择 9/12/202421C28xDSP的CPU与指令系统 ·IDLESTAT:空闲状态位空闲状态位 ·EALLOW:仿真允许访问使能位仿真允许访问使能位 为为1,允许访问允许访问·LOOP:循环指令状态位循环指令状态位 ·SPA:队栈指针定位:队栈指针定位(Stack Pointer Alignment)位 ·VMAP:向量映像:向量映像(Vector Map)位 ·DBGM:调试使能屏蔽位调试使能屏蔽位 ·INTM:中断全局屏蔽位中断全局屏蔽位 为为0,中断使能中断使能9/12/202422C28xDSP的CPU与指令系统 3.2 寻址方式寻址方式 3.2.1 寻址方式概述寻址方式概述 C28x CPU四种基本寻址方式:四种基本寻址方式:直接寻址、堆栈寻址、间接寻址和寄存器寻址直接寻址、堆栈寻址、间接寻址和寄存器寻址 还有数据还有数据/程序程序/IO空间立即寻址方式或程序空间间空间立即寻址方式或程序空间间接寻址方式。

      接寻址方式 1. 寻址方式分类寻址方式分类 9/12/202423C28xDSP的CPU与指令系统 2. 寻址方式选择位寻址方式选择位(AMODE) C28x的多数指令操作码用的多数指令操作码用8位字段来表示指令使用的位字段来表示指令使用的寻址方式和所选寻址方式的相关信息这寻址方式和所选寻址方式的相关信息这8位操作码信息受位操作码信息受CPU的状态寄存器的状态寄存器ST1其中的寻址方式选择位其中的寻址方式选择位(AMODE) 的影的影响同一指令,响同一指令,AMODE的取值不同,指令操作码中对应的取值不同,指令操作码中对应寻址的寻址的8位操作码不同位操作码不同 AMODE=0. 复位默认方式,复位默认方式,C28x的的C/C++编译器使用的方编译器使用的方式这种方式与式这种方式与C2xLP CPU的寻址方式不完全兼容,数据的寻址方式不完全兼容,数据页指针偏移量为页指针偏移量为6位位(C2xLP中为中为7位位) AMODE=1. 这种方式与这种方式与C2xLP CPU的寻址方式完全兼容,的寻址方式完全兼容,数据页指针偏移量为数据页指针偏移量为7位9/12/202424C28xDSP的CPU与指令系统 汇编器汇编器/编译器对编译器对AMODE位的跟踪位的跟踪 C/C++编译器是假定寻址方式设定在编译器是假定寻址方式设定在AMODE=0。

      汇编器可以按照命令行操作指定默认汇编器可以按照命令行操作指定默认状态为状态为AMODE=0或或AMODE=1v28 ;假设假设AMODE=0(C28x寻址方式寻址方式)-v28 -m20 ;假设假设AMODE=1(C2xLP兼容寻址方式兼容寻址方式)汇编器还允许文件中嵌套指令改变寻址方式汇编器还允许文件中嵌套指令改变寻址方式c28_amode;告知汇编器后缀代码为告知汇编器后缀代码为AMODE=0(C28x寻址方式寻址方式).lp_amode;告知汇编器后缀代码为告知汇编器后缀代码为AMODE=1(C2xLP兼容寻址方式兼容寻址方式)9/12/202425C28xDSP的CPU与指令系统 3.2.2 直接寻址方式直接寻址方式 直接寻址方式操作数的直接寻址方式操作数的22位物理地址被分成两部分,位物理地址被分成两部分,16位的数据页指针位的数据页指针(DP)寄存器作为固定的页指针,指令中寄存器作为固定的页指针,指令中提供提供6位或位或7位的偏移量,这些偏移量与位的偏移量,这些偏移量与DP中的值一起确定中的值一起确定操作数的地址操作数的地址 9/12/202426C28xDSP的CPU与指令系统 3.2.3 堆栈寻址方式堆栈寻址方式 堆栈寻址方式操作数在堆栈中,操作数物理地址由堆堆栈寻址方式操作数在堆栈中,操作数物理地址由堆栈指针栈指针SP给出。

      给出C28x的软件堆栈从存储器的低地址变化的软件堆栈从存储器的低地址变化到高地址,堆栈指针总是指向下一个位置在指令中提供到高地址,堆栈指针总是指向下一个位置在指令中提供6位的偏移量,表明数据入栈或出栈时,栈指针增加和减位的偏移量,表明数据入栈或出栈时,栈指针增加和减小值小值 9/12/202427C28xDSP的CPU与指令系统 3.2.4 间接寻址方式间接寻址方式 间接寻址方式,操作数物理地址存放在间接寻址方式,操作数物理地址存放在32位寄存位寄存器器XAR0~XAR7中在C28x的间接寻址中所用的寄存的间接寻址中所用的寄存器直接出现在指令中在器直接出现在指令中在C2xLP的间接寻址中,由的间接寻址中,由3位位的辅助寄存器指针的辅助寄存器指针(ARP)选择指令使用哪个辅助寄存器选择指令使用哪个辅助寄存器作为间接寻址寄存器作为间接寻址寄存器 9/12/202428C28xDSP的CPU与指令系统 3.2.5 寄存器寻址方式寄存器寻址方式 寄存器寻址方式操作数在寄存器中寄存器寻址方寄存器寻址方式操作数在寄存器中寄存器寻址方式可分为式可分为32位和位和16位寻址方式位寻址方式 。

      9/12/202429C28xDSP的CPU与指令系统 3.2.6 数据数据/程序程序/IO空间立即寻址方式空间立即寻址方式 数据数据/程序程序/IO空间立即寻址方式有空间立即寻址方式有4种语法:种语法:*(0::16bit)、、*(PA)、、0: pma和和*(pma) 9/12/202430C28xDSP的CPU与指令系统 3.2.7 程序空间间接寻址方式程序空间间接寻址方式 程序空间间接寻址方式的访问程序空间有程序空间间接寻址方式的访问程序空间有3种语法:种语法:*AL、、*XAR7和和*XAR7++ 3.2.8 字节寻址方式与字节寻址方式与32位操作数的定位位操作数的定位 字节寻址方式字节寻址方式 32位操作数的定位位操作数的定位 9/12/202431C28xDSP的CPU与指令系统 3.3 C28x DSP指令系统指令系统 C28x DSP指令系统一览表见教材指令系统一览表见教材 (1)XARn寄存器寄存器(XAR0~XAR7)操作操作(2) DP寄存器操作寄存器操作 (3) SP寄存器操作寄存器操作 (4)AX寄存器操作寄存器操作(AH, AL) (5)16位位ACC累加器操作累加器操作 (6)32位位ACC累加器操作累加器操作 (7)64位位ACC::P寄存器操作寄存器操作 (8)P或或XT寄存器操作寄存器操作(P, PH, PL, XT, T, TL) (9)16×16位乘法操作位乘法操作 9/12/202432C28xDSP的CPU与指令系统 (10) 32×32位乘法操作位乘法操作 (11) 直接存储器操作直接存储器操作 (12) I/O空间操作空间操作 (13) 程序空间操作程序空间操作 (14) 跳转跳转/调用调用/返回操作返回操作 (15) 中断寄存器操作中断寄存器操作 (16) 状态位清零状态位清零 (17) 其他操作其他操作 9/12/202433C28xDSP的CPU与指令系统 思考题与习题思考题与习题1.简述简述C28x DSP CPU的组成。

      的组成2.C28x的的CPU有哪些寄存器?有哪些寄存器?3.简述简述C28x DSP的总线结构的总线结构4.辅助寄存器有哪些?其作用是什么?辅助寄存器有哪些?其作用是什么?5.状态寄存器状态寄存器ST0,,ST1的作用是什么?的作用是什么?6.C28x DSP有哪些寻址方式?有哪些寻址方式?7.直接寻址方式中,数据存储单元的地址是如何形成的?直接寻址方式中,数据存储单元的地址是如何形成的?8.访问片内外设寄存器可以采用哪些寻址方式?访问片内外设寄存器可以采用哪些寻址方式?9.C28x DSP 有哪些类型的指令?有哪些类型的指令?10.举例说明符号举例说明符号loc16和和loc32在指令中的含义在指令中的含义9/12/202434C28xDSP的CPU与指令系统 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.