ch5_4程序查询方式_程序中断方式_DMA方式
程序查询方式的流程
程序查询方式的接口电路
1. 程序查询方式
程序查询方式,需要通过cpu中的寄存器,完成数据从io设备到内存之间的传输。
1.1 程序查询方式流程
-
保存寄存器的内容: 如果寄存器中的数据是有用的,需要对寄存器中的数据进行保存。
将其压入到堆栈当中,或者放到cpu中其余的闲置寄存器中。 -
设置计数值:用于控制当前批次总共传输的数据量。
1.2 程序查询方式接口电路
DBR, 数据缓冲寄存器
2. 程序中断方式
2.1 中断的概念
中断: cpu 在执行程序的过程中,
- 如果发生意外事件或者特殊事件,cpu需要停止当前程序的执行。
- 转而去处理中断事件,或者是特殊事件。通过中断服务程序去处理中断。
- 处理结束后, 返回被中断的程序断点,继续执行原始的程序。
中断过程中,
- 需要将程序的断点保存起来,
- 保存中断现场, 中断时,寄存器中的值。
2.2 io中断的产生
能够引发cpu发生中断的因素:
2.3 程序中断方式的接口电路
- 配置中断请求触发器和中断屏蔽触发器
一次中断处理过程大致分为:中断请求,中断判优,中断响应,中断服务和中断返回等五个阶段
- 排队器,用于分配各个设备的优先级。
硬件排队器,对中断请求源进行排队以后,
在从1-n 这些intp中, 只有一个值是1,
在所有有中断请求的中断源当中,优先级最高的中断源。
- 中断向量地址形成部件。
找到中断服务程序的入口地址,
入口地址可以通过软件产生, 或者硬件向量法。
-
中断号:中断的编号, 如在8086中, 支持256种中断,则此时这256种中断,被编号成 0- 255.
-
中断向量:中断服务程序的入口地址,在x86系列中,可以理解成
段地址
+偏移量
构成的中断向量。
有时候,可以代指程序状态字:cpu发生中断时候, 一些非体系结构寄存器或者表示程序状态的寄存器,这些寄存器中的指令无法读取,在计算机内部集成为一个字,这个字称为程序状态字。
此时,中断向量便是包括了 和中断服务程序相关的入口地址,包括段地址,偏移量, 也包括了执行中断服务程序的时候,需要的一些状态信息。
- 向量地址: 是指中断向量保存的内存单元的地址,
中断向量地址形成设备编码器,
设备编码器的输出通过数据总线输入到cpu当中,
产生中断服务程序的入口地址,
或者是入口地址保存的内存中存储单元的地址,
或者是跳转指定保存存储单元对应的入口地址
- 程序中断方式接口电路的基本组成。
DBR: 数据缓冲寄存器。
设备选择电路: 选择哪个设备
命令译码:确认本次的操作。