+ All Categories
Home > Documents > 8086 微处理器及其系统

8086 微处理器及其系统

Date post: 17-Mar-2016
Category:
Upload: zudora
View: 187 times
Download: 9 times
Share this document with a friend
Description:
8086 微处理器及其系统. 第 2 章. 2.1 8086 微处理器 2.2 8086 系统的存储器及 I/O 组织 2.3 8086 系统配置 2.4 8086CPU 的操作时序 2.5 80386 微处理器 2.6 80486 微处理器 2.7 Pentium 微处理器. 8086 微处理器. 2.1. 2.1.1 8086 CPU 的结构. ● 执行部件( EU ) ● 总线接口部件( BIU ). 执行部件. ● 内部寄存器 ● 算术逻辑运算单元 (ALU) 及标志寄存器 ● 内部控制逻辑电路. 内部寄存器. - PowerPoint PPT Presentation
57
8086 8086 微微微微微微微微微微微微微微2 2 2.1 8086 2.1 8086 微微微微 微微微微 2.2 8086 2.2 8086 微微微微微 微微微微微 I/O I/O 微微 微微 2.3 8086 2.3 8086 微微 微微 2.4 8086CPU 2.4 8086CPU 微微微微微 微微微微微 2.5 80386 2.5 80386 微微微微 微微微微 2.6 80486 2.6 80486 微微微微 微微微微 2.7 Pentium 2.7 Pentium 微微微微 微微微微
Transcript
Page 1: 8086 微处理器及其系统

80868086 微处理器及其系微处理器及其系统统第 第 22 章章

2.1 80862.1 8086 微处理器微处理器2.2 80862.2 8086 系统的存储器及系统的存储器及 I/OI/O 组组织织2.3 80862.3 8086 系统配置系统配置2.4 8086CPU2.4 8086CPU 的操作时序的操作时序2.5 803862.5 80386 微处理器微处理器2.6 804862.6 80486 微处理器微处理器2.7 Pentium2.7 Pentium 微处理器微处理器

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

●● 执行部件(执行部件( EUEU ))●● 总线接口部件(总线接口部件( BIUBIU ))

2.1.1 8086 CPU 2.1.1 8086 CPU 的结构的结构80868086 微处理器微处理器2.12.1

执行部件执行部件●● 内部寄存器内部寄存器●● 算术逻辑运算单元算术逻辑运算单元 (ALU)(ALU) 及标志寄存器及标志寄存器●● 内部控制逻辑电路内部控制逻辑电路

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

内部寄存器内部寄存器

●● 四个通用数据寄存器四个通用数据寄存器 AXAX 、、 BXBX 、、 CXCX 、、 DXDX 均可用均可用作作 1616 位寄存器也可用作位寄存器也可用作 8 8 为寄存器。用作为寄存器。用作 8 8 位寄存器分位寄存器分别记作:别记作: AHAH 、、 ALAL 、、 BHBH 、、 BLBL 、、 CHCH 、、 CLCL 、、 DHDH 、、DLDL 。。

BXBX 可用作间接寻址的地址寄存器和基地址寄存器,可用作间接寻址的地址寄存器和基地址寄存器,BHBH 、、 BLBL 可用作可用作 88 位通用数据寄存器。位通用数据寄存器。

有些指令约定以有些指令约定以 AX(AX( 或或 AL)AL) 为源或目的寄存器。为源或目的寄存器。AX(AH,AL)AX(AH,AL) 累加器累加器

BX(BH,BL)BX(BH,BL) 基址寄存器基址寄存器

通用寄存器通用寄存器

●● 80868086 共有共有 88 个个 1616 位的内部寄存器,分为两组位的内部寄存器,分为两组::●● 通用寄存器通用寄存器●● 指针和变址寄存器指针和变址寄存器

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

除用作通用寄存器外,在除用作通用寄存器外,在 I/OI/O 指令中可用作端口地址寄乘指令中可用作端口地址寄乘除指令中用作辅助累加器。除指令中用作辅助累加器。

CX(CH,CL)CX(CH,CL) 计数寄存器计数寄存器

DX(DH,DL)DX(DH,DL) 数据寄存器数据寄存器

CXCX 在循环和串操作中操作中充当计数器,指令执在循环和串操作中操作中充当计数器,指令执行后行后 CXCX 内容自动修改。内容自动修改。

指针和变址寄存器指针和变址寄存器●● BP( Basic Pointer Register)BP( Basic Pointer Register) 基址指针寄存器基址指针寄存器●● SP(Stack Pointer Register)SP(Stack Pointer Register) 堆栈指针寄存器堆栈指针寄存器●● SI(Source Index Register)SI(Source Index Register) 源变址寄存器源变址寄存器●● DI(Destination Index Register)DI(Destination Index Register) 目的变址寄存器目的变址寄存器

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

算术逻辑单元算术逻辑单元 (ALU)(ALU) 及标志寄存器及标志寄存器●● 标志寄存器(标志寄存器( Flag RegisterFlag Register )共有)共有 1616 位,其中位,其中 77 位未用。标志寄位未用。标志寄存器内容如图:存器内容如图:

1.1. 条件标志条件标志---------- 共共 66 位,用于寄存程序运行的状态信息,这些标志往往用作后续指位,用于寄存程序运行的状态信息,这些标志往往用作后续指令判断的依据。令判断的依据。2.2. 控制标志控制标志---------- 共共 33 位,用于控制机器或程序的某些运行过程。位,用于控制机器或程序的某些运行过程。

OF DF IF TF SF ZF ― ― AF ― ― PF ― ― CFOF DF IF TF SF ZF ― ― AF ― ― PF ― ― CF88 7 6 5 4 3 2 1 7 6 5 4 3 2 1

0015 14 13 12 11 10 915 14 13 12 11 10 9

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

