ARMv7的内存管理

ARMv7的内存管理

2013年08月17日 ⁄ 综合 ⁄ 共 782字 ⁄ 字号 小 中 大 ⁄ 评论关闭

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也是完全透明

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值