例2.1 试将左边8086系统中的各部件的功能与右边的说明联系起来,把所选的正确字母填入括号内。
①CPU( )A.指示下一条要执行的指令的地址。
②存储器( )B.保存当前栈顶地址的寄存器。
③EU( )C.保存各逻辑段起始地址的寄存器。
④BIU( )D.按照后进先出的原则存取数据的部件。
⑤IP( )E.总线接口部件,负责完成存取指令和读写数据等操作。
⑥SP( )F.分析并控制指令执行的部件,包括ALU、寄存器阵列、控制器等。
⑦堆栈( )G.存储程序、数据等信息的记忆部件。
⑧状态标志位( )H.按照后进先出的原则存取指令的存储部件,有入出两个指针。
⑨控制标志位( )I.对指令进行分析并产生相应操作的部件。
⑩指令队列( )J.记录指令运行结果的标志位。
⑪段寄存器( )K.控制各种操作的标志位。
⑬ALU( )M.执行单元,完成指令译码与执行指令的部件。
⑭DAA部件( )N.进行算术与逻辑运算的部件。
解
①F;②G;③M;④E;⑤A;⑥B;⑦D;⑧J;⑨K;⑩H;⑪C;⑫I;⑬N;⑭L。
讨论
在计算机中有许多部件,要弄清各个部件之间的功能及它们的区别,如堆栈与堆栈指针。堆栈是一个存储数据的区域,而堆栈指针是一个专门的地址指示器。EU是CPU的一部分,它们的组成结构和功能也有区别,EU只完成CPU的一部分功能。指令译码器与指令指示器也是两个不同的部件,其功能完全不一样。
例2.2 8086微处理器和早期的8位微处理器相比,在功能结构上有什么不同?这种设计思想有何优点?
解
8086 CPU从功能结构上分为两大部分,即总线接口单元(BIU)和执行单元(EU)。BIU负责取指令,读写操作数;EU负责执行指令。这两个部件能独立地分开进行操作,在大多数情况下,取指令和执行指令的操作是并行的。BIU和EU的并行操作一方面减少了等待取指令所需的时间,从而提高了CPU的效率和整机运行速度;另一方面降低了对存储器的速度要求。这种重叠的操作利用了计算机的流水线技术。早期的8位微处理器没有采用这种功能结构和流水线技术,程序的执行是按照取指令和执行指令的顺序来完成的,影响了CPU的运行速度。
例2.3 8086 CPU的READY信号起什么作用?什么时候由何部件使该信号变为低电平?
解
READY信号是一个外部部件送来的输入信号,用来延长总线周期以适应慢速设备的需要。若存储器或外部设备由于速度原因需要延长总线周期,当CPU访问(读或写)该部件时,应使该信号变为低电平,当CPU插入给定的TW后,该信号变为高电平。一般用OC或三态门来驱动,该低电平是由I/O接口或存储器接口电路提供的。
例2.4 在8086组成的系统中,地址线A0为什么不参加存储器芯片的片内单元选取?
解
在8086系统中由于外部数据总线是16位的,而存储器又是按字节编址的,所以把1 MB的存储空间分为两个512 KB的存储体。一个为低组,用于存放偶地址字节(低字节组),另一个为高组,用于存放奇地址字节(高字节组)。两个存储体用地址线A0和高字节允许信号作为低组和高组的选通信号。A0=0选通偶地址存储体,偶地址存储体的数据线与数据总线的低8位(D7~D0)相连;选通奇地址存储体,奇地址存储体的数据线与数据总线的高8位(D15~D8)相连。8086 CPU可以访问任何一个存储体,读写一字节,也可以同时访问两个存储体,读写一个字。所以A0就不能参加存储芯片的片内选择线,而是作为存储体的地址译码选择线。
例2.5 分别画出8086在最小模式和最大模式下产生存储器和I/O读、写时的控制信号MEMR、 的逻辑电路。
解
图2.6 8086最小模式读/写信号的产生电路
图2.7 8086最大模式读/写信号的产生电路(www.daowen.com)
例2.6 试述在8086系统中,T1状态下地址/数据线上的信号类型及有关信号的状态,并指出数据信号何时有效,请画出有关周期的时序图。
解
在T1状态下,首先由信号指明是进行存储器操作还是I/O操作,地址/数据复用线给出进行操作的地址(存储器操作时为20位地址,I/O操作时为16位地址),地址锁存信号ALE处于有效状态(即高电平),以锁存地址。信号也处于有效状态(低电平),以便输入/输出数据的高8位。数据信号与读写总线周期有关,若是CPU向外写数据,则数据信号在T2状态有效,若是CPU读数据,则数据信号在T3状态有效。读写周期的状态如图2.8所示。
图2.8 8086总线读周期与写周期时序图
例2.7 在8086系统中的最大模式下为什么一定要用总线控制器?试述总线控制器8288的主要功能,并说明它有哪些输入和输出信号?
解
在最大模式下,系统中有两个或两个以上的微处理器,即所谓的多处理器系统。在此情况下,8086 CPU不直接提供各种控制信号,而只提供3个状态信号,所以必须用总线控制器把3个状态信号译码才能产生与多总线结构兼容的各种定时命令和控制信号。
总线控制器8288有如下主要功能。
·可选择8288是工作于系统总线方式还是I/O总线方式,即8288产生系统总线控制信号或产生仅访问I/O的控制信号。
·当ALE=1时,使总线控制信号浮空,以允许DMA操作。
·提供超前写控制信号,以便与慢速存储器或I/O设备传送信息。
·当CEN=0时,使命令信号无效,以供多CPU结构使用。
·可产生地址锁存允许信号ALE和双向数据驱动信号与。
8288内部结构框图与引脚如图2.9所示。
图2.9 8288内部结构框图与引脚
8288的输入信号如下。
·状态信号:来自8086、8088处理器或8089 I/O处理器的状态输入信号。
·CLK:来自8284A时钟发生器的时钟信号。
·CEN:命令允许信号,当CEN=1时,输出端允许发出命令信号;当CEN=0时,命令信号无效。
·:地址允许信号,由总线裁决器8289输入,低电平有效。有效表示总线可供使用,在多处理器使用一组总线的系统中必须采用系统总线方式,用作多总线之间的同步控制。若8288工作于I/O总线方式,该信号不影响命令线。
·IOB:当IOB=0时,8288工作于系统总线方式;当IOB=1时,8288工作于I/O总线方式。8288的输出信号如下。
·:存储器读命令。
例2.8 试述8086系统中时钟发生器8284A的主要作用以及其可提供的几种时钟信号。
解
在8086系统中,时钟发生器8284A的主要作用如下。
为8086/8088 CPU及其他外设芯片提供所需要的时钟信号;具有系统复位控制逻辑;提供起同步作用的READY(准备就绪)信号。8284A与8086 CPU的连接如图2.10所示。外部的复位信号和READY信号输入8284A,经8284A内部同步后送至CPU。8284A允许晶体振荡器直接接入,也允许外部脉冲发生器接入。不论哪种接入方式,8284A的输出频率均为输入频率的1/3。
图2.10 8284A与8086 CPU的连接图
8284A可提供3种时钟信号。
CLK:8086 CPU或与总线相连的其他设备的时钟信号。PCLK:提供外设用的时钟信号,输出频率为CLK的1/2。
OSC:振荡器输出信号,输出频率等于晶体频率,为CLK频率的3倍。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。