条件标志条件标志●● CF(Carry Flag)CF(Carry Flag) 进位标志进位标志---------- 反映在运行结果的最高位有无进位或错位。反映在运行结果的最高位有无进位或错位。●● PF(Parity Flag)PF(Parity Flag) 奇偶标志奇偶标志---------- 反映运算结果中“反映运算结果中“ 1”1” 的个数的奇偶性,主要用于判断数据的个数的奇偶性,主要用于判断数据传送过程中是否出错。传送过程中是否出错。●● AF(Auxiliary Flag)AF(Auxiliary Flag) 辅助进位标志辅助进位标志---------- 加减运算时,若加减运算时,若 D3D3 向向 D4D4 产生了进位或错位则产生了进位或错位则 AF=1AF=1 。否。否则则AF=0AF=0 。在。在 BCDBCD 码运算时,该标识用于十进制调整。码运算时,该标识用于十进制调整。

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

---------- 反映计算结果是否为反映计算结果是否为 00 。若结果为零则。若结果为零则 ZF=1ZF=1 ,否则,否则 ZF=0ZF=0 。。●● SF(Sign Flag)SF(Sign Flag) 符号标志符号标志---------- 反映计算结果最高位及符号位的状态。如果运算结果的最高位反映计算结果最高位及符号位的状态。如果运算结果的最高位为为 11 则则 SF=1SF=1 (对带符号数即为负数),否则(对带符号数即为负数),否则 SF=0SF=0 (对带符号(对带符号数即为正数)。数即为正数)。●● OF(Overflow Flag)OF(Overflow Flag) 溢出标志溢出标志---------- 反映运算结果是否超出了带符号数的表数范围。反映运算结果是否超出了带符号数的表数范围。

●● ZF(Zero Flag)ZF(Zero Flag) 零进位零进位

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

控制标志控制标志●● 共共 33 位,用于控制机器或程序的某些运行过程。位,用于控制机器或程序的某些运行过程。

●● DF(Direction Flag)DF(Direction Flag) 方向标志方向标志----- ----- 用于串处理指令中控制串处理的方向。用于串处理指令中控制串处理的方向。●● IF(Interrupt Flag)IF(Interrupt Flag) 中断允许标志中断允许标志----- ----- 用于控制用于控制 CPUCPU 是否允许相应可屏蔽中断请求。是否允许相应可屏蔽中断请求。●● TF(trap flag)TF(trap flag) 陷阱标志陷阱标志----- ----- 用于单步操作。用于单步操作。

内部控制逻辑电路内部控制逻辑电路

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

5. I/O5. I/O 控制逻辑控制逻辑----- ----- 是是 CPUCPU 外部三总线(外部三总线( ABAB 、、 DBDB 、、 CBCB )的控制电路,它控制)的控制电路,它控制 CCPUPU 与其他部件交换数据、地址、状态及控制信息与其他部件交换数据、地址、状态及控制信息。。

4. 4. 指令队列缓冲器指令队列缓冲器----- ----- 是一个与是一个与 CPUCPU 速度相匹配的高速缓冲寄存器。速度相匹配的高速缓冲寄存器。

3. 3. 指令指针寄存器指令指针寄存器 (IP)(IP)----- ----- 又称程序计数器,是又称程序计数器,是 1616 位寄存器。位寄存器。

2.2. 地址加法器地址加法器----- ----- 用于产生用于产生 20 20 位物理地址。位物理地址。

1.1. 段地址寄存器段地址寄存器 (CS(CS 、、 DSDS 、、 SSSS 、、 ES)ES)

----- ----- 用于存放段地址的寄存器称为段寄存器,根据其主要用途,计有代码用于存放段地址的寄存器称为段寄存器,根据其主要用途,计有代码段寄存器段寄存器 CSCS 、数据段寄存器、数据段寄存器 DSDS 、堆栈段寄器、堆栈段寄器 SSSS 、附加段寄存器、附加段寄存器 ESES 。。

总线接口部件总线接口部件

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

8086CPU8086CPU 引脚的功引脚的功能能●● 80868086 总线周期总线周期●● 8086CPU8086CPU 的引脚及功能的引脚及功能

2.1.22.1.2

80868086 总线周总线周期期TT11 TT22 TT33 TTww TT44 TT11 TT11

80868086 总线周总线周期期

图 图 2-3 2-3 典型的典型的 80868086 总线周期时总线周期时序序

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

----- CPU----- CPU 向多路复用总线上发送地址信息,指出要寻址的内存单元向多路复用总线上发送地址信息,指出要寻址的内存单元地址或地址或 I/OI/O 端口地址。端口地址。TT22 状态 :状态 :----- CPU----- CPU 从总线上撤消地址,使总线低从总线上撤消地址,使总线低 1616 位呈现高阻状态,为数据位呈现高阻状态,为数据传输作准备。传输作准备。TT33 状态 :状态 :----- A----- A1919~A~A1616 上状态信息不变,总线低上状态信息不变,总线低 1616 位上出现位上出现 CPUCPU 要写出的数要写出的数据或准备读入的数据。据或准备读入的数据。TT44 状态 :状态 :----- ----- 总线周期结束,若为总线周期则在总线周期结束,若为总线周期则在 TT44 前沿将数据读入前沿将数据读入 CPUCPU 。。

TT11 状态状态 ::

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

1. GND(1. GND( 地地 )) 和和 VccVcc 电源。电源。 VccVcc 引脚接引脚接 +5V+5V 电源, 电源, GNDGND 引脚接地。引脚接地。2. AD2. AD1515~AD~AD00(Address Data Bus)(Address Data Bus) 地址地址 // 数据复用引脚,双向、三态。数据复用引脚,双向、三态。3. A3. A1919/S/S66~A~A1616/S/S33(Address/Status)(Address/Status) 地址地址 // 状态复用引脚,输出、三态状态复用引脚,输出、三态。4. BHE/S4. BHE/S77(Bus High Enable/Status)(Bus High Enable/Status) 高高 88 位数据线允许位数据线允许 // 状态复用引状态复用引脚,输出、三态。脚,输出、三态。

