微机原理与接口技术--习题解答

7.17 试说明在DMA方式时内存往外设传输数据的过程。

答:当一个接口要由内存往其输出数据时,就往DMA控制器发一个DMA请求;DMA

控制器接到请求以后,便往控制总线上发一个总线请求;若CPU允许让出总线便发出一个总线允许信号;DMA控制器接到此信号后,就将地址寄存器的内容送到地址总线上,同时往接口发一个DMA回答信号并发一个I/O写信号和一个内存读信号;内存接到读信号后将数据送到数据总线,I/O写信号将数据送到接口,并撤除DMA请求信号,于是DMA控制器的地址寄存器的内容加1或减1,计数器的值减1,而且撤除总线请求信号,就完成了对一个数据的DMA输出传输。 7.18 对一个DMA控制器的初始化工作包括哪些内容?

答:① 将数据传输缓冲区的起始地址或者结束地址送到地址寄存器中;

② 将传输的字节数或字数送到计数器中。 ③ 通过模式寄存器设置工作方式等。

7.19 DMA控制器8237A什么时候作为主模块工作?什么时候作为从模块工作?在这两种

情况下,各控制信号处于什么状态,试作说明。

答:1.在外设向8237A发DMA请求,8237A向CPU发总线请求得到CPU总线允许

时,获得了总线控制权就作为总线主模块工作。

2.当CPU把数据送到8237A的寄存器或者从8237A的寄存器取出时,8237A就象I/O接口一样作为总线的从模块工作。

3.主模块工作时的控制信号:DREQx有效,HRQ高,HLDA高,DACKx有效,

AEN高,IOR、MEMW或IOW、MEMR有效,16位地址送地址总线。从模块工作时的控制信号: CS和HRQ为低,A3~A0为某一确定值,IOR或IOW有效。

7.20 8237A有哪几种工作模式?各自用在什么场合?

答:1.8237A有4种工作模式:单字节传输模式、块传输模式、请求传输模式、级联

传输模式。

2.单字节传输模式用于单个字节的DMA输入/输出;块传输模式用于连续进行多个字节的传输;请求传输模式用于受接口控制的连续字节传输;级联传输模式用于多片主从式DMA系统中的主片的工作模式。 7.21 什么叫DMA控制器的自动预置功能?这种功能是用得很普遍的,举一个例子说明它

的使用场合。

答:1.自动预置功能就是DMA控制器某通道在当前字节计数器的计数值到达0时,

当前地址寄存器和当前字节计数器会从基本地址寄存器和基本字节计数器中自动重新取得新值,从而又可以进入下一个数据传输过程。 2.如IBM PC/XT中,8237A的通道0用于对动态RAM进行刷新,就设置为自动预置功能。从头到尾进行一遍刷新后,就又可以自动重新再来若干遍刷新,保持数据不从动态RAM中丢失。用于同一内存地址的数据块重复传输中。 7.22 用DMA控制器进行内存到内存的传输时,有什么特点?

答:固定用通道0的地址寄存器存放源地址,而用通道1的地址寄存器和字节计数器

存放目的地址和计数值。传输时,目的地址和计数值象通常一样进行加1减1操作,源地址的值可通过控制寄存器的D1位设置,若为1则不变。另外用暂存器作为数据传输时DMA的数据暂存用。另外,DMA控制器进行内存到内存的传输是通过设置控制寄存器的D0=1来设置的。 7.23 DMA控制器8237A是怎样进行优先级管理的?

答:8237A有两种优先级管理方式:固定优先级管理方式,优先级高低固定为:通道

0、1、2、3。循环优先级管理方式,通道的优先级依次循环,当某通道进行一次

传输后,其优先级变为最低,而其相邻的高一号通道的优先级变为最高。

7.24 设计8237A的初始化程序。8237A的端口地址为0000~000FH,设通道0工作在块传

输模式,地址加1变化,自动预置功能;通道1工作于单字节读传输,地址减1变化,无自动预置功能;通道2、通道3和通道1工作于相同方式。然后对8237A设控制命令,使DACK为高电平有效,DREQ为低电平有效,用固定优先级方式,并启动8237工作。 答: MOV AL,04H

MOV DX,DMA+8 ;DMA为端口首地址0000H,DMA+8为控制寄

;存器端口号

OUT DX,AL ;输出控制命令,关闭8237A MOV AL,00

MOV DX,DMA+0DH ;DMA+0DH为总清命令端口号 OUT DX,AL ;发总清命令(即复位命令)

MOV DX,DMA+0BH ;DMA+0BH为模式寄存器的端口号 MOV AL,98H OUT DX,AL ;对通道0选择模式,模式字为98H:块读传输模

;式,地址加1变化,自动预置功能

MOV AL,69H OUT DX,AL ;对通道1选择模式,模式字为69H:单字节读传

;输,地址减1变化,无自动预置功能

MOV AL,6AH OUT DX,AL ;对通道2选择模式,模式字为6AH:功能同通道1

MOV AL,6BH OUT DX,AL ;对通道3选择模式,模式字为6BH:功能同通道1

MOV DX,DMA+8 MOV AL,0C0H ;控制字格式为C0H: DACK高电平有效,DREQ

;低电平有效,固定优先级,启动工作

OUT DX,AL

MOV DX,DMA+0FH ;DMA+0FH为综合屏蔽命令端口号 MOV AL,0 OUT DX,AL ;去除四个通道的屏蔽 ┆ 7.25 概述怎样用软件方法和硬件方法来进行定时。

答:① 软件方法就是根据所需要的时间常数来设计一个延迟子程序。当延迟子程序

