第8章 微机原理DMA技术与DMA控制器
DMA与DMA控制器.ppt
校验传输 写传输
1 0 读传输
11
非法
X X D7 D6=11
• 8237A 控制/命令REG. 格式(写8号):硬件设置与运行控制
➢8237A硬件设置:
DACK有效电平 低电平有效
D7 D6 D5 D4 0
高电平有效
1
DREQ有效电平
高电平有效
0
低电平有效
1
扩展写
不扩展写
0
扩展写
1
D3=1
X
优先级类型
➢ RESET:输入,复位信号,复位时屏幕寄存器 置1,其它寄存器置0。
➢ EOP#:双向。输出时,表明内部通道传送结束; 输入时,表明外部强迫DMA传送仃止。
➢ DREQ0-DREQ3:I/O设备DMA请求输入信号。 ➢ DACK0-DACK3:输出DMA请求的响应。 ➢ HRQ:8237A向处理器发出的总线请求信号。 ➢ HLDA:处理器发给8237A的总线请求响应信号。
非法
A
写屏蔽标志 REG.
单一位
非法
B
写模式 REG.
非法
C
清除字节指针 F/F
读暂存器
D
复位 (总清)
非法
E
清除/屏蔽标志 REG.
三个软件 命令不依 赖DB上 数据
非法
F
所有位
写所有屏蔽 REG
• 8237A 模式 REG. 格式(写B号):工作方式设定
模式选择
D7 D6 D5 D4
随机请求传输模式 0
M M传送操作时经DB7-DB0,将M数据送 8237A暂存器。 ➢ A3-A4:地址线,从模块时为输入,处理器寻 址8237A;主模块时输出低压位地址。
微机原理与接口技术:18第8章 计数器定时器与DMA控制器
交通信息与控制工程系教案(理论教学用)
课程名称微机原理与接口技术第 18 次第 9 周 2 学时上课教室WM1310 课程类型专业基础课授课对象自动化专业章节名称第8章计数器/定时器与DMA控制器(8.1,8.2)
教学目的和要求1.了解软硬件定时的原理;2.掌握8253的原理及应用。
讲授主要内容及时间分配1.接口电路概况;(10min)
2.8253的外部引线和内部结构;(20min)
3.8253的工作方式和控制字;(30min)
4.8253的应用。
(30min)
教学重点与难点重点:
1.软硬件定时的原理;2.8253的原理及应用。
难点:
8253的原理及应用。
要求掌握知识点和分析方法1.了解软硬件定时的原理;2.掌握8253的原理及应用。
启发与提问
1.软件定时与硬件定时的区别?教学手段
多媒体
作业布置思考题:
1.了解最新的硬件定时芯片的原理及其应用,如DS12887等。
主要参考资料
备注
长安大学讲稿(第十九讲)。
第8章 DMA控制器(微型计算机技术课件)
二、 DMA数据传送的工作过程(续)
⑤ 待 CPU 将总线浮空,即放弃了总线控制权后,由 DMAC接管系统总线的控制权,并向外设送出DMA 的应答信号。 ⑥ 由DMAC送出地址信号和控制信号,实现外设与内 存或内存不同区域之间大量数据的快速传送。 ⑦ DMAC将规定的数据字节传送完之后,通过向CPU 发HOLD信号,撤消对CPU的DMA请求。CPU收到 此信号,一方面使 HLDA 无效,另一方面又重新开 始控制总线,实现正常取指令、分析指令、执行指 令的操作。
四、8237A的两种工作状态(续)
作为主模块工作时(有效周期): 当 8237A 作为主模块工作时,它会往总线 上提供要访问的内存地址,地址的低8位放在 A7~A0,而地址的高8位放在D7~D0。 作为主模块工作时, 8237A 还必须输出必 要 的 读 写 信 号 , IOR 、 IOW 、 MEMR 、 MEMW。
8 8 8 6 4 4
5.8237的三态缓冲器
8237 的数据引线,地址引线都有三 态缓冲器,因而可以接也可以释放 总线。
三、8237的外部结构
8237 是具有 40 个引脚的双列直插式 集成电路芯片
首先分类展开外部引脚
1. 请求与响应信号
DREQ0~DREQ3:DMA通道请求。当外设需 要请求DMA服务时,将DREQ信号置成有效电 平,并要保持到产生响应信号。对应于四个独 立的通道,DREQ的有效电平可以通过编程来 加以确定,优先级可以固定,也可以旋转。 HRQ :总线请求。 8237A 输出有效的 HRQ 高 电平,向CPU申请使用系统总线。 HLDA:总线响应。8237A接受来自CPU的响 应信号HLDA,取得了总线的控制权。 DACK0~DACK3:DMA通道响应。8237A使 请求服务的通道产生相应的DMA响应信号。
DMA控制器
西北师范大学计算机科学系http:// 版权声明本电子教案内容为西北师范大学计算机科学系微机原理与汇编语言课讲义,大家可以自己个人使用。
但由于本教案同时也部分使用了其他人所写讲义或CAI课件的内容,因此禁止使用本材料进行任何商业性或赢利性活动。
同时作者不承担由于使用本教案而引发的其他连带责任。
转载时请保留本版权声明。
-索国瑞suogr@DMA控制器❑DMA基本概念❑DMA控制器82371 DMA 基本概念利用中断进行数据传送,可以大大提高CPU 的利用率。
例如,某外设平均每 1 秒钟可以传送100 个字节。
如果采用查询方式,在这1 秒钟之内CPU 就要全部用于查询和传送;如果用中断传送方式的话,假定CPU 每传送一个字节的中断服务程序需要100μs,那么传送100 字节,CPU需用10 ms,即占1 秒的1/100。
于是,其余99/100的时间CPU就可以用于执行主程序。
但是中断传送仍然是由CPU 通过程序来传送数据。
每次都要完成保护断点,保护现场等操作,要执行多条指令。
每条指令都需要花费CPU的时间,这对于一个高速I/O 设备,以及成组交换数据的情况,例如磁盘与内存间的信息交换,就显得速度太慢,操作太烦琐。
所以希望用硬件在外设与内存间直接进行数据交换(DMA,Direct Memory Access),而不通过CPU。
这样数据传送速度的上限就取决于存储器和外设的数据传输速度。
但是,通常系统的地址总线和数据总线以及一些控制信号线(例如M/IO#、RD #、WR#等)都是由CPU 管理的。
……在DMA 方式时,希望CPU把总线控制权让出来(即使CPU 连到这些总线上的引脚处于第三态:高阻状态),由DMA 控制器来接管总线。
DMA 控制器将控制传送的字节数,判断DMA 传送是否结束,以及发出DMA 结束等信号。
通常DMA 的工作流程如图8-17所示;实现上述操作的框图,如图8-18所示。
当外设把数据准备好以后,发出一个选通脉冲,使DMA请求触发器置1。
DMA技术与DMA控制器
数据 状态/控制 状态/ 端口 端口 Ready
DMA控制器 DMA控制器 地址寄存器 计数器 控制/ 控制/状态 寄存器
HOLD C P U 存 储 器
HLDA
DMA请求 DMA请求 数据缓冲 寄存器 DMA请求 DMA请求 触发器 DMA响应 DMA响应
输入设备
DMA控制器工作原理图1 DMA控制器工作原理图1 控制器工作原理图
8237A的主要特性 的主要特性
4.具有单字节传送、数据块传送、请求传送 和级联传送四种工作方式。 5.可用级联方式扩展DMA通道数目。 6.DMA传送结束信号可由内部计数产生,也 可由外部输入提供。 7.单一的+5V电源,40个引脚双列直插式封 装。 8.采用5MHz时钟,传送速率可达1.6M字节/ 秒。 9.8237可以级连,任意扩展通道数。
DMA技术概述 技术概述
2、DMA传送方式的特点 DMA传送方式的特点 外设和内存之间,直接进行数据传送, 不通过CPU, 传送效率高。适用于在内存 与高速外设、内存两个区域之间,或两 个高速外设之间进行大批量数据传送。 电路结构复杂,硬件开销较大
DMA 传送过程示意图
总线
CPU
总线 请求 总线 响应
内 存
DMA请求 请求 DREQ
DMAC
DMA响应 响应 DACK
外 设
§11.1.1 DMAC的基本功能 的基本功能
接收接口往DMA控制器发出DMA请求信号后, DMA控制器能向CPU发出总线请求信号 HOLD(高电平)。 当CPU向DMA发出响应信号HLDA(高电平)以 后,DMA能接管对总线的控制,进入DMA方式。 能向地址总线发出内存地址信息,对其进 行寻址及修改地址指针。
8237A的工作原理 的工作原理
DMA控制器专业知识讲座
8.3 8237A旳工作模式和模式寄存器
1)工作模式:
① 单字节传播模式 ② 块传播模式 ③ 祈求传播模式
每完毕一种字节就释放 总线,然后P时中断传播。
每传完一种字节, 对DREQ测试。
④ 级联传播模式
第8章 DMA控制器
8.1 DMA控制器概要
DMA传送方式
为了克服程序控制传送旳不足:
外设←→CPU→←存储器
用专用接口电路直接和存储器进行数据传
送。
外设←→存储器
直接存储器存取DMA方式
特点:DMAC取得总线旳控制权,而且提供内 存/外设旳地址和读写控制信号
8.1 DMA控制器概要
① 作为从模块工作时 作为一种一般I/O接口与CPU通信。 CPU对它进行读写操作,以便初始化 或读取状态。
模式寄存器旳格式
8.4 8237A旳工作时序
8.5 8237A旳控制寄存器和状态寄存器
1、控制字:控制DMA控制器全部通道旳操作方式。
8.5 8237A旳控制寄存器和状态寄存器
2、状态字:
8.5 8237A旳控制寄存器和状态寄存器
3、祈求字和屏蔽字 DMA祈求寄存器旳格式 :
软件设置DMA 祈求,EOP信 号清除标志
8.5 8237A旳控制寄存器和状态寄存器
屏蔽寄存器旳格式
单个通道旳 屏蔽字
8.5 8237A旳控制寄存器和状态寄存器
综合屏蔽命令旳格式
4个通道旳 屏蔽字
8.5 8237A旳控制寄存器和状态寄存器
4、复位命令也叫综合清除命令,它旳功能
和RESET信号相同。使控制寄存器、状态 寄存器、DMA祈求寄存器、暂存器以及先/ 后触发器都清0,而使屏蔽寄存器置位。
第8章 DMA控制器
微机原理 DMA控制器(4)
8.2 DMA控制器8237A的编程结构和外部信号
• 8237A的对外连接信号
•CLK •CS# 时钟 片选 •IOW# • EOP# • DREQ • DACK • HRQ • HLDA 输入输出设备写 DMA传输过程结束 通道DMA请求输入 应答信号 总线请求 总线响应
微机原理 DMA控制器(13)
8.5 8237A的控制寄存器和状态寄存器 • 8237A全屏蔽命令的格式
微机原理 DMA控制器(14)
8.6 8237A各寄存器对应的端口地址
A3 1 1 1 1 1 1 1 1 1 1 A2 0 0 0 0 0 1 1 1 1 1 A1 0 0 0 1 1 0 0 0 1 1 A0 0 0 1 0 1 0 1 1 0 1 IOR 0 1 1 1 1 1 0 1 1 1 IOW 1 0 0 0 0 0 1 0 0 0 命令 读状态寄存器 写控制寄存器 写DMA请求寄存器 写单屏蔽寄存器 写模式寄存器 清除字节指针 读暂存器 发复位命令 清除屏蔽寄存器 写全屏蔽寄存器
微机原理 DMA控制器(23)
本章内容到此结束!
8.7 8237A的编程和使用
• 对通道1~3的地址寄存器的值进行测试
MOV DX,DMA+2 MOV CX,3 READ:IN AL,DX MOV AH,AL IN AL,DX CMP AX,0FFFFH JNZ HHH INC DX INC DX LOOP READ HHH:HLT
微机原理 DMA控制器(19)
8.7 8237A的编程和使用
• 8237A的初始化
总清 地址低字节 地址高字节 计数低字节 计数高字节 方式字
命令字
屏蔽字 其他通道参数
微机原理与接口技术9章(DMA控制器)
DMA控制器8237A
• 8237的引脚
– 其他
• EOP :双向,当字节数计数器减为0时,在 上输出一个有效的低电平脉冲,表明DMA传 送已经结束;也可接收外部的信号,强行结 束8237的DMA操作或者重新进行8237的初始 化 • CLK:时钟信号输入,对于标准的8237,其输 入时钟频率为3MHz • READY:输入,高电平表示传送准备好。可用 来在DMA传送周期中插入等待状态 • RESET:输入,复位信号。芯片复位时,屏蔽 寄存器被置1,其他寄存器均清零,8237工作 于空闲周期SI
– DMAC是控制存储器和外设之间直接高速传送数 据的硬件 – DMAC应具备的功能
• 能接受外设的DMA请求信号,并向外设发出DMA响 应信号 • 能向CPU发出总线请求信号,当CPU发出总线保持响 应信号后,能够接管对总线的控制权 • 能发出地址信息,对存储器寻址并修改地址 • 能向存储器和外设发出读/写控制信号 • 能控制传输的字节数,并判断传送是否结束 • 能发出DMA结束信号,DMA传送结束后,能释放总 线,让CPU重新获得总线控制权
DMA控制器8237A
• 8237的引脚
– 读写控制信号
• MEMR、MEMW:输出信号,控制对存储器的 读写 • IOW 、IOR :双向信号
– 输入信号:CPU向8237写控制字或读8237状态 – 输出信号:8237控制对外设的读写
DMA控制器8237A
• 8237的引脚
– 数据地址信号
• DB0~DB7:既是CPU向8237的数据通道(输入或输出);主动状 态时为向存储器输出的高8位地址A8~15 • A0~7:分两部分 – A0~3为双向,由CPU输入时选择8237的端口 – 输出时A0~3和A4~7一起输出存储器低8位地址 • ADSTB:正脉冲输出,地址选通信号,将DB0~7中的高8位地址信 号锁存到外部锁存器中 • AEN:高电平输出,地址输出允许,由它把锁存在外部锁存器中 的高8位地址送入系统的地址总线,同时禁止其它系统驱动器使 用系统总线 • CS :输入信号,片选信号
(精)第8章 可编程DMA控制器8237A
和当前字计数器,以及一个6位的工作方式寄存器。片内还
各有一个可编程的命令寄存器、屏蔽寄存器、请求寄存器、
状态寄存器和暂存寄存器,以及不可编程的字数暂存器和地
址暂存器等。
2. 8237A的引脚 8237A是一种具备40个
引脚的双列直插式DIP封 装的芯片,如图8-2所示。
8.3 8237A的工作方式 8237A在系统中可以有两种功能:一种功能是系统总线的主 控者,这是它工作的主方式。在取代CPU控制DMA传送时,它 应 提供存储器的地址和必要的读写控制信号,数据是在I/O设备 与存储器之间通过数据总线直接传递;另一种功能是在成为主控 者之前,必须由CPU对它编程以确定通道的选择、数据传送的模 式、存储器区域首地址、传送总字节数等等。在DMA传送之后 ,也有可能由CPU读取DMA控制器的状态。这时8237A如同一般 I/O端口设备一样,是系统总线的从设备,这是8237A工作的从方 式。
8.5 8237A的编程及应用
1. 8237A编程的一般步骤 在进行DMA传输之前,CPU要对8237A进行初始化编程, 设 定工作模式及参数等。通常,其编程内容主要包括以下几 步: 1 输出总清除命令,使8237A处于复位状态,做好接收 新命令的准备; 2 根据所选通道,写入相应通道的基地址寄存器和当前 地址寄存器的初始值; 3 写入基字节计数寄存器和当前字节计数寄存器的初始 值; 4 写入方式控制寄存器,以确定8237A的工作方式和传 送类型; 5 写入屏蔽寄存器; 6 写入命令寄存器,以控制8237A的工作; 7 写入请求寄存器。
DMA EQU 00H OUT DMA+0DH,AL MOV AX,6000H OUT DMA+00H,AL MOV AL,AH OUT DMA+00H,AL MOV AX,0400H DEC AX OUT DMA+01H,AL MOV AL,AH OUT DMA+01H,AL
!微机原理讲义(第8章DMA控制器的编程结构及编程)
9.2 DMA控制器8237A的原理
(4)控制信号
ADSTB:地址选通信号。此信号有效时,DMA控制器的当前
地址寄存器中的高8位地址通过DB0~DB7送到外部锁存器。
AEN:地址允许。使地址锁存器中的高8位地址送地址总线。 READY:准备就绪信号。低电平时,8237A处于等待状态,
高电平表示外设或存储器准备就绪。
EOP:DMA传输过程结束信号。DMA传送过程结束,则从
EOP输出一个低有效脉冲。若从EOP输入低脉冲信号,则表 明外部强制结束DMA传送。
27
3. 8237A工作时各信号的配合
作为从模块工作时
8237A用高12位地址产生片选信号,用低4位来选择内部寄存 器 用IOR和IOW作为读/写控制端 此时信号CS、HRQ、AEN均为低电平
DREQ
HRQ
DMAC
DACK HLDA
CPU
23
9.2 DMA控制器8237A的原理
2. 8237A的外部信号 (2)地址信号线
A3 ~ A0:地址线,双向三态。
被动状态下,为输入,作为CPU对8237A内部的
16个寄存器与存储器地址的最
DMA的传送过程分5个阶段:
1. 初始化阶段
要传送的数据字节数 ► 数据在存储器中的起始地址 ► 传送方向 ► DMAC的通道号 ……
►
DMAC
11
DMA的传送过程分5个阶段:
2. 申请阶段
►当外设有DMA需求,并且已准备就绪,则向
DMA控制器发出DMA请求信号DREQ。
►DMA控制器接收到DMA请求信号后,向CPU
CPU在每个DMA周期结束后
DMAC发总线请求
第8章_DMA控制器8237
DMA控制器的地址寄存器加1或减1 ,计数器减1,DMA撤除总线请求信号
7.2.2 8237A的编程结构(含工作 的编程结构( 的编程结构 模式) 模式)
8237A是INTEL系统中的高性能可编程 是 系统中的高性能可编程 DMA控制器,允许 控制器, 控制器 允许DMA传输速度高达 传输速度高达 1.6M字节 秒。 字节/秒 字节 8237A一方面为总线主模块,另一方面 一方面为总线主模块, 一方面为总线主模块 又可以和其他接口一样,接受CPU的读 又可以和其他接口一样,接受 的读 写操作,即作为总线从模块。 写操作,即作为总线从模块。
置屏蔽寄存器对应位为1, 置屏蔽寄存器对应位为 ,则该通道不能 接收DMA请求(硬件或软件); 请求( 接收 请求 硬件或软件); 在没有设置自动预置时, 在没有设置自动预置时,当EOP信号有 信号有 效时,就自动设置屏蔽标志。 效时,就自动设置屏蔽标志。
DMA请求寄存器的格式 请求寄存器的格式
说明:
(1)自动预置:当计数到 时,当前地址寄存 )自动预置:当计数到0时 器和当前字节计数器会从基本地址寄存器和基 本字节计数器中重新取得新值, 本字节计数器中重新取得新值,从而可进入下 一个数据传输过程。 一个数据传输过程。 (2)读写传输是相对于内存而言, )读写传输是相对于内存而言, (3)校验传输用于器件测试。 )校验传输用于器件测试。
7.2 DMA控制器 控制器8237A 控制器
7.2.1 7.2.2 7.2.3 7.2.4 DMA控制器概述 控制器概述 8237的编程结构(含工作模式) 的编程结构( 的编程结构 含工作模式) 8237的引脚信号 的引脚信号 8237的应用编程 的应用编程
7.2.1 DMA控制器概述
DMA控制器可得到总线控制权,用 控制器可得到总线控制权, 控制器可得到总线控制权 DMA方式实现外部设备和存储器之间的 方式实现外部设备和存储器之间的 数据高速传输。 数据高速传输。 一个DMA控制器一般可以连接一个或几 一个 控制器一般可以连接一个或几 个输入输出接口, 个输入输出接口,每个接口通过一组连 线和DMA控制器相连。 控制器相连。 线和 控制器相连 习惯上, DMA控制器中和某个接口有联 习惯上,将DMA控制器中和某个接口有联 系的部分称为一个通道
微机原理与接口技术——第8章DMA
8086/8088微处理器
16
17
8237A内部结构
• DMA通道寄存器: 每个DMA通道都有各自的当前地址寄存器、当 前字节数寄存器和基地址寄存器、基字节数寄 存器,它们都是16位寄存器。 四个通道共用的地址暂存器(16位)和字节计数 暂存器(16位) • 控制和状态寄存器: 模式寄存器(4个通道各有一个,6位的寄存 器)、命令寄存器(8位)、状态寄存器(8位)、 屏蔽寄存器(4位)、请求寄存器(4位)、临时寄 18 存器(8位)
8237A的工作过程(2)
• S1状态:高地址锁存。地址允许信号AEN有效,8237A 开始控制系统总线。数据总线输出高8位地址,A7 ~ A0 输出低8位地址。ADSTB为外部地址锁存信号,开始有 效。 • S2状态:ADSTB锁存高8位地址,存储单元的低8位地址 在A7~A0;8237A向外设输出DMA响应信号DACK。 • S3状态:“读控制”信号有效 。数据出现在数据总线 上。 • S4状态:“写控制”信号有效,此时,读、写信号同 时有效。 • S4状态末,“读、写控制”信号均无效,完成外设和 26 存储器之间的一个数据传送。
10
8237DMA控制器
角色2: 取代CPU用程序控制传送数据的各项功能: 4)能对存储器寻址,并能修改地址指针。 5)能发出读、写等控制信号,包括存储器访 问信号和I/O端口访问信号。 6)能决定传送的字节数,并能判断DMA传送 是否结束。 7)能发出DMA传送结束信号,释放系统总线。 使CPU恢复对总线的控制权
8237A的工作过程(4)
这个过程一直继续到把规定字节的数据传送完, 终止计数TC(Terminal Counter,即当前字节数寄 存器减到零之后,又减1到0FFFFH)。一个完整 的DMA传送过程结束,8237A重新进入空闲周期, 等待新的DMA请求。 DMA传送实现了外设与存储器之间的直接数 据传送,传送的数据既不进入8237A内部,也不 进入CPU。 DMA控制器不提供I/O端口地址(地址线上总 是存储器地址),进行DMA传送的外设应负责将 数据送到接口或从接口取得数据。 28
《DMA控制器》课件
在视频采集和编码等应用中,DMA控制
网络传输
2
器可大幅提高数据传输速度和精度。
在网络数据传输中,DMA控制器可实现
数据处理和传输的高度并行化,有效提
升网络传输效率。
3
外设控制
在外设控制方面,DMA控制器可实现 CPU和外部设备的解耦,有效降低了系 统的延迟和负载。
CPU依赖问题
在没有DMA的情况下,CPU必须执行实际的数据传 输操作,这会大大耗费CPU的时间和资源。
解决方案
引入DMA控制器,它具有独立的地址总线、数据总 线和控制总线,能在不占用CPU资源的情况下控制 数据传输,大大减轻了CPU的压力。
DMA的基本操作流程
1
初始化
设定DMA控制器Biblioteka 工作参数。高速传输多个通道可以同时进行数据传输,大大提高了数据 传输速率。
中断处理
为了提高系统的实时性,DMA控制器支持中断功能,在数据传输结束时向CPU发出中断请求,通知CPU完 成下一步操作。
1
中断触发
数据传输结束后,DMA控制器向中断控
中断处理
2
制器发出中断请求。
中断控制器接收到中断请求后,向CPU 发出中断信号,CPU切换到中断处理程
传输量
可以传输任意长度的数据块。
传输方向
支持双向数据传输,在不占用CPU资源的情况 下实现数据交换。
错误处理
支持多种错误处理方式,可以保证数据传输的可 靠性。
多通道控制
为了满足大规模数据传输的需求,一些DMA控制器具有多个通道,可以同时传输多路数据。
通道独立
每个通道拥有独立的地址、数据和控制线路,可以 实现隔离数据流。
2
传输请求
外设向DMA控制器发出数据传输请求。
微机原理-第8章 IO接口技术
IOW
图8.4 片选信号的产生
8.2 I/O控制方式
主机与外围设备之间的数据传送控制方式(即I/O控制 方式)主要有三种:
程序控制方式、中断控制方式和直接存储器存取 (DMA)方式。
8.2.1 程序控制方式
程序控制方式是指在程序控制下进行的数据传送方式。 它又分为无条件传送和程序查询传送两种。
8.2.3 DMA方式
1. DMA的基本概念
采用程序控制方式以及中断方式进行数据传送时,都 是靠CPU执行程序指令来实现数据的输入/输出的。
采用程序控制方式及中断方式时,数据的传输率不会 很高。
对于高速外设,如高速磁盘装置或高速数据采集系统 等,采用这样的传送方式,往往满足不了其数据传输 率的要求。
第二,由于采用了专用的I/O操作时序及I/O控制信号 线,因而增加了微处理器本身控制逻辑的复杂性。
微处理器Z80系列、Intel 80x86系列采用了这种编址方 式。
8.1.4 I/O接口的地址译码及片选信号的产生
在一个微机系统中通常具有多台外设,当CPU与外设进
行通信时,需要对各个设备所对应的接口芯片进行逻辑 选择,从而实现与相应的设备进行数据交换。
例如,对于磁盘装置,其数据传输率通常在20万字节/ 秒以上,即传输一个字节的时间要小于5μs。
第8章 I/O 接口技术
本章主要内容
(1) I/O接口的基本概念 (2) I/O控制方式 (3) DMA接口技术 (4) 中断系统
8.1 I/O接口概述
8.1.1 I/O接口的基本功能
(1) 数据缓冲 (2) 提供联络信息 (3) 信号与信息格式的转换 (4) 设备选择 (5) 中断管理 (6) 可编程功能
微型计算机原理与接口技术_(张荣标_著)_机械工业出版社_课后答案
第一章1.选择题(1)C (2) D A (3) C3填空(1)CPU,微型计算机,系统软件,外围设备,微型计算机系统(2)10,3,12(3)阶数(4)10010010B,01000100B,11010110B,FF4EH(5)3F7H,1C3H,243H,277H,4简答题(1)微处理器,微型计算机和微型计算机系统三者有何联系与区别?微处理器是把原来的中央处理单元CPU的复杂电路(包括运算器和控制器)做在一片或几片大规模集成电路的芯片上。
把这种微缩的CPU大规模集成电路称为微处理器。
微型计算机是以微处理器为核心,再配备上用大规模集成电路工艺制成的存储器和I/O接口就构成了微型计算机。
以微计算机为核心,再配备上系统软件、I/O设备、辅助电路和电源就构成了微机系统。
微型计算机系统包括硬件和软件了两大部分。
(2)试述在计算机中常采用二进制的缘由?(3)简述如何从补码判断真值的符号?(4)BCD码与纯二进制数有何区别?主要区别是二者对应的二进制位所表示的二进制真值不同,(5)试述机器数的定点和浮点数表示形式。
第2章2填空题(1)递增,A7,A5,A3,A1.(2)地址总线的宽度,00000H~0FFFFFH(3)寄存器,运算器,控制器;运算和控制(4)SS,SP(5)MN/MX(6)主频,总线宽度(7)20,163简答题(1)什么是指令周期?什么是总线周期?一个总线周期至少包括几个时钟周期?指令周期是一条指令执行所需的时钟周期,cpu在执行指令过程中,凡需执行访问存储器或访问I/O端口的操作都统一交给BIU的外部总线完成,进行一次访问所需的时间称为一个总线周期。
一般一个基本的总线周期由4个时钟周期组成。
(2)8086CPU在最小模式下构成计算机系统至少应该包括哪几个基本的部分?(3)8086CPU中,标志寄存器包含哪些标志位?各标志位为‘0’,‘1’分别表示什么含义?(4)8086CPU中有哪些通用寄存器和专用寄存器?说明他们的作用。
微机原理与接口-08:DMA控制器
;控制 控制
初始化
MOV OUT MOV OUT MOV OUT MOV OUT DX, DX, AL, DX, AL, DX, AL, DX, DMA+0AH AL 01 AL 02 AL 03 AL ;单屏蔽 单屏蔽
测试:对 测试 对0-3通道的地址寄存器值 通道的地址寄存器值 进行设置
MOV MOV READ:IN MOV IN CMP JNZ INC INC LOOP HHH: HLT DX, DMA+2 CX, 0003 AL, DX AH, AL AL, DX AX, 0FFFFH HHH DX DX READ
接口 ♦ 通道
DMA控制器 控制器
♦ 内部包含 – 控制寄存器 – 状态寄存器 – 地址寄存器 当前地址寄存器 可读出 基址寄存 地址寄存器:当前地址寄存器 可读出),基址寄存 当前地址寄存器(可读出 器 – 字节计数器 当前字节计数器 可读 基本字节计 字节计数器:当前字节计数器 可读),基本字节计 当前字节计数器(可读 数器(编程写入 编程写入) 数器 编程写入 ♦ DMA的过程 的过程
♦ IOW# ♦ EOP#(DMA传输结束两种方 传输结束两种方 ♦ ♦ ♦ ♦ ♦ ♦ ♦
向) DREQ(极性编程确定 极性编程确定) 极性编程确定 DACK HRQ HLDA A3~A0(双向 双向) ~ 双向 A7~A4 ~ DB7~ DB0(从模块时对内 ~ 从模块时对内 部寄存器读出写入,主模块 部寄存器读出写入 主模块 时输出当前寄存器高8位地 时输出当前寄存器高 位地 址)
各通道的寄存器
DMA通道
基本地址寄存器 和 当前地址寄存器
基本字节计数器 和 当前字节计数寄存器
通道0 通道1 通道2 通道3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
屏蔽寄存器,8位。
请求标志寄存器, 8位 暂存器, 8位
• 作从模块----接收CPU的信号 和命令字,产生控制,读/写内部 寄存器 • 作主模块----控制总线,产生 控制命令完成DMA传送
定时和控制逻辑
优先级编码电路---优先级裁决
16
16
8237的引脚功能
17
17
8237的引脚功能
控制总线的主模块要提供系统的地址及控制信号。
DMA控制器与处理器配合可实现系统的DMA功能。
2
2. DMA系统组成及工作过程․ DMA系统组成
地址总线
总线 请求 HOLD HLDA CPU 总线 响应 控制总线 HRQ DMAC HLDA DACK DREQ
DMA 请求 I/O 设备 DMA 响应
36
存储器到存储器的传送
固定使用通道0和通道1 通道0的地址寄存器存源区地址 通道1的地址寄存器存目的区地址,通道1的字节数寄 存器存传送的字节数 传送由设置通道0的软件请求启动 每传送一字节需用8个时钟周期 前4个时钟周期用通道0地址寄存器的地址从源区读 数据送入8237A的临时寄存器 后4个时钟周期用通道1地址寄存器的地址把临时寄 存器中的数据写入目的区
31
(2) DMA传送-数据块方式
由DREQ启动就连续地传送数据,直到字节数 寄存器从0减到FFFFH终止计数,或由外部输 入有效信号终结DMA传送 DREQ只需维持有效到DACK有效 特点: 一次请求传送一个数据块,效率高 整个DMA传送期间CPU长时间无法控制总线 (无法响应其他DMA请求、无法处理中断等)
28
28
DACK3 DACK2 DACK1 DACK0
选择 页寄存器 选择 页寄存器 选择 页寄存器 页寄存器
选择 A19~A16
8237 DMAC
A19~A16
A15~A0 DMA存储器地址
利用页寄存器产生存储器地址
29
29
8237A的工作方式
DMA传送方式 · 单字节传送方式 · 数据块传送方式 · 请求传送方式 · 级连方式 DMA传送类型 · DMA读 · DMA写 · DMA检验 存储器到存储器的传送
30
DMA传送方式
(1) DMA传送-单字节方式
每次DMA传送时仅传送一个字节 传送一个字节之后,字节数寄存器减1,地址寄存器 加1或减1,HRQ变为无效 8237A释放系统总线,将控制权还给CPU 若传送后使字节数从0减到FFFFH,则终结DMA传送 或重新初始化 特点: 一次传送一个字节,效率略低 DMA传送之间CPU有机会重新获取总线控制权
33
(4) DMA传送-级连方式
用于通过多个8237A级连以扩展通道 第二级的HRQ和HLDA信号连到第一级某个通 道的DREQ和DACK上 第二级芯片的优先权等级与所连通道的优先权 相对应 第一级只起优先权网络的作用,实际的操作由 第二级芯片完成 还可由第二级扩展到第三级等
34
8237A的级联
那对于 20 位 地 址 线 8237 如 何 处理?
在8086/88系统中,系统的寻址范围是1MB,地址 线有20条,即A0~A19。为了能够在8086/88系统中 使用8237来实现DMA,需要用硬件提供一组4位的 页寄存器。 通道0、1、2、3各有一个4位的页寄存器。在进行 DMA传送之前,这些页寄存器可利用I/O地址来装 入和读出。当进行DMA传送时,DMAC将A0~A15放在 系统总线上,同时页寄存器把A16~A19也放在系统 总线上,形成A0~A19这20位地址信号实现DMA传送。 其地址产生如图所示。
DMAC向I/O设备发出 的DMA应答信号
CPU脱离对系统总线的控制, 由DMAC接管对系统总线的控制
9
§8.2 可编程DMA控制器8237A
§8.2.1 8237A的主要特性 1.具有四个独立的 DMA 通道,每个通道都具 有64K的存贮器寻址能力,即一次传送的最大 长度为64K字节。 2 .可实现内存与外设之间的高速大批量数据 传送 ,也可实现内存两个不同区域之间的高 速数据传送。 3.每个通道的 DMA 请求均可分别允许或禁止, 且四个通道的 DMA 请求的优先权可由软件设 置为固定的或循环的。
DMAC 控制传一个字节 Y
DMA请求? N 放总线
块结束否? Y 放总线中断请求
随机请求 DEMAND REQUEST
8
DMA传送的过程
I/O设备向DMAC发出DMA请求
完成设定的字节数据传送, CPU恢复对系统总线的控制
DMAC向CPU发出总线请求
DMAC进行一个字节的传送
CPU在执行完当前指令的当前 的总线周期后,向DMAC发出 总线响应信号
18
8237的引脚功能
•地址信号
:CPU初始化8237或读8237状态时所需的 片选信号 A7~A0(输出):8237访问存储器的地址信号 的低8位。 A3~A0(输入):CPU初始化8237或读8237 状态时,用于寻址8237内部寄存器
19
19
8237的引脚功能
•数据信号(双向): DB7~DB0
,则强制DMAC内部
21
8237的引脚功能
MEMR/MEMW: 8237发出的存储器读/写信号 IOR/IOW: 8237作为主控时,输出的I/O读/写信号。 8237作为从控时,CPU发出的I/O读/写信号,用于 读/写8237
22
22
8237的引脚功能
ADSTB:地址选通信号
用于启动地址锁存器
20
20
8237的引脚功能
•地址允许信号:AEN 8237作为主控时(8237控制总线),输出AEN=1。 8237作为从控时(CPU控制总线),输出AEN=0。 •DMA传输结束信号: (双向)
当DMAC内部任一通道传输结束,8237发出 若由外部给DMAC送入有效的 所有通道结束传输。
21
第二级 第一级 8237
微处理器
HOLD | HLDA | HRQ HLDA
DREQ 0 | DACK0 |
HRQ
HLDA
|
DREQ 3 | DACK 3
HRQ HLDA 8237
35
DMA传送类型
DMA读——把数据由存储器传送到外设 由MEMR*有效从存储器读出数据,由IOW*有效把 这一数据写入外设 DMA写——把外设输入的数据写入存储器 由IOR*有效从外设输入数据,由MEMW*有效把这 一数据写入存储器。 DMA检验——空操作 8237A不进行任何检验 外设可以进行DMA校验 存储器和I/O控制线保持无效,不进行传送
26
26
由上可见8237工作 于模块方式,可取 代CPU产生地址及 控制信息。
8237A处于DMA方式时,全部地址均用来寻 址存储器 ,无法同时提供 I/O设备的端口地 DMA 控制器 8237 址.为了寻址外部设备,8237A提供DACK信 号,作为对请求DMA方式的外部设备的应答, 并指明该外部设备被认可,可以进行DMA传 送.在整个传输过程中只要DACK信 号,IOR,IOW同时有效,就能完成读外部设 备的I/O读写操作.所以,在DMA方式下,I/O 设备的地址无效.即:以DACK代替了片选和 译码功能.
第8章 DMA技术与DMA控制器
§8.1 DMA技术概述 §8.2 可编程DMA控制器8237A §8.3 DMA技术在微机系统中的应用
直接存储器存取
1
§8.1 DMA技术概述
1.DMA(Direct Memory Access)的概念
DMA方式不用处理器干预完成M与I/O间数据传送。 DMA期间系统总线由其它主模块控制(驱动)
READY:存储器或I/O的就绪信号
23
23
DMA控制器8237
工作方式 1)从模块工作方式: 当CPU将数据送入或取出8237时,DMA完全 象一个普通的I/O接口,此时它工作于从模块。
24
24
DMA控制器8237
2)主模块工作方式:
此时DMA已取代CPU控制系统。它 将提供系统正常工作的地址信息,控 制信息完成DMA方式的数据传送。
10
8237A的主要特性
4 .具有单字节传送、数据块传送、请求传送 和级联传送四种工作方式。 5.可用级联方式扩展DMA通道数目。 6.DMA传送结束信号可由内部计数产生,也 可由外部输入提供。 7.单一的+5V电源,40个引脚双列直插式封 装。 8.采用 5MHz时钟,传送速率可达 1.6M字节 /秒。
12
§8.2.2 8237A的工作原理
1.8237A的编程结构 编程结构见下页图 内部有大量寄存器,内部寄存器的功能、 端口地址等信息 参见下表.
13
Intel 8237A可编程DMA控制器框图
14
1)8237A组成说明:
8237A有四个独立通道:通道0~通道3。每个通道可独立响 应外部DMA请求,完成DMA传送。 基地址寄存器 ----放DMA传送RAM地址初值 当前地址寄存器: ----DMA传送时内容变化,可读。
32
(3) DMA传送-请求方式
DREQ信号有效就连续传送数据 DREQ信号无效,DMA传送被暂时中止,8237A释放 总线,CPU可继续操作 DMA通道的地址和字节数的中间值仍被保持 DREQ信号再次有效,DMA传送就继续进行 如果字节数寄存器从0减到FFFFH,或者由外部送来 一个有效的信号,将终止计数 特点: DMA操作可由外设利用DREQ信号控制传送的过程