8086CPU8086CPU 的引脚及功能的引脚及功能在在最小模式和最大模式下的通用引脚:最小模式和最大模式下的通用引脚:

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

表表 2-1 S2-1 S33 、 、 SS44 代码组合的意义代码组合的意义

SS4 4 S S33 意义意义0 00 0 正在使用正在使用 ESES0 10 1 正在使用正在使用 SSSS1 01 0 正在使用正在使用 CSCS1 11 1 正在使用正在使用 DSDS

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

表表 2-2 BHE 2-2 BHE 与 与 A0 A0 信号的意义信号的意义

BHE ABHE A00 操作操作 所用的数据线 所用的数据线 0 00 0 从偶地址开始读从偶地址开始读 // 写一个写一个字字 ADAD1515~AD~AD00

1 01 0 从偶地址读从偶地址读 // 写一个字写一个字 ADAD77~AD~AD00

0 10 1 从奇地址开始读从奇地址开始读 // 写一个写一个字字 ADAD1515~AD~AD88

从奇地址开始读从奇地址开始读 // 写一个写一个字字1 01 0 (第一个总线周期)(第一个总线周期) ADAD1515~AD~AD88

0 10 1 (第二个总线周期)(第二个总线周期) ADAD77~AD~AD00

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

6.6. INTR(Interrupt Request)INTR(Interrupt Request) 可屏蔽中断请求引脚,输入、高电平有效。可屏蔽中断请求引脚,输入、高电平有效。7.7. RD(Read)RD(Read) 读信号,输出、三态、低电平有效。读信号,输出、三态、低电平有效。8.8. CLK(Clock)CLK(Clock) 时钟输入引脚。时钟输入引脚。9.9. RESET(Reset)RESET(Reset) 复位引脚,输入、高电平有效。复位引脚,输入、高电平有效。10.10. READY(Ready)READY(Ready) 准备好引脚,输入、高电平有效。准备好引脚,输入、高电平有效。11. TEST(Test)11. TEST(Test) 测试引脚,输入、低电平有效。测试引脚,输入、低电平有效。12. MN/MX(Minimum/Maximum Mode Control)12. MN/MX(Minimum/Maximum Mode Control)最小最小 // 最大模式控制引脚,输入。最大模式控制引脚,输入。

5.5. NMI(Non-Maskable Interrupt)NMI(Non-Maskable Interrupt) 非屏蔽终端请求引脚,输入。非屏蔽终端请求引脚,输入。

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

80868086 系统的存储器及系统的存储器及 I/OI/O组织组织2.2.1 80862.2.1 8086 系统的存储器的结构系统的存储器的结构

●● 80868086 系统的存储器结构系统的存储器结构●● 80868086 系统的存储器的地址系统的存储器的地址●● 80868086 系统内存地址的一些专用区域系统内存地址的一些专用区域

2.22.2

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

80868086 系统的存储器结构系统的存储器结构

偶地址偶地址存储体存储体

512K 512K ×× 8 8AA00=0=0

奇地址奇地址存储体存储体

512K 512K ×× 8 8AA00=1=1

000001000001

000003000003

FFFFFFFFFFFFFFEFFFFE

000002000002

000000000000

图图 2-5 2-5 存储体地址空间分存储体地址空间分配 配

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

2-7 a2-7 a

•从偶地址读写一个字节(从偶地址读写一个字节( BHE ABHE A00=10) AD=10) AD1515~AD~AD88 上的上的数据被忽略,字节内容通过数据被忽略,字节内容通过 AD7~ADAD7~AD00 传送。传送。

被读的字节被读的字节忽略的字节忽略的字节YY

YY

XX

存储器存储器8086CPU8086CPU

10000H10000H

10001H10001H

a) a) 从偶地址读一个字节从偶地址读一个字节

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

2-7 b2-7 b

•从奇地址读写一个字节(从奇地址读写一个字节( BHE A0=01)BHE A0=01) 。。•在在 AD15~AD8AD15~AD8 上传送的数据有效, 上传送的数据有效, AD7~AD0AD7~AD0 上的数据被忽上的数据被忽略。略。

被读的字节被读的字节被读的字节被读的字节XX

YY

XX

存储器存储器8086CPU8086CPU

10008H10008H

10009H10009HYY

b) b) 从偶地址读一个字从偶地址读一个字

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

•从偶地址读写一个字(从偶地址读写一个字( BHE A0=00)BHE A0=00) 。。•AD15~AD0AD15~AD0 上传送的数据同时有效。上传送的数据同时有效。•以上三种读写操作都是在一个总线周期中完成的。以上三种读写操作都是在一个总线周期中完成的。

2-7 c2-7 c

被读的字节被读的字节忽略的字节忽略的字节

XXYY

XX

存储器存储器8086CPU8086CPU

10050H10050H

10051H10051H

c) c) 从奇地址读一个字节从奇地址读一个字节

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

2-7 d2-7 d

•从奇地址读写一个字。这种操作要占用两个总线周期。从奇地址读写一个字。这种操作要占用两个总线周期。

被读的第一字节被读的第一字节忽略的字节忽略的字节

YY YYXX

存储器存储器8086CPU8086CPU

10080H10080H

10082H10082H

忽略的字节忽略的字节被读的第二字节被读的第二字节XX

ZZ

WW

10081H10081H

10083H10083H

d) d) 从奇地址读一个字从奇地址读一个字节节

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

80868086 系统的存储器的地址系统的存储器的地址

