码迷,mamicode.com
首页 > 其他好文 > 详细

cpu和gpu的区别

时间:2017-08-04 12:45:13      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:程序开发   程序   最大   控制   运行   album   设计   asi   cpu   

cpu是Central Processing Unit的缩写,即电脑的中央处理器;gpu是Graphics Processing Unit的缩写,即电脑的图形处理器。

它们的区别如下:

技术分享
  1.  cpu在计算机中,就好像大脑在人体中,在整体性起着控制计算机运行的作用,在计算机被发明之后的50年的时间内,还没有其他第二个处理器,亦即还没有所谓的gpu;

    gpu是作为一个附属型的处理器出现和存在的,它主要处理计算机中与图形计算有关的工作,并将数据更好的呈现在显示器中;

    换言之,cpu就好像是公司中的CEO,什么都要管;而gpu则是CEO下面的一个某方面领域的老大,例如市场部总经理,专注管某一方面的内容。

    cpu的整体效用的提升,在一定程度上依赖于gpu。

    技术分享
  2.  如今,电脑的gpu发挥着越来越重要的作用,承担着越来越多与多媒体处理有关的任务,例如加速adobe flash的视频,在不同格式之间对视频进行转码,图形识别等等;

    当然更困难的事情还需要cpu和gpu协同进行处理,例如视频渲染、图形分析等等;

    cpu和gpu的协和合作,才能最大程度上发挥电脑的性能。

    图片是cpu

    技术分享
     
  3. 为什么cpu解码叫软解,gpu解码叫硬解?

    这个不需要太复杂的解释。硬解码和软解码,与CPU、GPU没半点关系。不是说CPU进行解码都叫软解码,只要CPU内设计了硬件解码器,也就是一套解码电路,调用这种解码器进行解码就算硬解码。这个和CPU、GPU没关系。只要是调用了专用解码电路,就是硬解码。

    软解码,则是在软件层面上,编写解码算法,利用CPU的通用计算、处理形式,达到解码的目的。这个过程要大量调用CPU的寄存器,CPU要取指、译指。CPU将解码过程完全视为一段程序的操作。通过人为编写解码算法,进行解码,就叫软解码。这个过程比较繁琐,效率没硬解码好。
    一般来说,GPU中内建大量专用视频解码电路,可执行很多硬解码。但这并不是说CPU无法做硬解码,只要有解码电路,CPU一样可以做。Intel在Sandy Bridge中开始引入的Quick Sync Vedio,就是一种硬件编解码机构。

    解码电路自然不算软件。你可以把解码电路理解为ASIC,专用集成电路的感觉。这部分电路就专门用来负责对某一类解码,比如UVD3。这是硬件层面上的电路结构,需要占用芯片面积,同时要产生额外耗电。优点嘛,效率高,只需启用该电路,视频解码经这部分电路可以迅速解码,也无需额外编程,对软件开发人员也是福音。但缺点就是这部分电路只能做UVD3解码,如果不用这个功能,这部分电路还要耗电、发热。
    Remember,在计算机硬软件设计上,专一性和通用性是非常重要的一对矛盾。本质就是兼容与效率的冲突!!!所有设计人员必须面对,必须平衡的一对关系,这是电子科学的哲学之一。
    CPU本身是硬件,这个毫无疑问。但CPU更追求通用性,即多面手角色,啥都能干,至于干得怎么样,就取决于程序开发者的水平了。所以,CPU的表现,一个取决于CPU本身,还一个取决于软件开发者的实力。这恐怕就是为什么有人会说CPU算软件的原因。
    GPU同样是硬件,但它是一类在设计初衷上有偏向的硬件——专司视觉计算。说白了,GPU就是一片并行计算器,计算多维矢量是它的长项。但没有人寄希望于让一颗GPU运行Windows操作系统吧。在GPU的长项上,GPU绝对完虐CPU。但这并不代表CPU不能做视觉输出,毕竟它是多面手,但效率没专用的芯片好罢了。声卡专司音频编解码,也是同样的道理。
    回到问题上来。因为视频输出都是由显卡完成的,所以,视频的硬件解码电路,一般做在GPU里。其实做在CPU里也完全不是问题。

cpu和gpu的区别

标签:程序开发   程序   最大   控制   运行   album   设计   asi   cpu   

原文地址:http://www.cnblogs.com/wangle1001986/p/7284248.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!