点击蓝字
关注我们
相信说起I/O系统想必大家一定都不陌生。但也不排除有人想
哈哈哈哈哈,不要急,请您慢慢往下看!!
前方高能
I/O,I/O何为I/O呢,其中I为input(输入)的首字母,O则为output(输出)的首字母。我们可以这样简单理解为管理和控制计算机输入和输出的一个系统。I/O系统由两部分组成,一个是I/O软件,另一个是I/O硬件。
就是下面这个样子:
另一个我们常听到的名词就是总线,那什么又是总线呢,简单的说总线是计算机各种功能部件之间传送信息的公共通信干线。
I/O设备是什么组成的呢?
I/O设备总体上可以分为三类:人机交互设备、计算机信息存储设备和机·机通信设备。
I/O设备一般包设备控制器和设备本身两个部分,设备控制器是插在电路板上的一块或者一组芯片,是I/O设备的电子部分,它从OS上接收命令,协调和控制一台或者多台I/O设备的操作,实现设备操作与整个系统操作的同步。设备控制器本身具有一些缓冲区和一组专用的寄存器,负责在外部设备和本地缓冲区之间的数据转移。
I/O设备的另一部分是设备本身。设备本身具有相对简单的标准化接口,该接口隐蔽在设备控制器中,所以OS总是与设备控制器打交道,而不是设备交互。设备控制器不同导致了设备控制器类别各异,这些对设备控制器发布指令并接收其响应的程序,称为设备驱动程序。
开始的时候我们说到I/O设备总体上分为三大类。下面列举一下常见的这三类I/O设备:
人机交互设备:键盘、鼠标、摄像头、扫描仪、手写板、打印机、显示器、音响。
信息存储设备:磁盘、光盘、磁带。
机·机通信设备:调制解调器、D/A、A/D转换设备。
那I/O设备是如何工作呢?
我们可以用一张图来简单粗暴的理解一下。
其中的I/O接口是指主机与I/O设备之间设置的一个硬件电路及相应的软件控制。不同的I/O设备具有不同的设备控制器,这些控制器均通过I/O接口与主机进行交互。
说完I/O,我们来说下总线
早期的计算机多利用分散连接的方式,为有效实现I/O设备种类、数量的增加与主机连接的效率和灵活性,后来人们研制出来了总线的连接方式。总线是连接多个部件的信息传输线,是各个部件共享的传输介质。总线实际上是由许多传输线或通路组成的,每条线可以一位一位地传输二进制代码。
总线可以分为三种结构:面向CPU的双总线结构、单总线结构和以存储器为中心的双总线结构。
面向CPU的双总线结构
在这种结构中,总线分为两组,一组为连接CPU和主存的总线(M总线),另一组为I/O与CPU连接的主线(I/O总线),各个I/O接口挂载到I/O总线上,但这种结构在I/O与主存交换信息时仍要占用CPU,因此会影响CPU的效率。
单总线结构
将CPU、主存和I/O设备都挂载到一组总线上,使得CPU在I/O与主存交换信息时仍然可以处理其他任务,从而大大提高了CPU的工作效率。但由于各部件占用总线时的冲突问题,需要设置总线判断来确定谁先来占用总线。
以存储器为中心的双总线结构
这种总线结构是在单总线的CPU和主存之间增设一组存储总线,供主存和CPU传输信息以减轻系统总线的负担。
写在最后
总线是一种共享型的数据传送设备。虽然总线上可联接多个设备,但任一时刻通常只能有一对设备参与数据传输。按信息传输的形式,总线可分为并行总线和串行总线两种。
编辑 | 李学士
责编 | 董文静
审核 | 李晓慧老师