第7章 DMA控制器

合集下载

第7章 DMA接口(1)

第7章 DMA接口(1)

AB0
BLE=0B HE=1 MEM AB1 AB2 AB3
“0”
A0 A1 A2
为简化设计,就直接将主片8237A设计 成16位通道,即将地址总线上的AB0空 着,AB1、2与8237A的A0、1相连。内 部16个寄存器的I/O端口号均为偶地址。 在进行DMA传送时,DMAC发出的地 址A15~0实际上是与地址总线AB16~1相 连,AB0置0(BHE=1)。这样,存储 器与外部设备之间是进行的16位数据 交换。
AEN
ADSTB
DB7~0
A7~0 DACK MEMR/IOR 2004/3 MEMW/IOW
A15~8
东北大学计算机系统研究 所
Intel 8237A DMA控制器
DMAC的工作方式
• 块传送方式:整个数据块传送期间,总线 一直被DMAC控制,直到计数寄存器的值由 0变成FFFFH,产生T/C信号。 • 单字节传送方式:也可以传送一个数据块, 但CPU至少可在两次DMA传送之间获得一个 完整的总线周期,即每传送一个字节,就 将总线控制权换给CPU。 • 请求传送方式:可连续传送,直到遇到T/C 或DREQ不再有效为止。
DMAC的工作过程
CPU对DMAC进行初始化,设定存 储器首地址和数据长度 外部设备向DMAC发DMA请求信号 (DREQ) DMAC向CPU发DMA请求(HOLD) CPU向DMAC发响应请求信号 (HLDA) CPU将总线控制权交给DMAC DMAC向外部设备发DMA应答信号 (DACK) 进行DMA传送,由DMAC发地址信 号和控制信号(循环) DMA传送结束,DMAC撤除请求 (HOLD),CPU重新控制总线
RESET DACK
74LS340~7

第7章 中断和DMA

第7章 中断和DMA

(3) 优先权判决电路从IRR中检测出优先级最 高的中断请求位,并将其与ISR中记录的正 在被CPU服务的中断进行优先级比较。当提 请的中断优先级高于正在服务的中断优先级 时,中断优先权判决电路就向控制逻辑发出 有效的中断请求信号。 (4) 当控制逻辑收到有效的中断请求信号时, 向CPU发出高电平信号INT,请求中断服务。 (5) 在中断允许的情况下(IF=1),CPU接受中 断请求INT,并发出中断响应信号INTA,对 8086/8088 CPU,将连续发出两个INTA脉 冲。
IMR7 IMR6 IMR5 IMR4 IMR3 IMR2 IMR1 IMR0 IMR
IRR7 IRR6 IRR5 IRR4 IRR3 IRR2 IRR1 IRR0 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0
IRR
④优先权判决器PR:实现中断优先级判别。 • 如果当前CPU没有执行中断服务,则优先 权判决器对IRR中的各个有效中断进行排 队判优,选出优先级最高的中断给予处理, 且将 优先权编码送ISR。 • 如果当前CPU正执行中断服务,则优先权 判决器将新的中断请求优先权编码与ISR 进行比较,如果优先权高给予处理(中断 嵌套),并置新中断的优先权编码到ISR。 否则不予响应。
③具有多种优先权管理模式; ④可直接向CPU提供中断类型码; ⑤单+5V电源供电。 7.2.1 8259的结构及功能 1.与系统总线接口电路 ①数据总线缓冲器:是8位双向的三态数据 缓冲总线接口,D0~D7。所有数据输入输 出都是通过该接口完成。 ②读写控制电路:负责对选中的内部寄存器 进行读写操作。
IRRn=1,表示该 引脚有中断请求
IRR7 IRR6 IRR5 IRR4 IRR3 IRR2 IRR1 IRR0 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0

微型计算机技术及应用第四版_课后题答案

微型计算机技术及应用第四版_课后题答案

第一章微型计算机概述1.微处理器、微型计算机和微型计算机系统三者之间有什么不同?答:①微处理器是微型计算机的核心,是微型计算机的一部分。

它是集成在一块芯片上的CPU,由运算器和控制器组成。

②微型计算机包括微处理器、存储器、I/O接口和系统总线,是微型计算机系统的主体。

③微型计算机系统包括微型计算机、外设及系统软件三部分。

第二章 8086微处理器1.总线接口部件有哪些功能?请逐一进行说明。

答:1.总线接口部件的功能是负责与存储器、I/O端口传送数据。

2.具体讲:①总线接口部件要从内存取指令送到指令队列;② CPU执行指令时,总线接口部件要配合执行部件从指定的内存单元或者外设端口中取数据,将数据传送给执行部件,或者把执行部件的操作结果传送到指定的内存单元或外设端口中。

1.总线周期的含义是什么?8086/8088的基本总线周期由几个时钟组成?如一个CPU的时钟频率为24MHz,那么,它的一个时钟周期为多少?一个基本总线周期为多少?如主频为15MHz呢?答:1.总线周期的含义是总线接口部件完成一个取指令或传送数据的完整操作所需的最少时钟周期数。

2.8086/8088的基本总线周期由4个时钟周期组成。

3.当主频为24MHz时,Tφ=1/24MHz≈41.7ns,T总=4Tφ≈167ns。

4.当主频为15MHz时,Tφ=1/15MHz≈66.7ns,T总=4Tφ≈267ns。

