新闻中心

EEPW首页>嵌入式系统>设计应用> 8086的一些答案

8086的一些答案

作者: 时间:2016-11-27 来源:网络 收藏

29.总线周期的含义是什么?8086/8088的基本总线周期由几个时钟组成?如果一个CPU的时钟频率为24MHz,那么,它的一个时钟周期为多少?一个基本总线周期为多少?如主频为15MHz呢?
总线周期的含义是计算机执行一条访问内存或端口的机器指令的时间;8086/8088的基本总线周期由4个时钟周期组成;如果CPU的时钟频率为24MHz,那么它的一个时钟周期为41.5ns,一个基本总线周期为166ns;如果CPU的时钟频率为15MHz,那么它的一个时钟周期为66.67ns,一个基本总线周期为266.67ns。(遗失题由李建完成)

30.在总线周期的T1、T2、T3、T4状态,CPU分别执行什么动作?什么情况下需要插入等待状态Tw?Tw在哪儿插入?怎样插入?
在总线周期的T1、T2、T3、T4状态,CPU分别执行的动作是:
(1) 在T1状态,CPU往多路复用总线上发出地址信息,以指出要寻址的存储单元或处设端口的地址;
(2) 在T2状态,CPU从总线上撤消地址,而使总线的低16位浮置成高阻状态,为传输数据作准备。总线的最高4位(A19-A16)用来输出本总线周期状态信息,这些状态信息用来表示中断允许状态、当前正在使用的段寄存器名等;
(3) 在T3状态,多路总线的高位继续提供状态信息,而多路总线的低16位(8088则为低8位)上出现由CPU的数据或者CPU从存储器或者CPU从存储器或端口读入或端口读入的数据;
(4) 在T4状态,总线结束。在有些情况下,外设或存储器速度较慢,不能及时地配合CPU传送数据。这时,外设或存储器会通过“Ready”信号在T3状态启动前向CPU发一个“数据未准备好”信号,于是CPU会在T3之后插入1个或多个附加的时钟周期Tw

31. 从引腿信号上看,8086和8088有什么不同?
(1) 由于8088只能传输8位数据,所以8088只有8个地址引腿兼为数据引腿;而8086是按16位传输数据的,所以有16个地址/数据复用引腿;(2) 另外8086和8088的控制线引腿定义中第28和34腿也不一样,在最小模式时,8088和8086的第28腿的控制信号相反,而8086的第34腿为BHE/S7,BHE用来区分是传送字节、还是字,8088的第34腿为SS0,用来指出状态信息,不能复用。

32. CPU启动时,有那些特征?如何寻找8086/8088系统的启动程序?
在8088/8086系统中,CPU被启动后,处理器的标志寄存器、指令指针寄存器IP、段寄存器DS、SS、ES和指令队列都被清零,但是代码段寄存器CS被设置为FFFFH。因为IP=0000,而CS=FFFFH,所以,8088/8086将从地址FFFF0H开始执行指令。通常,在安排内存区域时,将高地址区作为只读存储区,而且在FFFF0H单元开始的几个单元中入一条无条件转移指令,转到一个特定的程序中,这个程序往往实现系统初始化、引导监控程序或者引导操作系统等功能,这样的程序叫做引导和装配程序。

33. CPU在8086的微机系统中,为什么常用AD0作为低8位数据的选通信号?
在8086系统中,常将AD0作为低8位数据的选通信号,因为每当CPU和偶地址单元或偶地址端口交换数据时, 在T1状态,AD0引腿传送的地址信号必定为低电平,在其他状态, 则用来传送数据.而CPU的传输特性决定了只要是和偶地址或偶地址端口交换数据,那么,CPU必定通过总线低8位(AD7-AD0)传输数据.可见,如果在总线周期的T1状态,AD0为低电平,实际上就指示了在这一总线周期中,CPU将用总线低8位和偶地址单元或偶地址端口交换数据。

