看到Po这么求知若渴,突然想来好为人师一下(`ε´ )来点拓展知识
之前po和硬盘搞混的内存条,实际上指的是DRAM(Dynamic Random Access),和之前几种存储单元都不同,DRAM通过电容保存数据,因此这种存储单元的特点是访问速度比之前的存储单元快很多,但是不能持久化存储(也就是电脑一断电数据就会丢失),价格相对贵
目前常用的DRAM为DDR4和DDR5(Double Data Rate Synchronous DRAM),最近价格飙升的就是DDR5
还有一种存储单元叫SRAM(Static Random Access Memory),这种存储单元用锁存器(数字电路中一种有记忆功能的逻辑单元)存储数据,因此速度极快,是上述所有存储单元最快的,与之相应的就是价格也是最贵的,而且同样断电数据就消失。当然对于这个结构可以不用太关注,除了相关专业的人基本不会接触到
那么上面所有的存储结构之间的关系是什么呢,可以简单这么看
Register(寄存器)
|
SRAM
|
DRAM
|
固态硬盘、磁盘、U盘、CD/DVD、磁带
电脑的运行直接依赖的是寄存器的数据,但是寄存器又贵又少,于是选用(相对)便宜量大的DRAM来支持更多运行时数据(也就是内存)。但是DRAM访问相对有点慢怎么办,于是有了SRAM作为缓存,用各种巧妙的技术(预取、分支预测,多路组相连)来尽量让缓存里有我们需要的数据,这样就不用访问内存了。当然要是缓存没有还是需要继续向下访问内存
以上是程序运行需要做的事情,这些数据只要一关机就全部消失,为了能让电脑持久保存文件,就有了下面的各种存储结构。举个例子,当电脑打开一个文件或者游戏时,就会先把硬盘磁盘等中的部分数据拷贝到内存里(然后做各种复杂的事情,页分配阿巴阿巴),然后在运行的时候把觉得未来可能还会访问的数据留在缓存里加速访问。这就是为什么玩单机游戏有时候会突然卡很久(因为内存里没有数据,要到下一级去取,耗时很久)
当然这里面还有超级多的技术细节,作为科普来讲应该不需要,简单来说就是一级一级往下拿数据,越往下越慢、代价越大,但是越便宜
不知不觉说了这么多,希望Po不要怪我好为人师(`ε´ )