(整理)Pentium微处理器内部寄存器.
CPU中的主要寄存器

CPU中的主要寄存器1.数据缓冲寄存器(DR)暂时存放由内存独处的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据字时,也暂时将它们存放在DR中。
2.指令寄存器(IR)用来保存当前正在执行的一条指令。
当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。
指令划分为操作码和地址码字段,由二进制数字组成。
为了执行任何给定的指令,必须对操作码进行测试以便识别所要求的操作。
一个叫做指令译码器的部件就是做这项工作的。
指令寄存器中操作码字段的输出就是指令译码器的输入。
操作码一经译码后,即可向操作控制器发出具体操作的特定信号。
3.程序计数器(PC)通常又称为指令计数器。
通常情况下都是PC=PC+1。
说简单点就是用来控制地址,以便程序顺序执行。
4.地址寄存器(AR)用来保存当前CPU所访问的内存单元的地址。
由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。
5.累加寄存器(AC)累加寄存器AC通常简称为累加器,它是一个通用寄存器。
其功能是:当运算器的算术逻辑单元ALU执行算术逻辑单元时,为ALU提供一个工作区。
例如,在执行一个加法运算前,先将一个操作数暂时存放在AC中,再从内存中取出另一个操作数,然后同AC的内容相加,所得的结果送回AC中,而AC中原有的内容随即被破坏。
所以,累加寄存器是暂时存放ALU运算的结果信息。
运算器中至少要有一个累加寄存器。
目前多达16,32,甚至更多。
6.状态条件寄存器(PSW)状态条件寄存器保存由算数指令和逻辑指令运行或测试的结果建立的各种条件码内容,如算数结果进位标志C,运算结果溢出标志V,运算结果为零标志Z,运算结果为负标志N,等等。
这些标志位通常分别由1位触发器保存。
除此之外还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态。
因此,状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器。
2003全国计算机等级考试三级笔试试卷PC技术上

2003全国计算机等级考试三级笔试试卷PC技术上一、选择题((1)~(60)题每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)通常所说的32位计算机是指A)CPU字长为32位 B)通用寄存器数目为32个C)可处理的数据长度为32位 D)地址总线的宽度为32位(2)从计算机的逻辑组成来看,通常所说的PC机的"主机"包括A)中央处理器(CPU)和总线B)中央处理器(CPU)和主存C)中央处理器(CPU)、主存和总线D)中央处理器(CPU)、主存和外设(3)除了I/O设备本身的性能外,影响计算机I/O数据传输速度的主要因素是A)系统总线的传输速率 B)主存储器的容量C)Cache存储器性能 D)CPU的字长(4)在Pentium微处理器中,浮点数的格式采用IEEE754标准。
假设一个规格化的32位浮点数如下:1 10000011 00101100000000000000000该数的十进制数值是A)-2.75 B)-16.75 C)-20.75 D)-18.75(5)目前我国PC机用户大多还使用GB-2312国标汉字编码进行中文信息处理。
下面是有关使用GB-2312进行汉字输入输出的叙述,其中错误的是A)使用不同的汉字输入法,汉字的"输入编码"不完全相同B)使用不同的输入法输入同一个汉字,其内码不一定相同C)输出汉字时,需将汉字的内码转换成可阅读的汉字D)同一个汉字在不同字库中,字型是不同的(6)下面是有关超文本的叙述,其中错误的是A)超文本节点可以是文字,也可以是图形、图像、声音等信息B)超文本节点之间通过指针链接C)超文本节点之间的关系是线性的D)超文本的节点可以分布在互联网上不同的WWW服务器中(7)下面关于PC机数字声音的叙述中,正确的是A)语音信号进行数字化时,每秒产生的数据量大约是64KB(千字节)B)PC机中的数字声音,指的就是对声音的波形信号数字化后得到?quot;波形声音"C)波形声音的数据量较大,一般需要进行压缩编码D)MIDI是一种特殊的波形声音(8)MP3是一种广泛使用的数字声音格式。
Pentium微处理器内部寄存器

