程序中断就是CPU需要对IO设备进行数据读写操作时需要将目前的操作中断,转而去操作IO设备的数据。
几个人重要的硬件线路:
INTR(中断请求处理器):数据准备就绪时发出信号。
MASK(中断屏蔽触发器):Q非端为1未被屏蔽,反之则非。
排队器:进行IO设备优先级的响应顺序排列。
设备编码器:形成向量地址,根据向量地址找到相应服务程序。
IO中断处理过程
D,B代表设备状态 D=0,B=1代表正在准备 D=1,B=0代表准备就绪
一、数据准备前:经过设备选择电路选中设备后,得到启动命令经过命令译码设置DB状态,初始D=0,B=1数据准备就绪后变为D=1,B=0。
二、数据准备后:若MASK的Q非端为1,经过与非门和非门后将INTR设为1,当CPU进行中断查询后,发出中断请求,经过排队器中断判优后进入设备编码器找到对应向量地址,调用对应IO设备服务,进行数据的操作。
DMA方式
DMA方式是指在主存和IO设备增加一个DMA接口和DMA通路。
通常在请求主存时有三种方法:
一、停止CPU访问主存
二、周期挪用
此时存在三种情况:
1、CPU未访问主存时DMA请求。
2、CPU和DMA同时请求,优先DMA。
3、DMA请求时CPU正在访问,此时中断供DMA使用。
三、交替访问
一般用于CPU工作周期比存取周期长的情况。
DMA接口基本组成:
主存地址存储器(AR):存放主存中数据地址。
字计数器(WC):记录要操作的数据字数。
数据缓存寄存器(BR):存放操作数据。
DMA控制逻辑:负责管理DMA传输过程,发出请求信号。
中断机构:当数据准备完毕,发出中断请求。
设备地址存储器(DAR):存放设备码。
执行过程