admin管理员组

文章数量:1560311

理想情况下,我们希望拥有无限大的内存容量,这样就可以立刻访问任何一个特定的机器字,但我们不得不认识到有可能需要构建分层结构的存储器,每一层次容量都要大于前一层次,但其访问速度也要更慢一些。

早在计算机刚被发明出来的时候,那些计算科学界的先驱们就已经预测到之后的计算机结构。

他们觉得以后的程序员们肯定都会幻想着拥有无限容量甚至是无限数量的快速存储器。

但是理想总是很丰满,现实很骨感。在实际的计算机系统中,并不可能拥有程序员所幻想的那种存储器。

所以一系列的计算机科学家们只能尝试不断提出更为经济型的解决方案。从而,便有了所谓存储器层级结构这样的东西。

1

事实上,存储器层级结构的提出是存在重要背景的。计算机由于其使用者的特殊性,所以往往都会存在一些局域性原理。

局域性原理意味着大多数的计算机程序不会均衡的去访问所有代码和数据,计算机的执行并不是一个等概率事件。

所以往往可以利用计算机程序的局域性原理去在性能和成本上对系统结构做出取舍和折中。

下图是一个典型的存储器层次结构,可以看出为了实现性能和成本上的折衷,存储器层次结构会由不同速度、不同大小的存储器组成。

这些不同的存储器拥有不同的大小和速度,在存储器系统中也位于不同的地位。

一般而言,存储器级别离处理器越远,速度越慢,容量越大。而越接近处理器,容量就越小,速度越快,每字节的成本也就越高。

科学家是想实现一种存储器结构,能够每字节的成本与最便宜的存储器相当,而速度则与最快速的级别相当。这看起来的确是一个非常划算和高性价比的买卖。

除此之外,一般这样的存储器结构中,还存在这样一种特征。那就是低层次存储器中的数据一般是上一级存储器中数据的超集。

之所以这样设计,是因为我们知道存储器性能跟处理器性能之间存在巨大的差距。这也是程序员们渴求快速存储器的原因。</

本文标签: 就能存储器看懂