地址空间和地址生成
内容摘要
地址空间 & 地址生成
地址生成
地址检查
一、地址空间定义
-
- 物理地址空间 -- 硬件支持的地址空间
- 起始地址0,直到?
- 逻辑地址空间 -- 在CPU运行的进程看到的地址
- 起始地址0,直到?
- 物理地址空间 -- 硬件支持的地址空间
二、逻辑地址生成
-
地址生成时机和限制
-
编译时
- 假设起始地址已知
- 如果起始地址改变,必须重新编译
-
加载时
- 如编译时起始位置未知,编译器需生成可重新定位的代码(relocatable code)
- 加载时,生成绝对地址
-
执行时
- 执行时代码可移动
- 需地址转换(映射)硬件支持
-
-
地址生成过程
-
CPU
- ALU : 需要逻辑地址的内存内容
- MMU: 进行逻辑地址和物理地址的转换
- CPU控制逻辑: 给总线发送物理地址请求
-
内存 (识别总线上的地址和控制信号)
根据控制型号决定读还是写
- 发送物理地址的内存给CPU
- 或接收CPU数据到物理地址
-
操作系统
- 建立逻辑地址LA和物理地址PA的映射
-
-
地址检查
- 每次访问时,检查你的段的长度和偏移量
- no : 内存异常
- yes: 加段长度寄存器 -> 对应的段基址
- 每次访问时,检查你的段的长度和偏移量
时间: 2024-12-30 10:49:04