(选学)第11章DMA接口技术
- 格式:ppt
- 大小:581.50 KB
- 文档页数:35


11-第⼗⼀讲-DMA技术北京⼤学本科⽣主⼲基础课北京⼤学信息科学技术学院本科⽣必修课北京⼤学Peking University2015.5.20第⼗⼀讲直接存储器存取技术本讲要点⾸先⽐较三种主要的I/O控制⽅式,其次分析直接存储器存取(DMA)技术的特点,然后介绍DMA控制器8237的主要特点,最后结合⽰例讲解DMA控制器的编程应⽤。
阅读教材《微型计算机……》:8通过学习本课程了解计算机的发展历程,理解计算机的组成原理,掌握计算机的设计⽅法I/O 控制⽅式ⅠDMA 接⼝技术ⅡDMA 控制器8237Ⅲ8237编程⽰例Ⅳ主要内容I/O控制⽅式的分类1.程序控制⽅式3.直接存储器存取(DMA)⽅式1. 程序控制⽅式在程序控制下进⾏的数据传送⽅式①⽆条件传送⽅式假定外设已经准备好CPU直接利⽤IN/OUT指令与外设传送数据不查询外设的⼯作状态②程序查询传送⽅式CPU通过执⾏程序,不断查询外设的⼯作状态?在确定外设已经准备就绪时,才进⾏数据传送程序查询传送⽅式⽰例STATE:IN AL,22H;输⼊状态信息TEST AL,02H;测试“准备好”位JZ STATE;若未准备好,则继续查询IN AL,20H;准备好,输⼊数据;假设该状态寄存器的第2位表⽰输⼊数据是否“准备好”并⾏接⼝电路0:数据输⼊寄存器1:数据输出寄存器2:状态寄存器3:控制寄存器4:中断控制逻辑CPU系统总线LED数码管拨码开关2. 中断控制⽅式程序在运⾏中,出现了某种“紧急事件”CPU必须中⽌正在执⾏的程序,转⽽去处理紧急事件(执⾏中断服务程序)紧急事件处理完毕后,CPU返回原运⾏程序常见“紧急事件”键盘击键收到⽹络数据包显⽰屏幕需要刷新……系统总线CPU中断控制电路I/O 接⼝I/O 接⼝I/O 接⼝中断信号中断信号中断信号中断信号中断响应和处理过程1关中断2保存断点3识别中断源4保护现场5执⾏中断服务程序6恢复现场并返回中断控制⽅式的特点优点(与程序查询⽅式相⽐)提⾼了CPU的⼯作效率外围设备具有申请服务的主动权CPU可以和外设并⾏⼯作可适合实时系统对I/O处理的要求缺点外设和存储器之间的数据交换仍由CPU承担?使⽤数据传送指令,占⽤了宝贵的CPU运算资源数据要经过CPU中的通⽤寄存器中转,过程冗长?注:程序查询⽅式同样有这些缺点3. DMA⽅式直接存储器存取(Direct Memory Access),简称DMA ⽅式不需要CPU⼲预(不需CPU执⾏程序指令)采⽤DMA ⽅式的常见外设SATA 硬盘150~600MB/s PATA 硬盘133MB/sPCI Express 500M~8GB/sPCI 133MB/sUSB 1.5~640MB/s串⼝20KB/s以太⽹10/100/1000Mb/s*需要注意K 、M 、G 等单位前缀可能有不同的含义第⼀个IBM PC上的计算机显⽰标准显⽰分辨率320×200屏幕上的像素点个数320×200=76800⾊深3位⼀帧所需要的容量76800×3=230400bit刷新率60Hz存储带宽230400×60=13824000b/s=13.824Mb/s显⽰分辨率为640×480屏幕上的像素点个数640×480=307200⾊深8位⼀帧所需要的容量307200×8=2457600bit刷新率为60Hz存储带宽2457600×60=147456000b/s=147.456Mb/sWUXGA显⽰标准(2000年代)显⽰分辨率为1920×1200屏幕上的像素点个数1920×1200=2304000⾊深24位⼀帧所需要的容量2304000×24=55296000bit刷新率为60Hz存储带宽55296000×60=3317760000b/s=3.31776Gb/s通过学习本课程了解计算机的发展历程,理解计算机的组成原理,掌握计算机的设计⽅法I/O 控制⽅式ⅠDMA 接⼝技术ⅡDMA 控制器8237Ⅲ8237编程⽰例DMAC 的基本⼯作步骤1、CPU 设置DMAC 内部配置寄存器2、DMAC 处于空闲等待状态3、I/O 接⼝向DMAC 发出DMA 传送申请4、DMAC 响应I/O 接⼝的申请5、DMAC 向I/O 接⼝发起总线读传输6、DMAC 向存储器发起总线写传输7、重复5~6直到本次DMA 传送完成8、返回2,等待下⼀次DMA 传送申请存储器S DMACSM CPU MI/O 接⼝S以使⽤独⽴DMAC 进⾏外设到内存的传送为例DMAC 的主要配置参数在DMA 传送前,CPU 通过读写DMAC 内部配置寄存器,设置其⼯作模式,⼀般包括:①源地址的初始值及传送时的地址增减⽅式②⽬的地址的初始值及传送时的地址增减⽅式③待传送数据的长度存储器S DMACSMCPUMI/O 接⼝S以外设到内存的传送为例:1、“源地址”设置为某I/O 端⼝,传送时不变2、“⽬的地址”设置为存储器的某个地址,传送时递增3、“待传送数据的长度”根据需要设置,亦可不设置CPU独⽴的DMA 控制器总线I/O 接⼝S I/O 接⼝DMACSMMS: 从模块接⼝M: 主模块接⼝。
第10章DMA接口技术习题10.1 什么是DMA方式?DMA方式的特点是什么?主要用于什么场合?【参考答案】DMA方式是指外设与存储器或者存储器与存储器之间直接传输数据的方式,在这种方式中,外设与存储器或者存储器与存储器之间直接传输数据由专用接口芯片DMA控制器(简称DMAC)来管理。
数据传送不需要经过CPU,直接由硬件控制。
DMA方式的主要特点是数据数据速度快数据传输速度很高,传输速率仅受内存访问时间的限制,但需更多硬件。
DMA方式适用于高速外设与主机之间进行成批的数据传送。
10.2 简述DMA控制器8237A的主要功能。
【参考答案】DMA控制器8237A的主要功能如下。
(1)每个芯片内部有4个独立的DMA通道,可以分时为4个外设实现DMA的传送。
每个通道可采用3种不同的传送类型,即读操作、写操作、校验操作。
(2)每个通道的DMA请求都可以分别允许和禁止。
(3)每个通道的DMA请求有不同的优先级,由编程来决定其优先级,其优先级可以是固定的,也可以是轮转的。
(4)每个通道一次传送数据的最大长度可达64KB,可以在存储器与外设之间进行数据传送,也可以在存储器的两个区域之间进行传送。
(5)8237A的DMA传送有4种工作方式:单字节传送方式、数据块传送方式、请求传送方式和级联传送方式。
(6)有一条结束处理的输入信号EOP#,外界可以用此信号来结束DMA传送。
(7)8237A可以进行级联,用于扩展通道数。
10.3 DMA传送方式为什么能实现高速传送?【参考答案】DMA传送方式能够实现高速数据传送主要有两个原因:(1)它为两个存储介质提供了直接传输通道,不象CPU 控制的传送那样要通过内部寄存器中转。
(2)用硬件取代了软件,它直接发出对两个介质的选中信号及其读写控制信号,而不是通过执行指令来控制传送。
10.4 DMA控制器8237A什么时候可作为主设备工作?什么时候可作为从设备工作?在这两种情况下,系统总线的IOR#、IOW#、MEMR#、MEMW#及地址线各处于什么状态?系统总线中哪个信号可以区分8237A处于哪种工作情况?【参考答案】7.3 DMA控制器8237A什么时候作为主模块工作?什么时候作为从模块工作?在这两种情况下,各控制信号处于什么状态,试作说明。