tk网站注册,河北石家庄特产,大学加强网站建设与管理的通知,淘宝运营工作内容DMA的基本概念 DMA是用硬件实现不再通过CPU的#xff0c;计算机内存储器与I/O设备之间的直接数据传送技术。该硬件称为DMA控制器#xff08;简称DMAC)#xff0c;用来控制数据的输入和输出#xff0c;复杂性堪比CPU。 DMA方式可实现: 数据存储器RAM→I/O端口的DMA读传送I/O… DMA的基本概念 DMA是用硬件实现不再通过CPU的计算机内存储器与I/O设备之间的直接数据传送技术。该硬件称为DMA控制器简称DMAC)用来控制数据的输入和输出复杂性堪比CPU。 DMA方式可实现: 数据存储器RAM→I/O端口的DMA读传送I/O端口→数据存储器RAM的DMA写传送数据存储器RAM→数据存储器RAM的存储单元传送。 8237A主要特性 物理特性:使用单一的5V电源单相时钟40条引脚双列直插式封装。 具有4个独立的通道:每个通道都具有64K存储器寻址能力一次传送的最大长度可达64K字节。可以在存储器和外设之间传送数据也可以在存储器之间进行传送。 独立性:每一通道的DMA请求都可以分别允许和禁止。每一通道的DMA请求的优先权可由编程规定为固定方式或旋转方式。 4种工作方式:单字节传送方式、数据块传送方式、请求传送方式、级联方式。 级联能力:可以用级联的方式扩展通道数最多可达16个DMA通道。 复位:有一条结束DMA传送的输入信号来结束DMA传送或重新初始化: 8237A内部结构 存储器地址寄存器传送字节数寄存器控制与状态寄存器数据缓冲寄存器 8237A初始化编程 输出主清除命令使8237A处于复位状态以接收新命令写入工作方式寄存器以确定8237A工作方式和传送类型;写入命令寄存器以控制8237A的工作;根据所选通道输入相应通道当前地址寄存器和基地址寄存器的初始值;输入当前字节计数器和基字节数寄存器的初始值;写入屏蔽寄存器写入请求寄存器便可由软件启动DMA传送。否则经过(1)~6)步编程后由硬件控制通道DREQ启动DMA传送的过程 【例8-1】初始化8237A。对PC系列的DMA控制器8237A进行测试。测试程序对4个通道的8个16位寄存器先后写入全“1”和全“0”再读出比较其是否一致。若不一致则出错停机。(设程序中的变量DMA地址是00H) 检测前禁止DMA控制器工作
MOV AL, 04H 命令字禁止8273A工作
OUT DMA08, AL 命令字送命令寄存器
OUT DMA0DAL 命令字送清除屏蔽寄存器MOV AL, 0FFH 全“1”检测
BEG:MOV BL, AL 暂存AX到BX
MOV BH, AL
MOV CX, 8 循环测试8个寄存器
MOV DX, DMA FF写入0~3号通道的基地址或字节数寄存器
LP1:OUT DX, AL 写入低8位
OUT DX, AL 再写入高8位8237A程序设计 目录