第二章 IA-32结构微处理器

合集下载

第2章 IA-32结构微处理器与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功能的扩展

chapter2IA-32处理器体系结构

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):一组用于在计算机各部分之间传送 总线 数据的并行线。

第2章 Intel IA-32处理器结构与原理

第2章 Intel IA-32处理器结构与原理

(2)数据相关 某条指令的操作数依赖前一条或前几条指令的运行 结果,这就是所谓的数据相关。
① 写后读相关(RAW,Read After Write) A=B+C D=3*A // 在数据A上写后读 ② 读后写相关(WAR,Write After Read) A=B+C B=D*2 // 在数据B上读后写
1.指令间的相关性
(1)结构相关 所谓结构相关(也称为名相关)是指不同指令同时 存取相同的寄存器或存储器,但这些指令间不存在数 据流。
在冯· 诺依曼存储结构中,数据和程序放在同一存 储器,如果此时一条指令要读或写数据,而刚好取 指单元要取指令,就出现结构相关
5
1.指令间的相关性
现代微机原理与接口技术(第3版)
I1 I2 I3 I4 I5 I6 I7 I8 I9
IF
IF IF ID ID ID IF OF OF OF ID ID ID IF EX EX EX OF OF OF ID WB WB WB EX EX EX OF OF OF WB WB WB EX WB WB WB
思考:超标度为几?
IF
IF
IF
10
3. 动态执行技术的使用(P6架构开始)
推测执行
现代微机原理与接口技术(第3版)
在分支预测基础上,推测分支路径,并按推测执行。 一旦证实分支预测正确,已提前建立的“预测结果”立 即变成“最终结果”并及时修改机器的状态。
寄存器重命名
如果两条指令只是寄存器名字相重,实际数据并不相关 ,可以对其中一条指令的换寄存器来解决。 寄存器重命名技术是在指令被译码成微代码时将IA指令 使用的IA通用寄存器映射成微代码使用的内部寄存器。
时钟频率

第2章IntelIA-32处理器结构与原理

第2章IntelIA-32处理器结构与原理

行引擎,总线接口与L2 Cache 。
• 结构上有支持HT技术的和不支持HT技术的双核结构
• 多核(Multi-Core)、众核(Many-Core)技术
Pentium D IA-32处理器
Pentium EE IA-32处理器
A
AS
执行S引擎 执行引擎
Local APIC Local APIC L2 Cache L2 Cache
n 例如Pentium 4的流水线就长达20级。将流水线 设计的步(级)越长,其完成一条指令的速度越快, 因此才能适应工作主频更高的CPU。
n 但是流水线过长也带来了一定副作用,很可能会 出现主频较高的CPU实际运算速度较低的现象
n Intel的奔腾4就出现了这种情况,虽然它的主频 可以高达1.4G以上,但其运算性能却远远比不 上AMD 1.2G的速龙甚至奔腾III

分 页
③ 地址生成 地址生成
(U流水线) (V流水线)


整数寄存器组
控制 ROM
②=首次译码 ③=二次译码 ④=指令执行 ⑤=写回R
浮点部件
控制 寄存器组
64位数 据总线
32位地 址总线
④ ALU
ALU
(U流水线) (V流水线)
桶形移位器
32位

数据 Cache
32位 TLB 8KB 32位
32位
3.高级动态执行
• 一个高达126条指令的超大指令窗口,避免了处理器 为了等待配对指令而出现暂时的停顿,也减少了因 Cache没命中,到主存中获取数据而产生等待的次 数。
• 一个4KB的分支目标缓冲器BTB记录更多的过去分 支的历史细节,再配以改进的分支预测算法,使分 支预测失误率比Pentium III下降了33% 。

第2章 IA-32架构

第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
寄存器名

IA-32处理器的功能结构

