小白扫盲之-计算机为何需要内存

Posted chengege

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小白扫盲之-计算机为何需要内存相关的知识,希望对你有一定的参考价值。

很多人在购买计算机时,在碰到内存时会 有点懵比。

不知道 选多大内存, 对计算机的影响,或者说对计算机的作用是什么。 其本质的问题就是。(老子不知道内存是个什么鬼,还他妈这么贵!)

so  简单剖析一下。

 

first:

计算机必备的几大组件:

  CPU:

    CPU和人脑差不多。 人脑有两大功能。 1.提供逻辑的运算, 2.记忆/存储功能。

    but     CPU 和人脑的区别就是,CPU只有逻辑运算的功能。所以CPU能做的事情,就只有运算。  CPU是没办法记忆数据的。

    so     CPU想要进行数据的运算,比如 1+1=2   那么 数字  1  就是数据源。 没有数据CPU算个屁啊。

    那么 数据源从哪里来呢? 就是从内存中来。

    内存:

    所以内存的作用就是存储运算的数据。    然后又有问题了,内存的数据又从哪里来? 那肯定不是自己造出来的。

    内存里面的数据,是从硬盘来的。

       硬盘:

    所以 CPU 计算的数据。  是从硬盘来的。 也就是真正的数据源。

    平时存各种东西,word文档,资料,小黄片。 都是存储到硬盘上面的。

  主板:

    主板就是一块电路板, 作用就是链接  CPU  内存  硬盘  等,让他们之间的数据可以传递。

  显卡:

    比如想玩游戏,那你就要有显卡。 显卡其实很像CPU也是用提供计算的。 显卡里面用的那个叫 GPU
    不同之处举例来说就是:

      CPU == 10000个小学生    每天计算 + - * / 这种简单的计算

      GPU == 1 个大学生。 用来算一点超级复杂的东西。

    一般平时大家的工作大部分都是,简单的计算计算就好了,涉及不到很牛逼的东西。所以有10000个小学生,就能很快的计算完了

    但是你要用一个大学生去计算这个简单的东西, 那他的效率,拍马都赶不上10000个小学生。

  网卡声卡等等就不谈了!

 

 

然后问题就是, 硬盘也提供数据,内存也提供数据。  CPU计算用的数据,最终是从硬盘来的。那么为啥子还需要一个内存在中间 当个中间商?为啥不让硬盘直接就给CPU呢?

绕这么一大圈的原因;就是因为 硬盘的传输速度太慢了。非常的慢。

硬盘跟进结构不同可以分两种硬盘:

  1. 机械硬盘(HDD)

    基本原理就像,留声机。  一个探针在一个盘上,就这么转。 然后声音就出来了。(讲不清 随便一个硬盘就够你研究一辈子)

    HDD 分 5400转  7200转。    5400的每秒钟可以读写 60到80兆这样。  7200的每秒钟可以读写 100到150兆这样子。 

      企业级的一般可以到10000转这样。 每秒钟也就 200兆这样子。不过很贵。

  2. 固态硬盘(SSD)

     普通的500MB每秒,  你用了PCI-E的专业的插口, 也就到 1500MB每秒。

 

那有多慢呢? 做个比喻:

  先说CPU的速度:  我的电脑是 i7CPU  2.67赫兹的主频。   大概每秒钟的运算次数是30亿次。 64位的CPU每一次的吞吐量换算成大小的话,就是 8个字节(bytes)。速度那是相当的快。

  比如处理全国人的身份证号:

    全国 14亿的人口, 每个人的身份证号是  18位。  那么存起来的话 大概在 23G 这样子的一个大文件里面。

    1024bytes == 1KB

    1024kb == 1MB

    1024mb == 1GB

 

    那么让CPU把这个文件 从头到尾扫描一遍需要多少时间呢?

    每次吞吐量是8个字节。那么每秒钟CPU就可以吞吐 240亿的字节。 240亿的字节 大概就等于 22.3GB。 那么也就意味着把这个文    件扫描一遍 CPU 就用一秒钟就好了。(这么一想真是相当的快啊。 一秒钟全国人的信息就被搞定了)

  然后问题就来了, CPU只是用来运算的,他自己又没有数据。

    如果没有内存,光靠硬盘的话来看一下:(就以普通的每秒钟100兆的这种硬盘。)

      23GB  /  100MB  大概就需要 230秒。  4分钟不到。   

  同志们!同志们!同志们!  这下差距就来了, 一个23G的文件。 CPU一秒钟就搞定的事,但是苦于数据要从硬盘拿CPU要等着硬盘把数据拿出来才能处理。  原本1秒就干完, 硬生生的等了 4 分钟。(这就是犯罪啊, 前戏半小时,正事一秒钟。 一秒钟好男人就是你。)

即使使用最快的固态硬盘,那也需要大概20秒钟。 但是相对于CPU来讲,还是太慢了。  1秒比20秒,没得比。

 

还有一个大问题就是, CPU运算完数据之后。这个数据就直接丢掉了。他是不会存储的。  那么也就意味着如果想再算一遍,那就又要从硬盘里面把数据拿出来一便。(这个速度不能忍啊)

 

所以!所以!所以! 这个时候内存就出世了。

  内存的作用就是,在CPU运算之前,把这23G的数据从硬盘先读取的内存里面。(依然是4分钟,这个是节省不掉的)。 然后一般主流的内存的读写速度是多少呢?  大概在 10G到15G 美每秒。(这就很接近CPU的吞吐量了,CPU和内存相互等待的时间,就可以忍受了)。 并且好处是如果你扫描到一半又想从头开始从新的扫描一下。  那么也不需要再到硬盘拿数据。直接从内存拿就好了。

 

内存这么牛逼为啥不直接用内存,干嘛还要用硬盘?

  1. 内存的原理是用的 电脉冲的信号,电流的速度是很快的都接近光速了。 所以内存速度快。 但是问题就是 有电的时候还好,一断电内存中所有的数据,就全部丢失了。(比如平时写个word文档,突然断电了。你没保存 那就白写了,因为内存里的数据都没了)

  2. 所以硬盘就必须存在,虽然速度慢,但是可以长期的保存。 也就是常说的 持久化存储。

所以 硬盘 和 内存那个都不能少。

 

一般买电脑:

  内存:  8G   家用 办公 就够了。 想玩游戏 配置到16G  或者32G。  (尽量选择两根8G, 不要选单根16G。 性能能高出3成到4成)

  

 

以上是关于小白扫盲之-计算机为何需要内存的主要内容,如果未能解决你的问题,请参考以下文章

测试小白之功能转自动化如何转?接口测试怎么测?大扫盲

Netty之Java堆外内存扫盲贴

Netty之Java堆外内存扫盲贴

计算机基础之操作系统

无人机之眼 | 目标检测-基本概念扫盲

无人机之眼 | 目标检测-基本概念扫盲