1 8237A DMA 控制器有哪两种工作状态
其工作特点如何
【解答】一种是系统总线的主控者,这是它工作的主方式
在取代 CPU 控制 DMA 传送时,它应提供存储器的地址和必要的读写控制信号,数据是在 I/O 设备与存储器之间通过数据总线直接传递;另一种是在成为主控者之前,必须由 CPU 对它编程以确定通道的选择、数据传送的模式、存储器区域首地址、传送总字节数等
在 DMA 传送之后,也有可能由 CPU 读取 DMA 控制器的状态
这时 8237A 如同一般 I/O 端口设备一样,是系统总线的从设备,这是 8237A 工作的从方式
2 8237A 进行 DMA 数据传送时有哪几种传送方式
【解答】单字节传送方式、数据块传送方式、请求传送方式、级联方式
3 若 8237A 的端口基地址为 000H,要求通道 0 和通道 1 工作在单字节读传输方式,地址减 1 变化,无自动预置功能
通道 2 和通道 3 工作在数据块传输方式,地址加 1 变化,有自动预置功能
8237A 的 DACK为高电平有效,DREQ 为低电平有效,用固定优先级方式启动 8237A 工作,试编写 8237A 的初始化程序
【解答】初始化程序如下:DMA EQU 000H ;8237A 的基地址为 00H;输出主清除命令OUT DMA+0DH,AL ;发总清命令;写入方式字:单字节读传输,地址减 1 变化,无自动预置功能,选择通道 0MOV AL,01101000B ;方式字OUT DMA+0BH,AL ;写入方式字;写入方式字:单字节读传输,地址减 1 变化,无自动预置功能,选择通道 1MOV AL,01101001B ;方式字OUT DMA+0BH,AL ;写入方式字;写入方式字:数据块传输方式,地址加 1 变化,有自动预置功能,选择通道 2MOV AL,10010010B ;方式