微机原理与接口技术课件 第4章

合集下载

《微机原理与接口技术》课件 第4章

《微机原理与接口技术》课件 第4章
CLD
REP MOVSB
;设置源串段地址
;设置目的串段地址 ;设置源串偏移地址 ;设置目的串偏移地址 ;将串的长度送入CX ;将DF置为0,地址自动递增 ;重复执行串传送指令,每次传送一个字节
【例4-2】 对附加段中从BUFF开始的100个连续的内存单元进行 清0操作。
程序段如下:
LEA DI,BUFF MOV AL,00H MOV CX,100
4.3.3 循环控制指令
循环控制指令使用CX寄存器作为循环计数器,因此,在使用 循环指令前,必须先将循环次数存入CX中。 每执行一次循环控制指令,CX中的值自动减1,然后对循环 条件进行判断。
注:循环控制指令是短转移,即转移的目标地址必须在当前代码段内,偏移 量的范围为﹣128~127字节。
循环指令对标志位无影响。
4.段间间接调用
格式:CALL DWORD PTR OPR 功能:操作数为一个32位存储器单元,其内容为要调用的子程
序的入口偏移地址(低16位)和段地址(高16位)。
指令执行时,即(SP)←(SP)+4,存储器中指定地址开始的连续四个 单元的内容分别被赋于IP和CS。
【例4-9】 已知:主程序所在代码段的段地址为1000H,(IP)= 0100H,(DS)=2000H,(BX)=0200H,(20200H)=78H,(20201H) =56H,(20202H)=34H,(20203H)=12H,执行指令:CALL DWORD PTR [BX]。
3.段间直接调用
格式:CALL FAR PTR OPR 功能:操作数为子程序名,指令中直接给出要调用的子程序的
入口段地址和偏移地址。
指令执行时, (SP)←(SP)+4,子程序的入口地址(包括基地址和偏 移地址)被赋于CS和IP。

微机原理与接口技术-第4-1章

微机原理与接口技术-第4-1章

