一、系统寄存器
1. EFLAGS 寄存器
① 存放system flags和IOPL;
②控制任务切换和模式切换,处理终端,指令追踪;
2.控制寄存器(CR0,CR2,CR3,CR4)
①控制系统级操作;
②支撑操作系统某些特性;
3.GDTR/LDTR/IDTR
①记录了GDT/LDT/IDT表的线性基址和大小;
4. 任务寄存器(task register)
①当前任务的线性地址;
②当前任务TSS的的大小;
5.Model-specific registers(MSRs)
① 主要用于操作系统或程序执行过程;
6.调试寄存器(debug registers)(DR0—DR7):用于设置断点
注:多数系统限制应用程序对系统寄存器的访问(除了EFLAGS);程序运行在特权级0时,可以更新系统寄存器的值;
7.IA-32e(64位扩展技术)
- GDTR/LDTR/TR被扩充到64bit;EFLAGES扩充为RFLAGS;CRO-CR4被扩充到64bits;
- 控制IA-32e mode 指令的MSRs
(1)IA32_KernelGSbase
(2)IA32_LSTAR
(3)IA32_SYSCALL_FLAG_MASK
(4)IA32_STAR_CS
(3)IA32_SYSCALL_FLAG_MASK
(4)IA32_STAR_CS
二、内存管理相关的寄存器(GDTR,LDTR,IDTR&&TR)