1.CPU启动时,有哪些特征?如何寻找8086/8088系统的启动程序?答:1.CPU启动时,有以下特征:①内部寄存器等置为初值;②禁止中断(可屏蔽中断);③从FFFF0H开始执行程序;④三态总线处于高阻状态。

2.8086/8088系统的启动程序从FFFF0H单元开始的无条件转移指令转入执行。

1.在中断响应过程中,8086往8259A发的两个信号分别起什么作用?答:第一个负脉冲通知外部设备的接口,它发出的中断请求已经得到允许;外设接口收到第二个负脉冲后,往数据总线上放中断类型码,从而CPU得到了有关此中断请求的详尽信息。

微型计算机原理及应用教程第7章 中断与DMA技术

微型计算机原理及应用教程第7章  中断与DMA技术
第7章中 断与DMA技术
7.1 中断原理
7.2 8086/8088 CPU 中断系统 7.3 可编程中断控制器8259A 7.4 8259A的应用举例 7.5 DMA控制器
引 言
中断在计算机中是非常重要的。中断提高了计算机的并
行度和处理器的效率,改善了计算机的性能。它解决了CPU
与各种外围设备之间的速度匹配问题。 中断在故障检测、实时处理与控制、分时系统、多级系 统与通信、并行处理、人机交互等诸多领域都得到了广泛应 用和不断发展。 本章就中断的管理、 8086/8088 CPU 中断系统、可编程 中断控制器8259进行介绍。
挥了CPU高速性的特点。 实现实时处理:例如键盘、打印机、显示器的使用等 实现故障处理:电源故障、除法溢出、非法操作、存储 器出错等
中断系统应具有以下功能:
中断响应:当中断源发出中断请求后,CPU能够决定是否 暂时中止当前程序的执行,去响应 该中断请求。 断点保护: CPU在响应中断请求后,保护被暂时中止的当 前程序的运行环境和结果(例如:下一条指令地址的CS和
7.1.3中断优先权与中断嵌套
1.中断优先权
在实际系统中,常常遇到多个中断源同时请求中断的情况, 这时 CPU 必须确定首先为哪一个中断源服务,以及服务的 次序。解决的方法是用中断优先排队的处理方法。即根据中 断源要求的轻重缓急,先排好中断处理的优先次序,即优先
级(又称优先权)。CPU先响应优先级最高的中断请求。对
7.1
中断原理
当 CPU 与外设交换信息时,若用查询的方式,则 CPU 就
要浪费很多时间去等待外设,这样就存在一个快速的 CPU 与 慢速的外设之间的矛盾,这也是计算机在发展过程中遇到的 严重问题之一。为解决这个问题,一方面要提高外设的工作 速度;另一方面就必须要使用中断处理。

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。

微型计算机原理与接口技术第7章

微型计算机原理与接口技术第7章

6位数码管接口电路
7FH
位 锁 存 器 ( 段 选 ) D7 D6 D5 D4 D3 D2 D1 D0 0 1 1 1 1 1 1 1 h g f e d c b a 8 D7-D0
CS (201H选中)
20H 位
D7-D0 锁 存 器 ( 位 选 )
D0 0 0 0 0 0 D 1
5
位 反 相 驱 动 器
DMA写传送: I/O端口信息 系统RAM某单元。 存储单元读 / 写传送: 在DMAC控制下, 实现系统 RAM RAM。 注意:在PC系列机中禁止RAM RAM传送。 4. DMA传送的过程
AB DB CB
HRQ DREQ
HOLD
总线保持请求
总线响应
DMA 请求 DMA 响应
注意: I/O 指令只能在端口和AL, AX, EAX之间 交换信息, 用DX间址, 但不能使用方括号, 即不能写成: IN AL, [DX]。
7.2 微机系统与外设交换信息的方式
微机系统与 I/O 端口的信息交换有四种方式: 无条件传送 中断方式 查询方式 DMA方式
采用何种方式与接口的硬件电路有直接关系
查询式输出接口示意图 数据 锁 数据总线 存 器 数据口选中 (8) 状态标志
Q D
输 出 设 备
IOW 地址译码器 地址总线
+5V
IOR
状态口选中
ACK
R
―0‖为空闲
接数据线D0位
查询式数据输出核心程序 设状态口地址=200H=数据口地址
TSCAN: MOV IN TEST JNZ MOV MOV OUT
HOLD
总线请求 总线响应
HRQ
DREQ

微机原理第7章练习题及答案

微机原理第7章练习题及答案

第7章输入/输出与中断一、自测练习题㈠选择题1.一微机系统有10根地址线用于I/O端口寻址,因而具有I/O空间的范围是( )字节。

A) 1024 B) 10K C) 0.5M D) 1M2.8086CPU读/写一次存储器或I/O端口所需的时间称为一个( )。

A) 总线周期 B) 指令周期 C) 时钟周期 D) 基本指令执行时间3.微型计算机的输入/输出有三种不同的控制方法,其中以( )控制的输入/输出是微机进行I/O的一种最主要的控制方式。

A) 程序控制 B) 中断控制C) DMA控制D) 以上均可4.程序查询I/O方式的工作流程是按( )的次序完成一个字符的传输。