IA-32处理器的功能结构
的数据 堆栈段(Stack Segment)主存中堆栈所在的区
域。程序使用的堆栈一定在堆栈段。 代码段寄存器CS,堆栈段寄存器SS,数据段寄存器
DS,附加段寄存器ES 。FS和GS都属于数据段性质 的段寄存器 段寄存器属于专门的寄存器,不能与通用寄存器一 样使用,只能用于保存与段基地址有关的信息
总线接口单元
指令队列、指令指针、段寄存器、地址加法器和总线 控制逻辑
管理与系统总线的接口,负责对存储器和外设访问
执行单元
ALU、通用寄存器、标志寄存器和控制电路 负责指令译码、数据运算和指令执行
指令执行的两个主要阶段:取指和执行
取指:从主存取出指令代码进入指令队列 执行:译码指令、并发出有关控制信号实现指令功能
处理器按照无符号整数求得结果 设置进位标志CF 设置溢出标志OF
程序员决定 操作数是无符号数,关心进位 操作数是有符号数,注意溢出
IA-32处理器的功能结构
溢出标志的判断方法
处理器硬件判断规则
最高位和次高位同时有进位或同时无进位, 无溢出;最高位和次高位进位状态不同,有 溢出
人工判断的简单规则
数据存储格式举例
例2-4 在0x1000开始的存储单元依次存放的
字节是0x12,0x34,0x56,0x78,如图2-7所
示。分别以字节、字和双字访问存储单元,
其结果如何?
0x1004
...
0x1003
0x78
0x1002
0x56
0x1001
0x34
0x1000
0x12
图2-7各单元存储情况
IA-32处理器的功能结构
执行CLI指令设置IF=0 执行STI指令设置IF=1
IA-32处理器的功能结构

第2章 Intel IA-32处理器结构与原理教学提纲

第2章 Intel IA-32处理器结构与原理教学提纲

取指1 译码1 执行1 取指2 译码2 执行2 取指3译码3 执行3
取指1 译码1 执行1
取指2 译码2 执行2
流水线执行方式
取指3 译码3 执行3
2
2. CISC与RISC技术
现代微机原理与接口技术(第2版)
复杂指令集计算机(CISC) :指令格式比较复杂,通 常采用不等长指令设计,指令的寻址方式丰富,绝大多 数指令的执行需要多个时钟周期。 缺点:
为了提高指令流的执行效率,乱序执行核心监视很 多条指令,然后在不损失数据完整性的前提下,采用 能充分发挥多个处理部件并行工作的指令顺序来执行 。这个指令顺序可能和原始程序的不一样。
1)A=B+C 2)P=A*2 3)Q=D-E
1)和3)可配对同时执行
10
2.2.2 Pentium III处理器内部结构现及代微工机作原理原与接理口技术(第2版)
MOV AX, 200 MOV CX, AX
MOV AX, 200 MOV AX, 412
8
2.2 P6微结构的处理器
现代微机原理与接口技术(第2版)
L2 Cache
2.2.1 P6微结构概述
后端总线

• 采用12级3流水超标量结构
Pentium II
• 多路分支预测
FSB 前端总线
-预测分支未来的方向,为处理器预 北桥 先译码分支之后的指令提供依据
• 随着计算机结构的改进,指令的功能和指令条数增加 ,指令系统变得异常庞大。
• 复杂的指令格式和众多的寻址方式使得组合逻辑电路 设计更为复杂,采用微程序又会降低执行速度。
• 复杂不规整的指令会降低流水线的性能
• 随着指令条数的增加,完成同一任务的指令组合变多 ,编译系统在最后优化的时候分析就变得更加困难

数字电子技术 第2章 IA-32结构微处理器与8086

数字电子技术 第2章 IA-32结构微处理器与8086

2.1 IA-32微处理器是8086的延伸
Intel 8086
功能扩展
性能提高
IA-32
6
物理与电子电气工程学院
2.1 IA-32微处理器是8086的延伸
16位扩展为32位 实模式到保护模式
浮点支持
功能扩展
MMX技术
流SIMD扩展(SSE)
MMU
7
物理与电子电气工程学院
2.1 IA-32微处理器是8086的延伸
器与外界设备传送数据.
BX(base):基址寄存器,常用于地址索引; CX(count):计数寄存器,常用于计数/保存计算值,如在移
位指令,循环(loop)和串处理指令中用作隐含的计数器. DX(data):数据寄存器,常用于数据传递。
15
物理与电子电气工程学院
1.通用寄存器
SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目 前的堆栈位置; BP(Base Pointer):堆栈上的数据指针,可用作SS的一个
流水线技术
性能提高
片内缓存
8
物理与电子电气工程学院
2.2 8086的功能结构
通用 寄存 器
AH BH CH DH AL BL CL DL SP BP SI DI
16位
地址 位
16位
输入/输出 控制电路
存 储 器 接 口
ALU
标志寄存器
执行部分 控制电路
mov al,10000001B add al,1 结果: (al)=10000010B
24
物理与电子电气工程学院
3. FLAGS寄存器
(4) CF(Carry Flag)进位标志位
flag的第0位是CF。 一般情况下,在进行无符号数运算的时候,它记 录了运算结果的最高有效位向更高位的进位值, 或从更高位的借位值。

第 2 章 IA-32结构微处理器1

第 2 章  IA-32结构微处理器1

40
第1章 微型计算机基础
4.指令指针 指令指针(IP)寄存器包含下一条要 执行的指令在当前码段中的偏移。通常, 它是顺序增加的,从一条指令边界至下 一条指令,但在执行JMP、Jcc、CALL、 RET和IRET等指令时,它可以向前或向 后移动若干条指令。
41
第1章 微型计算机基础
IP寄存器不能直接由软件访问;它由 控制传送指令(例如,JMP、Jcc、CALL 和RET)、中断和异常隐含控制。读IP寄 存器的唯一方法是执行一条CALL指令, 然后从堆栈中读指令指针的返回值。IP 寄存器能由修改过程堆栈上指令指针的 返回值并执行返回指令(RET或IRET) 来间接修改。
第1章 微型计算机基础
14
第1章 微型计算机基础
2.3.2 基本的程序执行寄存器
处理器为了应用程序编程提供了如图2-4所示的14 个基本程序执行寄存器。 这些寄存器能分组如下: • 通用寄存器。这八个寄存器能用于存放操作数 和指针。 • 段寄存器。这些寄存器最多能保存四个段选择 子。 • FLAGS(程序状态和控制)寄存器。FLAGS寄 存器报告正在执行的程序的状态,并允许有限地(应 用程序级)控制处理器。 • IP(指令指针)寄存器。IP寄存器包合下一条要 执行的指令的16位指针。
27
第1章 微型计算机基础
28
第1章 微型计算机基础
在处理器初始化(由RESET脚或INIT脚有 效)之后,FLAGS寄存器是0002H。此寄存器 的位1、3、5、12-15保留。 FLAGS寄存器中以下指令能用于标志组与 堆栈或AX寄存器之间的移动:LAHF、SAHF、 PUSHF、POPF。在FLAGS寄存器的内容已经 传送至过程堆栈或AX寄存器之后,标志能作 修改。 当调用中断或异常处理时,处理器自动保 存FLAGS寄存器的状态至堆栈上。

第02章 2_IA-32结构微处理器与8086

第02章 2_IA-32结构微处理器与8086

(4)复位/中断控制( RESET,INTR,NMI) RESET是复位信号输入,它为高电平时强制 8086微处理器从已知的初始状态开始执行程序。 复位后8086微处理器总是从地址为FFFF0H的存 储单元开始执行指令。 INTR是可屏蔽中断请求输入;高电平时表示有 外部中断请求。 NMI是非屏蔽中断请求输入 。
第2章 IA-32结构微处理器和8086
标志寄存器FLAGS
第2章 IA-32结构微处理器和8086
举例
思考题:以下的几个 位十六进制数相加 位十六进制数相加, 思考题:以下的几个4位十六进制数相加,会使得 8088状态寄存器的以下几位为什么值? 状态寄存器的以下几位为什么值? 状态寄存器的以下几位为什么值 C000H 4008H 8000H + 8000H + C000H + 4008H 0000H 8000H 8010H 1 0 1 1 0 1 0 1 1 0 0 1 0 0 1 0 1 1 0808H + C000H C808H 0 0 0 0 1 0
BUS
忙碌
忙碌
忙碌
忙碌
忙碌
忙碌
t0
t1
t2
t3
t4
t5
6个周期 执行了5条 指令
第2章 IA-32结构微处理器和8086
2.2 8086的功能结构 的功能结构
• 8086 CPU从功能上来说分成两大部 分:总线接口单元(Bus Interface Unit, BIU)和执行单元(Execution Unit, EU)。 • BIU负责8086 CPU与存储器之间的 信息传送。 • EU负责指令的执行。
ALU 标志 执行部件
总线接口部件
第2章 IA-32结构微处理器和8086

微机原理第2章-IA32微处理器的功能结构

微机原理第2章-IA32微处理器的功能结构
CY=1 CS=1
C=1 O=C CS=0
3、EFLAGS寄存器 、 寄存器
(1)状态标志位 状态标志位
天 津 工 业 大 学 计 算 机 技 术 与 自 动 化 学 院
CF:进位标志位,当执行一个加法运算指令使最高位 产生进位时,或者执行一个减法运算指令使最高位引起 借位,则CF=1;否则CF=0。 PF:奇偶标志位,若运算结果的低8位中所含1的个数 为偶数,则PF=1;否则PF=0。 AF:辅助进位标志位。当加法运算时,如果第三位往 第四位有进位,或者当减法运算时,第三位从第四位有 借位,则AF=1;否则AF=0。 ZF:零标志位,当运算结果为0时,ZF=1;否则ZF=0。 SF:符号标志位,当运算结果的最高位为1时,SF=1; OF:溢出标志位,在算术运算中,带符号数的运算结 果超出了8位(+127~-128)或者16位(+32767~32768)数据所能表达的范围时,则OF=1。 IF:中断允许标志位。若IF=1,则CPU可以响应可屏 蔽中断请求;
天 津 工 业 大 学 计 算 机 技 术 与 自 动 化 学 院
【例】各段相互重叠情况示例。 各段相互重叠情况示例。
设CS=0200H、DS=0400H、SS=0480H,这样代 码段、数据段和堆栈段的物理首地址分别为 02000H、04000H和04800H。其中代码段占 8KB地址空间,数据段占2KB,堆栈段占256B, SP=0100H。如图所示。
天 津 工 业 大 学 计 算 机 技 术 与 自 动 化 学 院
计算机体系结构(应用)、组成(设计) 计算机体系结构(应用)、组成(设计) )、组成 及物理实现(制造) 及物理实现(制造)
“系统结构 是指概念性结构和功能特性(功能模块), 系统结构” 概念性结构和功能特性( 系统结构 概念性结构和功能特性 功能模块) 就相当于动物的器官组成及其功能特性,如鸡有胃,胃 可以消化食物。至于鸡的胃是什么形状的、鸡的胃部由 什么组成就不是“系统结构”研究的问题了,而是“系 统组成”研究的问题。所谓“系统组成 系统组成”就是在逻辑上 系统组成 如何实现这种功能(功能模块的组成器件)。而计算机 计算机 物理实现,主要着眼于器件技术和微组装技术(器件的 物理实现 物理实现)。

《微型计算机原理及应用》课件第 2 章 IA-32结构微处理器

《微型计算机原理及应用》课件第 2 章  IA-32结构微处理器

2.3 8086微处理器的执行环 境
本节描述汇编语言程序员看到的8086 处理器的执行环境。它描述处理器如何 执行指令及如何存储和操作数据。执行 环境包括内存(地址空间)、通用数据 寄存器、段寄存器、标志寄存器 (EFLAGES)和指令指针寄存器等。
2.3.1 基本执行环境概要
在8086处理器上执行的程序或任务都 有一组执行指令的资源用于存储代码、 数据和状态信息。这些资源构成了8086 处理器的执行环境。 地址空间 8086处理器上运行的任一任务或程序 能寻址1MB(220)字节的线性地址空间。
二、执行部件EU
1. EU的功能:
负责指令的执令。译码指令并利用 内部寄存器和ALU来处理数据。
2. 结构组成
四个通用寄存器AX,BX,CX,DX。 四个专用寄存器: 基数指针寄存器BP,堆栈指针寄存器SP, 源变址寄存器SI,目的变址寄存器DI。
标志寄存器FR。 算术逻辑单元ALU。
这些通用寄存器中的前四个,即AX、 BX、CX、DX通常称为数据寄存器,用以 存放操作数。后四个,即SI、DI、BP、 SP通常称为指针寄存器。虽然它们也可 以存放操作数,但主要用作地址指针。 数据寄存器AX、BX、CX和DX又可以分别 作为AH、BH、CH和DH(高字节)以及 AL、BL、CL和DL(低字节)8位寄存器 引用,如图2-5所示。
8086处理器的基本执行环境如图2-4所示。
2.3.2 基本的程序执行寄存器
处理器为了应用程序编程提供了如图2-4所示的14个基本程序 执行寄存器。 这些寄存器能分组如下: 通用寄存器 这八个寄存器能用于存放操作数和指针。 段寄存器 这些寄存器最多能保存四个段选择子。 FLAGS寄存器 FLAGS寄存器报告正在执行的程序的状 态,并允许有限地(应用程序级)控制 处理器。 IP寄存器 IP寄存器包合下一条要执行的指令的16位指针。

第 2 章 IA-32结构微处理器

第 2 章  IA-32结构微处理器

2.1.1 Intel 8086微处理器
从历史的观点看,IA-32结构微处理器 同时包括16位微处理器和32位微处理器。 目前,对于许多操作系统和十分广泛的应用 程序,32位IA-32结构是最流行的计算机结 构。 IA-32结构的最重要的成就之一,是在 从1978年开始的那些处理器上建立的目标 程序仍然能够在IA-32结构系列的最新的处 理器上执行。
5. EU控制电路:它是控制、定时与状态逻辑电路,接收
从BIU中指令队列取来的指令,经过指令译码形成各种定时控
制信号,对EU的各个部件实现特定的定时操作。
8088CPU内部结构与8086基本相似,两者的执行单元EU完
全相同,其指令系统,寻址方式及程序设计方法都相同,所以
两种CPU完全兼容。区别仅在于总线接口单元BIU,归纳起来 主要有以下几个方面的差异:
3.20位地址加法器 8086/8088CPU在对存储单元进行访问以读取指令或读/写 操作数时,必须在地址总线上提供20位的地址信息,以便选中
对应的存储单元。那么,CPU是如何产生20位地址的呢?
CPU提供的用来对存储单元进行访问的20位地址是由BIU
中的地址加法器产生的。
存储器中每个存储单元的地址可有以下两种表示方式: 逻辑地址:其表达形式为“段地址:段内偏移地址”。段 内偏移地址又称为“有效地址EA(Effective Address)。在读指令
1. 8086/8088 CPU的内部结构
执行部件EU 16 寄存器阵列 ALU及 标志寄存器 控制电路 数据及操作数 地址加法器 总线控 制电路 指令流队列 指令码 多路复用 地址/数据总线 指令译码器 8086:16位 8088:8位 段寄存器及指 令指针 总线接口部件BIU

微机第2章 IA32结构微处理器及其体系结构

微机第2章 IA32结构微处理器及其体系结构


IP(指令指针)寄存器 组成了执行通用指令的基本执行环境。
这些指令执行字节、字整型数的基
本整数算术运算,处理程序流程控制,在字节
串上操作并寻址存储器。



机 机
➢• 堆栈(stack):为支持过程或子程序调用并在过程或子


程序之间传递参数,堆栈和堆栈管理资源包含在基本执行
·
环境中。堆栈定位在内存中。
、Jcc、CALL、RET和IRET等指令时,它可以向前或向
后移动若干条指令。



机 机
➢ IP寄存器不能直接由软件访问,它由控制传送
原 理
指令(例如,JMP、Jcc、CALL和RET)、中断
· 和异常隐含控制。

2 版
➢ 读IP寄存器的唯一方法是执行一条CALL指令,
电 然后从堆栈中读指令指针的返回值。IP寄存器


算 机
➢ 溢出的判断方法:
机 原

正数和正数相加得负
理➢
负数和负数相加的正
· 第

2➢

正数和负数相减得负 负数和正数相减得正
则OF=1,否则OF=0
电 ④ 符号标志SF(Sign Flag)

工 业
➢ 指令执行的结果的最高位(字操作时为D15)为1,则SF=1;
出 否则,SF=0。

社 ➢ 在IA-32结构微处理器中,符号数是用补码表示的,所以S表
电 ➢ CS和IP组成下一条要执行指令的逻辑地址 。

工 业

数据段寄存器DS:
用于存放正在处理或正待处理的数据段的
出 起始地址的高16位(数据段段基址)

第 2 章 IA32结构微处理器PPT课件

第 2 章  IA32结构微处理器PPT课件

2.1.2 8086性能的提高
1. 利用流水线技术提高操作的并行性
提高性能的一个重要方面是利用超大规模 集成电路的工艺与制造技术提高芯片的主频。即 减少一个时钟周期的时间。提高性能的另一重要 方面是缩短执行指令的时钟周期数。在8086中, 利用流水线把取指令与执行指令重叠,减少了等 待取指令的时间,从而使大部分指令的执行为四 个时钟周期。
这些通用寄存器中的前四个,即AX、 BX、CX、DX通常称为数据寄存器,用以 存放操作数。后四个,即SI、DI、BP、SP 通常称为指针寄存器。虽然它们也可以存 放操作数,但主要用作地址指针。数据寄 存器AX、BX、CX和DX又可以分别作为 AH、BH、CH和DH(高字节)以及AL、 BL、CL和DL(低字节)8位寄存器引用, 如图2-5所示。
DS、ES寄存器指向两个数据段。两 个数据段的可用性,允许有效而又安全地 访问数据结构的不同类型。例如,可只建 立两个不同的数据段:一个用于当前模块 的数据结构,另一个用于从较高级模块输 出的数据。为了访问附加的数据段,应用 程序必须按需要把这些段的段选择子加载 至DS、ES寄存器中。
SS寄存器包含堆栈段的段选择子。所 有的堆栈操作都用SS以找到堆栈段。不像 CS寄存器,SS寄存器能显式加载。它允许 应用程序设置多个堆栈并在堆栈之间切换。
3. 片内存储管理单元 - MMU
32位地址,可寻址4GB物理地址。但大 多数PC机的物理内存配置远小于4GB。但应 用程序却需要庞大的地址空间。因此,在 操作系统中提供了虚拟存储器管理机制, 而这要求硬件支持。因而,在80386中提供 了片内的MMU。提供了4K页、页表等支持。
以上三点是80386相对于8086的主要功 能扩展。
4. 浮点支持
工程应用、图形处理、科学计算等要 求浮点支持(实数运算)。因此,自80486 芯片开始,在IA-32微处理器中集成了x87 (及其增强)浮点单元。

第2章 IA-32结构微处理器

第2章  IA-32结构微处理器

5-5
微处理器的发展趋势
复杂还是简单:另一个角度看问题
微处理器内部结构越来越复杂:不论是RISC还是CISC 通用微处理器在某些领域不能“通用”:如超级计算机 IBM BlueGene:使用PowerPC440(一个结构简单、性能并 不高的CPU Core),进行浮点SIMD扩展,采用双核结构 (只有700MHz),构成了世界上最快的计算机系统 由IBM、Sony和Toshiba三家联合开发的游戏机用CPU,包 括惊人的9个核心(一个Power核心+8个计算核心),工 作频率在3.2GHz以上,还可应用在其它领域 这两种微处理器(尽管一定程度上是专用的CPU),说明简 单也可以高效,取决于体系结构和应用目标 不是主流、但很重要的高性能微处理器发展趋势:更加简单 但数量更多的核心,面向一定范围的应用
2.4.2 Cache 将主存储器中急需执行或处理的很小一部分代码 或数据调入Cache中,然后,微处理器直接与这种高 速的Cache进行指令调入和数据交换,这样,就比访 问主存储器快得多,基本能够实现与微处理器的同步。 当微处理器要从主存储器中读取指令或数据时, 首先检查要访问的内容是否在Cache中,若在,则从
4.指令指针
指令指针(EIP)寄存器包含下一条要执行的指令在当前码 段中的偏移。通常,它是顺序增加的,从一条指令边界至下一条 指令,但在执行JMP、Jcc、CALL、RET和IRET等指令时,它 可以向前或向后移动若干条指令。 8086的指令指针IP是EIP的低16位。由于在8086中地址指针 是16位的,故指令指针也是16位的。其功能相同。
2.5.4 基本的程序执行寄存器
处理器为了通用系统和应用程序编程提供了16个
基本程序执行寄存器,如图2-20所示。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

16×段地址+偏移地址=物理地址 例:DS=1000H, 20H 10000 12H + 501A 1501A 1501AH单元的内容为20H
1501AH
20
自动化与电气工程系
提问:
存储器的逻辑地址由哪几部分组成?存储器的物 理地址是怎样形成的? 一个具有20位地址线的CPU,其最大物理地址为 多少?
17
自动化与电气工程系
2.2 IA-32微处理器的功能结构
三、总线接口单元和执行单元的动作管理
1、当8086的指令队列有两个空字节,BIU自动取指令到指 令队列中; 2、执行部件EU准备执行一条指令时,它从BIU的指令队列取 指令,然后执行; 3、指令队列已满,BIU与EU又无总线请求时,总线接口部件 进入空闲状态。 4、执行转移指令、调用指令、返回指令时,BIU自动清除指 令队 列,然后从新地址取指令,并立即送给EU,然后再从 新单元开始,从新填满队列机构。 8086CPU的特点:BIU与EU是分开的,取指令与执行指令可 以重叠。提高执行速度。
27
自动化与电气工程系
2.2 IA-32微处理器的功能结构
四.80386的工作方式
1.80386的实地址方式 80386上电或复位时,处于实地址方式,与8086兼容 寻址机构、存储器管理与中断处理机构与8086一样, 寻址空间1MB, 256个中断向量 操作数默认长度为16位,但允许访问80386的32位 寄存器组,在使用时指令中要加上前缀以表示越权 存取。 存储器中保留两个固定区域,一个为初始化程序区: FFFF0~FFFFFH,另一个为中断向量区 00000~003FFH。 80386具有4个特权级,实地址方式下,程序在最 高级(0级)上执行。
10
自动化与电Байду номын сангаас工程系
2.2 IA-32微处理器的功能结构
2. 16位的指令指针寄存器IP: IP中的内容是下一条指令对现行代码段基地址 的偏移量,与段寄存器CS的内容相加,形成取 指令的物理地址。
3、20位地址加法器 例:CS=A000H,代码段可寻址的空间? CS左移四位: A000 0 H IP的内容:0000H ~ FFFF H
2.较大的存储空间
4GB(232)物理空间 64TB(64兆兆字节)虚拟空间 存储器的分段结构,一个段可达4GB
24
自动化与电气工程系
2.2 IA-32微处理器的功能结构
3.集成的存储管理部件 支持虚拟存储器 可选择的片内分页机构 与80286完全兼容 4.目标码与8086完全兼容 5.片内高速缓冲存储器 6.指令流水线结构 7.时钟12MHZ/16MHZ 8.完整的系统开发支持工具 软件:C.P/LM 汇编生成工具
32KB L1 512KB L2
MIPS每秒百万条指令 5
自动化与电气工程系
2.1 IA-32结构微处理器发展
1993年以来:32位机 Pentium——划时代的微处理器投入使用. 时钟:60~150MHZ,集成度310万只/管以上
Intel微处理器:形成IA-32结构
6
自动化与电气工程系
2.2 IA-32微处理器的功能结构
Pentium II
1995
440
200
5.5
32
64
64GB
16KB L1 256KB 或 512KB L2
32KB L1 256KB 或 512KB L2
1997
466
266
7
32
64
64GB
Pentium III
Pentium IV 注:
1999
2000
1000
500
1000
8.2
32
64
64GB
1
自动化与电气工程系
本章重点
8086CPU结构,原理 Intel 80286—80486微处理器特点
本章难点
8086CPU结构 32位处理器流水线结构
2
自动化与电气工程系
2.1 IA-32结构微处理器发展
2.1 IA-32结构微处理器发展 从8086CPU到奔4CPU形成: IA(Intel Architecture)结构 IA结构的最重要成就:1978年建立的目标程序 仍然可以在IA-32结构系列的CPU上运行。
物理地址:A0000 H ~ AFFFF H
11
自动化与电气工程系
2.2 IA-32微处理器的功能结构
4、6字节的指令队列 指令队列共六字节,总线接口部件BIU从内存 取指令,取来的总是放在指令队列中。 执行部件EU从指令队列取指令,并执行。
提问:
8086的总线接口部件有那几部分组成?
12
自动化与电气工程系
…...
25
自动化与电气工程系
二、80386的功能结构
总线接口部件BIU 指令预取部件IPU 指令译码部件IDU 存储器管理部件MMU 分页部件PU 分段部件SU 指令执行部件EU
26
自动化与电气工程系
2.2 IA-32微处理器的功能结构
三.80386的寄存器结构
寄存器:7类,32个寄存器,包括全部
2.2 IA-32微处理器的功能结构
8086的内部结构-成两部分:
2.2.1 Intel 8086微处理器结构(重点)
总线接口部件BIU: 总线接口单元BIU,负责CPU与存储器之间的信息传 送。 执行部件EU: 执行单元EU从指令队列中取出指令并执行。
特点:
取指令和执行指令分开进行,提高了速度。
7
自动化与电气工程系
通用 寄存 器
AH BH CH DH
AL BL CL DL SP BP SI DI
通用寄存器 四个专用寄存器
地址 加法 器

