第 2 章 IA-32结构微处理器
合集下载
第2章 IA-32结构微处理器与8086

2.从实模式至保护模式
ቤተ መጻሕፍቲ ባይዱ
从80286开始,在80386中真正完善保 护模式。
3.片内存储管理单元(MMU)
32位地址,可寻址4GB物理地址。 大多数PC的物理内存配置远小于4GB。 但应用程序却可能需要庞大的地址空 间。 因此,在操作系统中提供了虚拟存储 器管理机制,而这要求硬件支持。
4.浮点支持
① 方向标志(Direction Flag,DF) ② 中断允许标志(Interrupt-enable Flag,IF) ③ 追踪标志(Trace Flag,TF)
4.指令指针
指令指针(IP)寄存器包含下一条要执 行的指令在当前码段中的偏移。
2.3.3 存储器组织
图2-8
8086物理地址的形成
图2-9 8086的存储器结构
图2-4
8086微处理器基本执行环境
2.3.2 基本的程序执行寄存器
通用寄存器,这八个寄存器能用于存放操 作数和指针。 段寄存器,这些寄存器最多能保存四个段 选择子。
FLAGS(程序状态和控制)寄存器, FLAGS寄存器报告正在执行的程序的状态, 并允许有限地(应用程序级)控制处理器。 IP(指令指针)寄存器。IP寄存器包括下 一条要执行的指令的16位指针。
图2-1
8086(8088)的功能结构
图2-2
8位微处理器的执行顺序
图2-3
8086的执行顺序
2.3 8086微处理器的执行环境 2.3.1 基本执行环境概要
在8086微处理器上执行的程序或任务 都有一组执行指令的资源用于存储代码、 数据和状态信息。
地址空间 基本程序执行寄存器 堆栈(Stack) I/O端口
2.1.2 8086性能的提高
第2章 IA-32结构微处理器与8086

32位地址能寻址4GB物理地址。
2.1.1 8086功能的扩展
第二章 IA-32结构微 处理器与8086
2.从实模式至保护模式
从80286开始,在80386中真正完善保护模式。 3.片内存储管理单元(MMU)
32位地址,可寻址4GB物理地址。 大多数PC的物理内存配置远小于4GB。 但应用程序却可能需要庞大的地址空间。 因此,在操作系统中提供了虚拟存储器管理机 制,而这要求硬件支持。
图2-4 8086微处理器基本执 IA-32结构微 处理器与8086
通用寄存器:这八个寄存器能用于存放操作数和指 针。
段寄存器:这些寄存器最多能保存四个段选择子。
FLAGS(程序状态和控制)寄存器:FLAGS寄存 器报告正在执行的程序的状态,并允许有限地(应 用程序级)控制处理器。
普通高等学校计算机教育“十三五”
微机原理与接口技术(第3版)
周明德 张晓霞 兰方鹏 著式
内容导航
CONTENTS
2.1 IA-32微处理器是8086的延伸 2.2 8086的功能结构 2.3 8086微处理器的执行环境 1.4 微型计算机的结构
2.1 IA-32微处理器是8086的延伸第二章 IA-32结构微
2.引入片内缓存(Cache)
为了减少从存储器中取指令与数据的时间, 利用指令执行的局部性原理,把近期可能要用到 的指令与数据放在工作速度比主存储器更快(当 然,容量更小)的缓存中。
2.1 8086的功能结构
第二章 IA-32结构微 处理器与8086
8086 CPU从功能上来说分成两大部分:总线 接口单元(Bus Interface Unit,BIU)和执行单 元(Execution Unit,EU)。
2.1.1 8086功能的扩展
2.1.1 8086功能的扩展
第二章 IA-32结构微 处理器与8086
2.从实模式至保护模式
从80286开始,在80386中真正完善保护模式。 3.片内存储管理单元(MMU)
32位地址,可寻址4GB物理地址。 大多数PC的物理内存配置远小于4GB。 但应用程序却可能需要庞大的地址空间。 因此,在操作系统中提供了虚拟存储器管理机 制,而这要求硬件支持。
图2-4 8086微处理器基本执 IA-32结构微 处理器与8086
通用寄存器:这八个寄存器能用于存放操作数和指 针。
段寄存器:这些寄存器最多能保存四个段选择子。
FLAGS(程序状态和控制)寄存器:FLAGS寄存 器报告正在执行的程序的状态,并允许有限地(应 用程序级)控制处理器。
普通高等学校计算机教育“十三五”
微机原理与接口技术(第3版)
周明德 张晓霞 兰方鹏 著式
内容导航
CONTENTS
2.1 IA-32微处理器是8086的延伸 2.2 8086的功能结构 2.3 8086微处理器的执行环境 1.4 微型计算机的结构
2.1 IA-32微处理器是8086的延伸第二章 IA-32结构微
2.引入片内缓存(Cache)
为了减少从存储器中取指令与数据的时间, 利用指令执行的局部性原理,把近期可能要用到 的指令与数据放在工作速度比主存储器更快(当 然,容量更小)的缓存中。
2.1 8086的功能结构
第二章 IA-32结构微 处理器与8086
8086 CPU从功能上来说分成两大部分:总线 接口单元(Bus Interface Unit,BIU)和执行单 元(Execution Unit,EU)。
2.1.1 8086功能的扩展
chapter2IA-32处理器体系结构

