计算机组成原理自学笔记(五)
学习是个反人类的东西么?感觉是的。毕竟这是个学习笔记,还是专心聊学习吧。
概述
1.分散连接:
每个设备都有专门的控制电路,这些控制电路甚至和CPU的控制电路设计在一起紧耦合,这个时候增加和删除外部设备都很难,但是当时外部设备数量少,计算机数量少,因而这种设计方式可行。此时外部设备和主机之间的连接主要是采用***程序查询方式***。
CPU和I/O设备串行工作,I/O进行数据输入输出的时候,CPU必须运行相应的程序或者处于停等状态。
2.接口模块和DMA阶段:
I/O接口 和 DMA控制器 与CPU相互配合完成数据的输入输出,连接方式采用***总线方式连接***,I/O设备通过接口连接在总线上,一个总线可以连接多个设备;总线另外一段和主机相连。主机和I/O设备进行传输的传输控制方式发生变化,要求CPU和I/O之间进行并行工作,出现两种信息交换方式:中断方式/DMA方式。
3.具有通道结构阶段:
在中断方式/DMA方式当中,在信息传输过程当中或信息传输完成之后 CPU仍要参加(参入)部分信息传输的处理工作,为了使CPU的工作和I/O的工作并行起来,或者是输入输出系统数据输入输出管理/控制尽可能的从主机当中独立出来,出现了通道结构的阶段。
通道可以简单的看成是处理器或者是小型的功能更强的DMA控制器,能够执行通道程序,通道有自己的指令系统。通过执行通道程序,可以控制连接在通道上的I/O设备,和主机之间直接进行信息传输。
4.具有I/O处理机的阶段:
I/O处理机可以是专用的处理器,在大型计算机中我们可以使用现代的微处理器直接作为I/O处理机,控制I/O设备工作,或者是在有一些大型的计算机当中,直接采用与主机处理器相同的处理器当作I/O处理机,此时I/O处理及功能非常强大,甚至在没有I/O设备工作的时候,I/O处理机甚至可以作为主机的处理器完成相应的计算任务。
随着I/O系统的发展,数据的输入输出操作逐渐的从CPU当中分离出来,外部设备的独立性越来越强。
输入输出系统的组成
软件:
I/O指令:
CPU指令的一部分。
操作码–相当于I/O指令的标志,表示这样的指令是I/O指令;
命令码–相当于CPU指令集当中普通指令的一个指令码,指出对I/O设备进行什么样的操作(查询、输入、输出)
设备码–I/O设备的编码即地址,或者是I/O设备当中某一个寄存器的地址,这些寄存器我们称作I/O的端口
通道指令:
通道(DMA处理器)有自己的控制器,有的通道还有自己的存储器,通道能够执行由通道指令组成的通道程序,通道自身的指令。
应用程序通过广义I/O指令集调用外部设备。
广义I/O指令要指出参加数据传输的I/O设备,数据传输主存的首地址,传输数据的长度,传输的方向(向I/O设备传输还是向主存传输)。操作系统根据广义I/O指令给出的参数,以及要求的操作,会编写一个由通道指令组成的通道程序,并且把通道程序放在内存或通道自己内存的指定位置,之后启动通道进行工作。通道拿到通道程序的首地址后,就可以执行通道程序,控制I/O设备完成相应的输入输出工作。
通道指令的参数当中需要指出成块数据/数组的首地址(可以是单字节)、传送字数、操作指令等等。
硬件:
I/O设备与主机的联系方式
I/O设备编址方式:
1.统一编址:把I/O设备的地址看成是内存地址的一部分,此时CPU可以直接使用取数/存数指令对I/O设备进行访问/控制
2.不统一编址(单独编址):在内存地址空间外,单独设置地址空间,需要专门的I/O指令。
设备选址:
用设备选择电路识别是否被选中
传送方式:
串行/并行
联络方式:
1.立即响应
2.异步工作–采用应答信号方式
并行传输:CPU和接口之间并行(一般都是),I/O接口和I/O设备并行,要 达到并行工作,I/O接口和I/O设备之间要有多条数据线组成的类似总线结构的数据线来完成数据并行的输入和输出,双方之间还要采用应答线。
串行传输:
3.同步–采用同步时标
I/O设备与主机的连接方式
辐射式连接:
每台设备都配有一套控制线路和一组信号线,不便于增删设备
总线连接:
I/O设备与主机信息传送的控制方式
1.程序查询方式
2.程序中断方式
3.DMA方式