A) 写数据端口,读/写控制端口B) 读状态端口,读/写数据端口C) 写控制端口,读状态端口,写数据端口D) 随I/O接口的具体要求而定5.在CPU与外设的I/O传送控制方式中,效率高、实时性强的方式是( )。

A) 同步传送 B) 查询传送 C) 无条件传送 D) 中断传送6.在CPU与外设的I/O传送控制方式中,传送速度最快的方式是( )。

A) 无条件传送 B) 查询传送 C) 中断传送 D) DMA传递7.用具有两个状态(“0”和“1”态)的一组开关作简单输入设备时,应采用( )传送方式来输入信息。

A) 无条件B) 查询C) 中断D) DMA8.用一组发光二极管作为简单输出设备时,应采用( )传送方式来输出信息。

A) DMA B) 无条件C) 查询D) 中断9.在微机系统中引入中断技术,可以( )。

A) 提高外设速度B) 减轻主存负担C) 提高处理器的效率D) 增加信息交换的精度10.CPU响应中断请求的时刻是在( )。

A) 执行完成正在执行的程序以后 B) 执行完正在执行的指令以后C) 执行完本时钟周期以后D)执行完正在执行的机器周期以后11.8086/8088CPU向应两个硬中断INTR和NMI时,相同的必要条件是( )。

A) 允许中断B) 当前I/O操作执行结束C) 总线空闲D) 当前访问内存操作结束12.在微型计算机系统中,高速外设与内存储器进行批量数据传送时,应采用( )。

第7章输入输出习题参考解答

第7章输入输出习题参考解答

第7章思考题与习题参考答案1.计算机的I/O系统的功能是什么?它由哪几个部分组成?答:计算机的I/O系统,主要用于解决主机与外部设备间的信息通讯,提供信息通路,使外围设备与主机能够协调一致地工作。

计算机的I/O系统由I/O硬件和I/O软件两大部分组成。

其中I/O硬件包括:系统总线、I/O接口、I/O设备及设备控制器。

I/O软件包括:用户的I/O程序、设备驱动程序、设备控制程序。

2.I/O硬件包括哪几个部分?各部分的作用是什么?答:I/O硬件包括:系统总线、I/O接口、I/O设备及设备控制器。

系统总线的作用是为CPU、主存、I/O设备(通过I/O接口)各大部件之间的信息传输提供通路。

I/O接口通常是指主机与I/O设备之间设置的一个硬件电路及其相应的控制软件。

它用于在系统总线和外设之间传输信号,并起缓冲作用,以满足接口两边的时序要求。

I/O设备的作用是为主机与外部世界打交道提供一个工具。

设备控制器用来控制I/O设备的具体动作,不同的I/O设备需要完成的控制功能不同。

3.什么是用户I/O程序?什么是设备驱动程序?什么是设备控制程序?答:用户I/O程序是指用户利用操作系统提供的调用界面编写的具体I/O设备的输入输出程序。

例如用户编写的用打印机输出文本的程序。

设备驱动程序是一种可以使计算机和设备通信的特殊程序。

可以说相当于操作系统与硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。

设备控制程序就是驱动程序中具体对设备进行控制的程序。

设备控制程序通过接口控制逻辑电路,发出控制命令字。

命令字代码各位表达了要求I/O设备执行操作的控制代码,由硬件逻辑解释执行,发出控制外设的有关控制信号。

4.说明设计I/O系统的三个要素的具体内容。

答:设计I/O系统应该考虑如下三个要素:①数据定位: I/O系统必须能够根据主机提出的要求进行设备的选择,并按照数据在设备中的地址找到相应的数据。