Pentium微处理器的内部寄存器Pentium是Intel公司于1993年3月推出的第五代80X86系列微处理器,简称P5或80586,中文译名为“奔腾”。
与其前辈80X86微处理器相比,Pentium采用了全新的设计,它有64位数据线和32位地址线,但依然保持了与其前辈80X86的兼容性,在相同的工作方式上可以执行所有的80X86程序。
Pentium的内部结构如图2.4所示。
它主要由执行单元、指令Cache、数据Cache、指令预取单元、指令译码单元、地址转换与管理单元、总线单元以及控制器等部件组成。
其中核心是执行单元(又叫运算器),它的任务是高速完成各种算术和逻辑运算,其内部包括两个整数算术逻辑运算单元(ALU)和一个浮点运算器,分别用来执行整数和实数的各种运算。
为了提高效率,它们都集成了几十个数据寄存器用来临时存放一些中间结果。
这些功能部件除地址转换和管理单元与80386/80486保持兼容外,其他都进行了重新设计。
1) 超标量体系结构和指令流水线Pentium由“U”和“V”两条指令流水线构成超标量流水线结构,其中每条流水线都有自己的ALU、地址生成逻辑和Cache接口。
这种双流水线技术可以使两条指令在不同流水线中并行执行。
图2.4 Pentium微处理器的内部结构每条流水线又分为指令预取PF、指令译码(一次译码)D1、地址生成(二次译码)D2、指令执行EX和回写WB共5个步骤。
图2.5给出了Pentium的指令流水线操作示意。
图2.5 Pentium指令流水线操作示意图当第一条指令完成指令预取,进入第二个操作步骤D1,执行指令译码操作时,流水线就可以开始预取第二条指令;当第一条指令进入第三个步骤D2,执行地址生成时,第二条指令进入第二个步骤D1,开始指令译码,流水线又开始预取第三条指令;当第一条指令进入第四个步骤EX,执行指令规定的操作时,第二条指令进入第三个步骤D2,执行地址生成,第三条指令进入第二个步骤D1,开始指令译码,流水线又开始预取第四条指令;当第一条指令进入第五个步骤WB,执行回写操作时,第二条指令进入第四个步骤EX,执行指令规定的操作,第三条指令进入第三个步骤D2,执行地址生成,第四条指令进入第二个步骤D1,开始指令译码,流水线又开始预取第五条指令。
《微机原理与接口技术》习题解答2(最新整理)

习题22.1 8086CPU具有20 条地址线,可直接寻址1MB 容量的内存空间,在访问I/O 端口时,使用地址线16条,最多可寻址64K 个I/O端口。
2.2 8086CPU的内部结构有何特点?由哪两部分组成?它们的主要功能是什么?【解答】8086微处理器是典型的16位微处理器,HMOS工艺制造,集成了2.9万只晶体管,使用单一的+5V电源,有16根数据线和20根地址线;通过其16位的内部数据通路与设置指令预取队列的流水线结构结合起来而获得较高的性能。
8086微处理器内部安排了两个逻辑单元,即执行部件EU和总线接口部件BIU。
EU主要负责指令译码、执行和数据运算,包括计算有效地址;BIU主要完成计算物理地址、从内存中取指令、实现指令规定的读/写存储器或外部设备等信息传输类操作。
2.3 8086CPU中的指令队列的作用是预取指令,其长度是6 字节。
2.4 8086CPU内部寄存器有哪几种?各自的特点和作用是什么?【解答】CPU有14个内部寄存器,可分为3大类:通用寄存器、控制寄存器和段寄存器。
通用寄存器是一种面向寄存器的体系结构,操作数可以直接存放在这些寄存器中,既可减少访问存储器的次数,又可缩短程序的长度,提高了数据处理速度,占用内存空间少。
控制寄存器包括指令指针寄存器IP和标志寄存器FLAG:IP用来指示当前指令在代码段的偏移位置;FLAG用于反映指令执行结果或控制指令执行的形式。
为了实现寻址1MB存储器空间,8086CPU将1MB的存储空间分成若干个逻辑段进行管理,4个16位的段寄存器来存放每一个逻辑段的段起始地址。
2.5 8086的标志寄存器分为6 个状态标志位和3 个控制标志位,它们各自的含义和作用是什么?【解答】标志寄存器各标志位的含义和作用如下表:表2-1 标志寄存器FLAG中标志位的含义和作用标志位含义作用CF进位标志CF=1,指令执行结果在最高位上产生一个进位或借位;CF=0,则无进位或借位产生PF奇偶标志PF=1,结果低8位含偶数个1;PF=0,表示结果低8位含奇数个1AF辅助进位标志AF=1,运算结果的低4位产生了一个进位或借位;AF=0,则无此进位或借位ZF零标志ZF=1,运算结果为零;ZF=0,则运算结果不为零SF符号标志SF=1,运算结果为负数;SF=0,则结果为正数OF溢出标志OF=1,带符号数在进行运算时产生了溢出;OF=0,则无溢出TF陷阱标志TF=1,8086CPU处于单步工作方式;TF=0,8086CPU正常执行程序IF中断允许标志IF=1,允许CPU接受外部从INTR引脚上发来的可屏蔽中断请求信号;IF=0,则禁止接受可屏蔽中断请求DF方向标志DF=1,字符串操作指令按递减的顺序对字符串进行处理;DF=0,字符串操作指令按递增的顺序进行处理2.6 已知堆栈段寄存器(SS)=2400H,堆栈指针(SP)=1200H,计算该堆栈栈顶的实际地址,并画出堆栈示意图。
Pentium微处理器

