输入输出是计算机组成里最后一个阶段,也是计算机扩展内容中最为庞大的一部分。随着现在万物互联的时代进入发展高峰,层出不穷的输入输出设备去满足人民的生产和生活。本章内容是对计算机中输入输出的概括,让大家了解输入输出系统的底层逻辑。
目录
一.输入输出系统的发展概况
早期
I/O设备采用分散连接。所谓分散连接,就是设备各个部分保持独立,每一个设备都有专门的控制线路,这些控制电路甚至和CPU的控制电路设计在一起集中耦合。
这就会导致计算机对设备的扩充和减少十分困难。但是在早期,可供使用的输入输出设备没那么多,一台计算机上也就是固定的那些设备,在当时影响不大。
在当时,CPU和I/O设备基本都是串行工作,控制方式为程序查询方式
接口和DMA阶段
随着计算机的发展,外部设备越来越多。分散连接变得不合适了。这个时候出现了接口模块和DMA控制器。采用总线连接,一个总线可以连接多个设备。
点击此篇文章有图示,可以帮助理解
这样主机和I/O设备进行传输的传输控制方式也发生了变化,要求CPU和I/O设备采用并行工作,控制方式为中断方式和DMA方式。
具有通道结构的阶段
通道可以当作一个处理器,一个小型的,功能更强的DMA处理器。它能够执行通道程序,有自己的指令系统。
你可以理解为高铁站/飞机场过行李安检的闸机,他把机场内外部连接起来,行李就可以当成数据。
具有I/O处理机的阶段
这部分更加复杂,但是也更加符合现在设备的特点。特定的I/O设备会有自己的处理机。这些处理机甚至在I/O设备没有进行工作的时候,可以作为主机的处理器完成计算工作。
通俗点的比方,就是这个设备里自带个CPU。
二.输入输出系统的组成
I/O软件
-
I/O指令:它是CPU指令集的一部分。CPU执行这些指令,使得外部设备和主机可以协调工作。
格式如下:
-
通道指令:通道自身的指令。能够执行由通道指令构成的通道程序。需要指出数组的首地址、传输字数、操作命令。
I/O硬件
硬件主要有I/O设备和接口,设备通过接口连接在主机上。
采用通道方式,设备连接在设备控制器,再连接到通道上.
三.I/O设备与主机的联系方式
I/O设备编址方式
- 统一方式:这个就是利用主存中存在地址的一部分作为I/O设备的地址,不需要单独的I/O指令。如果说输入输出指令或者是访存指令的地址码一部分的地址落入到了I/O地址的一部分,那么该指令对应的操纵就是对该I/O设备进行的。(有点绕,多看几遍)
- 非统一方式:就是有专门I/O设备指令。
设备选址和传送方式
设备选址通过设备选择电路来判断。
传送方式之前有讲过,就是串行和并行。
联络方式
分为立即响应、异步工作和同步工作。所谓立即响应,对一些结构简单的设备,接受到输入设备可以直接显示,比如说报警器;
异步工作采用应答信号,分为并行和串行
I/O接口的数据准备完成,向I/O设备发送“Ready信号”。I/O设备接受到“Ready”后,向接口发送应答信号“Strobe”和数据。
记住上图数据格式
同步工作采用同步时标,设备和主机要有一个定宽定距的的时标,来进行同时开始和同时结束。
此篇文章会有更多的回答
四.I/O设备与主机信息传送的控制方式
程序查询方式
从图上可以大致看出它的意思:CPU发出读指令后,需要检查I/O接口时候准备好。若是没有,CPU会一直检查,不断循环,直到准备就绪。
CPU和I/O串行工作。这种情况可能会导致CPU“原地踏步等待”,中间会存在一大部分的“等待时间”,极大的浪费了CPU的工作效率。
程序中断方式
中断方式是上述查询方式的改进。CPU发出读指令后,不用等待I/O接口是否准备好,先去完成自己的下一步的工作。等到准备就绪,I/O设备会向总线发出中断请求,CPU这才会开始执行I/O状态读取和后续的指令。
这种方式虽然改善了部分缺点,但仍然不尽人意。上面两种方式都是在主存和I/O
设备中间通过CPU来进行数据读入,下面这个方式将与众不同。
DMA方式
DMA方式是真正实现了CPU和I/O并行工作,使得CPU更加从输入输出解放出来。主存和I/O设备有一条直接数据通道,不需要中断现行程序,采用周期窃取(周期挪用)的方式。
周期挪用是指,DMA在控制主存和I/O设备直接进行数据交换时,需要用到总线,
这就需要从CPU手中接过总线的使用权,DMA接手的时间就是一个存取周期。
虽然CPU不能使用总线,不能进行访存操作,但是在这个周期当中还是可以运行的,CPU在执行的之前会有若干条指令已经被预取到CPU的指令缓冲当中了。
创作不易,转载可私信。未经同意禁止转载!!!