ARMv7的内存管理
来源:互联网 发布:微信扫号器数据 编辑:程序博客网 时间:2024/06/02 02:50
ARMv7有三个系列: ARMv7-A, ARMv7-R, ARMv7-M
ARMv7-A: Application profile, 支持ARM和Thumb指令集, 支持MMU(Memory Management Unit)
ARMv7-R: Real-time profile, 支持ARM和Thumb指令集, 支持MPU(Memory Protection Unit), 无MMU
ARMv7-M: Micro-controller profile, 只支持Thumb指令集, 支持MPU, 无MMU
ARM的内存模式较为简单, 程序中的地址直接为逻辑地址, 内存被分成多个不重叠region区域, 拥有各自的访问控制权限. 在没有MMU的架构上, Region地址范围及权限是预先在硬件中定义的, 如
由在存在MMU的架构上, 不同的Region会
MMU是Memory Management Unit的简称, 是一块芯片, 用来管理内存地址的映射问题. MMU并不是必须的, 比如ARM-R, ARM-M架构, MMU存在的目的是为了实现虚拟内存, 即通过交换frame使SW的寻址空间大于物理内存大小. 在没有MMU的系统里, CPU放到地址总线的地址将直接用于寻址, 反之, 该地址会被送到MMU, 由MMU经过转换得到物理地址然后完成寻址. MMU对地址的转换过程对SW是透明的, 但是SW可能需要在系统启动时设置MMU转换的一些参数, 比如frame表格存放地址, 等等.
在不存在
DRAM, Dynamic Random Access Memory, 这是目前大多数IT产品用的内存类型, 一般有SDRAM和DDR. DRAM区别于SRAM之处在于构成SDRAM的电子元件会掉电, 需要系统周期性的充电以维持数据. 大部分系统在DMA芯片上集成了SDRAM充电逻辑电路, 通过时钟芯片连接到DMA芯片, 周期性的完成对SDRAM的充电过程. 这一过程对SW也是完全透明的.
- ARMv7的内存管理
- armv7
- 内存管理--内存的简介
- 内存管理的读书笔记
- GTKMM的内存管理
- uClinux的内存管理
- Symbian的内存管理
- IOCP的内存管理
- C++ 的内存管理
- physX 的内存管理
- COM的内存管理
- matlab的内存管理
- winCE的内存管理
- Qt的内存管理
- cppunit的内存管理
- stl的内存管理
- 内存的管理
- IOCP的内存管理
- Android软件开发之EditText 详解(八)
- wpf 反编译
- org.hibernate.TransientObjectException: The given object has a null identifier: cn.com.cis.acic.sale
- C# 中 json对象与字符串的相互转换
- 山狮来临,Notes何往
- ARMv7的内存管理
- iOS开发之结合asp.net webservice实现文件上传下载
- Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(四)
- Centos 安装配置 Dynamips
- Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(五)
- ASCII
- QQ协议分析三
- 浅谈SQL SERVER中事务的ACID
- Oracle统计某用户下所有的表的记录数