IA-32体系结构提供了8个32位通用寄存器,分别称EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP.
Intel64体系结构将这8个通用寄存器扩充到64位,分别称为RAX, RBX, RCX, RDX, RSI, RDI, RSP, RBP, 并另外引入了8个通用寄存器,分别为R8, R9, R10, R11, R12, R13, R14, R15.
IA-32体系结构提供了6个寄存器,即CS, DS, SS, ES, FS, GS.
Intel 64模式DS, ES, SS已不再使用,FS, GS用于段重载(影响段的基地址), CS用于控制64位模式与兼容模式的切换.
IA-32体系结构中,指令寄存器是EIP, 长度为32位, 记录下一条要执行的指令地址.
Intel64体系结构中指令寄存器被扩充到64位, 称为RIP.
IA-32体系结构有32位标志寄存器EFLAGS, 用于存放处理器的状态信息(如ZF, CF, OF等)和一些系统控制信息(如IF, IOPL, VM等)
在64位模式中, 标志寄存器被扩充到了64位, 称为RFLAGS, 答案内容并未扩展.
IA-32体系结构提供了4个内存管理寄存器, 分别为GDTR, LDTR, IDTR, TR. Intel64将他们的基址部分都扩充到64位.
IA-32体系结构提供了5个32位的控制寄存器, 分别称为CR0, CR1, CR2, CR3, CR4.
其中CR0中包含系统控制标志, 用于控制处理器的操作模式和状态, 如是否启用分页机制等
CR1保留未用
CR2用于暂存引起页故障异常(page-fault)的线性地址
CR3中暂存当前使用的页目录的物理基地址
CR4中包含一组体系结构扩展标志, 如PAE, PSE等
Intel64将所有控制寄存器扩充到64位, 新增加了两个标志位, 并引入了一个新的控制寄存器CR8, 用于记录任务的优先级.
网友评论