第2章 IA-32体系结构 章 体系结构
要点: 要点:
1.基本概念 基本概念 2.IA-32处理器体系结构 处理器体系结构 3.IA-32的内存管理 的内存管理
计算机科学系- 计算机科学系-计算机导论课件
1
1.基本概念
微机的基本结构 指令执行周期 程序是如何运行的
计算机科学系- 计算机科学系-计算机导论课件
计算机科学系- 计算机科学系-计算机导论课件
16
P6处理器系列
奔腾Pro 奔腾
–提升了指令的执行速度
奔腾Ⅱ 奔腾Ⅱ
– MMX技术 MMX
奔腾Ⅲ 奔腾Ⅲ
– SIMD(流扩展),128位寄存器
奔腾Ⅳ 奔腾Ⅳ
– NetBurst结构 –面向高性能的多媒体应用程序
计算机科学系- 计算机科学系-计算机导论课件
10
2.2 基本执行环境
地址空间
– 保护模式:4GB(32位地址,0~232-1) – 实地址模式:1MB(20位地址,0~220-1)
基本寄存器
– 寄存器(Register)是CPU内部的高速储存单元, 访问速度比常规内存快得多。 – 由8个32位通用寄存器、6个16位段寄存器和一个 存放处理器标志的寄存器(EFLAGS)和一个指 令指针(EIP)组成。
2
1.1 微机的基本结构
数据总线
寄存器
中央处理器 (CPU) )
ALU CU 时钟
内存储器
I/O设备#1 设备# 设备
I/O设备#2 设备# 设备
控制总线
地址总线
计算机科学系- 计算机科学系-计算机导论课件
3
1.1 微机的基本结构 总线(bus):一组用于在计算机各部分之间传送 总线 数据的并行线。
要点: 要点:
1.基本概念 基本概念 2.IA-32处理器体系结构 处理器体系结构 3.IA-32的内存管理 的内存管理
计算机科学系- 计算机科学系-计算机导论课件
1
1.基本概念
微机的基本结构 指令执行周期 程序是如何运行的
计算机科学系- 计算机科学系-计算机导论课件
计算机科学系- 计算机科学系-计算机导论课件
16
P6处理器系列
奔腾Pro 奔腾
–提升了指令的执行速度
奔腾Ⅱ 奔腾Ⅱ
– MMX技术 MMX
奔腾Ⅲ 奔腾Ⅲ
– SIMD(流扩展),128位寄存器
奔腾Ⅳ 奔腾Ⅳ
– NetBurst结构 –面向高性能的多媒体应用程序
计算机科学系- 计算机科学系-计算机导论课件
10
2.2 基本执行环境
地址空间
– 保护模式:4GB(32位地址,0~232-1) – 实地址模式:1MB(20位地址,0~220-1)
基本寄存器
– 寄存器(Register)是CPU内部的高速储存单元, 访问速度比常规内存快得多。 – 由8个32位通用寄存器、6个16位段寄存器和一个 存放处理器标志的寄存器(EFLAGS)和一个指 令指针(EIP)组成。
2
1.1 微机的基本结构
数据总线
寄存器
中央处理器 (CPU) )
ALU CU 时钟
内存储器
I/O设备#1 设备# 设备
I/O设备#2 设备# 设备
控制总线
地址总线
计算机科学系- 计算机科学系-计算机导论课件
3
1.1 微机的基本结构 总线(bus):一组用于在计算机各部分之间传送 总线 数据的并行线。
微机原理第2章 IA32结构微处理器及其体系结构

