我读到CPU生成逻辑地址,然后由内存管理单元(MMU)映射到物理地址。 “生成”到底意味着什么?逻辑地址只是一个偏移值,如指令号或索引吗?例如,假设一个过程有一百条指令。那么0到99之间的过程的逻辑地址空间是什么?
听起来很糟糕。 CPU处理逻辑地址。在某些情况下,它可以计算逻辑地址。逻辑地址是0 ... 2 ^ N范围内的某个值,其中N通常是16,32或64。
内存管理单元可以是CPU的一部分,而不是单独的内容。在这些日子里,它经常是一个单独的芯片或板。 CPU / MMU组合必须将逻辑页面转换为物理页面帧。 CPU使用操作系统维护的页表将进程的逻辑页映射到物理页帧。
通常,有一个特权硬件寄存器,用于指定页表所在的位置。
页表的结构取决于系统。