§2.5
Itanium微处理器
地址总线64位 数据总线64位 地址总线64位,数据总线64位,内部集成度为 64 64 2.2亿个晶体管,约是Pentium的10倍。 亿个晶体管,约是 的 倍 亿个晶体管 特点: 特点:
可有三级Cache; ; 可有三级 多个执行部件和多个通道; 多个执行部件和多个通道; 数量众多寄存器; 数量众多寄存器; 采用完全并行指令计算技术; 采用完全并行指令计算技术; 采用新机制的分支预测技术。 采用新机制的分支预测技术。
11
本 节 结 束 , 谢 谢 合 作 !
12
2.分支预测技术
为了减少由于转移导致流水线的效率损失 , Pentium采用分支预测技术来动态预测指令的目标 Pentium 采用分支预测技术来动态预测指令的目标 地址,从而节省了CPU的执行时间。 CPU的执行时间 地址 , 从而节省了 CPU 的执行时间 。 通常在用户程 序中包含不少的条件转移指令,在流水线计算机中, 序中包含不少的条件转移指令,在流水线计算机中, 这些转移指令由于产生分支可能使予取和予译码指 令作废。 Pentium内部有两个予取指令缓冲队列 内部有两个予取指令缓冲队列, 令作废。 Pentium内部有两个予取指令缓冲队列, 在执行条件转移指令前,一个以顺序方式予取指令, 在执行条件转移指令前,一个以顺序方式予取指令, 另一个以转移方式予取
6
4.更快的浮点运算单元
浮点运算过程分为8个流水步级, 浮点运算过程分为 8 个流水步级 , 前 4 步同整数 流水线,接下来两步为二级浮点操作, 流水线,接下来两步为二级浮点操作,最后两步为 写结果、出错报告等。 写结果、出错报告等。浮点运算单元对一些常用指 令如ADD、MUL等不是采用微程序 而是由硬件实现, 等不是采用微程序, 令如ADD、MUL等不是采用微程序,而是由硬件实现, ADD 使浮点运算速度更快。 使浮点运算速度更快。
奔腾(Pentium)微处理器介绍

