发新话题
打印

8086引脚功能

8086引脚功能


8086引脚功能 + O: u3 M9 c! q+ z
    8086有40个引脚,采用DIP(Dual In—line Package,双列直插)封装,见图2.13。8086有两种组态模式:最小模式和最大模式。在最小模式时,8086本身产生系统所需的全部控制信号,在构成微机系统时只能构成单处理器系统。在最大模式时,部分控制信号需借助于其他芯片(总线控制器8288),在构成微机系统时可构成多处理器系统(一个微机系统中可以有多片8086微处理器)。8086的第24~31脚在两种模式下的引脚功能定义不一样。 5 D( Y$ S$ W5 ]6 ~. f
    1.两种模式功用相同的引脚
. Z4 M8 W. n1 W3 N4 q    (1)ADl5~ADO(Address/Data)  地址/数据复用,双向,三态+ E# G5 O  F( o
    在T1期间作地址线用(输出地址的低16位),在T2~T4作数据线用。这里要对A02 j) r- c& L/ v/ Q

5 r8 }4 ?! g/ X1 k! R
* \% Q* E+ v6 P/ x+ P7 `8 l作一些说明。A0是20位地址的最低位,在ALE下降沿时被锁存到地址锁存器中。它除了作为地址的一位,参与地址译码外,还作为低8位数据的传送允许信号,即对于连接到低8位数据总线的存储器或I/O端口来说,在进行数据传送时须用A0选通。   {) |& }& a  Q6 B
    (2)A19/$6一A:16/S3(Address/Status)  地址/状态复用,输出,三态
3 b, j. I& `7 R4 N% ?    在T1期间作地址线用,对于存储器访问来说,输出地址的最高4位;对于I/O访问来说,由于只使用16位地址,所以在711期间这4根线将保持低电平。在T2~T4,这4根线作状态线用。s6指示8086当前是否使用总线。s5指示中断允许标志位的状态。S4、S3指明现在正在使用的段寄存器,S4、S3的每一种组合对应一个段寄存器,组合“0,0”、“0,1”、“1,0”、“l,l”分别对应ES、SS、CS、DS。
4 L. T; f, @) L    (3)9 x% D: X3 r. U+ `- y; {# P& k
. o! ~% |1 G: ?# k
/S7(Bus High Enable/s7)  控制/状态复用,输出,三态 8 Q/ v2 b& H8 e! X2 k3 [
    在T1期间作为高8位数据传送允许信号3 {0 X0 y& j9 Z$ K; W
8 O, g& E, h2 ]0 a9 U6 I
;在T2~T4期间输出状态信号s7。# g! T& s! J. H; e) i
5 ]9 i2 e; |5 f$ F
为低,表示在高8位数据总线上可以进行数据传送,即对于连接到高8位数据总线的存储器或I/O端口来说,在进行数据传送时须用
% @3 u6 k+ v! B7 L/ i
: A" i; S' v- g( U7 v! ^& S0 `选通。" P( |. M2 K+ y/ t" p7 P, D
  x7 `2 ]7 i! W7 D+ `  R) R
和A0的组合作用见表2.2。
) A9 J& M4 m5 w; b% d& A# J
- X+ N% g& e: {+ k/ ]) \4 J+ @, B# a7 q
( L" n" n5 G+ F8 [
    (4)
6 ^  g/ F5 J9 {, {
' Z# y# ^4 O  {0 Y  {(Read)   读控制,输出,三态 ' ?, X" e6 ?" j. b" W" \* @
    低电平有效。有效时,表示CPU正在从存储器或I/O端口读出数据,究竟是读谁的数据需借助于信号M/1 L0 b: }' O  d7 Y6 x. I0 w

6 r$ _: I9 w% q  Q而。. M3 ^4 l1 a. [7 F5 ]

  H* S: ^1 h' v1 q常被用来使能对方的数据输出机构。 - R  Q4 L% x0 c! Q% V
    (5)READY   准备好,输入
) C, K/ ?+ O+ i6 \- O8 j2 M* O7 V3 a) q    高电平有效。当8086采样该信号时,若发现为高电平,表示不需插入等待时钟Tw,反之则需插入Tw。8086在T3的开始以及插入的Tw的开始采样READY信号。
1 w/ L3 \' L& `# G    (6)INTR(Interrupt Request)可屏蔽中断请求,输入
* o; n) {  t: Q; h3 o9 ^- H    8086的中断有多种分类方法。从屏蔽角度分,可以分为可屏蔽中断和非屏蔽中断两类。所谓“屏蔽”是指让对应的中断不起作用,即不能提出中断请求或虽有请求但CPIJ不予响应。对于非屏蔽中断,一旦提出请求,CPU必须无条件予以响应,即这类中断是不可屏蔽的。对于可屏蔽中断,每一个中断源(引起中断的设备或事件)都有自己的屏蔽机制,另外还有一个总的屏蔽机制,即前面讲过的中断允许标志位IF。当IF为0时,
% l) s2 U$ O: I+ o" L: T    CPU不响应任何可屏蔽中断请求。只有在IF为l时CPU才予以响应。INTR是可屏蔽请求输入端。
% G( {. j, T" z7 s    (7)! t: T! O+ R; r. n) ]
$ ~8 a9 k& s5 ?
  测试,输入 , ?; D5 _3 D% v8 L9 _1 A: S4 X
    在8086指令系统中有一条等待指令WAIT。执行该指令时,8086处于空闲状态,重复执行空闲时钟周期Ti。在每一个Ti的开始测试
) |: P' m$ v$ Q+ d, _
" O# V4 h' o' g* y% C,若为高电平,则继续插入Ti,若为低电平,则脱离等待状态,去执行WAIT的下一条指令。可以说,等待指令是等待外部提供的, z, _+ T* c* \* i

% M1 i: [) q! w: ~5 Q1 p/ D2 Q7 u* ]信号变为低电平。因此,将
8 q: I% c* `3 ]2 L5 R: p  D, N. x0 Y* X2 c8 r+ `# G+ [: R2 n( D
和wAIT指令结合起来使用,可提供处理器与外部硬件同步的机制。 & w' y1 {* O+ D+ C1 a7 A( C' L
    (8)NMI(Non-Maskable Interrupt)  非屏蔽中断请求,输入 0 _$ Z+ i6 K4 Z) @
    (9)RESET  复位,输入
