微型计算机原理及应用学习笔记 8086微处理器的引
8086微处理器是Intel公司的第三代微处理器—16位微处理器。它采用40引脚的DIP(双列直插)封装。时钟频率有三种:5MHz(8086)、8MHz(8086-l)和10MHz(8086-2)。8086的引脚安排如图2-8所示。
图2-8 8086的引脚图
一、引脚功能说明
8086微处理器的引脚信号定义如表2-3所示。
表2-3 8086引脚信号定义
名 称 功 能 引 脚 号 类 型
AD15~AD0A19/S6~A16/S3 READYRESETNMIINTRCLKVccGND 地址/数据总线地址/状态总线总线高允许/状态最小/最大方式控制读控制等待测试控制等待状态控制系统复位不可屏蔽中断请求可屏蔽中断请求系统时钟+5V电源接地 2-16,3935~38343332232221171819401,20 双向,三态输出、三态输出、三态输入输出、三态输入输入输入输入输入输入输入
最小方式信号 V∝)
HOLDHLDA ALE 保持请求保持响应写控制存储器/IO控制数据发送/接收数据允许地址锁存允许中断响应 3130292827262524 输入输出输出、三态输出、三态输出、三态输出、三态输出输出
最大方式信号
、 、 、 请求/允许总线访问控制总线优先权锁定控制总线周期状态指令队列状态 30,312926~2824~25 双向输出、三态输出、三态输出
8086的40条引脚信号按功能可分为4部分一一地址总线、数据总线、控制总线以及其他(时钟和电源)。下面分三部分作一简要说明。
(一)地址总线和数据总线
l)数据总线用来在CPU与内存储器(或I/O设备)之间交换信息;地址总线由CPU发出,用来确定CPU要访问的内存单元(或I/O端口)的地址信号。前者为双向、三态信号,后者为输出、三态信号。
2)AD15~AD0为地址/数据总线。这16条信号线是分时复用的双重总线,在每个总线周期开始(T1)时,用作地址总线的低16位(A15~A0),给出内存单元(或I/O端口)的地址;其他
时间为数据总线,用于数据传输。
3)A19~A16/S6~S3为地址/状态总线。这4条信号线也是分时复用的双重总线,在每个总线周期开始(T1)时,用作地址总线的高4位(A19~A16),在存储器操作中为高4位地址,在I/O操作中,这4位置“0”(低电平)。在总线周期的其余时间,这4条信号线指示CPU的状态信息。在4位状态信息中,S6恒为低电平;S5反映标志寄存器中中断允许标志IF的当前值;而S4、S3表示正在使用哪个段寄存器,其编码如表2-4所示。
表2-4 S4、S3的编码表
S4 S3 特性(所使用的段寄存器)
LLHH LHLH ESSSCS(或者不是存储器操作)DS
注:L表示低电平,H表示高电平。
4)8086的20条地址线访问存储器时可寻址1M字节内存单元;访问外部设备时,只用16条地址线A15~A0寻址64K个I/O端口。
5) ——总线高允许/状态S7信号(输出三态)。这也是分时复用的双重总线。在总线周期开始的T1周期,作为总线高半部分允许信号,低电平有效。当 为低电平时,把读/写的8位数据与AD15~AD8连通。该信号与A0(地址信号最低位)结合以决定数据字是高字节工作还是低字节工作。在总线周期的其他T周期,该引脚输出状态信号S7。在DMA方式下,该引脚为高阻态。
(二)控制总线
控制总线是传送控制信号的一组信号线,有些是输出线,用来传输CPU送到其他部件的控制命令(如读、写命令、中断响应等);有的是输入线,由外部向CPU输入控制及请求信号(复位、中断请求等)。
8086的控制总线中有-条 (33号引脚)线,即最小/最大方式控制线,用来控制8086的工作方式。当 接+5V时,8086处于最小方式,由8086提供系统所需的全部控制信号,用来构成一个小型的单处理机系统。当 接地时8086处于最大方式,系统的总线控制信号由专用的总线控制器8288提供,8086把指示当前操作的状态信号( 、 、 )送给8288,8288据此产生相应的系统控制信号。最大方式用于多处理机和协处理机结构中。
在8086的控制总线中,有一部分总线的功能与工作方式无关 而另一部分总线的功能随工作方式不同而不同(即一条信号线有两种功能)现分述如下。
1.受 影响的信号线(最大方式信号)
(1) 、 、 ——总线周期状态信号(三态、输出)。表示8086外部总线周期的操作类型,送到系统中的总线控制器8288,8288根据这三个状态信号,产生存储器读/写命令、I/O端口读/写命令以及中断响应信号, 、 、 的编码表如表2-5所示。
表2-5 、 、 编码表
操作类型(CPU周期) 操作类型(CPU周期)
LLLL LLHH LHLH 中断响应读I/O端口写I/O端口暂停 HHHH LLHH LHLH 取指读存储器(数据)写存储器无效(无总线周期)
在总线周期的T4时钟周期期间, 、 、 的任何变化,指示一个总线周期的开始,而在T3期间(或TW——等待周期期间)返回无效状态,表示一个总线周期的结束。在DMA(直接存储器存取)方式下, 、 、 已处于高阻状态。
在最小方式下, 、 、 三引脚分别为 、 和 。
为存储器I/O控制信号(输出、三态),用于指示CPU是访问存储器( ),还是访问I/O端口( )。
为数据发送/接收信号(输出、三态),用于指示CPU是进行写操作( )还是读操作( )。
为数据允许信号(输出、三态),在CPU访问存储器或I/O端口的总线同期的后一段时间内,该信号有效,用作系统中总线收发器的允许控制信号。
(2) 、 ——请求/允许总线访问控制信号(双向)。这两条信号线是为多处理机应用而设计的,用于对总线控制权的请求和应答,其特点是请求和允许功能由一根信号线来实现。
总线访问的请求/允许时序分为三个阶段--请求、允许和释放,如图2-9所示。首先是协处理器向8086输出 请求使用总线,然后在CPU(8086)的T4或下一个总线周期的T1期间,CPU输出一个宽度为一个时钟周期的脉冲信号 给请求总线的协处理器,作为总线响应信号 从下一个时钟周期开始,CPU释放总线。当协处理器使用总线结束时,再给出一个宽度为一个时钟周期的脉冲信号 给CPU,表示总线使用结束,从下一个时钟周期开始,CPU又控制总线。
图2-9 请求/允许时序
两条控制线可以同时接两个协处理器,规定 的优先级最高。
在最小方式下, 和 二引脚分别为HOLD和HLDA。
HOLD为保持请求信号(输入),当外部逻辑把HOLD引脚置为高电平时,8086在完成当前总线周期以后进人HOLD(保持)状态, 让出总线控制权。
HLDA为保持响应信号(输出),这是CPU对HOLD信号的响应信号,它对HOLD信号作出响应,使HLDA输出 H 电平,当HLDA信号有效时,8086的三态信号全部处于三态(高阻态),使外部逻辑可以控制总线。
(3)QS1,QS0——指令队列状态信号(输出)。用于指示8086内部BIU中指令队列的状态,以便外部协处理器进行跟踪QS1,QS0的编码状态如表2-6所示。
表2-6 QS1,QS0的编码表
QS1 QS0
L L 空操作,在最后一个时钟周期内,从队列中不取任何代码
L H 第一个字节,从队列中取出的字节是指令的第一个字节
H L 队列空,由于执行传送指令,队列已重新初始化
H H 后续字节,从队列中取出的字节是指令的后续字节
在最小方式下,QS1、QS0二引脚分别为ALE和 。
ALE为地址锁存允许信号(输出),这是 8086CPU在总线周期的第一个时钟周期内发出的正脉冲信号,其下降沿用来把地址/数据总线(AD15~AD0)以及地址/状态总线(A19/S6~A16/S3)中的地址信息锁存入地址锁存器中。
为中断响应信号(输出、三态)当 8086CPU 响应来自INTR引脚的可屏蔽中断请求时,在中断响应周期内, 变为低电平。
(4) ——总线优先权锁定信号(输出、三态)。该信号用来封锁外部处理器的总线请求,当 输出低电平时,外部处理器不能控制总线, 信号有效由指令在程序中设置,若一条指令前加上的前缀指令LOCK,则8086在执行该指令期间, 线输出低电平,并保持到指令执行结束,以防止在这条指令执行过程中被外部处理器的总线请求所打断。
在保持响应期间, 线为高阻态。
在最小方式下, 引脚为 信号。
为写控制信号(输出、三态),当 8086CPU对存储器或 I/O端口进行写操作时, 为低电平。
2. 不受 影响的控制总线(公共总线)
下面这些控制信号是不受工作方式影响的公共总线。
(1) ——读控制信号(三态、输出)。 信号为低电平时,表示 8086 CPU执行读操作。在DMA方式时, 处于高阻态。
(2)READY——等待状态控制信号,又称准备就绪信号(输入)。当被访问的部件无法在8086CPU规定的时间内完成数据传送时,应由该部件向8086CPU发出 READY=L(低电平),使8086 CPU处于等待状态,插人一个或几个等待周期 Tw,当被访问的部件可以完成数据传输时,被访问的部件将使 READY=H(高电平),8086 CPU继续运行。
(3)INTR——中断请求信号(输入)。可屏蔽中断请求信号,电平触发信号。在每条指令的最后一个时钟周期时 8086 CPU将采样该引脚信号,若 INTR为高电平,同时8086 CPU的 IF(中断允许标志)为“1”, 则 8086 CPU将执行一个中断响应时序,并且把控制转移到相应的中断服务程序。如果IF=“0”,则8086不响应该中断请求,继续执行下一条指令。INTR信号可由软件复位CPU内部的IF而加以屏蔽。
(4)NMI--不可屏蔽中断请求信号(输入)。上升沿触发信号,不能用软件加以屏蔽。
当NMI从低电平变为高电平时,该信号有效,8086CPU 在完成当前指令后,把控制转移到不可屏蔽中断服务程序。
(5) ——等待测试控制信号(输入)。在WAIT(等待)指令期间,8086 CPU每隔5个时钟周期对 引脚采样,若 为高电平,则8086 CPU循环于等待状态,若 为低电平,8086 CPU脱离等待状态,继续执行后续指令。
(6)RESET复位信号(输入)。当RESET为高电平时,系统处于复位状态,8086 CPU停止正在运行的操作,把内部的标志寄存器 FR、段寄存器、指令指针IP以及指令队列复位到初始化状态。注意,代码段寄存器CS的初始化状态为FFFFH。
(三)其他信号
1. CLK——时钟信号(输入)
该信号为8086CPU提供基本的定时脉冲,其占空比为1:3(高电平持续时间:重复周期=1:3),以提供最佳的内部定时。
2. Vcc——-电源(输入)
要求接上正电压(+5V土10%)。
3. GND——地线
二条接地线。
二、8088的引脚与8086的不同之处
8088微处理器是一种准16位主机,其内部结构基本上与8086相同,其引脚信号也与8086基本相同,只是如下引脚的功能有所不同。
(1)8088的地址/数据复用线为8条,即AD7~AD0,而A15~A8为单一的地址线;
(2)8088中无 信号,该引脚为 ——状态信号线。该引脚在最大方式下保持高电平,在最小方式下等于最大方式下 的作用, 与 , 组合以确定当前的总线周期, 、 与 的编码如表2-7所示。
表2-7 、 、 编码表
H L L 中断响应
H L H 读I/O端口
H H L 写I/O端口
H H H 暂停
L L L 取指
L L H 读存储器
L H L 写存储器
L H H 无效
(3)8086的存储器/ IO控制线为 ,即该信号为高电平时是I/O端口访问;为低电平时是存储器访问。这与8086的 线刚好相反。
8088的引脚安排如图2-10所示。
图2-10 8088的引脚图
三、基本配置
8086有两种工作方式,本小节讨论在这两种工作方式下8086系统的基本配置。
(一)最小方式下的基本配置
当8086CPU的 引脚接+5V电源时,8086CPU工作于最小方式,用于构成小型的单处理机系统。图2-11为最小方式下8086系统配置图。
图2-11所示的8086系统中,除8086CPU以及信息传送对象存储器和I/O接口电路外,还有三部分支持系统工作的器件一一时钟发生器、地址锁存器和数据收发器。
图2-11 最小方式下8086系统配置图
1. 时钟发生器8284A
8284A 是用于8086(或8088)系统的时钟发生器/驱动器芯片,它为8086(或8088)以及其他外设芯片提供所需要的时钟信号。
2. 总线锁存器和总线收发器
系统配置图中三片总线锁存器芯片用来锁存地址/数据总线AD19~AD0中的地址信息,以及 中的 信息。因为这21位信息仅在总线周期的第一个时钟周期T1出现,必须将这些信息在整个总线周期期间保存起来,每片总线锁存器锁存8位信息。
常用的总线锁存器有:74LS373,74LS273,Intel 8282和 Intel 8283等。
另外二片总线收发器芯片用来对AD15~AD0中的数据信息进行缓冲和驱动,并控制数据发送和接收的方向。注意该芯片必须在8086总线周期的第二个时钟周期T2开始工作,因为T1周期时AD15~AD0上输出的是地址信息。
常用的总线收发器芯片有;74LS245,Intel8286和8287等,锁存器电路和收发器电路在第六章中进一步说明。
3. 需要说明的问题
在最小方式下,8086CPU直接产生全部总线控制信号( 、 、ALE、 )和命令输出信号( 、 或 ),并提供请求访问总线的应答信号HLDA。当总线主设备(例如 DMA控制器 Intel 8257或 8237)请求控制权时,通过 HOLD请求逻辑使输入到8086CPU的HOLD信号变为有效(高电平)。如果8086CPU响应HOLD请求,则8086CPU输出信号HLDA变为有效(高电平),以此作为对总线主设备请求的回答,同时使8086CPU的地址总线、数据总线、 信号以及有关的总线控制信号和命令输出信号处于高阻状态。此外,地址锁存器和数据收发器的输出也处于高阻状态。这样,8086CPU不再控制总线,一直保持到HOLD信号变为无效(低电平),8086CPU重新获得总线控制权。
(二)最大方式下的基本配置
当8086CPU的 引脚接地时,8086CPU工作于最大方式,用于构成多处理机和协处理机系统,图2-12为最大方式下8086系统配置图。
图2-12 最大方式下8086系统配置图
同最小方式下8086系统配置图相比较,最大方式系统增加了一片专用的总线控制器芯片8288。
8288总线控制器是8086CPU工作在最大方式下构成系统中必不可少的支持芯片,它根据8086CPU在执行指令时提供的状态信号 、 、 建立控制时序,输出读写控制命令,可以提供灵活多变的系统配置,以实现最佳的系统性能。8288的结构框图和引脚图如图2-13所示。
(a)结构图 (b)引脚图
图2-13 8288结构框图及引脚图
状态译码和命令输出:8288根据8086的状态信号 、 、 确定CPU执行何种总线周期,发出相应的命令信号去控制系统中的相关部件。状态信号与输出命令的关系见表2-8所示。
表2-8 8288的命令输出
8086的总线周期 8288的输出命令
L L LL L HL H LL H HH L LH L HH H LH H H 中断响应读I/O端口写I/O端口暂停取指令代码读存储器写存储器无效 / /
其中I/O读、写命令以及存储器读、写命令 、 、 、 代替了最小方式中的三条控制线 、 和 。而 和 为超前命令,可在写周期之前就启动写过程,从而能够在一定程度上避免CPU进人没有必要的等待状态,这两个超前命令较 和 出现时间早一个时钟周期,当需要提前发出写命令的场合,可以选用这两个信号。
安徽自考网声明:
1、由于各方面情况的调整与变化,本网提供的考试信息仅供参考,考试信息以省考试院及院校官方发布的信息为准。
2、本网信息来源为其他媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:952056566@qq.com