1
第 2章 典型微处理器本章主要教学内容
8086微处理器的基本性能指标,组成及其寄存器结构
8086微处理器的外部引脚特性
8086微处理器的存储器和 I/O组织
8086的时钟和总线概念及其最小 /最大工作方式
80X86,Pentium等高档微处理器的组成结构和特点教学目的,使学生掌握 8086微处理器的基本应用教学重点,8086微处理器的组成及其寄存器结构 ; 8086
微处理器的存储器和 I/O组织教学难点,8086微处理器的存储器和 I/O组织
2
2.1 8086微处理器的内部结构
8086微处理器是 Intel系列的 16位微处理器,使用单一的 +5V电源,40条引脚双列直插式封装,时钟频率为 5MHz~10MHz,基本指令执行时间为
0.3ms~0.6ms。有 16根数据线和 20根地址线,可寻址的地址空间达 1MB( 220B)。
2.1.1 8086微处理器内部组成结构
Intel 8086微处理器从功能上可以划分为两个逻辑单元,即执行部件 EU( Execution Unit) 和总线接口部件 BIU( Bus Interface Unit),其内部组成结构如图 2-1所示 。
3
8086CPU的内部结构框图
8086CPU(Center Processing Unit)从功能上可分为两部分
执行部件 EU( Execution Unit)
总线接口部件 (Bus Interface Unit)
其内部结构如 图 2-1所示
4图 4-1 8086CPU的内部结构框图总线接口部件 BIU
执行部件 EU
执行部分控制电路输入 /输出控制电路外部电路运算寄存器
ALU
CS
DS
ES
SS
IP
内部暂存器通用寄存器
CH
DH
SP
BP
DI
SI
AH
BH
CL
DL
AL
BL
20位地址加法器标志位
1 2 3 4 5 6
16位
16位通用寄存器
ALU
CON
FR
地址加法器段寄存器指令寄存器外部接口
EU
BIU
返回总线
5
8086CPU内部各部件功能简介
1、执行部件( EU)
执行部件负责指令的执行及数据运算,即将指令进行译码并执行,利用内部的寄存器和 ALU对数据进行所需算术和逻辑运算处理 。
返回
6
算术逻辑部件 ALU
(Arithmatic Logical Unit)
ALU主要完成数据的算术和逻辑运算处理它由两部分组成:
完成算术运算的加法器电路
完成逻辑运算的逻辑比较电路返回
7
控制部件 CON(Control Unit)
控制部件的功能:
主要完成指令的译码、各部件执行过程的控制,它是计算机的指挥中心。
控制部件的组成:
环行计数器、指令译码器、控制矩阵、其他控制电路等四部分组成。
返回
8
内部寄存器组 ( Register)
内部寄存器组由四个通用寄存器和四个专用寄存器所组成:
四个通用寄存器主要用于需要进入 ALU进行处理的数据和经 ALU处理后的数据 。
四个专用寄存器主要用于存放地址指针数据 。
AX寄存器通常称为累加器 。
9
内部寄存器组组成四个 16位位通用寄存器 AX,BX、
CX,DX,它们可以分别作为 8个 8
位通用寄存器使用,即 AH,AL、
BH,BL,CH,CL,DH,DL。
通用寄存器
SP
BP
DI
SI
CX
DX
AX
BX
AH AL
BH BL
CH CL
DH DL
返回四个 16位专用寄存器,基数指针寄存器 BP(Base point),堆栈指针寄存器 SP(Stack point),源变址寄存器 SI(Source interchange),
目的变址寄存器 DI( Destination
interchange) 。
10
标志位寄存器 FR(Flag Register)
根据功能 8086的标志位可分为两类:
– 状态标志位 — 它由算术逻辑部件 ALU的运算状态所决定 。 共有 6个即 SF,ZF,PF,CF,AF,OF
– 控制标志 — 它由系统专门指令进行控制标志的设置和清除 。
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CF DF IF T
F
SF ZF AF PF CF
11
标志位寄存器 FR各位意义
CF(Carry Flag)— 进位标志。 CF=1表示执行加法运算时产生进位或减法运算时产生借位。
PF(Parity Flag)— 奇偶标志。 PF=1表示低 8位数据中 1
的个数为偶数。
AF(Auxiliary Flag)— 辅助进位标志。 AF=1表示执行加法运算时低 4位向高 4位产生进位或减法运算时产生低 4位向高 4位借位。
ZF(Zero Flag)— 零标志。当运算结果为 0时,ZF=1。
12
标志位寄存器 FR各位意义
SF(Sign Flag)— 符号标志。 SF=1表示运算结果为负。
TF(Trace Flag)— 跟综标志。 TF=1表示进入单步执行状态。
IF(Interrupt Flag)— 中断标志。对于可屏蔽中断,当
INTR=1且 IF=1时 CPU响应中断请求。
DF(Direction Flag)— 方向标志。当执行串操作指令时,DF=1为自动减量,DF=0为自动加量。
OF(Overflow Flag)— 溢出标志。 OF=1标志运算结果超出了数据的标志范围。
返回
13
2、总线接口部件 BIU
功能总线接口部件的功能是负责 CPU与存储器,I/O端口之间传送数据,即 BIU管理在存储器中存取程序和数据的实际处理过程 。
组成段地址寄存器,指令指针寄存器,地址加法器,指令队列寄存器 。
返回
14
地址加法器( address adder)
地址加法器 主要将从段寄存器中取出的 16位段地址左移四位生成 20位的段地址后再与 16位段内偏移地址相加,生成 20位的物理地址,指向一个确定的物理存储单元 。 因为所有的寄存器都是 16
位的,数据总线也是 16位,因此必须有一个生成 20位地址数据的地址加法器 。
返回
15
段寄存器组 (Segment register)
段寄存器 主要用于保存被访问存储器的段地址和偏移地址 IP,它由以下部分组成:
CS(Code Segment)— 16位代码段寄存器
DS(Data Segment)— 16位数据段寄存器
SS(Stack Segment)— 16位附加段寄存器
ES(Extension Segment)— 16位堆栈段寄存器
IP(Instruction Point)— 16位指令指针寄存器返回
16
指令队列寄存器
(Instruction queue register)
指令队列寄存器用于保存由取指部件从存储器中取出的指令代码,供执行部件使用。
对于 8088CPU指令队列寄存器为 4字节。
返回
17
输入 /输出控制电路
(Input/Output control circuit)
输入 /输出控制电路主要担负 CPU与外部设备的数据信号和控制信号通信工作,它分为输入控制电路和输出控制电路两种。通常都需要另外增加专用接口控制电路,如中断控制器、串行通信接口电路、并行通信接口电路。
返回
18
8086/8088CPU的总线结构
总线 (BUS)— 用来进行数据和控制信号传送的通道。它通常分为数据总线 (DB)、地址总线 (AB)、控制总线 (CB)。
数据总线 — 8086CPU的数据总线为 16位,
而 8088CPU的数据总线为 8位。
地址总线 — 8086/8088CPU的地址总线都是 20位。
返回
19
8086CPU的流水线管理原则总线接口部件与执行部件不是同步工作的,它们是按下列流水线技术原则管理:
1),每当 8086的指令队列中有两个空字节,或者 8088的指令队列中有一个空字节时,总线接口部件就会自动把指令取到指令队列中 。
20
2),当 EU在执行指令的过程中,需要通过总线访问存储器或 I/O端口的数据时,
如果此时 BIU正好处于空闲状态,那么,总线接口部件立即响应 EU的总线请求;如果此时 BIU正在将某个指令字节取到指令队列中,则 BIU将首先完成取指令的总线周期,
然后再去响应执行部件发出的访问总线的请求 。
8086CPU的流水线管理原则
21
3),当指令队列已满,而且执行部件又没有总线访问时,总线接口部件便进入空闲状态 。
4),在执行转移指令,调用指令和返回指令时,
下面要执行的指令就不是在程序中紧接着的那条指令了,此时指令队列中的原有内容被自动消除,总线接口部件会接着往指令队列中装入另一个程序段中的指令 。
8086CPU的流水线管理原则返回
22
等待取指 1 执行 1 等待取指 2 执行 2 等待取指 3 执行 3MPU
总 线 忙 闲 忙 闲 忙 闲传统微处理器的指令执行过程取指 1 取指 2 取指 3 取指 4 取指 5 取指 6
EU
总线执行 1 执行 2 执行 3 执行 4 执行 5 执行 6
忙 忙 忙 忙 忙 忙
BIU
8086CPU的指令执行过程
23
2.1.3 8086CPU的外部引脚特性
GND
INTR
NMI
CLK
GND
19
INTA( QS1)
TEST
READY
RESET
2 39
1 40
3 38
4 37
5 36
6 35
7 34
8 33
9 32
10 31
11 30
12 29
13 28
14 27
15 26
16 25
17 24
18 23
19 22
20 21
AD 14
AD 11
AD 10
AD 9
AD 8
AD 7
AD 6
AD 5
AD 4
AD 3
AD 2
AD 1
AD 0
RD
MN/MX
HOLD(RQ/GT0)
BHE/S
6A
A17/ S4
A18/S5
/S
A16/S3
AD 15
)VCC( +5V
M/IO(S2)
WR(LOCK)
HLDA(RQ/GT1)
DT/R( S1)
DEN( S 0)
ALE(QS 0)
AD 1213
AD
8086CPU引脚图
24
8086CPU的引脚按其作用可分为 5类:
1,地址 /数据总线 AD15~AD0( 双向,三态 )
2,地址 /状态线 A19/S6~A16/S3( 输出,三态 )
3.控制总线
( 1) 总线高字节允许 /状态
( 2) 读控制信号线
( 3) 准备就绪信号
( 4) 测试信号
( 5) 可屏蔽中断请求信号
( 6) 非屏蔽中断请求信号
( 7) 复位信号
( 8) 系统时钟
25
4,电源线 VCC和地线 GND
5,其它控制线,24脚 ~31脚为了适应不同的应用环境,8086CPU有两种工作方式:
最大工作方式和最小工作方式,可以通过第 33条引脚来控制。
最大工作方式适用于多微处理器组成的大系统,
最小工作方式适用于单微处理器组成的小系统。
26
2.2 存储器和 I/O组织
2.2.1 存储器组织
1,存储器的内部结构及访问方法存储器是按字节进行组织的,两个相邻的字节被称为一个,字,。 存放的信息若以字节为单位,将在存储器中按顺序排列存放;若存放的数据为一个字,则将每一个字的低字节存放在低地址中,高字节存放在高地址中,并以低地址作为该字的地址 。
在组成与 8086CPU连接的存储器时,1M字节的存储空间实际上被分成两个 512字节的存储体,分别叫高位库和低位库 。 低位库固定与 8086CPU的低位字节数据线 D7~D0相连,
又称它为低字节存储体,该存储体中的每个地址均为偶地址 。 高位库与 8086CPU的高位字节数据线 D15~D8相连,又称它为高字节存储体,该存储体中的每个地址均为奇地址,
如下图所示 。
27
00001H 00000H
00003H 00002H
00005H 00004H
512K× 8( 位 ) 512K× 8( 位 )
奇地址存储体 偶地址存储体
( A0=1) ( A0=0)
FFFFD
H FFFFCH
FFFFFH FFFFEH
8086存储器的分体结构
28
2.存储器分段
∶
∶
∶
∶
00000H
图 3-10 存储器分段示意图逻辑段 1 起点逻辑段 2 起点逻辑段 3 起点逻辑段 4 起点
FFFFFH
逻辑段 1
≤ 64KB
逻辑段 2
≤ 64KB
逻辑段 3
≤ 64KB
逻辑段 4
≤ 64KB
29
3.逻辑地址( LA)和物理地址( PA)
物理地址:就是存储器的实际地址,它是指 CPU和存储器进行数据交换时所使用的地址( 20位)。
逻辑地址:是在程序中使用的地址,它由段地址和偏移地址两部分组成( 16位)。
逻辑地址的表示形式为“段地址 ∶ 偏移地址”。
物理地址 =段地址 × 10H+偏移地址
4.专用和保留的存储器单元
Intel公司为了保证与未来的产品的兼容性,规定在存储区的最低地址区和最高地址区保留一些单元供 CPU的某些特殊功能专用 。 其中主要有:
( 1) 00000H~0007FH( 共 128B),用于中断,以存放中断向量,这一区域又称为中断向量表 。
( 2) FFFF0H~FFFFFH(共 16B):用于系统复位启动。
30
2.2.2 I/O端口组织
1.统一编址又称“存储器映射方式”。在这种编址方式下,I/O端口地址置于 1MB的存储器空间中,在整个存储空间中划出一部分空间给外设端口,端口和存储单元统一编址。
优点:无需专门的 I/O指令,对端口操作的指令类型多,从而简化了指令系统的设计。
缺点:端口占用存储器的地址空间,使存储器容量更加紧张,同时端口指令的长度增加,执行时间较长,端口地址译码器较复杂。
31
2,独立编址又称,I/O映射方式”。这种方式的端口单独编址构成一个 I/O空间,不占用存储器地址空间。
优点:端口所需的地址线较少,地址译码器较简单,
采用专用的 I/O指令,端口操作指令执行时间少,指令长度短 。
缺点:输入输出指令类别少,一般只能进行传送操作。
32
2.3 8086CPU的总线周期和 工作方式
2.3.1 8284A时钟信号发生器
READY
1 18
2 17
3 16
4 15
5 14
6 13
7 12
8 11
9 10
8284A
CSYNC
PCLK
AEN1
RDY1
RDY2
AEN2
CLK
GND
VCC
X1
X2
ASYNC
EFI
F/C
OSC
RES
RESET
图 2-11 8284A引脚特性
33
根据不同的振荡源,8284A有两种不同的连接方法:
( 1) 采用脉冲发生器作振荡源
( 2) 采用石英晶体振荡器作为振荡源 。
8284A的工作原理为:
当外界就绪信号 RDY输入 8284A,经时钟下降沿同步后,输出 READY信号作为 8086的就绪信号 READY;外界的复位信号输入 8284A,经整形并由时钟下降沿同步后,输出 RESET信号作为 8086的复位信号 RESET,其宽度不得小于 4个时钟周期 。 外界的 RDY和复位信号可以在任何时候发出,但送至 CPU的信号都是经时钟同步后的信号 。
34
2.3.2 8086总线周期
8086CPU与存储器或外部设备通信,是通过 20位分时多路复用地址 /数据总线来实现的 。 为了取出指令或传输数据,CPU要执行一个总线周期 。 8086CPU经外部总线对存储器或 I/O端口进行一次信息的输入或输出过程,称为总线操作 。 执行该操作所需要的时间,称为总线周期 。 由于总线周期全部由 BIU来完成
,所以也把总线周期称为 BIU总线周期 。
8086的总线周期至少由 4个时钟周期组成。每个时钟周期称为
T状态,用 T1,T2,T3、和 T4表示。时钟周期是 CPU的基本时间计量单位,由主频决定。例如 8086的主频为 5MHz,1个时钟周期就是 100ns。基本的总线周期波形如下图所示。
35
CLK
T1
总线周期 总线周期地址 缓冲 数据 地址 缓冲 数据地址 /数据总线
T2 T3 T4 T1 T2 T3 T4
典型的 8086总线周期波形图
36
2.3.3 8086CPU的最小 /最大工作方式
1.最小工作方式所谓最小工作方式,就是系统中只有
8086一个微处理器,是一个单微处理器系统。在这种系统中,所有的总线控制信号都直接由 8086CPU产生,系统中的总线控制逻辑电路被减到最少。
当把 8086的 33脚 MN/ 接 +5V时,8086
CPU就处于最小工作方式了。
MX
37
2.最大工作方式当把 8086的 33脚 MN/ 接地时,这时的系统处于最大工作方式。最大工作方式是相对最小工作方式而言的,它主要用在中等或大规模的 8086系统中。在最大方式系统中,总是包含有两个或多个微处理器,
是多微处理器系统。其中必有一个主处理器 8086,其他的处理器称为协处理器。
MX
38
2.4 高档微处理器简介
2.4.1 80286微处理器简介
1,80286的主要特性
( 1)增加地址线,使内存容量提高。
( 2)具有两种地址方式:实地址方式和保护虚地址方式。
( 3)使用虚拟内存。
( 4)寻址方式更加丰富 ( 24种)
( 5)可以同时运行多个任务 。
( 6)三种类型中断,硬件中断、软件中断的异常中断。
( 7)增加了高级类指令、执行环境操作类指令和保护类指令 。
( 8)时钟频率提高
39
2,80286内部结构偏移量加法器段基址段大小段界限检查器物理地址加法器地址锁存和驱动器预取器处理器扩充接口总线控制数据收发器
6 字节预取队列
ALU
寄存器控制
3 译码指令队列指令译码器总线部件BU
指令部件IU
执行部件EU
地址部件AU A 23 — A 0
BH E,M/ IO
PEACK
PEREQ
RE AD Y,HO LD
LO CK,HL DA
D 15 — D 0
RESET
CLK
V SS
V CC
CAP
NMI
INTR ERROR
BUSY
S 0 S 1,CO D/ IN TA
40
各个部件的主要功能简述如下:
( 1) 总线部件 BU:地址锁存和驱动器将 24位地址锁存并加以驱动;预取器负责向存储器取指令代码并放到 6个字节的预取队列中;协处理器接口专门负责与 80287协处理器的连接;数据收发器根据指令要求负责控制数据的输入或输出 ( 控制方向 ) ; 6个字节的指令队列专门存放由预取器送来的指令;总线控制产生有关外部控制信号送到外部的总线控制器 80288,以便组合产生存储器或 I/O的读,写控制信号 。
( 2)指令部件 IU:负责从预取队列中取代码并进行译码,放入 3条指令的指令队列中。
41
( 3) 地址部件 AU:负责物理地址的生成 。 实地址模式下的 80286也只能寻址 1MB的存储空间;在保护虚地址模式下,物理地址线是 24条,段地址并不直接存放在四个段寄存器中,而存放在段描述符中 。
通过描述符的数据结构寻找 24位段基址 。 这样在地址部件 AU中将 24位段基址与 16位偏移地址相加得到实际的物理地址,形成真正的 24位物理地址 。
( 4)指令部件 EU:负责从译码指令队列取出已经译码的指令立即执行。执行指令时如果需要操作数
,可以向 AU发出相应的地址信息。
42
2.4.2 80386微处理器简介
1,80386的主要特性
( 1)灵活的 32位微处理器,提供 32位的指令。
( 2)提供 32位外部总线接口,最大数据传输速率为 32Mbps。
( 3)具有片内集成的存储器管理部件 MMU,可支持虚拟存储和特权保护 。
( 4)具有实地址方式、保护方式和虚拟 8086方式。
( 5)具有极大的寻址空间。
( 6)通过配用数值协处理器可支持高速数值处理。
( 7)在目标码一级与 8086,80286芯片完全兼容。
43
2,80386内部结构控制部件测试部件分段描述符超高速缓存器分段部件分页描述符超高速缓存器分页部件总线接口部件预取队列预取单元
32位 寄存器组桶形移位器
ALU
指令译码指令队列
32位 地址总线
32位 数据总线控制总线
NPX
接口中断复位
44
主要部件的功能分析如下:
( 1) 总线接口部件 BU:提供中央处理部件和系统之间的高速接口,负责 CPU的外部总线与内部部件之间的信息交换 。 此外,BU产生一些执行 CPU总线周期所需要的信号,包括地址,数据,控制信号等,用来与存储器和输入 /输出部件通信 。
( 2) 指令预取部件:负责预先从存储器中取出指令,并存放在 16字节的指令队列中 。 它还管理一个线性地址指针和一个段预取界限,这两项内容是从分段部件获得的,分别作为预取指令指针和检查是否违反分段界限 。
45
( 3) 指令译码部件:负责对指令进行译码,可以完成从指令到微指令的转换,译码后的指令放在译码器的指令队列中,供执行部件使用 。
( 4) 执行部件:负责直接执行指令 。 其中控制部件用于控制
ROM,在其中存有微代码 。 译码器给控制部件提供微代码的入口点 ( 起始地址 ),控制部件按此微代码执行相应的操作 。 数据部件包括寄存器组和算术 /逻辑部件,负责进行算术运算和逻辑运算 。
( 5) 存储器管理部件 MMU:由分段部件和分页部件组成 。 分段部件将逻辑地址按执行部件的要求变换成线性地址,实现有效地址的计算 。 分页部件提供了对物理地址空间的管理,将物理地址送给总线接口部件,执行存储器或 I/O存取 。
46
2.4.3 80486微处理器
1,80486的主要特性
( 1)首次增加 RISC技术。
( 2)芯片上集成部件多。数据高速缓存、浮点运算部件、
分页虚拟存储管理和 80387数值协处理器等多个部件。
( 3)高性能的设计。
( 4)完全的 32位体系结构。
( 5)支持多处理器。
( 6)具有机内自测试功能,可以广泛地测试片上逻辑电路、超高速缓存和片上分页转换高速缓存。
47
2,80486的基本结构寄存器组桶形移位器
ALU
整数部件描述符寄存器极限/ 属性
PLA
分段部件 分页部件转移用旁视缓冲区
TLB
高速缓存部件
8 K B 高速缓存总线控制器数据总线收发器地址总线驱动器指令译码部件已译码队列浮点运算部件浮点寄存器组指令预取部件
3 2 字节指令队列控制R O M
A 31 ~A 2
BE 0 ~B E 1
D 31 ~D 0
各种控制信号控制/ 保护部件
48
80486CPU的内部结构包括总线接口、片内高速缓冲存储器 Cache、指令预取、指令译码、控制 /保护、整数、浮点运算、分段和分页等 9个功能部件。
80486将这些部件集成在一块芯片上,除减少主板空间外,还提高了 CPU的执行速度。
49
2.4.4 Pentium系列微处理器
1,Pentium系列微型计算机的主要特点
Pentium微处理器拥有全新的结构与功能,它采用全新的超标量指令流水线结构 。 主要性能特点如下:
( 1) 与 80X86系列微处理器完全兼容 。
( 2) 采用 RISC型超标量结构 。
( 3) 高性能的浮点运算器 。
( 4) 双重分离式高速缓存 。
( 5) 增强了错误检测与报告功能 。
( 6) 64位数据总线 。
( 7) 分支指令预测 。
( 8) 常用指令固化及微代码改进 。
( 9)系统管理方式。
50
2,Pentium微处理器的内部结构
Pentium微处理器的主要部件包括总线接口部件、
指令高速缓存器、数据高速缓存器、指令预取部件(
指令预取缓冲器)与转移目标缓冲器、寄存器组、指令译码部件、具有两条流水线的整数处理部件( U流水线和 V流水线)、拥有加乘除运算且具有多用途电路的流水浮点处理部件 FPU等。
51
本章小结本章针对 8086微处理器及其体系结构做了详细介绍。
8086微处理器从功能结构上可以划分为执行部件和总线接口部件两大部分。
8086微处理器的寄存器使用非常灵活,8086CPU可供编程使用的有 14个 16位寄存器,按其用途可分为通用寄存器、段寄存器、指针和标志寄存器。要掌握各个寄存器的使用方法和隐含用法、微处理器的内部结构组成、
寄存器结构;要掌握存储器的分段管理、物理地址和逻辑地址的换算及 I/O端口的编址方式,8086的时钟和总线概念及其最小 /最大工作方式。
本章最后对 80X86的系列产品等高档微处理器的特点及基本结构做了介绍。
52
THANK YOU VERY MUCH
本章到此结束,
谢谢您的光临!
第 2章 典型微处理器本章主要教学内容
8086微处理器的基本性能指标,组成及其寄存器结构
8086微处理器的外部引脚特性
8086微处理器的存储器和 I/O组织
8086的时钟和总线概念及其最小 /最大工作方式
80X86,Pentium等高档微处理器的组成结构和特点教学目的,使学生掌握 8086微处理器的基本应用教学重点,8086微处理器的组成及其寄存器结构 ; 8086
微处理器的存储器和 I/O组织教学难点,8086微处理器的存储器和 I/O组织
2
2.1 8086微处理器的内部结构
8086微处理器是 Intel系列的 16位微处理器,使用单一的 +5V电源,40条引脚双列直插式封装,时钟频率为 5MHz~10MHz,基本指令执行时间为
0.3ms~0.6ms。有 16根数据线和 20根地址线,可寻址的地址空间达 1MB( 220B)。
2.1.1 8086微处理器内部组成结构
Intel 8086微处理器从功能上可以划分为两个逻辑单元,即执行部件 EU( Execution Unit) 和总线接口部件 BIU( Bus Interface Unit),其内部组成结构如图 2-1所示 。
3
8086CPU的内部结构框图
8086CPU(Center Processing Unit)从功能上可分为两部分
执行部件 EU( Execution Unit)
总线接口部件 (Bus Interface Unit)
其内部结构如 图 2-1所示
4图 4-1 8086CPU的内部结构框图总线接口部件 BIU
执行部件 EU
执行部分控制电路输入 /输出控制电路外部电路运算寄存器
ALU
CS
DS
ES
SS
IP
内部暂存器通用寄存器
CH
DH
SP
BP
DI
SI
AH
BH
CL
DL
AL
BL
20位地址加法器标志位
1 2 3 4 5 6
16位
16位通用寄存器
ALU
CON
FR
地址加法器段寄存器指令寄存器外部接口
EU
BIU
返回总线
5
8086CPU内部各部件功能简介
1、执行部件( EU)
执行部件负责指令的执行及数据运算,即将指令进行译码并执行,利用内部的寄存器和 ALU对数据进行所需算术和逻辑运算处理 。
返回
6
算术逻辑部件 ALU
(Arithmatic Logical Unit)
ALU主要完成数据的算术和逻辑运算处理它由两部分组成:
完成算术运算的加法器电路
完成逻辑运算的逻辑比较电路返回
7
控制部件 CON(Control Unit)
控制部件的功能:
主要完成指令的译码、各部件执行过程的控制,它是计算机的指挥中心。
控制部件的组成:
环行计数器、指令译码器、控制矩阵、其他控制电路等四部分组成。
返回
8
内部寄存器组 ( Register)
内部寄存器组由四个通用寄存器和四个专用寄存器所组成:
四个通用寄存器主要用于需要进入 ALU进行处理的数据和经 ALU处理后的数据 。
四个专用寄存器主要用于存放地址指针数据 。
AX寄存器通常称为累加器 。
9
内部寄存器组组成四个 16位位通用寄存器 AX,BX、
CX,DX,它们可以分别作为 8个 8
位通用寄存器使用,即 AH,AL、
BH,BL,CH,CL,DH,DL。
通用寄存器
SP
BP
DI
SI
CX
DX
AX
BX
AH AL
BH BL
CH CL
DH DL
返回四个 16位专用寄存器,基数指针寄存器 BP(Base point),堆栈指针寄存器 SP(Stack point),源变址寄存器 SI(Source interchange),
目的变址寄存器 DI( Destination
interchange) 。
10
标志位寄存器 FR(Flag Register)
根据功能 8086的标志位可分为两类:
– 状态标志位 — 它由算术逻辑部件 ALU的运算状态所决定 。 共有 6个即 SF,ZF,PF,CF,AF,OF
– 控制标志 — 它由系统专门指令进行控制标志的设置和清除 。
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CF DF IF T
F
SF ZF AF PF CF
11
标志位寄存器 FR各位意义
CF(Carry Flag)— 进位标志。 CF=1表示执行加法运算时产生进位或减法运算时产生借位。
PF(Parity Flag)— 奇偶标志。 PF=1表示低 8位数据中 1
的个数为偶数。
AF(Auxiliary Flag)— 辅助进位标志。 AF=1表示执行加法运算时低 4位向高 4位产生进位或减法运算时产生低 4位向高 4位借位。
ZF(Zero Flag)— 零标志。当运算结果为 0时,ZF=1。
12
标志位寄存器 FR各位意义
SF(Sign Flag)— 符号标志。 SF=1表示运算结果为负。
TF(Trace Flag)— 跟综标志。 TF=1表示进入单步执行状态。
IF(Interrupt Flag)— 中断标志。对于可屏蔽中断,当
INTR=1且 IF=1时 CPU响应中断请求。
DF(Direction Flag)— 方向标志。当执行串操作指令时,DF=1为自动减量,DF=0为自动加量。
OF(Overflow Flag)— 溢出标志。 OF=1标志运算结果超出了数据的标志范围。
返回
13
2、总线接口部件 BIU
功能总线接口部件的功能是负责 CPU与存储器,I/O端口之间传送数据,即 BIU管理在存储器中存取程序和数据的实际处理过程 。
组成段地址寄存器,指令指针寄存器,地址加法器,指令队列寄存器 。
返回
14
地址加法器( address adder)
地址加法器 主要将从段寄存器中取出的 16位段地址左移四位生成 20位的段地址后再与 16位段内偏移地址相加,生成 20位的物理地址,指向一个确定的物理存储单元 。 因为所有的寄存器都是 16
位的,数据总线也是 16位,因此必须有一个生成 20位地址数据的地址加法器 。
返回
15
段寄存器组 (Segment register)
段寄存器 主要用于保存被访问存储器的段地址和偏移地址 IP,它由以下部分组成:
CS(Code Segment)— 16位代码段寄存器
DS(Data Segment)— 16位数据段寄存器
SS(Stack Segment)— 16位附加段寄存器
ES(Extension Segment)— 16位堆栈段寄存器
IP(Instruction Point)— 16位指令指针寄存器返回
16
指令队列寄存器
(Instruction queue register)
指令队列寄存器用于保存由取指部件从存储器中取出的指令代码,供执行部件使用。
对于 8088CPU指令队列寄存器为 4字节。
返回
17
输入 /输出控制电路
(Input/Output control circuit)
输入 /输出控制电路主要担负 CPU与外部设备的数据信号和控制信号通信工作,它分为输入控制电路和输出控制电路两种。通常都需要另外增加专用接口控制电路,如中断控制器、串行通信接口电路、并行通信接口电路。
返回
18
8086/8088CPU的总线结构
总线 (BUS)— 用来进行数据和控制信号传送的通道。它通常分为数据总线 (DB)、地址总线 (AB)、控制总线 (CB)。
数据总线 — 8086CPU的数据总线为 16位,
而 8088CPU的数据总线为 8位。
地址总线 — 8086/8088CPU的地址总线都是 20位。
返回
19
8086CPU的流水线管理原则总线接口部件与执行部件不是同步工作的,它们是按下列流水线技术原则管理:
1),每当 8086的指令队列中有两个空字节,或者 8088的指令队列中有一个空字节时,总线接口部件就会自动把指令取到指令队列中 。
20
2),当 EU在执行指令的过程中,需要通过总线访问存储器或 I/O端口的数据时,
如果此时 BIU正好处于空闲状态,那么,总线接口部件立即响应 EU的总线请求;如果此时 BIU正在将某个指令字节取到指令队列中,则 BIU将首先完成取指令的总线周期,
然后再去响应执行部件发出的访问总线的请求 。
8086CPU的流水线管理原则
21
3),当指令队列已满,而且执行部件又没有总线访问时,总线接口部件便进入空闲状态 。
4),在执行转移指令,调用指令和返回指令时,
下面要执行的指令就不是在程序中紧接着的那条指令了,此时指令队列中的原有内容被自动消除,总线接口部件会接着往指令队列中装入另一个程序段中的指令 。
8086CPU的流水线管理原则返回
22
等待取指 1 执行 1 等待取指 2 执行 2 等待取指 3 执行 3MPU
总 线 忙 闲 忙 闲 忙 闲传统微处理器的指令执行过程取指 1 取指 2 取指 3 取指 4 取指 5 取指 6
EU
总线执行 1 执行 2 执行 3 执行 4 执行 5 执行 6
忙 忙 忙 忙 忙 忙
BIU
8086CPU的指令执行过程
23
2.1.3 8086CPU的外部引脚特性
GND
INTR
NMI
CLK
GND
19
INTA( QS1)
TEST
READY
RESET
2 39
1 40
3 38
4 37
5 36
6 35
7 34
8 33
9 32
10 31
11 30
12 29
13 28
14 27
15 26
16 25
17 24
18 23
19 22
20 21
AD 14
AD 11
AD 10
AD 9
AD 8
AD 7
AD 6
AD 5
AD 4
AD 3
AD 2
AD 1
AD 0
RD
MN/MX
HOLD(RQ/GT0)
BHE/S
6A
A17/ S4
A18/S5
/S
A16/S3
AD 15
)VCC( +5V
M/IO(S2)
WR(LOCK)
HLDA(RQ/GT1)
DT/R( S1)
DEN( S 0)
ALE(QS 0)
AD 1213
AD
8086CPU引脚图
24
8086CPU的引脚按其作用可分为 5类:
1,地址 /数据总线 AD15~AD0( 双向,三态 )
2,地址 /状态线 A19/S6~A16/S3( 输出,三态 )
3.控制总线
( 1) 总线高字节允许 /状态
( 2) 读控制信号线
( 3) 准备就绪信号
( 4) 测试信号
( 5) 可屏蔽中断请求信号
( 6) 非屏蔽中断请求信号
( 7) 复位信号
( 8) 系统时钟
25
4,电源线 VCC和地线 GND
5,其它控制线,24脚 ~31脚为了适应不同的应用环境,8086CPU有两种工作方式:
最大工作方式和最小工作方式,可以通过第 33条引脚来控制。
最大工作方式适用于多微处理器组成的大系统,
最小工作方式适用于单微处理器组成的小系统。
26
2.2 存储器和 I/O组织
2.2.1 存储器组织
1,存储器的内部结构及访问方法存储器是按字节进行组织的,两个相邻的字节被称为一个,字,。 存放的信息若以字节为单位,将在存储器中按顺序排列存放;若存放的数据为一个字,则将每一个字的低字节存放在低地址中,高字节存放在高地址中,并以低地址作为该字的地址 。
在组成与 8086CPU连接的存储器时,1M字节的存储空间实际上被分成两个 512字节的存储体,分别叫高位库和低位库 。 低位库固定与 8086CPU的低位字节数据线 D7~D0相连,
又称它为低字节存储体,该存储体中的每个地址均为偶地址 。 高位库与 8086CPU的高位字节数据线 D15~D8相连,又称它为高字节存储体,该存储体中的每个地址均为奇地址,
如下图所示 。
27
00001H 00000H
00003H 00002H
00005H 00004H
512K× 8( 位 ) 512K× 8( 位 )
奇地址存储体 偶地址存储体
( A0=1) ( A0=0)
FFFFD
H FFFFCH
FFFFFH FFFFEH
8086存储器的分体结构
28
2.存储器分段
∶
∶
∶
∶
00000H
图 3-10 存储器分段示意图逻辑段 1 起点逻辑段 2 起点逻辑段 3 起点逻辑段 4 起点
FFFFFH
逻辑段 1
≤ 64KB
逻辑段 2
≤ 64KB
逻辑段 3
≤ 64KB
逻辑段 4
≤ 64KB
29
3.逻辑地址( LA)和物理地址( PA)
物理地址:就是存储器的实际地址,它是指 CPU和存储器进行数据交换时所使用的地址( 20位)。
逻辑地址:是在程序中使用的地址,它由段地址和偏移地址两部分组成( 16位)。
逻辑地址的表示形式为“段地址 ∶ 偏移地址”。
物理地址 =段地址 × 10H+偏移地址
4.专用和保留的存储器单元
Intel公司为了保证与未来的产品的兼容性,规定在存储区的最低地址区和最高地址区保留一些单元供 CPU的某些特殊功能专用 。 其中主要有:
( 1) 00000H~0007FH( 共 128B),用于中断,以存放中断向量,这一区域又称为中断向量表 。
( 2) FFFF0H~FFFFFH(共 16B):用于系统复位启动。
30
2.2.2 I/O端口组织
1.统一编址又称“存储器映射方式”。在这种编址方式下,I/O端口地址置于 1MB的存储器空间中,在整个存储空间中划出一部分空间给外设端口,端口和存储单元统一编址。
优点:无需专门的 I/O指令,对端口操作的指令类型多,从而简化了指令系统的设计。
缺点:端口占用存储器的地址空间,使存储器容量更加紧张,同时端口指令的长度增加,执行时间较长,端口地址译码器较复杂。
31
2,独立编址又称,I/O映射方式”。这种方式的端口单独编址构成一个 I/O空间,不占用存储器地址空间。
优点:端口所需的地址线较少,地址译码器较简单,
采用专用的 I/O指令,端口操作指令执行时间少,指令长度短 。
缺点:输入输出指令类别少,一般只能进行传送操作。
32
2.3 8086CPU的总线周期和 工作方式
2.3.1 8284A时钟信号发生器
READY
1 18
2 17
3 16
4 15
5 14
6 13
7 12
8 11
9 10
8284A
CSYNC
PCLK
AEN1
RDY1
RDY2
AEN2
CLK
GND
VCC
X1
X2
ASYNC
EFI
F/C
OSC
RES
RESET
图 2-11 8284A引脚特性
33
根据不同的振荡源,8284A有两种不同的连接方法:
( 1) 采用脉冲发生器作振荡源
( 2) 采用石英晶体振荡器作为振荡源 。
8284A的工作原理为:
当外界就绪信号 RDY输入 8284A,经时钟下降沿同步后,输出 READY信号作为 8086的就绪信号 READY;外界的复位信号输入 8284A,经整形并由时钟下降沿同步后,输出 RESET信号作为 8086的复位信号 RESET,其宽度不得小于 4个时钟周期 。 外界的 RDY和复位信号可以在任何时候发出,但送至 CPU的信号都是经时钟同步后的信号 。
34
2.3.2 8086总线周期
8086CPU与存储器或外部设备通信,是通过 20位分时多路复用地址 /数据总线来实现的 。 为了取出指令或传输数据,CPU要执行一个总线周期 。 8086CPU经外部总线对存储器或 I/O端口进行一次信息的输入或输出过程,称为总线操作 。 执行该操作所需要的时间,称为总线周期 。 由于总线周期全部由 BIU来完成
,所以也把总线周期称为 BIU总线周期 。
8086的总线周期至少由 4个时钟周期组成。每个时钟周期称为
T状态,用 T1,T2,T3、和 T4表示。时钟周期是 CPU的基本时间计量单位,由主频决定。例如 8086的主频为 5MHz,1个时钟周期就是 100ns。基本的总线周期波形如下图所示。
35
CLK
T1
总线周期 总线周期地址 缓冲 数据 地址 缓冲 数据地址 /数据总线
T2 T3 T4 T1 T2 T3 T4
典型的 8086总线周期波形图
36
2.3.3 8086CPU的最小 /最大工作方式
1.最小工作方式所谓最小工作方式,就是系统中只有
8086一个微处理器,是一个单微处理器系统。在这种系统中,所有的总线控制信号都直接由 8086CPU产生,系统中的总线控制逻辑电路被减到最少。
当把 8086的 33脚 MN/ 接 +5V时,8086
CPU就处于最小工作方式了。
MX
37
2.最大工作方式当把 8086的 33脚 MN/ 接地时,这时的系统处于最大工作方式。最大工作方式是相对最小工作方式而言的,它主要用在中等或大规模的 8086系统中。在最大方式系统中,总是包含有两个或多个微处理器,
是多微处理器系统。其中必有一个主处理器 8086,其他的处理器称为协处理器。
MX
38
2.4 高档微处理器简介
2.4.1 80286微处理器简介
1,80286的主要特性
( 1)增加地址线,使内存容量提高。
( 2)具有两种地址方式:实地址方式和保护虚地址方式。
( 3)使用虚拟内存。
( 4)寻址方式更加丰富 ( 24种)
( 5)可以同时运行多个任务 。
( 6)三种类型中断,硬件中断、软件中断的异常中断。
( 7)增加了高级类指令、执行环境操作类指令和保护类指令 。
( 8)时钟频率提高
39
2,80286内部结构偏移量加法器段基址段大小段界限检查器物理地址加法器地址锁存和驱动器预取器处理器扩充接口总线控制数据收发器
6 字节预取队列
ALU
寄存器控制
3 译码指令队列指令译码器总线部件BU
指令部件IU
执行部件EU
地址部件AU A 23 — A 0
BH E,M/ IO
PEACK
PEREQ
RE AD Y,HO LD
LO CK,HL DA
D 15 — D 0
RESET
CLK
V SS
V CC
CAP
NMI
INTR ERROR
BUSY
S 0 S 1,CO D/ IN TA
40
各个部件的主要功能简述如下:
( 1) 总线部件 BU:地址锁存和驱动器将 24位地址锁存并加以驱动;预取器负责向存储器取指令代码并放到 6个字节的预取队列中;协处理器接口专门负责与 80287协处理器的连接;数据收发器根据指令要求负责控制数据的输入或输出 ( 控制方向 ) ; 6个字节的指令队列专门存放由预取器送来的指令;总线控制产生有关外部控制信号送到外部的总线控制器 80288,以便组合产生存储器或 I/O的读,写控制信号 。
( 2)指令部件 IU:负责从预取队列中取代码并进行译码,放入 3条指令的指令队列中。
41
( 3) 地址部件 AU:负责物理地址的生成 。 实地址模式下的 80286也只能寻址 1MB的存储空间;在保护虚地址模式下,物理地址线是 24条,段地址并不直接存放在四个段寄存器中,而存放在段描述符中 。
通过描述符的数据结构寻找 24位段基址 。 这样在地址部件 AU中将 24位段基址与 16位偏移地址相加得到实际的物理地址,形成真正的 24位物理地址 。
( 4)指令部件 EU:负责从译码指令队列取出已经译码的指令立即执行。执行指令时如果需要操作数
,可以向 AU发出相应的地址信息。
42
2.4.2 80386微处理器简介
1,80386的主要特性
( 1)灵活的 32位微处理器,提供 32位的指令。
( 2)提供 32位外部总线接口,最大数据传输速率为 32Mbps。
( 3)具有片内集成的存储器管理部件 MMU,可支持虚拟存储和特权保护 。
( 4)具有实地址方式、保护方式和虚拟 8086方式。
( 5)具有极大的寻址空间。
( 6)通过配用数值协处理器可支持高速数值处理。
( 7)在目标码一级与 8086,80286芯片完全兼容。
43
2,80386内部结构控制部件测试部件分段描述符超高速缓存器分段部件分页描述符超高速缓存器分页部件总线接口部件预取队列预取单元
32位 寄存器组桶形移位器
ALU
指令译码指令队列
32位 地址总线
32位 数据总线控制总线
NPX
接口中断复位
44
主要部件的功能分析如下:
( 1) 总线接口部件 BU:提供中央处理部件和系统之间的高速接口,负责 CPU的外部总线与内部部件之间的信息交换 。 此外,BU产生一些执行 CPU总线周期所需要的信号,包括地址,数据,控制信号等,用来与存储器和输入 /输出部件通信 。
( 2) 指令预取部件:负责预先从存储器中取出指令,并存放在 16字节的指令队列中 。 它还管理一个线性地址指针和一个段预取界限,这两项内容是从分段部件获得的,分别作为预取指令指针和检查是否违反分段界限 。
45
( 3) 指令译码部件:负责对指令进行译码,可以完成从指令到微指令的转换,译码后的指令放在译码器的指令队列中,供执行部件使用 。
( 4) 执行部件:负责直接执行指令 。 其中控制部件用于控制
ROM,在其中存有微代码 。 译码器给控制部件提供微代码的入口点 ( 起始地址 ),控制部件按此微代码执行相应的操作 。 数据部件包括寄存器组和算术 /逻辑部件,负责进行算术运算和逻辑运算 。
( 5) 存储器管理部件 MMU:由分段部件和分页部件组成 。 分段部件将逻辑地址按执行部件的要求变换成线性地址,实现有效地址的计算 。 分页部件提供了对物理地址空间的管理,将物理地址送给总线接口部件,执行存储器或 I/O存取 。
46
2.4.3 80486微处理器
1,80486的主要特性
( 1)首次增加 RISC技术。
( 2)芯片上集成部件多。数据高速缓存、浮点运算部件、
分页虚拟存储管理和 80387数值协处理器等多个部件。
( 3)高性能的设计。
( 4)完全的 32位体系结构。
( 5)支持多处理器。
( 6)具有机内自测试功能,可以广泛地测试片上逻辑电路、超高速缓存和片上分页转换高速缓存。
47
2,80486的基本结构寄存器组桶形移位器
ALU
整数部件描述符寄存器极限/ 属性
PLA
分段部件 分页部件转移用旁视缓冲区
TLB
高速缓存部件
8 K B 高速缓存总线控制器数据总线收发器地址总线驱动器指令译码部件已译码队列浮点运算部件浮点寄存器组指令预取部件
3 2 字节指令队列控制R O M
A 31 ~A 2
BE 0 ~B E 1
D 31 ~D 0
各种控制信号控制/ 保护部件
48
80486CPU的内部结构包括总线接口、片内高速缓冲存储器 Cache、指令预取、指令译码、控制 /保护、整数、浮点运算、分段和分页等 9个功能部件。
80486将这些部件集成在一块芯片上,除减少主板空间外,还提高了 CPU的执行速度。
49
2.4.4 Pentium系列微处理器
1,Pentium系列微型计算机的主要特点
Pentium微处理器拥有全新的结构与功能,它采用全新的超标量指令流水线结构 。 主要性能特点如下:
( 1) 与 80X86系列微处理器完全兼容 。
( 2) 采用 RISC型超标量结构 。
( 3) 高性能的浮点运算器 。
( 4) 双重分离式高速缓存 。
( 5) 增强了错误检测与报告功能 。
( 6) 64位数据总线 。
( 7) 分支指令预测 。
( 8) 常用指令固化及微代码改进 。
( 9)系统管理方式。
50
2,Pentium微处理器的内部结构
Pentium微处理器的主要部件包括总线接口部件、
指令高速缓存器、数据高速缓存器、指令预取部件(
指令预取缓冲器)与转移目标缓冲器、寄存器组、指令译码部件、具有两条流水线的整数处理部件( U流水线和 V流水线)、拥有加乘除运算且具有多用途电路的流水浮点处理部件 FPU等。
51
本章小结本章针对 8086微处理器及其体系结构做了详细介绍。
8086微处理器从功能结构上可以划分为执行部件和总线接口部件两大部分。
8086微处理器的寄存器使用非常灵活,8086CPU可供编程使用的有 14个 16位寄存器,按其用途可分为通用寄存器、段寄存器、指针和标志寄存器。要掌握各个寄存器的使用方法和隐含用法、微处理器的内部结构组成、
寄存器结构;要掌握存储器的分段管理、物理地址和逻辑地址的换算及 I/O端口的编址方式,8086的时钟和总线概念及其最小 /最大工作方式。
本章最后对 80X86的系列产品等高档微处理器的特点及基本结构做了介绍。
52
THANK YOU VERY MUCH
本章到此结束,
谢谢您的光临!