CS=2000H IP=1000H CS=2000H IP=1000H 物理地址物理地址 =21000H=21000H CS=2100H IP=0000H CS=2100H IP=0000H 物理地址物理地址 =21000H=21000H

1.1. 物理地址的计算公式:物理地址的计算公式: 物理地址 物理地址 = = 端地址端地址 ×× 16 + 16 + 偏移地址偏移地址2.2. 段地址的引入,为程序在内存中浮动创造了条件,一般用户段地址的引入,为程序在内存中浮动创造了条件,一般用户程序只涉及偏移地址。程序只涉及偏移地址。3.3. 同一物理地址可以有不同的段地址和偏移地址表示同一物理地址可以有不同的段地址和偏移地址表示。。例如例如 ::

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

80868086 系统内存地址的一些专用区域系统内存地址的一些专用区域●● 0000~003FFH 1KB 0000~003FFH 1KB 空间用于存放中断向量表,可存放空间用于存放中断向量表,可存放 256256 个中个中断服务程序的入口地址,每个地址占断服务程序的入口地址,每个地址占 44 字节。字节。●● B0000~B0FFFH 4KB B0000~B0FFFH 4KB 为单色显示器显示缓冲区 ,存放屏幕当前显为单色显示器显示缓冲区 ,存放屏幕当前显示字符的示字符的 ASCIIASCII 码。码。●● B8000~BBFFFH 16KB B8000~BBFFFH 16KB 为彩色显示器显示缓冲区,存放屏幕当前为彩色显示器显示缓冲区,存放屏幕当前像素代码。像素代码。●● FFFF0H FFFF0H 启动地址。一般用来存放一条无条件转移指令,转到系统启动地址。一般用来存放一条无条件转移指令,转到系统初始化程序。初始化程序。

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

80868086 系统配置系统配置2.3.1 2.3.1 最小模式和最大模式的概念最小模式和最大模式的概念

1.1. 最小模式最小模式2.2. 最大模式最大模式

●● 为了适应各种场合的要求,为了适应各种场合的要求, 8086/8088CPU8086/8088CPU 在设计中提供了两在设计中提供了两种工作模式,即最小模式和最大模式。实际机器中究竟工作在哪一种工作模式,即最小模式和最大模式。实际机器中究竟工作在哪一种模式, 根据需要有硬件连接决定。 种模式, 根据需要有硬件连接决定。

2.32.3

80868086 系统的系统的 I/OI/O组组织织●● 80868086 系统有专有的输入(系统有专有的输入( ININ )、输入()、输入( OUTOUT )令,用于外设端)令,用于外设端口(即外设接口中的内部寄存器)的寻址。口(即外设接口中的内部寄存器)的寻址。

2.2.22.2.2

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

最小模式最小模式

最大模式:最大模式:

●● 如果系统中包括两个以上处理器,其一个为如果系统中包括两个以上处理器,其一个为 8086/80888086/8088 作为作为主 处理器,其它处理器作为协处理器,这样的系统成为最大主 处理器,其它处理器作为协处理器,这样的系统成为最大模式系统。模式系统。

::●● 如果系统中只有一个微处理器如果系统中只有一个微处理器 80868086 (或(或 80888088 ),所有由),所有由它产生,则系统中总线控制逻辑信号可先减少到最小,因此它产生,则系统中总线控制逻辑信号可先减少到最小,因此称这种系统为最小模式系统。称这种系统为最小模式系统。

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

最小模式系统最小模式系统

●● 当系统只有一个微处理器当系统只有一个微处理器 80868086 时,将时,将 MN/MXMN/MX 引脚接向引脚接向 +5V,+5V,构成最小模式系统,其原理如图构成最小模式系统,其原理如图 2-82-8

1.1. 最小模式系统典型配置最小模式系统典型配置2.82842.8284 时钟发生器与时钟发生器与 80868086 的连接 如图的连接 如图 2-2-

99

3.3. 地址锁存器地址锁存器 82828282 与与 80868086 的连接 如图的连接 如图 2-2-1010

4.4. 总线驱动器总线驱动器 82868286 与与 80868086 的连接 如图的连接 如图 2-2-1111

2.3.22.3.2

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

其他控制信号其他控制信号(( 11 )) M/IO(Memory/Input & Output)M/IO(Memory/Input & Output) 及及 WRWR 信号,输出、三信号,输出、三态。这两个信号与态。这两个信号与 RDRD 信号盒起来决定系统中数据传出的方向,信号盒起来决定系统中数据传出的方向,其组合集对应功能表其组合集对应功能表 2-42-4

5.5.

M/IOM/IO RDRD WRWR 功 能功 能00 00 11 I/OI/O 读读00 11 00 I/OI/O 写写11 00 11 存储器读存储器读11 11 00 存储器写存储器写XX 00 00 无效组合无效组合XX 11 11 非读写状态非读写状态

表表 2-4 M/IO2-4 M/IO 、 、 RD RD 及及 WRWR 信号的功信号的功能能

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

(( 33 ) ) HLDA(Hold Acknowledge)HLDA(Hold Acknowledge)总线请求响应信号,输出、高电平有效。总线请求响应信号,输出、高电平有效。(( 44 )) INTN(Interrupt Acknowledge)INTN(Interrupt Acknowledge)中断响应信号,输出、三态、低电平有效。中断响应信号,输出、三态、低电平有效。(( 55 )) ALE(Address Latch Enable)ALE(Address Latch Enable)地址锁存允许信号,输出、高电平有效。地址锁存允许信号,输出、高电平有效。(( 66 )) DEN(Data Enable)DEN(Data Enable)数据允许信号,输出、三态、低电平有效。数据允许信号,输出、三态、低电平有效。 (( 77 )) DT/R(Data Transmit/Recieve)DT/R(Data Transmit/Recieve)数据收发控制信号,输出、三态。数据收发控制信号,输出、三态。

