当前位置:
文档之家› 第3章. 80868088微处理器及其系统-1
第3章. 80868088微处理器及其系统-1
21
2 段寄存器
段寄存器是为实现“段加偏移”寻址而设置的。
4个16位段寄存器,8086/8088 指令可直接访问。
16位段寄存器
00000H
段基址
代码段
段基址
代码段寄存器
数据段寄存器 堆栈段寄存器
CS
DS SS
数据段
段基址 段基址
附加段寄存器
ES
堆栈段 附加段
注意:段寄存器的功能不能互换!
FFFFF H
26
CS + IP CPU 掌握
0000
偏移量IP
FFFFFH
…
3 .专用寄存器—标志寄存器F
标志(Flag)用于反映指令执行结果的情况或控制指令的执行 方式 又称程序状态字寄存器(program status word,PSW)。
27
3 .标志寄存器
8086/8088标志寄存器F为16位,只用了其中的9位 6个状态标志位:CF、PF、AF、ZF、SF、OF 3个控制标志位:DF、IF、TF FH
IP中含有BIU要取的下1条指令(字节) 的偏移地址。 IP在程序运行中能自动加1, 指向要执行的下1条指 令(字节) 。 有些指令能使IP值改变或使IP值压进堆栈,或由堆 栈弹出恢复原值。
14
3.1.1 8068/8088CPU内部结构
执行单元组成
16位算术逻辑单元(ALU)
算术、逻辑运算,计算16位偏移量
15
0 SI 源变址寄存器
DI
目的变址寄存器
变址寄存器
20
数据寄存器举例
例如: 在指令中指明使用 ADD AX,BX MOV BL,AL 例如: 在指令中特定使用CL SHL AX,CL; 逻辑左移(CL)位 例如: 在指令中隐含使用AL MUL BL;无符号乘法;(AX)=(AL)×(BL)
掌握
24
3.1.2.3 专用寄存器
8086/8088/80286: 16位寄存器 指令指针寄存器IP 标志寄存器F 80386及其后继机型(了解) 32位寄存器
指令指针寄存器EIP
标志寄存器EFLAGES
25
3 .专用寄存器—IP或EIP
IP
(Instruction Pointer)指令指针寄存器IP
微型计算机原理及应用
主编:李继灿 清华大学出版社
第三章 微处理器及其系统
内容提要
3.1 8086/8088微处理器 3.2 最小/最大工作方式
3.3 存储器 3.4 指令系统
3.5 微处理器
2
引言
运算器(ALU)
微处理器(MP) 控制器(控制单元CU) 寄存器阵列(RA) RAM, ROM, EPROM
15
0 SP BP 堆栈指针寄存器 基址寄存器 指针寄存器
19
1. 通用寄存器
② 指针及变址寄存器( 16位,存放偏移地址) 变址寄存器(I组):
源变址寄存器SI和目的变址寄存器DI 。 存放当前数据段的偏移地址。
SI(Source Index):源操作数的偏移地址。
BP(Destination Index):目的操作数的偏移地址。
15 11 10 9
IF
FL
8 7 6 4
AF
2
PF
0
CF
OF DF
TF SF ZF
溢出标志
方向标志 中断允许标志 跟踪标志 符号标志 进位标志 奇偶标志
辅助进位标志 零标志
28
掌握
3 .标志寄存器
例 某CPU内含 8位运算器,则: 参加运算的数及结果均以 8位 表示,
最高位产生的进位或借位在8位运算器中不保存, 而将其保存到标志寄存器中。
23
2. 段寄存器
8086/8088 CPU有20条地址线,具有寻址1MB存储空间。 8086/8088指令中给出的地址码仅有16位,指针寄存器 和变址寄存器也只有16位,不能直接寻址1MB的内存空 间。 用8086/8088CPU内部一组16位的段寄存器内容作为段 地址,再由段寄存器左移4位形成20位的段起始地址,被 称为段基地址或段基址。这样,8086/8088可寻址1MB 存储空间。 将1MB存储空间分成为若干个逻辑段,使每个逻辑段的 长度为64KB。
16位标志寄存器F
CPU运算的状态特征或存放控制标志
数据暂存寄存器
协助ALU完成运算
通用寄存器组:
4个16位数据寄存器,4个16位指针与变址寄存器
EU控制电路
控制、定时与状态逻辑电路
15
3.1.1 8068/8088CPU内部结构
8088CPU内部结构
BIU指令队列长度为4个字节 BIU通过总线控制电路与外部交换数据的总线宽度
DB(16位)
总线控制 电 路
8086总线 DB(16位)
暂存寄存器 EU 控制电路 (8位) 指令队列缓冲器 1 2 3 4 5 6
ALU
标志寄存器
执行单元(EU)
总线接口单元(BIU)
8
3.1.1 8068/8088CPU内部结构
总线接口单元(Bus
interface Unit,BIU):
10
3.1.1 8068/8088CPU内部结构
1.指令队列缓冲器:
用于存放预取的指令。 8086的指令队列为6个字节,而8088的指令队列为4 个字节。 在执行指令的同时,从内存中取下面1条或几条指令, 取来的指令依次放在指令队列中。
采用“先进先出”的原则:
11
1.指令队列缓冲器:
“先进先出”的原则:按顺序存放,并按顺序取到EU中 去执行。
理解“段加偏移”寻址机制。
掌握寻址方式。
掌握6大指令系统的基本用法。
4
3.1 8086/8088微处理器
Intel系列的CPU一直占着主导地位。 Intel8086/8088、Z8000和MC68000为代表的16 位微处理器是第3代产品,其性能已达到中、高 档小型计算机的水平。 8086/8088后续的80286、80386、80486。以及 Pentium系列CPU结构与功能已经发生了很大变 化,但从基本结构以及指令格式上来讲,仍然 是经典8086/8088CPU的延续与提升。
记录运算时从最高有效位(字节第7位,字第15位)产生 的进/借位值
CF=
0 1
NC CY
没有产生进/借位 有进/借位产生 BL
例如:执行指令:ADD AL,
3AH + 7CH=B6H,没有进位:CF = 0
AAH + 7CH=(1)26H,有进位:CF = 1
掌握
30
3 .标志寄存器
奇偶性标志PF(Parity Flag)
微型计算机 (MC)
内存储器
EEPROM, Cash等
地址总线(AD)
输入输出(I/O)接口电路 系统总线 数据总线(DB) 控制总线(CB)
微型计算机的组成
3
学习要求
透彻理解和掌握8086/8088内部组成结构、寄存器结 构与总线周期等。 深入理解储存器的分段设计。 正确理解与熟练掌握物理地址和逻辑地址关系。 理解堆栈及其操作。
DL
DX 数据寄存器
18
掌握
1. 通用寄存器
② 指针及变址寄存器( 16位,存放偏移地址) 指针寄存器(P组):
堆栈指针寄存器SP和基址指针寄存器BP。 当前堆栈段中的数据所在的地址。
SP(Stack Pointer):给出栈顶的偏移地址 (入栈和出栈指令时)。 BP(Base Pointer):存放位于堆栈段中的数 据区基地址的偏移地址。
6
3.1.1 8068/8088CPU内部结构
从功能上讲,可分为两个独立的部分,并行重叠操作;
数 据 寄存器 指针和变址 寄存器
通用寄存器 AH AL BH BL CH CL DH DL SP BP SI DI AB(20位) AX BX CX DX
地址 加法器
∑
ALU 数据总线(16位)
CS DS SS ES IP 内部寄存器 数据总线(16位)
15 11 10 9 IF 8 7 6 4 AF 2 PF 0 CF OF DF TF SF ZF
负责完成CPU与存储器或I/O设备之间的数据传送。
BIU从内存取指令送到指令队列缓冲器;
CPU执行指令时,BIU配合EU从指定的内存单元或
I/O端口存取数据
执行单元(Execution
unit,EU):
负责执行指令,即 执行的指令从BIU的指令队列缓冲器中取得; 执行指令的结果或所需要的数据,由EU向BIU发 出请求; 再由BIU对存储器或I/O端口进行存取。
10110101 + 10001111 进位 1 1 1 1 1 1 1 01000100 被加数8位 加数8位 和8位 被加数 运 运 算 算 器 器
PSW 标志 进位 标志寄存器 寄存器
加数 和
掌握
29
3 .标志寄存器
进位标志CF(Carry Flag)
15 11 10 9 IF 8 7 6 4 AF 2 PF 0 CF OF DF TF SF ZF
CX 计数寄存器
DX 数据寄存器 堆栈指针寄存器 基址寄存器 源变址寄存器 目的变址寄存器 0 指令指针寄存器 状态标志寄存器 0 代码段寄存器 数据段寄存器 堆栈段寄存器
指针寄存器 变址寄存器
通用寄存器
15
IP
15
FLAGS CS DS SS
控制寄存器
段寄存器
17
掌握
ES
附加数据段寄存器
1. 通用寄存器
0
偏移地址 0
段寄存器