59
1 Shanghai Jiao Tong University 8086 8086 微微微微微微微微微微微微微微微微微微 微微微微 8086 8086 微微微微 微微微微 8086 8086 微微微 微微微 / / 微微微微微微 微微微微微微 8086 8086 微微微 微微微

8086 微处理器及其系统

Embed Size (px)

DESCRIPTION

8086 微处理器及其系统. 主要内容 8086 微处理器 8086 系统的最小 / 最大工作方式 8086 存储器. 8086 微处理器. 8086 是 Intel 系列的 16 位 微处理器。 8086 采用 HMOS 工艺,集成 2.9 万个 晶体管 ,单一的 +5V 电源, 40 条 引脚,双列直插式 封装 , 时钟 频率 5~10MHz ,最快的指令执行 时间 为 0.4 μ s 。 8086 有 16 根数据线, 20 根地址线,寻址 1MB 的存储单元和 64KB 的 I/O 端口。. 8086 微处理器. 8086 CPU 的内部结构. - PowerPoint PPT Presentation

Citation preview

Page 1: 8086  微处理器及其系统

1

Shanghai Jiao Tong University

8086 8086 微处理器及其系微处理器及其系统统

主要内容主要内容 8086 8086 微处理器微处理器 8086 8086 系统的最小系统的最小 // 最大工作方式最大工作方式 8086 8086 存储器存储器

Page 2: 8086  微处理器及其系统

2

Shanghai Jiao Tong University

8086 8086 微处理微处理器器– 80868086 是是 IntelIntel 系列的系列的 1616 位位微处理器。微处理器。– 80868086 采用采用 HMOSHMOS 工艺,集成工艺,集成 2.92.9 万个万个晶体管晶体管,单一的,单一的 +5+5

VV 电源,电源, 4040 条条引脚,双列直插式引脚,双列直插式封装封装,,时钟时钟频率频率 5~10MH5~10MHzz ,最快的指令执行,最快的指令执行时间时间为为 0.40.4μμss 。。

– 80868086 有有 1616 根数据线,根数据线, 2020 根地址线,寻址根地址线,寻址 1MB1MB 的存储单的存储单元和元和 64KB64KB 的的 I/OI/O 端口。端口。

Page 3: 8086  微处理器及其系统

3

Shanghai Jiao Tong University

8086 CPU8086 CPU 的内部结构的内部结构 从功能上讲,可分为两个从功能上讲,可分为两个独立独立部分,部分,并行并行重叠操作。重叠操作。

8086 8086 微处理微处理器器

Page 4: 8086  微处理器及其系统

4

Shanghai Jiao Tong University

总线接口单元 总线接口单元 (Bus Interface Unit, BIU)(Bus Interface Unit, BIU)

– BIUBIU 从内存从内存预取指令预取指令送到送到指令队列缓冲器指令队列缓冲器;;– CPUCPU 执行指令时,执行指令时, BIUBIU 配合配合 EUEU 对指令的内存单元或对指令的内存单元或

I/OI/O 端口端口存取数据存取数据。。

负责完成负责完成 CPUCPU 与存储器或与存储器或 I/OI/O 设备之间的设备之间的数据传送数据传送。即。即

8086 8086 微处理微处理器器

Page 5: 8086  微处理器及其系统

5

Shanghai Jiao Tong University

执行单元 执行单元 (Execution Unit, EU)(Execution Unit, EU)

负责负责执行指令执行指令,即,即– 执行的指令从执行的指令从 BIUBIU 的指令队列缓冲器中的指令队列缓冲器中取得取得;;– 指令执行的结果或所需要的数据,由指令执行的结果或所需要的数据,由 EUEU 向向 BIUBIU 发出发出请求;请求;– 再由再由 BIUBIU 对存储器或对存储器或 I/OI/O 端口进行端口进行存取存取。。

8086 8086 微处理微处理器器

Page 6: 8086  微处理器及其系统

6

Shanghai Jiao Tong University

44 个个 1616 位位段地址寄存器段地址寄存器 代码段代码段寄存器 寄存器 (Code Segment) (Code Segment)

数据段数据段寄存器 寄存器 (Data Segment) (Data Segment)

堆栈段堆栈段寄存器 寄存器 (Stack Segment) (Stack Segment)

附加段附加段寄存器 寄存器 (Extra Segment)(Extra Segment)

1616 位位指令指针寄存器 指令指针寄存器 IP (Instruction Pointer)IP (Instruction Pointer) 66 字节字节指令队列缓冲器指令队列缓冲器 2020 位位地址加法器地址加法器 总线控制器总线控制器

总线接口单元组成总线接口单元组成

Page 7: 8086  微处理器及其系统

7

Shanghai Jiao Tong University

1. 1. 指令队列缓冲器指令队列缓冲器用于存放预取的指令。用于存放预取的指令。80868086 指令队列为指令队列为 66 个个字节。字节。在执行指令的同时,从内存中取下面在执行指令的同时,从内存中取下面 11 条或几条指令,取来的条或几条指令,取来的指令依次放在指令队列中。指令依次放在指令队列中。采用“采用“先进先出先进先出”的原则。”的原则。““ 先进先出先进先出”原则:”原则:按顺序存放,并按顺序取到按顺序存放,并按顺序取到 EUEU 中去中去执行。执行。

总线接口单元组成总线接口单元组成

Page 8: 8086  微处理器及其系统

8

