物理地址,物理内存,与io内存的区别
2015-04-20 05:53
309 查看
物理地址(RAM):cpu发出的地址
物理内存(DRAM):只占物理地址一部分,由/proc/iomem可见,“System RAM” 就是物理内存(DRAM)的空间:
>/proc/iomem
00000000-00000fff : reserved 00001000-0009fbff : System RAM 0009fc00-0009ffff : reserved 000a0000-000bffff : PCI Bus 0000:00 000c0000-000c8bff : Video ROM 000e0000-000fffff : reserved 000f0000-000fffff : System ROM 00100000-202fffff : System RAM 01000000-01534484 : Kernel code 01534485-01c0cc8f : Kernel data 01d59000-02020aa3 : Kernel bss 20300000-23ffffff : RAM buffer
io内存: 对外部设备寄存器(有的外部设备还有其内存)的编址方式,将物理地址(RAM)的一部分划出来用作IO地址空间。由上图可见,除了DRAM,其他空间有的被外设的寄存器占用。
虚拟地址:现代操作系统普遍采用虚拟内存管理(Virtual Memory Management)机制,这需要MMU(Memory Management Unit)的支持。MMU通常是CPU的一部分,如果处理器没有MMU,或者有MMU但没有启用,CPU执行单元发出的内存地址将直接传到芯片引脚上,被内存芯片(物理内存)接收,这称为物理地址(Physical Address),如果处理器启用了MMU,CPU执行单元发出的内存地址将被MMU截获,从CPU到MMU的地址称为虚拟地址(Virtual Address),而MMU将这个地址翻译成另一个地址发到CPU芯片的外部地址引脚上,也就是将虚拟地址映射成物理地址。
相关文章推荐
- IO端口,io内存, 物理地址, 虚拟地址
- 物理内存(物理地址)与虚拟内存(虚拟地址)的区别
- IO端口,io内存, 物理地址, 虚拟地址
- 虚拟地址,逻辑地址,线性地址,物理地址有什么区别
- 主存、内存、虚存、逻辑地址、物理地址
- 物理地址扩展 (PAE) 和应用程序内存调整
- 有关IO端口和IO内存的区别
- IO端口和IO内存的区别 转
- ARM Linux虚拟地址转换为内存物理地址
- 虚拟地址_物理地址_逻辑地址_页表_内存映射
- IO端口和IO内存的区别及分别使用的函数接口
- 整理在ubuntu重装之后配置过程(6G内存,修改网卡物理地址,修改hosts,codeblocks,eclipse,jdk,配置eclipse编译python)
- 内存管理笔记(分页,分段,逻辑地址,物理地址与地址转换方式)
- Linux下直接读写物理地址内存
- IO端口和IO内存的区别及分别使用的函数接口
- ioremap 函数映射操作已知的物理地址(寄存器、端口、IO)
- 深入理解计算机系统-之-内存寻址(一)--存储管理机制(虚拟地址,线性地址,物理地址)
- Linux下直接读写物理地址内存
- IO端口和IO内存的区别及分别使用的函数接口
- 虚拟地址_物理地址_逻辑地址_页表_内存映射