8257 DMA 控制器芯片描述
根据DIP封装,英特尔8257 DMA控制器芯片是一个40引脚的可编程集成电路。下面显示了物理和功能的引脚图。DMA控制器芯片8257工作在两种模式下,即从模式和主模式。类似地,处理器也工作在两种模式下,即活动模式和保持模式。处理器通常工作在活动模式下,在该模式下,处理器充当计算机系统的总线主控器。只有当需要DMA传输时,处理器才会进入保持状态,并将控制权交给系统总线。
当处理器对8257进行编程时,它处于从模式。但在读取寄存器内部存储器时,它处于活动模式,并成为计算机系统的总线主控器。
8257用于控制DMA数据传输,因为它包含四个I/O端口。每个I/O端口对应一个DMA通道。每个DMA通道都有一个称为DRQ的DMA请求输入,对应于一个DMA确认输出。每个DMA通道都包含一个16位地址寄存器和一个16位计数寄存器。
图:英特尔8257物理引脚图
图:英特尔8257功能引脚图
为了执行DMA数据操作,DMA通道有两个线HOLD和HLDA。当I/O端口需要DMA服务时,它激活8257的输入DRQ,从而发送8085的保持请求HRQ。8085完成当前机器周期并进入保持状态。在这种状态下,地址引脚和数据引脚(如RD*、WR*和IO/M*引脚)处于三态并连接。因此,8085有效地与系统其余部分断开连接。
处理器为总线主控器且8257处于从模式的情况
为了在处理器和8257的内部寄存器之间进行通信,使用D7-0/A15-8双向数据线。输入线A3-0用于选择8257的内部寄存器,以便与处理器通信。
IOR*和IOW*是8257的输入线,处理器通过它们读取和写入8257的内部寄存器。
8257的输出引脚为MR*、MW*和A7-,它们由8257置于三态。
处理器处于保持状态且8257处于主模式的情况
D7-0/A15-8线用作单向地址输出线,用于从8257发送地址的高位字节。
8257的输出线为A3-0,用于发送8257的低4位地址。8257的输出线为A7-4,用于发送8257的高位。
8257的输出引脚为IOR*、IOW*、MR*和MW*。如果需要执行DMA读取机器周期,则信号MR*和IOW*将由8257激活。信号IOR*和MW*变为非激活状态。如果需要执行DMA写入机器周期,则信号IOR*和MW*信号将由8257激活。但是,信号MR*和IOW*变为非激活状态。这些是处理器保持在保持状态而8257保持在主模式的情况。