- 1、本文档共88页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
直接映射cache(续) After 011 access: block tag data 00 - - 01 0 1111 10 0 0000 11 0 0110 After 100 access: block tag data 00 1 1000 01 0 1111 10 0 0000 11 0 0110 直接映射cache(续) After 101 access: block tag data 00 1 1000 01 1 0001 10 0 0000 11 0 0110 After 111 access: block tag data 00 1 1000 01 1 0001 10 0 0000 11 1 0100 2-路组相联cache Cache的最后状态 (2个大小的直接映射的cache): set blk 0 tag blk 0 data blk 1 tag blk 1 data 00 1 1000 - - 01 0 1111 1 0001 10 0 0000 - - 11 0 0110 1 0100 基于缓冲区的输出中断子例程 void output_handler() { if (!empty_buffer()){ poke(OUT_DATA, remove_char()); poke(OUT_STATUS,1); } } * 调试中断代码 若忘记改变寄存器的内容 前台程序会展示一些非常奇怪的错误 错误很难重现---它依赖与中断的时间 * 如何发现中断 在开始执行每条指令之前检查中断请求信号是否有中断请求 一旦出现中断,PC将指向中断服务子例程 注意:要保护和恢复现场 * 中断优先级和中断向量 两种机制允许中断处理更多的设备 优先级(Priorities):确定哪种中断首先获得CPU 向量(Vectors): 允许中断设备制定其中断服务子例程 大多数CPU这两种方式都支持 * 具有优先级的中断 ---序号小的优先级高 CPU device 1 device 2 device n L1 L2 .. Ln interrupt acknowledge * 使用轮询让几个设备共享一个中断 * 中断的优先级 Masking(屏蔽): 发生中断的优先级比正在中断的优先级低,CPU将不响应该优先级低的中断。 Nonmaskable interrupt (NMI,不可屏蔽中断): 最高优先级,永不屏蔽 电源故障 * 中断向量 不同的设备有不同的中断服务子例程 中断向量表 handler 0 handler 1 handler 2 handler 3 Interrupt vector table head * 一般的中断机制 intr? N Y 假设优先级的选择已经处理. N ignore Y vector? Y Y N timeout? Y bus error call table[vector] intr priority current priority? continue execution N * ack 中断开销 中断服务子例程执行的时间 中断机制的开销 寄存器存储/恢复 流水相关补偿 Cache相关补偿 * ARM 中断 ARM支持两类中断 快速中断请求 (FIQs). 中断请求 (IRQs). 中断表开始地址:0. * ARM 最坏延迟 27个时钟周期 2周期同步外部请求 最多20周期完成当前指令 3周期的数据异常终止 2周期进入中断处理状态 * 管态 通过 SWI 指令进入 SWI CODE_1 在中断向量表中的地址: 0x08. 进入管理模式 将CPSR 存储到 SPSR. * 异常(Exception) 内部检测到的错误 与指令是同步的,但它是不可预料的 通常是内部产生的 有多种异常,处理的方法与中断类似,有优先级和向量表 * Trap(陷阱) 又叫软中断(software interrupt): 由指令产生的异常,然后进入管态 ARM 通过SWI 指令进入软件中断 * 协处理器(Co-processor) 增加一些功能单元,可以通过指令来调用 浮点单元通过协处理器完成的 ARM允许有16个协处理器 浮点数处理是用协处理器编号为1和2的 * Caches 和 CPUs CPU cache controller cache main memory data data address data address * Cache操作 主存被映射到cache中. Caches类型: 指令caches; 数据caches; 指令cac
您可能关注的文档
- 第三章 种群、群落和生物多样性.ppt
- 第三章 第一讲 大气垂直分层及逆温.ppt
- 第三章 职业生涯规划—职业环境认知(第一次课).ppt
- 第三章 金属塑性变形的物理基础.ppt
- 第三章--劳动者权利.ppt
- 第三章(大题必考).ppt
- 第三章--酒店工作分析与工作设计.ppt
- 第三章-3 脚手架.ppt
- 第三章2时域求解3.1.ppt
- 第三章-煤层气的成因.ppt
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)