目录
通过I/O接口进行协调主机与外部设备之间的数据传输;
①发送命令:发送命令字到I/O控制寄存器,向设备发送命令(需要驱动程序的协助)
②读状态:从状态寄存器读取状态字,获得设备或者I/O控制器的状态信息(设备是否就绪或者设备工作是否完成)
③读/写数据:从数据缓冲寄存器发送或者读取数据
在上一篇文章中可以看到我们I/O控制器的控制方式有两种程序查询方式(通过不断轮询检查状态寄存器然后进行获取设备信息以及状态,如果状态为已完成后再进行到数据缓冲寄存器中取出或者输入数据),和程序中断查询方式(只需要在控制线进行中断请求后即可对其进行中断响应);
为什么状态寄存器和控制寄存器是一个呢?
控制寄存器、状态寄存器在使用时间上是错开的因此有的I/O接口中可以将二者合二为一;
从CPU控制设备的时候我们就可以将命令字存在控制寄存器里面,存完之后需要将命令字在发送到
I/O控制寄存器中,然后控制之后设备处于一个什么样的状态,还需要进行将状态码送到状态寄存器里面;
I/O控制器中可以被CPU访问的各种寄存器称为I/O端口;
那么这篇博客就结束了,我们了解了I/O接口和端口,他们的区别和各自的功能及作用,大家有什么问题可以私信我,一起努力学习!