目录
一. 什么是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设备
![](https://img-blog.csdnimg.cn/13c17a8eb1b744f7a38a7f23fe04af19.png)
二. 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设备工作
设备控制器是一个可编址的设备:
-
当仅控制一个设备时,它只有一个唯一的设备地址
-
若控制器可连接多个设备时,则应含有多个设备地址,并使每一个设备地址对应一个设备
![](https://img-blog.csdnimg.cn/ce8bcd7643344e7a8dec3348a8d0376e.png)
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改进版)
![](https://img-blog.csdnimg.cn/88f5b88195a2427bb77dc15198b1fa2b.png)
流程图:
4.5总结对比
五. IO设备多样性的解决办法
文件系统(当然也包括在其之上的应用程序)完全不清楚它使用的是什么类型的磁盘。它只需要简单地向通用块设备层发送读写请求即可,块设备层会将这些请求路由给对应的设备驱动,然后设备驱动来完成真正的底层操作。