首页 热点资讯 义务教育 高等教育 出国留学 考研考公

80486的寄存器

发布网友 发布时间:2022-04-21 21:33

我来回答

2个回答

懂视网 时间:2022-04-22 10:25

80486中有8个32位通用寄存器。寄存器是处理器内的组成部分,是有限存贮容量的高速存贮部件,可用来暂存指令、数据和地址。

  

  80486是Intel公司19年推出的32位微处理器。采用了1μm(微米)制造工艺,内部集成了120万个晶体管。内外部数据总线是32位,地址总线为32位,可寻址4GB的存储空间,支持虚拟存储管理技术,虚拟存储空间为TB。片内集成有浮点运算部件和8KB的cache(L1 cache),同时也支持外部cache(L2 cache)。整数处理部件采用精简指令集RISC结构,提高了指令的执行速度。此外,微处理器还引进了时钟倍频技术和新的内部总线结构,从而使主频可以超出100MHz。80486 CPU内部包括总线接口部件、指令预取部件、指令译码部件、控制和保护测试单元部件、整数执行部件、分段部件、分页部件,以及浮点运算部件和高速缓存(cache)管理部件。

热心网友 时间:2022-04-22 07:33

按功能可分为四类:基本寄存器、系统寄存器、调试和测试寄存器以及浮点寄存器。
80486 CPU的寄存器总体上可分为程序可见和不可见两类。在程序设计期间要使用的、并可由指令来修改其内容的寄存器,称为程序可见寄存器。在程序设计期间,不能直接寻址的寄存器,称为程序不可见寄存器,但是在程序设计期间可以被间接引用。程序不可见寄存器用于保护模式下控制和操作存储器系统。
1.基本寄存器(base architecture registers)
基本寄存器包括八个通用寄存器EAX, EBX, ECX, EDX, EBP, ESP, EDI, ESI;一个指令指针寄存器EIP;六个段寄存器CS, DS, ES, SS, FS和GS;一个标志寄存器EFLAGS。80486 CPU的基本寄存器如图2.11所示,它们都是程序可见寄存器。
(1)通用寄存器(general purpose registers)
通用寄存器包括EAX, EBX, ECX, EDX, EBP, ESP, EDI和ESI。
图2.11 80486 CPU的基本寄存器组
EAX, EBX, ECX, EDX都可以作为32位寄存器、16位寄存器或者8位寄存器使用。EAX可作为累加器用于乘法、除法及一些调整指令,对于这些指令,累加器常表现为隐含形式。EAX寄存器也可以保存被访问存储器单元的偏移地址。EBX常用于地址指针,保存被访问存储器单元的偏移地址。ECX经常用作计数器,用于保存指令的计数值。ECX寄存器也可以保存访问数据所在存储器单元的偏移地址。用于计数的指令包括重复的串指令、移位指令和循环指令。移位指令用CL计数,重复的串指令用CX计数,循环指令用CX或ECX计数。EDX常与EAX配合,用于保存乘法形成的部分结果,或者除法操作前的被除数,它还可以保存寻址存储器数据。
EBP和ESP是32位寄存器,也可作为16位寄存器BP, SP使用,常用于椎栈操作。EDI和ESI常用于串操作,EDI用于寻址目标数据串,ESI用于寻址源数据串。
(2)指令指针寄存器
指令指针寄存器EIP(extra instruction pointer)存放指令的偏移地址。微处理器工作于实模式下,EIP是IP(16位)寄存器。80486 CPU工作于保护模式时EIP为32位寄存器。EIP总是指向程序的下一条指令(即EIP的内容自动加1,指向下一个存储单元)。EIP用于微处理器在程序中顺序地
寻址代码段内的下一条指令。当遇到跳转指令或调用指令时,指令指针寄存器的内容需要修改。
(3)标志寄存器EFR
EFR(extra flags register)包括状态位、控制位和系统标志位,用于指示微处理器的状态并控制微处理器的操作。80486 CPU标志寄存器如图2.12所示。
① 状态标志位:包括进位标志CF、奇偶标志PF、辅助进位标志AF、零标志ZF 、符号标志SF和溢出标志OF。
② 控制标志位:包括陷阱标志(单步操作标志)TF、中断标志IF和方向标志DF。80486 CPU标志寄存器中的状态标志位和控制标志位与8086 CPU标志寄存器中的状态标志位和控制标志位的功能完全一样,这里就不再赘述。
③ 系统标志位和IOPL字段:在EFR寄存器中的系统标志和IOPL字段,用于控制操作系统或执行某种操作。它们不能被应用程序修改。
IOPL(I/O privilege level field):输入/输出特权级标志位。它规定了能使用I/O敏感指令的特权级。在保护模式下,利用这两位编码可以分别表示0, 1, 2, 3这四种特权级,0级特权最高,3级特权最低。在80286以上的处理器中有一些I/O敏感指令,如CLI(关中断指令)、STI(开中断指令)、IN(输入)、OUT(输出)。IOPL的值规定了能执行这些指令的特权级。只有特权高于IOPL的程序才能执行I/O敏感指令,而特权低于IOPL的程序,若企图执行敏感指令,则会引起异常中断。
NT(nested task flag):任务嵌套标志。在保护模式下,指示当前执行的任务嵌套于另一任务中。当任务被嵌套时,NT=1,否则NT=0。
RF(resume flag):恢复标志。与调试寄存器一起使用,用于保证不重复处理断点。当RF=1时,即使遇到断点或故障,也不产生异常中断。
VM(virtual 8086 mode flag):虚拟8086模式标志。用于在保护模式系统中选择虚拟操作模式。VM=1,启用虚拟8086模式;VM=0,返回保护模式。
AC(alignment check flag):队列检查标志。如果在不是字或双字的边界上寻址一个字或双字,队列检查标志将被激活。
(4)段寄存器
80486微处理器包括六个段寄存器,分别存放段基址(实地址模式)或选择符(保护模式),用于与微处理器中的其他寄存器联合生成存储器单元的物理地址。存器结构
① 代码段寄存器CS。代码段是一个用于保存微处理器程序代码(程序和过程)的存储区域。CS存放代码段的起始地址。在实模式下,它定义一个KB存储器段的起点。在保护模式下工作时,它选择一个描述符,这个描述符描述程序代码所在存储器单元的起始地址和长度。在保护模式下,代码段的长度为4GB。
② 数据段寄存器DS。数据段是一个存储数据的存储区域,程序中使用的大部分数据都在数据段中。DS用于存放数据段的起始地址。可以通过偏移地址或者其他含有偏移地址的寄存器,寻址数据段内的数据。在实模式下工作时,它定义一个KB数据存储器段的起点。在保护模式下,数据段的长度为4GB。
③ 堆栈段寄存器。堆栈段寄存器SS用于存放堆栈段的起始地址,堆栈指针寄存器ESP确定堆栈段内当前的入口地址。EBP寄存器也可以寻址堆栈段内的数据。
④ 附加段寄存器ES。ES存放附加数据段的起始地址。常用于存放数据段的段基址或者在串操作中作为目标数据段的段基址。
⑤ 附加段寄存器FS和GS。FS和GS是附加的数据段寄存器,作用与ES相同,以便允许程序访问两个附加的数据段。
在保护模式下,每个段寄存器都含有一个程序不可见区域。这些寄存器的程序不可见区域通常称为描述符的高速缓冲存储器(descriptor cache),因此它也是存储信息的小存储器。这些描述符高速缓冲存储器与微处理器中的一级或二级高速缓冲存储器不能混淆。每当段寄存器中的内容改变时,基地址、段限和访问权限就装入段寄存器的程序不可见区域。例如当一个新的段基址存入段寄存器时,微处理器就访问一个描述符表,并把描述符表装入段寄存器的程序不可见的描述符高速缓冲存储器区域内。这个描述符一直保存在此处,并在访问存储器时使用,直到段号再次改变。这就允许微处理器在重复访问一个内存段时,不必每次都去查询描述符表,因此称为描述符高速缓冲存储器。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com