例4-3 用键盘最多输入10个字符,并存 入内存变量Buff中,若按“Enter”键,则 表示输入结束。
用BIOS层功能调用实现 层功能调用实现 的源程序: 的源程序: .MODEL SMALL CR EQU 0DH .STACK 200H .DATA Buff DB 10 DUP(?) .CODE .STARTUP MOV CX, 0AH LEA BX, Buff
Windows层功能模块的调用
Win32 API使用堆栈来传递参数 API函数调用 C语言的消息框函数的声明: int MessageBox( HWND hWnd, // handle to owner window LPCTSTR lpText, // text in message box LPCTSTR lpCaption, // message box title UINT uType // message box style );//参数 最后还有一句说明: Library: Use User32.lib.//说明这个函数的位置
API 函数的返回值
有的API 函数有返回值,如MessageBox 定义 函数有返回值, 有的 的返回值是int类型的数,返回值的类型对汇编 的返回值是 类型的数, 类型的数 程序来说也只有dword 一种类型,它永远放在 一种类型, 程序来说也只有 eax 中。如果要返回的内容不是一个 如果要返回的内容不是一个eax所能 所能 容纳的, 容纳的,Win32 API 采用的方法一般是返回一 个指针, 个指针,或者在调用参数中提供一个缓冲区地 干脆把数据直接返回到缓冲区中去。 址,干脆把数据直接返回到缓冲区中去。
.REPEAT MOV AH, 0H INT 16H .BREAK .IF AL==CR MOV [BX],AL INC BX .UNTILCXZ .EXIT 0 END

微机原理和接口技术第四章2 48页PPT文档

微机原理和接口技术第四章2 48页PPT文档

BP间址默认段地址SS。
(3)凡是遇到给SS赋值指令,系统自动禁止外部中断, 执行本条指令和下条指令后,恢复对SS寄存器赋值前 的中断开放情况。
这样做为了允许程序员连续用两条指令分别对SS 和SP寄存器赋值,同时又防止堆栈空间变动过程出现 中断。
*在修改SS和SP的指令之间不要插入其他指令。
(4) 所有通用传送指令不影响标志位
9
注意:
(1)不能用一条MOV指令实现以下传送。 ①存储单元之间的传送 MOV MEM2 , MEM1 错。
MOV AX , MEM1 MOV MEM2 , AX ②立即数送段寄存器 例 : MOV DS,2000H
对。 错。
MOV AX, 2000 H MOV DS , AX
对。
10
③ 段寄存器之间的传送 MOV ES , DS ; 错
(AX)
11 22 ...
(AX)
11H 22H ...
(SP)-2 (SP)-1
(SP)
(SP)

栈 (SP)+1
段 (SP)+2
22H

11H
栈 段
...
...
PUSH AX前
PUSH AX后
18
使用数据时将其弹出: POP BX
BX
33H 44H ...
(SP) (SP)+1 (SP)+2
22H
堆栈指针
SP
指令指针
IP(或PC)
标志位
Flags
目的和源变址寄存器
DI, SI
段寄存器
CS, DS, ES, SS
通用寄存器
r
AL或AX(取决于操作数长度) acc

微机原理和接口技术_第4章1

微机原理和接口技术_第4章1
4.时,LENGTH返回此变量所包含的单元数,对其 它变量则返回1。

M1 DW 100 DUP(?)
M2 DW 1, 2, 3
M3 DB ‘ A, B, C, D ‘
MOV CX,LENGTH M1
MOV BL,LENGTH M2
MOV AL,LENGTH M3
4
§4-1 汇编语言程序格式——伪指令语句
二、伪指令语句/指示性语句
伪指令语句:无对应的机器指令,汇编时对伪指令进行处理,可完成数据定义、
存储区分配、段定义、段分配、指示程序结束等功能。
语句的格式:
名字 伪指令指示符 操作数,操作数
;注释
▲名字:名字后不允许带冒号“:”,但可以省略。 •通常是变量名、段名、过程名、符号名等。
M2 DW 1, 2, 3
M3 DB ‘ A, B, C, D ‘
MOV CX,SIZE M1
ADD BL, SIZE M2
MOV AL, SIZE M3
汇编时,计算表达式形成指令为:
MOV CX,200
;返回变量所包含的200个字单元
MOV BL,2
MOV AL,1
24
§4-2 MASM中的表达式 ——修改属性运算符
五、修改属性运算符
修改属性运算符也称作综合运算符(Synthetic operators)。 包括6种: 段操作符、PTR、THIS、HIGH、LOW、SHORT 功能: 在程序运行过程中,修改变量或标号的属性,包括段属性、偏移地址属 性、类型属性等。
汇编时,计算表达式形成指令为:
MOV CX,100
;返回变量所包含的100个字单元
MOV BL,1
MOV AL,1
23

微机原理与接口技术第四章

微机原理与接口技术第四章
11
例3:MOV AX,BX 执行前(AX) = ?
(BX) = 1234H 执行后(AX) = 1234H
(BX) = 1234H
12
例4:MOV BL,AH 执行前AH = 00101100B 执行后BL= 00101100B
寄存器寻址示意图:
AH
BL
13
例5:寄存器寻址方式举例:
MOV MOV INC AL, BL DS, AX CX ;BL寄存器的内容→AL ;AX寄存器的内容→DS ;CX寄存器的内容加1
移地址有关的寻址两大类指令中应包含的信息:
4
与数据有关的寻址
80X86寻址方式
① 立即寻址 ② 寄存器寻址 ③直接寻址 ④寄存器间接寻址 ⑤基址寻址 ⑥变址寻址 ⑦基址加变址寻址 ① 段内直接寻址 ② 段内间接寻址 ③段间直接寻址 ④段间间接寻址
5
与转移地址有关的寻址
操作数包含在本条指令当中,这种操作数称为 立即数; 操作数存放在CPU的某个寄存器中,这种操作 数称为寄存器操作数; 操作数存放在存储器中,这种操作数称为存储 器操作数或内存操作数。
8

例1:
MOV AX,3064H 执行后AX=? AX=3064H

立即寻址示意图:
9
例2:立即数寻址方式举例: MOV AH, 01101100B*5
MOV EAX,34567809H
10
2、寄存器寻址方式(Register Address)
操作数放在通用寄存器中: 对于32位操作数,寄存器可以是EAX、EBX、ECX、 EDX、ESI、EDI、ESP、EBP等; 对于16位操作数,寄存器可以是AX、BX、CX、DX、 SI、DI、SP、BP等; 对于8位操作数,寄存器可以是AL、AH、BL┇ 、BH、 CL、CH、DL、DH等。 寄存器寻址方式的特点是运算速度快。

微机原理与接口技术PPT_第4章 汇编语言程序设计

微机原理与接口技术PPT_第4章 汇编语言程序设计

分段结构 程序按段编写, 内存分段编址相对应。 程序按段编写 与8086内存分段编址相对应。 内存分段编址相对应 每段由伪操作SEGMENT开始、由ENDS结束。 开始、 结束。 每段由伪操作 开始 结束 程序可由多个段构成,至少有一个代码段。 程序可由多个段构成,至少有一个代码段。 程序最后为END结束语句,后跟一启动地址。 程序最后为 结束语句,后跟一启动地址。 结束语句 启动地址指示程序开始执行的第一条语句。 启动地址指示程序开始执行的第一条语句。 程序中设有返回DOS的功能。 的功能。 程序中设有返回 的功能 使程序执行完后返回DOS系统的命令接受状态。 系统的命令接受状态。 使程序执行完后返回 系统的命令接受状态 程序中用到内存操作数时, 程序中用到内存操作数时, 应按操作数的寻址方式,给相应的段寄存器赋值 应按操作数的寻址方式 给相应的段寄存器赋值
根据语句功能的不同, 名字项可用来表示段名、 根据语句功能的不同, 名字项可用来表示段名、变量名 标号、过程名等。 、 标号、过程名等。 • 名字项用一个符号表示。 名字项用一个符号表示。 对符号的规定: 对符号的规定 ① 由字符 由字符A~Z ,a~z ,0~9及符号 、$、下划线 等组成 及符号@、 、下划线_ 及符号 最长31个字符 超出部分忽略。 个字符, ,最长 个字符,超出部分忽略。 不能用数字打头,以免与十六进制数相混。 ② 不能用数字打头,以免与十六进制数相混。 不使用汇编程序中的保留字。 如指令的助记符等 如指令的助记符等) ③ 不使用汇编程序中的保留字。 (如指令的助记符等 对定义的符号不区分大小写。但为便于记忆, ④ 对定义的符号不区分大小写。但为便于记忆,名字的定 义应该做到见名知意。 义应该做到见名知意。
例 4-1 给出一个完整的汇编语言源程序 完成两个字节数据相加。 完成两个字节数据相加。

微机原理与接口技术4章

微机原理与接口技术4章

段名 ENDS
(1)定位类型:用来规定段起始边界的要求,可以为以下四种,缺省为 PARA) PAGE: 16位段地址的最低8位必须为0,即从一页的起点开始。 PARA: 16位段地址的最低4位必须为0,即从一段的起点开始。 WORD: 16位段地址的最低1位必须为0,即从偶地址开始。 BYTE: 16位段地址可以为任意值,即段可以从任何字节开始
;伪指令,5个操作数 MOV AX,[BP十4] ;二个操作数
1.标号(名字):是给指令或某一存 储单元地址所起的名字。可由下列字
符组成: 字母:A ~ z ; 数字:0 ~ 9 ; 特殊字符:?、· 、@、一、$ 。
当标识符后跟冒号时,表示是标 号。它代表该行指令的起始地址;当 标识符后不带冒号时,表示变量;伪 指令前的标识符不加冒号。
;转至CYCLE
2021/6/12
MY_CODE ENDS END GO
;码段结束 ;整个程序结束
7
4.2汇编语言源程序的结构
一、 汇编语言的语句格式
[标号:] 指令助记符 [操作数][;注解]
[名字] 伪指令助记符 [参数][;注解]
例如: COUNT: INC CX ;一个操作数 COST DB 3,4,5,6,7
微机原理与接口技术
第四章 汇编语言程序设计
2021/6/12
1
第四章 汇编语言程序设计 主要内容
• 汇编语言程序的结构 • 汇编语言语句类型和组成 • 汇编语言程序设计
2021/6汇编语言程序的开发过程
文件名.ASM
汇编语言 源程序
汇编
文件名.OBJ
目标 程序
连接
连接程序能把一个或多个目标文件和库文件合成一个可执行程序 (.EXE、.COM文件):