奔腾(Pentium)微处理器介绍
奔腾(PenTIum)微处理器介绍
提高微处理器性能有三个途径:
提高芯片内部时钟频率使操作速度加快,这将受到微电子工艺及芯片功耗的限制。
增加数据总线宽度,提高数据路径的流量,这将要求芯片集成度提高、封装引脚增多。
微体系结构中采用新技术,使更多的指令在同一时刻并行执行(提高指令执行并行性ILP),这是最重要的一点,这将要求芯片有更高的集成度以及新的设计思想。
提高处理器指令执行并行性(ILP)有两种方法:采用超级流水线(Super-pipeline): 将指令的执行分解成小的步骤(级), 不同指令中不同步骤可并行操作。
级数分的多,并行执行的指令也多。
超级流水线指的是多级数的流水线(如8级以上)。
采用超标量(Super-Scalar): 片内设置多重功能相同的部件,为指令并行执行提供硬件基础。
第一代奔腾微处理器采用0.8微米工艺,集成度310万晶体管,工作频率66MHz,指令与486兼容,性能比486大大提高,是Inter芯片技术发展中的里程碑。
奔腾微处理器结构特点
哈佛结构,有分开的指令Cache与数据Cache,各8KB容量。
奔腾微处理器结构特点
独立的两条整数执行流水线,U与V,在一时钟周期内可以发射两条整数。
《微型计算机原理与接口技术》第三版习题答案

《微机原理与接口技术》习题解答习题11.1 冯·诺依曼型计算机的设计方案有哪些特点?【解答】冯·诺依曼型计算机的设计方案是“存储程序”和“程序控制”,有以下5方面特点:(1)用二进制数表示数据和指令;(2)指令和数据存储在内部存储器中,按顺序自动依次执行指令;(3)由运算器、控制器、存储器、输入设备和输出设备组成基本硬件系统;(4)由控制器来控制程序和数据的存取及程序的执行;(5)以运算器为核心。
1.2 微处理器和微型计算机的发展经历了哪些阶段?各典型芯片具备哪些特点?【解答】经历了6代演变,各典型芯片的特点如表1-1所示。
表1-1 微处理器的发展及典型芯片的特点1.3 微型计算机的特点和主要性能指标有那些?【解答】除具有运算速度快、计算精度高、有记忆能力和逻辑判断能力、可自动连续工作等基本特点以外,还具有功能强、可靠性高、价格低廉、结构灵活、适应性强、体积小、重量轻、功耗低、使用和维护方便等。
微型计算机的性能指标与系统结构、指令系统、硬件组成、外部设备以及软件配备等有关。
常用的微型计算机性能指标主要有:字长、主频、内存容量、指令数、基本指令执行时间、可靠性、兼容性、性能价格比等。
1.4 常见的微型计算机硬件结构由哪些部分组成?各部分的主要功能和特点是什么?【解答】微型计算机硬件一般由微处理器、内存储器、外存储器、系统总线、接口电路、输入/输出设备等部件组成。
主要组成部件的功能和特点分析如下:(1)微处理器:是微型计算机的核心部件,由运算单元ALU、控制单元、寄存器组以及总线接口部件等组成,其功能是负责统一协调、管理和控制系统中的各个部件有机地工作。
(2)内存储器:用来存放计算机工作过程中需要的操作数据和程序。
可分为随机存储器RAM和只读存储器ROM。
RAM存放当前参与运行的各种程序和数据,特点是信息可读可写,存取方便,但信息断电后会丢失;ROM用于存放各种固定的程序和数据,特点是信息固定不变,关机后原存储的信息不会丢失。
计算机三级(PC技术)笔试173

