80X86微处理器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DEN *
T1
T2
T3
S2 ~ S0 A19~A16
地址输出 高电平
S7~/S3 数据输出
T4
无源状态
浮空
2.1 8086/8088内部结构
3. 最小模式下的总线保持
利用HOLD和HLDA信号实现总线保持
2.3 80X86的中断系统
2.3.1 中断操作和中断系统 1、中断的基本概念
计算机在正常执行程序的过程中,由于某事件的发生使CPU暂 时停止当前程序的执行,而转去执行相关事件的处理程序,结 束后又返回原程序继续执行,这样的一个过程就是中断。 中断最初的目的是为了解决高速CPU与低速外设之间的速度矛 盾。实际上,中断的功能远远超出了预期的设计,被广泛地应 用在分时操作、实时处理、人机交互、多机系统等方面,中断 技术大大地提高了CPU的工作效率。
S2 ) S1 ) S0 ) QS1)
INTA( QS0)
TEST READY
RESET
GND A14 A13 A12 A11 A10 A9 A8
AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND
1
40
2
39
3
38
4
37
5
Hale Waihona Puke Baidu36
6
35
7
34
8
33
9 8088 32 10 CPU 31
(4)指令周期:就是计算机完成对一条指令的读取并执行这 一系列步骤所需要的时间。
一个指令周期包含一个或几个总线周期。
时钟周期 (T状态)
总线周期
总线周期
总线周期
M1(Machine Cycle) (取指)
M2(读存储器)
指令周期
M3(写存储器)
例如,执行一条8位寄存器乘法(MUL),这是一条两字节指
DEN
T1
T2
T3
(1~n)TW
T4
高为读内存 地址输出 BHE 输出 地址输出
低为读 I/O 状态输出
数据输出
2.1 8086/8088内部结构
(3) 最大模式下的总线读操作
T1
T2
T3
CLK
S ~S
2
0
A19/S6~A16/S3
BHE / S7
AD0~AD15
S2 ~ S0 A19~A16
地址输出
OF DF IF TF SF ZF
AF
PF
CF
根据功能,8086的标志可以分为两类: 1.状态标志 2.控制标志
2.1 8086/8088内部结构
状态标志有6个,即SF、ZF、PF、CF、AF和OF ① 符号标志SF(sign flag ) ② 零标志ZF(zero flag) ③ 奇偶标志PF(parity flag) ④ 进位标志CF(carry flag) ⑤ 辅助进位标志AF(auxiliary carry flag) ⑥ 溢出标志OF(overflow flag) 控制标志有3个,即 ① 方向标志DF(direction flag) ② 中断允许标志IF(interrupt enable flag) ③ 跟踪标志TF(trap flag)又称为单步标志
–4个通用寄存器,即AX、BX、CX、DX –4个专用寄存器,即
• 基数指针寄存器BP(base pointer) • 堆栈指针寄存器SP(stack pointer) • 源变址寄存器SI(source index) • 目的变址寄存器DI(destination index); ④EU控制单元
2.1 8086/8088内部结构
S7~/S3
ALE*
MRDC *或IORC*
DT/R *
T4 无源状态 数据输入
浮空
DEN*
2.1 8086/8088内部结构
(4) 最大模式下的总线写操作
CLK
S2 ~ S0 A19/S6~A16/S3
BHE / S7 AD0~AD15
DT/R
ALE*
AMWC *或 AIOWC* MWTC * 或 IOWC *
8282×3
地址总线
DT/R DEN
数据 收发器 8286×2
数据总线
8086系统 总线信号
2.1 8086/8088内部结构
2.1.5 总线操作和时序
8086的主要操作: ① 系统的复位和启动操作; ② 暂停操作; ③ 总线操作; ④ 中断操作; ⑤ 最小模式下的总线保持; ⑥ 最大模式下的总线请求/允许。
2.1 8086/8088内部结构
1. 系统的复位和启动操作
CLK
RESET输入 内部RESET
三态门 输出信号
2.1 8086/8088内部结构
复位时各内部寄存器的值
寄存器 标志寄存器 指令指针(IP) CS寄存器 DS寄存器 SS寄存器 ES寄存器 指令队列 其它寄存器
值 清零 0000H FFFFH 0000H 0000H 0000H 空 0000H
(1)时钟周期:是CPU的基本时间计量单位,它由计算机主 频决定。8086主频是5MHz,一个时钟周期就是200ns。
(2)总线周期:BIU完成一次访问存储器操作所需要的时间 称作一个总线周期。一个最基本的总线周期由4个时钟周 期组成,习惯上称4个状态,即T1,T2,T3,T4状态。只有在 CPU和内存或I/O端口之间传递数据以及取指令时,CPU才 执行总线周期。
BX基数 CX计数
数据 寄存器
DX数据
通
用
堆栈
指针
寄 存
基数
寄存器
器
源变址 变址 目的变址 寄存器
CS
代码段
DS
数据段
段寄存器
SS
堆栈段
ES
附加数据段
IP FLAGS
指令指针 状态标志
2.1 8086/8088内部结构
• 标志寄存器共有16位,其中7位未用,所用的 各位含义如下:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RQ / GT0 ) RQ / GT1 )
LOCK ) S2 )
S1 ) S0 ) QS1) QS0)
TEST READY
RESET
区别:
• 8088的外部数据总线8条,分时复用AD7~AD0, A15~A8专门用来传送地址
• 第28号引脚在8086中是 M / IO ,在8088中改为 IO / M ,定义相反。
第2章 80X86微处理器
本章主要内容
• 80X86内部结构与内部寄存器组 • 80X86的引脚信号 • 80X86系统总线的构成 • 80486的工作方式 • 80X86的中断系统 • Pentium的主要特点
2.1 8086/8088内部结构
2.1.1 8086/8088 内部结构 从功能上,8086分为两部分,即 1.总线接口部件(bus interface unit,BIU)
• 第34号引脚在8086中是 BHE ,在8088中改为SS0
2.1 8086/8088内部结构
• 最小模式和最大模式的概念
(1)最小模式:在系统中只有一个微处理器。 (2)最大模式:两个或多个微处理器(主处理器、协处理器) 注意点: ① 8086/8088的数据线和地址线复用 ② 8086有16根数据线 ③ 第21脚(RESET)为输入复位信号 ④ 第22引脚为“准备好”(READY)信号 ⑤ 高4位地址和状态线复用
0
2.1 8086/8088内部结构
2.1.2 内部寄存器组
1、通用寄存器 ① 数据寄存器 : AX、BX、CX、DX ② 变址和指针寄存器 : SP、BP、SI、DI
2、段寄存器 CS、DS、SS、ES 3、状态标志寄存器FLAGS
AH
AL
BH
BL
CH
CL
DH
DL
SP BP SI DI
AX累加器
2.1 8086/8088内部结构
各引脚信号: ① GND、VCC ② AD15~AD0 ③ A19/S6~A16/S3 ④ BHE#/S7 ⑤ NMI ⑥ INTR ⑦ RD# ⑧ CLK ⑨ RESET ⑩ READY ⑾ TEST# ⑿ MN/MX#
地和电源 地址/数据复用 地址/状态复用 高8位数据总线允许/状态复用 非屏蔽中断输入 可屏蔽中断请求信号输入 读信号输出 时钟输入 复位信号输入 “准备好”信号输入 测试信号输入 最小和最大模式控制输入
2.1 8086/8088内部结构
2.1.3 引脚信号及功能
GND AD14
AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI
INTR CLK
GND
1
40
2
39
3
38
4
37
5
36
6
35
7
34
8
33
9 8086 32 10 CPU 31
11
30
12
29
13
28
14
27
15
26
16
25
17
24
18
23
19
22
20
21
Vcc(+5V)
A15 A16/S3 A17/S4
A18/S5
A19/S6 SS0 ( HIGH) MN / MX
RD HOLD ( HLDA (
WR (
IO / M (
DT / R (
DEN ( ALE ( INTA (
11
30
12
29
13
28
14
27
15
26
16
25
17
24
18
23
19
22
20
21
Vcc(+5V)
AD15 A16/S3
A17/S4
A18/S5 A19/S6
BHE /S7 MN / MX
RD
HOLD(
RQ / GT0 )
HLDA(
RQ / GT1 )
WR (
LOCK )
M / IO ( DT / R( DEN ( ALE(
ALE RD DT/R DEN
T1
T2
T3
(1~n)TW
T4
高为读内存 地址输出
低为读 I/O 状态输出
BHE 输出 地址输出
数据输入
2.1 8086/8088内部结构
(2) 最小方式下的总线写操作
CLK M/IO A19/S6~A16/S3
BHE / S7 AD0~AD15
ALE
WR DT / R
2. 总线接口部件BIU
总线接口部件负责与存储器、I/O端口传送数据 ,由下列3部 分组成:
① 指令队列缓冲器
段基值
0000
② 16位的指令指针寄存器 (IP Instruction Pointer)
15
偏移地址
0
4个段地址寄存器
(CS、DS、ES、SS)
加法器
③ 20位的地址加法器,如右图
19
物理地址
地址总线
数据 收发器 8286×2
数据总线
8086 系统 总线信号
2.1 8086/8088内部结构
2、8086在最大模式下的典型配置
时钟 发生器 8284
MN/MX CLK
S2
S2
S1
S1 8288
S0
S0
DT/R
控制总线
8086 CPU
A19 - A16 ALE
AD15~0
BHE
地址 STB 锁存器
2.1 8086/8088内部结构
典型的8086总线周期序列:
•T1状态,发地址信息 •T2状态,总线的高4位输出状态信息 •T3状态,高4位 状态信息,低16位数据。
T3之后,可能插入TW •T4状态,结束。
2.1 8086/8088内部结构
(3)空闲周期:如果在一个总线周期之后,不立即执行下一 个总线周期,则系统总线就处于空闲状态,此时执行空闲 周期Ti。
2.执行部件(execution unit,EU)
2.1 8086/8088内部结构
AH AL BH BL CH CL DH DL
SP BP DI SI
ALU数据总线(16位)
地址总线20位 地址加法器
数据总线
16位 CS
DS SS
ES IP 内部通讯 寄存器
总 线 控 8086 制 逻 总线 辑
令,大约需70-77个时钟周期的执行时间。
2.1 8086/8088内部结构
1、8086在最小模式下的典型配置
时钟 发生器 8284
CLK
MN/MX M/IO
8086 CPU
RD WR
A19~A16 ALE AD15~0
BHE
DT/R DEN
VCC
M/IO
RD WR 地址 STB 锁存器
8282×3
最大模式下的引脚
引脚信号: ① QS1、QS0 ② S2#、S1#、S0# ③ LOCK#(lock) ④ RQ#/GT1#、RQ#/GT0#
权信号输出
指令队列状态信号输出 总线周期状态信号输出 总线封锁信号输出 总线请求信号输入、总线授
2.1 8086/8088内部结构
2.1.4工作模式
1、几个基本概念
暂存寄存器 ALU
状态标志寄存器
EU 控制单元
指令队列 123456
执行部件EU
总线接口部件BIU
2.1 8086/8088内部结构
1.执行部件 EU
执行部件负责指令的执行 ,由下列4部分组成: ①算术逻辑部件ALU(arithmetic logic unit)。
–标志寄存器 ② 暂存寄存器 ③ 通用寄存器组
2.1 8086/8088内部结构
2. 总线操作
(1) 最小方式下的总线读操作 (2) 最小方式下的总线写操作 (3) 最大模式下的总线读操作 (4) 最大模式下的总线写操作
2.1 8086/8088内部结构
(1) 最小方式下的总线读操作
CLK M/IO A19/S6~A16/S3 BHE / S7 AD0~AD15
2.1 8086/8088内部结构
最小模式下的引脚
引脚信号: ① INTA#
中断响应信号输出
② ALE ③ DEN#
地址锁存允许信号输出 数据允许信号
④ DT/R# ⑤ M/IO# ⑥ WR#
数据收发信号输出 存储器/输入输出控制信号输出 写信号输出
⑦ HOLD ⑧ HLDA
总线保持请求信号输入 总线保持响应信号输出
T1
T2
T3
S2 ~ S0 A19~A16
地址输出 高电平
S7~/S3 数据输出
T4
无源状态
浮空
2.1 8086/8088内部结构
3. 最小模式下的总线保持
利用HOLD和HLDA信号实现总线保持
2.3 80X86的中断系统
2.3.1 中断操作和中断系统 1、中断的基本概念
计算机在正常执行程序的过程中,由于某事件的发生使CPU暂 时停止当前程序的执行,而转去执行相关事件的处理程序,结 束后又返回原程序继续执行,这样的一个过程就是中断。 中断最初的目的是为了解决高速CPU与低速外设之间的速度矛 盾。实际上,中断的功能远远超出了预期的设计,被广泛地应 用在分时操作、实时处理、人机交互、多机系统等方面,中断 技术大大地提高了CPU的工作效率。
S2 ) S1 ) S0 ) QS1)
INTA( QS0)
TEST READY
RESET
GND A14 A13 A12 A11 A10 A9 A8
AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND
1
40
2
39
3
38
4
37
5
Hale Waihona Puke Baidu36
6
35
7
34
8
33
9 8088 32 10 CPU 31
(4)指令周期:就是计算机完成对一条指令的读取并执行这 一系列步骤所需要的时间。
一个指令周期包含一个或几个总线周期。
时钟周期 (T状态)
总线周期
总线周期
总线周期
M1(Machine Cycle) (取指)
M2(读存储器)
指令周期
M3(写存储器)
例如,执行一条8位寄存器乘法(MUL),这是一条两字节指
DEN
T1
T2
T3
(1~n)TW
T4
高为读内存 地址输出 BHE 输出 地址输出
低为读 I/O 状态输出
数据输出
2.1 8086/8088内部结构
(3) 最大模式下的总线读操作
T1
T2
T3
CLK
S ~S
2
0
A19/S6~A16/S3
BHE / S7
AD0~AD15
S2 ~ S0 A19~A16
地址输出
OF DF IF TF SF ZF
AF
PF
CF
根据功能,8086的标志可以分为两类: 1.状态标志 2.控制标志
2.1 8086/8088内部结构
状态标志有6个,即SF、ZF、PF、CF、AF和OF ① 符号标志SF(sign flag ) ② 零标志ZF(zero flag) ③ 奇偶标志PF(parity flag) ④ 进位标志CF(carry flag) ⑤ 辅助进位标志AF(auxiliary carry flag) ⑥ 溢出标志OF(overflow flag) 控制标志有3个,即 ① 方向标志DF(direction flag) ② 中断允许标志IF(interrupt enable flag) ③ 跟踪标志TF(trap flag)又称为单步标志
–4个通用寄存器,即AX、BX、CX、DX –4个专用寄存器,即
• 基数指针寄存器BP(base pointer) • 堆栈指针寄存器SP(stack pointer) • 源变址寄存器SI(source index) • 目的变址寄存器DI(destination index); ④EU控制单元
2.1 8086/8088内部结构
S7~/S3
ALE*
MRDC *或IORC*
DT/R *
T4 无源状态 数据输入
浮空
DEN*
2.1 8086/8088内部结构
(4) 最大模式下的总线写操作
CLK
S2 ~ S0 A19/S6~A16/S3
BHE / S7 AD0~AD15
DT/R
ALE*
AMWC *或 AIOWC* MWTC * 或 IOWC *
8282×3
地址总线
DT/R DEN
数据 收发器 8286×2
数据总线
8086系统 总线信号
2.1 8086/8088内部结构
2.1.5 总线操作和时序
8086的主要操作: ① 系统的复位和启动操作; ② 暂停操作; ③ 总线操作; ④ 中断操作; ⑤ 最小模式下的总线保持; ⑥ 最大模式下的总线请求/允许。
2.1 8086/8088内部结构
1. 系统的复位和启动操作
CLK
RESET输入 内部RESET
三态门 输出信号
2.1 8086/8088内部结构
复位时各内部寄存器的值
寄存器 标志寄存器 指令指针(IP) CS寄存器 DS寄存器 SS寄存器 ES寄存器 指令队列 其它寄存器
值 清零 0000H FFFFH 0000H 0000H 0000H 空 0000H
(1)时钟周期:是CPU的基本时间计量单位,它由计算机主 频决定。8086主频是5MHz,一个时钟周期就是200ns。
(2)总线周期:BIU完成一次访问存储器操作所需要的时间 称作一个总线周期。一个最基本的总线周期由4个时钟周 期组成,习惯上称4个状态,即T1,T2,T3,T4状态。只有在 CPU和内存或I/O端口之间传递数据以及取指令时,CPU才 执行总线周期。
BX基数 CX计数
数据 寄存器
DX数据
通
用
堆栈
指针
寄 存
基数
寄存器
器
源变址 变址 目的变址 寄存器
CS
代码段
DS
数据段
段寄存器
SS
堆栈段
ES
附加数据段
IP FLAGS
指令指针 状态标志
2.1 8086/8088内部结构
• 标志寄存器共有16位,其中7位未用,所用的 各位含义如下:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RQ / GT0 ) RQ / GT1 )
LOCK ) S2 )
S1 ) S0 ) QS1) QS0)
TEST READY
RESET
区别:
• 8088的外部数据总线8条,分时复用AD7~AD0, A15~A8专门用来传送地址
• 第28号引脚在8086中是 M / IO ,在8088中改为 IO / M ,定义相反。
第2章 80X86微处理器
本章主要内容
• 80X86内部结构与内部寄存器组 • 80X86的引脚信号 • 80X86系统总线的构成 • 80486的工作方式 • 80X86的中断系统 • Pentium的主要特点
2.1 8086/8088内部结构
2.1.1 8086/8088 内部结构 从功能上,8086分为两部分,即 1.总线接口部件(bus interface unit,BIU)
• 第34号引脚在8086中是 BHE ,在8088中改为SS0
2.1 8086/8088内部结构
• 最小模式和最大模式的概念
(1)最小模式:在系统中只有一个微处理器。 (2)最大模式:两个或多个微处理器(主处理器、协处理器) 注意点: ① 8086/8088的数据线和地址线复用 ② 8086有16根数据线 ③ 第21脚(RESET)为输入复位信号 ④ 第22引脚为“准备好”(READY)信号 ⑤ 高4位地址和状态线复用
0
2.1 8086/8088内部结构
2.1.2 内部寄存器组
1、通用寄存器 ① 数据寄存器 : AX、BX、CX、DX ② 变址和指针寄存器 : SP、BP、SI、DI
2、段寄存器 CS、DS、SS、ES 3、状态标志寄存器FLAGS
AH
AL
BH
BL
CH
CL
DH
DL
SP BP SI DI
AX累加器
2.1 8086/8088内部结构
各引脚信号: ① GND、VCC ② AD15~AD0 ③ A19/S6~A16/S3 ④ BHE#/S7 ⑤ NMI ⑥ INTR ⑦ RD# ⑧ CLK ⑨ RESET ⑩ READY ⑾ TEST# ⑿ MN/MX#
地和电源 地址/数据复用 地址/状态复用 高8位数据总线允许/状态复用 非屏蔽中断输入 可屏蔽中断请求信号输入 读信号输出 时钟输入 复位信号输入 “准备好”信号输入 测试信号输入 最小和最大模式控制输入
2.1 8086/8088内部结构
2.1.3 引脚信号及功能
GND AD14
AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI
INTR CLK
GND
1
40
2
39
3
38
4
37
5
36
6
35
7
34
8
33
9 8086 32 10 CPU 31
11
30
12
29
13
28
14
27
15
26
16
25
17
24
18
23
19
22
20
21
Vcc(+5V)
A15 A16/S3 A17/S4
A18/S5
A19/S6 SS0 ( HIGH) MN / MX
RD HOLD ( HLDA (
WR (
IO / M (
DT / R (
DEN ( ALE ( INTA (
11
30
12
29
13
28
14
27
15
26
16
25
17
24
18
23
19
22
20
21
Vcc(+5V)
AD15 A16/S3
A17/S4
A18/S5 A19/S6
BHE /S7 MN / MX
RD
HOLD(
RQ / GT0 )
HLDA(
RQ / GT1 )
WR (
LOCK )
M / IO ( DT / R( DEN ( ALE(
ALE RD DT/R DEN
T1
T2
T3
(1~n)TW
T4
高为读内存 地址输出
低为读 I/O 状态输出
BHE 输出 地址输出
数据输入
2.1 8086/8088内部结构
(2) 最小方式下的总线写操作
CLK M/IO A19/S6~A16/S3
BHE / S7 AD0~AD15
ALE
WR DT / R
2. 总线接口部件BIU
总线接口部件负责与存储器、I/O端口传送数据 ,由下列3部 分组成:
① 指令队列缓冲器
段基值
0000
② 16位的指令指针寄存器 (IP Instruction Pointer)
15
偏移地址
0
4个段地址寄存器
(CS、DS、ES、SS)
加法器
③ 20位的地址加法器,如右图
19
物理地址
地址总线
数据 收发器 8286×2
数据总线
8086 系统 总线信号
2.1 8086/8088内部结构
2、8086在最大模式下的典型配置
时钟 发生器 8284
MN/MX CLK
S2
S2
S1
S1 8288
S0
S0
DT/R
控制总线
8086 CPU
A19 - A16 ALE
AD15~0
BHE
地址 STB 锁存器
2.1 8086/8088内部结构
典型的8086总线周期序列:
•T1状态,发地址信息 •T2状态,总线的高4位输出状态信息 •T3状态,高4位 状态信息,低16位数据。
T3之后,可能插入TW •T4状态,结束。
2.1 8086/8088内部结构
(3)空闲周期:如果在一个总线周期之后,不立即执行下一 个总线周期,则系统总线就处于空闲状态,此时执行空闲 周期Ti。
2.执行部件(execution unit,EU)
2.1 8086/8088内部结构
AH AL BH BL CH CL DH DL
SP BP DI SI
ALU数据总线(16位)
地址总线20位 地址加法器
数据总线
16位 CS
DS SS
ES IP 内部通讯 寄存器
总 线 控 8086 制 逻 总线 辑
令,大约需70-77个时钟周期的执行时间。
2.1 8086/8088内部结构
1、8086在最小模式下的典型配置
时钟 发生器 8284
CLK
MN/MX M/IO
8086 CPU
RD WR
A19~A16 ALE AD15~0
BHE
DT/R DEN
VCC
M/IO
RD WR 地址 STB 锁存器
8282×3
最大模式下的引脚
引脚信号: ① QS1、QS0 ② S2#、S1#、S0# ③ LOCK#(lock) ④ RQ#/GT1#、RQ#/GT0#
权信号输出
指令队列状态信号输出 总线周期状态信号输出 总线封锁信号输出 总线请求信号输入、总线授
2.1 8086/8088内部结构
2.1.4工作模式
1、几个基本概念
暂存寄存器 ALU
状态标志寄存器
EU 控制单元
指令队列 123456
执行部件EU
总线接口部件BIU
2.1 8086/8088内部结构
1.执行部件 EU
执行部件负责指令的执行 ,由下列4部分组成: ①算术逻辑部件ALU(arithmetic logic unit)。
–标志寄存器 ② 暂存寄存器 ③ 通用寄存器组
2.1 8086/8088内部结构
2. 总线操作
(1) 最小方式下的总线读操作 (2) 最小方式下的总线写操作 (3) 最大模式下的总线读操作 (4) 最大模式下的总线写操作
2.1 8086/8088内部结构
(1) 最小方式下的总线读操作
CLK M/IO A19/S6~A16/S3 BHE / S7 AD0~AD15
2.1 8086/8088内部结构
最小模式下的引脚
引脚信号: ① INTA#
中断响应信号输出
② ALE ③ DEN#
地址锁存允许信号输出 数据允许信号
④ DT/R# ⑤ M/IO# ⑥ WR#
数据收发信号输出 存储器/输入输出控制信号输出 写信号输出
⑦ HOLD ⑧ HLDA
总线保持请求信号输入 总线保持响应信号输出