微机原理与接口技术清华大学版第4章 ppt课件

微机原理与接口技术清华大学版第4章 ppt课件

定义字符串必须用DB伪指令
例:
DATA1 DB ‘ABCD’,66H
41H ‘ 42H A‘’ 43H B‘’ 44H C‘’
66H D’
2020/12/27
4
1. 汇编语言源程序与汇编程序
汇编语言源程序
用助记符编写
汇编程序
源程序的编译程序
汇编语言 源程序
汇编程序
机器语言 目标程序
2020/12/27
5
2. 汇编语言程序设计与执行过程
输入汇编语言源程序(EDIT) 汇编(MASM) 链接(LINK) 调试(TD)
源文件 . ASM 目标文件 .OBJ 可执行文件.EXE 最终程序
20
取值运算符
用于分析存储器操作数的属性
OFFSET SEG
取得其后变量或标号的偏移地址 取得其后变量或标号的段地址
TYPE LENGTH SIZE
取变量的类型 取所定义存储区的长度 取所定义存储区的字节数
2020/12/27
21
取值运算符例
MOV AX,SEG DATA MOV DS,AX MOV BX,OFFSET DATA
[变量名] 伪指令助记符 操作数,… ;[注释]
表示符号地址
定义变量类型
定义变量值 及区域大小
2020/12/27
29
1. 数据定义伪指令助记符
DB DW DD DQ DT
定义的变量为字节型 定义的变量为字类型(双字节) 定义的变量为双字型(4字节)
定义的变量为4字型(8字节)
定义的变量为10字节型
例:
MOV AL,8 AND 4 MOV AL,8+4-1
2020/12/27

