CxDSP的CPU与指令系统实用实用教案

上传人:汽*** 文档编号:568841308 上传时间:2024-07-27 格式:PPT 页数:34 大小:1.74MB
返回 下载 相关 举报
CxDSP的CPU与指令系统实用实用教案_第1页
第1页 / 共34页
CxDSP的CPU与指令系统实用实用教案_第2页
第2页 / 共34页
CxDSP的CPU与指令系统实用实用教案_第3页
第3页 / 共34页
CxDSP的CPU与指令系统实用实用教案_第4页
第4页 / 共34页
CxDSP的CPU与指令系统实用实用教案_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《CxDSP的CPU与指令系统实用实用教案》由会员分享,可在线阅读,更多相关《CxDSP的CPU与指令系统实用实用教案(34页珍藏版)》请在金锄头文库上搜索。

1、2024/7/271 仿真逻辑单元的主要功能(gngnng)是监视和控制CPU以及其他外设的工作情况,并实现对设备的测试和调试功能(gngnng)。 CPU的信号主要包括4种: 存储器接口(ji ku)信号 时钟和控制信号 复位和中断信号 仿真信号第1页/共33页第一页,共34页。2024/7/272F281x DSP的的CPU 单单元结构元结构(jigu)框框图图第2页/共33页第二页,共34页。2024/7/273 C28x的CPU主要由总线、CPU寄存器、程序地址发生器和控制(kngzh)逻辑、地址寄存器算术单元(ARAU)、算术逻辑单元(ALU)、乘法器和移位器等逻辑部件组成,还包括指

2、令队列和指令译码单元、中断处理逻辑等。 ALU为32位的运算逻辑单元,主要执行(zhxng)算术运算和布尔运算。在运算之前,ALU从寄存器、数据存储器或程序控制逻辑单元接收数据,然后进行运算,最后把结果存入寄存器或数据存储器中。 32位的乘法器,可执行3232位的补码乘法,并产生64位的结果。乘法器采用32位乘数寄存器(XT,)、32位乘积寄存器(P)和32位累加器(ACC)。CPU的移位器实现(shxin)对操作数的移位操作。 第3页/共33页第三页,共34页。2024/7/274Fast program execution out of both RAM and Flash memoryl

3、100-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 st

4、andard 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) Me

5、mory Bus 128Kw Flash+ 2Kw OTP4Kw Boot ROM18Kw RAMCode securityXINTF32-bitRegister FileReal-TimeJTAG32-bitTimers (3)150 MIPs C28xTM 32-bit DSP32x32-bitMultiplierR M WAtomicALU Interrupt ManagementEvent Mgr AEvent Mgr B12-Bit ADCWatchdogGPIOMcBSPCAN 2.0BSCI-UART ASCI-UART BSPIPeripheral BusTMS320F2812

6、 / TMS320F2810Most Powerful - Most Integrated Dual Function Digital Signal Controller第4页/共33页第四页,共34页。2024/7/275lFast & flexible interrupt management significantly reduce interrupt latencylSingle-cycle 32-bit multiplier makes computationally intensive control algorithms more efficient C28xTM DSP Cor

7、elThree 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 DSPInterrupt Management32-bitRegister FileReal-TimeJTAG32-

8、bitTimers (3)32x32 bitMultiplierR M WAtomicALU Most C/C+ Efficient 32-bit DSP CorelCode compatible with the TMS320C24x DSP family第5页/共33页第五页,共34页。2024/7/2762812 DSP 总线结构多组总线并行机制。程序读、数据(shj)读、数据(shj)写三种情况 。内部地址总线,三组 Address Bus:程序读地址总线PAB (Program Address Bus)(0:21) 22根,4 MW。数据(shj)读地址总线DRAB (Data Re

9、ad Address Bus)(0:31) 32位。数据(shj)写地址总线DWAB (Data Write Address Bus)(0:31)。内部数据(shj)总线:三组 Data Bus:程序读数据(shj)总线PRDB (Program Read Data Bus)(0:31)。数据(shj)读数据(shj)总线DRDB(0:31)。数据(shj)/程序写数据(shj)总线DWDB(0:31) 数据(shj)写入DM和PM。外部16位数据(shj)总线Data(0:15) / 19位地址总线Address(0:18) 为单一形式 。第6页/共33页第六页,共34页。2024/7/27

