2查询式输出 输出数据端口 地址泽鸸器k址总线 AoA M/IO 数据 WR 锁存器 数据总线DB 状态端口 输出 地址译码器 装置 +5V Q D ACK M/IO R RD 态 缓冲器 去数据总线D BUSY (1)状态信息 “BUSY” IN指令读入状态(输出装置不忙,则Q端清0)--测试状态--OUT 指令输出数据
2.查询式输出 IN指令读入状态(输出装置不忙,则Q端清0)---测试状态----OUT 指令输出数据
查询式输出程序段 输出的数据是8位或16位,而读入的状态位是1位,设状态口的地址为 PORT S2,输出数据口的地址为 PORT OUT,传送数据的总字节数为 COUNT2,输出的数据放在2000H开始的一段存储区中 MOⅴBX,2000H;初始化地址指针 MOV CX, COUNT2;字节数 MOV DX. PORT S2 READ S2: N AL,DX;读入状态位 TEST AL,80H;外设准备好否? JNZ READ S2;否,循环检测 MOV AL,IBX;从内存缓冲区中取数据 MOV DX. PORT OUT OUT DX,AL;输出数据 INC BX ;修改地址指针 LOOP READ S2;宋传送完,继续传送
查询式输出程序段 输出的数据是8位或16位,而读入的状态位是1位,设状态口的地址为 PORT_S2,输出数据口的地址为PORT_OUT,传送数据的总字节数为 COUNT_2,输出的数据放在2000H开始的一段存储区中。 MOV BX, 2000H;初始化地址指针 MOV CX, COUNT_2;字节数 MOV DX, PORT_S2 READ_S2 : IN AL, DX ;读入状态位 TEST AL, 80H;外设准备好否? JNZ READ_S2 ;否,循环检测 MOV AL, [BX];从内存缓冲区中取数据 MOV DX, PORT_OUT OUT DX, AL ;输出数据 INC BX ;修改地址指针 LOOP READ_S2 ;未传送完,继续传送
623中断方式 ◆CPU被动、而外设主动的IO 主程序 操作方式,较大地提高了CPU 的工作效率,并使系统具有了 中断服务程序 实时处理功能 中断请求对外设 断点 进行处理 ◆接口特点:避免了CPU反复低 效率的查询,适用于CPU任务繁继续执行返回断点 忙、而数据传送不太频繁的系统 中。缺点是硬件电路和处理过程 都比较复杂;(中断控制芯片)
18 ◆接口特点:避免了CPU 反复低 效率的查询,适用于CPU任务繁 忙、而数据传送不太频繁的系统 中。缺点是硬件电路和处理过程 都比较复杂;(中断控制芯片) ◆CPU被动、而外设主动的I/O 操作方式,较大地提高了CPU 的工作效率,并使系统具有了 实时处理功能 6.2.3 中断方式 断点 主程序 中断服务程序 中断请求 对外设 进行处理 继续执行 返回断点
中断传送方式的接口电路 地址地址总线 译码器」A~A7 M/IO RD 数据 锁存器 三态 →去数据总线DB 缓冲器 输入 +5V INTR 设备中断允许 中断矢量匚 三态缓冲器 去数据总线DB INTA (中断响应信号) 输入设备输入数据,同时给出上升沿选通信号,经过D触发器提中断请求,如 果中断允许,产生ⅠNTR中断。CPU停止当前程序执行,给出NTA应答,外设 送入中断矢量,转入中断服务程序。读取数据
中断传送方式的接口电路 输入设备输入数据,同时给出上升沿选通信号,经过D触发器提中断请求,如 果中断允许,产生INTR中断。CPU停止当前程序执行,给出INTA应答,外设 送入中断矢量,转入中断服务程序。读取数据
624DMA方式 口内存与外设间数据传输频繁时,采用中断方式,每传 送一次数据,就必须经历中断处理的全部步骤,浪费 时间,而且需要CPU中的寄存器作为传输的中介。 口DMA方式:是一种不需要CPU干预也不需要软件介 入的高速数据传送方式。在外设(如磁盘)与内存之间 成批传送数据时,完全在DMA制器(DMAC)控 制下完成外设与内存的数据传送,而不必CPU的干预
20 内存与外设间数据传输频繁时,采用中断方式,每传 送一次数据,就必须经历中断处理的全部步骤,浪费 时间,而且需要CPU中的寄存器作为传输的中介。 DMA方式:是一种不需要CPU干预也不需要软件介 入的高速数据传送方式。在外设(如磁盘)与内存之间 成批传送数据时,完全在DMA控制器 (DMAC)控 制下完成外设与内存的数据传送,而不必 CPU的干预。 6.2.4 DMA方式