嵌入式系统设计师考试复习笔记之存储管理篇
引言
2007 年下半年通过了嵌入式系统设计师的考试,一大堆的复习资料都不知道扔那里好,卖掉又有
点可惜,送人又没人要。与其让当时的复习笔记沉沦书架底部,还不如整理一下让大家评论评论。
2008 年 11 月的考试也快到了,如果能帮到有需要的人,那我真是乐坏了。看看 06 和 07 年的题目,
在存储管理方面的题目蛮多的,应该是一个重要考点。无论是概念、理论、分析和计算都相当容易出题。
在我当时的复习笔记中这方面算最多了。这里就先拿这个点说说吧,其他的以后有时间再写了。
1、存储器系统的层次架构
计算机系统的存储器被组织城一个金字塔的层次结构。
自上而下为:CPU 内部寄存器、芯片内部高速缓存(cache)、芯片外部高速缓存
(SRAM、SDRAM、DRAM)、主存储器(FLASH、EEPROM)、外部存储器(磁盘、光盘、CF 卡、SD 卡)
和远程二级存储器(分布式文件系统、WEB 服务器),6 个层次的结构。
上述设备从上而下,依次速度更慢、容量更大、访问频率更小,造价更便宜。
2、高速缓存(cache)
工作原理(参照教程 126 页,博客画不了图):主要利用了程序的局部性特点。
地址映象是指把主存地址空间映象到 cache 的地址空间。
地址变换是指当程序或数据已经装入到 cache 后,在实际运行过程中,把主存地址如何编程
cache 空间的地址。
常用的地址映象和地址变换的方式有:(教程 127 页)
直接映象和变换:速度快,造价低,但有局限性,不能充分利用 cache 的好处。
组相联地址映象和变换:速度稍慢但是命中率高。
全相联地址映象和变换:可以任意映射。
常用的 cache 替换算法:轮转法和随机替换算法。
高速缓存的分类:
统一 cache 和独立的数据/指令 cache
写通 cache 和写回 cache
读操作分配 cache 和写操作分配 cache
3、存储管理单元(MMU)
MMU 在 CPU 和物理内存之间进行地址转换,将地址从逻辑空间映射到物理空间,这个过程称为内
存映射。
MMU 主要完成下面的工作:
A. 虚拟存储空间到物理空间的映射。
B. 存储器访问权限的控制。
C. 设置虚拟存储空间的缓冲特性。
嵌入式系统中常常采用页式存储管理。为了管理这些页引入了页表的概念。
页表是位于内存中的表,它的每一行对应虚拟存储空间的一个页,该行包含了该虚拟内存页对应的
物理内存页的地址、该页的访问权限和该页的缓冲特性等。
从虚拟地址到物理地址的变换过程就是查询页表的过程。
由于页表存储在内存中的,整个查询过程需要付出很大的代价。根据程序局部性的特点,增加了一
个小容量、高速度的存储部件来存放当前访问需要的地址变换条目,这个存储部件称为:地址转换后备
缓冲器(TLB)。
当 CPU 访问内存时,首先在 TLB 中查找需要的地址变换条目,如果该条目不存在,CPU 再从内存
中的页表中查询,并把相应的结果添加到 TLB 中,更新它的内容。
嵌入式系统中虚拟存储空间到物理空间的映射以内存块为单位进行。即虚拟存储空间中一块连续的
存储空间被映射到物理存储空间中同样大小的一块连续存储空间。
评论0
最新资源