1.8237A的DMA操作方式
在8237A的有效操作周期内,8237A将以下述4种传送方式之一进行DMA操作。
1)单字节传送方式
此时8237A获得总线控制权后仅传送一个字节的数据,然后释放系统总线,归还给CPU使用。同时修改通道内的当前地址寄存器和当前字计数寄存器的内容,当计数器从0减为FFFFH时,产生终止计数信号,使EOP变为低电平。
单字节传送方式的优点是保证在任何二次DMA操作之间,CPU至少能在一个总线周期内获得总线控制权,达到CPU与DMA控制器处于并行工作的状态。 服务器配置推荐: 公司:腾正科技 企业Q:2885655958 配置:8核16线程 内存:16/32G 防御:160G 带宽: 100MG口带宽 43.240.158.1 43.240.158.2 43.240.158.3 43.240.158.4 43.240.158.5 110.42.2.11 2数据块传送方式
此时,8237A一旦获得总线控制权后将连续传送完一个数据块(它由N个字节的数据组成),然后释放系统总线归还给CPU使用。在这种传送方式中,一次DMA操作最多能传送64KB的数据块,DMA传送结束将取决于下面两种条件中的任一个:当前字计数寄存器的内容从0减为FFFFH时,并发出EOP有效信号;外部强加一个EOP为低电平的输入信号时,迫使8237A退出DMA操作。
在数据块传送方式中,要求DMA请求信号DREQ保持到DACK变为有效时即可,因为8237A一旦进入有效周期后就不再去采样DREQ信号了。
3请求传送方式
这种传送方式类似于数据传送方式,但此时要求在数据传送期间必须保持DREQ信号有效。因为此时8237A每传送一个字节的数据之后都要采样DREQ引脚。当出现当前字计数寄存器由0变为FFFFH或者EOP输入端加入低电平信号或者DREQ信号无效时都将停止DMA传送。
4级联方式
这是当多片8237A级联应用时采用的传送方式,从而实现多于4个通道的DMA方式。此时,从片8237A的HRQ和HLDA引脚应和主片8237A某个通道的DREQ和DACK引脚依次连接。
以上4种DMA传送方式均由方式控制字中的D7和D6两位来控制。
2.数据传送类型
在单字节传送、数据块传送和请求传送3种传送方式下,都可以采用DMA读、DMA写和校验传送3种基本传送类型,它们是通过方式控制字来设定的;此外,还有存储器到存储器、压缩时序、自动预置和循环优先级4种特殊的传送类型,它们是通过8237A的命令字来设定的。
1)DMA读
实现从存储器到I/O接口器件的传送,此时8237将发出MEMR和IOW控制信号以实现DMA读操作。
2)DMA写
实现从I/O接口器件到存储器的传送,此时8237A将发出IOR和MEMW控制信号,以实现DMA写操作。
3)校验传送
用于校验8237A的内部功能,它也产生地址的an/减1,字计数值减1及当计数值从0减为FFFFH时产生EOP信号等,但所有的读/写控制信号都处于无效状态。
4存储器到存储器传送
用来实现数据块从一个存储空间快速地传送到另一个存储空问。但这种类型仅适用于通道0和通道1,此时通道0产生源存储器的地址,通道1产生目的存储器的地址,每传送一个字节的数据需执行8个状态,前4个状态用于从源存储器中读取数据并存放于8237A中的数据暂存器,而后4个状态用于将数据暂存器的内容写入到目的存储器中。
5自动预置传送
它可在完成DMA服务并出现EOP有效信号后,将该通道的基地址寄存器和基本字节计数器的内容重新装入当前地址寄存器和当前字节计数器中,从而使该通道继续执行另一次DMA服务,无须CPU来预置上述地址值和计数值。
6循环优先传送
这是一种采用循环优先级管理方式使8237A中4个通道的优先级别做动态地循环改变,从而使每一个通道都有享受最高优先级别的资格,防止了一个通道独占DMA操作的局面。
7压缩时序传送
这是一种能获得更高的数据传送率的传送类型。
|