从我们写的代码到最后在总线上出现的物理地址,有一个转换的过程,在学习具体的转换算法之前,我们需要学习地址生成的过程。生成过程中并不是所有地址都允许访问的,因此还需要对地址的合法性进行检查。
地址空间定义:
计算机地址空间有两种,物理地址空间和逻辑地址空间。物理地址空间就是硬件支持的真实地址空间,这是受硬件支持的,比如32位的系统,就是从0到4G-1的位置。逻辑地址空间就是在CPU中运行的进程看到的地址,这个地址是从物理地址空间中分配的一段或几段子空间。这两者之间的转换方法后面再讲。
地址生成及处理过程:
整体可以分为如下几个步骤,ALU需要逻辑地址中的内容(读或写),MMU对逻辑地址进行转换,转换为物理地址,CPU控制逻辑给总线发送物理地址请求。内存发送物理地址的内容给CPU或者将CPU给的数据存储到物理地址。操作系统做的是简历逻辑地址LA和物理地址PA之间的映射。