芜湖做网站多少钱/搜索率最高的关键词
逻辑地址,线性地址,物理地址
1. 分段,即逻辑地址转换为线性地址,段基址+段偏移=线程地址。通过LDT中的段选择符找到段描述符(GDT)然后找到段基址。CPU为了方便找到LDT与GDT又在CPU中做了两个寄存器GDTR与LDTR。GDT中有limit字段,相当于段尾址,从硬件上可以确保段不会越界。一个程序是分段的,如代码放在代码段(CS),局部变量与函数指针放在栈段(SS),数据放在堆段等(DS, ES, FS, GS)。在64位,因为偏移量为64位就够大,所以分段机制基本被禁用,处理器将CS,DS,ES,SS的段基址视为0, 64位模式不进行段长度检查。
2. 分页,即线性地址转换为物理地址,先查TLB,地址不在TLB中就由MMU(Memory Management Unit)硬件中的CR3向CPU提供页目录基址。
• 分段启用,分页未启用:逻辑地址 -> 线性地址 = 物理地址
• 分段启用,分页也启用:逻辑地址 -> 线性地址 -> 物理地址