首页 > 代码库 > (八)地址空间和地址生成
(八)地址空间和地址生成
内容摘要
地址空间 & 地址生成
地址生成
地址检查
一、地址空间定义
物理地址空间 -- 硬件支持的地址空间
起始地址0,直到?
逻辑地址空间 -- 在CPU运行的进程看到的地址
起始地址0,直到?
二、逻辑地址生成
地址生成时机和限制
编译时
假设起始地址已知
如果起始地址改变,必须重新编译
加载时
如编译时起始位置未知,编译器需生成可重新定位的代码(relocatable code)
加载时,生成绝对地址
执行时
执行时代码可移动
需地址转换(映射)硬件支持
地址生成过程
CPU
ALU : 需要逻辑地址的内存内容
MMU: 进行逻辑地址和物理地址的转换
CPU控制逻辑: 给总线发送物理地址请求
内存 (识别总线上的地址和控制信号)
根据控制型号决定读还是写
发送物理地址的内存给CPU
或接收CPU数据到物理地址
操作系统
建立逻辑地址LA和物理地址PA的映射
地址检查
每次访问时,检查你的段的长度和偏移量
no : 内存异常
yes: 加段长度寄存器 -> 对应的段基址
(八)地址空间和地址生成
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。