8237A DMA控制器简答

(1)、比较中断和DMA两种传输方式的特点。

  1. 在中断模式下,外设需与主机传送数据时要请求主机给与中断服务,中断当前主程序的执行,自动转向对应的中断处理程序,控制数据的传输,过程始终是在所执行的指令控制之下。
  2. 在DMA模式下,系统中有一个DMA控制器,它是一个可驱动总线的主控部件。当外设与存储器之间需要传送数据时,外设向DMA控制器发出DMA请求,DMA控制器向CPU发出总线请求,取得总线控制权后,DMA控制器按照总线时序控制外设与存储器间的数据传输而不是通过指令来控制数据传输,传输速度大大高于中断方式。

(2)、DMA控制器应具有哪些功能?

  1. DMA控制器应有DMA请求输入线,接收I/O设备的DMA请求信号;
  2. DMA控制器应有向主机发出总线请求的信号线和接收主机响应的信号线;
  3. DMA控制器在取得总线控制权以后应能发出内存地址、I/O读写命令及存储器读写命令控制I/O与存储器间的数据传输过程。

(3)、80286系统一个存储单元是24位物理地址,而8237A在寻址内存空间时,只能给出16位地址码,这一矛盾是如何解决的?有哪些硬件和软件措施?

(4)、8237A提供哪几种传送方式?

  1. 8237A提供一下几种传送方式:
    • 请求传送方式
    • 单字节传送方式
    • 数据块传送方式
    • 级联传送方式

(5)、8237A只有8位数据线,为什么能完成16位数据的DMA传送?

I/O与存储器间在进行DMA传送过程中,数据时通过系统的数据总线传送的,不经过8237A的数据总线,系统总线是具有16位数据的传送能力的。

(6)、8237A的地址线为什么是双向的?

8237A的A0~A7地址线是双向的,当8237A被主机编程或读状态处于从属状态,A0~A3为输入地址信号,以便主机对其内部寄存器进行寻址访问。当8237A取得总线控制权进行DMA传送时,A0~A3输出4位地址信号供存储器寻址对应单元用,A0~A3必须时双向的。

(7)、说明8237A单字节DMA传送数据的全过程。

8237A取得总线控制权以后进行单字节的DMA传送,传送完一个字节以后修改字节计数器和地址寄存器,然后就将总线控制权放弃。若I/O的DMA请求信号DREQ继续有效,8237A再次请求总线使用权进行下一字节的传送。

(8)、8237A单字节DMA传送和数据块DMA传送有什么不同?

  1. 单字节传送方式下,8237A没传送完一个字节数据就释放总线,传送下一字节再请求总线的控制权。
  2. 块传送方式下,8237A必须把整个数据块传送完才释放总线。

(9)、8237A什么时候作为主模块工作?什么时候作为从模块工作?这两种工作模式下,各控制信号处于什么状态?

8237A取得总线控制权后,开始进行DMA传送过程,此时8237A作为主模块工作。8237A在被处理器编程或读取工作状态时,处于从模块工作状态。8237A处于从模块时,若CS=0,HLDA=0说明它正被编程或读取状态,IOR于IOW未输入,A0~A3为输入。8237A处于主模块时,输出地址信号A0~A3(低8位A0~A7输出,高八位经DB0~DB7输出)。8237A还要输出IOR、IOW、MEMR、MEMW、AEN、ADSTB等有效信号供DMA传送过程使用。

(10)、说明8237A初始化编程的步骤。

  • 写屏蔽字,阻止某通道的DMA请求。
  • 写命令字(8号地址),确定信号有效电平、优先级方式、通道工作允许等。
  • 写模式字(B号地址),确定某通道传送方式、传送类型、地址寄存器变化方式等。
  • 置0先/后触发器。
  • 设置地址寄存器、字节数寄存器的初值。
  • 清除某通道屏蔽位,允许8237A响应其DMA请求。

(11)、8237A选择存储器到存储器的传送模式必须具备哪些条件?

  • 必须使用8237A内部的暂存器作为数据传送的缓冲器。
  • 8237A通道0的地址寄存器存放存储器的源地址。
  • 8237A通道1的地址寄存器存放存储器的目的地址。
  • 字节计数器存放传送的字节数。
  • 建立通道0的软件DMA请求来启动这一传输过程。

猜你喜欢

转载自www.cnblogs.com/qq1757655788/p/11960035.html
今日推荐