第3章dsp的cpu与指令系统

上传人:今*** 文档编号:107442604 上传时间:2019-10-19 格式:PPT 页数:34 大小:320KB
返回 下载 相关 举报
第3章dsp的cpu与指令系统_第1页
第1页 / 共34页
第3章dsp的cpu与指令系统_第2页
第2页 / 共34页
第3章dsp的cpu与指令系统_第3页
第3页 / 共34页
第3章dsp的cpu与指令系统_第4页
第4页 / 共34页
第3章dsp的cpu与指令系统_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《第3章dsp的cpu与指令系统》由会员分享,可在线阅读,更多相关《第3章dsp的cpu与指令系统(34页珍藏版)》请在金锄头文库上搜索。

1、2019/10/19,1,第3章 C28x DSP的CPU与指令系统,本章内容: 3.1 中央处理器 3.2 寻址方式 3.3 C28x DSP指令系统,2019/10/19,2,3.1 中央处理器,C28x DSP的中央处理器(CPU)结构包括三个部分:CPU内核、仿真逻辑单元和CPU信号 。,C28x CPU组成概念框图,1. CPU结构,2019/10/19,3,仿真逻辑单元的主要功能是监视和控制CPU以及其他外设的工作情况,并实现对设备的测试和调试功能。,CPU的信号主要包括4种: 存储器接口信号 时钟和控制信号 复位和中断信号 仿真信号,2019/10/19,4,F281x DSP的

2、CPU 单元结构框图,2019/10/19,5,C28x的CPU主要由总线、CPU寄存器、程序地址发生器和控制逻辑、地址寄存器算术单元(ARAU)、算术逻辑单元(ALU)、乘法器和移位器等逻辑部件组成,还包括指令队列和指令译码单元、中断处理逻辑等。,ALU为32位的运算逻辑单元,主要执行算术运算和布尔运算。在运算之前,ALU从寄存器、数据存储器或程序控制逻辑单元接收数据,然后进行运算,最后把结果存入寄存器或数据存储器中。,32位的乘法器,可执行3232位的补码乘法,并产生64位的结果。乘法器采用32位乘数寄存器(XT,)、32位乘积寄存器(P)和32位累加器(ACC)。CPU的移位器实现对操作

3、数的移位操作。,2019/10/19,6,TMS320F2812 / TMS320F2810 Most Powerful - Most Integrated Dual Function Digital Signal Controller,2019/10/19,7,Fast & flexible interrupt management significantly reduce interrupt latency,Single-cycle 32-bit multiplier makes computationally intensive control algorithms more effic

4、ient,Three 32-bit timers support multiple control loops / time bases.,Single cycle read-modified-write in any memory location and 32-bit registers improve control algorithm efficiency,Real-time JTAG debug shortens development cycle,Most C/C+ Efficient 32-bit DSP Core,Code compatible with the TMS320C

5、24x DSP family,2019/10/19,8,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)。 数据读数

6、据总线DRDB(0:31)。 数据/程序写数据总线DWDB(0:31) 数据写入DM和PM。 外部16位数据总线Data(0:15) / 19位地址总线Address(0:18) 为单一形式 。,2019/10/19,9,多总线的结构使C28x能够实现流水线的指令执行机制。采用流水线机制可以大大加快指令执行速度,实现指令的执行在单机器周期内完成。C28x采用了8级流水线。,(1) 取指令阶段1:指令地址通过22位总线PAB送往程序存储器。 (2) 取指令阶段2:通过32位总线PRDB读程序存储器,放入指令队列。 (3) 译码阶段1:CPU硬件识别取指队列中指令的边界,并测定下一条待执行指令的长

7、度。 (4) 译码阶段2:CPU硬件从取指队列中取回指令,并将该指令放入指令寄存器,译码。 (5) 读阶段1:从存储器中读取数据时,把地址送到相应的地址总线上。 (6) 读阶段2:硬件通过数据总线取回读阶段1所寻址的存储器内的数据。 (7) 执行阶段:CPU执行乘法、移位和ALU操作,包括算术和逻辑操作。 (8) 写阶段:需要时,将指令执行的结果写回存储器。,2019/10/19,10,2. CPU的寄存器,累加器(ACC、AH、AL) 乘数寄存器(XT、T、TL)和乘积寄存器(P、PH、PL) 数据页指针寄存器(DP) 堆栈指针(SP) 辅助寄存器(XAR0XAR7、AR0AR7) 程序计数

8、器(PC) 返回PC指针寄存器(RPC) 中断控制寄存器(IFR、IER、DBGIER) 状态寄存器(ST0,STl),2019/10/19,11,C28x DSP的CPU寄存器,2019/10/19,12,累加器可以单独存取的结构,(1) 累加器(ACC、AH、AL),2019/10/19,13,乘数寄存器XT的分半单独存取结构,P寄存器的分半单独存取结构,(2) 乘数寄存器(XT、T、TL)和乘积寄存器(P、PH、PL),2019/10/19,14,(3) 数据页指针寄存器(DP),在直接寻址方式中,操作数的地址由两部分组成:一个页地址(Data Page)和一个页内的偏移量。C28x的数

