输入输出系统的特点
异步
IO系统相对于处理机是异步工作的
外设通常只要开始和结束时需要处理机干预
解决方法:
自治控制----即将处理机和外设功能剥离
实时
对于不同外设需要完成的功能不同,处理机需要对不同速度,不同传输方式(一个字符,多个字符)的外设进行多种相应。
如果错过服务时间,则可能丢失数据
因此需要多种方式响应。
解决方法:
将设备按工作方式和工作速度分类,cpu可以通过不同控制对各种设备进行操作。
与设备无关
什么叫设备无关?
计算机系统的输入输出设备种类、型号、规格繁多,所以必须屏蔽设备的物理特性,向用户提供一个统一、简便的使用接口
串行接口、并行接口
针对3种特性提出3种设计:
异步 ------- 自治控制
实时 ------- 层次结构()
与设备无关 --------- 分类处理(字符设备/ 块设备)
不同的输入输出方式
程序控制
只要一启动设备,cpu不断通过程序查询io设备准备好了没,这个过程中,cpu“原地踏步”,一般不能与外设并行工作。if设备未准备好则继续查询;if查询得到设备已经准备好,则将数据从io接口送至CPU,再由cpu送到主存。
该方式有4个特点:
(1)何时对何设备进行输入输出操作受CPU控制。
(2)CPU要通过指令对设备进行测试才能知道设备的工作状态。
如:闲、准备就绪、忙碌等
(3)数据的输入和输出都要经过CPU。
(4)用于连接低速外围设备,如终端、打印机等
缺点:
time-consuming 效率不高
cpu wait
if要管理多台设备时:
中断输入输出
cpu在启动io设备之后,不查询设备是否已经就绪,继续执行自身程序,当io设备准备好的时候并给cpu发出中断请求(io interrupt when ready),再给予响应。
特点:
(1)CPU与外围设备能够并行工作。
(2)能够处理例外事件。
(3)数据的输入和输出都要经过CPU。
(4)用于连接低速外围设备。
DMA
虽然中断方式能够提高效率,但是仍然需要占用cpu的寄存器,如果io设备能直接与主存交换信息不占用cpu寄存器,可进一步提高cpu的效率。
主存(dram)工作速度应与高速设备进行匹配,通过dma建立数据通路。因此dma的方式以主存为中心。
DMA的特点:
- 外围设备的访问请求直接发往主存储器,数据的传送过程不需要CPU的干预。主存将外围设备的访问设置最高优先级。
- 全部用硬件实现,不需要做保存现场和恢复现场等工作。
- DMA控制器复杂,需要设置数据寄存器、设备状态控制寄存器、主存地址寄存器、设备地址寄存器和数据交换个数计数器及控制逻辑等。
- 在DMA方式开始和结束时,需要处理机进行管理。
目前使用的DMA方式实际上有如下三种:
(1)周期窃取方式:
所以主存和io设备之间有一条通路,如果出现dma和cpu同时访问主存,cpu总是将总线占有权让给dma,这也称为dma窃取。而窃取的时间为一个存取周期,因此dma窃取=周期窃取。
在每一条指令执行结束时,CPU测试有没有DMA服务申请。
借用CPU完成DMA工作流程。包括数据和主存地址的传送,交换个数计数器减1,主存地址的增值及一些测试判断等。
- 周期窃取方式的优点是硬件结构简单,比较容易实现。
- 缺点是在数据输入或输出过程种实际上占用了CPU的时间。
(2)直接存取方式:
整个工作流程全部用硬件完成。
优点与缺点正好与周期窃取方式相反。
(3)数据块传送方式:
在设备控制器中设置一个比较大的数据缓冲存储器。设备控制器与主存储器之间的数据交换以数据块为单位,并采用程序中断方式进行。
采用数据块传送方式的外围设备有软盘驱动器、行式打印机、激光打印机、卡片阅读机、绘图仪等。