南大Mooc计算机体系基础--IA_32地址转换
2017-10-27 22:54
363 查看
IA_32地址转换
逻辑地址 –> 线性地址 –> 物理地址|-虚拟地址的两种表示-|
分段:逻辑地址到线性地址
逻辑地址=段选择符+有效地址有效地址=基址+比例变址+位移量
段选择符:由指令显示或隐式给出,存在段寄存器中(CS,SS,DS,ES等)
段选择符=13位段表索引+全局/局部段标志+访问级别(0最高,3最低)
由段表索引去段表查到相应的段基址
段表:段描述符8B,每一项描述段的段基址,长度,权限等
项分两类:
1. 普通段描述符(用户内核的代码段,数据段) 2. 系统控制段描述符(特殊系统控制段LDT,TSS,控制转移段)
表分三种类型:
1. GDT:全局段表,所有任务共有的段,包括用户内核数据段代码段TSS(任务状态段)等 2. LDT:某个任务专有的段 3. IDT:中断描述符表
不可见寄存器:
1. 段描述符cache: 段表是存在主存里的,为了加快速度,在第一次使用后把段表加入到cache 2. TSS/LDT寄存器:存放段选择符,其描述符在GDT中 3. GDT/IDT寄存器:给出段表的主存首地址,界限
线性地址=段基址+段偏移(有效地址)
根据逻辑地址的段选择符,去查(cache/主存)段表得到段基址,相加得到线性地址
linux对段表的简化:
所有的段基址都是0,也就是逻辑地址=线性地址 MMU:地址转换部件,实现地址转换的硬件
分页:线性地址到物理地址
页目录:整个4GB都要分页,一张页表太大,所以分成1K(页目录) * 1K(页表) * 4KB形式页目录:1k项,每项对应一张页表
页表:1k项,每项对应一页4KB
线性地址通过查二级页表+页内偏移的方式访问主存
相关文章推荐
- 南大Mooc计算机体系基础--符号及符号解析
- 南大Mooc计算机体系基础--重定位和动态链接
- 南大Mooc计算机体系基础--x32-86指令系统
- 南大Mooc计算机体系基础2--主存组织
- 南大Mooc计算机体系基础2--磁盘存储器
- 南大Mooc计算机体系基础--高速缓存cache
- 南大Mooc计算机体系基础--虚拟存储器
- [软件调试学习笔记]WinDbg演示IA-32 CPU下的Windows 分页机制下的地址转换过程
- WinDbg演示IA-32 CPU下的Windows 分页机制下的地址转换过程(转载)
- WinDbg演示IA-32 CPU下的Windows 分页机制下的地址转换过程
- WinDbg演示IA-32 CPU下的Windows 分页机制下的地址转换过程
- WinDbg演示IA-32 CPU下的Windows 分页机制下的地址转换过程
- Linux在IA-32体系结构下的地址映射
- linux系统编程之基础必备(一):计算机体系结构一点基础知识
- Linux网络编程基础_1_计算机网络体系结构
- 【PE结构】由浅入深PE基础学习-菜鸟手动查询导出表、相对虚拟地址(RVA)与文件偏移地址转换(FOA)
- 计算机的运行基础数制表示与转换
- 计算机体系结构一点基础知识
- IA-32体系之任务管理简述
- 关于存储器映射、存储器重映射、内存映射、地址映射、地址转换等计算机专业名词详解