微机原理与接口技术 第04章 可编程定时器计数器8254

微机原理与接口技术 第04章 可编程定时器计数器8254

4.1 概述
输出(分频)
声音的产生:
对输出方波整形 变成正弦波,经放大处理接 到扬声器上,产生不同声音 的波形。
输入脉冲
若选择标准输入脉冲, 例1KHz,则当输入1000个标 准输入脉冲,需要1s,则当 计数值为1000时,输出端每 隔1s输出一个脉冲,实现了 定时。 计算初值:N=fclki / fouti
硬件启动:在写入计数初值后计数器不工作,只有当GATE信 号出现0到1的变化后,计数器才开始工作 初值自动重装:当计数结束后,即减1计数器减到规定值的时候, 存放在初值寄存器中的计数初值自动重新装入减1计数器,这种功 能称为初值自动装载(方式2和方式3具有此功能)
4.2.3 8254的工作方式
4.1 概述
实现定时/计数有三种不同的方法:
(1)软件定时:执行一个具有固定延迟时间的循环程序。
优点:不需外加硬件,灵活,定时较准确。 缺点:在定时过程中CPU不能做任何其它工作。
总结:适用于定时时间短的场合。
(2)硬件定时:采用中规模TTL或CMOS芯片外加电阻电容来实现的。 不同的时间间隔主要是通过配接不同的阻容值达到的。 优点:不占用CPU时间。 缺点:变换定时较难。 总结:适用于定时时间间隔固定的场合。
8254有6种工作方式:方式0~方式5。对于每一种工作方式, 由时钟输入信号CLK确定计数器递减的速率。门控信号GATE用于 允许或禁止计数器计数。计数结束时在输出线OUT上产生一个信 号。 无论采用哪一种工作方式,都会遵循下面几条原则: (1)控制字写入计数器时,所有的控制逻辑电路立即复位, 输出端OUT进入初始态(高电平或低电平)。 (2)计数初值写入后,要经过一个时钟上升沿和一个下降 沿,计数执行部件才开始计数。 (3)在时钟脉冲CLK的上升沿时,门控信号被采样。 (4)在时钟脉冲CLK的下降沿时,计数器作减1计数,输出 端OUT的波形也都是在时钟周期的下降沿时产生电平的变化。