& Z$ W) B" }, E8 f1 L+ x4 ]    高电平有效(保持4个时钟周期以上),使8086复位,即立即结束现行操作,清空指令队列,初始化8086的内部寄存器。CS被置成FFFFH,DS、ES、ss、IP和标志寄存器被清0。随着RESET变为低电平,8086开始再启动过程,首先执行地址FFFFO H中的指令。
2 X0 B. }0 o! J" P7 z% h    (10)CLK(Clock)  时钟输入
- q0 }+ L( P  A  f    该引脚是8086的时钟信号输入端。时钟信号一般由时钟发生器8284提供,8284将外接的石英振荡器的频率3分频后输出。当外接石英振荡器的频率为15 MHz时,8284输出信号的频率为5 MHz,这是8086的标准时钟频率。 * M& D9 ]# C$ o9 x- S. S
    (11)VCC   5 V电源输入引脚
/ S* v0 T6 k( b$ V- s- {7 S    (12)GND接地输入引脚
2 ]2 m" V8 y2 V' ^. |8 O8 m    (13)MN/
1 a/ ~& `6 Z! l7 n5 K2 d( Z3 ^! D
$ B' s0 D; x2 ^% Q(Minimum/Maximum)组态选择,输入
' Q5 w: [. f, i% f7 n该引脚接 5 V时,8086工作在最大模式,接地时,工作在最小模式。
, Z" S6 b  C2 S9 S6 Z6 E2.两种组态模式下,功能不同的引脚 7 U1 t3 t+ |) R- S9 @
  1)最小模式下有关引脚的功能
9 Z/ N' e$ ^  \  (1). u4 D) O% [9 W7 V  E7 S
* }) ~6 `2 r# n$ F1 L
(Write)  写控制,输出信号,三态 % c$ B& |  v  `& j3 i! ?, j* f% }; |
  低电平有效。有效时,表示CPU正在向存储器或I/0端口写入数据,究竟是对谁进行写,需借助于M/
4 ?$ f3 p  S/ u/ J" H4 f) v6 [* @& D8 }1 K3 Y
$ x4 q$ n& p6 I8 M# I9 F2 _7 i9 ~) N- C

, t& x: ~; \6 f# c) F  E常被用来打开对方的数据输入机构。 7 |. y, M* D% C& E* ?; j3 z
    (2)M/
8 U2 @" z. H$ x5 I- V, K
5 e) O. y3 S& l0 d4 f- s(Memory/Input and Output)  存储器操作/IO操作,输出信号,三态
; i6 I# L# ?" q. J& ?    该信号指示当前进行的是存储器操作还是I/0操作。若为高电平,当前进行的是存储器操作;若为低电平,当前进行的是I/O操作。
  B: `# G" R- l; U8 B( S    在最小模式时,存储器和I/O的读/写控制是通过M/8 n9 c- a/ M, X! x6 z

: r: T5 K* a) Z% ?
! v2 {8 Z1 i& ^0 p* z& d. b$ d4 n7 o  ?  Z" b

6 _) [) |8 f+ |, M
$ S6 k, L7 @5 M4 U1 @, ^三者的配合实现的,见表2.3。
+ v& |9 r3 l5 }+ y& l- V! r
8 o& Z- q% d9 j" H5 [2 W9 I2 M1 [. f" Z; m& x5 x& {

" d& J  {( Y5 Y: e7 W# u. \8 \( {) r/ N( l6 k5 x; R
  (3). a* x1 X! m3 W3 b$ q+ O$ v$ F
" Q+ N/ l. q7 h; Y
(Interrupt Acknowledge)  中断响应,输出 ( q3 k4 P/ ~1 Z. M/ @8 x! v0 I
  CPU响应可屏蔽中断请求后,进入中断响应周期,在中断响应周期中发出中断响应信号% X. j: R' |9 W/ g
; O$ i. G% s1 u( w
。8086的中断响应周期为两个,所以在中断响应过程中会发出两个+ {" Z6 i, `# L# y0 X0 m- F6 w
" }: c2 l" b1 s1 P1 l* J9 B) P1 t2 O8 q

/ b/ n" v9 ^* M) C4 \3 k    (4)ALE(Address Latch Enable)  地址锁存允许,输出,三态 2 a3 _  V  ^+ a" j) ]6 Z( o
    有效时,表示复用地址线正在传送地址信息,其后沿可用来进行地址锁存。 % ^4 R$ U8 E( x" d
    (5)DT/
3 c! ]4 R# m1 i# R' H% R' D- @
+ s- \, c2 b: J' }(Data Transmit/Receive)  数据收发控制,输出,三态 8 C* S- [& {5 l0 g( ~9 u
    该信号表示当前总线上数据的流向。为高电平,表示数据从CPU流出,即cPu向外输出数据;为低电平,表示数据流向CPU,即CPU接收数据。通常用这个信号作数据收发器的方向控制。 ' Y+ x( t7 v& M( q- |2 Q" A
    (6)7 d' M# r( K) M5 ]$ C; ]

$ R6 Z/ c' H: H, @5 u/ t7 p(Data Enable)数据允许,输出,三态 + w0 Q5 y. G; C( H0 g3 j' L
    该信号低电平有效。有效时,表示允许数据传送。通常用这个信号作数据收发器的允许控制。 ' X. T  X- U) V& F
    (7)HOLD总线持有请求(简称总线请求),输入 1 e" M# o" }+ s$ z
    该信号高电平有效。有效时,表示有总线控制设备(又叫总线请求设备或总线主控设备)向CPU申请占有总线。 ! F" D( V7 A4 t
    (8)HLDA(HOLD Acknowledge)  总线持有响应,输出
$ v. d, v7 V: \# M    该信号高电平有效。有效时,表示cPu已响应总线持有请求并将总线释放,此时,cPu 的地址总线、数据总线及三态控制总线将全面呈现高阻,使提请求的总线控制设备可以顺利接管总线。 " x( c+ T9 X( H& k8 m. p: O
    2)最大模式下有关引脚的功能 . p* k; k1 K  `+ R) [  y
    (1)
6 \8 ^/ W/ W: I, ]4 |# x3 y8 ?9 V+ x  B$ S  a

; K4 z2 \1 W! P3 v6 l' i/ s8 \# {/ u% r/ o+ H! b
: D" B6 K, ~8 n" g# |: v& ^% B

  \9 L- {# k9 \(status)状态信号,输出,三态
& y9 v' o$ H$ V+ H, U: c) s' P' J    8086通过它们的编码让外部电路(总线控制器8288)了解8086当前的工作状态,见 表2.4。* ?) V  e: g, w6 g/ P: Z, L/ C
- [6 m! P* a$ Q/ A1 }' A
0 R; u* S+ j) d
, O) l: s2 y+ y/ `4 t8 j1 T  }
7 ]) T1 E/ @' f- X" e( w3 `4 ~- i/ \! |
    (2)( w$ O, h6 s3 ]* f

