> 文章列表 > ch5_4程序查询方式_程序中断方式_DMA方式

ch5_4程序查询方式_程序中断方式_DMA方式

ch5_4程序查询方式_程序中断方式_DMA方式

程序查询方式的流程

程序查询方式的接口电路

1. 程序查询方式

程序查询方式,需要通过cpu中的寄存器,完成数据从io设备到内存之间的传输。

ch5_4程序查询方式_程序中断方式_DMA方式

1.1 程序查询方式流程

  1. 保存寄存器的内容: 如果寄存器中的数据是有用的,需要对寄存器中的数据进行保存。
    将其压入到堆栈当中,或者放到cpu中其余的闲置寄存器中。

  2. 设置计数值:用于控制当前批次总共传输的数据量。

ch5_4程序查询方式_程序中断方式_DMA方式

1.2 程序查询方式接口电路

DBR, 数据缓冲寄存器

ch5_4程序查询方式_程序中断方式_DMA方式

2. 程序中断方式

2.1  中断的概念

中断: cpu 在执行程序的过程中,

  1. 如果发生意外事件或者特殊事件,cpu需要停止当前程序的执行。
  2. 转而去处理中断事件,或者是特殊事件。通过中断服务程序去处理中断。
  3. 处理结束后, 返回被中断的程序断点,继续执行原始的程序。

中断过程中,

  • 需要将程序的断点保存起来,
  • 保存中断现场, 中断时,寄存器中的值。
    ch5_4程序查询方式_程序中断方式_DMA方式

2.2  io中断的产生

能够引发cpu发生中断的因素:
ch5_4程序查询方式_程序中断方式_DMA方式

2.3  程序中断方式的接口电路

  1. 配置中断请求触发器和中断屏蔽触发器

ch5_4程序查询方式_程序中断方式_DMA方式

一次中断处理过程大致分为:中断请求,中断判优,中断响应,中断服务和中断返回等五个阶段

  1. 排队器,用于分配各个设备的优先级。
    硬件排队器,对中断请求源进行排队以后, 
    在从1-n 这些intp中, 只有一个值是1,
    在所有有中断请求的中断源当中,优先级最高的中断源。

ch5_4程序查询方式_程序中断方式_DMA方式

  1. 中断向量地址形成部件。
    找到中断服务程序的入口地址, 
    入口地址可以通过软件产生, 或者硬件向量法。
  • 中断号:中断的编号, 如在8086中, 支持256种中断,则此时这256种中断,被编号成 0- 255.

  • 中断向量:中断服务程序的入口地址,在x86系列中,可以理解成段地址  + 偏移量 构成的中断向量。

有时候,可以代指程序状态字:cpu发生中断时候, 一些非体系结构寄存器或者表示程序状态的寄存器,这些寄存器中的指令无法读取,在计算机内部集成为一个字,这个字称为程序状态字。

此时,中断向量便是包括了 和中断服务程序相关的入口地址,包括段地址,偏移量, 也包括了执行中断服务程序的时候,需要的一些状态信息。

  • 向量地址: 是指中断向量保存的内存单元的地址,
    ch5_4程序查询方式_程序中断方式_DMA方式
    中断向量地址形成设备编码器,
    设备编码器的输出通过数据总线输入到cpu当中,
    产生中断服务程序的入口地址,
    或者是入口地址保存的内存中存储单元的地址,
    或者是跳转指定保存存储单元对应的入口地址
  1. 程序中断方式接口电路的基本组成。
    DBR: 数据缓冲寄存器。
    设备选择电路: 选择哪个设备
    命令译码:确认本次的操作。
    ch5_4程序查询方式_程序中断方式_DMA方式

2.4  io中断的处理过程

2.5  中断服务程序流程

戒烟