Shanghai Jiao Tong University

2. 2. 地址加法器和段寄存器地址加法器和段寄存器 80868086 有有 2020 根地址线,内部寄存器只有根地址线,内部寄存器只有 1616位。位。“ 段加偏移”技术:– 段寄存器存放确定各段起始地址的 16 位段地址信息。– 由 IP 提供或由 EU 按寻址方式计算出寻址单元的 16 位偏移地址 , 也称为逻辑地址或简称偏移量。– 将偏移地址与左移 4 位后的段寄存器内容同时送到地址加法器,相加后形成 20 位实际地址。

逻辑地址15 0

段寄存器 000015 0 段地址左移 4位

存储器实际地址19 0

实际地址(物理地址 )

总线接口单元组成总线接口单元组成

Page 9: 8086  微处理器及其系统

9

Shanghai Jiao Tong University

3. 163. 16 位指令指针位指令指针 (Instruction Pointer, IP)(Instruction Pointer, IP)

– IPIP 中含有中含有 BIUBIU 要取的下一条指令要取的下一条指令 (( 字节字节 )) 的偏移地址。的偏移地址。– IPIP 在程序运行中在程序运行中自动加自动加 11 ,指向要执行的下一条指令,指向要执行的下一条指令 (( 字字节节 )) 。。

总线接口单元组成总线接口单元组成

Page 10: 8086  微处理器及其系统

10

Shanghai Jiao Tong University

1616 位算术逻辑单元 位算术逻辑单元 (ALU)(ALU) 算术、逻辑运算,计算算术、逻辑运算,计算 1616 位偏移量位偏移量 1616 位标志寄存器位标志寄存器 FF CPUCPU 的运算状态特征或存放控制标志的运算状态特征或存放控制标志 数据暂存寄存器数据暂存寄存器 协助协助 ALUALU 完成运算完成运算 通用寄存器组通用寄存器组 44 个个 1616 位数据寄存器,位数据寄存器, 44 个个 1616 位指针与变址寄位指针与变址寄存器存器 EUEU 控制电路控制电路 控制、定时与状态逻辑电路控制、定时与状态逻辑电路

执行单元组成执行单元组成

Page 11: 8086  微处理器及其系统

11

Shanghai Jiao Tong University

80868086 内部寄存器结构共有内部寄存器结构共有 1313 个个 1616 位寄存器和位寄存器和 11 个个只用了只用了 99位的位的 1616 位标志寄存器。位标志寄存器。

80868086 的寄存器结的寄存器结构构

Page 12: 8086  微处理器及其系统

12

Shanghai Jiao Tong University

①① 数据寄存器数据寄存器 44 个个 1616 位:位: AXAX ,, BXBX ,, CXCX ,, DXDX

88 个个 88 位:位: AHAH ,, ALAL ;; BHBH ,, BLBL ;; CHCH ,, CLCL ;; DDHH ,, DLDL– 多数多数情况下,用于算术运算或逻辑运算指令中。情况下,用于算术运算或逻辑运算指令中。– 有些有些指令中,有特定的用途。 指令中,有特定的用途。

通用寄存器通用寄存器

Page 13: 8086  微处理器及其系统

13

Shanghai Jiao Tong University

②② 指针寄存器和变址寄存器指针寄存器和变址寄存器(( 1616 位,存放偏移地位,存放偏移地址)址) 指针寄存器 指针寄存器 (P(P 组组 )) :: 堆栈指针堆栈指针寄存器寄存器 SPSP 和和基址指针基址指针寄存器寄存器 BPBP 。。 当前堆栈段中数据所在的地址。当前堆栈段中数据所在的地址。

SP(Stack Pointer)SP(Stack Pointer) ::给出给出栈顶栈顶的偏移地址(入栈和的偏移地址(入栈和出栈指令时)。出栈指令时)。BP(Base Pointer)BP(Base Pointer) ::存放位于堆栈段中的存放位于堆栈段中的数据区数据区基基地址的偏移地址。地址的偏移地址。

通用寄存器通用寄存器

Page 14: 8086  微处理器及其系统

14

Shanghai Jiao Tong University

变址寄存器 变址寄存器 ((II 组组 ))

源变址源变址寄存器寄存器 SISI 和和目的变址目的变址寄存器寄存器 DIDI 。。 存放当前数据段的偏移地址。存放当前数据段的偏移地址。

SI(Source Index)SI(Source Index) ::源操作数的偏移地址。源操作数的偏移地址。DI(Destination Index)DI(Destination Index) ::目的操作数的偏移地址。目的操作数的偏移地址。

通用寄存器通用寄存器

Page 15: 8086  微处理器及其系统

15

Shanghai Jiao Tong University

寄存器寄存器 操作操作AXAX 字乘,字除,字字乘,字除,字 I/OI/OALAL 字节乘,字节除,字节字节乘,字节除,字节 I/OI/O ,,查表转换,十进制运算查表转换,十进制运算AHAH 字节乘,字节除字节乘,字节除BXBX 查表转换查表转换CXCX 数据串操作,循环数据串操作,循环

寄存器寄存器 操作操作CLCL 移位,循环移位移位,循环移位DXDX 字乘,字除,间字乘,字除,间接接 I/OI/OSPSP 堆栈操作堆栈操作SISI 数据串操作数据串操作DIDI 数据串操作数据串操作

数据寄存器的隐含使用数据寄存器的隐含使用

