理解存储器层次:Cache计算与虚拟存储器解析

需积分: 48 9 下载量 47 浏览量 更新于2024-08-20 收藏 4.81MB PPT 举报
"南航计算机组成原理课件7讲解了如何计算Cache的容量以及存储器层次结构的相关知识,包括Cache的工作原理、映射方式、性能影响,还涉及虚拟存储器和存储器分类等内容。" 在计算机系统中,Cache是提高处理器访问速度的关键组件。它通过缓存最近频繁使用的数据来减少主存的访问时间。本课件中提到的Cache是一个直接映射的高速缓冲存储器,其容量计算涉及到几个关键参数:行数、块大小和地址结构。 首先,以一个具体的例子来说明如何确定Cache行号。例如,对于一个有64行、块大小为16字节的Cache,地址1200会被映射到第11行。这是因为1200除以16等于75,对64取模后得到11。这说明地址的高位部分用于确定行号,低位部分用于在块内定位。 接着,我们探讨Cache的容量计算。例如,一个Cache有16K行数据,每行数据是1个字(4字节),32位主存地址。在这种情况下,Cache的大小为2^14(16K行)乘以(32位地址空间中主存地址部分的位数 + 块标识位数 + 行标识位数)。这里的行标识位数是14(对数2计算行数),块标识位数是2(因为每行1个字),主存地址部分是32-14-2,所以总容量为2^14 * (32 + 49) = 2^14 * 49 = 784 Kbits。 如果块大小变为4个字,即16字节,那么块标识位数增加为2-2,因为需要额外的2位来表示4倍的数据。所以,容量变为2^14 * (4*32 + 143) = 2^14 * 143 = 2288 Kbits。同样地,如果块大小是2的m次方个字,计算方法类似。 存储器层次结构包括从低速大容量的磁盘到高速小容量的Cache的一系列层次。这个结构的目的是利用局部性原理,即程序倾向于在一段时间内反复访问同一区域的数据,以减少访问慢速存储器的次数。高速缓冲存储器(cache)是其中的关键层次,它位于主存和CPU之间,通过有效的映射策略(如直接映射、组关联映射、全关联映射)来提高数据获取效率。 此外,课件还提到了虚拟存储器的概念,包括虚拟地址空间和虚拟存储器的实现,以及存储保护机制。虚拟地址空间允许程序使用比实际物理内存更大的地址空间,而虚拟存储器通过页面替换算法实现这一功能。存储保护则确保各个进程在其自己的地址空间内运行,防止非法访问其他进程的内存。 最后,存储器的分类根据其工作性质、存取方式、存储介质等特性进行了划分。例如,随机存取存储器(RAM)允许随机访问,顺序存取存储器(SAM)按照顺序读写,直接存取存储器(DAM)如磁盘可直接定位数据,而相联存储器(AM)如快表则是按内容查找。 这个课件深入浅出地介绍了Cache的容量计算、存储器层次结构以及相关的存储器分类,是理解和学习计算机系统存储体系的重要资料。