34. 8086和8088在最大模式和最小模式时,引腿信号分别有什么不同?
[答案] 引腿 名称 功能
最小模式 24 INTA 用来对外的中断请求作出响应.
25 ALE 作为锁存信号,对地址进行锁存
26 DEN 为收发器提供一个信号,说明CPU当前准备发送或接收数据
27 DT/R 用来控制8286/8287的数据传送方向
28 M/IO 区分CPU进行存储器访问还是输入/输出访问的控制信号
29 WR 作为写信号输出端,低电平有效
30 HLDA 作为CPU响应其他部件发出总线请求的输出端
31 HOLD 作为其他部件向CPU发出总线请求信号的输入端
最大模式 24,25 QS1,QS0 这两个信号组合起来提供了前一个时钟周期中指令队列的状态
26,27,28 S2,S1,S0 这信号组合起来可以指出当前总线周期所进行数据传输过程的类型
29 LOCK 总线封锁信号输出端,有效时系统中其他总线不能占有总线
30,31 RQ/GT1,RQ/GT0供CPU以外的2个处理器用来发出使用总线的请求信号和接收CPU对总线请求回答的信号。


35. 8086和8088是怎样解决地址线和数据线的复用问题的? ALE信号何时处于有效电平?
8086/8088是通过利用ALE信号的是否有效来解决两线的复用问题的。ALE作为最小模式的地址锁存允许信号输出端,在任何总线周期的T1状态,ALE输出有效电平,以表示当前在地址/数据复用总线上输出的是地址信息。

