dsp56800e处理器概述

上传人:tia****nde 文档编号:69715250 上传时间:2019-01-14 格式:PPT 页数:58 大小:4.51MB
返回 下载 相关 举报
dsp56800e处理器概述_第1页
第1页 / 共58页
dsp56800e处理器概述_第2页
第2页 / 共58页
dsp56800e处理器概述_第3页
第3页 / 共58页
dsp56800e处理器概述_第4页
第4页 / 共58页
dsp56800e处理器概述_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《dsp56800e处理器概述》由会员分享,可在线阅读,更多相关《dsp56800e处理器概述(58页珍藏版)》请在金锄头文库上搜索。

1、,天津工业大学,1,DSC,数字信号控制器原理与实践MC56F8257,第9章 DSP56800E处理器概述,目录,天津工业大学,3,9.1 概述,9. 2 DSP56800E处理器,9.3 DSP56800E的寻址方式,9.4 DSP56800E指令系统,9.5 DSP56800E汇编语言基础,9.1 概述,1. DSP56800处理器 16位处理器,采用哈佛结构; 80MHz时钟频率下,可达到40MIPS的指令执行速度; 支持位操作;16位乘法运算; 具有3条内部地址总线和1条外部地址总线; JTAG/OnCE程序调试接口。 相关芯片,现已停产。,天津工业大学,4,天津工业大学,5,9.1

2、 概述,2. DSP56800E处理器 16位处理器,具有DSP56800处理器所拥有的特点; AGU算术单元从16位增加到24位; 程序存储器、数据存储器容量大幅度增加; 数据处理类型上,增加了字节型和长整型等类型; 中断处理方面,DSP56800E处理器增加了中断控制器,优化了中断优先级设定及处理。 相关芯片:MC56F80x系列到MC56F83x系列。,天津工业大学,6,9.1 概述,3. DSP56800EX处理器 32位处理器,具有DSP56800E处理器所拥有的特点; 32位乘法运算及MAC; 在AGU算术运算单元中所有寄存器都有影子寄存器,减少了相关数据存储时间; 具有逆位寻址方

3、式,支持傅里叶变换(FFT)。 相关芯片:MC56F84x系列。,天津工业大学,7,9.2 DSP56800E处理器,1. DSP56800E处理器结构及特点 DSP56800E内核包括数据算术逻辑单元(Data Arithmetic Logic Unit,ALU)、地址产生单元(Address Generation Unit,AGU)、程序控制器(Program Controller)、位操作单元(Bit-Manipulation Unit)、增强的片上模拟模块(EOnCE)和相关总线。,天津工业大学,8,9.2 DSP56800E处理器,特点: 高性能 兼容性 编程容易 支持高级语言 丰富

4、的指令集 高代码密度 支持多任务 精度 硬件循环 并行化 无形的指令管道 低功耗 实时调试,天津工业大学,9,9.2 DSP56800E处理器,2. DSP56800E内核总线 包括地址总线和数据总线。 地址总线包括程序地址存储空间地址总线(PAB)、主数据地址总线(XAB1)和次数据地址总线(XAB2)。 PAB总线为21位,可以按字节、字和长字访问,用来按字访问程序存储器。 XAB1和XAB2为24位,仅限于按字访问,用来访问数据存储器。,天津工业大学,10,9.2 DSP56800E处理器,数据总线包括2个单方向的32位总线、2个单方向的16位总线和IP-BUS接口。 2个单方向的32位

5、总线包括内核数据读总线(CDBR)和内核数据写总线(CDBW)。 2个单方向的16位总线包括次X数据总线(XDB2)和程序数据总线(PDB)。 数据ALU和数据存储器通过CDBR和CDBW实现读写,CDBR和XDB2可以实现同时对存储器读操作。 外围设备数据传输通过IP-BUS接口。指令字的预取通过PDB实现。,天津工业大学,11,9.2 DSP56800E处理器,3.数据算术逻辑单元ALU ALU实现数据所有的算术、逻辑和移位操作。 数据ALU中包括3个16位数据寄存器(X0、Y0和Y1)、4个36位累加寄存器(A、B、C及D)、1个乘-累加(MAC)单元、1个单个位累加移位器、1个算术逻辑

