第1章 DSP56800E处理器概述

  • 格式:ppt
  • 大小:4.17 MB
  • 文档页数:57

下载文档原格式

  / 57
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
天津工业大学
1
数字信号控制器原理与实践——MC56F8257
第1章 DSP56800E处理器概述
目录
1.1 概述 1. 2 DSP56800E处理器 1.3 DSP56800E的寻址方式 1.4 DSP56800E指令系统
1.5 DSP56800E汇编语言基础
天津工业大学
3
1.1 概述
1. DSP56800处理器
天津工业大学
13
1.2 DSP56800E处理器
天津工业大学
14
1.2 DSP56800E处理器
5. 程序控制器
主要负责指令预取、解码、中断处理、硬件自锁和循环。 包括1个锁指令单元和解码器、硬件循环控制单元、中断控 制逻辑、程序计数器(PC)、2个为快速中断而设的特殊 寄存器、7个用户可以访问的状态和控制寄存器(2级硬件 栈、循环地址寄存器(LA)、循环地址寄存器2(LA2)、 循环计数寄存器(LC)、循环计数寄存器2(LC2)、状 态寄存器(SR)、操作模式寄存器(OMR))。2个为快 速中断而设的特殊寄存器包括快速中断返回地址寄存器 (FIRA)和快速中断状态寄存器(FISR)。
天津工业大学 30
1.4 DSP56800E指令系统
天津工业大学
31
1.4 DSP56800E指令系统
3. 逻辑运算类与位操作类指令
(2)逻辑指令 逻辑指令执行布尔逻辑操作,逻辑指令不允许数据传 输,除了EOR.L指令。逻辑指令执行需要1个指令周 期。
天津工业大学
32
1.4 DSP56800E指令系统
天津工业大学 5
1.1 概述
3. DSP56800EX处理器
32位处理器,具有DSP56800E处理器所拥有的特点; 32位乘法运算及MAC; 在AGU算术运算单元中所有寄存器都有影子寄存器, 减少了相关数据存储时间; 具有逆位寻址方式,支持傅里叶变换(FFT)。 相关芯片:MC56F84x系列。
天津工业大学 39
1.4 DSP56800E指令系统
天津工业大学
40
1.5 DSP56800E汇编语言基础
1. DSP56800E汇编源程序格式
(1)标号
天津工业大学
41
1.5 DSP56800E汇编语言基础
1. DSP56800E汇编源程序格式
(2)操作码 操作码包括指令码以及后面即将介绍的DSP56800E编 译器可以识别的伪指令码。 对于有标号的行,必须用至少一个空格或制表符 (TAB)将标号与操作码隔开; 对于没有标号的行,不能从第一列开始写指令码,应 以空格或制表符(TAB)开头。DSP56800E编译器不 区分操作码中字母的大小写。
25
1.4 DSP56800E指令系统
2. 算术运算类指令
(2)算术指令 不包括乘法算术指令。虽然使用基于寄存器的操作 数允许并行执行数据移动操作,但是这些指令仍 可以对寄存器或存储器中的值进行操作。
指令使用复杂的寻址方式可能会耗时长,但是算术 指令一般需要1个指令周期。 算术指令影响条件码寄存器的一个或多个位。
天津工业大学
26
1.4 DSP56800E指令系统
天津工业大学
27
1.4 DSP56800E指令系统
天津工业大学
28
1.4 DSP56800E指令系统
天津工业大学
29
1.4 DSP56800E指令系统
3. 逻辑运算类与位操作类指令
(1)移位指令 移位指令用来执行数据ALU中的移位和循环操作。除 了多位移位指令(ASLL.L、ASRR.L和LSRR.L)执 行需要2个指令周期,其它指令执行通常需要1个指 令周期。 这些指令影响条件码寄存器一个或多个位。 ASL指令不能用于16位X0、Y0、Y1寄存器移位,因 为条件代码的值可能有误,此时应用ASL.W指令。
天津工业大学
15
1.2 DSP56800E处理器
天津工业大学
16
1.2 DSP56800E处理器
6. 位操作单元
位操作单元执行数据存储器字、外设寄存器和 DSP56800E内核寄存器的位域操作。 可以操作16位的字内的测试、设置、清0或者翻转单 个位或多位。 位操作单元也可以为按照位域进行分支的指令来测 试字节。
天津工业大学
7
1.2 DSP56800E处理器
程序控制单元
特点:
高性能 兼容性 编程容易 支持高级语言 丰富的指令集 高代码密度 支持多任务 精度 硬件循环 并行化 无形的指令管道 低功耗 实时调试
PC LA LA2 HWS0 HWS1 FIRA OMR SR LC LC2 FISR 锁相环单元 中断单元 指令解码器
天津工业大学
35
1.4 DSP56800E指令系统
3. 逻辑运算类与位操作类指令
(4)循环指令 循环指令用来执行程序循环,DSP56800E使用单指令 (REP)或块指令(DO)支持有效的硬件循环。使 用循环指令可以显著地增加迭代算法的性能。
天津工业大学
36
1.4 DSP56800E指令系统
4. 程序控制类指令
天津工业大学
33
1.4 DSP56800E指令系统
3. 逻辑运算类与位操作类指令
(3)位操作指令 位操作指令用来测试或修改一个字中的一位或多位, 可以对存储器、外设或寄存器进行操作。状态寄存 器的进位位是受这些指令影响的唯一条件码。位操 作指令执行需要2、3或4个指令周期。
天津工业大学
34
1.4 DSP56800E指令系统
天津工业大学 10
1.2 DSP56800E处理器
3.数据算术逻辑单元ALU
ALU实现数据所有的算术、逻辑和移位操作。 数据ALU中包括3个16位数据寄存器(X0、Y0和 Y1)、4个36位累加寄存器(A、B、C及D)、1 个乘-累加(MAC)单元、1个单个位累加移位器、 1个算术逻辑多位移位器、1个MAC输出限制器和 1个数据限制器。
16位处理器,采用哈佛结构; 80MHz时钟频率下,可达到40MIPS的指令执行速度; 支持位操作;16位乘法运算; 具有3条内部地址总线和1条外部地址总线; JTAG/OnCE程序调试接口。 相关芯片,现已停产。
天津工业大学
4
1.1 概述
2. DSP56800E处理器
16位处理器,具有DSP56800处理器所拥有的特点; AGU算术单元从16位增加到24位; 程序存储器、数据存储器容量大幅度增加; 数据处理类型上,增加了字节型和长整型等类型; 中断处理方面,DSP56800E处理器增加了中断控制 器,优化了中断优先级设定及处理。 相关芯片:MC56F80x系列到MC56F83x系列。
地址产生单元 (AGU)
ALU1
ALU2
R0 R1 R2 R3 M01 N3 R4 R5 N SP XAB1 XAB2 PAB PDB CDBW CDBR XDB2
程序存储 器
数据存储 器
IP-总线接 口 A2 位控单元 B2 C2 D2 EOnCE Y A1 B1 C1 D1 Y1 Y0 X0 数据算术 逻辑单元 (ALU) 外部总线 接口 A0 B0 C0 D0
天津工业大学 20
1.3 DSP56800E的寻找方式
(4)绝对寻址方式
绝对寻址方式不使用地址寄存器指明有效地址。包 括直接寻址、扩展寻址和立即数。例如: MOVE.W R2,X:<$0003
(5)隐式的寻址方式
一些指令隐式地包含程序计数器(PC)、软件栈、 硬件栈、循环地址寄存器(LA)、循环计数器( LC)或者状态寄存器(SR)等寄存器。 例如,JSR、RTI、RTS指令访问PC、SR、SP寄存器 时不用明确地在指令中指出。
天津工业大学
6
1.2 DSP56800E处理器
1. DSP56800E处理器结构及特点
DSP56800E内核包括数据算术逻辑单元(Data Arithmetic Logic Unit,ALU)、地址产生单元 (Address Generation Unit,AGU)、程序控制器 (Program Controller)、位操作单元(BitManipulation Unit)、增强的片上模拟模块 (EOnCE)和相关总线。
元中的值。
天津工业大学
18
1.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; 天津工业大学 19
JTAG TAP MAC和ALU 多位移位器
Βιβλιοθήκη Baidu
天津工业大学
8
1.2 DSP56800E处理器
2. DSP56800E内核总线
包括地址总线和数据总线。 地址总线包括程序地址存储空间地址总线(PAB) 、主数据地址总线(XAB1)和次数据地址总线( XAB2)。 PAB总线为21位,可以按字节、字和长字访问,用 来按字访问程序存储器。 XAB1和XAB2为24位,仅限于按字访问,用来访问 数据存储器。
天津工业大学 21
1.4 DSP56800E指令系统
1. 数据传送类指令
传送指令在内核寄存器和内存或外设之间传送数据 ,或两个内存或外设地址间传送数据。将累加器 的值写入内存或者外设的传送指令可以自动填充 或者限制写入的值。
天津工业大学
22
1.4 DSP56800E指令系统
天津工业大学
23
1.4 DSP56800E指令系统
1.3 DSP56800E的寻找方式
(3)立即数寻址方式
不适用地址寄存器指明有效的地址,它在指令中直 接指明操作数的值。例如: MOVE.L #-4,B 指令执行之前,B的值为任意数,执行之后B的值为 0xFFFFFFFFC。 MOVE.W #-2,R0 指令执行之前,R0的值为任意数,执行之后R0的值 为0xFFFFFE。
2. 算术运算类指令
(1)乘法指令 为数据ALU中所有乘法操作。部分乘法指令可以规 定数据传送的方式。 这类指令数据传输允许预取下一条指令使用的新数 据或者存储先前指令计算的结果。 乘法指令的执行需要1个指令周期,影响条件码寄存 器一个或多个位。
天津工业大学
24
1.4 DSP56800E指令系统
天津工业大学
天津工业大学 9
1.2 DSP56800E处理器
数据总线包括2个单方向的32位总线、2个单方向的 16位总线和IP-BUS接口。 2个单方向的32位总线包括内核数据读总线(CDBR )和内核数据写总线(CDBW)。 2个单方向的16位总线包括次X数据总线(XDB2)和 程序数据总线(PDB)。 数据ALU和数据存储器通过CDBR和CDBW实现读写 ,CDBR和XDB2可以实现同时对存储器读操作。 外围设备数据传输通过IP-BUS接口。指令字的预取 通过PDB实现。
天津工业大学
11
1.2 DSP56800E处理器
天津工业大学
12
1.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位模运算单元。
天津工业大学
17
1.3 DSP56800E的寻找方式
寻址方式指明如何找到一条指令中的操作数(立即 数、寄存器或者内存中),并提供操作数的准确 地址。可分为以下4类: 直接寄存器寻址方式—直接引用片上寄存器中的值; 间接地址寄存器寻址方式—引用地址寄存器所指向的
地址单元中的值;
立即数寻址方式—指令中包含操作数本身; 绝对地址寻址方式—使用指令中的地址所指向的地址单
包括分支、转移、有条件分支、有条件转移和其他影 响程序计数器和软件栈的指令。指令集中还有使 DSC处于低功耗状态的STOP和WAIT指令。
天津工业大学
37
1.4 DSP56800E指令系统
天津工业大学
38
1.4 DSP56800E指令系统
5. AGU算术指令
AGU算术指令执行地址产生单元的所有地址计算操作 。尽管一些指令使用立即数,但是通常大部分指令 使用AGU寄存器作为操作数。只有CMPA、 CMPA.W、DECTSTA、TSTA.B、TSTA.W、 TSTA.L和TSTDECA.W指令会修改条件码寄存器中 的位。 AGU算术指令没有可选的数据传送方式。指令执行通 常需要1个指令周期,但有些操作会增加额外的周 期,这取决于操作数寻址方式。

相关主题