通用寄存器通用寄存器

Page 16: 8086  微处理器及其系统

16

Shanghai Jiao Tong University

44 个个 1616 位段寄存器位段寄存器CS(Code Segment)CS(Code Segment) ::存放代码段的段地址。存放代码段的段地址。SS(Stack Segment)SS(Stack Segment) ::存放堆栈段的段地址。存放堆栈段的段地址。DS(Data Segment)DS(Data Segment) : : 存放数据段的段地址。存放数据段的段地址。ES(Extra Segment)ES(Extra Segment) : : 存放附加段的段地址,存放附加段的段地址, 用于存放处理后的数据。用于存放处理后的数据。

段寄存器是为实现段寄存器是为实现“段加偏移”“段加偏移”寻址基址而设置的。寻址基址而设置的。

段寄存器段寄存器

Page 17: 8086  微处理器及其系统

17

Shanghai Jiao Tong University

8086 CPU8086 CPU 有有 2020 条条地址线,具有寻址地址线,具有寻址 1MB1MB 存储空间。存储空间。80868086 指令中给出的地址码仅有指令中给出的地址码仅有 1616 位位,指针寄存器和变址寄存,指针寄存器和变址寄存器也只有器也只有 1616 位位,,不能直接寻址不能直接寻址 1MB1MB 的内存空间。的内存空间。

用用 8086 CPU8086 CPU 内部一组内部一组 1616 位段寄存器内容作为段地址,再由位段寄存器内容作为段地址,再由段寄段寄存器左移存器左移 44 位形成位形成 2020 位的段起始地址位的段起始地址,称为,称为段基地址或段基址段基地址或段基址。。将将 1MB1MB 存储空间分成为若干个逻辑段,使每个逻辑段的长度为存储空间分成为若干个逻辑段,使每个逻辑段的长度为 6464KBKB 。。

段寄存器段寄存器

Page 18: 8086  微处理器及其系统

18

Shanghai Jiao Tong University

8086 8086 标志寄存器标志寄存器 FF 为为 1616 位位,用了其中,用了其中 99 位。位。66 个个状态标志位:状态标志位: CFCF ,, PFPF ,, AFAF ,, ZFZF ,, SFSF ,, OFOF

33 个个控制标志位:控制标志位: DFDF ,, IFIF ,, TFTF

OFOF DFDF IFIF TFTF SFSF ZFZF AFAF PFPF CFCF0077881515

FLFLFHFH2244669910101111

溢出标志溢出标志 方向标志方向标志 中断允许标志中断允许标志

跟踪标志跟踪标志

进位标志进位标志奇偶标志奇偶标志

辅助进位标志辅助进位标志零标志零标志符号标志符号标志

标志寄存器标志寄存器

Page 19: 8086  微处理器及其系统

19

Shanghai Jiao Tong University

状态标志位:状态标志位:反映算术或逻辑运算后结果状态。反映算术或逻辑运算后结果状态。①① CF(Carry Flag)CF(Carry Flag) ::进位进位标志,标志, D0D0 位。位。 执行结果在执行结果在最高位最高位上产生了一个上产生了一个进位或借位进位或借位,, CF=1CF=1 ;无进;无进位或借位,位或借位, CF=0CF=0 。。 会受会受循环指令影响。循环指令影响。②② PF(Parity Flag)PF(Parity Flag) ::奇偶奇偶性标志,性标志, D2D2 位。位。 执行结果的执行结果的低低 88 位位中有偶数个”中有偶数个” 1”1” 时,时, PF=1PF=1 ;否则;否则 PF=0PF=0 。。机器中传递信息时,对产生的机器中传递信息时,对产生的代码出错情况代码出错情况提供检测条件。提供检测条件。

标志寄存器标志寄存器

Page 20: 8086  微处理器及其系统

20

Shanghai Jiao Tong University

③③ AF(Auxiliary Flag)AF(Auxiliary Flag) ::辅助进位辅助进位标志,标志, D4D4 位。位。 执行结果的执行结果的低低 44 位向高位向高 44 位位有进位或借位时,有进位或借位时, AF=1AF=1 ;;否则否则 AF=0AF=0 。。 一般用在一般用在 BCDBCD 码运算码运算中。中。

④④ ZF(Zero Flag)ZF(Zero Flag) ::零零标志,标志, D6D6 位。位。 如运算结果为如运算结果为零零,, ZF=1ZF=1 ;; 如运算结果如运算结果不为零不为零,, ZF=0ZF=0 。。

标志寄存器标志寄存器

Page 21: 8086  微处理器及其系统

21

Shanghai Jiao Tong University

⑤⑤ SF(Sign Flag)SF(Sign Flag) ::符号符号标志,标志, D7D7 位。位。 如运算结果为如运算结果为负数负数,, SF=1SF=1 ;; 如运算结果为如运算结果为正数正数,, ZF=0ZF=0 。。

⑥⑥ OF(Overflow Flag)OF(Overflow Flag) ::溢出溢出标志,标志, D11D11 位。位。 如如带符号数带符号数在进行在进行算术算术运算时产生了运算时产生了溢出溢出,, OF=1OF=1 ;; 如无溢出,如无溢出, OF=0OF=0 。。 溢出表示运算结果已经超出机器能够表示的数值范围。溢出表示运算结果已经超出机器能够表示的数值范围。

标志寄存器标志寄存器

Page 22: 8086  微处理器及其系统

22

