首先,我们对计算机的内存进行简单的了解
内存(Memory),又称内部存储器,是计算机的重要组成部分。其主要作用是进行程序的运行和程序运行过程中一些半成品数据的存储。
根据不同的性能,有以下几类内部存储器:
只读存储器 ROM(Read Only Memory)
ROM,只读存储器,在制造ROM的时候,信息和数据就已经被存入并永久保存,这些信息只能读出,不能写入。即时在使用过程中计算机断电,ROM中的数据也不会丢失。一般,ROM用于存放计算机中的基本程序和数据。
随机存储器 RAM(Random Access Memory)
RAM,随机存储器,表示既可以对此存储器进行读取,也可以对其进行写入操作。在使用过程中,若电源关闭,其中的数据将会丢失。一般我们使用的内存条就属于随机存储器。
高速缓冲存储器 Cache
Cache,高速缓冲存储器位于CPU与内存之间,是一个读写速度比内存还要快的存储器。当CPU向内存中写入或读取数据时,这个数据也被存储进高速存储器中,当CPU再次需要这些数据时,CPU将直接从高速存储器Cache中读取数据,若Cache中没有相应数据,则CPU会再次读取内存中的相应数据。
“内存是计算机与CPU进行沟通的桥梁”
为了弄清CPU和内存的工作关系, 我们还需要知道计算机中的另一个重要部件——硬盘。硬盘是计算机的外部存储器,主要存储需要长期保留的程序和数据,有容量大,数据不易丢失的特点,所以也被称为“数据仓库”。
在前一章节的学习中,我们已经了解了CPU的工作原理,简单回顾一下,CPU的工作分为三个步骤①取指令②翻译指令③发送信号执行指令
在第一个步骤“取指令”中,CPU根据指令计数器内存储的指令地址,从内存中取出相应的指令,写入指令寄存器中以供后续使用。从这一过程中,我们可以看出,内存,是CPU可以直接寻址的存储空间。
CPU与内存间的工作关系为:
当我们在计算机上执行一个程序时,首先由输入设备向CPU发出操作指令,CPU接收到操作指令后,硬盘中对应的程序指令被直接加载到内存中,此后,CPU再对内存进行寻址操作,将加载到内存中的指令翻译出来,而后发送操作信号给操作控制器,实现程序的运行或数据的处理。
看了一个程序的运行过程后,我们不禁感到疑惑,为什么CPU要多此一举将程序加载到内存中读取译码,而不是直接读取硬盘中的程序进行译码呢?
这就牵扯到一个访问速度的问题。
比较三种存储器:硬盘、内存和高速存储器的存取速度,我们发现:
内存的存取速度远高于硬盘的存取速度,而CPU内高速存储器的存取速度更是远高于内存的存取速度。
当我们把程序从硬盘放到内存以后,CPU就直接在内存运行程序,这样比CPU直接在硬盘运行程序就要快很多。
内存解决了一部分CPU运行过快,而硬盘数据存取太慢的问题。 提高了我们的电脑的运行速度。
内存就如同一条“高速车道”一般,数据由传输速度较慢的硬盘通过这条高速车道传送至CPU进行处理。
其实内存在这里起了两个作用:
1. 保存从硬盘读取的数据,提供给CPU使用
2. 保存CPU的一些临时执行结果,以便CPU下次使用或保存到硬盘
下面,我们打一个比方,类比内存和CPU的工作关系。
如果说把硬盘比喻成一个大仓库,CPU比喻成加工车间,那么内存就是一个临时的小仓库。从距离上来说, 相比内存到CPU的距离和硬盘到内存的距离,内存和CPU的距离更短。
硬盘(大仓库)用来保存车间需要用的原料和最终生产出来的商品。仓库太大,取出原料和存储商品太慢,耗时间。
内存(临时小仓库):原料会先放到这里,小仓库,可以很快的找到需要的原料或商品。
CPU(车间):从内存(小仓库)里拿到原料,生产商品。中间会有半成品,半成品可以放在内存(小仓库)里。
以这种方式,车间的生产速度就会提高。