第2章 入式处理器体系结构-第3课.docVIP

  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文档。上传文档
查看更多
第2章 入式处理器体系结构-第3课

第二章 嵌入式处理器体系结构 六.流水线技术 1.背景 采用流水线技术后,能够提高处理器的性能。这一结论可以从分析处理器执行一个程序所花费的时间得到(Ninst----程序所包含指令的数目,CPI----执行一条指令的平均周期数): T = ( Ninst*CPI )/fclk ·单纯的提高fclk会带来处理器功耗的增加 ·程序所包含指令的数目基本不变 ·减小CPI是改善处理器性能最有效的方法----采用流水线技术(以3级流水线技术为例,硬件资源的功能被模块化并彼此独立,从指令的角度而言每条指令的执行时间是3个周期,但从处理器的角度而言每个周期完成了1条指令)。 2.特点 ·流水线的一条指令只有在完全通过“执行”阶段才被处理 ·在指令“执行”阶段,pc总是指向当前指令地址加8字节的地方(使用pc计算相对偏移量时这点很重要) ·执行一条分支指令或直接修改pc而发生跳转时,会使ARM内核清空流水线 ·即使产生一个中断,处于“执行”阶段的指令也将会完成(流水线中其它指令被放弃,处理器将从向量表的适当入口开始填充流水线) ·ARM10使用分支预测技术,通过预测可能的分支并在指令执行前装载新的分支地址,从而减小清空流水线的影响 3.5级流水线 随着主频的提高,每个周期内所能完成的任务就必须变得更简单(即流水线越多),系统性能也越好。但流水线级数的增加也意味着可能更多的产生数据相关,需要相应技术来缓解。 ·5级流水线采用哈佛结构,增加了硬件资源使访问指令和数据互不影响 ·常见的3种相关:结构相关(即资源冲突 (‘资源重复’( I-cache和D-cache、数据相关(采用定向技术等加以解决)和控制相关(借助于指令预测来解决) 4. 关于PC=PC+8 ARM7采用3级流水线,ARM9采用5级流水线,但二者在程序中使用PC时都同样涉及PC+8的问题----对于二者而言都是PC=PC+8。 ·3级和5级流水线中“执行”阶段都位于第3个阶段 ·PC的值总是保存正在被取指的指令的地址 ·PC = PC + 4x中的x和流水线的级数没有关系,只和“执行阶段”所处的“位置”有关(执行阶段是用到PC值的阶段) 七.异常中断 1.异常的定义 ·任何打断程序正常执行顺序的情况都被视为异常(中断是一种特殊的异常,是由外设引起的程序执行顺序的间断); ·异常可以翻译为:a. Exception─从处理器被动接受异常角度而言;b. Interrupt─从处理器主动申请角度而言; ·程序的运行状态总是在‘正常执行’和‘处理异常’之间来回切换,所以异常处理是嵌入式系统的核心内容之一。 2.异常的类型 2-1. ARM支持7种类型的异常中断,各种异常中断的触发条件分别为: ? 复位异常----处理器的nReset电平有效时产生 ? 指令预取中止异常----若处理器预取指令的地址不存在或该地址不允许当前指令访问,则存储器通过外部信号ABORT向处理器发出中止信号,当预取的指令到执行阶段时(相当于中止信号经历取指、译码阶段,到执行阶段才出发异常的产生)才产生异常 ? 数据中止异常----数据访问指令的地址不存在或该地址不允许当前指令访问,则存储器通过外部信号ABORT向处理器发出中止信号 ? FIQ异常----当外部事件促使nFIQ=0且CPSR中的F=0时触发该异常,可以减少系统上下文切换时的开销,适合进行数据或通道的快速处理 ? IRQ异常----当外部事件促使nIRQ=0且CPSR中的I=0时触发该异常,系统外设通过该异常请求中断服务 ? 未定义指令异常----采用该机制可以通过软件仿真扩展ARM/Thumb指令集 ? SWI异常----可用于用户模式下的程序调用特权操作指令,实现系统功能调用(如执行特定的管理功能) 2-2. 异常对应的工作模式和地址向量 7种异常对应于5种工作模式(即5种异常模式),每种异常的产生都会导致内核进入一种特定的模式。系统响应异常中断时,会把pc设置为一个特定的存储器地址----向量表。 3. 异常的优先级 在七种异常中有三种是中断----FIQ、IRQ和软件中断,共分为6个等级,如下表所示 表格中的顺序只是一般情况下各种异常的相对级别关系,实际中的异常处理顺序不一定和表格的完全一致,而和系统所采用的具体机制有关。 4.异常的响应 4-1. 概述 ·当异常中断发生后,处理器首先执行完当前处于执行阶段的命令,然后进入异常中断响应过程; ·内核的异常处理是系统自动完成的,不需要人工的干预; ·Reset异常不需要返回,而其他的6种异常均需要返回到原程

文档评论(0)

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

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

1亿VIP精品文档

相关文档