第一级8237A 第二级8237A DREQ HRQ DACK HDLA 微处理器 HRQ HDLA DREQ HRQ DACK HDLA 图8-3二级8237A的级联示意图
DREQ DREQ DACK DACK HRQ HDLA HRQ HDLA HRQ HDLA 微 处 理 器 第一级8237A 第二级8237A 图8-3 二级8237A的级联示意图
2.8237A的传送类型 8237A主要完成三种不同的传送: 1)IO接口到存储器的传送 2)存储器到O接口的传送 3)存储器到存储器的传送 3.8237A的优先级处理 8237A有两种优先级方案可供编程选择: (1)固定优先级:规定每个通道的优先级是固定的,即通 道0的优先级最高,依次降低,通道3的优先级最低。 (2)循环优先级:规定刚被服务的通道的优先级为最低, 依次循环。这样,就可以保证4个通道都有机会被服务。 若3个通道已被服务,则剩下的通道一定是优先级最高的
2. 8237A的传送类型 8237A主要完成三种不同的传送: (1)I/O接口到存储器的传送 (2)存储器到I/O接口的传送 (3)存储器到存储器的传送 3. 8237A的优先级处理 8237A有两种优先级方案可供编程选择: (1)固定优先级:规定每个通道的优先级是固定的,即通 道0的优先级最高,依次降低,通道3的优先级最低。 (2)循环优先级:规定刚被服务的通道的优先级为最低, 依次循环。这样,就可以保证4个通道都有机会被服务。 若3个通道已被服务,则剩下的通道一定是优先级最高的
4.8237A的传送速率 般情况下,8237A进行一次DMA传送需要4 个时钟周期(不包括插入的等待周期)。例如,PC机的 时钟周期约为210ns,则一次DMA传送需要210 ns×4+210ns=1050ns,多加一个210ns是考虑到认为插 入一个等待周期的缘故。 另外,8237A为了提高传输速率,可以在压缩定时 状态下工作。在压缩定时下,每一个DMA总线周期仅用 2个时钟周期来实现,从而大大地提高了传送速率
4. 8237A的传送速率 一般情况下,8237A进行一次DMA传送需要4 个时钟周期(不包括插入的等待周期)。例如,PC机的 时 钟 周 期 约 为 2 1 0 n s , 则 一 次 D M A 传 送 需 要 2 1 0 ns×4+210 ns=1050 ns,多加一个210 ns是考虑到认为插 入一个等待周期的缘故。 另外,8237A为了提高传输速率,可以在压缩定时 状态下工作。在压缩定时下,每一个DMA总线周期仅用 2个时钟周期来实现,从而大大地提高了传送速率
8138237A的内部寄存器 1.8237A内部寄存器的种类 8237A的内部有10种不同类型的寄存器。各类寄存器 的名称、位数、寄存器个数及其主要功能见表8-1所示。 名称 位数 数量 功能 当前地址寄存器 保存在DMA传送期间的地址值,可读写 当前字节计数寄存器 保存当前字节数,初始值比实际值少1,可读写 基地址寄存器 保存当前地址寄存器的初始值,只能写 基字节计数寄存器 16 44444 保存相应通道当前字节计数器的初值 工作方式控制寄存器 保存相应通道的方式控制字,由编程写入 命令寄存器 状态寄存器 请求寄存器 88844 保存CPU发送的控制命令 保存8237A各通道的现行状态 保存各通道的DMA请求信号 屏蔽寄存器 用于选择允许或禁止各通道的DMA请求信号 暂存寄存器 暂存传输数据,仅用于存储器到存储器的传输
8.1.3 8237A的内部寄存器 1. 8237A内部寄存器的种类 8237A的内部有10种不同类型的寄存器。各类寄存器 的名称、位数、寄存器个数及其主要功能见表8-1所示。 名称 位数 数量 功能 当前地址寄存器 16 4 保存在DMA传送期间的地址值,可读写 当前字节计数寄存器 16 4 保存当前字节数,初始值比实际值少1,可读写 基地址寄存器 16 4 保存当前地址寄存器的初始值,只能写 基字节计数寄存器 16 4 保存相应通道当前字节计数器的初值 工作方式控制寄存器 8 4 保存相应通道的方式控制字,由编程写入 命令寄存器 8 1 保存CPU发送的控制命令 状态寄存器 8 1 保存8237A各通道的现行状态 请求寄存器 4 1 保存各通道的DMA请求信号 屏蔽寄存器 4 1 用于选择允许或禁止各通道的DMA请求信号 暂存寄存器 8 1 暂存传输数据,仅用于存储器到存储器的传输