目录
虚拟地址和物理地址的概念
cpu如何访问内存:
当CPU需要执行特定的指令或访问特定的数据时,它会将相应的地址放在地址总线上。 地址总线上的地址信号传递到内存,指示内存中的特定存储位置。 内存根据地址总线上的地址信息,读取或写入数据,并通过数据总线将数据传递给CPU, CPU将从内存中读取的指令加载到其内部,然后执行这些指令,进行计算或处理数据
为什么要用地址映射:
PU和内存之间有三根总线,地址,数据,控制总线。CPU和内存之间用地址来查找数据,但是两者的地址并不总是一样的,CPU产生的是逻辑地址,而内存的就是物理地址。通常都是不一样的,所以需要地址映射。
物理地址和虚拟地址的概念
物理地址:每一个内存单元在这个空间(存储器)都有唯一的地址,我们将这个唯一的地址称为物理地址
CPU通过地址来访问内存中的单元,地址有虚拟地址和物理地址之分,如果CPU没有MMU(Memory Management Unit,内存管理单元),或者有MMU但没有启用,CPU核在取指令或访问内存时发出的地址将直接传到CPU芯片的外部地址引脚上,直接被内存芯片(以下称为物理内存,以便与虚拟内存区分)接收,这称为物理地址(Physical Address,以下简称PA),如下图所示。
物理地址就是,机器内主存的地址,包括RAM和ROM
逻辑地址就是,程序运行在内存中,使用的地址。
虚拟地址就是,cpu支持的内存空间远远大于机器主存的大小,这些多出来的空间对于程序来说是可以用的,这个时候的所有地址都称为虚拟地址