36. BHE信号和A0信号是怎样的组合解决存储器和外设端口的读/写操作的?这种组合决定了8086系统中存储器偶地址体及奇地址体之间应该用什么信号区分?怎样区分?
这种组合决定了8086系统中存储器偶地址和奇地址之间用AD。若在总线周期的T1状态为低电平,则在这一周期中,CPU将用总线低8位和偶地址单元或偶地址端口交换数据。代码组合和对应的操作:0 0 从偶地址开始读一个字。 AD15~ AD0;1 0 从偶地址单元或端口读/写一个字字节 AD7~AD0;0 1 从奇地址单元或端口读/写一个字节 AD15~AD0;0 1 从奇地址开始读/写一个字 AD15~AD8;1 0 (在第一个总线周期将低8位数字送到AD15~AD8,在第二个总线周期,将高8位数字送AD7~AD0。

37. RESET信号来到后,CPU的状态有那些特点?
RESET信号来到后,CPU便结束当前操作,并对处理器标志寄存器,IP,DS,SS,ES 及指令队列清零,而将CS设置为FFFFH,当复位信号变为低电平时,CPU从FFFF0H开始执行程序。

38.在中断响应过程中,8086往8259A发的两个INTA信号分别起什么作用?
在中断响应过程中,CPU向8259A的INTR引腿发二个负脉冲,作用:第一个负脉冲通知CPU有中断请求,要送中断类型;第二个负脉冲传输中的类型。

39. 8088系统在最小模式时应该怎样配置?
8088在最小模式下的典型配置。图见课本。
1, 有一片8284A,作这时钟发生器。
2, 有3片8282或74LL373,用来作为地址锁存器。
3, 当系统中所连的存储器和外设较多时,需要增加数据总线的驱动能力,这时,要用2片8286/8287作为总线收发器。

40. 8086在最大模式下应当怎样配置?最大模式时为什么一定要用总线控制器?总线控制器的输入信号是什么?输出信号是什么?
8086在最大模式下的配置如下图所示:

最大模式时,用总线控制器的原因在于:在最大模式系统中,一般包含2个或多个处理器,这样就要解决主处理器和协处理器之间的协调要作问题和对总线的共享控制问题,为此,要从软件和硬件两方面去寻求解决措施。8288总线控制器就是出于这种考虑而加在最大模式系统中的。总线控制器的输入信号是:CLK、S0、S1、S2。其输出信号是:DT/R、DEN、INTA、MRDC、MWTC、IORC、IOWC、ALE

41. 在编写程序时,为什么通常总要用开放中断指令来设置中断允许标志?
在复位时,由于标志寄存器被清零,即所有标志位都被清除了,这样,所有从INTR引腿进入的可屏蔽中断都得不到允许,因而,在编程时,通常总要用开放中断指令来设置中断允许标志。

42. T1状态下,数据/地址线上是什么信息?用哪个信号将此信息锁存起来?数据信息是什么时候给出的?用时序表示出来。
在T1状态下,数据/地址线上是地址信号。在T1状态从ALE引腿上输出一个正脉冲作为地址锁存信号。数据信息是T3状态时给出的。其时序如下所示:


43.画出8086最小模式的读周期时序。


44.系统中有多个总线模块时,在最大模式和最小模式下分别用什么方式来传递总线控制权?
在最小模式下总线控制权是通过HOLD引脚来实现的,当系统中CPU之外的另一个模块要求占用总线时,通过此引腿向CPU发一个高电平的请求信号。这时,如果CPU允许让出总线,就在当前总线周期完成时,于T4状态从HOLD引腿发出一个回答信号,对刚才的HOLD 请求作出响应。同时,CPU使地址/数据总线和控制状态线处于浮空状态。总线请求部件收到HLDA信号后,就获得了总线控制权。在最小模式下总线控制权是通过LOCKT RQ/GT1,RQ/GT0引脚来实现的,首先,总线模块通过RQ/GT1向CPU发出一个请求信号,并通过RQ/GT0来接受CPU的响应,如果LOCK为低电平,则总线请求部件就获得了总线控制权。

45. 概述怎样用软件方法和硬件方法来进行定时。
用软件方法定时,一般都是根据所需要的时间常数来设计一个延迟子程序,延迟子程序中包含一定的指令,设计者要对这些指令的执行时间进行严密的计算或者精确的测试,以便确定延迟时间的否符合要求。用硬件方法定时,就要用到计数器/定时器。在简单的软件控制下,产生准确的时间延迟,这种方法的主要思想是根据需要的定时时间,用指令对计数器/定时器设置定时常数,并用指令启动计数器/定时器,于是计数器/定时器开始计数,计到确定值时,便自动产生一个定时输出,在计数器/定时器开始工作以后,CPU就不必去管它,而可以去做别的工作。

46. 8253计数器/定时器中,时钟信号CLK和门脉冲信号GATE分别起什么作用?
时钟信号CLK决定计数速率,门脉冲信号GATE是时钟的控制信号。(以上6题由徐芳解答)

47.设8253三个计数器的端口地址为201H、202H、203H,控制寄存器端口地址200H。试编写程序片段,读出计数器2的内容,并把读出的数据装入寄存器AX。
MOV AL,80H
OUT 200H,AL
IN AL,203H
MOV BL,AL
IN AL,203H,
MOV BH,AL
MOV AX,BX

48.设8253三个计数器的端口地址为201H、202H、203H,控制寄存器端口地址200H。输入时钟为2MHz,让1号通道周期性的发出脉冲,其脉冲周期为1ms,试编写初化程序段。
使用计数器1,先读低8位,后读高8位,设为方式3,二进制计数,控制字是76H。设控制口的地址是200H,计数器0的地址是202H。程序段如下:
MOV DX,200H
MOV AL,76H
OUT DX,,AL
MOV DX,202H
MOV AX,2000
OUT DX,AL
MOV AL,AH
OUT DX,AL

49. 设8253计数器的时钟输入频率为1.91MHz,为产生25KHz的方波输出信号,应向计数器装入的计数初值为多少?
76.4
应向计数器装入的初值是76。

50.设8253的计数器0,工作在方式1,计数初值为2050H;计数器1,工作在方式2,计数初值为3000H;计数器2,工作在方式3,计数初值为1000H。如果三个计数器的GATE都接高电平,三个计数器的CLK都接2MHz时钟信号,试画出OUT0、OUT1、OUT2的输出波形。
计数器0工作在方式1,即可编程的单脉冲方式。这种方式下,计数的启动必须由外部门控脉冲GATE控制。因为GATE接了高电平,当方式控制字写入后OUT0变高,计数器无法启动,所以OUT0输出高电平。
计数器1工作在方式2,即分频器的方式。输出波形的频率f=666.7HZ,其周期为1.5ms,输出负脉冲的宽度等于CLK的周期为0.5μs。
计数器2工作在方式3,即方波发生器的方式。输出频率f= 2000Hz的对称方波。


上一页 1 2 下一页

关键词:8086复用技

评论


技术专区

关闭