目录
概念
五大组成部分
为什么需要存储器?
计算机存储金字塔层状结构
为什么程序需要加载到内存中
概念
冯诺依曼体系结构是以数学家冯·诺依曼的名字命名的一种计算机体系结构。这种体系结构是现代计算机的基础,它定义了计算机的基本组件及其相互作用的方式。
五大组成部分
- 运算器(ALU, Arithmetic Logic Unit):负责执行所有算术运算和逻辑运算。
- 控制器(CU, Control Unit):负责从内存中取出指令、解释指令并控制其他部件执行指令。运算器和控制器组合起来就是 CPU。
- 存储器(Memory):指的是内存,用于存储数据和程序。在冯诺依曼体系中,指令和数据可以存储在相同的内存区域。
- 输入设备(Input Devices):例如键盘、鼠标等,用于将外部信息输入到计算机中。
- 输出设备(Output Devices):例如显示器、打印机等,用于将计算机处理的结果输出给用户。
无论是有线还是无线的方式,这五大组成部分需要连接起来,让数据在这些设备中流动起来,数据的流动,本质上是设备之间进行数据的来回拷贝,而拷贝的整体速度,是决定计算机效率的重要指标!
为什么需要存储器?
用户在输入设备中输入数据,数据由 CPU 处理之后,交给输出设备,向用户输出处理后的结果,那为什么需要存储器呢?
其实,输入输出设备的访问数据的速度很慢,而 CPU 的处理速度很快,如果输入设备和输出设备直接与 CPU 连接,由木桶效应,整个计算机的运行速度便取决于输入设备,输入设备的速度拖累了 CPU 的运行,CPU 的待机时间长,闲置等待的时间长,计算机就比较慢。
而存储器访问数据的速度比输入设备快,比 CPU 的处理速度慢,引入存储器,CPU 就不用花长时间等待输入设备输入数据,而是从存储器中访问数据,从而提高了计算机的效率。
计算机存储金字塔层状结构
为了提高存储器的效率,还设计了计算机存储金字塔层状结构,不同层级的存储器具有不同的访问速度和容量。通过合理利用这些不同层级的存储器,可以显著提高计算机系统的运行效率。例如,经常访问的数据会被暂存到访问速度更快的高速缓存中,减少访问时间。
在下图中,
- 越靠上的存储单元,离CPU越近,效率越高,造价越贵,单体容量越小;
- 越靠下的存储单元,离CPU越远,效率越低,造价便宜,单体容量越大。
为什么程序需要加载到内存中
快速访问:内存(RAM)的访问速度远高于外部存储设备(如硬盘、SSD)。CPU可以直接从内存中读取和写入数据,而无需等待较慢的外部存储设备。这大大提高了程序执行的效率。
执行指令:由冯诺依曼体系结构,计算机的中央处理器(CPU)只能直接执行存储在内存中的指令。当一个程序启动时,操作系统会将程序的代码和所需的数据加载到内存中,CPU才能逐条执行这些指令。
动态数据处理:程序在运行过程中会产生大量的临时数据,如变量值、中间计算结果等。这些数据需要在程序执行期间快速存取,内存提供了这样的功能。如果这些数据存储在外存中,每次读写都会产生较大的延迟,严重影响程序的性能。