Shanghai Jiao Tong University

控制标志位:控制标志位:控制控制 CPUCPU 的操作,由的操作,由程序程序设置或清除。设置或清除。①① DF(Direction Flag)DF(Direction Flag) ::方向方向标志,标志, D10D10 位。位。 控制数据控制数据串操作指令的步进方向串操作指令的步进方向。。

标志寄存器标志寄存器

Page 23: 8086  微处理器及其系统

23

Shanghai Jiao Tong University

②② IF(Interrupt Flag)IF(Interrupt Flag) ::中断允许中断允许标志,标志, D9D9 位。位。 控制控制可屏蔽中断可屏蔽中断。。 若用指令若用指令 STISTI 将将 IF=1IF=1 ,,允许允许接受外部从接受外部从 INTRINTR 引脚引脚发来的可发来的可屏蔽中断请求;屏蔽中断请求; 若用指令若用指令 CLICLI 将将 IF=0IF=0 ,,禁止禁止接受外部发来的可屏蔽中断请求。接受外部发来的可屏蔽中断请求。 IFIF 的状态的状态不影响不影响非屏蔽中断非屏蔽中断 (NMI)(NMI) 请求,请求,也不影响也不影响 CPUCPU响应响应内部的中断请求。内部的中断请求。

标志寄存器标志寄存器

Page 24: 8086  微处理器及其系统

24

Shanghai Jiao Tong University

③③ TF(Trap Flag)TF(Trap Flag) ::跟踪跟踪 ((陷井陷井 )) 标志,标志, D8D8 位。位。 为为方便调试程序方便调试程序而设置的。而设置的。 若若 TF=1TF=1 ,, CPUCPU 处于处于单步工作单步工作方式;方式; 若若 TF=0TF=0 ,正常执行程序。,正常执行程序。

标志寄存器标志寄存器

Page 25: 8086  微处理器及其系统

25

Shanghai Jiao Tong University

① 时序:三种总线上出现的信息不但有严格的顺序,而且有准确的时间,称为定时或时序。② 时钟:时钟脉冲发生器产生具有一定频率和占空比的脉冲信号,称之为机器的主脉冲或时钟。③ 主频:时钟的频率,是机器的一个重要指标。④ 时钟周期:主频的倒数,是 CPU 的基本时间计量单位。 也叫一个 T周期或 T 状态,或一个节拍。 8086主频为 5MHz ,则一个时钟周期为 200ns 。⑤ 总线周期:在取指令和传送数据时, CPU总线接口部件占用的时间称为总线周期或机器周期。

总线周期总线周期

Page 26: 8086  微处理器及其系统

26

Shanghai Jiao Tong University

一个一个最基本最基本的总线周期由的总线周期由 44 个个时钟周期组成:时钟周期组成:用 用 T1T1 ,, T2T2 ,, T3T3 ,, T4 T4 表示表示

T1 T2 T3 Tw T4 T1 T2 T3 T4

总线周期 总线周期TI TI T1 T2 T3 Tw Tw T4

总线周期空闲周期

总线周期总线周期

Page 27: 8086  微处理器及其系统

27

Shanghai Jiao Tong University

① T1 状态: CPU往多路复用总线上发送地址信息,选中所要寻址的存储单元或外设端口地址。

② T2 状态: CPU 从总线上撤销地址,并使总线的低 16 位浮置成高阻状态,为传送数据作准备。

③ T3 状态:总线的高 4 位继续提供状态信息,低 16 位将出现由 CPU写出的数据,或 CPU 从存储器或者外设端口读入的数据。

总线周期总线周期

Page 28: 8086  微处理器及其系统

28

Shanghai Jiao Tong University

④ 等待状态:有些情况下, I/O 或 M 不能及时配合 CPU 传送数据,在 T3 状态启动之前它会通过 READY 引脚向 CPU 发一个“未准备好”信号。 CPU 在 T3 状态之后自动插入若干个时钟周期 Tw 。直至 CP

U 接受到“准备好”信号,自动脱离 Tw 状态进入 T4 。⑤ T4 状态:总线周期结束。

⑥ 空闲周期 TI :两个总线周期之间,若干个时钟周期。

总线周期总线周期

Page 29: 8086  微处理器及其系统

29

Shanghai Jiao Tong University

1234567891011121314151617181920

4039383736353433323130292827262524232221

GNDAD14

AD13 AD12 AD11

AD10

AD9

AD8 AD7

AD6

AD5

AD4

AD3

AD2

AD1

AD0

NMIINTRCLKGND

Vcc(+5V)AD15

A16/S3

A17/S4

A18/S5