出 版 社
用于控制CPU能否相应可屏蔽中断请求。
若置IF=1,则允许CPU去接收外部的可屏蔽的中断请求;(STI)
若使IF=0,则屏蔽上述的中断请求;对内部产生的中断不起作
用。(CLI)
微 计 算 机 机 原 理 · 第 2 版 电 子 工 业 出 版 社
③ 追踪标志TF(Trace Flag)/单步中断标志 置TF=1,程序执行当前指令后暂停。 置TF=0,程序执行当前指令后不暂停。 用于调试程序,每执行完一条指令都可以停 下来检查执行结果的状态。
② 辅助进位标志AF(Auxitiary Carry Flag)
字节操作时,低半字节(一个字节的D3)向高半字节有进位或 电 子 借位,则AF=1,否则为0。标志用于十进制算术运算指令中。 工 业 ③ 溢出标志OF(Overflow Flag) 出 版 社 在算术运算中,带符号数的运算结果超出了8位、16位带符号数
EU负责指令的执行。
由数据寄存器、指针寄存器与算术逻辑单元(ALU)组成。 取指部分与执行指令部分是分开的,二者可以重叠进行
微 计 算 机 机 原 理 · 第 2 版 电 子 工 业 出 版 社
在 8086 中,由于 BIU 和 EU 是分开的,所 以,取指和执行可以重叠进行。
8086指令执行顺序
SP:堆栈指针,与段寄存器SS配合确定堆栈在内存中的位置。
BP(Base Pointer Register):寻址堆栈操作数时,也是寻址堆栈段。 SI(Source Index Register)和DI(Destination Index Register)常用
于串操作。
微 计 算 机 机 原 理 · 第 2 版 电 子 工 业 出 版 社
用于控制CPU能否相应可屏蔽中断请求。
若置IF=1,则允许CPU去接收外部的可屏蔽的中断请求;(STI)
若使IF=0,则屏蔽上述的中断请求;对内部产生的中断不起作
用。(CLI)
微 计 算 机 机 原 理 · 第 2 版 电 子 工 业 出 版 社
③ 追踪标志TF(Trace Flag)/单步中断标志 置TF=1,程序执行当前指令后暂停。 置TF=0,程序执行当前指令后不暂停。 用于调试程序,每执行完一条指令都可以停 下来检查执行结果的状态。
② 辅助进位标志AF(Auxitiary Carry Flag)
字节操作时,低半字节(一个字节的D3)向高半字节有进位或 电 子 借位,则AF=1,否则为0。标志用于十进制算术运算指令中。 工 业 ③ 溢出标志OF(Overflow Flag) 出 版 社 在算术运算中,带符号数的运算结果超出了8位、16位带符号数
EU负责指令的执行。
由数据寄存器、指针寄存器与算术逻辑单元(ALU)组成。 取指部分与执行指令部分是分开的,二者可以重叠进行
微 计 算 机 机 原 理 · 第 2 版 电 子 工 业 出 版 社
在 8086 中,由于 BIU 和 EU 是分开的,所 以,取指和执行可以重叠进行。
8086指令执行顺序
SP:堆栈指针,与段寄存器SS配合确定堆栈在内存中的位置。
BP(Base Pointer Register):寻址堆栈操作数时,也是寻址堆栈段。 SI(Source Index Register)和DI(Destination Index Register)常用
于串操作。
微 计 算 机 机 原 理 · 第 2 版 电 子 工 业 出 版 社
第2章 IA-32架构