10、7 多总线的结构使C28x能够实现流水线的指令执行机制(jzh)。采用流水线机制(jzh)可以大大加快指令执行速度,实现指令的执行在单机器周期内完成。C28x采用了8级流水线。(1) 取指令阶段(jidun)1:指令地址通过22位总线PAB送往程序存储器。(2) 取指令阶段(jidun)2:通过32位总线PRDB读程序存储器,放入指令队列。(3) 译码阶段(jidun)1:CPU硬件识别取指队列中指令的边界,并测定下一条待执行指令的长度。(4) 译码阶段(jidun)2:CPU硬件从取指队列中取回指令,并将该指令放入指令寄存器,译码。 (5) 读阶段(jidun)1:从存储器中读取数据时,把地

11、址送到相应的地址总线上。(6) 读阶段(jidun)2:硬件通过数据总线取回读阶段(jidun)1所寻址的存储器内的数据。(7) 执行阶段(jidun):CPU执行乘法、移位和ALU操作,包括算术和逻辑操作。(8) 写阶段(jidun):需要时,将指令执行的结果写回存储器。第7页/共33页第七页,共34页。2024/7/2782. CPU的寄存器 累加器(ACC、AH、AL)乘数寄存器(XT、T、TL)和乘积寄存器(P、PH、PL) 数据页指针寄存器(DP) 堆栈指针(SP) 辅助寄存器(XAR0XAR7、AR0AR7) 程序计数器(PC) 返回(fnhu)PC指针寄存器(RPC) 中断控制寄

12、存器(IFR、IER、DBGIER) 状态寄存器(ST0,STl) 第8页/共33页第八页,共34页。2024/7/279C28x DSP的CPU寄存器 第9页/共33页第九页,共34页。2024/7/2710累加器可以(ky)单独存取的结构 (1) 累加器(ACC、AH、AL)第10页/共33页第十页,共34页。2024/7/2711乘数寄存器XT的分半单独(dnd)存取结构 P寄存器的分半单独(dnd)存取结构 (2) 乘数(chn sh)寄存器(XT、T、TL)和乘积寄存器(P、PH、PL) 第11页/共33页第十一页,共34页。2024/7/2712(3) 数据(shj)页指针寄存器(

13、DP) 在直接寻址方式中,操作数的地址由两部分组成:一个页地址(Data Page)和一个页内的偏移量。C28x的数据存储器每64个字构成一个数据页(6位的偏移量),这样,4MW的数据存储器共有65536个数据页,用065535进行标号。在直接寻址方式下,当前的页地址存放于16位的数据页指针(zhzhn)寄存器(DP)中,可以通过给DP赋新值可改变数据页号。当CPU工作在C2xLP源兼容模式时,使用一个7位的偏移量,并忽略DP寄存器的最低位。 第12页/共33页第十二页,共34页。2024/7/2713数据(shj)存储器的数据(shj)页 (C28x, 6位偏移量 )第13页/共33页第十三

14、页,共34页。2024/7/2714(4) 堆栈(duzhn)指针(SP) 堆栈指针(SP)允许在数据存储器中使用(shyng)软件堆栈。堆栈指针为16位,可以对数据空间的低64K字(数据存储器0000HFFFFH)进行寻址。第14页/共33页第十四页,共34页。2024/7/2715(5) 辅助(fzh)寄存器(XAR0XAR7、AR0AR7)XAR0XAR7寄存器 第15页/共33页第十五页,共34页。2024/7/2716(6) 程序(chngx)计数器(PC) C28x的程序计数器(PC)是一个22位的寄存器,存放当前(dngqin)CPU正在操作指令的地址。 (7) 返回(fnhu)

15、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内。第16页/共33页第十六页,共34页。2024/7/2717(9) 状态(zhungti)寄存器(ST0,STl) C28