[模拟] 计算机三级(PC技术)笔试173一、选择题(每题1分,共60分) 在下列各题的[A]、[B]、[C]、[D] 四个选项中,只有一个选项是正确的。
第1题:二十多年来,微处理器的发展非常迅速。
下面是有关微处理器发展的一些叙述,其中不准确的是( )。
①微处理器中包含的晶体管越来越多,功能越来越强大②微处理器的主频越来越高,处理速度越来越快③微处理器的操作,使用越来越简单④微处理器的性能价格越来越低A.②B.③C.③和④D.④参考答案:C第2题:运算器在执行两个用补码表示的整数加法时,下面判断是否溢出的规则中哪一个是正确的?( )A.两个整数相加,若最高位(符号位)有进位,则一定发生溢出B.两个整数相加,若结果的符号位为0,则一定发生溢出C.两个整数相加,若结果的符号位为1,则一定发生溢出D.两个同号的整数相加,若结果的符号位与加数的符号位相反,则一定发生溢出参考答案:D第3题:Pentium微处理器在保护模式下,(DS)=0008H表示访问的描述符表和描述符号分别为A.GDT,0号B.LDT,0号C.GDT,1号D.LDT,1号参考答案:C0008H的二进制表示是0000 0000 0000 1000,所以TI=0,描述符表为 GDT,根据段选择子内的13位得出索引值为1,所以选C。
第4题:下面关于PC机并行接口的叙述中,错误的是A.PC机并行接口有8条数据线B.PC机并行接口的信号通过简单的无源电缆线传送时,可以达到RS-232标准的传输距离C.PC机并行接口的标准是IEEE1284D.PC机并行接口一般作为并行打印机接口参考答案:B第5题:8237A清字节指示器命令的作用是( )A.实现CPU一次就能读写16位寄存器的内容B.使CPU不能访问8237A的16位寄存器C.使CPU能够访问16位寄存器的低8位D.使CPU能够访问16位寄存器的高8位参考答案:C第6题:当成千上万台终端设备需要相互通信时,采用固定的连接是不现实的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Pentium微处理器的内部寄存器Pentium是Intel公司于1993年3月推出的第五代80X86系列微处理器,简称P5或80586,中文译名为“奔腾”。
与其前辈80X86微处理器相比,Pentium采用了全新的设计,它有64位数据线和32位地址线,但依然保持了与其前辈80X86的兼容性,在相同的工作方式上可以执行所有的80X86程序。
Pentium的内部结构如图2.4所示。
它主要由执行单元、指令Cache、数据Cache、指令预取单元、指令译码单元、地址转换与管理单元、总线单元以及控制器等部件组成。
其中核心是执行单元(又叫运算器),它的任务是高速完成各种算术和逻辑运算,其内部包括两个整数算术逻辑运算单元(ALU)和一个浮点运算器,分别用来执行整数和实数的各种运算。
为了提高效率,它们都集成了几十个数据寄存器用来临时存放一些中间结果。
这些功能部件除地址转换和管理单元与80386/80486保持兼容外,其他都进行了重新设计。
1) 超标量体系结构和指令流水线Pentium由“U”和“V”两条指令流水线构成超标量流水线结构,其中每条流水线都有自己的ALU、地址生成逻辑和Cache接口。
这种双流水线技术可以使两条指令在不同流水线中并行执行。
图2.4 Pentium微处理器的内部结构每条流水线又分为指令预取PF、指令译码(一次译码)D1、地址生成(二次译码)D2、指令执行EX和回写WB共5个步骤。
图2.5给出了Pentium的指令流水线操作示意。
图2.5 Pentium指令流水线操作示意图当第一条指令完成指令预取,进入第二个操作步骤D1,执行指令译码操作时,流水线就可以开始预取第二条指令;当第一条指令进入第三个步骤D2,执行地址生成时,第二条指令进入第二个步骤D1,开始指令译码,流水线又开始预取第三条指令;当第一条指令进入第四个步骤EX,执行指令规定的操作时,第二条指令进入第三个步骤D2,执行地址生成,第三条指令进入第二个步骤D1,开始指令译码,流水线又开始预取第四条指令;当第一条指令进入第五个步骤WB,执行回写操作时,第二条指令进入第四个步骤EX,执行指令规定的操作,第三条指令进入第三个步骤D2,执行地址生成,第四条指令进入第二个步骤D1,开始指令译码,流水线又开始预取第五条指令。
这种流水线操作并没有减少每条指令的执行步骤,5个步骤哪一步都不能跳越。
但由于各指令的不同步骤之间并行执行,从而极大地提高了指令的执行速度。
从第一个时钟开始,经过5个时钟后,每个时钟都有一条指令执行完毕从流水线输出。
在这种理想情况下,Pentium 的超标量体系结构每个时钟周期内可执行两条整数指令(每条流水线执行一条指令)。
2) 重新设计的浮点运算部件Pentium的浮点运算部件在80486的基础上作了重新设计,采用了超流水线技术,由8个独立执行部件进行流水线作业,使每个时钟周期能完成一个浮点操作(或两个浮点操作)。
采用快速算法可使诸如ADD、MUL和LOAD等运算的速度最少提高3倍,在许多应用程序中利用指令调度和重叠(流水线)执行可使性能提高5倍以上。
同时,这些指令用电路进行固化,用硬件来实现,使执行速度得到更大提高。
3) 独立的指令Cache和数据CachePentium片内有两个8KB的超高速缓存器,一个是指令Cache,一个是数据Cache。
转换后备缓冲器TLB(Translation Look-aside Buffer)的作用是将线性地址转换为物理地址。
这两种Cache采用32×8线宽,是对Pentium的64位总线的有力支持。
指令和数据分别使用不同的Cache,使Pentium中数据和指令的存取减少了冲突,提高了性能。
Pentium的数据Cache有两种接口,分别与U和V两条流水线相连,以便能在相同时刻向两个独立工作的流水线进行数据交换。
当向已被占满的数据Cache中写数据时,将移走当前使用频率最低的数据,同时将其写回内存,这种技术称为Cache回写技术。
由于CPU向Cache 写数据和将Cache释放的数据写回内存是同时进行的,所以采用Cache回写技术将节省处理时间。
4) 分支指令预测。
Pentium提供了一个称为BTB(Branch Target Buffer)的小Cache来动态地预测程序的分支操作。
当某条指令导致程序分支时,BTB记忆下该条指令和分支的目标地址,并用这些信息预测该条指令再次产生分支时的路径,预先从该处预取,保证流水线的指令预取步骤不会空置。
这一机构的设置,可以减少在循环操作时对循环条件的判断所占用的CPU的时间。
5) 采用64位外部数据总线Pentium芯片内部ALU和通用寄存器仍是32位,所以还是32位微处理器,但它同内存储器进行数据交换的外部数据总线为64位,使两者之间的数据传输速度可达528MB/s。
此外Pentium还支持多种类型的总线周期,在突发方式下,可以在一个总线周期内读入256B的数据。
2. Pentium的外部引脚Pentium芯片有168个引脚,这些引脚信号线也即Pentium CPU总线,分为三大类:总线接口引脚、处理器控制引脚、调试与测试引脚。
1) 总线接口信号Pentium的总线接口信号如表2.1所示。
这些引脚信号包括用于管理访问外部存储器和I/O端口必须的地址、数据和总线周期控制信号,以及Cache控制信号。
D63~D是Pentium的64位双向数据总线。
A31~A3和0~7BEBE构成32位地址总线,以提供存储器和I/O端口的物理地址。
A31~A3用于确定一个8字节单元地址,0~7BEBE则用于指明在当前的操作中要访问8字节中的哪些字节。
Pentium 微处理器规定:0BE对应数据线D 7~D 0;1BE 对应数据线D 15~D 8;2BE 对应数据线D 23~D 16;3BE 对应数据线D 31~D 24;4BE对应数据线D 39~D 32;5BE对应数据线D 47~D 40;6BE对应数据线D 55~D 48;7BE对应数据线D 63~D 56。
Pentium 微处理器的地址线没有设置A 2、A 1和A 0引脚,但可由0~7BE BE 这8个字节使能信号产生,为保持与前辈80X86的兼容性,还应产生BHE 信号。
C D /(数据/控制)、R W /(写/读)、IO M /(存储器/IO)是总线周期定义的基本信号,这3个信号的不同组合可以决定当前的总线周期所要完成的操作,如表2.2所示。
这些操作的意义将在有关章节加以介绍。
2) 处理器控制信号处理器控制信号如表2.3所示。
包括时钟、处理器初始化、FRC 、总线仲裁、Cache 窥视、中断请求、执行跟踪、数字出错和系统管理等信号。
3) 调试与测试引脚调试与测试信号如表2.4所示。
包括探针方式、断点/性能监测和边界扫描等引脚信号。
2.3.2内部寄存器Pentium的内部寄存器按功能分为四类:基本寄存器、系统级寄存器、调试与模型专用寄存器、浮点寄存器。
它们是在80486内部寄存器的基础上扩充而来,并与其前辈80X86保持了兼容。
主要差别是Pentium用一组模型专用寄存器代替了80486的测试寄存器,并扩充了一个系统控制寄存器。
1. 基本寄存器基本寄存器包括通用寄存器、指令指针寄存器、标志寄存器和段寄存器,这些寄存器都是在8086/8088基础上扩展而来的,如图2.6所示。
图2.6 基本寄存器1) 通用寄存器8个32位通用寄存器EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP是在8086/8088的8个16位寄存器基础上扩展位数而来的。
为了与8086/8088兼容,它们的低16位可以单独访问,并以同8086/8088中相同的名称命名: AX、BX、CX、DX、SI、DI、BP、SP。
其中AX、BX、CX、DX还可进一步分成两个8位寄存器单独访问,且同样有自己独立的名称: AH、AL,BH、BL,CH、CL,DH、DL。
上述寄存器中,(E)SP是指示栈顶的指针,称为堆栈寄存器。
在32位寻址时,8个32位寄存器均可用作存储器访问的地址寄存器,但在16位寻址时,只能使用BX、BP、SP、SI、DI寄存器,其中BX和BP称为基址寄存器,SI和DI称为变址寄存器,(E)CX则常用于循环控制,又称为循环计数寄存器,(E)AX则称为累加器。
2) 指令指针寄存器(EIP)EIP用于保存下一条待预取指令相对于代码段基址(由CS提供)的偏移量。
它的低16位也可以单独访问,并称之为IP寄存器。
当80X86/Pentium工作在32位操作方式时,采用32位的EIP;工作在16位操作方式,采用16位的IP。
用户不可随意改变其值,只能通过转移类、调用及返回类指令改变其值。
3) 标志寄存器(EFLAGS)标志寄存器EFLAGS是32位的,它是在8086/8088/80286标志寄存器FLAGS的基础上扩充而来的,共定义了三类17种(18位)标志,即:状态标志6种(CF、PF、AF、ZF、SF和OF),用于报告算术/逻辑运算指令执行后的状态;控制标志1种(DF),用于控制串操作指令的地址改变方向;系统标志10种11位(TF、IF、IOPL、NT、RF、VM、AC、VIF、VIP和ID),用于控制I/O、屏蔽中断、调试、任务转换和控制保护方式与虚拟8086方式间的转换。
图2.7给出了EFLAGS中各位的标志名以及各标志位与CPU的隶属关系,取值为0的位是Intel保留的,并未使用。
各标志位意义如下:图2.7 标志寄存器①进位标志CF(位0): CF=1表示运算结果的最高位产生了进位或借位。
这个标志主要用于多字节数的加减法运算。
移位和循环指令也用到它。
②奇偶标志PF(位2): PF=1表示运算结果中有偶数个1。
该标志主要用于数据传输过程中检错。
③辅助进位标志AF(位4): AF=1表示运算导致了低4位向第5位(位4)的进位或借位。
该标志主要用于BCD码运算。
④零标志ZF(位6): ZF=1表示运算结果的所有位为0。
⑤符号标志SF(位7): SF=1表示运算结果的最高位为1。
对于用补码表示的有符号数,SF=1表示结果为负数。
⑥自陷标志TF(位8): TF=1表示CPU将进入单步执行方式,即每执行一条指令后都产生一个内部中断。
利用它可逐条指令地调试程序。
⑦中断允许标志IF(位9): IF=1表示CPU允许外部可屏蔽中断,否则禁止外部可屏蔽中断。
注意,IF标志对内部中断和外部不可屏蔽中断(NMI)不会产生影响。
⑧方向标志DF(位10): DF=1表示在串操作过程中地址指针(E)DI和(E)SI的变化方向是递减,否则为递增。
⑨溢出标志OF(位11):OF=1表示有符号数运算时,运算结果的数值超过了结果操作数的表示范围。