第1.7程序存储器地址生成方式.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第1页,共28页,星期日,2025年,2月5日1.7程序存储器地址生成方式 程序存储器中存放着应用程序的代码、系数表以及立即操作数。 各种程序控制操作的本质:把一个不是顺序增加的地址加载到PC。 ’C54X由程序地址生成器(PAGEN)生成的地址加到PAB,再通过程序地址总线(PAB)寻址64K字的程序空间。第2页,共28页,星期日,2025年,2月5日程序地址生成器(PAGEN)程序地址生成器(PAGEN)共有5个寄存器:程序计数器;重复计数器;块重复计数器;块重复起始地址寄存器;块重复结束地址寄存器;第3页,共28页,星期日,2025年,2月5日1.7.1程序计数器程序计数器(PC)是一个16位计数器;PC中保存的某个内部或外部程序存储器的地址,就是即将取指的某条指令、即将访问的某个立即操作数或系数表在程序存储器中的地址。第4页,共28页,星期日,2025年,2月5日加载地址到PC的几种途径操作加载到PC的地址复位PC=FF80h顺序执行指令PC=PC+1分支转移16位立即数加载到PC由累加器分支转移用累加器A或B的低16位加载到PC块重复循环BRAF=1(块重复有效)当PC+1等于块重复循环 结束地址(REA+1)时将块重复起始地址加载PC子程序调用将PC+2压入堆栈,并用指令后16位立即数加载PC, 返回将堆栈弹出到PC,回到原来程序处继续执行;从累加器调用子程序将PC+1压入堆栈,用累加器A或B的低16位加载 到PC;返回时将堆栈弹出到PC,回到原来程序 处继续执行;硬件中断或软件中断将PC压入堆栈,用适当的中断向量地址加载 PC;中断返回时将堆栈弹出到PC,继续执行被 中断了的程序.第5页,共28页,星期日,2025年,2月5日1.7.2分支转移‘C54x的分支转移操作有两种形式: 有条件分支转移; 无条件分支转移;两者都可以带延迟操作(指令助记符带后缀D)和不带延迟操作。注意: 紧跟在延迟指令后面的两个字,不能是造成PC不连续的指令(分支转移\调用、返回或软件中断指令)。第6页,共28页,星期日,2025年,2月5日无条件分支转移指令指令说明B(D)用指令中所给出的地址加载PCBACC(D)用所指定的累加器的低16位作为地址加载PC第7页,共28页,星期日,2025年,2月5日条件分支转移指令指令说明BC(D)如果指令中规定的条件得到满足就用指令中所给出的地址加载PCBANZ(D)当前辅助寄存器不等于0,就用指令中所给出的地址加载PC(用于循环)第8页,共28页,星期日,2025年,2月5日1.7.3调用与返回与分支转移类似,当调用子程序或函数时,DSP就会中断原先的程序,转移到程序存储器的其它地址继续运行。’C54x的调用和返回都有两种形式—无条件调用和返回;有条件调用与返回。两者都可能带延迟和不带延迟操作。第9页,共28页,星期日,2025年,2月5日无条件调用与返回的指令 指令说明CALL(D)将返回地址压入堆栈,用指令所规定的地址加载PCCALA(D)将返回地址压入堆栈,用指定累加器的低16位地址加载PCRET(D)用堆栈顶的返回地址加载PCRETE(D)用堆栈顶的返回地址加载PC并开放中断RETF(D)用RTN寄存器中的返回地址加载PC,并开放中断第10页,共28页,星期日,2025年,2月5日条件调用与返回的指令指令说明CC(D)如果条件满足,则先将返回地址压入堆栈;再用所指定的地址加载PCRC(D)如果条件满足,将堆栈顶部的返回地址加载PC第11页,共28页,星期日,2025年,2月5日1.7.4条件操作’C54x有一些指令只有当一个条件或多个条件得到满足列出的条件指令时才能执行。 请看表1-21中的各种条件(23条)以及相应的操作数符号。 例如: BCpmad,cond,[,cond[,cond]]当这条指令的所有条件得到满足时,程序才能转移到pmad。有时,条件指令中会出现多重条件,不是所有的条件都能构成

文档评论(0)

xiaozhuo2022 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档