16、x CPU有两个重要的状态寄存器:ST0和ST1,其中包含着不同的标志位和控制位。ST0包含指令操作所使用或影响的控制或标志位,如溢出、进位(jnwi)、符号扩展等。ST1则主要包含一些特殊的控制位,如处理器的兼容模式选择、寻址模式配置等。 第17页/共33页第十七页,共34页。2024/7/2718状态(zhungti)寄存器ST0 OVC/OVCU:溢出计数器。PM:乘积(chngj)移位模式位。V:溢出标志。N:负标志位。Z:零标志。C:进位位。TC:测试/控制标志。OVM:溢出模式(msh)位。SXM:符号扩展模式(msh)位。第18页/共33页第十八页,共34页。2024/7/271

17、9状态(zhungti)寄存器ST1 ARP:辅助寄存器指针。XF:XF状态位。该位用于控制输出引脚XF的状态。M0M1MAP:存储器M0和M1映射模式位。OBJMODE:目标兼容模式位。用来在C27x目标模式(=0)和C28x目标模式(=1)之间进行(jnxng)选择。AMODE:寻址模式位。在C28x寻址模式 (AMODE=0)和C2xLP寻址模式(AMODE=1)之间进行(jnxng)选择。 第19页/共33页第十九页,共34页。2024/7/2720IDLESTAT:空闲状态位。 EALLOW:仿真允许访问使能位。 为1,允许访问。C28x的仿真寄存器和其他受保护的外设寄存器,当用户(

18、yngh)要对其进行访问时需要将EALLOW位置1。 LOOP:循环指令状态位。 SPA:队栈指针定位(Stack Pointer Alignment)位。 VMAP:向量映像(Vector Map)位。 DBGM:调试使能屏蔽位。 INTM:中断全局屏蔽位。 为0,中断使能。该位可以全局使能和禁止所有的CPU的可屏蔽中断,即为可屏蔽中断的“总开关”。 第20页/共33页第二十页,共34页。2024/7/27213.2 寻址方式(fngsh) 3.2.1 寻址方式(fngsh)概述 C28x CPU四种基本寻址方式:直接(zhji)寻址、堆栈寻址、间接寻址和寄存器寻址 还有数据/程序/IO空间

19、立即寻址方式或程序空间间接寻址方式。 1. 寻址方式分类 第21页/共33页第二十一页,共34页。2024/7/27222. 寻址方式(fngsh)选择位(AMODE) C28x的多数指令操作码用8位字段来表示指令使用的寻址方式和所选寻址方式的相关信息(xnx)。这8位操作码信息(xnx)受CPU的状态寄存器ST1其中的寻址方式选择位(AMODE) 的影响。同一指令,AMODE的取值不同,指令操作码中对应寻址的8位操作码不同。 AMODE=0. 复位默认(mrn)方式,C28x的C/C+编译器使用的方式。这种方式与C2xLP CPU的寻址方式不完全兼容,数据页指针偏移量为6位(C2xLP中为7

20、位)。 AMODE=1. 这种方式与C2xLP CPU的寻址方式完全兼容,数据页指针偏移量为7位。第22页/共33页第二十二页,共34页。2024/7/2723汇编器/编译器对AMODE位的跟踪 C/C+编译器是假定寻址方式设定在AMODE=0。汇编器可以按照(nzho)命令行操作指定默认状态为AMODE=0或AMODE=1。-v28 ;假设(jish)AMODE=0(C28x寻址方式)-v28 -m20 ;假设(jish)AMODE=1(C2xLP兼容寻址方式)汇编器还允许文件中嵌套指令改变寻址方式。.c28_amode;告知汇编器后缀代码为AMODE=0(C28x寻址方式).lp_amod

21、e;告知汇编器后缀代码为AMODE=1(C2xLP兼容寻址方式)第23页/共33页第二十三页,共34页。2024/7/27243.2.2 直接(zhji)寻址方式 直接寻址方式操作数的22位物理地址被分成两部分,16位的数据页指针(DP)寄存器作为(zuwi)固定的页指针,指令中提供6位或7位的偏移量,这些偏移量与DP中的值一起确定操作数的地址 。第24页/共33页第二十四页,共34页。2024/7/27253.2.3 堆栈(duzhn)寻址方式 堆栈寻址方式操作数在堆栈中,操作数物理地址由堆栈指针SP给出。C28x的软件堆栈从存储器的低地址变化到高地址,堆栈指针总是指向下一个位置。在指令中提

