计算机组成原理之IO概述

输入输出系统的发展概况
1.早期
分散连接
也就是说每一个设备都有一个控制电路,和cpu的线路连接在一起,进行耦合,增加删除外部设备都非常的难,但是那个时候计算机数量少,外部设备也非常少,这种方式也是值得的。当时,外部设备和主机之间的链接只要是采用“程序的查询方式”,在这种方式当中,cpu和外部设备的工作是穿行进行的,IO进行数据输入输出的时候,cpu必须执行相应的程序,或者进行停机等待。

2.接口模块和DMA方式
随着计算机的发展,外部的设备越来越多,分散链接的方式已经不适应,计算机的发展和外部设备的发展,以及计算机技术领域的扩展。这个情况下就出现了IO接口和DMA控制器,IO接口和DMA控制器与主机进行相互的配合,完成数据的输入和输出。
链接方式也发生了变化,采用总线的链接方式,一个总线可以链接多个设备,另外一端,链接主机设备,这种情况下,数据传输的控制方式也发生了变化,要求cpu和IO之间进行并行的工作,也就出现了2种信息的交换方式
@中断方式
@DMA方式
但是这两种方式,仍然要参与少部分的数据传输工作,为了能使cpu完全从IO种独立出来,就又出现了具有通道结构的阶段

3.通道
通道可以看做是一个小型的,功能更强的DMA控制器,它能够执行通道程序,通道有自己的指令系统,通过执行通道程序,可以控制链接在通道上的IO设备和主机之间直接进行数据传输

4.IO处理器
概况就是:随着IO系统的发展,IO操作逐渐的被从CPU当中分离出来,IO的独立性越来越强。
二. 输入输出系统的组成
1.IO软件
IO指令 CPU指令的一部分
操作码,命令码,设备码
操作码:指名这是一个IO操作
命令码:指明具体的操作
设备码:指明具体的设备的编码,也就是IO设备的地址,或者是IO设备当中具体的寄存器,或者说这些寄存器又叫做IO端口
通道指令:又叫做小型的处理机,有自己的控制器,又的通道还有自己的寄存器

应用程序当中为了能调用IO,需要在应用程序的增加广义IO指令,广义IO指令要指出,参加数据传输的IO设备,数据传输主存的首地址,传输的数据长度,输出传输的方向(向设备传输还是向主存传输)
操作系统根据广义IO的参数,会编写一个由通道指令组成的通道程序,将它放在内存或者指定通道的内存中,然后启动通道。通道拿到通道的首地址以后,就可以开始工作,控制IO设备,完成输入和输出的工作。所以通道指令当中的一些参数,需要指出,要传输的成块的数据的首地址,数据的字数,传输的方向,通道也支持单字节传输。
IBM/370的通道指令为64位。

通道可以链接很多的子通道,每个子通道都可以链接IO控制器,IO控制器链接每个IO设备

你可能感兴趣的:(计算机组成原理之IO概述)