输入输出系统
1.概述(What)
(1)输入系统:用来向系统输入信息,即向MEM中导入信息。
(2)输出系统:用来从系统向外部输出信息,即从MEM中导出信息。
2.结构(How)
2.1组成方式
输入输出系统可以分为I/O软件和I/O硬件两部分组成。
(1)I/O软件:主要指I/O指令。
(2)I/O硬件:一般带有接口的I/O系统中,一般包括接口模块及I/O设备两大部分。
2.2联系方式
(1)CPU如何对I/O设备编址?----对I/O设备进行编址
(2)如何寻找I/O设备号?----由I/O指令中的设备码字段直接指出该设备的设备号
(3)信息传送是逐位串行还是多位并行?----由接口电路决定
(4)I/O设备与主机以什么方式进行联络,使彼此知道对方处于何种状态?----是否可以传送,传送开始结束
(5)I/O与主机如何连接----总线式和辐射式(每个设备一组信号线和数据线)
2.3信息传送的控制方式
(1)程序查询方式
通过软件实现,即CPU通过程序不断查询I/O设备是否已经做好准备,如果设备准备就绪,那么就CPU从I/O接口中读取或写入数据,再由CPU送入MEM。
(2)中断方式
通过硬件实现,即CPU启动I/O设备后,继续执行自身程序,当I/O设备准备后,向CPU发出中断请求,CPU从现有程序转入执行中断程序,从I/O接口读入或写入数据,再由CPU存入MEM.
在中断方式中,CPU和I/O准备时期中,可以同步运行,提高了CPU的使用效率。缺点是仍需要通过CPU将数据存入MEM中,会消耗一定的CPU周期。
(3)DMA方式
在DMA方式中,数据直接由I/O接口存入MEM中,不需要调用中断程序,更少占用CPU周期。
在IO传递数据的过程中,存在两个时间差:(1)CPU通知IO设备启动,IO把数据准备好。(2)IO把数据准备好,靠CPU把数据转移到内存或者加入硬件设备(如寄存器保存起始位置,字节数,数据缓存,控制逻辑等)将数据传送到内存。