全站数据
8 4 2 0 5 8 1

主态时8237a在进行什么操作

专升本教育 | 简单学习,快乐成才!         
问题更新日期:2024-10-14 16:54:21

问题描述

主态时8237a在进行什么操作求高手给解答
精选答案
最佳答案

8237在设计时规定它有两种主要的工作周期,即空闲周期和有效周期,每一个周期又是由若干个时钟周期所组成的。

.

1. 空闲周期(被动工作方式)

当8237的任一通道都无请求时,就进入空闲周期,在空闲周期8237始终执行SI状态,在每一个时钟周期都采样通道的请求输入线DREQ。只要无请求就始终停留在Si状态。

在Si状态可由CPU对8237编程,或从8237读取状态。由于8237内部的地址寄存器和字节数计数器都是16位的,而数据线是8位的,所以,在8237的内部有一个触发器,称为高/低触发器,由它来控制写入16位寄存器的高8位还是低8位。

8237还具有一些软件命令,这些命令是通过对地址(A3-A0)和#IOW,#CS信号的译码决定的,不使用数据总线。

2. 有效周期(主动工作方式)

当8237在SI状态采样到外设有请求时,就脱离Si而进入So状态。当接收到HLDA,就使8237进入工作状态,开始DMA传送。工作状态由S1、S2、S3、S4组成,以完成数据传送,

若外设的数据传送速度较慢,不能在S4之前完成,则可由Ready线在S2或S3与S4之间插入Sw状态。

在存储器与存储器之间的传达,需要完成从存储器读和存储器写的操作,所以每一次传达需要个时钟周期,在前四个周期S11、S12、S13、S8完成从存储器读,另外四个周期S21、S22、S23、S24完成存储器写。

.