A19/S67SBHE

)( 0GTRQHOLD)( 1GTRQHLDA

)(LOCKWR)( 2SIOM

)(A 0QSLE

READYRESET

)( 0SDEN

)( 1QSINTA

)( 2SRDT

RD

TEST

MXMN8086

8086CPU8086CPU 引脚特引脚特性性

Page 30: 8086  微处理器及其系统

30

Shanghai Jiao Tong University

数据 / 地址、状态 / 地址复用线的特点

• 功能各异:不同控制线具有不同的作用 • 方向确定:仅为单向输入或输出• 电平触发:不同控制线有不同的电平触发方式• VCC — +5V• GND — 地

控制线的特点

电源线

8086CPU8086CPU 引脚特引脚特性性

分时总线复用:同一总线在不同时间传输的是不同的信号,这些信号的作用是不同的。8086 采用总线分时复用方法在不影响 CPU 功能的情况下,减少了 CPU的引脚数目,使系统得到简化。

Page 31: 8086  微处理器及其系统

31

Shanghai Jiao Tong University

①① 分时复用分时复用地址地址 // 数据总线数据总线:: ADAD1515~AD~AD00 (引脚(引脚 39,2-1639,2-16 ,, 1616根)根) 传送地址传送地址时:单向,三态时:单向,三态输出输出 传送数据传送数据时:双向,三态时:双向,三态输入输出输入输出

T1T1 状态:输出要寻址的存储器或状态:输出要寻址的存储器或 I/OI/O 端口端口地址地址;;T2T2 状态:浮置成状态:浮置成高阻高阻状态,为传输数据作准备;状态,为传输数据作准备;T3T3 状态:用于传输状态:用于传输数据数据; ; T4T4 状态:状态:结束结束总线周期。总线周期。

通过通过分时复用分时复用利用利用 4040 条引脚实现条引脚实现 2020 位地址、位地址、 1616 位数据及位数据及众多控制信号和状态信号的传输。众多控制信号和状态信号的传输。

8086CPU8086CPU 引脚特引脚特性性

Page 32: 8086  微处理器及其系统

32

Shanghai Jiao Tong University

②② 分时复用分时复用地址地址 // 状态总线状态总线:: AA1919/S/S66~A~A1616/S/S33 (引脚(引脚 35-3835-38 ,, 44根)根) 输出输出,三态。,三态。T1T1 状态:输出状态:输出地址地址的最高的最高 44 位;位; T2~T4T2~T4 状态:输出状态:输出状态状态信息。信息。访问存储器访问存储器:: TT11 状态时输出的状态时输出的 A19~A16A19~A16 送到送到锁存器锁存器 (8282)(8282)锁存,与锁存,与 AD15~AD0AD15~AD0 组成组成 2020 位的地址信号;位的地址信号;访问访问 I/OI/O 端口端口::不使用不使用这这 44 条引线,条引线, A19~A16=0A19~A16=0 。。S6S6 为为 00 ,, 80868086 当前与总线当前与总线相连相连。。S5S5 表明中断允许标志位表明中断允许标志位 IFIF 的当前设置。的当前设置。S4S4 和和 S3S3 指示当前正在使用哪个指示当前正在使用哪个段寄存器段寄存器。。

8086CPU8086CPU 引脚特引脚特性性

Page 33: 8086  微处理器及其系统

33

Shanghai Jiao Tong University

③③ 电源线和地线电源线和地线:: 33 根根 11 个个电源线电源线 Vcc(Vcc( 引脚引脚 40)40) :输入电压 :输入电压 +5V+5V10%10%

22 个个地线地线 GND(GND( 引脚引脚 1,20)1,20) :均接地:均接地

8086CPU8086CPU 引脚特引脚特性性

Page 34: 8086  微处理器及其系统

34

Shanghai Jiao Tong University

④④ 控制总线控制总线:: 88 根根a)a) (( 引脚引脚 34)34) ::高高 88 位数据总线允许位数据总线允许 // 状态状态复复用用 三态,三态,输出输出

7SBHE

在总线周期的在总线周期的 TT11 状态时输出,状态时输出, S7S7 在在 TT22 ~~ TT44 时输时输出。出。80868086 中,当 引脚上输出 信号时,表示总线高中,当 引脚上输出 信号时,表示总线高88 位位 AD15~AD8AD15~AD8 上的上的数据有效,数据有效,存储体奇库选择控制存储体奇库选择控制。。S7S7 在在 80868086 中未被赋予定义。中未被赋予定义。

BHE

7SBHE BHE

8086CPU8086CPU 引脚特引脚特性性

Page 35: 8086  微处理器及其系统

35

Shanghai Jiao Tong University

b)b) (( 引脚引脚 32) 32) :读控制,:读控制,三态,三态,输出,低有效输出,低有效RD

= = 00 时,时, CPUCPU 将执行对将执行对 MM 或或 I/OI/O 端口的端口的读操作读操作。。RD

对内存单元还是对对内存单元还是对 I/OI/O 端口读取数据,端口读取数据,取决于取决于 (8086)(8086)或 或 (8088)(8088) 信号。信号。IOMIOM

RD在一个在一个读操作读操作的总线周期中, 信号在的总线周期中, 信号在 TT22 、、 TT33 和和 TTww 状状态均为低电平,以保证态均为低电平,以保证 CPUCPU读有效。读有效。

8086CPU8086CPU 引脚特引脚特性性

Page 36: 8086  微处理器及其系统

36

Shanghai Jiao Tong University

c)c) (( 引脚引脚 22) 22) :“准备好”信号,:“准备好”信号,输入,高有效输入,高有效 由所寻址的由所寻址的 MM 或端口或端口发出发出READY

READY=READY=11 时,表示所寻址的时,表示所寻址的 MM 或或 I/OI/O 设备已设备已准备就绪准备就绪,,马上可进行一次数据传输。马上可进行一次数据传输。CPUCPU 在每个总线周期的在每个总线周期的 T3T3 状态开始状态开始对对 READYREADY 信号信号采采样样。。READY=READY=00 ,表示,表示 MM 或或 I/OI/O 设备尚未准备好,则设备尚未准备好,则 CPUCPU 在在T3T3 状态之后状态之后自动插入一个或几个等待状态自动插入一个或几个等待状态 TwTw ,直到,直到 REREADY ADY 变为高电平,进入变为高电平,进入 T4T4 状态,完成数据传送过程。状态,完成数据传送过程。

