一,IO
1)发展概况
2)组成
软件:IO指令,通道指令
硬件:IO设备,IO接口
3)IO设备与主机的联系方式
IO设备是有地址的,主机要和IO设备进行联系就要给出IO设备的地址,首先要对其进行编址。有两种编址方式,统一编址和单独编址。
编完地址就可以进行设备寻址了,这里由设备选择电路进行设备选择。然后就可以进行数据传送了。这里传送方式又可以分为串行和并行。
另外IO设备的响应方式有以下几种:
IO设备和主机的连接方式有两种:
4)IO设备与主机的信息交换的控制方式
1,程序查询方式、
(以cpu读取IO设备数据为例)
由上面流程图可以看出要想往内存写入IO设备的数据一定要经过CPU,但是cpu很快而IO设备往往很慢,致使CPU始终处理查询IO设备状态的过程而并不能执行其他的指令,造成cpu的效率很低。
2,程序中断方式
这种方式下CPU不用一直查询IO设备的状态,而是在启动IO设备之后就去执行其他的程序,IO设备进行自己的数据传输准备工作,准备好了之后向CPU发送中断请求,这时CPU暂停正在执行的工作,转去执行该IO设备的数据转存工作。这种方式CPU不用像程序查询模式那样进行“踏步”等待,一定程度上解放了CPU。但是需要一定的成本进行中断操作(保护现场和恢复现场),所以还不够解放。
下面是程序中断电路的基本请求:
只有当设备准备就绪(D=1)以及屏蔽器MASK不生效,才能使中断请求触发器INTR生效。门电路如下:
如果有多个中断请求,就需要按照优先级进行响应,这个时候就需要有一个排队器。一般而言,速度越快的IO设备,其优先级越高,否则如果CPU不及时响应的话,IO设备的数据会很快丢失。
解决了哪一个中断源的中断请求的问题之后,就要解决如何找到中断服务程序的入口地址,下面介绍硬件方法.
由设备编码器形成中断服务程序的向量地址,再根据这个向量地址所存储的指令执行后跳转到专门的中断服务程序地址。
程序中断接口电路小结:
中断又分为单重中断和多重中断:
3,DMA方式(直接存储器访问)
DMA控制方式下若出现CPU和IO设备同时请求访问主存,CPU总是要让给IO设备。IO设备进行数据存取的时间称为一个窃取存取周期。这个时间段内CPU可以去执行不涉及主存的指令。DMA进一步提高了CPU的效率,不需要进行中断服务程序。 当然采用DMA方式也还需要额外搭建DMA接口电路,具有一定的花销。
简单的DMA结构:
(传送完成之后申请中断,由cpu进行后处理:检验数据传输正确与否,判断是否继续使用DMA等等)
4,IO通道
5,IO处理机
5)IO接口
IO接口电路: