第2章 微处理器
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章 微处理器
2.1 微处理器的硬件结构
(3)标志寄存器(又称作程序状态字Pogram Status Word, 简记作PSW);
(4)算术逻辑部件ALU (Arithmetic Logic Unit)。 执行部件的功能如下: 从指令队列中取出指令。 对指令进行译码,发出相应的控制信号。 接收由总线接口送来的数据或发送数据至接口。 进行算术运算。
第2章 微处理器
2.1 微处理器的硬件结构
2.1.1 中央处理单元(CPU)的构成
下面我们以Intel的8086 CPU(如图2.1所示)为例,对 CPU的结构做一个介绍。从功能上来看,8086CPU可以分为两 部分,即总线接口部件(Bus Interface Unit,BIU)和执行 部件(Execution Unit,EU) 。CPU在工作时, BIU不断地 从存储器取指令送入指令预取队列(IPQ),EU不断地从IPQ 取出指令执行,EU和BIU构成了一个简单的2工位流水线,其中 指令预取队列IPQ是实现流水线操作的关键(如同流水线的传送 带)。Pentium及其以后的CPU将一条指令划分成更多的阶段, 以便可以同时执行更多的指令。
第2章 微处理器
2.1 微处理器的硬件结构
下面将各有效位的意义做一简要的说明: (1)CF(Carry Flag) 进位标志位。若CF = 1,表示本
次运算中最高位(第7位或第15位)有进位(加法运算时) 或有借位(减法运算时)。
(2)PF(Parity Flag) 奇偶标志位。PF = 1,表示本次 运算结果的低八位中有偶数个“1”;PF = 0,表示有奇数 “1”。
需要注意的是32位寄存器和两个16位寄存器FS、GS 只存在于80386及更高级的微处理器中。
第2章 微处理器
2.1 微处理器的硬件结构
31 EAX EBX ECX EDX EBP ESI EDI
31 ESP EIP EFLAGS
15 AH
0 AL
BH
BL
CH
CL
DH
DL
BP
SI
DI
15
0
SP
IP
FLAGS
(AX)累加器 (BX)基址寄存器 (CX)计数器 (DX)数据寄存器 基址指针 源变址 目的变址
堆栈指针 指令指针 标志寄存器
通用寄存器
15 CS DS SS ES FS GS
0 代码段 数据段 堆栈段 附加段
专用寄存器
第2章 处理器
2.1 微处理器的硬件结构
寄存器分为通用寄存器(或多功能寄存器)和专用寄存 器两种。
第2章 微处理器
2.1 微处理器的硬件结构
2、 执行部件(Execution Unit,EU) 执行部件负责指令的执行 ,8086 CPU的执行部件由
下列4部分组成: (1) 4个通用寄存器,即AX、BX、CX、DX; (2) 4个专用寄存器,即 基数指针寄存器BP(Base Pointer) 堆栈指针寄存器SP (Stack Pointer) 源变址寄存器SI (Source Index) 目的变址寄存器DI (Destination Index);
第2章 微处理器
2.5.5 分支预测和推测执行 2.5.6 Cache 2.6 IA-32微处理器的工作方式 本章小结 习题
第2章 微处理器
2.1 微处理器的硬件结构
从外部封装形式来看,CPU常常是矩形或正方形 的块状物,通过众多的引脚与主板相连。从内部来看, CPU是一片大小通常不到1/4英寸的薄薄的硅晶片,其 英文名称为die(核心)。在这块小小的硅片上,密布 着数以百万计的晶体管,它们好像大脑的神经元,相互 配合协调,完成着各种复杂的运算和操作。
微 机 原 理 (第四版)
米昶 孙杰 苑伟 编著
第2章 微处理器
第2章 微处理器 (目录)
2.1 微处理器的硬件结构 2.1.1 中央处理单元(CPU)的构成 2.1.2 基本功能部件 2.1.3 微处理器的基本寄存器 2.2 处理器的总线 2.2.1 总线的结构 2.2.2 总线的操作
第2章 微处理器
第2章 微处理器
2.1 微处理器的硬件结构
3、 8086 CPU执行程序的操作过程 8086 CPU执行程序的操作过程如下: (1) 形成20位的物理地址,并根据此地址找到程序所在 的存储器单元,从该单元取出指令字节,依次放入指令队 列中。 (2) 当8086的指令队列中有2个空字节时,总线接口部 件就会自动取指令至队列中。
第2章 微处理器
2.1 微处理器的硬件结构
3、 标志寄存器EFLAGS 标志寄存器EFLAGS是一个专用的寄存器,在早期的
8086-80286微处理器中它的位数是16位,用FLAGS表示, 在80386及更高级的32位微处理器中,标志寄存器是一个 32位的,用EFLAGS表示。标志寄存器的作用是用来存放 有关微处理机工作过程中的状态标志信息、控制标志信息 以及系统标志信息,各种条件码(例如进位、符号、溢出) 及方式位等信息。寄存器中各位的含义如图2.4所示。
第2章 微处理器
2.1 微处理器的硬件结构
执行部件EU
通用寄存器
AH
AL
BH
BL
CH
CL
DH
DL
SP
BP
DI
SI
暂存寄存器
ALU PSW
EU 控制 系统
总线接口部件BIU
地址总线
∑
20位
CS DS SS ES IP 通信寄存器
数据总线 16位
总线 控制 逻辑
指令队列
12 34 5 6
外部 总线
第2章 微处理器
第2章 微处理器
2.1 微处理器的硬件结构
(3) 执行部件从总线接口的指令队列首取出指令代码, 执行该指令。 (4) 当指令队列已满,而执行部件又不使用总线时, 总线接口部件进入空闲状态。 (5) 执行转移指令、调用指令、返回指令时,先清空 指令队列内容,再将要执行的指令放入指令队列中。
第2章 微处理器
处理器中用来保存存储单的偏移地址,在80386及其以上 的微处理器中,EBX也可寻址存储器数据。 ECX(计数寄存器)
可以通过ECX、CX、CH或CL的形式访问,是可以保存 计数值的通用寄存器。在80386及其以上的微处理器中, 它也可以保存存储单元的偏移地址。
第2章 微处理器
2.1 微处理器的硬件结构
第2章 微处理器
2.1 微处理器的硬件结构
EDI(目的变址寄存器) 通常在串操作指令中用来访问目的串数据。它也可作为一 个32位或16位通用寄存器用。 ESI(源变址寄存器) 通常在串操作指令中用来访问源串数据。它也可作为一个 32位或16位通用寄存器用。
第2章 微处理器
2.1 微处理器的硬件结构
第2章 微处理器
2.1 微处理器的硬件结构
(3)AF(Auxiliary Carry Flag) 辅助进位标志位。 AF = 1,表示8位运算结果(限使用AL寄存器)中低4位 向高4位有进位(加法运算时)或有借位(减法运算时), 这个标志位只在BCD数运算中才起作用。 (4)ZF(Zero Flag) 零标志位。ZF=1,表示运算结 果为0(各位全为0),否则ZF=0。 (5)SF(Sign Flag) 符号标志位。SF=1,表示运算 结果的最高位(第7位或第15位)为“1”(有符号数的 负数),否则SF=0。
第2章 微处理器
2.1 微处理器的硬件结构
ESP(堆栈指针寄存器) 用来访问被称为堆栈的存储区域。堆栈通过这—指
针来存取数据。该寄存器的16位寄存器形式为SP,32位 寄存器形式为ESP。堆栈在微处理器中起着重要的作用, 它 用 于 暂 存 数 据 和 过 程 的 返 回 地 址 。 堆 栈 是 一 个 LIFO (Last-in First-out后进先出)存储区,后进先出是数 据入栈和出栈的规则。
EDX(数据寄存器) 可以EDX、DX、DH或DL的形式访问,是一个通 用寄存器,用来存放乘法结果的—部分或除法执行 前被除数的一部分。在80386及其以上的微处理器 中,该寄存器也可以寻址存储器数据。 EBP(基址指针寄存器) 可指向所有型号微处理器的存储器地址,用来传送 存储器数据。该寄存器可以BP或EBP的形式来访问。
2、 专用寄存器EIP、ESP 专 用 寄 存 器 包 括 EIP 、 ESP 、 EFLAGS 和 段 寄 存 器 CS 、 DS、ES、SS、FS和GS。下面先介绍一下EIP和ESP。 EIP(指令指针寄存器) 存储指令在代码段中的偏移地址,通常不能被直接访问, 也不能直接赋值,指令中不会出现对指令指针寄存器的 操 作 。 当 微 处 理 器 工 作 在 实 方 式 下 时 , 该 寄 存 器 为 IP (16位),当80386及其以上的微处理器工作于保护方 式时,它为EIP(32位)。
1、通用寄存器 32位的通用寄存器包括EAX、EBX、ECX、EDX、
EBP、EDI和ESI。下面分别予以说明。 EAX(累加器)
它可以是一个32位的寄存器(EAX)、或是一个 16位的寄存器(AX)也可以是一个8位寄存器AH和 AL中的任一个。
第2章 微处理器
2.1 微处理器的硬件结构
EBX(基地址寄存器) 可以用EBX、BX、BH或BL的形式访问。BX寄存器在微
2.1 微处理器的硬件结构
2.1.2 基本功能部件
1、总线接口部件(Bus Interface Unit,BIU) 总线接口部件负责与存储器、I/O端口传送数据 。
总线接口部件将从内存中取出的指令送到指令队列,并 配合执行部件从内存或外设端口中取数据,同时还要把 执行完的数据结果送到指定的内存单元或外设端口中。 8086的总线接口部件由下列4部分组成:
第2章 微处理器
2.1 微处理器的硬件结构
31
……
22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
00
……
I D
V I P
V I F
AVR CMF
0
N T
I O P L
OD FF
I F
T F
S F
Z F
0
A F
0
P F
1
C F
ID:标识标志 VIP:虚拟中断挂起标志 VIF:虚拟中断标志 AC:对准检查 VM:虚拟 8086 模式 RF:恢复标志 NT:嵌套任务标志 IOPL:I/O特权级标志 OF:溢出标志 DF:方向标志 IF:允许中断标志 TF:自陷标志 SF:符号标志 ZF:零标志 AF:辅助进位标志 RF:奇偶校验标志 CF:进位标志
第2章 微处理器
2.1 微处理器的硬件结构
• 4个16位段地址寄存器(CS、DS、ES、SS) • 16位的指令指针寄存器IP (Instruction Pointer) • 20位的地址加法器 • 6字节的指令队列缓冲器
除了以上提到的4部分外,总线接口部件中还包含总线 控制逻辑(输入/输出控制电路) ,它主要功能是分时 传递地址信息或数据信息。
2.3 微处理器的基本操作流程 2.3.1 指令执行的基本过程 2.3.2 微处理器的时序 2.4 Intel处理器的结构和原理 2.4.1 80X86处理器的结构 2.4.2 Pentium 4处理器结构 2.4.3 微处理器的主要性能指标
第2章 微处理器
2.5 IA-32微处理器相关技术术语 2.5.1 CISC与RISC 2.5.2 流水线 2.5.3 超流水线和超标量 2.5.4 乱序执行
2.1 微处理器的硬件结构
2.1.3 微处理器的基本寄存器
早期的8086,8088和80286的内部结构为16位 (二进制位),是图2.3所示的寄存器组的子集。而对 于80386,80486,Pentium,Pentium Pro等CPU 的内部结构为32位(二进制位)的。
第2章 微处理器
2.1 微处理器的硬件结构
第2章 微处理器
2.1 微处理器的硬件结构
(6)TF(rap flag)陷阱控制标志位。陷阱标志可 使微处理器进入跟踪方式,即进入单步调试状态;如 果T标志为1,微处理器可以根据调试寄存器和控制寄 存器指示的条件中断程序的执行。如果T为0,则不进 入跟踪(调试)方式。 (7)IF(Interrupt Flag)中断允许标志位。控制 输入引脚INTR的操作。若I=l,INTR信号被允许; 若I=0,则INTR信号被屏蔽。IF的状态由指令STI置 位(置1)和指令CLI复位(清0)。
微处理器的基本寄存器中包括8、16、32位的三种不同 寄存器组,见图2.3。8位的寄存器有AH、AL、BH、BL、 CH、CL、DH和DL等8个, 16位寄存器有AX、BX、CX、 DX、SP、BP、DI、SI、IP、FLAGS、CS、DS、ES、SS、 FS和GS,扩展的32位寄存器有EAX、EBX、ECX、EDX、 ESP、EBP、EDI、ESI、EIP和EFLAGS。这些寄存器是由 它们的字母名称引用。