I/O设备
-
? 现代计算机系统通常配备大量的I/O设备,用于计
-
? 算机系统与外部世界(如用户、其它计算机或电 子设备等)进行信息交换或存储
-
? I/O设备又称为外围设备或外部设备,简称外设
-
I/O操作:内存和I/O设备之间的信息传送操作 不仅影响计算机的通用性和可扩充性,也是计算机 系统综合处理能力及性价比的重要因素
I/O设备的分类
-
按信息传输方向划分
-
? 输入设备:将外界信息输入计算机
-
? 例如:键盘,鼠标,扫描仪等
-
? 输出设备:将计算结果输出
-
? 例如:显示器,打印机等
-
? 输入输出设备:既可以输入信息,也可以输出信息
-
? 例如:磁盘驱动器, 卡等
按交互功能划分
-
人机交互设备:用于用户与计算机之间的交互通信
-
例如:鼠标,键盘,显示器等
-
存储设备:持久性地存储大量信息并快速检索
-
例如:磁盘驱动器,光盘驱动器等
-
机机通信设备:用于计算机和计算机之间的通信
-
例如: 卡,调制解调器等
-
按设备管理划分
-
字符设备:以字符为单位进行信息交换,发送或接收一个字符流
-
人机交互设备大多是字符设备,例如鼠标、显示器等
-
块设备:以固定大小的数据块(块是存储介质上连续信息组成的一个区域)进行信息交换
-
存储设备通常为块设备,例如磁盘驱动器等
-
络设备:用于与远程设备通信的设备
-
机机通信设备为 络设备,例如 卡等
-
络设备可以抽象为传送字符流的特殊字符设备,也可以抽象为传送连续小块数据的块设备
设备管理的目标
- 克服设备和CPU速度的不匹配所引起的问题,使主机和设备并行工作,提高设备使用效率
?
轮询方式
-
流程:
-
处理器向控制器发送一个I/O命令
-
如果设备未就绪,则重复测试过程,直至设备就绪
-
执行数据交换
-
等待I/O操作完成后,才可以继续其它操作
直接存储器访问(DMA)方式
-
DMA模块
-
模仿处理器来控制主存和设备控制器之间的数据交换
-
CPU不会终止原程序的执行
-
CPU只在数据传送的开始和结束时参与
-
开始时,CPU需要对DMA模块进行初始化
-
结束时,CPU响应中断,但不必保存现场
DMA方式中的周期窃取
? 当DMA和CPU同时经总线访问内存时,CPU总是将总线的占有权让给DMA一个或几个主存周期
? 周期窃取对延迟CPU与主存的数据交换影响不大
? 数据传送过程是不连续的和不规则的
? CPU大部分情况下与Cache进行数据交换,直接访问内存较少
I/O通道
-
又称为通道控制器、I/O处理器
-
设备控制器包含自身专用的处理器和通道程序
-
I/O指令不再由处理器执行,而是存在主存中,由I/O通道所包含的处理器执行
-
采用四级连接:处理器,通道,控制器,设备
-
可控制多台同类或不同类的设备
-
流程:
-
CPU在遇到I/O请求,启动指定通道
-
一旦启动成功,通道开始控制I/O设备进行操作,CPU执行其他任务
-
I/O操作完成后,I/O通道发出中断,CPU停止当前工作,转向处理I/O操作结束事件
-
CPU与通道并行工作
-
带有局部存储器的I/O通道
-
相当于一台自治的计算机
-
I/O指令存储在控制器自带的局部存储器中,并由I/O通道所包含的处理器执行
-
可以控制大量的I/O设备,同时最小化CPU的干涉
-
常用于交互式终端通信,负责包括控制终端在内的大部分任务
I/O发展对总线的影响
-
单总线
-
将CPU、主存和I/O模块连接到同一组总线上
-
优点:结构简单,易于扩充
-
缺点:主存需要和I/O模块共用总线;设备增多会造成总线变长,进而增加传输时延;无法适用于大量高速设备
-
采用南北桥的多级总线(例)
-
通过存储总线、PCI总线、E(ISA)总线分别连接主存、高速I/O设备和低速I/O设备
-
优点:可以支持不同数据速率的I/O设备
I/O软件
-
设计目标
-
高效率:改善设备效率,尤其是磁盘I/O操作的效率
-
通用性:用统一的标准来管理所有设备
-
设计思路
-
把软件组织成层次结构,低层软件用来屏蔽硬件细节,高层软件向用户提供简洁、友善的界面
-
主要考虑的问题
-
设备无关性:编写访问文件的程序与具体设备无关
-
出错处理:低层软件能处理的错误不让高层软件感知
-
同步/异步传输:支持阻塞和中断驱动两种工作方式
-
缓冲技术:建立数据缓冲区,提高吞吐率
I/O软件的层次结构
双缓冲
-
使用两个缓冲区
-
输入:设备先将数据输入缓冲区1,系统从缓冲区1把数据传到用户区,供应用程序处理,同时设备将数据传送到缓冲区2
-
输出:应用程序将数据从用户传送到缓冲区1,系统将数据传送到设备,同时应用程序将数据传送到缓冲区2

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!