8086CPU8086CPU 引脚特引脚特性性

Page 37: 8086  微处理器及其系统

37

Shanghai Jiao Tong University

d)d) (( 引脚引脚 23)23) :等待测试信号,:等待测试信号,输入,低有效输入,低有效TEST

当当 CPUCPU 执行执行 WAITWAIT 指令指令时,进入空转等待状态,且每隔时,进入空转等待状态,且每隔55 个时钟周期个时钟周期对该线的输入进行对该线的输入进行一次测试一次测试;;若 若 ==11 时,时, CPUCPU 将停止取下条指令而将停止取下条指令而继续处于等待继续处于等待状态,重复执行状态,重复执行 WAITWAIT 指令,直至 指令,直至 ==00 时,等待状时,等待状态态结束结束,, CPUCPU才继续往下执行被暂停的指令。才继续往下执行被暂停的指令。TEST

TEST

8086CPU8086CPU 引脚特引脚特性性

Page 38: 8086  微处理器及其系统

38

Shanghai Jiao Tong University

e)e) (( 引脚引脚 18)18) ::可可屏蔽中断请求,屏蔽中断请求,输入,高有效输入,高有效INTR

INTR=INTR=11 时,表示时,表示外设提出了中断请求外设提出了中断请求,, 8086/80888086/8088 在每在每个指令周期的个指令周期的最后一个最后一个 TT 状态状态去采样此信号。去采样此信号。若若 IF=1IF=1 ,, CPUCPU响应中断,停止执行当前的指令序列,响应中断,停止执行当前的指令序列,并转去执行中断服务程序。并转去执行中断服务程序。

8086CPU8086CPU 引脚特引脚特性性

Page 39: 8086  微处理器及其系统

39

Shanghai Jiao Tong University

f)f) (( 引脚引脚 17)17) ::非非屏蔽中断请求,输入,屏蔽中断请求,输入,上升沿触发上升沿触发NMI

此请求此请求不受不受 IFIF 状态的影响状态的影响,也,也不能用软件屏蔽不能用软件屏蔽,只要此,只要此信号一出现,信号一出现, CPUCPU就会在现行指令结束后引起中断。就会在现行指令结束后引起中断。

8086CPU8086CPU 引脚特引脚特性性

Page 40: 8086  微处理器及其系统

40

Shanghai Jiao Tong University

与与 8284A8284A (时钟发生(时钟发生 // 驱动器)的复位驱动器)的复位输出输出端相连端相连 ;;

g)g) (( 引脚引脚 21)21) :复位信号,:复位信号,输入,高有效输入,高有效RESET

8086 8086 要求复位脉冲宽度要求复位脉冲宽度不得小于不得小于 44 个时钟周期个时钟周期,而,而初次初次接通接通电源时所引起的复位,则要求维持的高电平电源时所引起的复位,则要求维持的高电平不能小于不能小于 50μs50μs ;;

复位后,复位后, CPUCPU 的主程的主程序流程恢复到启动时的序流程恢复到启动时的循环待命初始状态 。循环待命初始状态 。

8086CPU8086CPU 引脚特引脚特性性

Page 41: 8086  微处理器及其系统

41

Shanghai Jiao Tong University

h)h) (( 引脚引脚 19) 19) :系统时钟,:系统时钟,输入输入CLK

通常与通常与 8284A8284A 时钟发生器的时钟时钟发生器的时钟输出输出端端 CLKCLK 相连,该时相连,该时钟信号的低钟信号的低 // 高之比常采用高之比常采用 2:1 (2:1 ( 占空度为占空度为 1/3)1/3) 。。

8086CPU8086CPU 引脚特引脚特性性

Page 42: 8086  微处理器及其系统

42

Shanghai Jiao Tong University

⑤⑤ 其它控制线其它控制线 (( 引脚引脚 24-31)24-31) :: 88 个个

1MXMN ,, 80868086 工作于工作于最小最小方式,方式, 全部控制信号由全部控制信号由 CPUCPU本身提供;本身提供;0MXMN ,, 80868086 工作于工作于最大最大方式,方式, 控制信号由控制信号由 82888288总线控制器提供。总线控制器提供。

MXMN这些控制线的性能,根据这些控制线的性能,根据方式控制线方式控制线 (( 引脚引脚 3333) ) 所处状态而定。所处状态而定。

8086CPU8086CPU 引脚特引脚特性性

Page 43: 8086  微处理器及其系统

43

Shanghai Jiao Tong University

• 条件条件

• 特点特点

• 应用应用

最小工作模式: 控制线 MN//MX = H最大工作模式: 控制线 MN//MX = L

最小工作模式: 控制线由 CPU 自身产生最大工作模式: 控制线由芯片 8288 产生

最小工作模式: 硬件简单,用于专用机最大工作模式: 硬件复杂,用于系统机

8086CPU8086CPU 工作方工作方式式

Page 44: 8086  微处理器及其系统

44

Shanghai Jiao Tong University

接接电源电压电源电压,系统处于,系统处于最小最小方式,即方式,即单处理器单处理器系统方式;系统方式;MXMN

