第五章 I/O管理
2.I/O控制器
I/O控制器的组成:
I/O控制器负责接收和识别从CPU发来的各种命令,同时需要翻译为具体的设备可以明白的命令,通过控制器与设备的接口发送给具体的设备,让设备执行相应的操作。
一个I/O控制器有可能会负责控制多个具体的I/O设备。为了区别此时CPU要操作的是哪个设备,同样要给这些设备进行编号,或者说给各个设备接口一个地址;CPU在发出I/O命令的时候也需要指明自己要操作的是哪个设备。
流程:
CPU首先会通过控制线向I/O控制器发出具体的I/O指令,同时CPU还会在地址线上指明自己要操作的是哪个设备。如果此时要输出数据,则CPU会通过数据总线把要输出的数据放到I/O控制器的数据寄存器中,之后I/O逻辑就可以从数据寄存器中取走CPU想要输出的数据,CPU此时发出的指令可能会有相应的参数,这些参数CPU会放到控制寄存器中,I/O逻辑就可以从控制寄存器中读出相应的参数了,另外为了实现CPU对设备的管理,CPU还会从状态寄存器中读出寄存器的状态,如忙碌、空闲、故障等,I/O逻辑会向状态寄存器中写入相应的数据,来告诉CPU设备的状态是怎样的。