zoukankan      html  css  js  c++  java
  • GPU Vs CPU

    概念

    CPU
    (Central Processing Unit)中央处理器
    是一块超大规bai模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。
    它的功能主要是解释计算机指令以及处理计算机软件中的数据。

    GPU
    (Graphics Processing Unit)图形处理器
    是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。

    GPU由成千上万个微核组成的处理器.
    擅长处理大量并行的简单计算,比如在图像应用中渲染多边形.

    什么是GPU?

    GPU这个概念是由Nvidia公司于1999年提出的。
    GPU是显卡上的一块芯片,就像CPU是主板上的一块芯片。
    那么1999年之前显卡上就没有GPU吗?
    当然有,只不过那时候没有人给它命名,也没有引起人们足够的重视,发展比较慢。

    CPU和GPU的关系

    在没有GPU之前,基本上所有的任务都是交给CPU来做的。
    有GPU之后,二者就进行了分工,CPU负责逻辑性强的事物处理和串行计算,GPU则专注于执行高度线程化的并行处理任务(大规模计算任务)。
    为什么这么分工?这是由二者的硬件构成决定的。
    可以看出,CPU是“主(host)”而GPU是“从(device)”,
    GPU无论发展得多快,都只能是替CPU分担工作,而不是取代CPU。

    独立显卡和集成显卡的区别

    所谓集成,是指显卡集成在主板上,不能随意更换。
    而独立显卡是作为一个独立的器件插在主板的AGP接口上的,可以随时更换升级。
    另外,集成显卡使用物理内存,而独立显卡有自己的显存。
    一般而言,同期推出的独立显卡的性能和速度要比集成显卡好、快。
    值得一提的是,集成显卡和独立显卡都是有GPU的。

    扩展知识点

    • [X] 并行 Vs 串行
    • [x] 显卡 Vs GPU

    几个例子

    市长 Vs 副市长

    市长和副市长的区别。
    市长管全局,各副市长分管经济、交通、治安、医疗、教育等。


    教授 Vs 小学生

    CPU擅长逻辑控制,串行的运算。
    和通用类型数据运算不同,GPU擅长的是大规模并发计算,这也正是密码破解等所需要的。
    所以GPU除了图像处理,也越来越多的参与到计算当中来。

    GPU的工作大部分就是这样,计算量大,但没什么技术含量,而且要重复很多很多次。
    就像你有个工作需要算几亿次一百以内加减乘除一样,最好的办法就是雇上几十个小学生一起算,一人算一部分,反正这些计算也没什么技术含量,纯粹体力活而已。
    而CPU就像老教授,积分微分都会算,就是工资高,一个老教授资顶二十个小学生,你要是富士康你雇哪个?
    GPU就是这样,用很多简单的计算单元去完成大量的计算任务,纯粹的人海战术。
    这种策略基于一个前提,就是小学生A和小学生B的工作没有什么依赖性,是互相独立的。
    很多涉及到大量计算的问题基本都有这种特性,比如你说的破解密码,挖矿和很多图形学的计算。
    这些计算可以分解为多个相同的简单小任务,每个任务就可以分给一个小学生去做。但还有一些任务涉及到“流”的问题。
    比如你去相亲,双方看着顺眼才能继续发展。总不能你这边还没见面呢,那边找人把证都给领了。这种比较复杂的问题都是CPU来做的。

    总而言之,CPU和GPU因为最初用来处理的任务就不同,所以设计上有不小的区别。
    而某些任务和GPU最初用来解决的问题比较相似,所以用GPU来算了。
    GPU的运算速度取决于雇了多少小学生,CPU的运算速度取决于请了多么厉害的教授。
    教授处理复杂任务的能力是碾压小学生的,但是对于没那么复杂的任务,还是顶不住人多。
    当然现在的GPU也能做一些稍微复杂的工作了,相当于升级成初中生高中生的水平。
    但还需要CPU来把数据喂到嘴边才能开始干活,究竟还是靠CPU来管的。


    大脑 Vs 眼睛
    CPU可以看做是大脑,是处理所有信息的。
    GPU就是眼睛,只处理图片。
    但是大脑也处理眼睛的信息,是从属的关系.


    抽象层来说(画大饼)

    从古代到现在,分工都是越来越精细,
    为了适应社会,提高效率,CPU细分出来一个GPU...
    以后可能还会有XPU出来...

    摘抄文档

    作者:林夕
    链接:https://www.zhihu.com/question/28422454/answer/517317050
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    kill eclipse
    C语言之表达式运算整体提升
    查找函数对比:findall,search,match
    Linux backtrace()
    git本地协同
    git 撤销push到服务器的代码
    gtest
    C陷阱篇之enum默认长度
    程序员中文开发者手册
    C语言错题分析
  • 原文地址:https://www.cnblogs.com/love-zf/p/14460946.html
Copyright © 2011-2022 走看看