操作系统5.1.2 I/O控制器

一、I/O设备组成

I/O设备由机械部件和电子部件组成,电子部件包括(I/O控制器、设备控制器)

1、I/O设备的机械部件:

  • I/O设备的机械部件主要用来执行具体I/O操作
    如我们看得见摸得着的鼠标/键盘的按钮;显示器的LED屏;移动硬盘的磁臂、磁盘盘面。
  • I/O设备的电子部件通常是一块插入主板扩充槽的印刷电路板。

2、I/O设备的电子部件(I/O控制器)

  • CPU无法直接控制I/O设备的机械部件,因此I/O设备还要有一个电子部件作为CPU和I/O设备机械部件之间的“中介”,用于实现CPU对设备的控制。
  • 这个电子部件就是I/O控制器,又称设备控制器。CPU可控制I/O控制器,又由I/O控制器来控制设备的机械部件。

  1. 接受和识别CPU发出的命令:CPU可以控制I/O控制器,所以I/O控制器肯定要能接受并识别CPU的命令。如CPU发来的read/write命令,I/O控制器中会有相应的的控制寄存器来存放命令参数。

  2. 向CPU报告设备的状态:I/O控制器会有相应的状态寄存器,用于记录I/O设备当前的状态。如1表示空闲,0表示忙碌。

  3. 数据交换:I/O控制器作为机械部件和CPU的中介,需要实现两者之间的数据交换。I/O控制器中会设置相应的数据寄存器。输出时,数据寄存器用于暂存CPU发出的数据,之后再由控制器传动设备。输入时,数据寄存器用于暂存设备发来的数据,之后CPU从数据寄存其中取走数据。

  4. 地址识别:类似于内存地址,为了区分上面提到的各个寄存器,也需要给各个寄存器设置一个特定的地址。I/O控制器通过CPU提供的地址来判断CPU要读/写哪个寄存器。

 

 

二、I/O控制器的组成

I/O控制器由以下三个部分组成:CPU与控制器的接口、I/O逻辑、控制器与设备的接口。

  1. IO控制器作为CPU和设备之间的中介,左边的部分是中介与CPU连接的部分,即CPU与控制器的接口,用于实现CPU与控制器之间的通信。CPU通过控制线发出命令,通过地地址线指明要操作的设备;通过数据线来取出(输入)数据,或放入(输出)数据。
  2. 中间的部分I/O逻辑是用于负责接收和识别CPU的各种命名(如地址译码),并根据CPU的命令对相应的设备发送命令。
  3. 右边的部分是中介与设备之间的连接,即控制器与设备的接口,用于实现控制器和设备之间的通信

Eg:如果CPU想通过设备输出一个数据,首先CPU控制线向IO逻辑发出一个输出的指令,同时在地址线上说明自己要操作哪个设备,并把要输出的数据存放在数据寄存器中(如果指令中带有参数,那么参数就会存放在控制寄存器中),I/O逻辑接收命令并识别了CPU的指令,找到相应的设备,并得根据该设备的状态寄存器判断当前设备的状态,如果当前设备是空闲的,那么I/O逻辑将数据寄存器中的值取出,通过设备与控制器的接口将数据输出外部设备上。

各个寄存器的作用:

  1. 数据寄存器:存放从设备发送来的输入数据或从CPU发送来的输出数据。
  2. 控制期存器:存放从CPU发送来的控制信息。
  3. 状态寄存器:用于存放从设备发送来的设备的状态信息。

注:一个I/O控制器可能会对应多个设备,所以数据寄存器、控制寄存器和状态寄存器可能会有多个(如每个控制器/状态寄存器对应一个具体的设备)。并且这些寄存器要有相应的地址,才能方便CPU操作。

 

 

三、小结

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烟敛寒林o

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值