第 2 章 80x86微处理器及其体系结构教 案作者:李芷
2003.5.10
《微机原理与接口技术》
第 2章 80x86微处理器及其体系结构
2.1 8086/8088微处理器
2.2 80x86高档微处理器
2.3 80x86中断系统
2.1 8086/8088微处理器
2.1.1 8086/8088微处理器结构
8086/8088微机系统结构
2.1.2 8086/8088最小模式系统组成
2.1.3 8086/8088最大模式系统组成
2.1.1 8086/8088微处理器
1,8086/8088的编程结构
8086/8088由两个独立的工作部件,执行部件 EU
( Execution Unit) 和 总线接口部件 BIU( Bus
Interface Unit) 构成 。 ( 编程结构示意图 )
EU = ALU+ 执行 CU+ R 阵列负责指令的译码和执行
BIU = 指令队列 +地址 ∑+ R 阵列 + 总线 CU
负责与存储器或者 I/O接口传送信息
BIU 和 EU 采用,流水线式,的非同步工作模式,使得总线控制逻辑和指令执行逻辑之间既互相独立又互相配合 。
8086/8088编程结构示意图状态标志寄存器
ALU
暂存寄存器
16
执行部件 ( EU)
EU
控制器
ALU数据总线
8
AH AL
BH BL
CH CL
DH DL
SP
BP
DI
SI
AX
BX
CX
DX
外部总线总线接口部件 ( BIU)
16
总线控制 逻辑指令队列地址加法器
20
CS
DS
ES
SS
IP
内部通信寄存器
2.1.1 8086/8088微处理器
2,8086/8088的总线周期
◆ 8086/8088通过 BIU完成的一次总线操作,称作一个总线周期 。 一个总线周期由若干个时钟周期 ( T) 组成 。
◆ 8086/8088的基本总线周期是由 T1,T2,T3,T4表示的 4个时钟周期组成 。
总线读 /写操作的基本总线周期时序是:在 T1状态,输出读 /写对象的地址,在 T2~T3状态,数据总线传送数据,在 T4状态,表示读 /写结束 。
◆ TW状态:当不能用基本总线周期完成读 /写操作时,系统中的,Ready”电路会产生 READY信号 。 当 CPU在 T3状态的下降沿检测到 READY无效信号,表示数据传送未完成,在 T3之后插入 1~n个等待周期 TW。 当 CPU检测到 READY有效信号,会自动脱离 TW而进入 T4状态 。 基本总线周期中插入 TW状态实际上是快速 CPU对慢速存储器或 I/O设备的一种等待 。
◆ TI状态:当 8086/8088的不需要执行总线操作时,BIU执行 1~n个空闲周期
TI,进入总线空闲状态 ( 空操作 ) 。 TI只是指总线操作的空闲,CPU内部仍可进行有效操作 。 因此,在两个总线周期之间插入 TI状态,
实际上是总线接口部件 BIU对执行部件 EU的一种等待 。
2.1.1 8086/8088微处理器
3,8086的引脚及其特性
( 以 8086最小模式为例的主要引脚 )
CLK,系统时钟信号,输入 。
AD15~AD0,地址 /数据复用线,双向,三态 。
A19/S6~A16/S3,地址 /状态复用线,输出,三态 。
BHE/S7,数据线高 8位开放 /状态复用线,输出,三态 。
ALE,地址锁存信号,输出,高电平有效 。
RD,WR,读,写选通信号,输出,低电平有效 。 ( 互斥 )
M/IO,存储器或 I/O选通信号,输出 。
DEN,DT/R,数据允许,数据收 /发信号,输出 。
RESET,READY,TEST,系统控制信号,输入 。
NMI,INTR,INTA,中断请求和中断响应信号,输入 /出 。
HOLD,HLDA,总线请求,总线允许信号,输入 /出 。
8086/8088微机系统结构
8086/8088微机系统硬件结构组成由最小模式,最大模式的不同而有所差异 。 最小 /大模式具有共性的特点:
◆ MN/MX端接 Vcc或 GND,决定是最小模式或最大模式 。
◆ 8284A为时钟发生器,外接 15MHz振荡源,经 8284A三分频后,得到 5MHz主频送系统时钟端 CLK。
◆ 用 3片 8282作地址锁存器,在 T1时 锁存地址 /数据复用线上的 A19~A0地址信号 。
◆ 当系统所连的存储器和外设较多时,需要增加数据总线驱动能力,可选用 1/2片 8286作数据收发器 。
◆ 系统组成还必须有半导体存储器 RAM和 ROM,
外部设备的 I/O接口,中断控制管理部件等组件 。
2.1.2 8086/8088最小模式系统组成
( 8086最小模式总线部件配置示意图)
BHECLK ALE
READY BHE
RESET
A19~A16
AD15~AD0
8086
MN/MX DT/R
DEN
VCC
其它控制总线
STB
8282
锁存器
OE
( 选件 )
D15~D0
8286
收发器
T
OE
A19~A0
8284A
等待状态发生
VCC
2.1.3 8086/8088最大模式系统组成
( 8086最大模式总线部件配置示意图)
8284A
等待状态发生
VCC
CLK S2~S0
READY
RESET
8086
BHE
A19~A16
AD15~AD0
MN/MX
其它控制总线
D15~D0
8286
收发器
T
OE
A19~A0
STB
8282
锁存器
OE
BHE
CLK
8288
DEN
DT/R
ALE
控制总线
2.2 80x86高档微处理器
Intel 80x86微处理器技术指标
2.2.1 80386微处理器的特点
2.2.2 80486微处理器的特点
2.2.3 Pentium微处理器的特点
Intel 80x86微处理器技术指标
8086 8088 80286 80386 80486 Pentium
管脚数 40 40 68 132 168 296
主频 5/8 5/8 8/10 25/33 75/100 133/200
字长 16 16 16 32 32 32
外数据线 16 8 16 32 32 64
外地址线 20 20 24 32 32 36
物理空间 1MB 1MB 16MB 4GB 4GB 4GB
虚拟空间 1GB 64TB 64TB 64TB
高速缓存 外置 内置
8KB
内置
16KB
工作电压 5V 5V 5V 5V 5/3.3V 3.3V
2.2.1 80386微处理器的特点
◆ 80386是典型的第一代 CISC( Complex Instruction Set
Computer复合指令集计算机 ) 体系结构的 32位微处理器 。
◆ 80386的 132条引脚用陶瓷网格阵列封装 ( PGA),具有高可靠性和紧密性 。
◆ 80386采用全 32位结构 。 提供 32位外部数据,地址总线 。
可寻址 4GB物理存储空间,64TB虚存空间 。
◆ 80386按功能划分由六个部件组成:总线接口部件,指令预取部件,指令译码部件,指令执行部件,分段部件和分页部件 。
◆ 80386可配置数值协处理器 80287,80387,以实现高速数值处理 。
◆ 80386具有三种工作方式:实方式,保护方式和虚拟 8086方式 。
2.2.2 80486微处理器的特点
◆ 80486在 Intel 微处理器的历史上首次采用了 RISC
( Reduced Instruction Set Computer—— 精简指令集计算机 ) 技术 。
◆ 80486由八个基本部件组成,总线接口部件,指令预取部件,指令译码部件,执行部件,控制部件,存储管理部件,高速缓存部件和高性能浮点处理部件 。
◆ 80486内部总线有 32,64,128位三种 。 采用了突发总线技术,可以同 RAM 进行高速数据交换 。
◆ 80486配置了指令和数据共用的 8KB高速缓冲存储器 。
◆ 80486芯片内设置了一个数值协处理器,直接具有浮点数据处理能力 。
◆ 80486采用了有助于构成多处理器系统的硬件结构 。
2.2.3 Pentium微处理器的特点
◆ Pentium是属于 CRISP( CISC+RISC) 体系结构,雏形,
的 32位处理器 。
◆ Pentium实现了 0.8μm集成技术 。 装有三种指令处理部件,RISC型 CPU,80386处理部件和浮点处理部件 。
◆ Pentium采用了超标量流水线设计 。 增设了动态转移预测机构,可以预测分支程序的指令流向 。
◆ Pentium的内部和外部工作频率一致 。 内部总线 32位,
外部总线 64位,在一个总线周期内可将数据传输量增加一倍 。
◆ Pentium采用双 Cache结构,两级 Cache达 16KB~24KB,
数据宽度为 32位 。
◆ Pentium的浮点运算部件在执行过程分为八级流水 。
Pentium还改进了指令系统的微程序算法 。
2.3 80x86中断系统
2.3.1 中断系统功能
2.3.2 中断处理过程
2.3.3 80x86中断结构
2.3.1 中断系统功能中断系统是微机不可缺少的组成部分,是实现中断功能的软,硬件的统称 。 微机中断系统功能:
◆ 并行处理能力中断系统可以实现 CPU和多个外设同时工作 。 这样 CPU可以控制多个外设并行工作,大大提高了系统的吞吐率和使用效率 。
◆ 实时处理能力在应用于实时控制时,现场的许多信息是随机的,需要 CPU能迅速响应,
及时处理 。 只有中断系统,才能实现实时处理 。
◆ 故障处理能力在 CPU运行过程中,往往会出现一些故障 ( 例如,电源掉电,存储器读错,运算出错等 ),可以利用中断系统功能,自动转去执行故障处理程序,而不必停机 。
◆ 实现多道程序运行,多机连接
2.3.2 中断处理过程
◆ 中断请求中断源向中断系统发出中断请求信号 。
◆ 中断判优若有多个中断源同时发出中断请求时,中断系统能够识别,并响应中断级别 ( 优先权 ) 最高的中断源 。
◆ 中断响应根据响应的中断 源标识,以某种方式获得中断程序入口地址 。 中断响应后,中断系统将自动完成关中断,保存断点,保存状态寄存器等,然后转去执行 中断程序 。
◆ 中断处理和中断返回中断程序设计一般包括:保护现场,中断服务处理,恢复现场,中断返回 ( 返回指令 IRET) 等环节 。
2.3.3 80x86中断结构
1,向量中断
Intel 80x86的中断系统是典型的,向量中断,系统 。
◆ 中断类型号 —— 80x86最多能管理 256个中断,统一编号为 0~255
( 00H~FFH) 。
◆ 中断向量 —— 中断服务程序的入口地址 ( 段址:偏移址 ) 。
◆ 向量中断 —— 一种中断管理方式 。 中断系统响应中断时,自动从判优逻辑获得优先权最高的中断源的类型号,根据该类型号得到该中断服务程序的入口地址 ( 中断向量 ),然后转到该入口地址去执行中断服务程序 。
◆ 中断向量表 —— 向量中断方式的实现得益于系统中设置的中断向量表 。 80x86系统在内存的最低 1K字节 ( 0段的 0000H~03FFH) 中建立了中断向量表,按中断类型号顺序存放 256个中断向量 。
◆ 中断向量表地址 —— 中断向量在中断向量表中的地址 。 中断向量表地址与中断类型号的关系为:
中断向量表地址 = 中断类型号 × 4
2.3.3 80x86中断结构
2,设置中断向量表的方法
◆ 程序设计如下格式的数据段,
DATA SEGMENT AT 0
ORG N*4
VIN DW NOFFSET,NSEG