执行完后,可直接执行下面的操作,也可用输出指令输出一个信号作为定时输出。

② 硬件方法使用计数器/定时器。根据需要的定时时间,用指令对计数器/定时器

设置定时常数,并用指令启动计数器/定时器,于是计数器/定时器开始计数,计到确定值时,便自动产生一个定时输出。 7.26 8253计数器/定时器中,时钟信号CLK、门脉冲信号GATE分别起什么作用?

答:时钟信号CLK决定了计数的速率,是计数减1的依据。而门脉冲信号GATE是

作为对时钟的控制信号,以控制计数的启停。

7.27 说明8253在6种工作方式下的特点,并举例说明使用场合。

答:① 模式0、模式1、模式4、模式5为软件启动或硬件启动的不自动重复的计数

方式;模式2、模式3为即可软件启动也可硬件启动的自动重复的定时器方式。

② 作为计数器时,8253在GATE控制下进行减1计数,减到终值时,输出一个

信号,至此计数过程便结束。作为定时器工作时,8253在门控GATE控制下进行减1计数,减到终值时,又自动装入初值,重新作减1计数,于是输出端会不间断地产生为时钟周期整数倍的定时间隔。

③ 定时方式一般用于实时控制及周期性操作中,如日时钟定时、扬声器发声、

波特率发生器等场合。计数方式则用于外部事件的计数,如生产线上的产品计数等场合。 7.28 8253工作于模式4和模式5时有什么不同?

答:模式4是用软件触发启动,GATE为低电平时停止计数;而模式5则用门控GATE

的上升沿触发即硬件触发启动,GATE为低电平时不影响计数。 7.29 编程将8253计数器0设置为模式1,计数初值为3000H;计数器1设置为模式2,计

数初值为2010H;计数器2设置为模式4,计数初值为4030H;地址设为0070H、0072H、0074H、0076H。 答: MOV AL,32H ;设置计数器0为模式1

OUT 76H,AL

MOV AX,3000H ;写计数初值 OUT 70H,AL MOV AL,AH OUT 70H,AL

MOV OUT MOV OUT MOV OUT MOV OUT MOV OUT MOV OUT

AL,74H ;设置计数器1为模式2 76H,AL

AX,2010H ;写计数初值 72H,AL AL,AH 72H,AL AL,0B8H ;设置计数器2为模式4 76H,AL

AX,4030H ;写计数初值 74H,AL AL,AH 74H,AL

7.30 CPU对应DMA控制器的总线请求响应要比中断请求响应快,请分析其原因。

答:当CPU检测到总线请求信号后在当前总线周期的T4状态或TI状态的下降沿就

可响应而出让总线,并发总线响应信号HLDA。而当CPU检测到INTR请求时,

则必须要等到当前指令执行完后才能发第一个INTA负脉冲,而且中断响应需两个INTA负脉冲才可组成一个完整的中断响应信号。因此总线请求响应要比中断请求响应快。

7.31 设8259A工作于优先级循环方式,当前最高优先级为IR4,现在要使优先级最低的为

IR1,则应该再设置哪个操作命令字?具体的值是多少? 答:1.再设置OCW2操作命令字。

2.OCW2的具体的值是C1H(=11000001B),写入偶地址端口。 7.32 下面是一个对8259A进行初始化的程序段,请为下面程序段加上注释,并具体说明

各初始化命令字的含义。 PORT0 EQU 40H PORT1 EQU 41H

MOV AL,13H 边沿触

MOV OUT INC MOV 于 OUT MOV 全嵌套

;8259A的偶地址端口号 ;8259A的奇地址端口号

;控制初始化命令字ICW1设为13H,中断请求为

;发方式,单片8259A,需写入ICW4

DX,PORT0 ;取8259A的偶地址端口 DX,AL ;设置ICW1 DX ;取8259A的奇地址端口 AL,08H ;中断类型码初始化命令字ICW2设为08H,对应;IR0~IR7的中断类型码为08H~0FH DX,AL ;设置ICW2 AL,06H ;方式控制初始化命令字ICW4设为06H,非特殊

;方式,非缓冲方式,中断自动结束方式,工作于

8080/8085 ;系统中

OUT DX,AL ;设置ICW4

答:初始化命令字的含义见注释。

7.33 下面是一个对主从式8259A系统进行初始化的程序段,请对以下程序段加详细注释,

并具体说明各初始化命令字的含义。 ;主片初始化程序 M82590 EQU 40H ;主片8259A的偶地址端口号 M82591 EQU 41H ;主片8259A的奇地址端口号

MOV AL,11H ;控制初始化命令字ICW1设为11H,中断请求为边沿触

;发方式,多片8259A,需设置ICW4

MOV DX,M82590 ;取主片8259A的偶地址端口 OUT DX,AL ;设置ICW1 MOV AL,08H ;中断类型码初始化命令字ICW2设为08H,对应于

;IR0~IR7的中断类型码为08H~0FH

INC DX ;取主片8259A的奇地址端口 OUT DX,AL ;设置ICW2 MOV AL,04H ;ICW3设为04H,只有IR2连有从片8259A OUT DX,AL ;设置ICW3 MOV AL,01H ;方式控制初始化命令字ICW4设为01H,非特殊全嵌套

;方式,非缓冲方式,非中断自动结束方式,工作于

;8086/8088系统中

OUT DX,AL ;设置ICW4

;从片初始化程序 S82590 EQU 90H ;从片8259A的偶地址端口号 S82591 EQU 91H ;从片8259A的奇地址端口号

MOV DX,S82590 ;取从片8259A的偶地址端口

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4