HOLD(Hold Request)HOLD(Hold Request)(( 22))总线保持请求信号,输入、高电平有效总线保持请求信号,输入、高电平有效。。

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

最大模式系统最大模式系统 ●● 将将 MN/MXMN/MX 引脚接地就构成了引脚接地就构成了 8086CPU8086CPU 的最大工作模式。的最大工作模式。

1.1. 最大模式下的有关引脚信号最大模式下的有关引脚信号2.2. 82888288 总线控制器总线控制器3.3. 最大模式的系统配置最大模式的系统配置

2.3.32.3.3

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

最大模式下的有关引脚信号最大模式下的有关引脚信号1.1. QSQS00,QS,QS11(Instruction Queue Status)(Instruction Queue Status) 指令队列状态信号,输出。指令队列状态信号,输出。

QSQS0 0 QS QS11 意义意义0 00 0 无操作无操作0 10 1 无指令队列的第无指令队列的第 11 个字节取走代码个字节取走代码1 01 0 队列为空队列为空1 11 1 除第除第 11 个字节外,还取走了后续字节中的代个字节外,还取走了后续字节中的代码码

表表 2-5 QS12-5 QS1 、、 QS0QS0 代码组合含义代码组合含义

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

S2S2 、、 S1S1 、、 S0( Bus cycle S0( Bus cycle Status)Status) 总线状态信号,输出。总线状态信号,输出。

3. LOCK(Lock)3. LOCK(Lock) 总线封锁信号,输出,低电平有效。总线封锁信号,输出,低电平有效。4.RQ/GT1,RQ/GT04.RQ/GT1,RQ/GT0 总线请求总线请求 // 允许信号双向。允许信号双向。

2.2.

S2 S1 S0S2 S1 S0 对应操作对应操作 82888288 发出的控制命令发出的控制命令0 0 00 0 00 0 10 0 10 1 00 1 00 1 10 1 111 0 00 01 0 11 0 11 1 01 1 01 1 11 1 1

发出中断响应信号发出中断响应信号读读 I/OI/O 端口端口写写 I/OI/O 端口端口暂停暂停取指令取指令读内存读内存写内存写内存无源状态无源状态

INTAINTAIORCIORCIOWC AIOWCIOWC AIOWC

MRDCMRDCMRDCMRDCMWTC AMWCMWTC AMWC

表表 2-6 S22-6 S2 、、 S1S1 、、 S0 S0 的代码组合操的代码组合操作作

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

8288 8288 总线控制器总线控制器 ●● 在最大模式系统中要用到总线控制器在最大模式系统中要用到总线控制器 82888288 ,它根据,它根据 CPUCPU 提供提供的的 S2S2 ,, S1, S0S1, S0 信号产生各种总线控制信号。信号产生各种总线控制信号。

82888288 逻辑框图 逻辑框图 2-122-12

1.1. SS22 、、 SS11 、、 SS0 0 来自来自 8286CPU8286CPU 的状态信号。的状态信号。 82888288 对这些对这些状态进行译码产生相应的总线命令信号和输出控制信号。状态进行译码产生相应的总线命令信号和输出控制信号。2.2. CLKCLK 时钟输入端,通常接时钟输入端,通常接 82848284 的的 CLKCLK 端。端。3.3. AENAEN 地址允许信号,输入。地址允许信号,输入。

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

5. IOB5. IOB 总线方式控制信号,输入。总线方式控制信号,输入。 82888288 有两种工作方式:有两种工作方式: ((1) 1) 当当 IOBIOB 为低时,为低时, 82888288 工作于系统总线方式(多处理器系工作于系统总线方式(多处理器系统)统) (2) IOB(2) IOB 为高时,为高时, 82888288 工作于局部总线方式(单处理器系统)工作于局部总线方式(单处理器系统)

CENCEN 命令允许信命令允许信号号4. 4. ,输入。,输入。

6. AIOWC 6. AIOWC 超前超前 I/OI/O 写命令,输出。在总线周游该信号提前一个时写命令,输出。在总线周游该信号提前一个时钟周期发出钟周期发出 I/OI/O 写命令,以便于写命令,以便于 I/OI/O 设备早作准备。设备早作准备。7. AMWC 7. AMWC 超前存储器写命令,输出。其功能与超前存储器写命令,输出。其功能与 AIOWCAIOWC 信号相似。信号相似。8. IOWC I/O 8. IOWC I/O 写命令,输出。只是数据总线上数据有效,可将数据写命令,输出。只是数据总线上数据有效,可将数据写入被选中的写入被选中的 I/OI/O 端口。端口。

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

10. MRDC10. MRDC 、、 MWTC MWTC 存储器读和存储器写命令,输出。存储器读和存储器写命令,输出。

11. MCE/PDEN 11. MCE/PDEN 输出,总线总模块允许输出,总线总模块允许 // 外部数据允许双功能信号。外部数据允许双功能信号。

12. INTA,DT/R,ALE 12. INTA,DT/R,ALE 及 及 DEN DEN 与与 80868086 最小模式的相应引脚信号功最小模式的相应引脚信号功能相同,只有能相同,只有 DENDEN 信号的相位与最小模式相应引脚的相位相反信号的相位与最小模式相应引脚的相位相反。。

, 输出。通知外设端口将数据发送到数据总线上。, 输出。通知外设端口将数据发送到数据总线上。IORC I/O IORC I/O 读命读命令令9.9.

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

8086CPU8086CPU 的操作时序的操作时序2.4.1 8086 CPU2.4.1 8086 CPU 的复位操作时序的复位操作时序2.42.4

图 图 2-14 8086 2-14 8086 的复位时序的复位时序不作用状态不作用状态

浮空浮空三态们三态们输出信号输出信号

