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


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

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

    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成)

      

  • 相关阅读:
    Arial Monospaced
    也玩有道难题的双立方数问题:Python 版解法
    用 VB.NET 实现的非确定性计算例子
    Gestalt 在浏览器里用 python/ruby 写客户端脚本
    非确定性计算引擎转化为C#版本并重构
    再谈C#的装箱和拆箱
    谈谈.Net 4.0 中的委托delegate
    在C#中使用SqlDbType.Xml类型参数
    java cmd编译class文件
    Mysql、Oracle插表关于主键的处理
  • 原文地址:https://www.cnblogs.com/chengege/p/11108153.html
Copyright © 2020-2023  润新知