时钟信号发生器时钟信号发生器 8284A8284A ::外接晶体的基本振荡频率为外接晶体的基本振荡频率为 15MHZ, 15MHZ, 经经 8284A8284A三分频后。送给三分频后。送给 CPUCPU 作系统作系统时钟时钟 CLKCLK 。。88 位位地址锁存器地址锁存器 82828282 ::锁存后地址信号,在整个周期保持不变。锁存后地址信号,在整个周期保持不变。三态输出的三态输出的 88 位位数据总线收发器数据总线收发器 82868286 ::用于增加系统的驱动能力。用于增加系统的驱动能力。等待状态产生电路等待状态产生电路::向向 8284A8284A 的 的 RDYRDY 端提供一个信号,经端提供一个信号,经同步同步后,后, 向向 CPUCPU 的的 READYREADY 线发“准备就绪”信号,通知线发“准备就绪”信号,通知 CPUCPU 数据传送已完成数据传送已完成,可退出当前总线周期。,可退出当前总线周期。

最小工作方式最小工作方式

Page 45: 8086  微处理器及其系统

45

Shanghai Jiao Tong University

8284A

RDY

HOLDHLDALEA

READY

RESET

DEN

INTA

RDT

RD

MXMNCLK

IOMINTR

WR

BHE

619 SA 316 SA

015 ~ ADAD

RES

等待状态产生器