内部内部RESETRESET

RESETRESET输入输入

CLKCLK

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

最小模式下的总线读周期最小模式下的总线读周期2.4.22.4.21. T1. T11 状态状态 ::●● 在在 T1T1 状态,地址锁存允许信号状态,地址锁存允许信号 ALEALE 有效,输出一个正脉冲。有效,输出一个正脉冲。在其下降时,将地址锁入在其下降时,将地址锁入 82828282 地址锁存器。地址锁存器。2. T2. T22 状态:状态:●● 在在 T2T2 状态,地址信号消失,地址状态,地址信号消失,地址 // 数据复用总线进入高阻状数据复用总线进入高阻状态,为总线读操作作准备。态,为总线读操作作准备。3. T3. T33 状态状态::●● 在在 T3T3 状态内存或状态内存或 I/OI/O 端口将数据送上数据总线端口将数据送上数据总线。。4. T4. T44 状态:状态:●● 在在 T4T4 前沿前沿 CPUCPU 将数据读入,总线周期完成。将数据读入,总线周期完成。

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

最小模式下的总线写周期最小模式下的总线写周期2.4.32.4.31. 1. TT11 状态状态 :: ● ● T1 T1 状态的操作与总线读相同,即状态的操作与总线读相同,即 M/IOM/IO 应在应在 T1T1 前沿之前有效。前沿之前有效。2. T2. T22 状态:状态: ● ● AA1919/S/S66~A~A1616/S/S33 引脚输出状态信息引脚输出状态信息 S6~S3S6~S3 ,, ADAD1515~AD~AD00 复用总线上输复用总线上输出要写出的数据,并一直保持到出要写出的数据,并一直保持到 T4T4 中部。中部。 3. T3. T33 状态及状态及 TwTw :: ● ● 在在 TT33 状态中,状态中, TT22 状态有效的信号继保持有效,继续向外部写数据。状态有效的信号继保持有效,继续向外部写数据。4. T4. T44 状态:状态: ● ● 总线写状态结束,所有控制信号变为无效状态,所有三态总线变为高总线写状态结束,所有控制信号变为无效状态,所有三态总线变为高阻态。阻态。

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

最大模式下的总线读周期最大模式下的总线读周期2.4.42.4.41. 1. TT11 状态状态 :: ● ● CPUCPU 经过经过 AA1919/S/S66~A~A1616/S/S33 、、 ADAD1515~AD~AD00 送出送出 2020 位地址信号及位地址信号及 BHBH

EE 信号。信号。2. T2. T22 状态:状态: ● ● CPUCPU 送出状态信号送出状态信号 SS77~S~S33,, 并将地址数据并将地址数据 // 复用总线置为高阻状态,复用总线置为高阻状态,已准备数据读入。已准备数据读入。3. T3. T33 状态:状态: ● ● TT33 状态中,状态中, SS22~S~S00全部上升为高电平,进入无源状态,并一直继全部上升为高电平,进入无源状态,并一直继续到续到 TT44 。。4. T4. T44 状态:状态: ● ● 一个总线周期结束。数据从总线上撤销,数据一个总线周期结束。数据从总线上撤销,数据 // 地址总线进入高地址总线进入高阻状态。阻状态。

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

最大模式下的总线写周期最大模式下的总线写周期2.4.52.4.51. T1. T11 状态:状态: ● ● AA1919/S/S66~A~A1616/S/S33 及及 ADAD1515~AD~AD00 输出地址信号。输出地址信号。2. T2. T22 状态:状态: ● ● 总线控制器输出总线控制器输出 DENDEN 高电平使总线驱动器使能。提前的存储器写信高电平使总线驱动器使能。提前的存储器写信号号 AMWCAMWC 或或 I/OI/O 写信号写信号 AIOWCAIOWC 降为低电平。降为低电平。3. T3. T33 状态:状态: ● ● 总线控制器是普通的写控制信号总线控制器是普通的写控制信号 MWTCMWTC 或或 IOWCIOWC 生效。生效。4. T4. T44 状态:状态: ● ● 总线写周期结束。总线写周期结束。 AA1919/S/S66~A~A1919/S/S33 、、 ADAD1515~AD~AD00 复用总线变为高阻状复用总线变为高阻状态。态。

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

80386 80386 微处理微处理器器

●● 80386 80386 共有共有 3434 个寄存器,按功能可分为:个寄存器,按功能可分为:2.5.1 2.5.1 寄存器组寄存器组

1.1. 通用寄存器通用寄存器2.2. 段寄存器段寄存器3.3. 段描述符寄存器段描述符寄存器4.4. 状态和控制寄存器状态和控制寄存器5.5. 系统地址寄存器系统地址寄存器6.6. 调试寄存器调试寄存器7.7. 测试寄存器测试寄存器

2.52.5