《微机原理与接口技术》课件——第4章微机原理与接口技术

《微机原理与接口技术》课件——第4章微机原理与接口技术

出错
连接 程序
LINK
出错 文件
XXX.EXE XXX.MAP XXX.LIB
出错
DEBUG
.OBJ:目标文件,.LST:列表文件,.CRF:交叉引用文件 .MAP:映像文件,LIB:库文件
说明:
操作使用的工具
操作得到的文件
4
4.2汇编语言格式
一个简单的8086系统下的汇编语言程序:
DATA SEGMENT
6
4.2汇编语言格式
➢ 指令语句
[标号:] 指令助记符 [操作数,操作数] [;注释]
例如: mov cx,8 ;2操作数指令
s: nop
;0操作数指令(nop空操作)
loop s
;1操作数指令
➢ 伪指令语句
[名字] 伪指令助记符 参数,参数… [;注释] 例如: data1 db 0,1,2 ;数据定义伪指令DB,在内存中定义
➢ 例如,对于代码段中的一条指令:
2000H:1234H ADDR: INC CX ;段地址=2000H 偏移量=1234H
则有:
MOV AX,SEG ADDR
;AX←2000H
MOV AX,OFFSET ADDR
;AX←1234H;与指令 “LEA
AX,ADDR” 等价
21
(2)TYPE、LENTH、SIZE
;3个连续的字节单元,初值是0,1,2 ;data1表示第一个数据0的偏移地址
7
4.3 汇编语言的基本数据
➢ห้องสมุดไป่ตู้汇编语言程序的语句中包含的元素 : 字符集 保留字与标识符 常量、变量与标号 表达式及运算符
8
一、字符集
➢ 允许使用的字符: 字母,包括大写字母A~Z和小写字母a~z; 数字,包括0~9; 特殊字符,包括:+ - * / =()[ ] < > ; , ‘ “ . — :? @ $ & 及空格、制表符、回车、换行等。

微机原理与接口技术-四章-16位微处理器

微机原理与接口技术-四章-16位微处理器

数据与指令的存储与访问
内存示意图
地址是数 据存放的 门牌号码 是标明数 据所在位 置的唯一 代号
所有CPU可以访问的数 据与指令都以二进制数 的形式存放在内存中
地址 0 1 2 … 255 …
内 容 00000100B(4) 10000000B(128) 00010001B(17) …… 00001111B (15) ……
数据寄存器
SP BP SI DI
IP
通用寄存器
地址指针和 变址寄存器
FLAGS
CS DS SS ES
控制寄存器
段寄存器
8086CPU内部寄存器结构
3.段寄存器 8086有四个段寄存器。为了寻址1MB内存,将内存分成若 干个逻辑段。每个段长64KB。使用四个段寄存器存放各段的基 本地址。 BIU中的四个段寄存器分别称为代码段CS(Code Segment) 寄存器、数据段DS(Data Segment) 寄存器、堆栈段SS(Stack Segment) 寄存器和附加段ES(Extra Segment) 寄存器。 CS段寄存器给出当前代码段的基址。DS段寄存器给出当前 数据段的基址。SS段寄存器给出当前堆栈段的基址。ES段寄存 器给出当前使用的附加段的基址。 4.控制寄存器 包括IP和FR两个16位寄存器。IP为指令指针寄存器,用来 存放代码段中的偏移地址。它与CS寄存器联用确定下一条指令 的物理地址。FR寄存器,下一小节将详细介绍。
2.指针及变址寄存器 包括SP、BP、SI、DI四个16位寄存器。它们可以像数据 寄存器一样在运算过程中存放操作数,但它们只能以字(16 位)为单位使用。此外,在段内寻址时用它们来提供偏移地 址。 SP:称为堆栈指针寄存器。用来指示栈顶的偏移地址, BP:称为基址指针寄存器。用作堆栈区中的一个基地址以 便访问堆栈中的其他信息。 SI:源变址寄存器。当与DS联用时,用来确定数据段中某 一存储单元的地址,在串处理指令中,SI作为隐含的源变址 寄存器,与DS联用达到在数据段寻址的目的。 DI:目的变址寄存器。在串处理指令中,DI作为隐含的目 的变址寄存器并ES联用在附加段中寻址,其它功能和使用方 法与SI基本相同。

