现代体系结构(指令流水),中断处理(中断隐指令,中断门,Do_IRQ,关中断,Do_IRQ_Handler, 软中断SWI,中断嵌套与屏蔽)
2016-02-21 00:00
387 查看
现代体系结构:
1 流水
五级流水: ( =》代表经过时钟边缘触发。对于a-》b=》c:b为时钟触发,a为触发前的输入,c为触发后的输出。 -》代表不经过时钟触发器的计算/处理 )PC=>PC+4->PC->instruction->IR=>RegCtrl->IRex=>ExCtrl->IRmem=>MemCtrl->IRwb=>WbCtrl->Reg
每条命令经过5次 =》 时钟边缘,5个时钟周期
点击打开链接
2 冒险
*解决方法: 前递(及时将Exctrl=》得到的输出电平 输入到IRex=》) 旁路, 预测,空泡, 指令/数据内存cache3 乱序 和 意外事件处理
*最终一致性4 中断处理
处理流程
考虑单核单流水一次中断处理: 中断隐指令=》中断门 Intr Gate=》Do_IRQ保存现场及其他处理(如中断计数变化)=》 [开中断] => Do_IRQ_Handler中断处理 => [软中断SWI] => Ret_From_IRQ or Restore_All or 处理其它中断 => IRET
见点击打开链接
中断x被cpu[由搁置态]正式处理(中断隐指令开始执行)的时机:
1 cpu上正在进行的是中断处理y, 而且能够被打断:
y处于开中断状态且不屏蔽x类型中断:开关中断发生在: 1 中断隐指令会关中断、2 Do_IRQ过程中会开/关中断、3返回时IRET指令恢复EFLAGS会开中断
2 cpu上正在运行的是现行程序(各种主动的内核/用户的线程/进程)
这种情况下中断也应该是打开的点击打开链接
相关文章推荐
- css3D效果
- jQuery操作select(设置某个option为选中状态)
- MySQL事务隔离级别详解
- web前端框架中bootstrap学习,并且网页中插件动画插件的使用。
- mongodb在网易游戏中的使用
- node.js可能遇到的问题
- Physical Standby Database (11g)-ADG
- 阿里云服务器绑定二级域名到子目录
- 3.3 Struts2标签库应用
- 分布式Quorum机制,NWR策略读写模型
- CPU绑定
- 在Android Studio中,gradle经常加载失败的解决方法
- 如何升级cordova和ionic的版本
- android中,显示圆形图片
- Angular2--模板语法(2016-02-21)
- IOS远程推送
- 远程推送
- iPhone的UDID与push中使用的device token的关系
- 通讯录设计
- 表单验证