最小模式下的总线保持最小模式下的总线保持 (( 即总线请求即总线请求 // 响应响应 )) 周周期期2.4.62.4.6最大模式下的总线请求最大模式下的总线请求 //允许周期允许周期2.4.72.4.7

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

通用寄存器通用寄存器

六个六个 1616 位段寄存器如下:位段寄存器如下:段寄存器段寄存器

●● 88 个通用寄存器和个通用寄存器和 80868086 通用寄存器相同,只扩展到通用寄存器相同,只扩展到 3232 位,位,寄存器名字前加一个字符寄存器名字前加一个字符 EE ,即:,即: EAXEAX 、、 EBXEBX 、、 ECXECX 、、 EEDXDX 、、 ESIESI 、、 EBPEBP 、、 ESPESP ,仍然支持,仍然支持 88 位和位和 1616 位操作,用法位操作,用法和和 80868086 系统相同。系统相同。

CSCS 代码段寄存代码段寄存器器 DSDS 数据段寄存器数据段寄存器SSSS 堆栈段寄存器堆栈段寄存器 ESES 、、 FSFS 、、 GSGS 为三个附加段寄存为三个附加段寄存器器

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

段描述符寄存器段描述符寄存器 ●● 6464 位的段描述符寄存器对程序员是不可见的。为了加快对内存位的段描述符寄存器对程序员是不可见的。为了加快对内存中描述符表的查询速度,在段选择符内容装入时,段描述符同时装入中描述符表的查询速度,在段选择符内容装入时,段描述符同时装入段描述符寄存器。段描述符寄存器。

状态和控制寄存器状态和控制寄存器

标识寄存器标识寄存器 EFLAGSEFLAGS指令指针寄存器指令指针寄存器 EIPEIP四个控制寄存器四个控制寄存器 CRCR00~CR~CR33

它由它由

组成组成

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

系统地址寄存器系统地址寄存器

●● 80386 80386 为调试提供了硬件支持。为调试提供了硬件支持。芯片内设有芯片内设有 DRDR00~DR~DR77八个调试寄存器。八个调试寄存器。

●● 80386 80386 有四个系统地址寄存器有四个系统地址寄存器GDTR IDTR TR LDTRGDTR IDTR TR LDTR

调试寄存器调试寄存器

测试寄存器测试寄存器●● 80386 80386 有 有 8 8 个 个 32 32 位的测试寄存器。位的测试寄存器。

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

8038680386 的存储管理与保护功的存储管理与保护功能能1.1. 逻辑地址与段选择符逻辑地址与段选择符

段描述符指针段描述符指针 TT22 RPLRPL

图图 2-26 2-26 段选择符的格式段选择符的格式

2 1 2 1 00

2.2. 段描述符的格式及保护功能段描述符的格式及保护功能 3.3. 分页存储管理及保护 分页存储管理及保护

2.5.32.5.380386 80386 的地址转的地址转换换2.5.22.5.2

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

图 图 2-27 2-27 段描述符段描述符

段基地址 段基地址 15…015…0 段限段限 15…015…0

基地址 基地址 31…2431…24 GG DD 00 00 段限段限 119…169…16 PP SS AA 基地址 基地址 22

3…163…16DPLDPL 类型类型

3131 00

00

+4+4

字节地址字节地址

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

图 图 2-28 2-28 页目录描述符和页表描述符格式页目录描述符和页表描述符格式

页表地址指针页表地址指针 AVLAVL 00 00 DD AA 00 00 U/SU/S W/RW/R PP

31 12 11 10 9 8 7 6 5 4 3 2 1 031 12 11 10 9 8 7 6 5 4 3 2 1 0页目录页目录描述符描述符

页框地址页框地址 AVLAVL 00 00 DD AA 00 00 U/SU/S W/RW/R PP

31 12 11 10 9 8 7 6 5 4 3 2 1 031 12 11 10 9 8 7 6 5 4 3 2 1 0

页 表页 表描述符描述符

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

(( 11 )总线接口部件)总线接口部件(( 22 )指令预取部件)指令预取部件 ----- ----- 它负责从存储器取出指令,有一个能容纳它负责从存储器取出指令,有一个能容纳 1616 字节的指令队列。字节的指令队列。(( 33 )指令译码部件)指令译码部件 ----- ----- 从预取部件中取出指令,进行译码。从预取部件中取出指令,进行译码。

1.1. 指令流水线指令流水线2.5.42.5.4 80386 80386 的流水线结构的流水线结构

2. 2. 执行部件执行部件

3.3. 地址流水线地址流水线 ●● 执行部件由包括控制在内的控制部件、寄存器、算术逻辑运算部件执行部件由包括控制在内的控制部件、寄存器、算术逻辑运算部件和对存储保护功能进行测试的测试部件组成。和对存储保护功能进行测试的测试部件组成。

●● 地址流水线由分段部件、分页部件和与指令流水线共享的地址流水线由分段部件、分页部件和与指令流水线共享的总线接口部件组成。总线接口部件组成。

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

8048680486 微处理器微处理器2.6.1 80486 2.6.1 80486 微处理器的特点微处理器的特点1.1. 兼容性。兼容性。2.2. 全全 3232 位的整数处理器。位的整数处理器。3.3. 独立的独立的 3232 位地址、数据总线,可直接寻址位地址、数据总线,可直接寻址 4GB4GB 的物理地址空间。的物理地址空间。4.4. 单时钟周期执行。单时钟周期执行。5.5. 片上浮点处理单元支持片上浮点处理单元支持 3232 位、位、 6464 位和位和 8080 位的浮点运算,在二进制位的浮点运算,在二进制上与上与 80878087 、、 8028780287 、、 8038780387 兼容。兼容。6.6. 片上存储管理单元。片上存储管理单元。

2.62.6

7. 7. 带有高速缓存支持系统的片上高速缓存。带有高速缓存支持系统的片上高速缓存。8. 8. 外部外部 CACHECACHE 控制。控制。9.9. 指令流水线。指令流水线。10.10. 成组周期(成组周期( Burst CycleBurst Cycle )。)。11.11. 写缓冲器。写缓冲器。12.12. 总线背关(总线背关( Bus BackoffBus Backoff )。)。13.13. 指令重新执行。指令重新执行。14.14. 总线宽度动态可变。总线宽度动态可变。

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

8048680486 微处理器的内部结微处理器的内部结构构

图图 2-31 804862-31 80486 的内部流水线的内部流水线

2.6.22.6.2

取指取指11 阶段译阶段译码码 22 阶段译阶段译码码 执行执行 寄存器写回寄存器写回

CLKCLK

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

总线接口单元总线接口单元●● 总线接口单元用于数据传输、指令预取和处理其内部单元总线接口单元用于数据传输、指令预取和处理其内部单元与外部系统的控制功能。与外部系统的控制功能。1.1. 地址收发和驱动。地址收发和驱动。2.2. 数据总线收发。数据总线收发。3.3. 总线宽度控制。总线宽度控制。4.4. 写缓冲。写缓冲。5.5. 总线周期和总线控制。总线周期和总线控制。6.6. 奇偶性的产生和控制。奇偶性的产生和控制。7.7. CACHE CACHE 控制。控制。

2.2.

3.3. 指令预取单元指令预取单元4.4. 高速缓冲(高速缓冲( CACHECACHE )单元)单元5. 5. 指令译码单元指令译码单元6.6. 控制单元控制单元7.7. 整数(数据通路)单元整数(数据通路)单元8.8.浮点单元浮点单元9.9. 分段单元分段单元10.10. 分页单元分页单元

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

PentiumPentium 微处理器微处理器2.7.1 Pentium2.7.1 Pentium 体系结构的特体系结构的特点点

●● 单靠增加芯片的集成度还不足以提高单靠增加芯片的集成度还不足以提高 CPUCPU 的整体性能。为的整体性能。为此,此, IntelIntel 在在 PentiumPentium 的设计中采用了新的体系结构。图的设计中采用了新的体系结构。图 2-322-32

PentiumPentium新型体系结构的特点可以归纳为以下四个方面新型体系结构的特点可以归纳为以下四个方面 ::

1.1. 超标量流水线超标量流水线2.2. 独立的指令独立的指令 CACHE CACHE 和数据和数据 CACHECACHE3.3. 重新设计的浮点单元重新设计的浮点单元4.4. 分支预测分支预测

2.72.7

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

超标量流水线超标量流水线

图图 2-33 Pentium 2-33 Pentium 超标量流水线结构超标量流水线结构

UU

流流水水线线

VV

流流水水线线

U U 或 或 V V 流水线流水线

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

独立的指令独立的指令 CACHE CACHE 和数据和数据 CACHECACHE

图 图 2-34 2-34 双路双路 CACHECACHE 结结构构

32B32B 线线宽宽有回写有回写

取指令取指令 U U 流水线数据流水线数据 V V 流水线数据流水线数据TLBTLB

数据 数据 CACHE CACHE 8 KB8 KB

指令 指令 CACHE CACHE 8 KB8 KB

32B32B 线线宽宽有回写有回写

TLBTLB

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

重新设计的浮点单元重新设计的浮点单元指令指令 CACHECACHE

指令预取指令预取

指令解码指令解码BTBBTB

图 图 2-35 Pentium 2-35 Pentium 的 的 BTB BTB 机机制制

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

相对相对 486486体系结构的增强体系结构的增强点点●● 除了以上几个特点外,除了以上几个特点外, PentiumPentium 微处理器在微处理器在 486486 体系结构体系结构基础上,还作了一些增强型的改进,归结为以下几点:基础上,还作了一些增强型的改进,归结为以下几点:

1.1. 工作频率提高工作频率提高2.2. 指令固化指令固化3.3. 页尺寸增加页尺寸增加4.4. 增强的微指令增强的微指令5.5. 增强的总线增强的总线

2.7.22.7.2

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

小结小结11

2.1.1 8086 CPU 2.1.1 8086 CPU 的结构的结构

2.1.2 8086CPU2.1.2 8086CPU 引脚的功能引脚的功能

2.1 80862.1 8086 微处理器微处理器

2.3.1 2.3.1 最小模式和最大模式的概念最小模式和最大模式的概念2.2.2 80862.2.2 8086 系统的系统的 I/OI/O 组织组织

●● 执行部件(执行部件( EUEU ))●● 总线接口部件(总线接口部件( BIBIUU ))●● 80868086 总线周期总线周期●● 8086CPU8086CPU 的引脚及功能的引脚及功能

2.2 80862.2 8086 系统的存储器及系统的存储器及 I/OI/O 组织组织2.2.1 80862.2.1 8086 系统的存储器的结构系统的存储器的结构

2.3 80862.3 8086 系统配置系统配置

2.3.2 2.3.2 最小模式系统最小模式系统2.3.3 2.3.3 最大模式系统最大模式系统

2.4 8086CPU2.4 8086CPU 的操作时序的操作时序2.4.1 8086 CPU2.4.1 8086 CPU 的复位操作时序的复位操作时序2.4.1 2.4.1 最小模式下的总线读周期最小模式下的总线读周期2.4.2 2.4.2 最小模式下的总线写周期最小模式下的总线写周期2.4.3 2.4.3 最大模式下的总线读周期最大模式下的总线读周期2.4.3 2.4.3 最大模式下的总线写周期最大模式下的总线写周期

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

小结小结22 2.4.4 2.4.4 最小模式下的总线保持最小模式下的总线保持 ((即总线请求即总线请求 // 响应响应 ))周期周期

2.4.5 2.4.5 最大模式下的总线请求最大模式下的总线请求 //允许周期允许周期2.5 80386 2.5 80386 微处理器微处理器

2.5.1 2.5.1 寄存器组寄存器组2.5.2 80386 2.5.2 80386 的地址转换的地址转换2.5.3 803862.5.3 80386 的存储管理与保护功能的存储管理与保护功能2.5.4 80386 2.5.4 80386 的流水线结构的流水线结构

2.6 804862.6 80486 微处理器微处理器2.6.1 80486 2.6.1 80486 微处理器的特点微处理器的特点2.6.2 804862.6.2 80486 微处理器的内部结构微处理器的内部结构

2.7 Pentium2.7 Pentium 微处理器微处理器2.7.1 Pentium2.7.1 Pentium 体系结构的特点体系结构的特点2.7.2 2.7.2 相对相对 486486 体系结构的增强点体系结构的增强点


Recommended