14
寄存器名
特
殊
用
途
SI
在字符串处理指令中作源变址寄存器用 在间接寻址中作变址寄存器用
DI
在字符串处理指令中作目标变址寄存器用 在间接寻址中作变址寄存器用
BP
在间接寻址中作基址指针用
SP
在堆栈操作中作堆栈指针用
15
2. 段寄存器组
8086CPU的BIU中设置4个16位段寄存器: •代码段寄存器CS(Code Segment) •数据段寄存器DS(Data Segment) •附加数据段寄存器ES(Extra Segment) •堆栈段寄存器SS(Stack Segment)
21
现将各标志位的定义说明如下: (1)CF(Carry Flag)进位标志位。如果做加法时最 高位(字节操作是D7位,字操作是D15位)产生进位或 做减法时最高位产生借位,则CF=1,否则CF=0。 (2)PF(Parity Flag)奇偶标志位。如果操作结果的 低八位中含有偶数个1,则PF=1,否则PF=0。 (3)AF(Auxiliary Carry Flag)辅助进位标志位。如 果做加法时D3 位有进位或做减法时 D3 位有借位 ,则 AF=1,否则AF=0。
第2章 IA-32结构微处理器及 其体系结构
1
主要内容:
微型机的基本结构; 8088(8086)微处理器的工作原理、
引线及结构;
总线的一般概念。
2
§2.1 微处理器的主要性能指标
2.1.1 字长 2.1.2 指令数 2.1.3 运算速度 2.1.4 访存空间 2.1.5 高速缓存大小 2.1.6 虚拟存储空间 2.1.7 是否能构成多处理器系统 2.1.8 工艺形式及其他
12
寄存器名
寄存器名
特
殊
用
途
SI
在字符串处理指令中作源变址寄存器用 在间接寻址中作变址寄存器用
DI
在字符串处理指令中作目标变址寄存器用 在间接寻址中作变址寄存器用
BP
在间接寻址中作基址指针用
SP
在堆栈操作中作堆栈指针用
15
2. 段寄存器组
8086CPU的BIU中设置4个16位段寄存器: •代码段寄存器CS(Code Segment) •数据段寄存器DS(Data Segment) •附加数据段寄存器ES(Extra Segment) •堆栈段寄存器SS(Stack Segment)
21
现将各标志位的定义说明如下: (1)CF(Carry Flag)进位标志位。如果做加法时最 高位(字节操作是D7位,字操作是D15位)产生进位或 做减法时最高位产生借位,则CF=1,否则CF=0。 (2)PF(Parity Flag)奇偶标志位。如果操作结果的 低八位中含有偶数个1,则PF=1,否则PF=0。 (3)AF(Auxiliary Carry Flag)辅助进位标志位。如 果做加法时D3 位有进位或做减法时 D3 位有借位 ,则 AF=1,否则AF=0。
第2章 IA-32结构微处理器及 其体系结构
1
主要内容:
微型机的基本结构; 8088(8086)微处理器的工作原理、
引线及结构;
总线的一般概念。
2
§2.1 微处理器的主要性能指标
2.1.1 字长 2.1.2 指令数 2.1.3 运算速度 2.1.4 访存空间 2.1.5 高速缓存大小 2.1.6 虚拟存储空间 2.1.7 是否能构成多处理器系统 2.1.8 工艺形式及其他
12
寄存器名
第 2 章 IA-32结构微处理器

目前对于许多操作系统和十分广泛的应用程序32位ia32结构是最流行的计算机结ia32结构的最重要的成就之一是在从1978年开始的那些处理器上建立的目标程序仍然能够在ia32结构系列的最新的处理器上执行
第 2 章 IA-32结构微处理器
本章讲述: 2.1 IA-32微处理器的概要历史 2.2 IA-32微处理器的功能结构 2.3 IA-32微处理器的执行环境
2.1.4 Intel奔腾(Pentium)处理器
Intel 奔腾(Pentium)处理器增加了第 二个执行流水线以达到超标量性能(两个 已知的流水线u和v一起工作,实现每个时 钟执行两条指令)。片上的一级Cache也加 倍了,8KB用于代码,另外8KB用于数据。 数据Cache 使用MESI协议以支持更有效的 回写方式,以及由Intel 80486 处理器使用 的写通方式。加入的分支预测和片上的分 支表增加了循环结构中的性能。
BIU负责从内存的指定部分取出指令,送至指 令流队列中排队,在执行指令时所需要的操作数, 也由BIU从内存的指定区域取出,传送给EU部分 去执行。 EU部分负责指令的执行。这样,取指部分与执 行指令部分是分开的,于是在一条指令的执行过 程中,就可以取出下一条(或多条)指令,在指令 流队列中排队。在一条指令执行完以后就可以立 即执行下一条指令,减少了CPU为取指令而等待 的时间,提高了CPU的利用率,提高了整个运行 速度。
2.1.1 Intel 8086微处理器
从历史的观点看,IA-32结构微处理器同 时包括16位微处理器和32位微处理器。目 前,对于许多操作系统和十分广泛的应用 程序,32位IA-32结构是最流行的计算机结 构。 IA-32结构的最重要的成就之一,是在从 1978年开始的那些处理器上建立的目标程 序仍然能够在IA-32结构系列的最新的处理 器上执行。
第 2 章 IA-32结构微处理器
本章讲述: 2.1 IA-32微处理器的概要历史 2.2 IA-32微处理器的功能结构 2.3 IA-32微处理器的执行环境
2.1.4 Intel奔腾(Pentium)处理器
Intel 奔腾(Pentium)处理器增加了第 二个执行流水线以达到超标量性能(两个 已知的流水线u和v一起工作,实现每个时 钟执行两条指令)。片上的一级Cache也加 倍了,8KB用于代码,另外8KB用于数据。 数据Cache 使用MESI协议以支持更有效的 回写方式,以及由Intel 80486 处理器使用 的写通方式。加入的分支预测和片上的分 支表增加了循环结构中的性能。
BIU负责从内存的指定部分取出指令,送至指 令流队列中排队,在执行指令时所需要的操作数, 也由BIU从内存的指定区域取出,传送给EU部分 去执行。 EU部分负责指令的执行。这样,取指部分与执 行指令部分是分开的,于是在一条指令的执行过 程中,就可以取出下一条(或多条)指令,在指令 流队列中排队。在一条指令执行完以后就可以立 即执行下一条指令,减少了CPU为取指令而等待 的时间,提高了CPU的利用率,提高了整个运行 速度。
2.1.1 Intel 8086微处理器
从历史的观点看,IA-32结构微处理器同 时包括16位微处理器和32位微处理器。目 前,对于许多操作系统和十分广泛的应用 程序,32位IA-32结构是最流行的计算机结 构。 IA-32结构的最重要的成就之一,是在从 1978年开始的那些处理器上建立的目标程 序仍然能够在IA-32结构系列的最新的处理 器上执行。
第二章 IA-32结构微处理器

