好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

计算机原理 第九章 DMA技术及控制芯片.ppt

42页
  • 卖家[上传人]:cl****1
  • 文档编号:568575393
  • 上传时间:2024-07-25
  • 文档格式:PPT
  • 文档大小:758.50KB
  • / 42 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1第九章第九章 DMA技术及控制芯片技术及控制芯片9.1 DMA概述概述9.2 8237的结构和引脚的结构和引脚9.3 8237的原理的原理本期课程要求掌握本期课程要求掌握9.1内容内容 29.1 DMA概述概述内存与外设之间的数据内存与外设之间的数据传输控制传输控制方式方式::Ø程序控制方式程序控制方式Ø中断方式中断方式ü以上方式都需要以上方式都需要CPU执行程序来控制数据传输;执行程序来控制数据传输;ü中断过程需要额外的保护断点、标志操作;中断过程需要额外的保护断点、标志操作;ü中断响应和中断返回时,都要清除指令队列,重新装入程序;中断响应和中断返回时,都要清除指令队列,重新装入程序;ØDMA方式方式ü外设和存储器之间直接进行数据传输,不经过外设和存储器之间直接进行数据传输,不经过CPU 3DMA概述概述CPU内存内存外设外设数据通道数据通道数据通道数据通道非非DMA方式方式(程序控制方式和中断方式程序控制方式和中断方式)DMAC内存内存外设外设数据通道数据通道DMA方式方式DMA=Direct Memory Access,直接存储器存取,直接存储器存取 4DMA概述概述DMA控制器功能控制器功能Ø外设请求外设请求DMA操作时,操作时,DMAC能向能向CPU发送总线请求信号;发送总线请求信号;ØDMA过程中,过程中,DMAC能能独立控制三大总线来访问存储器和独立控制三大总线来访问存储器和I/O端口,它能像端口,它能像CPU一样提供数据传送所需的地址信息和读写控制一样提供数据传送所需的地址信息和读写控制信息信息--DMAC内部有地址寄存器和字节计数器;内部有地址寄存器和字节计数器;ØDMA过程结束时,过程结束时,DMAC向向CPU交回总线控制权;交回总线控制权; 5DMA概述概述DMA操作之前,应先对操作之前,应先对DMAC编程,把要传送的数据块长度、编程,把要传送的数据块长度、数据块在存储器中的起始地址,数据传送方向等信息发送给数据块在存储器中的起始地址,数据传送方向等信息发送给DMAC;;DMA操作过程包括三个阶段:操作过程包括三个阶段:ØDMA请求;请求;ØDMA响应和数据传送响应和数据传送;;Ø传送结束传送结束;; 6DMA请求阶段请求阶段当外设要求以当外设要求以DMA方式为它服务时,发方式为它服务时,发DMA请求信号请求信号DREQ到到DMAC;;DMAC检查该信号是否被屏蔽及其优先权,如确认该信检查该信号是否被屏蔽及其优先权,如确认该信号有效则向号有效则向CPU发送总线请求信号发送总线请求信号HRQ(连到连到CPU的的HOLD)。

      CPUDMACHRQ外设外设DREQ地址总线地址总线数据总线数据总线存储器存储器 7DMA响应和数据传送阶段响应和数据传送阶段 每个总线周期结束时每个总线周期结束时CPU检测检测HOLD,如为高电平,则响应,如为高电平,则响应HOLD请求请求进入保持态,使三态总线进入保持态,使三态总线CPU侧呈高阻状态,并以总线保持响应信号侧呈高阻状态,并以总线保持响应信号HLDA通知通知DMAC;; DMAC接管总线,并以接管总线,并以DACK信号信号通知外设,使之成为通知外设,使之成为DMA传送时被选传送时被选中的设备,同时中的设备,同时DMAC给出内存地址以及给出内存地址以及I/O读写和存储器读写控制信号,读写和存储器读写控制信号,在在外设和存储器之间完成数据传送;外设和存储器之间完成数据传送;CPUDMACHLDA外设外设DACK存储器存储器地址总线地址总线数据总线数据总线IOR/IOWMEMR/MEMW 8传送结束阶段传送结束阶段传送完成后,传送完成后,DMAC放弃总线,撤消总线请求放弃总线,撤消总线请求(HRQ为低为低),,CPU检测到检测到HRQ(HOLD)为低后,撤消为低后,撤消HLDA,,CPU重新获重新获得总线控制权得总线控制权。

      CPUDMACHRQ外设外设EOP地址总线地址总线数据总线数据总线存储器存储器 9DMA概述概述PC系列微机使用系列微机使用可编程可编程DMA控制器控制器 8237A(简称简称8237)实现实现DMA功能;功能;8237有四个通道,每个通道都有独立的与相应外设接有四个通道,每个通道都有独立的与相应外设接口相联系的信号,四个通道共享与口相联系的信号,四个通道共享与CPU相连的控制信号、地相连的控制信号、地址信号、数据信号;址信号、数据信号;PC/AT以上的微机使用两片以上的微机使用两片8237,,Pentium微机系统微机系统中没有独立的中没有独立的8237芯片,其功能集成在芯片组中芯片,其功能集成在芯片组中 109.2 8237的结构和引脚的结构和引脚((1)时序和控制逻辑)时序和控制逻辑((2)优先级编码逻辑)优先级编码逻辑((3)程序命令控制逻辑)程序命令控制逻辑((4)数据、地址缓冲器组)数据、地址缓冲器组((5)内部寄存器组)内部寄存器组 118237的结构和引脚的结构和引脚 128237内部寄存器内部寄存器四个通道公用:四个通道公用:Ø控制寄存器;控制寄存器;Ø状态寄存器;状态寄存器;每个通道包含:每个通道包含:Ø基地址寄存器;基地址寄存器;Ø当前地址寄存器:当前地址寄存器:Ø基本字节计数器;基本字节计数器;Ø当前字节计数器;当前字节计数器; 138237的引脚信号的引脚信号Ø请求请求/应答信号应答信号外设接口电路向外设接口电路向8237的请求信号:的请求信号:DREQ3~DREQ08237对外设接口电路的应答信号:对外设接口电路的应答信号:DACK3~DACK08237向向CPU申请总线的信号:申请总线的信号:HRQ(连至(连至CPU的的HOLD))CPU向向8237传送的允许使用总线信号:传送的允许使用总线信号:HLDAØDMA传输结束信号:传输结束信号: EOP# (双向)(双向)当当DMAC内部任一通道传输结束,内部任一通道传输结束,8237发出发出EOP# ;;若由外部给若由外部给DMAC送入有效的送入有效的 EOP# ,则强制,则强制DMAC内部内部所有通道结束传输。

      所有通道结束传输 148237的引脚信号的引脚信号Ø地址信号地址信号CS# ::CPU初始化初始化8237或读或读8237状态时所需的片选信号;状态时所需的片选信号;A7~A4(输出):(输出):8237访问存储器的地址信号的高访问存储器的地址信号的高4位;位;A3~A0(输入(输入/输出):输出):DMA空闲态时空闲态时,CPU初始化初始化8237或读或读8237状态时,用于寻址状态时,用于寻址8237内部寄存器内部寄存器; DMA作用态时作用态时,输出低输出低4位地址线位地址线Ø地址允许信号:地址允许信号:AEN8237作为主控时(作为主控时(8237控制总线),输出控制总线),输出AEN=18237作为从控时(作为从控时(CPU控制总线),输出控制总线),输出AEN=0 158237的引脚信号的引脚信号Ø数据信号数据信号(双向双向):: DB7~DB0CPU为主控时,可以通过为主控时,可以通过I/O读命令查询读命令查询8237的状态寄存器的状态寄存器的内容,或通过的内容,或通过I/O写命令对写命令对8237的内部寄存器进行编程,的内部寄存器进行编程,数据传送通过数据传送通过DB7~DB0;;8237为主控时,为主控时, DB7~DB0输出要访问的内存地址的高输出要访问的内存地址的高8位,位,并通过并通过ADSTB锁存到外部地址锁存器中,和锁存到外部地址锁存器中,和A7~A0输出的输出的低低8位地址一起构成位地址一起构成16位地址位地址;; 168237的引脚信号的引脚信号Ø控制信号控制信号MEMR##/MEMW#:#:8237发出的存储器读发出的存储器读/写信号写信号;IOR##/IOW#:#:8237作为主控时,输出的作为主控时,输出的I/O读读/写信号写信号;8237作为从控时,作为从控时,CPU发出的发出的I/O读读/写信号,用于读写信号,用于读/写写8237;;ADSTB:地址选通信号;用于启动地址锁存器;:地址选通信号;用于启动地址锁存器;READY:存储器或:存储器或I/O的就绪信号;的就绪信号; 178237各信号的配合各信号的配合((1)作为从模块工作时)作为从模块工作时üCPU 对对8237A 的寄存器进行读写,的寄存器进行读写,8237A 就如同就如同I/O接口一样作为总线接口一样作为总线的从模块工作;的从模块工作;ü用低用低 4 位地址来选择内部寄存器,位地址来选择内部寄存器,IOR和和IOW为读写控制;为读写控制;((2)作为主模块工作时)作为主模块工作时ü 8237A 往总线上提供要访问的内存地址和地址锁存信号;往总线上提供要访问的内存地址和地址锁存信号;üDMA 传输时,最高传输时,最高 4 位地址位地址 A19~~ A16不是从不是从 8237A 得到的,而是在得到的,而是在 DMA 传输之前,用指令将高传输之前,用指令将高 4 位地址送到一个位地址送到一个 4 位的位的 I/O 端口中。

      在端口中在 DMA 传输时,此端口在地址允许信号传输时,此端口在地址允许信号 AEN 作用下保持恒定的作用下保持恒定的 4 位地址位地址输出,所以,输出,所以,DMA 传输时,每次传输字节限制在传输时,每次传输字节限制在 216以下ü作为主模块工作时,作为主模块工作时,8237A 还必须输出必要的读写信号还必须输出必要的读写信号IOR、、IOW 、、MEMR、、MEMW 189.3 8237的原理的原理((1))8237的读写控制的读写控制((2))8237工作模式和模式寄存器;工作模式和模式寄存器;((3))8237的控制寄存器;的控制寄存器;((4))8237的状态寄存器;的状态寄存器;((5)基地址寄存器和当前地址寄存器)基地址寄存器和当前地址寄存器((6)基本字节计数器和当前字节计数器)基本字节计数器和当前字节计数器((7))8237的请求标志和屏蔽标志;的请求标志和屏蔽标志;((8)复位命令和清除先)复位命令和清除先/后触发器命令;后触发器命令; 19((1)) 8237的读写控制的读写控制Ø通过对通过对8237内部寄存器的写操作来执行编程命令;内部寄存器的写操作来执行编程命令;通过读状态寄存器和暂存器的内容可了解当前状态;通过读状态寄存器和暂存器的内容可了解当前状态;Ø一片一片8237占用连续占用连续16个端口地址,用个端口地址,用DMA+00H~DMA+0FH表示。

      其中,表示其中,DMA表示该片表示该片8237的基地址的基地址Ø在在AT以上的微机以上的微机中,使用中,使用2片片8237,其地址为:,其地址为:第一片第一片8237,基地址,基地址DMA=0000H,, 使用使用0000H~000F I/O地址第二片第二片8237,基地址,基地址DMA=00C0H,使用,使用00C0H~00CF I/O地址 208237的读写控制的读写控制 21((2)) 8237工作模式和模式寄存器工作模式和模式寄存器Ø单字节传输模式;单字节传输模式;每次每次DMA操作只传送一字节,接着操作只传送一字节,接着8237释放总线;释放总线;Ø块传输模式;块传输模式;8237获得总线控制权后,连续传送多个字节,每传输获得总线控制权后,连续传送多个字节,每传输一个字节,当前字节计数器减一个字节,当前字节计数器减1,当前地址寄存器加,当前地址寄存器加1或减或减1,,直到所要求的字节数传输完(当前字节计数器减至直到所要求的字节数传输完(当前字节计数器减至0),),8237在在EOP引脚上发出结束信号,然后释放总线引脚上发出结束信号,然后释放总线在块传输过程中,若向在块传输过程中,若向8237的的EOP引脚上输入低电平,引脚上输入低电平,可强行结束传输。

      可强行结束传输 228237工作模式和模式寄存器工作模式和模式寄存器Ø请求传输模式;请求传输模式;在传输过程中,在传输过程中,8237要检测要检测DREQ信号(询问外设),信号(询问外设),当当DREQ为低时,为低时,8237暂停传输(不释放总线),当暂停传输(不释放总线),当DREQ再再次有效后,继续进行传输次有效后,继续进行传输Ø级联传输模式;级联传输模式;多片多片8237级联时,可以构成主从式级联时,可以构成主从式DMA系统级联的系统级联的方式是把从片的请求线方式是把从片的请求线HRQ连至主片的连至主片的DREQ引脚,主片的引脚,主片的DACK联至从片的联至从片的HLDA引脚;引脚;若主若主8237的某通道(的某通道(DREQ)连接从)连接从8237的的HRQ,主,主8237的该通道应设置为级联传输模式,但从的该通道应设置为级联传输模式,但从8237不设置级联传不设置级联传输模式,而是设置其它三种模式之一;输模式,而是设置其它三种模式之一; 238237工作模式和模式寄存器(工作模式和模式寄存器(0BH))自动预置:自动预置:在当前字节在当前字节计数器到达计数器到达0时,当前字节时,当前字节计数器和当前地址寄存器计数器和当前地址寄存器从基本字节计数器和基地从基本字节计数器和基地址寄存器中自动获得新的址寄存器中自动获得新的初值。

      初值读传输:读存储器,写读传输:读存储器,写IO端口;端口;写传输:读写传输:读IO端口,写存储器;端口,写存储器;校验传输:用来对读传输和写传输功能进行校验,它是一种虚拟传输,校验传输:用来对读传输和写传输功能进行校验,它是一种虚拟传输,8237也会产生存储器地址信号,但不产生存储器读也会产生存储器地址信号,但不产生存储器读/写、写、I/O读读/写信号,校验传输写信号,校验传输一般用于器件测试一般用于器件测试 24((3)) 8237的控制寄存器的控制寄存器((08H))用于设定用于设定8237的信号形式、工作时序、传输方向的信号形式、工作时序、传输方向 258237的控制寄存器的控制寄存器内存到内存的传输内存到内存的传输 ((D0== 1))ü多数情况下,多数情况下,8237A 进行的是外设的进行的是外设的 I/O 端口和内存之间的传输;端口和内存之间的传输;ü8237A还可以实现内存区域到内存区域的传输,即可以把一个数据块从内还可以实现内存区域到内存区域的传输,即可以把一个数据块从内存的一个区域传输到另一个区域;存的一个区域传输到另一个区域;ü为了实现这种传输,就要把源区的数据先送到为了实现这种传输,就要把源区的数据先送到 8237A 的暂存器,然后再的暂存器,然后再送到目的区,即,每次内存到内存的传输要用到两个总线周期。

      送到目的区,即,每次内存到内存的传输要用到两个总线周期ü在进行内存到内存的传输时,固定用通道在进行内存到内存的传输时,固定用通道 0 的地址寄存器存放源地址,而的地址寄存器存放源地址,而用通道用通道 1 的地址寄存器和字节计数器存放目的地址和计数值的地址寄存器和字节计数器存放目的地址和计数值ü在传输时,目的地址寄存器的值像通常一样进行加在传输时,目的地址寄存器的值像通常一样进行加 1 或减或减 1 操作,但是,操作,但是,源地址寄存器的值可以通过对控制寄存器的设置而保持恒定,这样,就可源地址寄存器的值可以通过对控制寄存器的设置而保持恒定,这样,就可以使同一个数据传输到整个内存目的区域以使同一个数据传输到整个内存目的区域ü如果控制寄存器的如果控制寄存器的D1== 1,则在传输时源地址保持不变则在传输时源地址保持不变 268237的控制寄存器的控制寄存器状态及时序类型状态及时序类型 278237的控制寄存器的控制寄存器空闲状态空闲状态 SI:当没有:当没有 DMA 请求时,请求时,8237A 便处于空闲状态便处于空闲状态 üDMA 控制器对控制器对 DREQ端进行测试,判断是否某个通道有端进行测试,判断是否某个通道有 DMA 请求;请求;ü同时同时 8237A 也对也对CS端进行测试,如果端进行测试,如果CS为为0,并且,并且 4 个通道的个通道的 DREQ 端均端均无效,那么,无效,那么,8237A 就作为从模块工作,此时,就作为从模块工作,此时,CPU 可以对可以对8237A 设置命令设置命令或读取状态,由或读取状态,由IOR信号控制读操作,由信号控制读操作,由IOW 控制写操作,地址线控制写操作,地址线 A3~~A0则用来对内部寄存器进行寻址;则用来对内部寄存器进行寻址;总线请求状态总线请求状态S0::ü如果某一个通道有如果某一个通道有 DMA 请求使请求使 DREQ 端为有效电平,端为有效电平,8237A 将将HRQ 驱驱动为有效电平,向动为有效电平,向 CPU 发总线请求,这样,就进入发总线请求,这样,就进入 S0状态;状态;ü此状态一般重复多次,直到此状态一般重复多次,直到 CPU 发出总线允许信号以后,才使发出总线允许信号以后,才使 8237A进入进入 S1状态。

      状态 288237的控制寄存器的控制寄存器S1状态状态:: 用来传送地址有效信号用来传送地址有效信号AEN,以便锁存地址的,以便锁存地址的 A15~~ A8大多数情大多数情况下,这几位地址不需要改变,这时,况下,这几位地址不需要改变,这时,S1状态就被跳过去,而直接进入状态就被跳过去,而直接进入 S2状态,状态,只有在块传输跨越内存一个只有在块传输跨越内存一个 256 字节的数据块、从而需要改变字节的数据块、从而需要改变 A15~~ A8时,才时,才用到用到 S1状态S2状态:状态:用来修改存储单元的低用来修改存储单元的低 16 位地址,此时,位地址,此时,8237A 从从 DB7~~ DB0输出输出地址高地址高 8位位 A15~~ A8,从,从 A7~~ A0输出地址低输出地址低 8 位但 A15~~ A8须等到须等到 S3状态状态才出现在地址总线上如果外部设备的速度不够快,那么,在才出现在地址总线上如果外部设备的速度不够快,那么,在 S2状态之后插入状态之后插入 SW状态S3状态:状态: 8237A 工作在普通时序时要用到工作在普通时序时要用到 S3状态,在状态,在 S3状态,将状态,将 A15~~ A8送到地址总线。

      如果用压缩时序工作,那就不用送到地址总线如果用压缩时序工作,那就不用 S3状态,而直接进入状态,而直接进入 S4状态,状态,此时,只更新低此时,只更新低 8 位地址位地址 A7~~ A0,而不修改高,而不修改高 8 位地址位地址 A15~~ A8 298237的控制寄存器的控制寄存器S4状态:状态:8237A 对传输模式进行测试,如果不是块传输模式,也不是请求传对传输模式进行测试,如果不是块传输模式,也不是请求传输模式,那么,测试之后立即回到输模式,那么,测试之后立即回到 S2状态ü 用普通时序时,每进行一次用普通时序时,每进行一次 DMA 传输,一般用传输,一般用 3 个时钟周期,对应于状态个时钟周期,对应于状态 S2、、S3、、S4;用压缩时序工作时,则可以在大多数情况下用;用压缩时序工作时,则可以在大多数情况下用 2 个时钟周期完成个时钟周期完成一次一次 DMA 传输,对应于传输,对应于 S2状态和状态和 S4状态ü 如果系统各部分的速度比较高,便可以用压缩时序工作,这样,可以提高如果系统各部分的速度比较高,便可以用压缩时序工作,这样,可以提高 DMA 传输时的数据吞吐量传输时的数据吞吐量。

      ü 控制寄存器的控制寄存器的 D3位决定位决定8237的工作时序:的工作时序: D3== 1,用压缩时序工作;,用压缩时序工作; D3== 0,用普通时序工作用普通时序工作S0—初始态;初始态; S1、、S2、、S3、、S4—操作态 308237的控制寄存器的控制寄存器关于扩展写信号关于扩展写信号 如果外部设备的速度比较慢,必须用普通时序工作,如果用普通时序仍如果外部设备的速度比较慢,必须用普通时序工作,如果用普通时序仍不能满足要求,以至于仍然不能在指定的时间中完成存取,那么就要在硬件不能满足要求,以至于仍然不能在指定的时间中完成存取,那么就要在硬件上通过上通过 READY 信号使信号使 8237A 插入插入 SW状态 有些设备是用有些设备是用 8237A 送出的送出的IOW 或或MEMW 信号的下降沿产生信号的下降沿产生READY 响应的,而这两个信号都是在传输过程的最后才送出为了能够使响应的,而这两个信号都是在传输过程的最后才送出为了能够使READY信号早一些到来,所以,将信号早一些到来,所以,将IOW 信号和信号和MEMW 信号的负脉冲加宽,并使它信号的负脉冲加宽,并使它们提前到来,这就是扩展写信号方法。

      们提前到来,这就是扩展写信号方法 通过扩展写信号方法的使用,可以提高传输速度,提高系统吞吐能力通过扩展写信号方法的使用,可以提高传输速度,提高系统吞吐能力 控制寄存器的控制寄存器的 D5位决定扩展写信号,位决定扩展写信号,当当 D5== 1 时,时,IOW 和和MEMW 信号被扩展到信号被扩展到 2 个时钟周期个时钟周期 318237的控制寄存器的控制寄存器DMA的优先级问题的优先级问题ü决定决定4个通道的优先级;个通道的优先级;ü8237A 有两种优先级管理方式有两种优先级管理方式 固定优先级方式:通道固定优先级方式:通道 0 的优先级最高,通道的优先级最高,通道 3 的优先级最低;的优先级最低; 循环优先级方式:通道的优先级依次循环,比如,某次传输前的优先级循环优先级方式:通道的优先级依次循环,比如,某次传输前的优先级次序为次序为 2 -3 -0 -1,那么,在通道,那么,在通道 2 进行一次传输以后,优先级次序成为进行一次传输以后,优先级次序成为 3 -0 -1 -2,如果这时通道,如果这时通道 3 没有没有 DMA 请求,而通道请求,而通道 0 有有 DMA请求,那么,在请求,那么,在通道通道 0 完成完成 DMA 传输后,优先级次序成为传输后,优先级次序成为 1 -2 -3 -0。

      通过对优先级进行循通过对优先级进行循环,环,8237A 可以防止某一个通道单独垄断总线可以防止某一个通道单独垄断总线D4==0,采用固定优先级;,采用固定优先级;D4== 1,采用循环优先级采用循环优先级 32((4)) 8237的状态寄存器(的状态寄存器(80H))状态寄存器的低状态寄存器的低 4 位用来指出位用来指出 4 个通道的计数结束状态;个通道的计数结束状态;状态寄存器的高状态寄存器的高 4 位表示当前位表示当前 4 个通道的个通道的 DMA 请求响应情况请求响应情况 33((5)基地址寄存器和当前地址寄存器)基地址寄存器和当前地址寄存器 每个通道一个基地址寄存器,一个当前地址寄存器,每个通道一个基地址寄存器,一个当前地址寄存器,16位位 ,占用相,占用相同的端口地址同的端口地址 基地址寄存器:基地址寄存器:DMA传输的内存地址初值,在初始化时由传输的内存地址初值,在初始化时由CPU分两分两次写入 当前地址寄存器:当前地址寄存器:DMA传输过程中,内存地址的当前值每传输一传输过程中,内存地址的当前值每传输一字节,该寄存器的值增字节,该寄存器的值增1或减或减1。

      CPU可分两次读出其值可分两次读出其值 34((6)基本字节计数器和当前字节计数器)基本字节计数器和当前字节计数器 每个通道一个基本字节计数器,一个当前字节计数器,每个通道一个基本字节计数器,一个当前字节计数器,16位位 ,占用相,占用相同的端口地址;同的端口地址; 基字节计数器:基字节计数器:DMA传输的字节数初值,在初始化时由传输的字节数初值,在初始化时由CPU分两次分两次写入8237规定,初值比实际传输的字节数少规定,初值比实际传输的字节数少1;; 当前字节计数器:当前字节计数器:DMA传输过程中,当前的计数值每传输一字节,传输过程中,当前的计数值每传输一字节,该寄存器的值减该寄存器的值减1当计数值减到当计数值减到FFFFH时,时,8237发出结束信号发出结束信号EOPCPU可分两次读出其值可分两次读出其值 35((7)) 8237的请求标志和屏蔽标志的请求标志和屏蔽标志ØDMA 请求可以由硬件发出,也可以由软件发出在硬件上,是通过请求可以由硬件发出,也可以由软件发出在硬件上,是通过 DREQ 引脚引入引脚引入 DMA 请求的,在软件上,则是通过对请求的,在软件上,则是通过对 DMA 请求标志的设置来发出请求标志的设置来发出请求的。

      请求的Ø 8237A 的每个通道都配备的每个通道都配备 1 个个 DMA 请求触发器和请求触发器和 1 个个 DMA 屏蔽触发器,屏蔽触发器,它们分别用来设置它们分别用来设置 DMA 请求标志和屏蔽标志;请求标志和屏蔽标志;Ø当一个通道的当一个通道的 DMA 屏蔽标志为屏蔽标志为 1 时,这个通道就不能接收时,这个通道就不能接收 DMA 请求了,请求了,这时,不管是硬件的这时,不管是硬件的 DMA 请求,还是软件的请求,还是软件的 DMA 请求,都不会被受理如请求,都不会被受理如果一个通道并没有设置自动预置功能,那么,果一个通道并没有设置自动预置功能,那么,EOP信号有效时,就会自动设信号有效时,就会自动设置屏蔽标志置屏蔽标志Ø8237A 还允许使用综合屏蔽命令来设置通道的屏蔽触发器,还允许使用综合屏蔽命令来设置通道的屏蔽触发器,D3~~ D0位中某位中某一位为一位为 1,就可以使对应的通道设置屏蔽位就可以使对应的通道设置屏蔽位 368237的请求标志和屏蔽标志的请求标志和屏蔽标志请求标志寄存器,端口地址请求标志寄存器,端口地址09H屏蔽标志寄存器,端口地址屏蔽标志寄存器,端口地址0AH综合屏蔽标志寄存器,端口地址综合屏蔽标志寄存器,端口地址0FH 37((8))复位命令和清除先复位命令和清除先/后触发器命令后触发器命令复位命令复位命令 也叫综合清除命令,它的功能和也叫综合清除命令,它的功能和 RESET 信号相同,使控信号相同,使控制寄存器、状态寄存器、制寄存器、状态寄存器、DMA 请求寄存器、暂存器以及先请求寄存器、暂存器以及先 /后后触发器都清触发器都清 0,而使屏蔽寄存器置位。

      而使屏蔽寄存器置位 对端口对端口0DH写入写入0,使,使8237复位;复位; 38复位命令和清除先复位命令和清除先/后触发器命令后触发器命令先先 /后触发器后触发器 ((端口地址端口地址0CH))Ø用来控制用来控制 DMA 通道中地址寄存器和字节计数器的初值设置通道中地址寄存器和字节计数器的初值设置Ø CPU写入基地址寄存器、基本字节计数器时,均分两次写入,先写低写入基地址寄存器、基本字节计数器时,均分两次写入,先写低位、后写高位,先位、后写高位,先/后触发器用于控制写入的值是低后触发器用于控制写入的值是低8位还是高位还是高8位;位;写入过程:写入过程:ü使先使先/后触发器后触发器=0;;ü写入低写入低8位,先位,先/后触发器自动置后触发器自动置1;;ü写入高写入高8位,先位,先/后触发器自动置后触发器自动置0 为了保证能正确设置初值,应该事先发出清除先为了保证能正确设置初值,应该事先发出清除先 /后触发器命令后触发器命令 39寄存器总结寄存器总结端口地址端口地址读读写写DMA+00HDMA+00H当前地址寄存器当前地址寄存器((0 0))基地址寄存器基地址寄存器((0 0))+01H+01H当前字节计数器当前字节计数器((0 0))基字节计数器基字节计数器((0 0))+02H+02H当前地址寄存器当前地址寄存器((1 1))基地址寄存器基地址寄存器((1 1))+03H+03H当前字节计数器当前字节计数器((1 1))基字节计数器基字节计数器((1 1))+04H+04H当前地址寄存器当前地址寄存器((2 2))基地址寄存器基地址寄存器((2 2))+05H+05H当前字节计数器当前字节计数器((2 2))基字节计数器基字节计数器((2 2))+06H+06H当前地址寄存器当前地址寄存器((3 3))基地址寄存器基地址寄存器((3 3))+07H+07H当前字节计数器当前字节计数器((3 3))基字节计数器基字节计数器((3 3))+08H+08H状态寄存器状态寄存器控制寄存器控制寄存器+09H+09H  请求寄存器请求寄存器+0AH+0AH  屏蔽寄存器屏蔽寄存器+0BH+0BH  模式寄存器模式寄存器+0CH+0CH  清先清先/ /后触发器后触发器+0DH+0DH暂存器暂存器复位命令寄存器复位命令寄存器+0EH+0EH  清除屏蔽寄存器清除屏蔽寄存器+0FH+0FH  综合屏蔽寄存器综合屏蔽寄存器 408237对内存和对内存和I/O的寻址的寻址存储器寻址存储器寻址 在主控模式下,在主控模式下,8237可以产生可以产生16位存储器地址信号,地址引位存储器地址信号,地址引脚脚A7~A0输出地址低输出地址低8位,高位,高8位地址由数据引脚位地址由数据引脚DB7~DB0输输 出,出,经地址锁存器后形成存储器地址的经地址锁存器后形成存储器地址的A15~A8。

      用用ADSTB启动地启动地址锁存器址锁存器 当系统的存储器地址多于当系统的存储器地址多于16位时,多余位地址由一个称为位时,多余位地址由一个称为DMA页面寄存器的接口电路提供页面寄存器的接口电路提供 在在PC/AT系统中,需要系统中,需要24位地址,高位地址,高8位地址位地址A23~A16由由DMA页面寄存器页面寄存器电路电路74LS612提供在DMA传输之前,用指令将高传输之前,用指令将高8位地址送入页面寄存器,位地址送入页面寄存器,在在DMA传输过程中,由传输过程中,由AEN信号使页面寄存器输出该信号使页面寄存器输出该8位地址 41存储器寻址存储器寻址 42I/O寻址寻址8237的四个通道,每一个只接一个外设接口电路,不使用的四个通道,每一个只接一个外设接口电路,不使用I/O地址来区分地址来区分I/O设备。

      点击阅读更多内容
      相关文档
      【全国硕士研究生入学统一考试政治】2020年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2015年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2010年考研政治真题.docx 【全国硕士研究生入学统一考试政治】1996年政治考研真题(理科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2001年政治考研真题(理科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2016年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2000年政治考研真题(文科)及参考答案.doc 【全国硕士研究生入学统一考试政治】1997年政治考研真题(理科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2007年考研政治真题.doc 【全国硕士研究生入学统一考试政治】1997年政治考研真题(文科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2004年考研政治真题.doc 【全国硕士研究生入学统一考试政治】2003年考研政治真题.doc 【全国硕士研究生入学统一考试政治】2019年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2009年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2001年政治考研真题(文科)及参考答案.doc 【全国硕士研究生入学统一考试政治】2021年考研政治真题.doc 【全国硕士研究生入学统一考试政治】2014年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2018年考研政治真题.docx 【全国硕士研究生入学统一考试政治】2008年考研政治真题.doc 【全国硕士研究生入学统一考试政治】2011年考研政治真题.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.