Chapter 3 C54指令系统.ppt_第1页
Chapter 3 C54指令系统.ppt_第2页
Chapter 3 C54指令系统.ppt_第3页
Chapter 3 C54指令系统.ppt_第4页
Chapter 3 C54指令系统.ppt_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DSP原理与应用TheprincipleandapplicationofDSP 第三章C54指令系统 本章知识概要 寻址方式指令表示方法指令系统学习重点 寻址方式的分类及功能指令符号 缩略语及运算符常用指令 寻址方式 当硬件执行指令时 寻找指令所指定的参与运算的操作数的方法 采用不同的寻址方式 会影响程序执行时间和代码效率 分为两大类 程序寻址和数据寻址 7种基本的寻址方式 立即寻址 绝对寻址 累加器寻址 直接寻址 间接寻址 存储器映像寄存器寻址 堆栈寻址 常用缩略语 七种常用寻址方式 立即寻址 指令中含有执行指令所需的操作数 操作数紧随操作码存放在程序存储器中 例如 LD F180 A 将立即数F180加载到A立即数的数值形式 短立即数 3 5 8 9位 单字指令 长立即数 16位 双字指令特点指令中含有一个固定的立即数 运行速度较快 但需占用程序存储空间 并且数值不能改变 用途用于表示常数或对寄存器初始化 支持立即寻址的指令 绝对寻址 指令中含有所要寻找的操作数的16位存储单元地址或I O空间地址 16位地址表示形式 地址标号 如 TABLE 16位符号常量 如 89AB 1234 特点指令中包含一个固定的16位地址 能寻址所有数据存储空间 但运行速度慢 需要较大的存储空间 用途用于对速度要求较低的场合 Question 绝对寻址的指令字长至少多少 绝对寻址有四种类型 数据存储器地址 dmad 寻址 确定操作数存于数据存储单元的地址 dmad可以是程序标号或数字 程序存储器地址 pmad 寻址 确定程序存储器中的一个地址 pmad可以是符号或具体的数字 端口 PA 寻址 确定外部端口的地址 PA可以是符号或具体的数字 1k 寻址 确定数据存储器中的一个地址 1k 是一个指定数据空间的地址 绝对寻址举例 举例 MVKDEXAM1 AR5将数据存储器EXAM1地址单元的内容复制到辅助寄存器AR5所指向的地址单元 MVPDTABLE AR2将程序存储器TABLE1地址单元的内容复制到辅助寄存器AR2所指向的地址单元 PORTRFIFO AR5将数据从FIFO端口复制到辅助寄存器AR5所指向的地址单元 LD PN A将地址为PN的数据单元的内容装载到累加器A 累加器寻址 定义以累加器中的内容作为地址去寻址程序存储器 存放数据的程序存储器 用途用于程序存储器和数据存储器之间的数据交换 举例 READASmem以累加器A中的内容为地址去读取程序存储器 写入Smem所指向的数据存储器 WRITASmem将Smem所指向的数据存储器内容写入以累加器A中的内容为地址的程序存储器 直接寻址 利用指令中包含的数据存储器的低7位地址 基地址得到16位数据存储器的地址 基地址 DP 数据页指针 SP 堆栈指针 用途 利用DP和SP寻址数据存储器 DM 指令格式 特点 指令中含有数据存储器的低7位地址 偏移 16位DM地址由基地址 DP或SP 和偏移地址 dmad 组合而成 Question 如何确定基地址具体形式 直接寻址 地址形成过程 CPL 0Question 16位地址具体分布情况 直接寻址 地址形成过程 CPL 1 直接寻址表示 指令表示 变量前加 如 x 偏移量前加 如 10 特点 不改变DP和SP的情况下 随机访问128个单元任何一个单元 指令短 每条指令只有一个字 例1数据存储器存储数据如图所示 采用数据页指针DP直接寻址 完成x y单元的两个数据求和 直接寻址举例 直接寻址举例 直接寻址举例 例2 数据存储器存储数据如图所示 采用堆栈指针SP直接寻址 求堆栈中距栈顶两个数x y的单元的和 SP 0200H 间接寻址 利用辅助寄存器内容作为地址指针访问存储器 C54系列DSP具有8个16位辅助寄存器 AR0 AR7 寻址范围 每一个辅助寄存器可以寻址64K字的数据存储空间中的任何一个单元 利用两个辅助寄存器算术运算单元 ARAU0和ARAU1 对辅助寄存器的内容进行操作 可以完成16位无符号数算术运算 特点 能从存储器中读或写一个单16位数据操作数 能在单指令中读两个独立的数据存储单元 能在单指令中读一个存储单元的同时写一个存储单元 能在单指令中读写两个连续的存储单元 单操作数间接寻址 详见表3 1 4 单操作数间接寻址形式 单操作数间接寻址形式 单操作数间接寻址形式 间接寻址 双操作数寻址 存储器映像寄存器寻址 用途 用于修改存储器映像寄存器的值 而不影响当前数据页指针 DP 或堆栈指针 SP 的值 可工作于直接或间接寻址方式 MMR地址生成 直接寻址 高9位数据存储器地址置0 利用指令中的低7位地址访问MMR 间接寻址 高9位数据存储器地址置0 按当前AR的低7位地址访问MMR 结束后 AR的高9位强制置0 堆栈寻址 堆栈中断和子程序调用时自动存放PC的值 保护现场和传递参数 从高地址向低地址方向填入 通过堆栈指针 SP 管理堆栈 SP始终指向存放于堆栈中的最后一个元素 两种操作 压栈 PUSH SP减小 出栈 POP SP增大 FILO原则 PSHDSmem Smem压入堆栈POPDSmem 栈顶弹出到SmemPSHMMMR MMR压入堆栈POPDMMR 栈顶弹出到MMR C54x指令表示方法 操作码 opcode 和操作数 oprand 构成助记符指令 符号及缩略语 SymbolsandAbbreviation 符号及缩略语 SymbolsandAbbreviation 符号及缩略语 SymbolsandAbbreviation 符号及缩略语 SymbolsandAbbreviation 符号及缩略语 SymbolsandAbbreviation 符号及缩略语 SymbolsandAbbreviation 操作码及缩略语 OpcodeSymbolsandAbbreviations 操作码及缩略语 OpcodeSymbolsandAbbreviations 指令中使用的记号及运算符 指令中使用的记号及运算符 C54x指令系统 C54x的指令系统可以分为六种基本类型算术运算类指令逻辑运算类指令程序控制类指令装载与存储类指令并行类指令指令重复指令 算术运算类指令 算术运算类指令可以分为7组加法 详见表3 3 4 减法 详见表3 3 5 乘法 详见表3 3 6 乘 累加 详见表3 3 7 乘 减 详见表3 3 7 双字 32位操作数 指令 详见表3 3 8 特殊应用指令 详见表3 3 9 指令格式Opcodesrc shift dst 算术运算指令 加法 ADDtoAccumulator例 ADD AR3 14 A执行前执行后 算术运算指令 加法 ADDtoAccumulator例 ADDA 8 B执行前执行后 算术运算指令 加法 ADDtoAccumulator例 ADD 4568 8 A B执行前执行后 算术运算指令 加法 带进位加 ADDCSmem Src 例 ADDC AR2 5 A执行前执行后 算术运算指令 加法 长立即数加到存储器 ADDM 1k Smem 例 ADDM 0123BH AR4 执行前执行后 算术运算指令 加法 长立即数加到存储器 ADDM 1k Smem 例 ADDM 0FFF8 AR4 执行前执行后 算术运算指令 加法 符号抑制累加 ADDSSmem Src 例 ADDS AR2 B执行前执行后 算术运算指令 减法 累加器减 SUB 例 SUB AR1 14 A执行前执行后 算术运算指令 减法 累加器减 SUB 例 SUBA 8 B执行前执行后 算术运算指令 减法 累加器减 SUB 例 SUB 12345 8 A B执行前执行后 算术运算指令 减法 带借位减 SUBB 例 SUBB5 A执行前执行后 算术运算指令 减法 带借位减 SUBB 例 SUBB AR1 A执行前执行后 算术运算指令 减法 条件减 SUBC 例 SUBC2 A执行前执行后 算术运算指令 减法 条件减 SUBC 例 RPT 15SUBC2 A执行前执行后 算术运算指令 减法 抑制符号扩展减 SUBS 例 SUBS AR2 A执行前执行后 算术运算指令 乘法 舍入 非舍入乘法 MPY R 例 MPY13 A执行前执行后 算术运算指令 乘法 舍入 非舍入乘法 MPY R 例 MPY 0FFFE A执行前执行后 算术运算指令 乘法 舍入 非舍入乘法 MPY R 例 MPYR0 B执行前执行后 算术运算指令 乘法 累加器乘 MPYA 例2 MPYA AR2执行前执行后 算术运算指令 乘法 累加器乘 MPYA 例 MPYAB执行前执行后 算术运算指令 乘法 无符号乘 MPYU 例 MPYU AR0 A执行前执行后 算术运算指令 乘法 乘方 SQUR 例 SQUR30 B执行前执行后 算术运算指令 乘法 乘方 SQUR 例 SQURA B执行前执行后 算术运算指令 乘累加 乘减 舍入 非舍入乘累加 MAC R 例 MAC AR5 A执行前执行后 算术运算指令 乘累加 乘减 舍入 非舍入乘累加 MAC R 例 MAC 345h A B执行前执行后 算术运算指令 乘累加 乘减 舍入 非舍入乘累加 MAC R 例 MAC AR5 1234h A执行前执行后 算术运算指令 乘累加 乘减 舍入 非舍入乘累加 MAC R 例2 MACR AR5 A执行前执行后 算术运算指令 乘累加 乘减 有符合乘无符号累加 MACSU 例2 MACSU AR4 AR5 A执行前执行后 算术运算指令 乘累加 乘减 带延时程序存储器乘累加 MACD 例2 MACD AR3 COEFFS A执行前执行后 双字运算指令 双字加 DADD 例2 DADD AR3 A B执行前执行后 双字运算指令 双字加 DADD 例2 DADD AR3 A B执行前执行后 特殊运算指令 特殊应用指令 逻辑运算类指令 与 AND 指令或 OR 指令异或 XOR 指令移位指令测试指令 逻辑运算指令 举例 逻辑运算指令 举例 逻辑运算类指令 移位指令 逻辑运算指令 测试指令 测试指令 装载 存储指令 装载 存储指令 装载 存储指令 装载 存储指令 装载 存储指令 装载 存储指令 装载 存储指令 装载 存储指令 混合装载存储指令 程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论