CCV

)5( VVCC

CPU8086

收发器8286( 2 片)(可选)

OE

T

地址锁存器8282( 3 片)

OE

STB

2716EPROM( 2 )

2KX8 2KX8

CE OE

MCS-80外部设备CS WRRD

2142RAM ( 4 )

1KX8 (2) 1KX8(2)

HCSO WE ODLCSO

0ADB

AB

BHE

最小工作方式最小工作方式

Page 46: 8086  微处理器及其系统

46

Shanghai Jiao Tong University

接地接地,系统处于,系统处于最大最大方式,含方式,含两个或多个两个或多个处理器,处理器,需解决主处理器和协处理器之间需解决主处理器和协处理器之间协调协调工作,及工作,及总线共享总线共享问题。问题。MXMN

时钟发生时钟发生 // 驱动器驱动器 8284A8284A :: 11片片88 位位地址锁存器地址锁存器 82828282 :: 33 片片三态输出的三态输出的 88 位位数据总线收发器数据总线收发器 82868286 :: 22片片等待状态产生电路等待状态产生电路::总线控制器总线控制器 82888288 ::对对 CPUCPU 发出的控制信号发出的控制信号变换、组合变换、组合,得到对,得到对MM 或或 I/OI/O 的读的读 //写信号,对写信号,对 82828282 和和 82868286 的控制信号。的控制信号。

最大工作方式最大工作方式

Page 47: 8086  微处理器及其系统

47

Shanghai Jiao Tong University

8284A

RDY

LEA

READY

RESET

DEN

INTARDT

MXMNCLK

LOCK

BHE619 SA

316 SA

015 ~ ADAD

RES

等待状态产生器

CCV

CPU8086

收发器8286( 2 片)

OE

T

地址锁存器8282( 3 片)

OE

STB

2716EPROM( 2 )

2KX8 2KX8

CE OE

MCS-80外部设备CS WRRD

2142RAM ( 4 )

1KX8 (2) 1KX8(2)

HCSO WE ODLCSO

0A

DB

AB

BHE

总线控制器8288

CLK2S

1S

0S

2S

1S

0S

AIOWCIOWCIORCAMWCMWTCMRDC

AENIOB

CEN

V5

CN

CN

CN

1

最大工作方式最大工作方式

Page 48: 8086  微处理器及其系统

48

Shanghai Jiao Tong University

80868086 存储器组织存储器组织 20 条 AB ,寻址 1M 存储空间; 按字节组织,每个字节唯一地址 ;

字节:顺序存放 字:低位字节放在低地址中 高位字节放在高地址中 双字:低位字是偏移量 高位字是段地址 规则字:低位字节存放在偶数地址 非规则字:低位字节存放在奇数地址

Page 49: 8086  微处理器及其系统

49

Shanghai Jiao Tong University

字节字节的存取需要的存取需要 11 个个总线周期。总线周期。

8086 数 据 偶数地址奇数地址

(a) 读偶数地址中的字节

(b) 读奇数地址中的字节

被读字节忽略

8086 数 据偶数地址奇数地址被读字节忽略

80868086 存储器组织存储器组织

Page 50: 8086  微处理器及其系统

50

Shanghai Jiao Tong University

规则字规则字存取需要存取需要 11 个个总线周期,总线周期,非规则字非规则字存取需要存取需要 22 个个总线周期。总线周期。

8086数据 偶数地址

奇数地址

8086 数据 偶数地址奇数地址

数据(c) 读偶数地址中的字

数据

(d) 读奇数地址中的字

偶数地址奇数地址

被读字

被读字节 1忽略

被读字节 2忽略

80868086 存储器组织存储器组织

Page 51: 8086  微处理器及其系统

51

Shanghai Jiao Tong University

高位 ( 奇数 )库512K8

SEL 119 ~ AA

815 ~ DD

低位 ( 偶数 )库512K8

SEL 119 ~ AA

07 ~ DD

119 ~ AA

BHE

0A

815 ~ DD

07 ~ DD

1MB 1MB 存储空间,分成存储空间,分成 22 个个 512 KB512 KB 的存储体的存储体 (( 存储库存储库 )) ;;07 ~ DD低位库:低位库:与数据总线 相连,每个地址为与数据总线 相连,每个地址为偶偶数地址。数地址。

高位库:高位库:与数据总线 相连,每个地址为与数据总线 相连,每个地址为奇奇数地址。数地址。815 ~ DD

80868086 存储器组织存储器组织

Page 52: 8086  微处理器及其系统

52

Shanghai Jiao Tong University

操作操作 使用的数据总线使用的数据总线00 00 同时读同时读 // 写高低两个字节写高低两个字节00 11 只读只读 //写奇地址的高位写奇地址的高位11 00 只读只读 //写偶地址的低位写偶地址的低位11 11 不传送不传送

BHE 0A

地址总线 可同时对高、低位库的存储单元寻址,地址总线 可同时对高、低位库的存储单元寻址, 或 用于或 用于库的选择库的选择,分别接到库选择端 。,分别接到库选择端 。

119 ~ AA

BHE0A SEL

015 ~ ADAD

815 ~ ADAD

08 ~ ADAD

80868086 存储器组织存储器组织

Page 53: 8086  微处理器及其系统

53

Shanghai Jiao Tong University

20 根地址总线,允许寻址 1MB 存储空间; IP 、 SP 、 SI 、 DI 都是 16 位,直接寻址大空间 64KB ;为寻址 1MB 存储空间,实行分段管理,每一段最长为 64KB 。段和段之间关系:连续、分开、部分重叠、完全重叠;

存储器分段存储器分段

Page 54: 8086  微处理器及其系统

54

Shanghai Jiao Tong University

每个段大小可从一个字节开始,任意递增,最多包含 64KB 长的连续存储单元; 每个段的 20 位起始地址 ( 段基址 ) ,是能被 16整除的数,即最后 4位为零,可通过程序在段寄存器中装入 16 位段地址来设置;段地址是 20 位段基址的前 16 位。 1 个程序所用的具体存储空间: 1 个或多个逻辑段; 段基址存在 CS 、 SS 、 DS 、 ES 中,程序可从中给出的逻辑段中存取代码和数据; 段区的分配是由操作系统完成的,系统允许程序员指定。

存储器分段存储器分段

Page 55: 8086  微处理器及其系统

55

Shanghai Jiao Tong University

实际地址 ( 物理地址 ) : CPU 对存储器进行访问时的实际寻址所使用的地址,对 8086 来讲,用 20 位二进制数或 5 位十六进制数表示。逻辑地址:程序和指令中表示的一种地址,由段地址和偏移地址两部分组成,用无符号的 16 位二进制或 4 位十六进制数表示。段地址: 16 位段寄存器直接给出的 16 位地址。偏移地址 ( 偏移量或偏移 ) :由指令寻址时的寄存器组合与位移量之和,16 位的偏移量。表示所寻址的地址单元距离段起始地址之间的偏移。一个实际地址可对应多个逻辑地址。

实际地址和逻辑地址实际地址和逻辑地址

Page 56: 8086  微处理器及其系统

56

Shanghai Jiao Tong University

① 8086/8088 系统中的堆栈是用段定义语句在存储器中定义的一个堆栈段,如同其它逻辑段,可在 1MB 的存储空间中浮动。

② 一个系统堆栈数目不受限制,栈长度不超过 64KB 。③ 堆栈由段寄存器 SS 和堆栈指针 SP 来寻址 SS :给出堆栈段的段基址; SP :给定当前栈顶,即指出从堆栈的段基址到栈顶的偏移量。④ 栈顶是堆栈操作的唯一出口,是栈地址较小的一端。

堆栈堆栈

Page 57: 8086  微处理器及其系统

57

Shanghai Jiao Tong University

为加快堆栈操作的速度,均以字为单位进行。

AA BB88 9966 7744 5522 3300 11

34 12AA BB88 9966 7744 5522 3300 11

88 9966 7744 5522 3300 11

10 50

00 08

10 50

00 06

10 50

00 0A

10500105021050410506105081050A

SP

SS

栈顶

栈底 栈底

10500105021050410506105081050A

10500105021050410506105081050A

SP

SS

栈顶

12 34AX

PUSH AX

SP

SS

栈底

栈顶

12 34BX

POP BX

BB AAAX

POP AX

堆栈堆栈

Page 58: 8086  微处理器及其系统

58

Shanghai Jiao Tong University

①① 重定位:重定位:一个完整的程序块或数据块,可在存储器所允许的空一个完整的程序块或数据块,可在存储器所允许的空间内任意浮动,并定位到一个新的可寻址的区域。间内任意浮动,并定位到一个新的可寻址的区域。②② ““ 段加偏移”寻址机制段加偏移”寻址机制允许重定位允许重定位 (( 或再定位或再定位 )) 是一种重要特是一种重要特性。性。③③ 原来为原来为 80868086 在实模式下运行所编写的程序,在以后在实模式下运行所编写的程序,在以后 8028680286 以以上高型号微处理器中,当系统由实模式转换为保护模式时也可上高型号微处理器中,当系统由实模式转换为保护模式时也可运行。运行。④④ 各种通用计算机系统在运行同一软件和数据时能够保持各种通用计算机系统在运行同一软件和数据时能够保持兼容性兼容性。。

重定位重定位

Page 59: 8086  微处理器及其系统

59

Shanghai Jiao Tong University

Thank YouThank You !!