第6章直接存储器存取DMA
- 格式:ppt
- 大小:1.60 MB
- 文档页数:75
《单片微型计算机原理及应用》习题参考答案姜志海刘连鑫王蕾编著电子工业出版社目录第1章微型计算机基础 (2)第2章半导体存储器及I/O接口基础 (4)第3章MCS-51系列单片机硬件结构 (11)第4章MCS-51系列单片机指令系统 (16)第5章MCS-51系列单片机汇编语言程序设计 (20)第6章MCS-51系列单片机中断系统与定时器/计数器 (26)第7章MCS-51系列单片机的串行口 (32)第8章MCS-51系列单片机系统扩展技术 (34)第9章MCS-51系列单片机键盘/显示器接口技术 (36)第10章MCS-51系列单片机模拟量接口技术 (40)第11章单片机应用系统设计 (44)第1章微型计算机基础1.简述微型计算机的结构及各部分的作用微型计算机在硬件上由运算器、控制器、存储器、输入设备及输出设备五大部分组成。
运算器是计算机处理信息的主要部分;控制器控制计算机各部件自动地、协调一致地工作;存储器是存放数据与程序的部件;输入设备用来输入数据与程序;输出设备将计算机的处理结果用数字、图形等形式表示出来。
通常把运算器、控制器、存储器这三部分称为计算机的主机,而输入、输出设备则称为计算机的外部设备(简称外设)。
由于运算器、控制器是计算机处理信息的关键部件,所以常将它们合称为中央处理单元CPU(Central Process Unit)。
2.微处理器、微型计算机、微型计算机系统有什么联系与区别?微处理器是利用微电子技术将计算机的核心部件(运算器和控制器)集中做在一块集成电路上的一个独立芯片。
它具有解释指令、执行指令和与外界交换数据的能力。
其内部包括三部分:运算器、控制器、内部寄存器阵列(工作寄存器组)。
微型计算机由CPU、存储器、输入/输出(I/O)接口电路构成,各部分芯片之间通过总线(Bus)连接。
以微型计算机为主体,配上外部输入/输出设备、电源、系统软件一起构成应用系统,称为微型计算机系统。
dma的使用技巧DMA(Direct Memory Access,直接存取)是一种计算机技术,它允许外设设备直接读写主存储器,而不需要通过中央处理器(CPU)的干预。
DMA的使用可以提高数据传输效率,降低CPU的负载。
以下是一些使用DMA的技巧和注意事项。
首先,为了正确地使用DMA,我们需要了解操作系统和硬件的支持情况。
大多数现代操作系统和硬件都支持DMA,但是不同的操作系统和硬件可能有不同的实现方式和限制。
其次,选择合适的DMA通道和传输模式。
现代计算机通常有多个DMA通道,每个通道可以执行不同的数据传输任务。
选择正确的通道和传输模式是保证DMA性能的关键。
例如,对于大量数据的连续传输,可以选择使用循环传输模式。
然后,正确地配置DMA控制器和外设设备。
DMA控制器是负责管理数据传输的硬件组件。
配置DMA控制器包括设置传输方向、传输大小、传输起始地址等参数。
外设设备也需要适当地配置以支持DMA传输。
如果配置不正确,将导致数据传输失败或损坏。
接下来,确保主存储器的可用性和安全性。
DMA通常需要直接访问主存储器,因此必须确保主存储器是可用的,并且数据存储在正确的位置。
此外,为了保护系统的安全性,应该限制DMA对主存储器的访问权限,并确保只有授权的设备可以执行DMA传输。
此外,及时处理DMA完成中断。
DMA传输完成后,DMA控制器会触发中断,即DMA完成中断。
操作系统需要及时处理这些中断,并进行必要的处理,例如从外设设备读取数据或向外设设备写入数据。
最后,进行性能优化。
使用DMA可以显著提高数据传输效率,但是还可以通过一些技巧进一步优化性能。
例如,可以使用双缓冲区技术,在一段数据传输的同时进行另一段数据的准备,以提高并发性。
总之,DMA的使用技巧和注意事项包括选择合适的DMA通道和传输模式、正确配置DMA控制器和外设设备、确保主存储器的可用性和安全性、及时处理DMA完成中断,以及进行性能优化。
了解这些技巧和注意事项可以帮助我们更好地利用DMA,提高数据传输效率和系统性能。
直接存储器存取(DirectMemoryAccess,DMA)详细讲解⼀、理论理解部分。
1、直接存储器存取(DMA)⽤来提供在外设和存储器之间或者存储器和存储器之间的⾼速数据传输。
2、⽆须CPU⼲预,数据可以通过DMA快速移动,这就节省了CPU的资源来做其他操作。
3、两个DMA控制器有12个通道(DMA1有7个通道,DMA2有5个通道),每个通道专门⽤来管理来⾃⼀个或者多个外设对存储器访问的请求。
4、还有⼀个冲裁器协调各个DMA请求的优先权。
在同⼀个DMA模块上,多个请求间的优先权可以通过软件编程设置(共有四级:很⾼、⾼、中和低),优先权设置相等时由硬件决定(请求0优先请求1,)5、每个通道都有三个事件标志(DMA半传输、DMA传输完成和DMA传输出错),这三个事件标志逻辑或成为⼀个单独的中断请求。
6、闪存、SRAM、外设的SRAM、APB1、APB2和AHB外设均可作为访问的源和⽬标。
7、可编程的数据传输数⽬:最⼤为655358、如果外设要想通过DMA 来传输数据,必须先给DMA 控制器发送DMA 请求,DMA 收到请求信号之后,控制器会给外设⼀个应答信号,当外设应答后且DMA 控制器收到应答信号之后,就会启动DMA 的传输,直到传输完毕。
DMA 有DMA1 和DMA2 两个控制器,DMA1 有7个通道,DMA2有5 个通道,不同的DMA 控制器的通道对应着不同的外设请求,这决定了我们在软件编程上该怎么设置,具体见DMA 请求映像表。
9、仲裁器当发⽣多个DMA 通道请求时,就意味着有先后响应处理的顺序问题,这个就由仲裁器也管理。
仲裁器管理DMA 通道请求分为两个阶段。
第⼀阶段属于软件阶段,可以在DMA_CCRx 寄存器中设置,有4 个等级:⾮常⾼、⾼、中和低四个优先级。
第⼆阶段属于硬件阶段,如果两个或以上的DMA通道请求设置的优先级⼀样,则他们优先级取决于通道编号,编号越低优先权越⾼,⽐如通道0 ⾼于通道1。
第6章计算机的存储系统现代计算机采用程序控制方式工作,因此,用来存放程序的存储系统是计算机的重要组成部分。
存储器包括内存储器和外存储器。
内存储器包括主存储器和高速缓冲存储器,外存储器即辅助存储器。
主存储器简称主存,它位于主机内部。
本章介绍计算机的存储系统,包括主存储器的基本组成、层次结构和工作原理,高速缓冲存储器的工作原理,以及各类外存储器。
6.1 存储器与存储系统概述6.1.1 存储器的作用现代计算机都是以存储器为中心的计算机,存储器处于全机的中心地位。
存储器的作用可归纳为:⑴存放程序和数据。
计算机执行的程序、程序运行所需要的数据都是存放在存储器中的。
⑵现代计算机可以配置的输入输出设备越来越多,数据传送速度不断加快,并且多数采用直接存储器存取(DMA)方式和输入输出通道技术,与存储器直接交换数据而不通过CPU。
⑶共享存储器的多处理器计算机的出现,使得可利用存储器来存放共享数据,并实现各处理器之间的通信,更加强了存储器作为整个计算机系统中心的作用。
6.1.2 存储器分类⒈按存取方式分类⑴随机存取存储器RAM(Random Access Memory)特点:存储器中任何一个存储单元都能由CPU或I/O设备随机存取,且存取时间与存取单元的物理位置无关。
用途:常用作主存或高速缓存。
⑵只读存储器ROM(Read-Only Memory)特点:存储器的内容只能读出而不能写入。
用途:常用来存放固定不变的系统程序。
作为固定存储,故又叫“固存”。
随着用户要求的提高,只读存储器产品从ROM→可编程只读存储器PROM→光可擦除可编程只读存储器EPROM→电可擦除可编程的只读存储器EEPROM,为用户方便地存入和改写内容提供了物质条件。
⑶顺序存取存储器SRAM特点:存储器中存储的信息(字或者记录块),完全按顺序进行存放或读出,在信息载体上没有惟一对应的地址号,访问指定信息所花费的时间和信息所在存储单元的物理位置密切相关。
《微机原理及应用》模拟试卷一参考答案一、选择题1.B C B C A 6. D A C D B二、填空题1.无条件查询中断DMA2.缓冲器锁存器3.数据总线地址总线控制总线4.2 中断向量号(中断类型码)5.OUT6.12H 5030:38007.352348.36H 3AH9.EOC10.CAH CCH三、判断题1.××√√√ 6. √××√×四、简答题1.微型计算机硬件系统由哪几部分组成?各部分功能是什么?答:微型计算机的硬件系统主要由处理器子系统、存储器、I/O接口及I/O设备、系统总线等几部分组成;处理器子系统控制和协调微机系统的各个部件;存储器用来存放程序和数据;I/O设备为微机提供具体的输入/输出手段,I/O接口充当外设与CPU间的桥梁;系统总线用来传递信息。
2.8086基本总线周期是如何组成的?各状态中完成什么基本操作?答:基本总线周期由4个时钟(CLK)周期组成,按时间顺序定义为T1、T2、T3、T4。
在T1期间8086发出访问目的地的地址信号和地址锁存选通信号ALE;T2期间发出读写命令信号RD*、WR*及其它相关信号;T3期间完成数据的访问;T4结束该总线周期。
3.8259的内部寄存器中IRR、IMR、ISR三个寄存器的作用是什么?中断结束实质上是对哪个寄存器进行操作?答:中断请求寄存器IRR:保存8条外界中断请求信号IR0~IR7的请求状态,Di位为1表示IRi引脚有中断请求,为0表示无请求。
中断服务寄存器ISR:保存正在被8259A服务着的中断状态,Di位为1表示IRi中断正在服务中,为0表示没有被服务。
中断屏蔽寄存器IMR:保存对中断请求信号IR的屏蔽状态,Di位为1表示IRi中断被屏蔽(禁止),为0表示允许。
中断结束实质上是使ISR中IRi所对应的Di位清零。
4、在8088系统最小组态中,读取指令“SUB [4000H] ,AX”(指令长度为3B)和执行该指令各需要几个总线周期?它们各是什么样的总线周期?答:由于SUB [4000H],AX 指令放在存储器中,长为3字节,所以读取指令需要3个存储器读总线周期;执行指令时,取操作数需要2个存储器读周期,存结果需要2个存储器写周期。
操作系统1.什么是计算机系统?计算机系统是怎么构成的?了解PC的组成情况,说明:1)硬件组织的基本结构,画出硬件配置图;2)主要系统软件和应用软件(若有的话)他们的作用。
答:计算机系统就是按照人的要求接收和存储信息,自动进行数据处理和计算,并输出结果信息的系统。
计算机系统由硬件子系统和软件子系统组成。
计算机系统的构成包括:如图1.2计算机硬件系统的构成:如图1.42.从功能以及程序涉设计的角度说明计算机系统中软件系统是如何构成的?答:分为系统软件,支撑软件和应用软件三层。
3.什么是操作系统?请举例说明操作系统在计算机系统中的重要地位。
答:操作系统是计算机系统中的一个系统软件,是一些程序模块的集合。
它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能安全高效地运行4.请举一个实际的例子来说明操作系统的功能。
答:你能用用操作系统管理很多资源5.为什么说“操作系统是控制硬件的软件”的说法不确切?答:操作系统不仅能够控制硬件,也可以控制各种软件资源。
6.操作系统的基本特征是什么?说明他们之间的关系。
答:1.并发性2.共享性3.随机性7.试从独立性,并发性和交互性和实时性四个方面来比较批处理系统,分时系统以及实时系统。
答:分时系统:并发性是指同时有多个用户共同使用一个计算机,宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU.独占性,是指用户感觉不到计算机为他们服务,就好像整个系统为他所独占。
交互性:是指用户根据系统响应结果进一步提出新要求,用户直接干预每一步。
实时性:是指系统对用户提出的请求及时响应。
8.引入多道程序设计技术的起因和目的是什么?多道程序系统的特征是什么?答:多道程序设计的基本思想在内存中保持多个作业,主机可以交替的方式同时处理多个作业,一般来说任何一道作业的运行总是要交替的使用处理器和外设子案9.多道程序设计的度是指在任一给定时刻,单个CPU所能支持的进程数目最大值。
1.DMA,全称Direct Memory Access,即直接存储器访问。
DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。
我们知道CPU有转移数据、计算、控制程序转移等很多功能,系统运作的核心就是CPU.CPU无时不刻的在处理着大量的事务,但有些事情却没有那么重要,比方说数据的复制和存储数据,如果我们把这部分的CPU资源拿出来,让CPU去处理其他的复杂计算事务,是不是能够更好的利用CPU的资源呢?因此:转移数据(尤其是转移大量数据)是可以不需要CPU参与。
比如希望外设A的数据拷贝到外设B,只要给两种外设提供一条数据通路,直接让数据由A拷贝到B 不经过CPU的处理,DMA就是基于以上设想设计的,它的作用就是解决大量数据转移过度消耗CPU资源的问题。
有了DMA使CPU更专注于更加实用的操作–计算、控制等。
2.DMA定义:DMA用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。
无须CPU的干预,通过DMA数据可以快速地移动。
这就节省了CPU的资源来做其他操作。
DMA传输方式DMA的作用就是实现数据的直接传输,而去掉了传统数据传输需要CPU寄存器参与的环节,主要涉及四种情况的数据传输,但本质上是一样的,都是从内存的某一区域传输到内存的另一区域(外设的数据寄存器本质上就是内存的一个存储单元)。
四种情况的数据传输如下:外设到内存内存到外设内存到内存外设到外设3.DMA传输参数我们知道,数据传输,首先需要的是1 数据的源地址 2 数据传输位置的目标地址,3 传递数据多少的数据传输量,4 进行多少次传输的传输模式 DMA所需要的核心参数,便是这四个当用户将参数设置好,主要涉及源地址、目标地址、传输数据量这三个,DMA 控制器就会启动数据传输,当剩余传输数据量为0时达到传输终点,结束DMA传输,当然,DMA 还有循环传输模式当到达传输终点时会重新启动DMA传输。
计算机组成原理——DMA存取⽅式DMA(Direct Memory Access)直接存储器存取⾼速⼤容量存储器和主存之间交换时,若采⽤程序直接传送或程序中断传送的⽅式,则会有如下问题发⽣。
1)采⽤程序直接传送,主机⼯作效率受到限制。
2)采⽤中断控制数据传送可以提⾼主机效率,但⽤于⾼速外设和主机交换信息,会使主机处于频繁的中断与返回过程中,从⽽加重了与中断有关的额外负担(即保护旧现场,恢复新现场),这样降低了CPU的性能,还有丢失数据的可能。
DMA是l/O设备与主存之间由硬件组成的直接数据通路,主要⽤于⾼速I/O设备与主存之间的成组数据传送。
数据传送时是在DMA控制器控制下进⾏的,由DMA控制器给出当前正在传送的数据字的主存地址,并统计传送数据的个数以确定⼀组数据的传送是否已结束。
在主存中要开辟连续地址的专⽤缓冲器,⽤来提供或接收传送的数据。
在数据传送之前和结束后要通过程序或中断⽅式对缓冲器和DMA控制器进⾏预处理和后处理。
对磁盘的读写是以数据块为单位进⾏的,⼀旦找到数据块的起始位置就将连续地读写。
⼀、DMA控制器主要功能:组成:DMA控制器包括多个设备寄存器、中断控制和DMA控制逻辑等。
主要的寄存器有:(1)主存地址寄存器(MAR):存放要交换数据的主存地址(2)外围设备地址寄存器(ADR):存放I/O设备的设备码,或者表⽰设备信息存储区的寻址信息。
(3)字数计数器(WC):对传送数据的总字数进⾏统计。
(4)控制与状态寄存器(CSR):⽤来存放控制字和状态字。
(5)数据缓冲寄存器(DBR):暂存每次传送的数据。
⼆、DMA传送过程DMA的数据传送过程可分为三个阶段:DMA预处理DMA数据传送DMA传送后处理在上⾯数据传送的过程中,CPU和DMA控制器访问主存时可能会产⽣冲突,争夺总线的访问权。
那么应该如何安排CPU和DMA的访存?三、DMA传送⽅式四、DMA⽅式特点五、DMA⽅式与中断⽅式⽐较⽤⼀道例题来分析这两种⽅式对CPU的占⽤情况。
第六章输入/输出方式与接口芯片第一节输入/输出方式第二节中断第三节可编程定时/计数器8254及其应用第四节可编程并行I/O接口芯片8255A及其应用第五节可编程中断控制器8259及其应用第一节输入/输出方式●教学目标介绍I/O 接口的基本概念介绍I/O端口的编址方式介绍CPU与外设间的数据传送关系●学习要求掌握I/O接口的基本功能,了解接口的一般结构熟悉I/O端口的编址方式,了解IN/OUT指令的执行过程掌握微机与外设的各种传送方式,了解DMA传送过程一、I/O接口1)I/O接口的基本概念I/O接口是连接CPU与外设的逻辑控制部件,它主要在CPU与外设间起着传输状态与命令信息,实现数据的缓冲、数据格式转换等作用。
它的主要功能有:选择外设对外设进行控制和监视进行数据寄存和缓冲进行数据格式转换进行信号电平转换I/O接口的分类并行I/O接口和串行I/O接口可编程接口和不可编程接口专用接口和通用接口2)I/O接口的基本结构主要包含有数据端口、状态端口和控制端口数据端口用于存放数据信息,包括数据输入寄存器和数据输出寄存器,主要作用是协调CPU和外设之间的数据传输速度。
控制端口用于存放控制信息,控制信息是CPU通过接口传送给外设的,其主要作用是控制外设工作,如控制输入输出装置的启/停等。
状态端口用于存放状态信息,即反映外设当前工作的状态信息,CPU可通过读取这些信息,了解外设当前的工作情况。
3)I/O端口的寻址方式在一个微机系统中既有存储单元地址又有I/O端口地址,根据两者地址的不同安排可分为以下两种寻址方式。
存储器统一编址在这种方式中,把I/O端口作为存储器的一个单元来对待,即每个端口占用一个存储单元地址。
此时,对I/O端口操作可以使用全部的存储器指令,而不必另设专门的I/O指令。
由于该方式是将I/O地址映射到了存储器地址空间,所以也称为存储器映像方式。
I/O端口独立编址在这种方式下,I/O端口与存储器各自独立编址,这样存储器地址和I/O端口地址可以重叠。