1 位和字节顺序:
1bit=1位 8位=1字节(byte) cpu操作最小单位是byte,cpu是按照字节编址的
2 分段寻址
将一段内存当做独立的寻址空间就是内存的分段,一个程序可以有指令段,堆栈段,数据段. 相当于16位汇编中使用 标记 segment .... ends 标记 来分配一个段,在汇编中访问段地址使用 段寄存器:偏移地址 来寻址
3 异常
由指令引发的错误事件.
4 全局和局部描述符表
在32位保护模式下操作时,所有的内存访问要么通过全局描述附表 (GDT)要么通过局部描述附表(LDT),在这些表里存放的是段描述符,段描述符包含了段的基址,访问特权,类型,用法信息. 其中GDT包含所有的LDT.
4 系统段,描述符和门
TSS定义了任务执行环境的状态.这些状态包括通用寄存器,段寄存器,EFLASGS寄存器,EIP寄存器和段选择符一集3个堆栈段(特权0,1,2各一个堆栈)的指针状态,也包括了与任务相应的LDT的选择符和页表的基地址.
6中断和异常处理
外部中断,软件中断和异常通常是通过中断描述符表(IDT)处理的,IDT包含了访问中断和异常处理程序的门描述表的集合.IDT也不是通过段选择符和段描述符访问,而是通过IDTR寄存器访问,即IDTR寄存器记录了IDT表的基址
7 内存管理(线性内存,页,页目录,页表)
系统架构支持物理地址内存或
者虚拟内存(通过分页). 当用直接物理地址时,线性地址就是物理地址,当使用分页时,所有代码,堆栈,系统段,GDT,IDT都可以将最近访问过页主流在内存中而进行分页.页在物理内存中的位置由页目录和页表来给出.这两个数据结构都保存物理内存中.
页目录包含有页表的物理地址,访问提权,内存管理信息. 页目录的基址保存在控制寄存器CR3中.每个任务都可以有自己的页目录.
页表含有页框的物理地址,访问特权和内存管理信息
8 运行模式
保护模式:保护模式是处理器的源生模式,在这个模式下涵盖了所有指令和特点,是32位
实模式:该模式下只能使用8086的编程模式和一些扩展,16位
虚拟86模式:在保护模式中,处理器提供了一种模拟8086的运行,可以再多任务的保护模式 下运行8086的16位程序
9 内存管理寄存器
GDTR,LDTR,IDTR,TR.这些寄存器指明了那些控制分段内存的数据结构的位置,如GDTR指明GDT(全局描述附表)位置,LDTR指明LDT(局部描述附表)位置,IDTR指明IDT(中断描述符表)位置
GDTR和IDTR0到15位表示 表的界限,16~47位表示32位线性基地址
LDTR 0~15位表示描述符在GDT中的索引值,
10 GDTR寄存器
GDTR一共48位,其实32位保存GDT的基址,16位表示GDT的界限
表界限只的是GDT中的字节个数
11 LDTR寄存器
LDTR是16位,保存了指向GDTR中的描述符索引值,LDTR是选择符,指向GDT中的一个描述符,这个描述符中有LDT表的基地址。另外为了LDTR有个48位影子寄存器,用于加快访问速度,每当使用 LLDT +操作数 指令时处理器就会把LDTR指向GDT中的描述符加载到影子寄存器中去。
12 IDTR 中断描述符表寄存器
IDTR 保存IDT的32位基址16位边界线.
13 任务寄存器TR
保存16位段选择符,32位基址,16位段界限和当前任务的TSS描述符属性,它引用GDT中的TSS描述符.
14 控制寄存器
控制寄存器(CR0,CR1,CR2,CR3,CR4)决定了处理器的运行模式和当前正在执行的任务特征
CR0 包含系统控制标志,这些标志控制着处理器的运行模式和状态 CR0的31位=1启用分页,=0不启用
CR1-保留
CR2-包含缺页的线性地址
CR3-包含了页目录的基址和两个标志 PCD和PWT 也称为PDBR寄存器
CR4-包含一组标志,这些标志启用了架构方面的几个扩展,只有特权0的程序才可以使用mov命令改写
15 装在和保存系统寄存器
GDTR,LDTR,IDTR和TS都有装在和保存指令用来从寄存器中装在或保存到寄存器中:
在寄存器指向的表的名称前面加上L句是装在寄存器,将表的基地址和界限从内存装在到寄存器中,加上S是将基址和界限保存到内存中,
比如GDTR :LGDT指令是将GDT表的基址从内存中装载到寄存器中, SGDT指令是将GDT的基址和界限保存到内存中去
控制寄存器(CR0,CR1,CR2,CR3,CR4)都是用mov 命令加载的