8237A的传送类型
8237A的传送类型 ( s* L8 T* `! O7 c/ U N% ?* L5 X
除了级联模式外,8237A的其他三种模式都用于DMA传送。DMA传送有三种类型:DMA读、DMA写和校验。 % l& ^( i8 X! l5 W. P
(1)DMA读
5 w) |, g- Y+ _- ~ 把数据由存储器传送到外设。在一个DMA周期中,8237A先发出MEMR(上划线),从存储器读出数据,接着发出IOW(上划线),将这一数据写入外设。
3 f% C- m K7 p$ t (2)DMA写 : x" `; q& E/ @" v) U$ f. O
把外设输入的数据写入存储器。在一个DMA周期中,8237A先发出IOR(上划线),从外设输入数据,接着发出MEMW(上划线),将这一数据写入存储器。
3 o6 O; m( _3 H/ i: b+ i (3)校验
5 z1 [. u. x4 G$ d/ F% s5 D s 这是一种空操作。8237A本身不进行任何校验,而只是象DMA读和DNA写一样产生时序信号和地址信号,但是存储器和I/0读、写控制信号保持无效,所以不进行传送,而外设可利用这些时序信号进行校验。 & b- T( `1 @' T$ s6 O- P
此外,8237A还支持存储器到存储器的传送,但这时要固定使用通道O和通道l。通道O的地址寄存器编程为源区地址;通道l的地址寄存器编程为目的区地址;通道l的字节计数寄存器编程为传送的字节数。传送由软件将通道0的DREQ置位来启动(见后面请求寄存器一段)。8237A按正常时序向CPU发出DMA请求HRQ信号,在收到CPU的HLDA信号后,开始DMA传送。每传送一个字节需用8个时钟周期,前4个时钟周期用通道O的地址从源区读数据送人8237A的临时寄存器;后4个时钟周期用通道l地址寄存器的地址把临时寄存器中的数据写入目的区。每传送一个字节,源地址和目的地址都要修改,字节数减l。传送一直进行到通道1的字节计数寄存器从0减到FFFFH,产生TC引起EOP(上划线)端输出一个脉冲,结束DMA传送。也允许在传送过程中由外部送来一个EOP(上划线)信号停止DMA传送。
点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