6、多位移位器、1个MAC输出限制器和1个数据限制器。,9.2 DSP56800E处理器,天津工业大学,12,天津工业大学,13,9.2 DSP56800E处理器,4. 地址产生单元AGU AGU可以直接寻址XAB1和XAB2总线上的224(16M)字,PAB上的221(2M)字。 AGU包括7个24位地址寄存器(R0-R5、N)、4个影子寄存器(为R0、R1、N、M01而设)、1个24位专用的堆栈指针寄存器(SP)、2个偏移寄存器(N、N3)、1个16位变址寄存器(M01)、1个24位加法器和1个24位模运算单元。,9.2 DSP56800E处理器,天津工业大学,14,天津工业大学,15,9.2

7、 DSP56800E处理器,5. 程序控制器 主要负责指令预取、解码、中断处理、硬件自锁和循环。 包括1个锁指令单元和解码器、硬件循环控制单元、中断控制逻辑、程序计数器(PC)、2个为快速中断而设的特殊寄存器、7个用户可以访问的状态和控制寄存器(2级硬件栈、循环地址寄存器(LA)、循环地址寄存器2(LA2)、循环计数寄存器(LC)、循环计数寄存器2(LC2)、状态寄存器(SR)、操作模式寄存器(OMR)。2个为快速中断而设的特殊寄存器包括快速中断返回地址寄存器(FIRA)和快速中断状态寄存器(FISR)。,9.2 DSP56800E处理器,天津工业大学,16,天津工业大学,17,9.2 DSP

8、56800E处理器,6. 位操作单元 位操作单元执行数据存储器字、外设寄存器和DSP56800E内核寄存器的位域操作。 可以操作16位的字内的测试、设置、清0或者翻转单个位或多位。 位操作单元也可以为按照位域进行分支的指令来测试字节。,9.3 DSP56800E的寻找方式,寻址方式指明如何找到一条指令中的操作数(立即数、寄存器或者内存中),并提供操作数的准确地址。可分为以下4类: 直接寄存器寻址方式直接引用片上寄存器中的值; 间接地址寄存器寻址方式引用地址寄存器所指向的地址单元中的值; 立即数寻址方式指令中包含操作数本身; 绝对地址寻址方式使用指令中的地址所指向的地址单元中的值。,天津工业大学

9、,18,天津工业大学,19,9.3 DSP56800E的寻找方式,(1)直接寄存器寻址方式 指明每个操作数(最高可达3个)是AGU、数据ALU或者是控制寄存器中的寄存器。 例如:MOVE.W R0,X0 (2)间接地址寄存器寻址方式 操作数并不在地址寄存器中,而位于地址寄存器中指向的存储单元中。例如: MOVE.BP X:(R5)+,A; MOVE.W X:(R5)+,A; MOVE.L X:(R5)+,A; MOVE.BP X:(R5)+,A;,天津工业大学,20,9.3 DSP56800E的寻找方式,(3)立即数寻址方式 不适用地址寄存器指明有效的地址,它在指令中直接指明操作数的值。例如:

10、 MOVE.L #-4,B 指令执行之前,B的值为任意数,执行之后B的值为0xFFFFFFFFC。 MOVE.W #-2,R0 指令执行之前,R0的值为任意数,执行之后R0的值为0xFFFFFE。,天津工业大学,21,9.3 DSP56800E的寻找方式,(4)绝对寻址方式 绝对寻址方式不使用地址寄存器指明有效地址。包括直接寻址、扩展寻址和立即数。例如: MOVE.W R2,X:$0003 (5)隐式的寻址方式 一些指令隐式地包含程序计数器(PC)、软件栈、硬件栈、循环地址寄存器(LA)、循环计数器(LC)或者状态寄存器(SR)等寄存器。 例如,JSR、RTI、RTS指令访问PC、SR、SP寄

11、存器时不用明确地在指令中指出。,天津工业大学,22,9.4 DSP56800E指令系统,1. 数据传送类指令 传送指令在内核寄存器和内存或外设之间传送数据,或两个内存或外设地址间传送数据。将累加器的值写入内存或者外设的传送指令可以自动填充或者限制写入的值。,9.4 DSP56800E指令系统,天津工业大学,23,天津工业大学,24,9.4 DSP56800E指令系统,2. 算术运算类指令 (1)乘法指令 为数据ALU中所有乘法操作。部分乘法指令可以规定数据传送的方式。 这类指令数据传输允许预取下一条指令使用的新数据或者存储先前指令计算的结果。 乘法指令的执行需要1个指令周期,影响条件码寄存器一

12、个或多个位。,9.4 DSP56800E指令系统,天津工业大学,25,天津工业大学,26,9.4 DSP56800E指令系统,2. 算术运算类指令 (2)算术指令 不包括乘法算术指令。虽然使用基于寄存器的操作数允许并行执行数据移动操作,但是这些指令仍可以对寄存器或存储器中的值进行操作。 指令使用复杂的寻址方式可能会耗时长,但是算术指令一般需要1个指令周期。 算术指令影响条件码寄存器的一个或多个位。,9.4 DSP56800E指令系统,天津工业大学,27,9.4 DSP56800E指令系统,天津工业大学,28,9.4 DSP56800E指令系统,天津工业大学,29,天津工业大学,30,9.4 D

13、SP56800E指令系统,3. 逻辑运算类与位操作类指令 (1)移位指令 移位指令用来执行数据ALU中的移位和循环操作。除了多位移位指令(ASLL.L、ASRR.L和LSRR.L)执行需要2个指令周期,其它指令执行通常需要1个指令周期。 这些指令影响条件码寄存器一个或多个位。 ASL指令不能用于16位X0、Y0、Y1寄存器移位,因为条件代码的值可能有误,此时应用ASL.W指令。,9.4 DSP56800E指令系统,天津工业大学,31,天津工业大学,32,9.4 DSP56800E指令系统,3. 逻辑运算类与位操作类指令 (2)逻辑指令 逻辑指令执行布尔逻辑操作,逻辑指令不允许数据传输,除了EO

14、R.L指令。逻辑指令执行需要1个指令周期。,9.4 DSP56800E指令系统,天津工业大学,33,天津工业大学,34,9.4 DSP56800E指令系统,3. 逻辑运算类与位操作类指令 (3)位操作指令 位操作指令用来测试或修改一个字中的一位或多位,可以对存储器、外设或寄存器进行操作。状态寄存器的进位位是受这些指令影响的唯一条件码。位操作指令执行需要2、3或4个指令周期。,9.4 DSP56800E指令系统,天津工业大学,35,天津工业大学,36,9.4 DSP56800E指令系统,3. 逻辑运算类与位操作类指令 (4)循环指令 循环指令用来执行程序循环,DSP56800E使用单指令(REP

15、)或块指令(DO)支持有效的硬件循环。使用循环指令可以显著地增加迭代算法的性能。,天津工业大学,37,9.4 DSP56800E指令系统,4. 程序控制类指令 包括分支、转移、有条件分支、有条件转移和其他影响程序计数器和软件栈的指令。指令集中还有使DSC处于低功耗状态的STOP和WAIT指令。,9.4 DSP56800E指令系统,天津工业大学,38,天津工业大学,39,9.4 DSP56800E指令系统,5. AGU算术指令 AGU算术指令执行地址产生单元的所有地址计算操作。尽管一些指令使用立即数,但是通常大部分指令使用AGU寄存器作为操作数。只有CMPA、CMPA.W、DECTSTA、TST

16、A.B、TSTA.W、TSTA.L和TSTDECA.W指令会修改条件码寄存器中的位。 AGU算术指令没有可选的数据传送方式。指令执行通常需要1个指令周期,但有些操作会增加额外的周期,这取决于操作数寻址方式。,9.4 DSP56800E指令系统,天津工业大学,40,天津工业大学,41,9.5 DSP56800E汇编语言基础,1. DSP56800E汇编源程序格式 (1)标号,天津工业大学,42,9.5 DSP56800E汇编语言基础,1. DSP56800E汇编源程序格式 (2)操作码 操作码包括指令码以及后面即将介绍的DSP56800E编译器可以识别的伪指令码。 对于有标号的行,必须用至少一个空格或制表符(TAB)将标号与操作码隔开; 对于没有标号的行,不能从第一列开始写指令码,应以空格或制表符(TAB)开头。DSP56800E编译器不区分操作码中字母的大小写。,天津工业大学,43,9.5 DSP56800E汇编语言基础,1. DSP56800E汇编源程序格式 (3)操作数 操作数可以是地址、标号或指令码定义的常数,也可以是由伪运算符构成的表

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

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

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