9、据存储器每64个字构成一个数据页(6位的偏移量),这样,4MW的数据存储器共有65536个数据页,用065535进行标号。在直接寻址方式下,当前的页地址存放于16位的数据页指针寄存器(DP)中,可以通过给DP赋新值可改变数据页号。当CPU工作在C2xLP源兼容模式时,使用一个7位的偏移量,并忽略DP寄存器的最低位。,2019/10/19,15,数据存储器的数据页 (C28x, 6位偏移量 ),2019/10/19,16,(4) 堆栈指针(SP),堆栈指针(SP)允许在数据存储器中使用软件堆栈。堆栈指针为16位,可以对数据空间的低64K字(数据存储器0000HFFFFH)进行寻址。,2019/1

10、0/19,17,(5) 辅助寄存器(XAR0XAR7、AR0AR7),XAR0XAR7寄存器,2019/10/19,18,(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计数器,从而使流程转入函数体中

11、运行。调用结束通过LRETR指令返回时,存放在RPC内的返回地址装载到PC中,而压入堆栈中的RPC的值从堆栈中装载到RPC内。,2019/10/19,19,(9) 状态寄存器(ST0,STl),C28x CPU有两个重要的状态寄存器:ST0和ST1,其中包含着不同的标志位和控制位。ST0包含指令操作所使用或影响的控制或标志位,如溢出、进位、符号扩展等。ST1则主要包含一些特殊的控制位,如处理器的兼容模式选择、寻址模式配置等。,2019/10/19,20,状态寄存器ST0,OVC/OVCU(D15-10):溢出计数器。 PM:乘积移位模式位。 V:溢出标志。 N:负标志位。,Z:零标志。 C:进

12、位位。 TC:测试/控制标志。 OVM:溢出模式位。 SXM:符号扩展模式位。,2019/10/19,21,状态寄存器ST1,ARP:辅助寄存器指针。 XF:XF状态位。该位用于控制输出引脚XF的状态。 M0M1MAP:存储器M0和M1映射模式位。 OBJMODE:目标兼容模式位。用来在C27x目标模式(=0)和C28x目标模式(=1)之间进行选择。 AMODE:寻址模式位。在C28x寻址模式 (AMODE=0)和C2xLP寻址模式(AMODE=1)之间进行选择。,2019/10/19,22,IDLESTAT:空闲状态位。 EALLOW:仿真允许访问使能位。 为1,允许访问。C28x的仿真寄存

13、器和其他受保护的外设寄存器,当用户要对其进行访问时需要将EALLOW位置1。 LOOP:循环指令状态位。 SPA:队栈指针定位(Stack Pointer Alignment)位。 VMAP:向量映像(Vector Map)位。 DBGM:调试使能屏蔽位。 INTM:中断全局屏蔽位。 为0,中断使能。该位可以全局使能和禁止所有的CPU的可屏蔽中断,即为可屏蔽中断的“总开关”。,2019/10/19,23,3.2 寻址方式,3.2.1 寻址方式概述,C28x CPU四种基本寻址方式: 直接寻址、堆栈寻址、间接寻址和寄存器寻址,还有数据/程序/IO空间立即寻址方式或程序空间间接寻址方式。,1. 寻

14、址方式分类,2019/10/19,24,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位。,2019/10/19,2

15、5,汇编器/编译器对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兼容寻址方式),2019/10/19,26,3.2.2 直接寻址方式,直接寻址方式操作数的22位物理地址被分成两部分,16位的数

16、据页指针(DP)寄存器作为固定的页指针,指令中提供6位或7位的偏移量,这些偏移量与DP中的值一起确定操作数的地址 。,2019/10/19,27,3.2.3 堆栈寻址方式,堆栈寻址方式操作数在堆栈中,操作数物理地址由堆栈指针SP给出。C28x的软件堆栈从存储器的低地址变化到高地址,堆栈指针总是指向下一个位置。在指令中提供6位的偏移量,表明数据入栈或出栈时,栈指针增加和减小值 。,2019/10/19,28,3.2.4 间接寻址方式,间接寻址方式,操作数物理地址存放在32位寄存器XAR0XAR7中。在C28x的间接寻址中所用的寄存器直接出现在指令中。在C2xLP的间接寻址中,由3位的辅助寄存器指针(ARP)选择指令使用哪个辅助寄存器作为间接寻址寄存器。,2019/10/19,29,3.2.5 寄存器寻址方式,寄存器寻址方式操作数在寄存器中。寄存器寻址方式可分为32位和16位寻址方式 。,2019/10/19,30,3.2.6 数据/程序/IO空间立即寻址方式,数据/程序/IO空间立即寻址方式

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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