计算机组成原理(第七章 输入输出系统

计算机组成原理(第七章  输入输出系统

第七章输入输出系统第一节基本的输入输出方式一、外围设备的寻址1.统一编址:将输入输出设备中控制寄存器、数据寄存器、状态寄存器等与内存单元一样看待,将它们和内存单元联合在一起编排地址,用访问内存的指令来访问输入输出设备接口的某个寄存器,从而实现数据的输入输出。

2.单独编址:将输入输出设备中控制寄存器、数据寄存器、状态寄存器单独编排地址,用专门的控制信号进行输入输出操作。

3.CPU与外围设备进行通信有三种类型:(1)CPU向外围设备发出操作控制命令。

(2)外围设备向CPU提供状态信息。

(3)数据在CPU与外围设备之间的传递。

历年真题1.对外设统一编址是指给每个外设设置一个地址码。

(2002年)【分析】CPU与外设之间的信息传送是通过硬件接口来实现的,各种外设的硬件接口上又都包含有多个寄存器,如控制寄存器、数据寄存器、状态寄存器等。

统一编址是将外设接口上的各种寄存器等同于内存储器的存储单元,通过使用访问内存单元的指令来访问外设接口上的各个寄存器,这样就可以使用访存指令来访问外设,输入输出操作简单,程序设计比较简便。

由于外设接口上的寄存器种类和数量通常不止一个,所以一个外设至少对应一个以上的内存地址。

【答案】对外设统一编址是将外设接口上的寄存器等同内存单元,给每个外设设置至少一个地址码。

二、外围设备的定时1.外围设备的定时方式有异步传输方式和同步定时方式两种。

2.实现输入输出数据传输的方式主要有:程序控制方式、直接存储访问(DMA)方式、通道方式。

程序控制方式又可分为程序查询方式和中断方式两种。

历年真题1.对I/O数据传送的控制方式,可分为程序中断控制方式和独立编址传送控制方式两种。

(2001年)【分析】对1/O数据传送的控制方式,可分为程序直接控制方式、程序中断控制方式、DMA控制方式、通道控制方式等。

程序中断控制方式只是其中的一种方法,独立编址是指对1/O设备的控制寄存器、数据寄存器、状态寄存器等单独进行地址编排,使用专门的指令对其进行操作,可用在各种数据传送的控制方式中。

计算机操作系统【第七章】 汤子瀛版

计算机操作系统【第七章】 汤子瀛版

计算机操作系统【第七章】1.试画出微机和主机中常采用的I/O系统结构图。

微机中常采用的I/O系统结构图为:主机中常采用的I/O系统结构图为:2.试说明设备控制器的构成。

设备控制器的构成如图所示:由上图可见,设备控制器由以下三部分组成:(1)设备控制器与处理机的接口,该接口用于实现CPU与设备控制器之间的通信,提供有三类信号线:数据线、地址线和控制线。

(2)设备控制器与设备的接口,可以有一个或多个接口,且每个接口连接一台设备。

每个接口都存在数据、控制和状态三种类型的信号。

(3)I/O逻辑,用于实现对设备的控制。

其通过一组控制线与处理机交互,处理机利用该逻辑向控制器发送I/O命令,I/O逻辑对收到的命令进行译码。

3.为了实现CPU与设备控制器之间的通信,设备控制器应具有哪些功能?为了实现CPU与设备控制器之间的通信,设备控制器应具有如下功能:(1)接受和识别命令。

CPU可以向控制器发送多种不同的命令,设备控制器应能接收并识别这些命令。

设置控制寄存器来存放所接收的命令和参数。

(2)数据交换,指实现CPU与控制器之间、控制器与设备之间的数据交换。

设置数据寄存器来存放有关数据。

(3)设备状态的了解和报告。

控制器记录下所连接设备的状态以供CPU了解。

为此,要在控制器中设置一状态寄存器,用其中的每一位反映设备的某一状态。

(4)地址识别。

配置地址译码器以便于正确识别设备地址。

4.分别就字节多路通道、数据选择通道和数组多路通道进行解释。

①字节多路通道含有许多非分配型子通道分别连接在低、中速I/O设备上,子通道按时间片轮转方式共享主通道,按字节方式进行数据传送。

具体而言,当第一个子通道控制其I/O 设备完成一个字节的交换后,便立即腾出字节多路通道(主通道),让给第二个子通道使用;当第二个子通道也交换完一个字节后,又依样把主通道让给第三个子通道使用,以此类推。

转轮一周后,重又返回由第一个子通道去使用主通道。

②数组选择通道只含有一个分配型子通道,一段时间内只能执行一道通道程序、控制一台设备按数组方式进行数据传送。

第7章 中断处理技术与DMA技术

第7章  中断处理技术与DMA技术
课件制作人:刘永华
7.1 中断的基本概念
(4)在中断响应周期的第二个总线周期中, 读取中断类型号,找到中断服务程序的入口地 址,自动将程序转移到该中断源设备的中断处 理程序的首地址,即将中断处理程序所在段的 段地址及第一条指令的有效地址分别装入CS及 IP,一旦装入完毕,中断服务程序就开始执行。 上述过程,即从CPU响应中断请求,到中断 现行程序并将程序转移到中断处理地址的过程 称为中断响应过程。不同的机器,在中断响应 期间所完成的功能基本类似,但实现方法不尽 课件制作人:刘永华 相同。
* 7.4
* 7.5
第7章 中断处理技术与DMA技术
* 7.6 DMA控制器8237A 7.6.1 主要特性 7.6.2 8237A引脚及结构 7.6.3 8237A的软件命令 7.6.4 8237A的工作时序 * 7.7 8237A初始化编程 * 7.8 8237A应用实例 7.8.1 初始化 7.8.2 应用实例
刘永华7280868088的中断系统类型号中断名称类型号中断名称0003h0h除法出错6063h18h常驻basic入口0407h1h单步6467h19h引导程序入口080bh2h不可屏蔽686bh1ah时间调用0c0fh3h断点6c6fh1bh键盘ctrlbreak控制1013h4h溢出7073h1ch定时器报时1417h5h打印屏幕7477h1dh显示器参数表181bh6h保留787bh1eh软盘参数表1c1fh7h保留7c7fh1fh字符点阵结构参数2023h8h定时器8083h20h程序结束返回dos2427h9h键盘8487h21h系统功能调用282bh0ah保留888bh22h结束地址2c2fh0bh通信口28c8fh23hctrlbreak退出地址表71ibmpcxt机的中断向量表课件制作人

第七部分 微机DMA方式练习题

第七部分 微机DMA方式练习题

DMA方式一.选择题1.在进入DMA工作方式之前,DMA控制器是被当作系统总线上的一个( )。

(A) 主处理器(B) I/O设备(C) I/O接口(D) 主模块2.主机与外设传送数据时,采用( )方式,主机与外设是串行工作的。

(A) 程序查询(B) 中断(C) DMA (D) IOP处理机3.下列几种芯片中能接管总线且控制数据传送的是()。

(A) 8254 (B) 8255 (C) 8237 (D) 82514.要使系统能按直接存储器存取方式进行主机与外设间的数据传送,系统至少应有( )芯片。

(A)8250 (B)8259 (C)8237 (D)82555.占用CPU时间最少的传送方式是()。

(A)DMA (B)中断(C)查询(D)无条件6.在DMA方式下,能对总线进行控制的部件是( )。

(A)CPU (B)DMAC (C)外部设备(D)存储器7.采用DMA方式传送数据时,每传送一个数据要占用()的时间。

(B)一个机器周期(C)一个存储周期(D)一个时钟周期8.DMA方式中,周期“窃取”是窃取一个()(A)存储周期(B)指令周期(C)CPU周期(D)总线周期9.在DMA传送方式下,外部设备与存储器之间的数据传送通路是()。

(A)数据总线DB (B)专用数据通路(C)地址总线(D)控制总线CB 10.在DMA传送过程中,实现总线控制的部件是()。

(A)CPU (B)外部设备(C)DMAC (D)存储器11.在DMA方式下,CPU与总线的关系是()。

(A)只能控制数据总线(B)只能控制地址总线(C)成隔离状态(D)成短接状态12.CPU响应DMA传送请求的信号是()(A)READY (B) (C) (D)13.如果采用两级8237A级联方式,最多可构成()个DMA通道。

(A)2 (B)4 (C)8 (D)1614.在8237A用于存储器到存储器的数据传送时,使用()。

(A)通道0的现行地址寄存器指示源地址,现行字计数寄存器对传送的字节数计数,通道1指示目的地址。

DMA控制器工作原理

DMA控制器工作原理

DMA控制器工作原理DMA(Direct Memory Access)控制器是一种计算机设备,用于在外设和主内存之间传输数据。

它的工作原理是通过旁路主处理器,直接在外设和内存之间进行数据传输,从而减少对主处理器的干预。

1.初始化:主处理器通过向DMA控制器发送初始化命令,设置传输参数和传输方向等。

DMA控制器根据这些参数进行设置,以确定传输的方式和范围。

2.请求DMA通道:外设在需要与主内存进行数据传输时,向DMA控制器发送请求。

DMA控制器接收到请求后,暂停主处理器的操作,开始控制数据传输。

3.确认DMA通道:DMA控制器检查请求,并通过向外设发送确认信号来确保通道可用。

如果通道不可用,DMA控制器将外设的请求排队,并在通道可用时进行传输。

4.寻址:DMA控制器从外设中读取数据的地址,并从主内存中读取或写入数据的地址。

这些地址将用于确定传输的起始位置和目的位置。

5.数据传输:DMA控制器将数据从外设读取到内存,或者从内存写入到外设。

数据传输过程中,DMA控制器通过DMA总线直接与内存进行通信,跳过主处理器。

6.中断通知:当传输完成时,DMA控制器会向主处理器发送中断请求,以便主处理器可以执行与传输相关的操作。

从以上步骤可以看出,DMA控制器在传输数据时,与主处理器并行工作,极大地提高了数据传输效率。

相比由主处理器执行的数据传输,DMA 控制器具有以下优势:1.减少主处理器负担:数据传输由DMA控制器完成,主处理器无需处理大量数据传输的细节和中断请求,从而减少了主处理器的负担,提高了系统的整体性能。

2.提高数据传输效率:DMA控制器通过直接访问内存,跳过主处理器的介入,减少了数据传输的延迟,提高了传输的效率。

3.支持多种外设:DMA控制器可以同时支持多种外设,通过适当的配置,可以使多个外设同时进行数据传输。

4.支持高速数据传输:由于DMA控制器是专门设计用于数据传输的设备,其硬件结构和数据通路优化,能够支持高速数据传输,提高系统的数据吞吐量。

微机原理、汇编语言与接口技术 第七章 习题答案 人民邮电出版社(周杰英 张萍 郭雪梅 著)

微机原理、汇编语言与接口技术 第七章 习题答案 人民邮电出版社(周杰英 张萍 郭雪梅 著)

第7章输入/输出接口习题与参考答案这一章的习题与参考答案分为两大部分,一部分是输入输出概述及DMA控制器的习题与参考答案;另一部分是中断及中断控制器部分的习题与参考答案。

一、输入输出概述及DMA控制器的习题与参考答案1、请说明为什么输入接口的数据缓冲寄存器必须有三态输出功能而输出接口却不需要的原因。

解:输入接口的数据缓冲寄存器的输出端是直接接在数据总线上的,如果数据寄存器没有三态输出功能,则无论数据寄存器被寻址选中或未被选中,其数据都会被送上数据总线,若此时总线上真正要传送的数据与该输入缓存器的内容不一致时,就会发生总线冲突。

所以,输入接口的数据缓冲器必须有三态输出功能,以便当接口未被寻址选中时,其输出端处于高阻态,从而与总线隔离。

对于输出接口来说,是输入端与数据总线相连,而输出端是与外设相连,因此其输出不影响总线状态;另外,一个外设一般只与一个输出数据缓存器相连,因此输出接口的数据缓存器无须有三态输出功能。

2、8086/8088CPU中哪些寄存器可以用于I/O寻址?若I/O端口地址分别是10H和100H,分别写出向这两个端口写入73H的程序段。

解:8086/8088CPU内可以用于I/O寻址的寄存器为AL、AX和DX。

向端口10H写入73H的程序段为:MOV AL,73HOUT 10H,AL向端口10H写入73H的程序段为:MOV AL,73HMOV DX,100HOUT DX,AL3、图为7段显示器接口,显示器采用共阳极接法,试编写程序段,使AL中的一位十六进制数显示于显示器上。

输出锁存器地址为40H。

解:TABLE DB 3FH,06H,5BH,4FHDB 66H,6DH,7DH,07HDB 7FH,67H,77H,7CH,DB 39H,5EH,79H,71HLEA BX,TABLEXLA TOUT 40H,AL4、PC/XT机有哪些输入输出方式?各自的特点如何?DMA控制器应具备哪些功能?解:无条件方式:需要外设处于就绪状态,硬件简单;查询方式:CPU需要不断地查询外设是否就绪,浪费CPU时间,硬件较简单;中断方式:外设准备好后,向CPU发中断请求,请求CPU完成数据传输,外设与CPU 并行;硬件又比前两者复杂。

计算机组成原理习题第七章

计算机组成原理习题第七章

计算机组成原理习题第七章第七章一.填空题1CPU响应中断时需要保存当前现场,这里现场指的是和的内容,它们被保存到中。

2在中断服务程序中,保护和恢复现场之前需要中断。

3DMA只负责总线上进行数据传送,在DMA写操作中,数据从传送到4总线的裁决方式速度最高。

5某机有四个中断源,优先顺序按1→2→3→4降序排列,若想将中断处理次序改为3→1→4→2,则1、2、3、4中断源对应地屏蔽字分别是、、和6I/O接口电源通常具有、、和功能。

7I/O的编址方式可分为和两大类,前者需有独立的I/O指令,后者可通过指令和设备交换信息。

8主机与设备交换信息的控制方式中,方式主机与设备是串行工作的,方式和方式主机与设备是并行工作的,且方式主程序与信息传送是并行进行的。

9I/O与主机交换信息的方式中,和都需通过程序实现数据传送,其中体现CPU与设备是串行工作的。

10CPU响应中断时要保护现场,包括对和的保护,前者通过实现,后者可通过实现。

11一次中断处理过程大致可分为、、、和等五个阶段。

12在DMA方式中,CPU和DMA控制器通常采用三种方法来分时使用主存,它们是、、和13中断接口电路通过总线将向量地址送至CPU.14I/O与主机交换信息共有、、、和五种控制方式。

15单重中断的中断服务程序的执行顺序为、、、和中断返回。

16多重中断的终端服务程序的执行顺序为、、、和中断返回。

二.选择题1.将外围设备与主存统一编址,一般是指A.每台设备占一个地址码B.每个外围接口占一个地址码C.接口中的有关寄存器各占一个地址码D.每台外设由一个主存单元管理2.主机与设备传送数据时,采用,主机与设备是串行工作的。

A.程序查询方式B.中断方式C.DMA方式D.通道方式3.当有中断源发出请求时,CPU可执行相应的中断服务程序。

提出中断请求的可以是A.通用寄存器B.专用寄存器C.外部事件D.cache4.在中断周期,CPU主要完成以下工作:A.关中断,保护断点,发中断响应信号并形成中断服务程序入口地址B.开中断,保护断点,发中断响应信号并形成中断服务程序入口地址C.关中断,执行中断服务程序D.开中断,执行中断服务程序5.CPU响应在中断的时间是A.一条指令结束B.外设提出中断C.取指周期结束D.任一机器周期结束6.向量中断是A.外设提出中断B.由硬件形成中断服务程序入口地址C.由硬件形成向量地址,再由向量地址找到中断服务程序入口地址D.以上都不对7.中断允许触发器用于A.向CPU发中断请求B.指示正有中断在进行C.开放或关闭中断系统D.指示中断处理结束8.以下论述正确的是A.CPU响应中断期间仍执行原程序B.在中断过程中,若又有中断源提出中断请求,CPU立即响应C.在中断响应中,保护断点、保护现场应由用户编程完成D.在中断响应中,保护断点是由中断隐指令自动完成的9.DMA方式是在之间建立一条直接数据通路。

第7章DMA控制器

第7章DMA控制器
缺点:延长了CPU的时钟周期必将导致CPU运行速
度的降低。
PC/XT微型机就是采用了这种方式,巧妙地在CPU
总线中插入若干等待周期Tw,进行DMA操作。
总结:上述4种方式中,CPU暂时放弃总线控制权
而DMA占用总线的方式最简单。
12
7.3 DMA控制器8237A
8237A是Intel系列高性能可编程DMA控制器, 具有如下功能: (1)每片8237A内部有4个独立的DMA通 道,每个通道可分别进行数据传送,一次传送 最大达64KB,能够实现存储器与外部设备间或 存储器两个区域间的数据传送。 (2)每个通道的DMA请求可以分别允许和禁 止,具有不同的优先级,并且每个通道的优先级 可以是固定的,也可以是循环的。 (3)8237A具有4种传送方式:单字节传送 方式,数据块传送方式,请求传送方式和级联 13 方式。
(3)优先权控制逻辑。
用来裁决各通道的优先权次序,解决多个通道同时请求 DMA服务时可能出现的优先权竞争问题。
15
2. 3个缓冲器
(1)I/O缓冲器1 。8位、双向三态的缓冲器
当CPU控制总线时: 从CPU送给8237A的编程控制字、CPU读取8237A的状态 字、当前地址和字节计数器的内容都经过这个缓冲器。 当8237A控制总线时:
3
7.2 DMA占用总线方式
1.CPU暂时放弃总线控制权方式 2.暂停CPU时钟脉冲方式 3.窃取CPU空闲时间方式 4.周期扩展方式

4
1.CPU暂时放弃总线控制权方式 此类DMA操作,CPU必须暂停任何总线操作, 并让出对总线的控制权、直至DMA传送结束 或完成一个总线操作周期之后,CPU才能继 续控制总线。 实现这种方式的方法是DMAC向CPU发出总 线请求信号,CPU在完成当前的总线周期操 作之后,释放对总线的控制(有关的引脚信 号处于高阻状态)并发出总线响应信号。

DMA控制器

DMA控制器

9.何谓DMA方式? DMA控制器可采用哪几种方式与CPU分时使用内存?
【解】直接内存访问(DMA)方式是一种完全由硬件执行I/O交换的工作方式。DMA控制器从CPU完全接管对总线的控制。数据交换不经过CPU,而直接在内存和I/O设备之间进行。DMA控制器采用以下三种方式:
①停止CPU访问内存:当外设要求传送一批数据时,由DMA控制器发一个信号给CPU。DMA控制器获得总线控制权后,开始进行数据传送。一批数据传送完毕后,DMA控制器通知CPU可以使用内存,并把总线控制权交还给CPU。
DMA控制器在微机系统中起什么作用?它的工作特点如何
悬赏分:0 | 提问时间:2006-11-14 16:03 | 提问者:繌苽Deじ☆ve
推荐答案
直接存储存取方式(DMA)是在存储器与输入输出设备间直接传送数据,是一种完全由硬件完成输入输出操作的方式。
DMA(Direct Memory Access),即直接存储器存取,是一种快速传送数据的机制。数据传递可以从适配卡到内存,从内存到适配卡或从一段内存到另一段内存。
利用它进行数据传送时不需要CPU的参与。每台电脑主机板上都有DMA控制器,通常计算机对其编程,并用一个适配器上的ROM(如软盘驱动控制器上的ROM)来储存程序,这些程序控制DMA传送数据。一旦控制器初始化完成,数据开始传送,DMA就可以脱离CPU,独立完成数据传送。
在DMA传送开始的短暂时间内,基本上有两个处理器为它工作,一个执行程序代码,一个传送数据。利用DMA传送数据的另一个好处是,数据直接在源地址和目的地址之间传送,不需要中间媒介。如果通过CPU把一个字节从适配卡传送至内存,需要两步操作。首先,CPU把这个字节从适配卡读到内部寄存器中,然后再从寄存器传送到内存的适当地址。DMA控制器将这些操作简化为一步,它操作总线上的控制信号,使写字节一次完成。这样大大提高了计算机运行速度和工作效率。

dma控制器的基本功能(控制原理及结构组成)

dma控制器的基本功能(控制原理及结构组成)

dma 控制器的基本功能(控制原理及结构组成)DMA 控制简介
DMA(Direct Memory Access)控制器是一种在系统内部转移数据的
独特外设,可以将其视为一种能够通过一组专用总线将内部和外部存储器与每个具有DMA 能力的外设连接起来的控制器。

它之所以属于外设,是因为它是在处理器的编程控制下来执行传输的。

DMA 控制器结构
一般而言,DMA 控制器将包括一条地址总线、一条数据总线和控制寄存器。

高效率的DMA 控制器将具有访问其所需要的任意资源的能力,而无须处理器本身的介入,它必须能产生中断。

最后,它必须能在控制器内部计算出地址。

一个处理器可以包含多个DMA 控制器。

每个控制器有多个DMA 通道,以及多条直接与存储器站(memory bank)和外设连接的总线,如图1 所示。

在很多高性能处理器中集成了两种类型的DMA 控制器。

第一类通常称为系统DMA 控制器,可以实现对任何资源(外设和存储器)的访问,对于这种类型的控制器来说,信号周期数是以系统时钟(SCLK)来计数的,以ADI 的Blackfin 处理器为例,频率最高可达133MHz。

第二类称为内部存储。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可编程的最大数据传输数目为65536。
2、DMA框图
二、DMA的功能描述
DMA控制器和Cortex-M3核共享系统数据线执行 直接存储器数据传输。而1个DMA请求至少占用2个 周期的CPU访问系统总线时间。为了保证CortexM3核的代码执行的最小带宽,DMA控制器总是在2 个连续的DMA请求间释放系统时钟至少1个周期, 即保证在每次DMA周期后,都要把总线的使用权交 给CPU,以便CPU能做至少1次的总线访问。
最高优先级 高优先级 中等优先级 低优先级
(2)硬件:如果2个请求有相同的软件优先 级,则拥有较低编号的通道比拥有较高编 号的通道有较高的优先权。
3、DMA通道
传送数据量:可通过对DMA_CCRx寄存器中的PSIZE 和MSIZE位编程来设置传输个数(最大传输数目为 65535),每次传输后自动递减。
地址指针增量:通过设置DMA_CCRx寄存器中PINC 和MINC标志位,外设和存储器的地址指针在每次 传输后可以有选择地完成自动增量,增量值取决 与所选的数据宽度为1、2或4。双方的第一个传输 的地址存放在DMA_CPARx/DMA_CMARx寄存器中。
通道配置为非循环模式时,在传输结束后(即 传输数据量变为0)将不再产生DMA操作。
USART2_TX
TIM1_G SPI2_TX TIM2_CC1
TIM2_CC2 TIM2_CC4
I2C2_RX I2C2_TX
TIM3_CC1 TIM4_CC3
TIM1_CC3 TIM4_UP
循环模式配置方法:
在DMA_CCRx寄存器中将CIRC位置1,循环模式 功能被启动。
6、存储器到存储器模式 DMA通道的操作可以在没有外设请求的情况下
进行,这种操作就是存储器到存储器模式;存储 器到存储器模式不能与循环模式同时使用。只有 当DMA_CNDTRx寄存器变为0时,DMA传输结束。 存储器到存储器模式配置方法: 设置了DMA_CCRx寄存器中的MEM2MEM 位 设置了DMA_CCRx寄存器中的EN位启动DMA通道
含未完成的操作数目)寄存器做一次递减操作。 注: DMA_CMARx为DMA通道x的存储器地址寄存器;
DMA_CNDTRx为DMA通道x传输数量寄存器。
2、仲裁器
仲裁器根据通道请求的优先级来启动外设/ 存储器的访问。优先权管理分2个阶段:
(1)软件:每个通道的优先权可以在 DMA_CCRx(通道配置寄存器)中设置,有4 个软件等级:
第7章 DMA控制器
2020年4月22日星期三
直接存储器存取用来提供在外设和存储器之间 或者存储器和存储器之间的高速数据传输。无须 CPU任何干预,通过DMA数据可以快速地移动。这就 节省了CPU的资源。
DMA控制器有7个通道,每个通道专门用来管理 来自于一个或多个外设对存储器访问的请求。还有 一个仲裁器来协调各个DMA请求的优先权
支持循环的缓冲器管理;
每个通道都有3个事件标志(DMA半传输,DMA传输 完成和DMA传输出错),这3个事件标志通过“或” 可产生一个单独的中断请求;
可完成存储器和存储器间的传输,外设和存储器 间的传输,存储器和外设间的传输的传输;
闪存SRAM、外设的SRAM、APB1和APB2外设均可作 为访问的源和目标;
如果发生更多的请求时,外设可以按上述描述来 启动下次DMA过程。
每个DMA传送由3个操作组成: 从外设数据寄存器或者从DMA_CMARx寄存器指定地
址的存储器单元执行读操作。 存数据到外设数据寄存器或者存数据到DMA_CMARx
寄存器指定地址的存储器单元。 执行一次DMA传送之后,DMA_CNDTRx(该寄存器包
1、DMA处理过程
当发生一个事件后,外设要向DMA控制器发送一个 DMA请求信号。
DMA控制器可根据通道的优先权来处理外设的请求 。
当DMA控制器响应请求并开始访问外设的时候,它 立即发送一个应答信号给外设。
当外设从DMA控制器得到应答信号时,外设立即释 放DMA的请求,同时DMA控制器也撤销应答信号。
4、通道配置过程下面是配置DMA通道的过程 在DMA_CPARx寄存器中设置外设寄存器的地址; 在DMA_CMARx寄存器中设置数据存储器的地址; 在DMA_CNDTRx寄存器中设置要传输的数据量; 在DMA_CCRx寄存器的PL[1:0]位中设置通道的优先级; 在DMA_CCRx寄存器中设置数据传输的方向、循环模式
一、DMA的构成
1、 DMA的主要特性 7个独立的可配置的通道; 每个通道都直接连接专用的硬件DMA请求,每个通
道都支持软件触发,所有功能可通过软件来配置; 在7个请求间的优先权可以通过软件编程设置(共有
四级:很高、高、中等和低),在相等优先权时由 硬件决定(即请求0优先于请求1,依此类推) ; 独立的源和目标数据区的传输宽度为字节、半字、 全字;
、外设和存储器的增量模式、外设和存储器的数据宽 度、传输一半产生中断或传输完成产生中断; 设置DMA_CCRx寄存器的ENABLE 位,启动该通道。
5、循环模式
循环模式用于处理循环缓冲区和连续的数据传 输(如ADC的扫描模式)。当启动了循环模式时,数 据传输的数目变为0时,将会自动地被恢复成配置 通道时设置的初值,DMA操作将会继续进行。
7、DMA 请求映像
从外设(TIMx、ADC、SPIx、I2Cx和USARTx) 产生的7个请求,通过“或门”输入到DMA控制 器,这意味着同时只能有一个请求有效。参见 下图的DMA请求映像。
外设的DMA请求,可以通过设置相应外设寄 存器中的控制位,被独立地开启或关闭。
DMA请求映像
USART1_TX
ADC1
USART3_TX
USART3_RX
TIM4_CC2
TIM2_CC3
TIM2_UP TIM4_CC1
TIM1_CC1
TIM3_CC3 TIM3_CC4 TIM1_CC2 TIM1_CC4
SPI1_RX SPI1_TX
TIM3_UP SPI2_RX
TIM1_CCU TIM1_UP USART1_RX USART2_RX
相关文档
最新文档