关于物理内存的几点认识

今天小敏(化名)问了一些关于计算机内存的问题,其实我也是似懂非懂。只是平时写程序知道这些内存大概是怎么在计算机怎么分配的,怎么去使

用,但还不能给一个新人完全系统的去讲解,计算机内存和程序之间完成的关系。(其实现在也讲不清楚,呵呵)。
我们跟随几个问题来认识最基本的计算机内存:

  1. ROM、RAM、Flash、固态硬盘、硬盘的区别是什么?
  2. 为什么需要RAM?RAM的由来?
  3. 可执行文件怎么加载到内存中的?
  4. 内存在使用中有哪些不同分类?

    ROM:(Read Only Memory)它和RAM的明显区别大家都知道:1、只读特性 2、掉电不擦出特性。ROM也分种类,PROM就是一次性的,写入一次之后就不能擦除了,EROM则是可以多次擦除写入的。应用场景一般都是存储一些很固定的参数,典型的就是电脑主板的BIOS。缺点就是存储的资料修改很麻烦,其实你要是能给它加个文件系统,不用下载器,你也可以操作里面的文件啦。
    RAM:(Random Access Memory)这个大家更容易理解了,大家的手机电脑,系统运行内存SRAM、DRAM。DRAM速度比SRAM稍慢,DDR RAM属于DRAM的一种,很多电脑的内存都是这个。
    Flash:因为ROM资料不易修改,RAM掉电擦除的各自缺点。就有了Flash的诞生,Flash可擦出,掉电不擦除。加个文件系统、存储算法什么的就变身U盘了。固态硬盘=主控芯片+很多Flash存储。因为闪存芯片不存在寻道时间。 并且读取速度要比传统的机械硬盘速度要快不少, 所以要快很多。并且最终以SATA(电脑中的串行接口)或者IDE(电脑中的并行接口)输入输出数据。
    硬盘:区别固态硬盘,固态硬盘通过主控芯片电子寻址。你就可以对比机械硬盘的物理寻址方式,机械硬盘有盘片,磁道,扇区。你查找每一段数据都需要调整磁头去读取数据。
    这里我们并没有讨论各种不同设备的储存介质的问题。在储存介质上它们也是都有不同的,这也是它们速度相关的重要因素。
    现在我们认识了基本日常所见的内存形式了。那么我们的电脑、手机为什么需要RAM呢?RAM怎么由来的?
    二、古老的卡片机,读取卡片一条指令再执行。21世界的同学都知道,因为CPU从外围IO读取指令速度很慢,而CPU执行速度很快,需要一个快一点的内存先把指令加载进来,CPU再去RAM里面取指令,这样会快很多。既然要速度快,为什么不直接把RAM做到CPU内存里面呢?CPU一级、二级、三级缓存,读写速度比RAM更快。其主要原因是成本问题和性能问题。CPU的高速寄存器制作成本比RAM高,把CPU高速缓存做到4G,取代RAM,计算机在性能表现上和RAM结构对比没有绝对优势(CPU高度缓存中放置的都是高频繁使用的指令,而高频使用的指令并不是无限多,目前的CPU缓存容量基本够用,当把高速缓存做的越大,一是高频使用的指令依旧是那么多,非高频指令放置在缓存中其实并没有大幅提高CPU效率,二是把缓存做大,大大的提高了CPU成本制作难度、成本、耗能提高)。所以RAM就这么一直用下来了。
    后面我们介绍,可执行文件和内存之间的关系。

猜你喜欢

转载自blog.csdn.net/spwper/article/details/64919676
今日推荐