第二章 硬件结构a.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文档。上传文档
查看更多
第二章 硬件结构a

图2-32 长字地址组织 对于32位的长字,访问地址为长字的高字(MSW)地址。 如果MSW是偶地址,则长字的低(LSW)地址为下一个地址 如果MSW是奇地址,则长字的低(LSW)地址为前一个地址 例,数据空间的数据组织。 访问一个长字,必须参考它的高字(MSW),访问C需要访问00 0102h,访问D需要访问00 0105h 字地址也被用于字节地址,00 0107h既是F的地址,也是G的地址。专用字节指令会指明访问的是低字节还是高字节。 2.5.4 I/O空间 I/O空间和程序/数据空间是分开的,只能用来访问DSP外设寄存器,不能用来扩展 I/O空间里的字地址宽度是16位,可以访问64K个地址 对于I/O空间的读写是通过数据读总线DAB和数据写总线EAB进行的 读写时要在16位地址前补0 例。设一条指令从16位地址0102h处读取一个字,则DAB传输的24位地址为00 0102h。 2.6 堆栈操作 数据堆栈和系统堆栈 堆栈配置 快返回与慢返回 C55x支持两个16位堆栈,即数据堆栈和系统堆栈 访问数据堆栈时,CPU将SPH和SP连接成XSP XSP包含了一个最后推入数据堆栈的23位地址,其中SPH里是7位的主数据页,SP指向该页上的一个字。 CPU在每推入一个值入堆栈前,减小SP值;从堆栈弹出一个值以后,增加SP值。在堆栈操作中,SPH的值不变。 2.6.1 数据堆栈和系统堆栈 图2-34 XSP和XSSP 访问系统堆栈时CPU将SPH和SSP连接成XSSP。 XSSP包含了一个最后推入系统堆栈的值的地址 CPU在每推入一个值进堆栈前,减小SSP值;从堆栈弹出一个值以后,增加SSP值。在堆栈操作中,SPH的值不变 表2-29 堆栈指针寄存器 SSP可以与SP关联,也可以独立于SP 如果选择32位堆栈配置,则修改SSP与SP的方法一样 如果选择双16位堆栈配置,则SSP与SP独立,SSP只有在自动环境切换时才能被修改 2.6.2 堆栈配置 C55x提供了3种可能的堆栈配置 一种配置使用快返回过程 另外两种使用慢返回过程 通过给32位复位向量的第29、28位填入适当值,可以选择一种堆栈配置方式 复位向量的低24位就是复位中断服务子程序(ISR)的起始地址 表2-30 堆栈配置 快返回与慢返回过程的区别在于CPU怎样保存和恢复两个内部存储器(即程序计数器PC和一个循环现场寄存器)的值 PC装的是I单元里1~6个字节代码的24位地址 一个8位的循环现场(loop context)寄存器存放激活循环记录 CPU执行中断或调用时,保存当前的循环现场,然后清零该寄存器,为新的子程序创建循环现场。当CPU从子程序返回时,再在该寄存器恢复原来的循环现场。 在快返回过程里 返回地址保存在寄存器RETA中 循环现场保存在寄存器CFCT中 用专门的32位装入和存储指令可同时读/写RETA 和CFCT 在慢返回过程里,返回地址和循环现场保存在堆栈里(在存储器里),当CPU从子程序返回时,这些数据的恢复速度取决于访问存储器的速度 图2-35 返回地址和循环现场的慢返回过程 Routine 0是最高层子程序,Routine 1嵌套在Routine 0里,Routine 2嵌套在Routine 1里 图2-36 快返回过程中RETA 和CFCT的使用 2.7 中断和复位操作 中断概述 中断向量与优先级 可屏蔽中断 不可屏蔽中断 硬件复位 软件复位 中断定义:由硬件或软件驱动的信号,使DSP将当前的程序挂起,执行另一个称为中断服务子程序(ISR)的任务。 C55x支持32个ISR。有些ISR可以由软件或硬件触发,有些只能由软件触发。 当CPU同时收到多个硬件中断请求时,CPU会按照预先定义的优先级对它们做出响应和处理。 2.7.1 中断概述 中断的分类 可屏蔽中断:可以通过软件来加以屏蔽 不可屏蔽中断:不能被屏蔽 所有的软件中断都是不可屏蔽中断 DSP处理中断的步骤 (1)接收中断请求。软件和硬件都要求DSP将当前程序挂起。 (2)响应中断请求。CPU必须响应中断。如果是可屏蔽中断,响应必须满足某些条件。如果是不可屏蔽中断,则CPU立即响应。 (3)准备进入中断服务子程序。 CPU要执行的主要任务有: 完成当前指令的执行,并冲掉流水线上还未解码的指令 自动将某些必要的寄存器的值保存到数据堆栈和系统堆栈 从用户实现设置好的向量地址获取中断向量,该中断向量指向中断服务子程序 (4)执行中断服务子程序。 CPU执行用户编写的ISR。ISR以一条中断返回指令结束,自动恢复步骤(3)中自动保存的寄存器值。 ? 注意: 外部中断只能发生在CPU退出复位后的至少3个周期后,否则无效; 在硬

文档评论(0)

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

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

1亿VIP精品文档

相关文档