文章目录
输入输出(IO)
I/o输入输出 可以将数据输入到设备或者接收计算机输出数据的外部设备
I/O控制器
I/O设备的机械部件主要用来执行具体I/O操作。 如我们看得见摸得着的鼠标/键盘的按钮;显示器的LED屏;移动硬盘的磁臂、磁盘盘面。
I/O设备的电子部件通常是一块插入主板扩充槽的印刷电路板
CPU无法直接控制I/O设备的机械部件,因此I/O设备还要有一个电子部件作为CPU和I/O设备机械部 件之间的“中介”,用于实现CPU对设备的控制。
这个电子部件就是I/O控制器,又称设备控制器。CPU可控制I/O控制器,又由I/O控制器来控制设备 的机械部件。
①一个I/O控制器可能会对应多个设备;
②数据寄存器、控制寄存器、状态寄存器可能有多个(如:每个控制/状态寄存器对应一个具体 的设备),且这些寄存器都要有相应的地址,才能方便CPU操作。有的计算机会让这些寄存器占 用内存地址的一部分,称为内存映像I/O;另一些计算机则采用I/O专用地址,即寄存器独立编址。
I/O控制器
程序直接控制方式(轮询)
优点:实现简单。在读/写指令之后,加上实现循环检查的 一系列指令即可(因此才称为“程序直接控制方式”)
缺点:CPU和I/O设备只能串行工作,CPU需要一直轮询检查, 长期处于“忙等”状态 ,CPU利用率低。
每次读写一个字
中断驱动方式
引入中断机制。由于I/O设备速度很慢,因此在CPU发出读/写命 令后,可将等待I/O的进程阻塞,先切换到别的进程执行。当I/O 完成后,控制器会向CPU发出一个中断信号,CPU检测到中断信 号后,会保存当前进程的运行环境信息,转去执行中断处理程序 处理该中断。处理中断的过程中,CPU从I/O控制器读一个字的数 据传送到CPU寄存器,再写入主存。接着,CPU恢复等待I/O的进 程(或其他进程)的运行环境,然后继续执行。
优点:与“程序直接控制方式”相比,在“中断驱动方式”中,I/O控 制器会通过中断信号主动报告I/O已完成,CPU不再需要不停地轮询。 CPU和I/O设备可并行工作,CPU利用率得到明显提升。
缺点:每个字在I/O设备与内存之间的传输,都需要经过CPU。而频繁的 中断处理会消耗较多的CPU时间。
DMA方式
DMA方式( Direct Memory Access,直接存储器存取。主要用于块设备的 I/O控制)有这样几个改进:
①数据的传送单位是“块”。不再是一个字、一个