20位
SP:堆栈指针 CS BP:基址指针: DS SI: 源变址寄存器 SS ES DI:目的源变址寄存器
IP 算术逻辑单元ALU: 内部暂存器
16位
输入/输出 控制电路 外 部 总 线
15
自动化与电气工程系
2.2 IA-32微处理器的功能结构
状态标志位
进位标志CF: 运算结果有进位,CF=1,否则CF=0; 奇偶校验标志PF:操作结果中,1的个数为偶数,则P=1 辅助进位标志AF: 零标志ZF: 结果为零,ZF=1;否则CF=0; 符号标志SF: 与运算结果的最高位相同; 溢出标志OF:
23
自动化与电气工程系
2.2 IA-32微处理器的功能结构
2.2.3 80386微处理器
与8086/80286兼容,132个引脚,栅状阵列封装 (PGA),地址线32位,数据线32位.
一.主要性能:
1.灵活的32位微处理器:
8位,16位,32位数据类型 8个32位通用寄存,与8086/8088/80286寄存器兼容
SP:堆栈指针,其内容与堆栈段寄存器SS的内容相加, 提供堆栈操作地址。 BP:基址指针:构成段内偏移地址的一部分.
二个16位变址寄存器:
SI:(Source Index):SI含有源地址意思,产生有效 地址或实际地址的偏移量。 DI:(Destination Index):DI含有目的意思, 产生有效地址或实际地址的偏移量。
3、 16位算术逻辑单元ALU:
主要是加法器。大部分指令的执行由加法器完成。
14
自动化与电气工程系
2.2 IA-32微处理器的功能结构
4、 标志寄存器PSW:16位字利用了9位。
15 14 13
12 11 10 9
8
7
6
5
4
3
2
1
0
OF DF IF TF SF ZF
标志分两类:
AF
PF
CF
状态标志(6位):反映刚刚完成的操作结果情况。 控制标志(3位):在某些指令操作中起控制作用。
22
自动化与电气工程系
2.2 IA-32微处理器的功能结构
1.80286的实地址方式
在实地址方式,80286与8086目标地址兼容,可寻 址1M字节的存储空间。 80286相当于一个快速的8086; 中断与8086是一样,最多允许256个中断向量
2.80286的保护虚地址方式
80286的保护虚地址方式是80286的特色. 可满足多用户多任务系统的要求. 直接寻址的实存空间扩大为16M字节(224), 80286在保护虚地址方式下, 80286的最大虚存空 间1GB.
执行部件EU从指令队列取指 令,并执行。
9
自动化与电气工程系
2.2 IA-32微处理器的功能结构
2.2.1 Intel 8086微处理器结构
一、总线接口部件
1、段寄存器 CS:16位的代码段寄存器,管理程序段 DS:16位的数据段寄存器,管理数据段。 ES:16位的扩展段(附加段)寄存器, 管理扩展段。 SS:16位的堆栈段寄存器,管理堆栈段。
16位 主要是加法器。大部分指令 的执行由加法器完成。 标志寄存器:
执行部分 16位字利用了9位。 控制电路 ALU
8位
12 3 4 5 6
指令队列缓冲器
标志寄存器
执行部件 (EU) 总线接口部件 (BIU)
图2-1 Intel 8086微处理器结构
20位地址加法器
16位的指令指针寄存器IP: 6字节的指令队列 四个段寄存器:CS、DS、SS、ES IP中的内容是下一条指令 指令队列共六字节,总线接 CS管理代码段;DS管理数据段 对现行代码段基地址的偏移量, 口部件BIU从内存取指令, SS管理堆栈段;ES管理附加段. 取来的总是放在指令队列中;
18
自动化与电气工程系
2.2 IA-32微处理器的功能结构
四、8086存储器组织
8086:20条地址线,直接访问1MB的存 储空间。 物理地址为:00000H—FFFFFH。20M. 1、8086的存储器组织(p42)
相关文档
最新文档