程序中断方式的接口电路以及处理过程
2017-12-03 16:00
1031 查看
程序中断方式的接口电路
mooc上今天学到了程序中断方式的接口电路,这里简单总结一下。下图是接口电路的基本组成:
假设现在CPU执行到某条指令,该指令需要从某个设备(比如键盘)输入数据,CPU会首先发出一条启动命令,同时将参与的设备的地址放到地址总线上,每个接口会将地址总线上的地址与自己保存的设备地址进行比较(设备选择电路),判断参与数据传输的对象是否为本设备,若为本设备,则SEL为高,在启动命令的驱动下,设置两个触发器的状态:B=1(设备忙);
D=0(设备还未准备好);
设备开始准备数据,数据准备好后,将数据放到DBR(数据缓冲寄存器)中,同时设置B=0, D=1(设备已准备好)。D的输出与MASK(设备屏蔽寄存器)的输入共同决定是否能产生中断信号:若MASK=0(未被屏蔽),则INTR输出为1,也即发出中断请求,CPU收到中断请求后会发出中断相应信号,使得中断信号会被送入排队器(每个接口中都有一个,相互连接起来形成链式排队器),由排队器来判决谁可以输出中断请求(优先级最高的中断请求可以输出),排队器的输出只有1个为1,其余均为0,排队器的输出经过设备编码器(中断向量地址形成部件)后得到对应的中断向量的地址,该地址会被放到数据线上送给CPU。
与程序查询方式的接口电路相比,多了一些部件:INTR触发器,MASK触发器,排队器,设备编码器等。
相关文章推荐
- linux驱动之中断处理过程C程序部分
- 保护模式下 中断处理程序的过程
- MFC消息分类和处理方式以及MFC程序的执行流程
- dsp控制DM9000实现802.3数据收发第三篇,调试过程程序第二版;接受部分可用,但是容易掉帧,采用的读取dm9000中断寄存器的方式获取数据
- dsp控制DM9000实现802.3数据收发第三篇,调试过程程序第三版;采用外部引脚中断方式获取中断,优化掉帧现象
- DOM中为事件添加事件处理程序的几种方式以及跨浏览器方式
- 批处理实现c/s程序部署,以及创建桌面快捷方式
- 保护模式下 中断处理程序的过程
- 关于Java程序中类定义对象的处理,以及类中变量与方法的运行过程
- elasticsearch学习过程中遇到的问题以及处理方式(持续更新...)
- .NET获取当前应用程序的绝对路径,获取程序工作路径 以及图片处理
- 高级语言程序的两种处理方式——编译和解释
- 高级语言处理程序的编译方式和解释方式的区别
- 重复提交、重复刷新、防止后退的问题以及处理方式
- 《Linux内核分析》第五周:分析system_call中断处理过程
- 系统启动过程以及故障处理
- JavaScript对象内联函数的使用,对象内部方法和属性的使用,以及事件冒泡的处理方式
- 示范如何在命令行程序中处理用户中断信号(ctrl+c)
- 中断0 处理程序(除法溢出)
- 13.linux中断处理程序