目录
无条件传送,查询式传送,中断方式传送
1:以CUP为中心,控制来自CPU,通过预先编写好的I/O程序实现数据的传送,也就是这三种方式,数据都要过CPU
2:速度较低,传送路径经过CPU内部寄存器同时数据I/O响应也比较慢
前两种方式8255考的几率非常大
适用于总是处于准备好的状态的外设,外设的工作时间以知,必须在CPU限定的指令时间内准备就绪,并完成数据的接收和发送。(没有状态口)
把I/O指令插入到程序中,当程序执行到指令时,外设已做好准备,于是在此指令时间内完成数据传送任务。
软件及接口硬件简单
CPU效率低(因为在程序中需要频繁的插入I/O指令),只适用于简单外设(比如灯,开关),适应范围较窄
当CPU同外设不同步且不知道外设的工作效率时,可以采用此方式传送。传送前,CPU必须先对外设进行状态监测。查询外设是否准备好
外设并不总是准备好
对传送速率和效率要求不高(查询要一直等外设,单线程干不了别的事)
外设应提供设备状态信息
接口应具备状态端口
1通过执行一条输入指令,读取所选外设的当前状态
2:根据该设备的状态决定程序去向
外设‘忙’,‘为准备就绪’ ------>重复检测外设状态
外设‘空’‘准备就绪’ ---------->发出I/O指令,进行一次数据传送
CPU主动查询的过程
优点:软件比较简单
缺点:CPU效率低,数据传送和实时性差,速度较慢
无条件传送和查询传送方式的缺点是:CPU和外设只能串行工作
为了提高系统的工作效率,充分发挥CPU的高速运算能力,引入“中断”系统,利用中断来实现CPU与外设之间的数据传送,这就是中断传送方式
外设在需要时(准备好)向CPU提出请求,CPU在去为他服务。服务结束外设不需要时,CPU可以执行自己的程序
中断使CPU和外设以及外设之间能并行工作
可以理解:你明天6点有事情,你定了个闹钟,闹钟6点会主动叫你,你是被叫的。在这个时间段,你可以干别的工作(睡觉),闹钟也在干工作。这时候就是并行
在中断传送方式中,通常在程序中安排好在某一时刻启动某一个外设,然后CPU继续执行其主程序,当外设完成数据传送的准备后,向CPU发出中断请求信号,在CPU可以相应中断的条件下,主程序被中断,转去执行“中断服务程序(为中断写的程序)” 在中断服务程序中,完成一次CPU与外设之间的数据传送,传送完成后仍然返回被中断的主程序,从断点处继续执行。
优点:CPU效率高,实时性好,速度快
缺点:程序编制较为复杂
均需要CPU作为中介
软件:外设与内存之间的数据传送通过CPU执行程序完成的
硬件:I/O接口和存储器和读写和控制信号,地址信号都是由CPU发出的
缺点:程序的执行速度限定了传送的最大速度
DMAC ------>CPU 发出HOLD(HOLD Request) 总线请求信号
CPU--------> DMAC 总线请求响应信号(Hold Acknowledge) CPU让权
外设和内存之间直接传送数据的方式,在DMA传送方式中,对这一数据传送过程进程控制的硬件称为DMA控制器(DMAC)
特点:
外设直接与存储器进行数据交换,不需要CPU干涉,也不需要软件接入
总线由DMAC进行控制CPU要放弃总线控制权,内存和外设地址和读写控制信号均由DMAC提供
基本操作方法
1周期挪用(Cycle Stealing)
2周期扩散
3CPU停机(最常用,最简单的传送方式)