- 程序控制方式
- 无条件传送方式。I/O端口总是准备好接受主机的输出数据,或是总是准备好向主机输入数据,而CPU在需要时,随时直接利用I/O指令访问相应的I/O端口,实现与外设的数据交换。有点是软、硬件结构简单,缺点是对时序要求高,只适用于简单的I/O控制。
- 程序查询方式。也称为程序轮询方式,该方式采用用户程序直接控制主机与外部设备之间输入/输出操作。CPU必须不停地循环测试I/O设备的状态端口,当发现设备出处于准备好(Ready)状态时,CPU就可以与I/O设备进行数据存取操作。这种方式下的CPU与I/O设备是串行工作的。
- 程序中断方式。当I/O设备结束(完成、特殊或异常)时,就会向CPU发出中断请求信号,CPU收到信号就可以采取相应措施。当某个进程要启动某个设备时,CPU就向相应的设备控制器发出一条I/O启动指令,然后CPU又返回做原来的工作。CPU和I/O设备可以并行工作,与程序查询方式,大大提高了CPU的利用率。
- DMA工作方式(直接内存存取)。其思想是:允许主存储器和I/O设备之间通过"DMA控制器(DMAC)"直接进行 批量数据交换,除了在数据传输开始和结束时,整个过程无需CPU的干预。
- 通道控制方式。在一定的硬件基础上利用软件手段实现对I/O的控制和传送,更多的免去了cpu的接入,使主机和外设并行工作程序更高。
- I/O处理机。指专门负责输入/输出的处理机。可以由独立的存储器、运算部件和指令控制部件。