微机课后习题原理答案
习 题 八
什么是DMA传输? DMA传输有什么优点?为什么? 所谓直接存储器传送(DMA)是指将外设的数据不经过CPU直接送入内存储器,或者,从内存储器不经过CPU直接送往外部设备。
使用DMA传输之后,每个数据的传输过程不需要CPU参与,在DMA控制器的控制下,在一个DMA总线周期里完成数据在外部接口和存储单元之间的直接传输。所以使用DMA传输既可以减轻CPU的负担,又可以缩短系统对外部设备的响应时间,提高数据传输速率。
2. 叙述一次数据块DMA传输和一个数据DMA传输的全过程。 一次数据块DMA传输的全过程:
? 程序对DMA控制器进行初始化,写入存储器数据块首地址,传输字节数,传输方向
等信息。同时启动外部设备(例如,启动输出设备进行第一次输出); ? 外部设备每完成一次输入/输出,它的完成信号通过DMA控制器启动一次DMA数据
传输;
? 全部预设的数据传输完成,DMA控制器发出“传输完成”信号,向CPU申请中断。
CPU在中断服务程序中设置完成标志,或者对DMA控制器进行下一次初始化。 一个数据DMA传输的全过程。 ? 外设准备就绪,需要进行DMA操作时,向DMA控制器发出“DMA请求信号”。DMA
控制器接到此信号后,向CPU发“总线请求信号”。
? CPU接到总线请求信号,在当前总线周期结束后,发出“DMA响应信号”。
? DMAC向外部设备发出“外设读”或“外设写”控制信号,向存储器发出“存储器
写”或“存储器读” 控制信号,同时发出存储单元地址。在这二个信号的作用下,一字节的数据从外设接口通过数据总线送往存储单元,或者从存储单元送往外设接口。 ? 传送1个字节之后,DMAC自动修改内部地址寄存器和字节计数器的内容。 ? DMA控制器撤销“总线请求信号”,CPU也撤销 “总线应答”信号。
3. 什么叫DMA通道?它如何组成?
DMA通道是控制一个外设接口和存储器进行DMA传输的相关电路的总和。每个通道包括地址寄存器、字节计数器、方式寄存器、DMA请求触发器、屏蔽触发器、状态寄存器以及所需的其他控制电路。
4. DMA控制器8237A的成组传送方式和单字节传送方式各有什么特点?它们的适用范
围各是什么?
成组传送方式下,DMA控制器获得总线控制权后,可以连续进入多个DMA周期,进行多个字节的传输。这种方式可以获得最高的数据传输速度。在数据传输期间,CPU不能访问总线。如果一次传输的数据较多,这种方式会对系统工作产生一定的影响。成组传送方式适用于外部设备要求很高的传输速率,系统其他负担较轻,连续占用总线不会产生严重后果的情形。
在单字节传输方式下,8237A完成1个字节传输后都释放系统总线,一次DMA传输结束,CPU可以在每个DMA周期结束后控制总线。这种方式适用于外部设备的传输速率要求1.
不太高,或者系统不允许有较长时间停顿的情况。
5. 怎样用指令启动一次DMA传输?怎样用指令允许/关闭一个通道的DMA传输? 用指令将DMA请求寄存器中相关位置位,可以启动一次DMA传输。
用指令将DMA屏蔽寄存器中相关位复位,可以允许一个通道的DMA传输。将DMA屏蔽寄存器中相关位置位,可以关闭一个通道的DMA传输。
6. DMA控制器8237A能不能用中断方式工作?请说明。
DMA控制器8237A可以用中断方式工作。将8237A的EOP信号反相后连接到中断控制器的中断请求输入端,则一次数据块传输结束后,可以向CPU申请中断,由专门的中断服务程序进行结束处理。
7. 如何判断某通道的DMA传输是否结束?有几种方法可供使用?
判断某通道的DMA传输是否结束有二种方法。其一是读出DMA控制器的状态寄存器内容,测试其中代表该通道的状态位,可以得知该通道的DMA传输是否结束。其二是读出该通道的字节计数器内容,如果值为0(对8237A而言为-1),表示该通道的DMA传输已经结束。
此外,可以用8237A的EOP信号向CPU申请中断。一旦进入这个中断服务程序,表明该通道的DMA传输已经结束。
8. 叙述一次DMA控制器8237A编程使用的主要步骤。 DMA控制器8237A初始化编程的主要步骤为: ? 发复位命令;
? 写命令字,设置8237A的工作方式;
? 写方式字,设置需使用的通道的工作方式; ? 清除先/后触发器;
? 写入内存储器起始地址; ? 写入传送的字节数-1; ? 清除该通道的屏蔽位;
? 启动外部设备,如果是内存到输出设备,用指令设置第一次DMA请求。
9. 使用DMA控制器8237A传输一个字节需要多少时间?受那些因素影响?请作具体分
析。
使用DMA控制器8237A传输1字节数据需要4个DMA控制器使用的时钟周期,对于速度稍慢的外设/存储器,也可以插入一个或多个等待周期。
影响DMA周期时间长短的因素有:
? DMA控制器使用的时钟频率:频率越高,DMA周期越短;
? 存储器和外部设备的工作速度:如果速度跟不上DMA时钟的要求,则需要插入等
待周期,从而延长整个DMA周期; ? 使用压缩时序可以缩短DMA周期;
? ?
如果存储器数据块首地址低8位为“0”,前256个字节内存地址的高8位相同,它们传送时只需要发送一次高8位地址,后面255个数据的DMA周期达到最小; 如果进行存储器之间数据传输,每个字节的传输需要二个DMA周期。
习 题 九
1. A/D和D/A转换在微机应用中分别起什么作用?
计算机加工、处理的信号可以分为数字量(Digit)和模拟量(Analog)两种类型。现代计算机内部都采用二进制表示的数字量进行信号的输入、存储、传输、加工与输出。为了使用计算机对模拟量进行采集、加工和输出,需要把模拟量转换成便于数字计算机存储和加工的数字量(A/D转换),或者把数字量转换成模拟量(D/A转换)。因此,D/A与A/D转换是计算机用于多媒体、工业控制等领域的一项重要技术。
2. 怎样将D/A转换器连接到微型计算机?
D/A转换器将数字量转换成模拟量输出。为了保存由计算机送来的数字信号,通常需要配置一个“数据寄存器”,向D/A 转换器提供稳定的数字信号。
D/A转换芯片输出的模拟信号功率一般比较小,为了能够驱动执行机构工作,D/A转换器的输出一般都要连接到运算放大器进行功率放大。
3. 修改图9-5,将DAC0832的两级锁存合为一级使用,画出连接图,并编写输出三角波和锯齿波的程序。
为了将DAC0832的二级缓冲锁存器合为一级使用,可以将它的第二级置为“直通”,也就是把WR2 和 XFER 接地,用第一级的WR1和CS对输入进行控制,如下图。
DAC0832D7-D0地址M/IO译码器PORTD7-D0CSXFERWR2IOW+5VWR1ILEVrefVref2R2RRfbIout1Iout2-+R-+模拟地Vout
输出三角波的程序段如下: S0: MOV AL, 0 ;AL中置初值0,输出三角波的上升段 S1: CALL OUTPUT ;调用输出子程序,输出一个值 INC AL ;产生上升段下一个值 JNZ S1 ;上升段未结束,继续输出 DEC AL ;恢复到最大值 S2: CALL OUTPUT ;输出三角波的下降段 DEC AL ;产生下降段下一个值 JNZ S2 ;下降段未结束,继续输出 JMP S1 ;下降段结束,输出下一个三角波 输出锯齿波的程序段如下: MOV AL, 0 J1: CALL OUTPUT ;输出当前值
相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




