存储器层次结构1

来源:互联网 发布:cloudstack基本网络 编辑:程序博客网 时间:2024/05/01 04:11

 在简单的计算机系统模型,CPU执行指令,而存储器系统为CPU存放指令和数据。在简单模型中,存储器系统是一个线性的字节数组,而CPU能够在一个常数时间内访问每个存储器位置。

 存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。CPU寄存器保存着最常用的数据。靠近CPU的小的、快速的高速缓存存储器作为一部分存储在相对慢速的主存储器中数据和指令的缓冲区域。主存缓存存储在容量较大的、慢速磁盘上的数据,而这些磁盘常常有作为存储在通过网络连接的其他机器的磁盘或磁带上的数据的缓冲区域。

 存储器层次结构是可行的,这是因为与下一个更低层次的存储设备相比来说的,一个编写良好的程序更倾向于更频繁地访问某一个层次上的存储设备。所以,下一层的存储设备可以更慢速一点,也因此可以更大,更便宜。

 如果你的程序需要的数据是存储在CPU寄存器中,那么在指令的执行期间,在0个周期内就能访问到。如果存储在高速缓存中,需要4~75个周期。如果存储在主存中,需要上百个周期。如果存储在磁盘上,需要大约几千万个周期。

 如果你编写的应用程序,使得它们的数据项存储在层次较高的地方,在那里CPU能更快地访问它们。这个思想围绕着计算机程序的一个称为局限性的基本属性。具有良好局限性的程序倾向于一次又一次地访问相同的数据项集合,或是倾向于访问邻近的数据项集合。具有更好的局限性程序也因此运行得更快。

 基本的存储技术分为SRAM存储器、DRAM存储器、ROM存储器以及旋转的和固态的硬盘。

原创粉丝点击