微机原理与接口技术第4章微机存储器ppt课件

微机原理与接口技术第4章微机存储器ppt课件
◆近期最少使用(LRU)策略 为Cache的各页建立一个LRU(Least Recently Used) 表,随时记录它们的调用情况。当需要替换时,将在最 近一段时间内使用最少的页予以替换。显然,这是按调 用频繁程度决定淘汰的顺序,比较合理,Cache的访问 命中率较高。但是比FIFO策略复杂,系统开销稍大。
读/写控制线的连接
◆CPU读/写操作控制信号(M/IO,RD和WR)进行逻辑组合, 产生存储器读MEMR和存储器写MEMW信号,分别接存 储器芯片的读允许OE信号和写允许WE信号 。
RD M/IO
WR

MEMR

MEMW
存储器容量的扩充
◆当单个存储器芯片的容量不能满足存储器容量要求时,需 要用多个存储器芯片组合,以扩充存储器的容量。
768KB RAM 空间
微机存储器设计要点
◆ 芯片的选择(类型、存储容量、存取速度) ◆ 总线的负载(需要时增加缓冲/驱动器) ◆ 速度的匹配(需要时设计“READY” 电路) ◆ 地址的分配(实现分级地址译码) ——必须保证对存储单元寻址的惟一性
现代存储器技术
◆高性能微机系统的高速度、大容量、低价格是评价存储 器性能和存储体系设计主要的三大指标。
存储器字节数
8
芯片单元数
芯片位数
例如,设计一个64KB的RAM存储器:
若用静态RAM 6116(2K×8)芯片组成,则 64/2×1=32 片;
若用动态RAM 2116(16K×1)芯片组成,则 64/16×8=32片, 32片分成4组,每组8片。
常用存储器芯片的组成特性
芯片型号 M×N
地址线
数据线
↓命
Cache 中
地址
Cache
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

现代微机原理与接口技术
2.工作方式寄存器 .
17

现代微机原理与接口技术
3.状态寄存器 .
18

现代微机原理与接口技术
4.请求寄存器 .
19

现代微机原理与接口技术
5.屏蔽寄存器 .
82C37A内部状态变化流程 内部状态变化流程
现代微机原理与接口技术
23

现代微机原理与接口技术
24

4.3 DMA编程和应用举例 编程和应用举例 4.3.1 82C37A的初始化编程 的初始化编程

现代微机原理与接口技术
10

现代微机原理与接口技术
4.2.2 82C37A 的内部结构和引脚功能说明
1. 82C37A的特点 的特点 具有4个独立的 个独立的DMA通道,每个通道都可独立地进行 通道, ① 具有 个独立的 通道 初始化. 初始化. 每个通道的DMA请求都可以被允许或禁止. 请求都可以被允许或禁止. ② 每个通道的 请求都可以被允许或禁止 每个通道的DMA有不同的优先级,既可以是固定优 有不同的优先级, ③ 每个通道的 有不同的优先级 先级,也可以是循环优先级. 先级,也可以是循环优先级. 每个通道进行一次传送的最大字节数为64K. ④ 每个通道进行一次传送的最大字节数为 . 提供4种传送方式 单字节传送方式, 种传送方式: ⑤ 提供 种传送方式:单字节传送方式,数据块传送方 请求传送方式和级联传送方式. 式,请求传送方式和级联传送方式. 时钟频率从DC到 的全静态设计. ⑥ 时钟频率从 到5MHz的全静态设计. 的全静态设计 的时钟频率下传送速率高达1.6MB/s. ⑦ 在5MHz的时钟频率下传送速率高达 的时钟频率下传送速率高达 .
7

