什么是中断I/O进程?
中断I/O是一种数据传输过程,其中外部设备或外设通知CPU它已准备好进行通信并请求CPU的注意。
I/O配置
终端发送和接收串行信息。每部分串行数据具有八位字母数字代码,其中最左边的位始终为0。输入寄存器中的串行数据被传输到输入寄存器INPR。输出寄存器OUTR可以保存打印机的串行数据。这两个寄存器与累加器(AC)并行交互,并与通信接口以串行结构交互。
输入/输出配置如图所示。发射机接口从键盘获取串行数据并将其发送到INPR。接收机接口从OUTR获取数据并将其串行传输到打印机。
输入/输出寄存器包含八位。FGI是一个1位输入标志,是一个控制触发器。当输入设备中有新数据可用时,标志位设置为1;当数据通过设备确认后,则清除为0。
当点击键盘上的键时,等效于该键的字母数字代码被移入INPR,并且输入标志FGI被设置为1。考虑到标志已设置,INPR中的数据不能被修改。设备测试标志位;如果为1,则将INPR中的数据并行发送到AC,并将FGI清除为0。
输出寄存器OUTR的工作方式与输入寄存器INPR等效。
OUTR的数据流向与INPR相反。因此,输出标志FGO最初设置为1。设备测试标志位;如果为1,则将AC中的数据并行发送到OUTR,并将FGO清除为0。当FGO为0时,不能将新数据加载到OUTR中,因为此条件表示输出设备正在打印字符。
输入寄存器
INPR输入寄存器是一个包含八位并接收字母数字输入数据的寄存器。1位输入标志FGI是一个控制触发器。当输入设备中有新数据可用时,标志位设置为1。当数据被设备确认后,它被清除为0。该标志用于同步输入设备和计算机之间的时钟速率差异。
数据传输过程如下:
- 输入标志FGI设置为0。当用户点击键盘上的任何键时,一个8位字母数字代码被传输到INPR,并且输入标志FGI被设置为1。
- 设备测试标志位。如果位为1,则将INPR中的数据传输到AC,同时FGI被清除为0。
- 然后标志被清除,通过按下另一个键可以将新数据传输到INPR。
输出寄存器
输出寄存器OUTR的工作方式与输入寄存器INPR等效,因此数据流的控制方向相反。
数据传输过程如下:
- 输出标志FGO设置为1。
- 设备测试标志位。如果位为1,则将AC中的数据共享到OUTR,同时FGO被清除为0。
- 之后,输出设备接收编码的8位数据并打印匹配的字符。
- 此操作完成后,输出设备将FGO设置为1。
广告