目录
一. 什么是IO设备
二. IO设备分类
2.1按照使用特性分类
2.2按照传输速率分配
2.3按照信息交换的单位分类
三. IO设备的构成
3.1 IO的机械部件
3.2 IO的电子部件
3.2.1设备控制器(IO控制器功能简介)
3.2.2设备控制器(IO控制器)组成
四. IO设备与计算机交互
4.1 程序直接控制交互
4.2加入中断(4.1的改进版)
4.3DMA方式(4.2的改进版)
4.4通道控制方式(4.3改进版)
4.5总结对比
五. IO设备多样性的解决办法
一. 什么是IO设备

二. IO设备分类
2.1按照使用特性分类
2.2按照传输速率分配
2.3按照信息交换的单位分类
(1)字符设备。以字符为单位向主机发送或从主机接收一个字符流的设备,无法对其进行定位和寻址。通常大部分输入设备和输出设备都可以看作是一种字符设备。如键盘、鼠标、显示器、打印机等。
(2)块设备。以一个固定大小的数据块为单位与主机交换信息,比如外部存储器,硬盘、SSD、光盘驱动器等。每个数据块有唯一的位置信息,可寻址。
三. IO设备的构成
I/O设备通常由机械部分和电子部分组成,机械部分是I/O设备本身,电子部分称为“设备控制器”或“I/O控制器”。I/O设备又称外围设备、外部设备,简称外设。
3.1 IO的机械部件
3.2 IO的电子部件
3.2.1设备控制器(IO控制器功能简介)
主要功能:控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换
设备控制器是CPU与I/O设备之间的接口,接收从CPU发来的命令,并去控制I/O设备工作
设备控制器是一个可编址的设备:
-
当仅控制一个设备时,它只有一个唯一的设备地址
-
若控制器可连接多个设备时,则应含有多个设备地址,并使每一个设备地址对应一个设备

3.2.2设备控制器(IO控制器)组成
设备控制器的一般结构(不同I/O模块在复杂性和控制外设的数量上相差很大):
图中所表示含义如下:
数据:IO设备所传输的数据状态:IO设备反馈状态
控制:控制器向IO设备发出信息
控制器与设备的接口:用于实现控制器与设备之间的通信I/O逻辑 :负责接收和识别CPU的各种命令(如地址译码),并负责对设备发出命令CPU与控制器的接口:用于实现CPU与控制器之间的通信。CPU通过控制线发出命令;通过地址线指明要操作的设备;通过数据线来取出(输入)数据,或放入(输出)数据
四. IO设备与计算机交互
4.1 程序直接控制交互
流程图:
4.2加入中断(4.1的改进版)
流程图:![]()
4.3DMA方式(4.2的改进版)
DMA工作过程:
流程图:
4.4通道控制方式(4.3改进版)

流程图:
4.5总结对比
五. IO设备多样性的解决办法
文件系统(当然也包括在其之上的应用程序)完全不清楚它使用的是什么类型的磁盘。它只需要简单地向通用块设备层发送读写请求即可,块设备层会将这些请求路由给对应的设备驱动,然后设备驱动来完成真正的底层操作。