计算机组成原理DMA的全称,直接存贮器存取(DMA) -计算机组成原理与汇编语言-电子发烧友网站...
5.4.1 DMA的工作过程
要实现DMA传送,目前都采用大规模集成电路芯片DMA控制器(DMAC)。
DMA的工作过程大致如下:
①外设向DMAC发出DMA传送请求。
②DMAC通过连接到CPU的HOLD信号向CPU提出DMA请求。
③CPU在完成当前总线周期后会立即对DMA请求做出响应。
④待CPU将总线置高阻——放弃总线控制权,DMAC即开始对总线实施控制并向外设送出DMA的应答信号。
⑤DMAC送出地址信号和控制信号,实现外设与内存或内存与内存的数据传送。
⑥DMAC将规定的数据字节传送完之后,通过向CPU发HOLD信号,撤消对CPU的DMA请求。
5.4.2 DMA控制器8237
1. 8237的引线及功能
DMAC8237的外部引线图如图5.33所示。
A0~A3:双向地址线,具有三态输出。
A4~A7:三态输出线。
DB0~DB7:双向三态数据总线。
HRQ:保持请求信号
HLDA:保持响应信号
DREQ0~DREQ3:DMA请求(通道0~3)信号。
DACK0~DACK3:DMA响应信号,分别对应通道0~3。
CLK:时钟输入。
RESET:过程结束,低电平有效的双向信号。
2.8237的工作方式
8237工作有两种周期,即空闲周期和工作周期。
(1)空闲周期
(2)工作周期
①单字节传送方式。
②数据块传送。
③请求传送。
④级联方式。
(3) 传送类型
① 接口到存贮器的传送。
② 存贮器到接口。
③ 存贮器到存贮器。
(4) 优先级
(5) 传送速率
3. 8237的内部寄存器
8237有4个独立的DMA通道,有许多内部寄存器。 表5.3给出这些寄存器的名称、长度和数量。
(1)基地址寄存器
(2)基字数寄存器
(3)当前地址寄存器
(4)当前字数寄存器
(5)地址暂存寄存器和字数暂存寄存器
(6)方式寄存器
(7)命令寄存器
(8)请求寄存器
(9)屏蔽寄存器
①单个通道屏蔽字。
②四通道屏蔽字。
(10)状态寄存器
(11)暂存寄存器
(12)字节指针触发器
4. 8237的寻址及连接
8237的4个通道的寄存器及其他各种寄存器的寻址编码如表5.4和表5.5所示。
5. 8237的初始化
下面我们抽出PC机中BIOS对8237初始化部分加以说明:
①为了对DMAC8237初始化,首先进行总清。
②对DMAC(8237)的4个通道的基地址寄存器与当前地址寄存器、基字数寄存器及当前字数寄存器先写入FFFFH,再读出比较,看读写操作是否正确。
③程序对DMAC(8237)的零通道初始化。一行刷新结束,HRQ变为无效,退出DMA。
此处给出通道0初始化程序如下:
OUT DMA+0DH,AL ;总清8237
;INITIALIZEANDSTARTDMAFORMEMORYREFRESH
MOV DS,BX
MOV ES,BX ;初始化DS和ES
MOV AL,0FFH
OUT DMA+1,AL ;通道0的传送字节数,为64K字节
OUT DMA+1,AL
MOV DL,0BH ;使DX=000BH
MOV AL,58H
OUT DX,AL ;写方式字
MOV AL,0
OUT DMA+8,AL ;写入命令字
OUT DMA+10,AL; ;写屏蔽字
DMAC初始化程序如下:
INITADM:OUT DMA+0DH,AL ;总清
MOV AL,40H
OUT DMA+2,AL ;送地址低字节到通道1
MOV AL,74H
OUT DMA+2,AL ;送地址高字节到通道1
MOV AL,80H
OUT PAG,AL ;送页寄存器
MOV AL,64H
OUT DMA+3,AL;送传送字节数低字节到通道1
MOV AL,0
OUT DMA+3,AL ;送传送字节数高字节到通道1
MOV AL,59H ;通道1方式字:读操作,单字节 ;传送
OUT DMA+11,AL ;地址递增,自动预置
MOV AL,0 ;命令字,允许工作,固定优先级
OUT DMA+8,AL ;DACK低有效
OUT DMA+15,AL ;写屏蔽寄存器,规定允许 ;4个通道均可请求
程序中,将取数的存贮单元的首地址87440H分别写到页寄存器(外加的三态输出寄存器)和DMAC通道1的高低字节寄存器中。
这里每次传送一个字节。每传送100个字节循环。开始可以不用总清命令,以免影响其他通道。这时可以换成只清字节指针触发器的命令,即:
MOV AL,0
OUT DMA+12, AL
计算机组成原理DMA的全称,直接存贮器存取(DMA) -计算机组成原理与汇编语言-电子发烧友网站...相关推荐
- 计算机的硬盘和光盘数,磁盘与光盘介绍-计算机组成原理与汇编语言-电子发烧友网站...
4.5.1 磁盘1.软磁盘 在微型机上大都配有软盘驱动器,用软磁盘来存放各种信息. (1)软盘分类 目前使用的软盘按其直径分为:5.25英寸 1英寸=2.54cm. (2)软盘驱动器与系统的连接 驱动 ...
- 微型计算机三部分基本组成,微型计算机的基本结构-计算机组成原理与汇编语言-电子发烧友网站...
2.1.1 微型计算机的组成及各部分的功能 1. 硬件系统 微型计算机硬件系统如图2.1所示: 微型计算机主要由如下几个部分组成:微处理器或称中央处理单元(CPU).内部存贮器(简称内存).输入输出接 ...
- 计算机组成SRAM,静态读写存储器(SRAM)-计算机组成原理与汇编语言-电子发烧友网站...
4.2.1 静态读写存贮器( SRAM ) 1.概述 静态读写存贮器(SRAM)使用十分方便,在微型计算机领域获得了极其广泛的应用.现以一块典型的SRAM芯片为例说明其外部特性及工作过程. (1) 8 ...
- 计算机组成原理xchg,8088数据传送指令-计算机组成原理与汇编语言-电子发烧友网站...
3.2.1 数据传送指令 1. MOVOPRD1,OPRD2 MOV是操作码,OPRD1和OPRD2分别是目的操作数和源操作数.该指令可把一个字节或一个字操作数从源地址传送到目的地址. 源操作数可以是 ...
- 异常 计算机原理,中断和异常 -计算机组成原理与汇编语言-电子发烧友网站
7.5.1 分类 1. 中断 由外部事件引起的中断称为外部中断.这里有我们熟悉的可屏蔽中断 INTR和非屏蔽中断NMI. 2. 异常 如上所述,在8088中的内部中断,如除法.单步.溢出.软件中断(I ...
- 计算机组成位模式,Pentium的工作模式-计算机组成原理与汇编语言-电子发烧友网站...
7.4.1 实地址模式 1. 实地址模式的进入 在处理器复位后,处理器内部的CR0的PE位为0,表示此时处理器工作在实地址模式.同时,复位后的处理器的内部寄存器状态如表7.2所示. 2. 实地址模式下 ...
- 计算机组成原理中断控制器,中断控制器8259-计算机组成原理与汇编语言-电子发烧友网站...
5.2.3 中断控制器8259 ·弄清芯片外部引线以便将它们连接到系统中: ·了解它们的工作方式和工作特点,以便有选择地应用它们的某些工作方式: ·理解芯片内部的控制字.命令字,以便对它们进行编程: ...
- 计算机组成原理移位图,逻辑运算和移位指令-计算机组成原理与汇编语言-电子发烧友网站...
3.4.1 逻辑运算和移位指令 1.逻辑运算指令 (1)NOT OPRD 该指令对操作数进行求反操作,然后将结果送回.操作数可以是寄存器或贮器的内容.该指令对标志位不产生影响. 例如: NOT AL ...
- 计算机原理 中断,中断及中断系统-微计算机原理-电子发烧友网站
当前位置:电子发烧友网 > 图书频道 > 电子 > <微计算机原理> > 第6章 中断与DMA 第2节 中断及中断系统 第二节 中断及中断系统 2.1 中断的概念 ...
最新文章
- 剑指offer-丑数
- apollo mqtt linux qt,MQTT第5版更新,以及如何应用到Qt MQTT模块中
- 第一个 python for maya
- BootstrapBlazor 之王者组件 Table
- c++ 显示三维散点图_Python数据可视化,Matplotlib绘制“散点图”的两种方法!
- 【OJ】2020蓝桥杯模拟赛题解(Java语言描述)
- 在Spring Boot 项目中使用Spring AOP实现切面日志
- “抗疫”新战术:世卫组织联合IBM、甲骨文、微软构建了一个开放数据的区块链项目!...
- linux SNAT、DNAT目标函数
- LoadRunner11下载、安装与破解
- 2016版excel_【收藏转发】全套Excel自动计算表139份(回弹、土工、钢筋、集料、粉煤灰等)...
- 使用ZUNE从marketplace安装wp7 app的方法
- Excel高级应用教程:数据处理与数据分析
- Python爬虫——糗百
- ndoutils(ndo2db)安装部署
- 【技术问题】浏览器主页修复
- 51cto python数据分析系列课程 55g_Python 3 数据分析与挖掘系列课程完整版
- RSRP RSRQ RSSI SNR的定义
- 3步实现神经机器翻译模型处理
- JAVA常用工具类-【6】邮箱发送