分类: 嵌入式
2010-01-19 11:43:52
从上可见,从MMU映射获得最终数据,需要访问三次内存(页目录表,页表,取数据),在分页级别更高的系统中,访问一次数据要更多的内存访问。为了提高访问速度,MMU中设置了一个叫TLB的高速缓存,存储了cpu最近访问内存的虚拟地址和物理地址。每当MMU得到一个要访问的虚拟地址时,先从TLB中检查有没有对应的项,如果有,则直接取出其物理地址,如果没有,则产生一个中断,由上述的MMU映射过程计算出物理地址,并将这一个新的(虚拟地址,物理地址)对替换掉TLB中某一项。
(分页式管理可以给每个应用程序虚拟的分配4G的内存空间;程序运行时物理内存不足时可以将不常用的内存页交换到硬盘上,当需要交换到硬盘上的页时,会触发处理器的中断将硬盘上的页读到内存里。)