ARM920T MMU and Cache ——PART1 虚拟地址和物理地址的概念
2009-10-29 23:55
323 查看
From: http://www.akaedu.org/pages/news_detail.php?id=374&
虚拟地址和物理地址的概念
CPU通过地址来访问内存中的单元,地址有虚拟地址和物理地址之分,如果CPU没有MMU(Memory Management Unit,内存管理单元),或者有MMU但没有启用,CPU核在取指令或访问内存时发出的地址将直接传到CPU芯片的外部地址引脚上,直接被内存芯片(以下称为物理内存,以便与虚拟内存区分)接收,这称为物理地址(Physical Address,以下简称PA),如下图所示。
图 1. 物理地址示意图
如果CPU启用了MMU,CPU核发出的地址将被MMU截获,从CPU到MMU的地址称为虚拟地址(Virtual Address,以下简称VA),而MMU将这个地址翻译成另一个地址发到CPU芯片的外部地址引脚上,也就是将虚拟地址映射成物理地址,如下图所示[1]。
图 2. 虚拟地址示意图
MMU将虚拟地址映射到物理地址是以页(Page)为单位的,对于32位CPU通常一页为4K。例如,虚拟地址0xb700 1000~0xb700 1fff是一个页,可能被MMU映射到物理地址0x2000~0x2fff,物理内存中的一个物理页面也称为一个页框(Page Frame)。
虚拟地址和物理地址的概念
CPU通过地址来访问内存中的单元,地址有虚拟地址和物理地址之分,如果CPU没有MMU(Memory Management Unit,内存管理单元),或者有MMU但没有启用,CPU核在取指令或访问内存时发出的地址将直接传到CPU芯片的外部地址引脚上,直接被内存芯片(以下称为物理内存,以便与虚拟内存区分)接收,这称为物理地址(Physical Address,以下简称PA),如下图所示。
图 1. 物理地址示意图
如果CPU启用了MMU,CPU核发出的地址将被MMU截获,从CPU到MMU的地址称为虚拟地址(Virtual Address,以下简称VA),而MMU将这个地址翻译成另一个地址发到CPU芯片的外部地址引脚上,也就是将虚拟地址映射成物理地址,如下图所示[1]。
图 2. 虚拟地址示意图
MMU将虚拟地址映射到物理地址是以页(Page)为单位的,对于32位CPU通常一页为4K。例如,虚拟地址0xb700 1000~0xb700 1fff是一个页,可能被MMU映射到物理地址0x2000~0x2fff,物理内存中的一个物理页面也称为一个页框(Page Frame)。
相关文章推荐
- (亚嵌)ARM920T的MMU与Cache之虚拟地址和物理地址的概念
- ARMv6 架构下MMU虚拟地址到物理地址二级映射过程
- ARM920T MMU and Cache ——PART3 ARM920T的CP15协处理器
- 总线地址、物理地址、虚拟地址相关概念澄清
- MMU与逻辑地址,物理地址和虚拟地址之间的关系
- 虚拟地址和物理地址的概念
- ARM920T及其MMU,Cache学习杂记(二)
- ARM920T的MMU与Cache ——转载
- 虚拟地址与物理地址的相关概念
- 【解答】关于内核中没开MMU之前的虚拟地址物理地址转换问题
- ARM920T的MMU与Cache
- ARM920T虚拟地址原理分析及实现
- 物理地址和虚拟地址1 (MMU)(转载)
- 自己学驱动13——内存管理单元MMU(虚拟地址和物理地址)
- ARM920T及其MMU,Cache学习杂记 (三)
- (亚嵌)ARM920T的MMU与Cache之虚拟内存管理
- MMU与虚拟地址、物理地址、链接地址
- ARM920T及其MMU,Cache学习杂记 (四)
- 嵌入式Linux系统工程师系列之ARM920T的MMU与Cache
- ARM920T的MMU与Cache