9 \) K/ t0 E9 ?) |0 K. c  m总线锁定,输出,三态
8 M6 Q& G) H: Q5 U/ y8 V1 e    该信号一般与指令前缀L0cK配合使用。当CPU执行一条加有LOCK前缀的指令时,该引脚输出有效电平,用来封锁其他总线主控设备,不允许它们此时提出总线请求,直到cPu将该指令执行完为止。另外,在中断响应周期中该信号也一度有效,目的也还是利用该信号来封锁总线主控设备的请求,以确保CPU从数据总线上正确获得中断向量。 0 @+ O, }1 j0 P9 p  t, K/ e
    (3)QSl、QSO(Queue Status)  指令队列状态,输出
: L* Y) ?" P) f  @/ s- |5 |    通过它们的编码让外部电路(如协处理器8087)了解指令队列当前的操作状态(细 , q% H& C5 f; c- t
节略)。
8 c0 ^0 I3 d, ~! F  _    (4)
, Q0 c5 s; Z$ w: O: i
. U7 F  \+ X- b5 f
* S9 j8 }0 U3 ~8 K( N7 O! l  h" U! {2 `% x; a; I7 h( ?) C
$ s2 Z  A4 j1 M
; p3 X: |$ ]6 l: A

/ C( a2 H/ \/ ?: H" m( `* {2 ]& V7 R) P$ G! O
(Request/Grant)  请求/同意,双向,三态
' ]: z: f' \& S2 v7 s    这两个引脚的作用和最小模式下的HOLD、HLDA相类似,也用于总线主控设备请求占用总线和获得CPU的允许,但机制有所不同(细节略)。



点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹

TOP

发新话题