什么是中断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。

更新于:2021年7月27日

25K+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告