清华大学出版社TSINGHUA UNIVERSITYPRESS程序传送方式7.2.1程序传送方式有无条件传送方式和查询方式两种。1.无条件传送方式:若外围设备总是处于“就绪”状态,则可采用无条件传送方式。LoL1数据总线输出接口L2驱L3L4动L5L6L7IOW地址译码地址总线无条件输出传送方式的例子上一页
程序传送方式有无条件传送方式和查询方式两种。 ⒈无条件传送方式:若外围设备总是处于“就绪”状态,则 可采用无条件传送方式。 上一页 7.2.1 程序传送方式 无条件输出传送方式的例子
清华大学出版社TSINGHUA UNIVERSITYPRESS程序传送方式(续1)7.2.12.查询方式:程序查询方式一般采用状态驱动方式。传送时,CPU首先通过接口将命令字发给外围设备,启动外围设备工作。接着CPU等待外围设备完成接收或发送数据的准备工作。在等待时间内,CPU不断地用一条测试指令测试外围设备的状态。一旦CPU检测到外围设备处于“就绪状态,就可以进行数据传送。上一页
⒉查询方式:程序查询方式一般采用状态驱动方 式。传送时,CPU首先通过接口将命令字发给外 围设备,启动外围设备工作。接着CPU等待外围 设备完成接收或发送数据的准备工作。在等待时 间内,CPU不断地用一条测试指令测试外围设备 的状态。一旦CPU检测到外围设备处于“就绪” 状态,就可以进行数据传送。 上一页 7.2.1 程序传送方式(续1)
清华大学出版社TSINGHUA UNIVERSITYPRESS(续2)7.2.1程序传送方式开始向外设写入启动命令字读取外设的状态否就绪“?是 数据传输数据处理否传送结束?是结束程序查询方式的工作流程图上一页
上一页 7.2.1 程序传送方式(续2) 程序查询方式的工作流程图
清华大学出版社TSINGHUA UNIVERSITYPRESS程序传送方式(续3)7.2.1CPU在执行主程序的过程中周期性地调用各外围设备的“询问”子程序,依次“询问”各个外围设备的“状态”如果某个外围设备准备就绪,则转去执行这个外围设备的服务子程序;如果某个外围设备未准备就绪,则依次测试下一个外围设备。设备服务子程序的主要功能是:①实现数据传送。②修改内存地址,为下一个数据传送做准备。③修改传送字节数,以便确定数据块传送是否完成。上一页
上一页 7.2.1 程序传送方式(续3) CPU在执行主程序的过程中周期性地调用各外围设备的 “询问”子程序,依次“询问”各个外围设备的“状态” 。 如果某个外围设备准备就绪,则转去执行这个外围设备的 服务子程序;如果某个外围设备未准备就绪,则依次测试 下一个外围设备。 设备服务子程序的主要功能是: ①实现数据传送。 ②修改内存地址,为下一个数据传送做准备。 ③修改传送字节数,以便确定数据块传送是否完成
清华大学出版社TSINGHUA UNIVERSITYPRESS程序传送方式(续4)7.2.1在程序查询方式下,CPU根据事先编制好程序的先后次序定时查询外围设备的状态,外围设备处于“被动”的地位。显然,在这种方式下,无论外围设备是否需要CPU服务,CPU都要通过执行查询程序才知道。因此,程序查询方式效率较低上一页
上一页 7.2.1 程序传送方式(续4) 在程序查询方式下,CPU根据事先编制好程序的 先后次序定时查询外围设备的状态,外围设备处于 “被动”的地位。显然,在这种方式下,无论外围 设备是否需要CPU服务,CPU都要通过执行查询 程序才知道。因此,程序查询方式效率较低