可编程DMA控制器8237
- 格式:doc
- 大小:29.00 KB
- 文档页数:5
8237芯片8237芯片是一种多功能可编程直接内存访问(DMA)控制器芯片,通常用于计算机系统和外设之间的数据传输。
以下是关于8237芯片的1000字简介:8237芯片是英特尔公司于1976年推出的一款集成电路芯片,用于计算机系统中的数据传输。
该芯片主要用于外设设备和计算机内存之间的数据传输,通过直接内存访问(DMA)技术来实现高效的数据传输。
8237芯片是针对intel 8086系列、80286、80386等CPU设计的,具有高度灵活性和可编程性。
它可控制传输速率、方向、优先级和传输长度,并可根据外设和系统的需要进行配置。
8237芯片的主要功能包括数据传输、中断控制和芯片寄存器控制等。
在数据传输方面,8237芯片可以通过DMA通道连接到外设设备,通过DMA传输方式实现高速数据传输。
它为系统提供了4个DMA通道,分别为DMA通道0、1、2和3,每个通道可以独立配置传输方向、时间和待传输数据的长度。
在中断控制方面,8237芯片具有优先级控制机制,可以控制DMA通道的中断请求优先级,确保数据传输的正常进行。
通过配置芯片的中断请求线,可以实现DMA通道的中断请求与CPU的单片或多片中断控制器之间的连接。
除了数据传输和中断控制,8237芯片还具有一系列寄存器,用于对芯片的工作模式、传输参数和状态信息进行控制和监视。
这些寄存器包括工作模式寄存器(mode register)、等待状态寄存器(status register)和请求寄存器(request register)等。
8237芯片在计算机系统中起到了关键的作用,它大大提高了数据传输的效率和可靠性。
通过使用DMA传输方式,可以减轻CPU的负担,提高系统的并行处理能力。
同时,8237芯片的可编程性使得它可以适应不同外设和系统的需求,提供灵活的数据传输方式。
总之,8237芯片是一款多功能可编程DMA控制器芯片,通过DMA传输方式实现高速数据传输。
它具有灵活性和可编程性,可以适应不同外设和系统的需求。
dma 控制器芯片8257 资料介绍
DMA 既可以指内存和外设直接存取数据这种内存访问的计算机技术,又可以指实现该技术的硬件模块(对于通用计算机PC 而言,DMA 控制逻辑由CPU 和DMA 控制接口逻辑芯片共同组成,嵌入式系统的DMA 控制器内建在处理器芯片内部,一般称为DMA 控制器,DMAC)。
值得注意的是,通常只有数据流量较大(kBps 或者更高)的外设才需要支持DMA 能力,这些应用方面典型的例子包括视频、音频和网络接口
现代计算机系统中,广泛采用了DMA 控制器与DMA 接口相分离的结构模式以IBM-PC 系列微型计算机的软盘机DMA 接口为例。
8237 DMA 控制器的编程结构
Intel 8237DMA 控制器芯片的内部结构
如下图。
8237工作原理
8237是一种DMA(Direct Memory Access,直接内存访问)控制器,其工作原理如下:
1. 初始化:首先,CPU将DMA控制器的寄存器进行初始化设置,包括传输模式、传输方向、数据长度等。
2. 配置DMA通道:DMA控制器可以有多个通道,每个通道可以独立地进行数据传输。
CPU需要配置DMA通道,指定它们所要使用的内存地址、外设地址以及数据传输的方向。
3. 请求方式:外设设备通过向DMA控制器发送请求信号来启动数据传输过程。
外设设备通常是在缓冲区已满或空时发出请求,要求DMA控制器将数据从内存复制到外设或从外设复制到内存。
4. 中断处理:在数据传输完成后,DMA控制器可以发送中断信号给CPU,以便CPU知道数据传输已经完成,可以进行进一步的处理。
中断信号可以触发CPU执行指定的中断服务程序。
5. 数据传输:DMA控制器会根据配置好的参数,直接从内存中读取数据,或者将数据写入内存,而无需CPU的干预。
DMA控制器和CPU可以并行工作,提高数据传输的效率。
总结:DMA控制器通过直接访问内存,实现了CPU与外设之
间的数据传输,并且减轻了CPU的负担。
它能够在数据传输过程中独立工作,大大提高了数据传输的效率。
课程名称汇编语言与微机原理
实验名称DMA 特性及8237 应用实验
实验目的、要求
1.掌握8237DMA控制器的工作原理。
2.了解DMA特性及8237的几种数据传输方式。
3.掌握8237的应用编程。
实验原理
直接存储器访问(DirectMemoryAccess,简称DMA),是指外部设备不经过CPU的干涉,直接实现对存储器的访问。
DMA传送方式可用来实现存储器到存储器、存储器到I/O接口、I/O接口到存储器之间的高速数据传送。
主要设备、器材
PC机一台,TD-PIT++实验装置一套。
实验原理及内容
直接存储器访问(DirectMemoryAccess,简称DMA),是指外部设备不经过CPU的干涉,直接实现对存储器的访问。
DMA传送方式可用来实现存储器到存储器、存储器到I/O接口、I/O接口到存储器之间的高速数据传送。
实验步骤
将存储器D800H单元开始的连续8个字节的数据复制到地址D810H开始的8个单元中,实现8237的存储器到存储器传输。
实验步骤
(1)实验接线图如图,按图接线。
(2)运行Tdpit集成操作软件,参考流程图4-5-10编写程序,编译、链接。
(3)打开软件中的“扩展存储区数据显示窗口”,对存储器的前8个字节空间写数,即“00H×4、01H×4、02H×4、 (07)
×4”单元写入8个数,起始地址是D800:0000H。
(4)运行程序,待程序运行停止后。
(5)在“扩展存储区数据显示窗口”中的偏移地址栏中输入D800:0020,并点击“读存储器”按钮,查看DMA传输结果,是否与首地址中写入的数据相同,可反复验证。
IOY0 EQU 3000H ;IOY0起始地址
MY8237_0 EQU IOY0+00H*4 ;通道0当前地址寄存器
MY8237_1 EQU IOY0+01H*4 ;通道0当前字节计数寄存器
MY8237_2 EQU IOY0+02H*4 ;通道1当前地址寄存器
MY8237_3 EQU IOY0+03H*4 ;通道1当前字节计数寄存器
MY8237_8 EQU IOY0+08H*4 ;写命令寄存器/读状态寄存器
MY8237_9 EQU IOY0+09H*4 ;请求寄存器
MY8237_B EQU IOY0+0BH*4 ;工作方式寄存器
MY8237_D EQU IOY0+0DH*4 ;写总清命令/读暂存寄存器MY8237_F EQU IOY0+0FH*4 ;屏蔽位寄存器
STACK1 SEGMENT STACK
DW 256 DUP(?)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX,MY8237_D ;写总清命令
OUT DX,AL
MOV DX,MY8237_0
MOV AL,00H
OUT DX,AL
MOV AL,00H
OUT DX,AL
MOV DX,MY8237_2
MOV AL,08H
OUT DX,AL
MOV AL,00H
OUT DX,AL
MOV DX,MY8237_1
MOV AL,07H
OUT DX,AL
MOV AL,00H
OUT DX,AL
MOV DX,MY8237_3 MOV AL,07H
OUT DX,AL
MOV AL,00H
OUT DX,AL
MOV DX,MY8237_B MOV AL,88H
OUT DX,AL
MOV AL,85H
OUT DX,AL
MOV DX,MY8237_8 MOV AL,81H
OUT DX,AL
MOV DX,MY8237_F MOV AL,00H
OUT DX,AL
MOV DX,MY8237_9 MOV AL,04H
OUT DX,AL
QUIT: MOV AX,4C00H
INT 21H
CODE ENDS
END START
实验结果
运行程序之后,DMA控制器实现了将存储器D800H单元开始的连续8个字节的数据复制到地址D810H开始的8个单元中,实现存储器到存储器的数据传输。