15
AH BH CH DH
SP BP SI DI IP PSW CS DS SS ES
AL BL CL DL
数据寄存器
指针寄存器
变址寄存器
通 用 寄 存 器
控制寄存器
段寄存器
0
2.1 8086处理器结构
2.1.2 8086的内部寄存器结构 通用寄存器包含数据寄存器、地址指针寄存 器和变址寄存器
2.1.2 8086的内部寄存器结构 1、通用寄存器
变址寄存器SI和DI
SI:源变址寄存器;DI:目的变址寄存器; SI和DI一般与DS联合,可以确定源存储单元和目的 存储单元的物理地址; SI和DI具有自动增加或减小1的能力;
2.1 8086处理器结构
2.1.2 8086的内部寄存器结构 2、段寄存器
2.1 8086处理器结构
2.1.2 8086的内部寄存器结构 3、控制寄存器
位编号 15 14 13 12 11 10 9 名 称 8 7 6 5 4 AF 3 2 PF 1 0 CF OF DF IF TF SF ZF
条件码标志包含CF、PF、AF、ZF、SF、OF。
条件码标志的值一般由处理器根据运算结果自动设置, 其值与操作数有关;
AF,Auxiliary Carry Flag,辅助进位位
表征运算过程中第3位是否向第4位发生进位;
15 14 … 4 3 2 1 0
AF
PF,Parity Flag,奇偶效验位
当前累加器中所存放的数的奇偶效验情况; PF = 1,低8位中有偶数个‘1’; PF = 0,低8位中有奇数个‘1’;
1、总线接口单元
寄存器包括:CS、DS、SS、ES和IP; 20位地址加法器 6个字节的指令队列 总线控制接口 处理器与外部总线的接口电路 外部总线包括地址总线(20),数据总线(16)及 控制总线。
AH BH CH DH
SP BP SI DI IP PSW CS DS SS ES
AL BL CL DL
数据寄存器
指针寄存器
变址寄存器
通 用 寄 存 器
控制寄存器
段寄存器
0
2.1 8086处理器结构
2.1.2 8086的内部寄存器结构 通用寄存器包含数据寄存器、地址指针寄存 器和变址寄存器
2.1.2 8086的内部寄存器结构 1、通用寄存器
变址寄存器SI和DI
SI:源变址寄存器;DI:目的变址寄存器; SI和DI一般与DS联合,可以确定源存储单元和目的 存储单元的物理地址; SI和DI具有自动增加或减小1的能力;
2.1 8086处理器结构
2.1.2 8086的内部寄存器结构 2、段寄存器
2.1 8086处理器结构
2.1.2 8086的内部寄存器结构 3、控制寄存器
位编号 15 14 13 12 11 10 9 名 称 8 7 6 5 4 AF 3 2 PF 1 0 CF OF DF IF TF SF ZF
条件码标志包含CF、PF、AF、ZF、SF、OF。
条件码标志的值一般由处理器根据运算结果自动设置, 其值与操作数有关;
AF,Auxiliary Carry Flag,辅助进位位
表征运算过程中第3位是否向第4位发生进位;
15 14 … 4 3 2 1 0
AF
PF,Parity Flag,奇偶效验位
当前累加器中所存放的数的奇偶效验情况; PF = 1,低8位中有偶数个‘1’; PF = 0,低8位中有奇数个‘1’;
1、总线接口单元
寄存器包括:CS、DS、SS、ES和IP; 20位地址加法器 6个字节的指令队列 总线控制接口 处理器与外部总线的接口电路 外部总线包括地址总线(20),数据总线(16)及 控制总线。
微机原理第2章-IA32微处理器的功能结构

