Chinaunix首页 | 论坛 | 博客
  • 博客访问: 306470
  • 博文数量: 86
  • 博客积分: 2050
  • 博客等级: 大尉
  • 技术积分: 1215
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-29 10:29
文章分类

全部博文(86)

文章存档

2011年(2)

2010年(77)

2009年(7)

我的朋友

分类: 嵌入式

2010-01-19 11:43:52

 

 

 MMU是内存管理单元,该单元通常是属于处理器的硬件,用于从虚拟地址到物理地址的映射。在典型的二级页表内存管理的系统中,映射过程为:系统为MMU依次准备好页目录表地址,页表地质,MMU通过虚拟地址的各个段作为索引寻找到物理页面地址,与页内偏移地址一起构成最终物理地址。

从上可见,从MMU映射获得最终数据,需要访问三次内存(页目录表,页表,取数据),在分页级别更高的系统中,访问一次数据要更多的内存访问。为了提高访问速度,MMU中设置了一个叫TLB的高速缓存,存储了cpu最近访问内存的虚拟地址和物理地址。每当MMU得到一个要访问的虚拟地址时,先从TLB中检查有没有对应的项,如果有,则直接取出其物理地址,如果没有,则产生一个中断,由上述的MMU映射过程计算出物理地址,并将这一个新的(虚拟地址,物理地址)对替换掉TLB中某一项。

(分页式管理可以给每个应用程序虚拟的分配4G的内存空间;程序运行时物理内存不足时可以将不常用的内存页交换到硬盘上,当需要交换到硬盘上的页时,会触发处理器的中断将硬盘上的页读到内存里。)

阅读(875) | 评论(0) | 转发(0) |
0

上一篇:音频采样

下一篇:进程和线程的区别

给主人留下些什么吧!~~