4.1.3 DMA传送的方式 传送的方式
1.DMA操作类型 . 操作类型
现代微机原理与接口技术
数据传送.数据传送是把源地址的数据传送到目的地 数据传送. 址中去. 址中去. 数据检验.当数据传送完毕之后,可以进行校验操作. 数据检验.当数据传送完毕之后,可以进行校验操作. 校验操作并不进行数据传送,只进行数据校验. 校验操作并不进行数据传送,只进行数据校验.但操 作过程仍然要通过DMAC向CPU提出申请,进入 提出申请, 作过程仍然要通过 向 提出申请 DMA周期. 周期. 周期 数据检索.数据检索操作并不进行数据传送,只是对 数据检索.数据检索操作并不进行数据传送, 在指定的内存区内查找某个关键字节或某几个关键数 据位是否存在,如果查找到了,就停止检索操作. 据位是否存在,如果查找到了,就停止检索操作.
1

现代微机原理与接口技术
第4章 DMA技术 章 技术 4.1 概述
4.1.1 数据传送的控制
数据传送涉及的3个问题 ◆ 数据传送涉及的 个问题 1)数据的来源; 1)数据的来源; 2)数据的去处; )数据的去处; 3)数据本身以及如何控制数据的传送. )数据本身以及如何控制数据的传送.
6

现代微机原理与接口技术
5)DMAC向I/O设备发出的 ) 设备发出的DMA应答信号; 应答信号; 向 设备发出的 应答信号 6)DMAC进行一个字节的传送; 进行一个字节的传送; ) 进行一个字节的传送 7)完成设定的字节数据传送,CPU恢复对系 )完成设定的字节数据传送, 恢复对系 统总线的控制. 统总线的控制.
20

4.2.4 82C37A DMA控制器端口地址 控制器端口地址
现代微机原理与接口技术
21

现代微机原理与接口技术
4.2.5 软命令
1)清先/后触发器软命令 )清先 后触发器软命令 MOV AL, 0XXH OUT 0CH, AL 2)总清除软命令 ) MOV AL, 0XXH OUT 0DH, AL
2ห้องสมุดไป่ตู้

现代微机原理与接口技术 ◆ DMA方式控制的数据传送 方式控制的数据传送
3

现代微机原理与接口技术 ◆ DMA传送方式通常用来高速传送 传送方式通常用来高速传送
大批量的数据块. 大批量的数据块.如: 硬盘和软盘I/O; 硬盘和软盘 ; 快速通信通道I/O; 快速通信通道 ;
现代微机原理与接口技术
3.应用举例 . 现假设在级联的82C37的主片通道 ,将内存其 的主片通道1, 现假设在级联的 的主片通道 始地址为80000H的280H字节的内容直接输出到外 始地址为 的 字节的内容直接输出到外 部设备. 部设备. MOV OUT MOV OUT OUT OUT AL, 4 08, AL AL, 0 0CH, AL 02, AL 02, AL ;命令字 禁止82C37工作 ;命令字, 禁止82C37工作 命令字, ;写命令寄存器 写命令寄存器 ;清除先 后触发器 清除先/后触发器 清除先 ;写低位地址 写低位地址 ;写高位地址 写高位地址
现代微机原理与接口技术
4.1.2 DMA传送的工作过程 传送的工作过程
1)I/O设备向 ) 设备向 设备向DMAC发出 发出DMA请求; 请求; 发出 请求 2) DMAC向CPU发出总线请求; 发出总线请求; ) 向 发出总线请求 3)CPU在执行完当前指令的当前的总线周期后, )CPU在执行完当前指令的当前的总线周期后 在执行完当前指令的当前的总线周期后, 发出总线响应信号; 向DMAC发出总线响应信号; 发出总线响应信号 4)CPU脱离对系统总线的控制,由DMAC接管 ) 脱离对系统总线的控制, 接管 脱离对系统总线的控制 对系统总线的控制; 对系统总线的控制;
多处理机和多程序数据块传送; 多处理机和多程序数据块传送;
在图像处理中, 屏幕送数据; 在图像处理中,对CRT屏幕送数据; 屏幕送数据 快速数据采集; 快速数据采集; 的刷新操作. DRAM的刷新操作. 的刷新操作
4

现代微机原理与接口技术

DMA传送包括: 传送包括: 传送包括
初始化编程的步骤: 初始化编程的步骤:
①命令字写入控制寄存器 ②屏蔽字写入屏蔽寄存器 ③方式字写入方式寄存器 ④清"0" 先/后触发器 后触发器 ⑤写入地址寄存器字节寄存器 ⑥解除屏蔽 ⑦写入请求寄存器
25

