欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    DMA控制器微型计算机技术.ppt

    • 资源ID:5427526       资源大小:980.50KB        全文页数:89页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    DMA控制器微型计算机技术.ppt

    第 8 章,DMA控制接口,教学重点 8237A的工作方式 8237A寄存器组的作用 8237A寄存器组的编程,8.1 DMA控制器的一般结构和概要,一、DMA概述 为了提高数据传送的速率,人们提出了直接存储器存取(DMA)的数据传送控制方式,即在一定时间段内,由DMA控制器取代CPU,获得总线控制权,来实现内存与外设或者内存的不同区域之间大量数据的快速传送。,二、DMA数据传送的工作过程,外设向DMAC发出DMA传送请求。DMAC通过连接到CPU的HOLD信号向CPU提出DMA请求。CPU在完成当前总线操作后会立即对DMA请求做出响应。CPU的响应包括两个方面:一方面,CPU将控制总线、数据总线和地址总线浮空,即放弃对这些总线的控制权;另一方面,CPU将有效的HLDA信号加到DMAC上,用此来通知DMAC,CPU已经放弃了总线的控制权。,二、DMA数据传送的工作过程(续),待CPU将总线浮空,即放弃了总线控制权后,由DMAC接管系统总线的控制权,并向外设送出DMA的应答信号。由DMAC送出地址信号和控制信号,实现外设与内存或内存不同区域之间大量数据的快速传送。DMAC将规定的数据字节传送完之后,通过向CPU发HOLD信号,撤消对CPU的DMA请求。CPU收到此信号,一方面使HLDA无效,另一方面又重新开始控制总线,实现正常取指令、分析指令、执行指令的操作。,需要注意的是,在内存与外设之间进行DMA传送期间,DMAC控制器只是输出地址及控制信号,而数据传送是直接在内存和外设端口之间进行的,并不经过DMAC;对于内存不同区域之间的DMA传送,则应先用一个DMA存储器读周期将数据从内存的源区域读出,存入到DMAC的内部数据暂存器中,再利用一个DMA存储器写周期将该数据写到内存的目的区域中去。,二、DMA数据传送的工作过程(续),8.2 DMA控制器8237A的原理,控制寄存器,状态寄存器,通道1,通道2,通道3,请求触发器,屏蔽触发器,一、DMA控制器8237A的编程结构,含有4个相互独立的通道,每个通道有独立的地址寄存器和字节数寄存器,而控制寄存器、状态寄存器为四个通道所共用。每个DMA通道具有不同的优先权每个DMA通道可以分别允许和禁止每个DMA通道有4种工作方式,分别为:单字节传送、数据块传送、请求传送、级连方式。通道中地址寄存器的长度为16位,一次传送的最大长度可达64KB多个8237A芯片可以级连,扩展通道数,二、8237A的内部组成和结构,1四个独立的DMA通道,每个通道都有一个16位的基地址寄存器,一个16位的基字节数计数器,一个16位的当前地址寄存器和一个16位的当前字节数计数器及一个8位的方式寄存器,方式寄存器接收并保存来自于CPU的方式控制字,使本通道能够工作于不同的方式下;,2定时及控制逻辑电路,对在DMA请求服务之前,CPU编程对给定的命令字和方式控制字进行译码,以确定DMA的工作方式,并控制产生所需要的定时信号;,3优先级编码逻辑,对通道进行优先级编码,确定在同时接收到不同通道的DMA请求时,能够确定相应的先后次序。通道的优先级可以通过编程确定为是固定的或者是旋转的。,4共用寄存器,除了每个通道中的寄存器之外,整个芯片还有一些共用的的寄存器:1个16位的地址暂存寄存器1个16位的字节数暂存寄存器1个8位的状态寄存器1个8位的命令寄存器1个8位的暂存寄存器,1个4位的屏蔽寄存器1个4位的请求寄存器,8237的内部寄存器,58237的三态缓冲器,8237的数据引线,地址引线都有三态缓冲器,因而可以接也可以释放总线。,三、8237的外部结构,8237是具有40个引脚的双列直插式集成电路芯片,首先分类展开外部引脚,1.请求与响应信号,DREQ0DREQ3:DMA通道请求。当外设需要请求DMA服务时,将DREQ信号置成有效电平,并要保持到产生响应信号。对应于四个独立的通道,DREQ的有效电平可以通过编程来加以确定,优先级可以固定,也可以旋转。HRQ:总线请求。8237A输出有效的HRQ高电平,向CPU申请使用系统总线。HLDA:总线响应。8237A接受来自CPU的响应信号HLDA,取得了总线的控制权。DACK0DACK3:DMA通道响应。8237A使请求服务的通道产生相应的DMA响应信号。,2.DMA传送控制信号,A0A7:地址线。输出低8位存储器地址。DB0DB7:数据线。输出高8位存储器地址;存贮器与存贮器的传送期间,用于数据传送。ADSTB:地址选通。DMA传送开始时,输出高有效,把在DB0DB7上输出的高8位地址锁存在外部锁存器中。AEN:地址允许。输出高有效,将锁存的高8位地址送入系统总线,与芯片此时输出的低8位地址组成16位存储器地址。,2.DMA传送控制信号(续),MEMR:存储器读。有效将数据从存储器读出MEMW:存储器写。有效将数据写入存储器IOR:I/O读。有效将数据从外设读出IOW:I/O写。有效将数据写入外设READY:准备好。DMA传送的S3下降沿检测到为低时,插入等待状态Sw,直到READY为高才进入第4个时钟周期S4。EOP:过程结束。DMA传送过程结束,输出一个低有效脉冲。外部输入低脉冲信号,则终结DMA传送。,3.处理器接口信号,CS:片选。低有效时,微处理器与8237A通过数据线通信,主要完成对8237A的编程。IOR:I/O读。读取8237A内部寄存器低电平有效的双向三态信号引脚。在空闲周期,它是一条输入控制信号,CPU利用这个信号读取8237内部状态寄存器的内容;而在DMA传送时,它是读端口控制信号输出引脚,与相配合,使数据由外设传送到内存。IOW:I/O写。写入8237A内部寄存器。低电平有效的双向三态信号引脚,其功能与相对应。,3.处理器接口信号(续1),DB0DB7:8条双向数据线。用于8237A与微处理器进行数据交换。在CPU控制系统总线时,可以通过DB0DB7对8237编程或读出8237的内部状态寄存器的内容;在DMA操作期间,由DB0DB7输出高8位地址信号A8A15,并利用ADSTB信号锁存该地址信号。在进行内存不同区域之间的DMA传送时,除了送出A8A15地址信号外,还分时输入从存储器源区域读出的数据,送入8237的暂存寄存器中,等到存储器写周期时,再将这些数据通过这8个引脚,由8237的暂存寄存器送到系统数据总线上,然后写入到规定的存储单元中去。,3.处理器接口信号(续2),A3A0:4条双向三态的低位地址信号引脚。在空闲周期,接收来自于CPU的四位地址信号,用以寻址8237内部的不同的寄存器(组);在DMA传送时,输出要访问的存储单元或者I/O端口地址的低4位。A7A4:4条三态地址信号输出引脚。在DMA传送时,输出要访问的存储单元或者I/O端口地址的中4位。,3.处理器接口信号(续3),CLK:时钟信号输入引脚,对于标准的8237,其输入时钟频率为3MHz,对于8237-2,其输入时钟频率可达5MHz。RESET:复位信号,输入引脚,用来清除8237中的命令、状态请求和临时寄存器,且使字节指针触发器复位并置位屏蔽触发器的所有位(即使所有通道工作在屏蔽状态),在复位之后,8237工作于空闲周期SI。,四、8237A的两种工作状态,作为从模块工作时(空闲周期):当CPU把数据送到8237A的寄存器或者从8237A的寄存器取出时,8237如同接口一样作为总线的从模块工作,受CPU控制的工作状态。这时,8237A接收16位地址,用较高的12位地址产生片选信号,用底4位地址来选择内部寄存器。,四、8237A的两种工作状态(续),作为主模块工作时(有效周期):当8237A作为主模块工作时,它会往总线上提供要访问的内存地址,地址的低8位放在A7A0,而地址的高8位放在D7D0。作为主模块工作时,8237A还必须输出必要的读写信号,IOR、IOW、MEMR、MEMW。,8237A引脚的两种作用,五、8237的工作周期 空闲周期,当8237的任一通道都无DMA请求时,则其处于空闲周期或称为SI状态,空闲周期由一系列的时钟周期组成,在空闲周期中的每一个时钟周期,8237只做两项工作:8237A采样CS片选信号,该信号有效,CPU就要对8237A进行读/写操作8237A还采样通道的请求输入信号DREQ,该信号有效,就进入有效周期,进入有效周期,8237A采样到外设有DMA请求,就脱离空闲周期进入有效周期8237A作为系统的主控芯片,控制DMA传送操作DMA传送借用系统总线完成,其控制信号以及工作时序类似CPU总线周期,进入DMA传送时序,五、8237的工作周期 有效周期,DMA传送时序,S1状态输出16位存储器地址AEN输出高电平,表示DMA传送S2状态输出DMA响应信号和控制信号DMA读:MEMR*和IOW*有效DMA写:IOR*和MEMW*有效S3和Sw状态检测数据传送是否能够完成,决定是否插入等待状态SwS4状态完成数据传送,六、8237A的工作方式,DMA传送方式 单字节传送方式 数据块传送方式 请求传送方式 级连方式DMA传送类型 DMA读 DMA写 DMA检验存储器到存储器的传送,1.DMA传送单字节方式,每次DMA传送时仅传送一个字节传送一个字节之后,当前字节数寄存器减1,当前地址寄存器加1或减1,HRQ变为无效每传送完这一个字节,8237A释放系统总线,DMAC就将总线控制权交回CPU。若传送后使字节数从0减到FFFFH,则终结DMA传送或重新初始化特点:一次传送一个字节,效率略低DMA传送之间CPU有机会重新获取总线控制权,1.DMA传送数据块方式,在这种传送方式下,DMAC一旦获得总线控制权,便开始连续传送数据。每传送一个字节,自动修改当前地址及当前字节数寄存器的内容,直到字节数寄存器从0减到FFFFH终止计数,或由外部输入EOP有效信号终结DMA传送,将总线控制权交给CPU。一次所传送数据块的最大长度可达64KB,数据块传送结束后可自动初始化。DREQ只需维持有效到DACK有效特点:一次请求传送一个数据块,效率高整个DMA传送期间CPU长时间无法控制总线(无法响应其他DMA请求、无法处理中断等),1.DMA传送请求方式,DREQ信号有效就连续传送数据DREQ信号无效,DMA传送被暂时中止,8237A释放总线,CPU可继续操作DMA通道的地址和字节数的中间值仍被保持DREQ信号再次有效,DMA传送就继续进行如果字节数寄存器从0减到FFFFH,或者由外部送来一个EOP有效的信号,将终止计数特点:DMA操作可由外设利用DREQ信号控制传送的过程,1.DMA传送级连方式,用于通过多个8237A级连以扩展通道第二级的HRQ和HLDA信号连到第一级某个通道的DREQ和DACK上第二级芯片的优先权等级与所连通道的优先权相对应第一级只起优先权网络的作用,实际的操作由第二级芯片完成还可由第二级扩展到第三级等,1.DMA传送级连方式,2.DMA传输类型,DMA读把数据由存储器传送到外设由MEMR有效从存储器读出数据,由IOW有效把这一数据写入外设DMA写把外设输入的数据写入存储器由IOR有效从外设输入数据,由MEMW有效把这一数据写入存储器。DMA检验空操作8237A不进行任何检验外设可以进行DMA校验存储器和I/O控制线保持无效,不进行传送,3.存储器到存储器的传送,固定使用通道0和通道1通道0的地址寄存器存源区地址通道1的地址寄存器存目的区地址,通道1的字节数寄存器存传送的字节数传送由设置通道0的软件请求启动每传送一字节需用8个时钟周期前4个时钟周期用通道0地址寄存器的地址从源区读数据送入8237A的临时寄存器后4个时钟周期用通道1地址寄存器的地址把临时寄存器中的数据写入目的区,4.DMA通道的优先权方式,固定优先权方式优先权固定通道0优先权最高,通道1其次,通道2再次,通道3最低循环优先权方式优先权循环变化最近一次服务的通道在下次循环中变成最低优先权,其他通道依次轮流相应的优先权,DMA传送不存在嵌套,5.自动初始化方式,每当DMA过程结束信号EOP产生时(不论是内部终止计数还是外部输入该信号)用基地址寄存器和基字节数寄存器的内容,使相应的现行寄存器恢复为初始值,包括恢复屏蔽位、允许DMA请求这样就作好了下一次DMA传送的准备,1什么叫DMA传送方式?试说明DMA方式传送数据的主要步骤。2试比较DMA传输、查询式传输及中断方式传输之间的优缺点和适用场合?3DMA控制器芯片Intel8237有哪几种工作方式?各有什么特点?4Intel8237支持哪几种DMA传输类型?,习题与思考,8.5 8237A的寄存器,8237A共有10种内部寄存器,对它们的操作有时需要配合3个软件命令8237A的“软件命令”不需要通过数据总线写入控制字直接由地址和控制信号译码实现,全部都用地址A0A3区分,1基地址寄存器,用以存放16位地址,只可写入而不能读出。在编程时,它与当前地址寄存器被同时写入某一起始地址,可用作内存区域的首地址或末地址。在8237进行DMA数据传送的工作过程中,其内容不发生变化,只是在自动预置时,其内容可被重新写到当前地址寄存器中去。,2基字节数寄存器,用以存放相应通道需要传送数据的字节数,只可写入而不能读出。在编程时它与当前字节数寄存器被同时写入要传送数据的字节数。在8237进行DMA数据传送的工作过程中,其内容保持不变,只是在自动预置时,其内容可以被重新写到当前字节数寄存器中去。,3当前地址寄存器,保持DMA传送的当前地址值每次传送后该寄存器的值自动加1或减1CPU可以对其进行读写操作。在选择自动预置时,每当字节计数值减为0或外部有效后,就会自动将基地址寄存器的内容写入当前地址寄存器中,恢复其初始值。,基地址寄存器存放初始值,4当前字节数寄存器,保持DMA传送的剩余字节数每次传送后,该寄存器的值减1这个寄存器的值可由CPU写入和读出该寄存器的值减至0,再减1(从0减到FFFFH)时,终止计数,基字节数寄存器存放初始值,传送N个字节,初始值为N1,5地址暂存寄存器和字节数暂存寄存器,这两个16位的寄存器和CPU不直接发生关系,我们也不必要对其进行读/写操作,因而对如何使用8237没有影响。,6模式寄存器,每个通道有一个8位的模式寄存器,但是它们占用同一个端口地址,用来存放方式字,依靠方式控制字本身的特征位来区分写入不同的通道,用来规定通道的工作方式,各位的作用如下:,请看方式字的格式,方式字格式,00 请求模式01 单字节模式10 数据块模式11 级联模式,0 地址增量(加1)1 地址减量(减1),0 禁止自动初始化1 允许自动初始化,00DMA校验01DMA写10DMA读11非法若D7D611,00 通道001 通道110 通道211 通道3,00 通道001 通道110 通道211 通道3,00 请求传输方式01 单字节传输方式 10 块传输方式11 级联传输方式,00 校验传输01 写传输10 读传输11 无意义,通道选择,方式选择,传输类型选择,自动预置功能选择:0禁止;1允许。,地址增/减1选择:0增1;1减1。,方式字格式,自动预置就是当某一通道按要求将数据传送完后,又能自动预置初始地址和传送的字节数,而后重复进行前面已进行过的过程。校验传送就是实际并不进行传送,只产生地址并响应EOP信号,不产生读写控制信号,用以校验8237的功能是否正常。,7控制寄存器,存放8237A的命令字设置8237A芯片的操作方式影响每个DMA通道复位时使命令寄存器清零设置D21才使8237A可以作为DMA控制器,请看命令字的格式,命令字格式,0 DACK低电平有效1 DACK高电平有效,0 禁止存储器到存储器传输1 允许存储器到存储器传输,0 DREQ高电平有效1 DREQ低电平有效,0 禁止通道0地址保持1 允许通道0地址保持。D0=0时无意义,0 不扩展写入1 扩展写入,0 启动8237工作1 停止8237的工作,0 固定优先权 1 旋转优先权,0 正常时序1 压缩时序,命令字格式,命令字说明,D0位用以规定是否允许采用存储器到存储器的传送方式。若允许这样做,则利用通道0和通道1来实现。D1位用以规定通道0的地址是否保持不变。如前所述,在存储器到存储器传送中,源地址由通道0提供,读出数据到暂存寄存器,而后,由通道l送出目的地址,将数据写入目的区域;若命令字中D10,则在整个数据块传送中(块长由通道1决定)保持内存源区域地址不变,因此,就会把同一个数据写入到整个目的存储器区域中。,命令字说明(续),D2位是允许或禁止8237芯片工作的控制位。D3位用于选择总线周期中写信号的定时。例如,PC机中动态存储器写是由写信号的上升沿启动的。若在DMA周期中写信号来得太早,可能造成错误,所以PC机选择D30。D5位用于选择是否扩展写信号。在D3=0(正常时序)时,如果外设速度较慢,有些外设是用8237A送出的和信号的下降沿来产生的READY信号的。为提高传送速度,能够使READY信号早些到来,须将和信号加宽,以使它们提前到来。因此,可以通过令D5=1使和信号扩展2个时钟周期提前到来。,8请求寄存器,用于在软件控制下产生一个DMA请求 除硬件DMA请求外,当工作在数据块传送方式时也可以通过软件发出DMA请求若是存贮器到存贮器传送,则必须由软件请求启动通道0,请看请求字的格式,请求字格式,9.屏蔽寄存器,控制外设硬件DMA请求是否被响应(为0允许),各个通道互相独立。3种方法:单通道屏蔽字只对一个DMA通道屏蔽位进行设置主屏蔽字对4个DMA通道屏蔽位同时进行设置清屏蔽寄存器命令使4个屏蔽位都清零(允许)复位使4个通道全置于屏蔽状态当一个通道的DMA过程结束,如果不是工作在自动初始化方式,则这一通道的屏蔽位置位,必须再次编程为允许,才能进行下次DMA传送,请看屏蔽字的格式,单通道屏蔽字格式,主屏蔽字格式,Di0 清通道I屏蔽位Di1 置通道I屏蔽位,10.状态寄存器,可由CPU读取低4位反映读命令这个瞬间每个通道是否产生TC(为1,表示该通道传送结束)高4位反映每个通道的DMA请求情况(为1,表示该通道有请求)状态位在复位或被读出后,均被清零,D7=1 通道3请求,D0=1 通道0已终止计数,D1=1 通道1已终止计数,D2=1 通道2已终止计数,D4=1 通道0请求,D6=1 通道2请求,D5=1 通道1请求,D3=1 通道3已终止计数,8237的状态寄存器,11.临时寄存器,在存储器到存储器的传送方式下,临时寄存器保存从源存储单元读出的数据,该数据又被写入到目的存储单元传送完成,临时寄存器只会保留最后一个字节,可由CPU读出复位使临时寄存器内容为零,8.7 8237A的编程,8327A芯片的初始化编程:只要写入命令寄存器可先输出主清除命令,进行软件复位然后写入命令字命令字影响所有4个通道的操作,8.7 8237A的编程(续1),DMA通道的DMA传送编程:将存储器起始地址写入地址寄存器(如果采用地址减量工作,则是结尾地址)将本次DMA传送的数据个数写入字节数寄存器(个数要减1)确定通道的工作方式,写入方式寄存器写入屏蔽寄存器复位通道屏蔽位,允许DMA请求,请看实例,DMA通道0的刷新编程,out 0dh,al;DMAC主清除命令mov al,0out 08,al;DMAC命令字mov al,0out 00,al;通道0的地址寄存器低字节out 00,al;通道0的地址寄存器高字节mov al,0ffhout 01,al;通道0的字节数寄存器低字节out 01,al;通道0的字节数寄存器高字节mov al,58h out 0bh,al;通道0模式字mov al,0out 0ah,al;通道0屏蔽字,IBM PC/XT,8237A的编程(续2),两种方法反映DMA过程结束(即终止计数、发生TC):状态寄存器的低4位信号(需配合DACK响应信号确定通道)应用程序处理DMA传送过程结束:采用软件查询状态字采用硬件中断在中断服务程序处理,8237A的应用,8237A在PC系列机的使用情况DMA写传送DMA设定子程序,8237A在IBM PC系列机上的应用,IBM PC/XT机使用一片8237A通道0:动态存贮器DRAM刷新通道1:用户使用或SDLC卡通道2:内存与软盘的高速数据交换通道3:内存与硬盘的高速数据交换IBM PC/AT机采用两片8237ADMAC1包含通道03,支持8位数据传送DMAC2组成通道47,通道57支持16位数据传送,通道4用于级连,1.8237A的初始化,8237A初始化写入命令字为0,确定了:DREQ高电平有效、DACK低电平有效,固定优先权(依次为通道0、17)不进行存储器到存储器的数据传输PC机用DMA控制电路进行刷新,所以DMA传送不能长时间占用总线(不应超过15s),一般只能使用单字节传送方式在PC系列机上,用户如果使用DMA通道,要注意遵从上述系统要求。除了要禁止8237A工作,用户通常不必操作命令寄存器,2.高位地址的形成,DMA传送时的高位地址由“页面寄存器”提供页面寄存器由CPU的输出指令实现写入DMAC1的通道0通道3:8237A提供系统A0A15低16位地址,页面寄存器输出系统A16A23高8位地址DMAC2的通道5通道7:8237A提供系统A1A16的16位地址,而系统A0被强迫为逻辑0,页面寄存器仅输出高7位地址A17A23,页面寄存器不会自动增减量高位地址在DMA传送过程中不改变,DMA写传送,通道1工作方式,mov al,45h;通道1方式字:;单字节写传送,地址增量,非自动初始化out 0bh,alnop;延时nopout 0ch,al;清高/低触发器命令,DMA写传送,通道1起始地址,mov al,0out 02h,al;写入低8位地址到地址寄存器mov al,50hout 02h,al;写入中8位地址到地址寄存器mov al,04hout 83h,al;写入高8位地址到页面寄存器,DMA写传送,通道1传送字节数,mov ax,2048-1;AX传送字节数减1out 03h,al;送字节数低8位到字节数寄存器mov al,ahout 03h,al;送字节数高8位到字节数寄存器mov al,01out 0ah,al;单通道屏蔽字:允许通道1的DMA请求;其他工作,DMA写传送,通道1传送结束判断,dmalp:in al,08h;读状态寄存器and al,02h;判断通道1是否传送结束jz dmalp;没有结束,则循环等待;传送结束,处理转换数据,DMA写传送,DMA传送过程结束的判断:软件查询方式,DMA设定子程序,系统ROM-BIOS的DMA设定子程序:DMA通道2传送编程软盘的读写利用DMA通道2传送数据被读软盘、写软盘和软盘检验等软盘I/O功能程序调用,通道2工作方式,push cx;保存CXcli;关中断out 0ch,al;清高/低触发器命令push ax;延时pop axout 0bh,al;将AL中的方式字写入通道2,DMA设定子程序,形成物理地址,mov ax,esmov cl,4rol ax,cl;段地址左移4位mov ch,al;高位存入CHand al,0f0hadd ax,bx;加段内偏移地址jnc j33inc ch;物理地址形成j33:push ax;保存AX,DMA设定子程序,通道2起始地址,out 04h,al;写入地址寄存器mov al,ahout 04h,almov al,chand al,0fhout 81h,al;写入页面寄存器,DMA设定子程序,计算传送字节数,mov ah,dh;取扇区数,计算传送的字节数sub al,al;AX为扇区数乘256shr ax,1;AX为扇区数乘128push ax;暂存AXmov bx,6call GET-PARM;调用参数子程序mov cl,ah;出口参数:AH0/1/2/3pop ax;恢复AXshl ax,cl;AX为DMA传送的字节数,DMA设定子程序,通道2传送字节数,dec ax;字节数减1push ax;保存out 05h,al;写入字节数寄存器mov al,ahout 05h,alsti;开中断,DMA设定子程序,设置出口参数,pop cx;弹出传送的字节数pop ax;弹出物理地址的低16位地址add ax,cx;相加,根据结果建立标志CFpop cx;恢复CXmov al,02h;允许通道2进行DMA响应out 0ah,alret;返回,DMA设定子程序,DMA传送过程结束的判断:硬件中断方式,1Intel8237占几个端口地址?这些端口在读/写时操作过程中的作用是什么?2试说明由Intel8237控制,把内存中的一个数据块向接口传送的过程。3某8086系统中使用8237完成从存储器到存储器的数据传送,已知源数据块首地址的偏移地址值为1000H,目标数据块首地址的偏移地址值为1050H,数据块长度为100字节。试编写初始化程序,并画出硬件连接图。4某8086系统中使用8237完成从存储器到外设端口的数据传送任务,若已知通道0的地址寄存器、字节计数器、方式寄存器端口地址分别为EEE0H,EEE1H和EEE8H,要求通过通道0将存储器中偏移地址为1000H10FFH的内容传送到显示器输出,试编写初始化程序。,习题与思考:,第8章 教学要求,1.了解8237A引脚特点和工作时序2.掌握8237A的各种工作方式3.理解8237A内部寄存器的作用和编程4.了解8237A在IBM PC系列机上的应用情况,跨越物理段示例,各通道寄存器的寻址,各通道寄存器的寻址,各通道寄存器的寻址,各通道寄存器的寻址,

    注意事项

    本文(DMA控制器微型计算机技术.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开