DATA ENDS
◆ 借助于 DOS功能调用的 25H号功能,设置中断向量表:
MOV AX,NSEG
MOV DS,AX
MOV DX,NOFFSET
MOV AH,25H
MOV AL,N
INT 21H
◆ 编制设置中断向量的程序段:
MOV AX,0
MOV ES,AX
MOV BX,N*4
MOV AX,OFFSET INT-N
MOV ES,WORD PTR [ BX],AX
MOV AX,SEG INT-N
MOV ES,WORD PTR [ BX+2],AX
2.3.3 80x86中断结构
3,80x86中断分类
80x86中断系统分成 硬件 ( 外部 ) 中断 和 软件 ( 内部 )
中断 两大类 。
软件中断 硬件中断
INTR
NMI
中断指令( INT n 指令)
中断控制逻辑非屏蔽中断请求可屏蔽中断请求软件优先权排队


中断控制器
8259A


专用中断溢出中断断点中断单步中断除法出错
2.3.3 80x86中断结构
4,80x86中断管理过程
INT n?
No
Yes 自动形成中断类型号 n
自动形成中断类型 02号NMI?
No
Yes
自动形成中断 01号 取中断类型号
INTR?
No
Yes
TF=1?
No
Yes
结束当前指令执行下一条指令
IF=1?No Yes
标志 R,CS和 IP压入堆栈,清除 IF和 TF
取中断程序入口 CS,IP
弹出 IP和 CS,弹出标志 R,返回断点执行中断处理程序