22、供(tgng)6位的偏移量,表明数据入栈或出栈时,栈指针增加和减小值 。第25页/共33页第二十五页,共34页。2024/7/27263.2.4 间接(jin ji)寻址方式 间接寻址方式,操作数物理地址存放在32位寄存器XAR0XAR7中。在C28x的间接寻址中所用(su yn)的寄存器直接出现在指令中。在C2xLP的间接寻址中,由3位的辅助寄存器指针(ARP)选择指令使用哪个辅助寄存器作为间接寻址寄存器。 第26页/共33页第二十六页,共34页。2024/7/27273.2.5 寄存器寻址方式(fngsh) 寄存器寻址方式(fngsh)操作数在寄存器中。寄存器寻址方式(fngsh)可分为3

23、2位和16位寻址方式(fngsh) 。第27页/共33页第二十七页,共34页。2024/7/27283.2.6 数据/程序/IO空间立即(lj)寻址方式 数据/程序/IO空间立即寻址方式(fngsh)有4种语法:*(0:16bit)、*(PA)、0: pma和*(pma)。 第28页/共33页第二十八页,共34页。2024/7/27293.2.7 程序(chngx)空间间接寻址方式 程序(chngx)空间间接寻址方式的访问程序(chngx)空间有3种语法:*AL、*XAR7和*XAR7+。 3.2.8 字节寻址方式(fngsh)与32位操作数的定位 字节寻址方式 32位操作数的定位 第29页/

24、共33页第二十九页,共34页。2024/7/27303.3 C28x DSP指令系统(zh ln x tn) C28x DSP指令系统(zh ln x tn)一览表见教材。 (1)XARn寄存器(XAR0XAR7)操作(cozu)(2) DP寄存器操作(cozu) (3) SP寄存器操作(cozu) (4)AX寄存器操作(cozu)(AH, AL) (5)16位ACC累加器操作(cozu) (6)32位ACC累加器操作(cozu) (7)64位ACC:P寄存器操作(cozu) (8)P或XT寄存器操作(cozu)(P, PH, PL, XT, T, TL) (9)1616位乘法操作(cozu)

25、 第30页/共33页第三十页,共34页。2024/7/2731(10) 3232位乘法操作 (11) 直接存储器操作 (12) I/O空间操作 (13) 程序空间操作 (14) 跳转/调用/返回操作 (15) 中断寄存器操作 (16) 状态(zhungti)位清零 (17) 其他操作 第31页/共33页第三十一页,共34页。2024/7/2732思考题与习题(xt)(xt)1.简述C28xDSPCPU的组成。2.C28x的CPU有哪些寄存器?3.简述C28xDSP的总线结构。4.辅助寄存器有哪些?其作用是什么?5.状态寄存器ST0,ST1的作用是什么?6.C28xDSP有哪些寻址方式?7.直接

26、寻址方式中,数据存储单元的地址是如何形成的?8.访问片内外设寄存器可以采用哪些寻址方式?9.C28xDSP有哪些类型的指令(zhlng)?10.举例说明符号loc16和loc32在指令(zhlng)中的含义。第32页/共33页第三十二页,共34页。2024/7/2733感谢您的欣赏(xnshng)!第33页/共33页第三十三页,共34页。内容(nirng)总结2021/11/10。ALU为32位的运算逻辑单元,主要执行算术运算和布尔运算。(1) 取指令阶段1:指令地址通过22位总线PAB送往程序存储器。(2) 取指令阶段2:通过32位总线PRDB读程序存储器,放入指令队列。辅助(fzh)寄存器(XAR0XAR7、AR0AR7)。堆栈指针(SP)允许在数据存储器中使用软件堆栈。堆栈指针为16位,可以对数据空间的低64K字(数据存储器0000HFFFFH)进行寻址第三十四页,共34页。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号