下面我们看到的这张图,熟悉吗?它就是众所周知的存储器的层次结构图,犹如金字塔般布局。
在金字塔的顶端,是CPU中的寄存器,虽然容量最小,但速度最快,价格也最为昂贵;而随着位置的下移,我们看到了高速缓存、主存以及磁盘,它们的容量逐渐增大,速度则相应减缓,价格也逐渐亲民。
那么,这个金字塔结构的存储器是如何形成的呢?为什么它必须遵循这样的层次结构呢?
简单来说,这个金字塔结构是性能、成本和容量三者之间的平衡点。通过这种层次结构,计算机得以在低成本的基础上实现快速运行,并拥有海量的存储空间。
从前面的描述中,我们知道CPU就像是一台无情地执行指令的机器。
如果从信号与系统的角度去看待这一切,CPU其实是在处理各种信号。其任务是对输入的数据进行计算并输出结果。
那么这些数据从何而来,处理后的结果又去往何处呢?
答案就藏在我们所提到的内存中。在计算机运行之前,需要先将软件事先放入内存中。CPU通过自身的取指令单元从内存中读取指令并执行。
软件在运行过程中,通常需要从内存中读取数据或把计算结果写回内存。
虽然CPU的核心可以与内存直接交互,但事实上并非如此。CPU需要通过一个叫做内存控制器的模块与内存进行连接。
所有对内存的读写操作都需经过此控制器来完成。
技术发展的趋势使得CPU的运行速度远远超过了内存的访问速度。这体现在下面这张图上各存储器之间明显的性能差异。
当考虑到CPU指令执行的过程时,这种巨大的性能差异必然会影响到CPU的执行速度。
面对这一问题,工程师们如何解决呢?他们深知在计算机领域,没有什么问题是不能通过增加中间层来解决的。
为了平衡CPU与主存的性能差异,工程师们在DRAM与CPU之间增加了一个名为高速缓存的层级。这个缓存层的作用是弥补二者之间的速度差异。
随着数字资源的增长,如手机照片等,它们的占用空间也在迅速扩大。
从过去的几KB到现在动辄10MB甚至更多的空间占用,这种增长趋势给我们带来了存储上的挑战。
由于内存的空间是有限的。
普通的PC内存可能只有8G或16G,显然无法存储所有数据。若要扩大内存,成本将大幅上升。为了存储更多数据,我们需要寻找更加经济的解决方案。这便引出了SSD(固态硬盘)和HDD(硬盘)等存储设备。
还有一个重要的原因是我们不希望内存中的数据在断电后丢失。
与之相反,磁盘中的数据在长时间保存后仍能保留。这也就意味着我们的照片、文档等重要信息不会因一次简单的关机而消失。
半导体存储器按照存取方式可以划分为RAM和ROM两大类,而RAM中又具体包括了SRAM和DRAM两种实现方式。
- SRAM(静态随机存取存储器):只要保持通电状态,其内部的数据就不会丢失。
- DRAM(动态随机存取存储器)<span》:尽管在保持通电状态下,仍需定时刷新才能确保数据的保存。