2.3.4 基本程序执行寄存器
0
15
16
31
0
15
0
15
16
31
7
8
AL
BL
CL
DL
AH
BH
CH
DH
EAX
EBX
ECX
EDX
ESP
EBP
ESI
EDI
1.通用寄存器
EAX 累加器寄存器:存放操作数和结果 EBX 基址寄存器:在DS段中的数据指针;存放操作数 ECX 计数寄存器:串和循环操作的计数器 EDX 数据寄存器:I/O指针
逻辑地址 是程序中使用的地址,它由段基址和段内偏移值所组成,段基址与段内偏移值都为16位的二进制数。
物理地址 也叫实际地址或绝对地址,是CPU访问存储器时实际使用的地址,为20位地址。 物理地址=段基址×16+段内偏移地址。
1
2
存储器物理地址的形成
【例】各独立段的分配情况示例。
设CS=B000H、DS=1CDEH、SS=4200H、ES=0150H,它们分别为代码段、数据段、堆栈段和附加段的段首址。自每个段首址开始,各段均占64KB的范围,各段之间互不重叠。
基本寄存器:在程序执行时暂时保存中间结果;在进行算术运算和逻辑运算时,通用寄存器任何一个都可以作为源操作数或目的操作数。
指针和变址寄存器
ESI 串操作的源指针 EDI 串操作的目标指针 ESP 堆栈指针 EBP 堆栈上数据指针
通用寄存器的特殊用途和隐含性质
6个段寄存器,保存16位段基址: CS 代码段 SS 堆栈段 DS 数据段 ES 附加段 FS 数据段F GS数据段G
指令的重叠操作
2.2.2 80386的功能结构
0
15
16
31
0
15
0
15
16
31
7
8
AL
BL
CL
DL
AH
BH
CH
DH
EAX
EBX
ECX
EDX
ESP
EBP
ESI
EDI
1.通用寄存器
EAX 累加器寄存器:存放操作数和结果 EBX 基址寄存器:在DS段中的数据指针;存放操作数 ECX 计数寄存器:串和循环操作的计数器 EDX 数据寄存器:I/O指针
逻辑地址 是程序中使用的地址,它由段基址和段内偏移值所组成,段基址与段内偏移值都为16位的二进制数。
物理地址 也叫实际地址或绝对地址,是CPU访问存储器时实际使用的地址,为20位地址。 物理地址=段基址×16+段内偏移地址。
1
2
存储器物理地址的形成
【例】各独立段的分配情况示例。
设CS=B000H、DS=1CDEH、SS=4200H、ES=0150H,它们分别为代码段、数据段、堆栈段和附加段的段首址。自每个段首址开始,各段均占64KB的范围,各段之间互不重叠。
基本寄存器:在程序执行时暂时保存中间结果;在进行算术运算和逻辑运算时,通用寄存器任何一个都可以作为源操作数或目的操作数。
指针和变址寄存器
ESI 串操作的源指针 EDI 串操作的目标指针 ESP 堆栈指针 EBP 堆栈上数据指针
通用寄存器的特殊用途和隐含性质
6个段寄存器,保存16位段基址: CS 代码段 SS 堆栈段 DS 数据段 ES 附加段 FS 数据段F GS数据段G
指令的重叠操作
2.2.2 80386的功能结构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4. 浮点支持 工程应用、图形处理、科学计算等要 求浮点支持(实数运算)。因此,自 80486芯片开始,在x86系列微处理器中 集成了x87(及其增强)浮点单元。
5. MMX技术 为支持多媒体技术的应用,如音乐合 成、语音合成。语音识别、音频和视频 压缩(编码)和解压缩(译码)、2D 和 3D 图形(包括 3D 结构映像)和流视频 等等。x86系列处理器中增加MMX技术及 相应的指令
16位,无论作为数的表示,它能表示 的数的范围是十分有限的。用16位作为 地址,它只能表示64KB,更是一个十分 小的地址范围,远远不能满足应用的需 要。因而,于1985年,Intel公司推出了 第一个32位的微处理器 -- 80386,开创 了微处理器的32位时代。目前,计算机 正从32位向64位转移,但主流仍是32位 机。
2.2 8086的功能结构
一、8086微处理器 1.内部结构 2.寄存器结构
GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
到了奔腾处理器增加了第二个执行流水线 以达到超标量性能(两个已知的流水线u和v, 一起工作能实现每个时钟执行两条指令)。 Intel Pentium 4处理器是第一个基于Intel NetBurst微结构的处理器。Intel NetBurst微结 构是新的32bit微结构,它允许处理器能在比以 前的X86系列处理器更高的时钟速度和性能等 级上进行操作。Intel Pentium 4处理器有快速 的执行引擎、Hyper流水线技术与高级的动态 执行。使指令执行的并行性进一步提高,从而 做到在一个时钟周期中可以执行多条指令。
随着PC机的大量普及,随着硬件性能的迅 速提高。要求有能保护操作系统核心软件的多 任务操作系统。为使这样的操作系统能在微型 计算机系统中应用与普及,要求微处理器本身 为这样的操作系统提供支持。于是,从80286 开始,在80386中真正完善保护模式。在保护 模式下,程序运行于四个特权级。这样,可以 实现操作系统核心程序与应用程序的严格的隔 离。保护模式支持多任务机制,任务之间完全 隔离。
3. 片内存储管理单元 - MMU 32位地址,可寻址4GB物理地址。但大多 数PC机的物理内存配置远小于4GB。但应用程 序却需要庞大的地址空间。因此,在操作系统 中提供了虚拟存储器管理机制,而这要求硬件 支持。因而,在80386中提供了片内的MMU。 提供了4K页、页表等支持。 以上三点是80386相对于8086的主要功能 扩展。
128 位指令设计以支持媒体和科学应 用。由这些指令所用的向量操作数允许 应用程序在多个向量元素上并行操作。 元素能是整数(从字节至四字)或浮点 数(单精度或双精度)。算术运算产生 有符号的、无符号的和/或混合的结果。
2.1.2 8086性能的提高
x86系列系列芯片的发展的一个重要方面是 提高性能。 1. 利用流水线技术提高操作的并行性 提高性能的一个重要方面是利用超大规模 集成电路的工艺与制造技术提高芯片的主频。 即减少一个时钟周期的时间。提高性能的另一 重要方面是缩短执行指令的时钟周期数。在 8086中,利用流水线把取指令与执行指令重叠, 减少了等待取指令的时间,从而使大部分指令 的执行为四个时钟周期。
2.1 x86系列 微处理器是8086的延伸 如上章所述,x86系列结构微处理器 的增长基本上按摩尔定律发展,已经经 历许多代。但从使用者(包括程序员) 的角度来看,它是以8086处理器为基础, 是一个兼容的微处理器系列,是8086在 功能上和性能上的延伸。
2.1.1 8086功能的扩展
1. 从16位扩展为32位 8086是16位微处理器。它的内部寄存器 的主体是16位的。它的主要用于存放操 作数的数据寄存器是16位的。它的主要 的用作为地址指针的指针寄存器也是16 位的。依赖分段机制,用20位段基地址 加上16位的偏移量形成了20位的地址, 以寻址1MB的物理地址。
(3 ).二点说明
指令队列
8086 的指令队列为6个字节, 8088 的指令队列为4个字节。 不论是8086还是8088都会在执行指令的同时从内存中取下一条或 几条指令,取来的指令放在指令队列中,使 BIU 具有预取指令的 功能,是一种先进先出(FIFO)的数据结构。
指令执行顺序
顺序指令执行:指令队列存放紧接在执行指令后面的那一条指令。
分两部分: 1、总线接口单元 BIU(Bus Interface Unit)
2、执行部件 EU (Execution Unit)
20 位 地址加法 通用 寄存器 AH BH CH DH SP BP DI SI 16 位
运算寄存器 执行部分
AL BL CL DL
16 位 CS DS SS ES IP
2. 从实模式至保护模式 当1981年,IBM公司刚推出IBM-PC时, 主频是5MHz,内存是64KB-128KB,没 有硬盘,只有单面单密度的软盘,到了 PC/XT,才有10MB硬盘。在这样的硬件 资源下,采用的操作系统是PC-DOS (MS-DOS)。这是单用户、单任务的磁 盘操作系统。操作系统本身没有程序隔 离、没有保护。这是DOS遭受病毒泛滥 的内因。
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
VCC (5V) AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD (RQ/GT0) HLDA (RQ/GT1) WR M/IO DT/R DEN ALE INTA TEST READY RESET (LOCK) (S2) (S1) (S0) (QS0) (QS1)
CPU执行指令时,要配合执行部件从指定的内存单元 或者外设端口中取数据,将数据传送给执行部件; 或把执行部件的操作结果传送给指定的M或I/O口。
(2).组成 4 个段地址寄存器(CS、DS、ES、SS),
16位指令指针寄存器IP,
20位的地址加法器(16d段地址+偏移地址=物理地址),
6. 流SIMD扩展(SSE) 自Pentium III处理器开始,在x86系 列微处理器中引进了流SIMD(单指令多 数据)扩展(SSE)技术。SSE扩展把由 Intel MMX引进的SIMD执行模式扩展为 新的128位XMM寄存器和能在包装的单精 度浮点数上执行SIMD操作。
奔腾4处理器又进一步扩展为流SIMD 扩展2(SSE2): — 用144条新指令扩展Intel MMX技 术和SSE扩展,它包括支持: • 128位SIMD整数算术操作。 • 128位SIMD双精度浮点操作。
内部暂存器
输入/输出 控制电路
外部 总线
ALU
标志
控制电路
8位
1 2 3 4 5 6 指令队列 缓冲器 总线接口部件(BIU)
执行部件(EU)
8086编程结构
1、总线接口单元 BIU(Bus Interface Unit)
(1).功能:负责与 M、I/O 端口传送数据。 具体讲:
总线接口部件要从内存 取指令送到指令队列;
执行转移指令:BIU 清除指令队列中的内容,从新的地址取入指 令,立即送往执行单元,然后再从新单元开始重 新填满队列。
2、EU (Execution Unit)执行单元
(1)、 功能:负责指令执行。 (2)、 组成:
4个通用寄存器:AX、BX、CX、DX 4个专用寄存器:BP、SP、SI、DI, 标志寄存器(FLAGS): 9个标志位,其中6个条件标志位用于存放结果状态, 算术逻辑单元: 16 位加法器,用于对寄存器和指令操作数进行算术或逻辑运算, EU 控制系统: 接受从总线接口单元的指令队列中取来的指令代码, 对其译码和向 EU 内各有关部分发出时序命令信号, 协调执行指令规定的操作。
总之,x86系列系列处理器芯片就是 沿着这样的思路发展的。因此,8086是 x86系列系列处理器的基础。而且,任一 种x86系列处理器芯片在上电后,就是处 在8086的实模式。根据需要,用指令进 入各种操作模式。所以,学习x86系列处 理器必须学习掌握8086,也只能从8086 入手。
从指令,从编程来说,几乎没有用汇 编语言来使用浮点指令、MMX指令与 XMM指令的,都是通过高级语言来使用 这些指令的。因而,绝大部分程序员, 除了编写操作系统代码的外,面对x86系 列处理器的指令,实际上是面对8086指 令。 因此,本书从8086入手来学习与掌握 x86系列处理器。
32位,无论从能表示的数的范围,还 是能寻址的物理地址,特别是能寻址的 物理地址都极大的扩展了。使得微处理 器能取代以前的所谓“大型机”,能应 用于各种领域,从而极大地促进了计算 机在各行各业中的应用。 32位地址能寻址4GB物理地址。到目 前,仍远大于主流计算机的实际内存配 置,仍有广阔的应用余地。
80386利用芯片内由6个能并行操作的功能 部件组成,从而使执行一条指令缩短为两个时 钟周期。 80486将80386处理器的指令译码和执行部 件扩展成五级流水线,进一步增强了其并行处 理能力,在五级流水线中最多可有五条指令被 同时执行,每级都能在一个时钟周期内执行一 条指令,80486微处理器最快能够在每个CPU 时钟周期内执行一条指令。
第2章 80x86系列结构微处理器与8086
本章讲述:
2.1 80x86系列微处理器是8086的延伸 2.2 8086的功能结构 2.3 8086微处理器的执行环境
本章重点难点
本章介绍微型计算机系统中的核心部件微处 理器(CPU),通过学习CPU的功能结构,掌 握CPU中的两个独立单元(执行单元EU和总线 接口单元BIU的并行执行过程;通过介绍8086 寄存器结构,学习汇编语言程序设计所需的14 个寄存器,掌握这些寄存器的正确使用;通过 介绍8086/8088的存储器组织与分段、I/O端口 地址空间等基本知识,了解8086CPU与外围电 路的关系。