现代微机原理与接口技术
4.3.2 82C37A 的应用举例
现代微机原理与接口技术
2.82C37A 的引脚功能 .
14

现代微机原理与接口技术
4.2.3 82C37A 的内部寄存器
15

现代微机原理与接口技术
1.控制寄存器 .
16

11

现代微机原理与接口技术
2.82C37A 的内部结构 . ① DMA通道 通道 ② 读/写控制 写控制 ③ 控制逻辑
12

现代微机原理与接口技术
82C37A内部逻辑框图 内部逻辑框图
13

;0XXH为AL中任意值 为 中任意值 ;写入总清端口,执行总清除命令 写入总清端口, 写入总清端口 ;0XXH为AL中任意值 为 中任意值 ; 先/后触发器被清"0" 后触发器被清" 后触发器被清
3)清屏蔽寄存器软命令. )清屏蔽寄存器软命令. MOV AL, 0XXH OUT 0EH, AL
22
1.82C37A DMAC的级联 . 的级联
26

现代微机原理与接口技术
2.如何扩展82C37A DMAC的寻址空间 .如何扩展 的寻址空间
27

现代微机原理与接口技术
28

;0XXH为AL中任意值 为 中任意值 ;写入清屏蔽寄存器端口 写入清屏蔽寄存器端口
4.2.6 DMA控制器的工作时序 控制器的工作时序
空闲周期SI DMA空闲周期 空闲周期 过渡状态S0 DMA 过渡状态 有效周期( , , , ) 有效周期(S1,S2,S3,S4)
自学思考题
现代微机原理与接口技术
为什么DMA传送方式能实现高速传送? 传送方式能实现高速传送? 为什么 传送方式能实现高速传送 DMA传送的过程是什么样的?画出流程. 传送的过程是什么样的? 传送的过程是什么样的 画出流程. DMA有哪些操作方式?各有什么特点. 有哪些操作方式? 有哪些操作方式 各有什么特点. 简述DMA控制器的两个工作状态的特点. 控制器的两个工作状态的特点. 简述 控制器的两个工作状态的特点 试设计一种在8088大模式下与 大模式下与8237连接的基本电路 试设计一种在 大模式下与 连接的基本电路 并说明你的设计中8237各个端口的实际地址 各个端口的实际地址. 图.并说明你的设计中8237各个端口的实际地址. DMA控制器的时序包括哪几个状态周期?试画出正 控制器的时序包括哪几个状态周期? 控制器的时序包括哪几个状态周期 常读传输的时序. 常读传输的时序. DMAC的内部地址寄存器是 位的,如何扩展地址 的内部地址寄存器是16位的 的内部地址寄存器是 位的, 来访问16MB的地址空间? 的地址空间? 来访问 的地址空间
9

4.2 DMA控制器 控制器
现代微机原理与接口技术
4.2.1 DMA控制器在系统中的两种工作状态 控制器在系统中的两种工作状态
1)主动态 ) 获得总线控制权之后 取代CPU而成 在DMAC获得总线控制权之后,DMAC取代 获得总线控制权之后, 取代 而成 为系统的主控者,接管和控制系统总线(数据总线, 为系统的主控者,接管和控制系统总线(数据总线, 地址总线和控制总线).通过总线向存储器或I/O设备 ).通过总线向存储器或 地址总线和控制总线).通过总线向存储器或 设备 发出地址, 写信号 写信号, 发出地址,读/写信号,以控制在两个实体之间的传送 . 2)被动态 ) 获得总线控制权之前 控制( 在DMAC获得总线控制权之前,DMAC受CPU控制( 获得总线控制权之前, 受 控制 此时, 可对DMAC进行初始化编程,也可从 进行初始化编程, .此时,CPU可对 可对 进行初始化编程 DMAC中读出状态.当DMAC上电或复位时,DMAC 中读出状态. 上电或复位时, 中读出状态 上电或复位时 自动处于被动态. 自动处于被动态.
相关文档
最新文档