在不少人的心目中,显卡最大的用途可能就只有两点——玩游戏、看电影,除此之外,GPU并没有其他的作用了。但是随着微软IE9的正式发布,不少人突然发现,微软一直提到一个名词:GPU硬件加速,从而也让不少人开始关注GPU硬件加速。那么GPU硬件加速到底是什么?能干些什么呢?下面让我们一起走进GPU硬件加速的世界去看看吧。 GPU硬件加速就是显卡辅助CPU进行图形运算

要说起GPU硬件加速,我们首先要说说GPU这个概念。GPU是1999年,NVIDIA公司在发布GeForce256时提出的,它可以减少对CPU的依赖,并且进行部分原本属于CPU的工作,从而解放CPU(你也可以理解成抢夺CPU的工作)。也正是因为GPU的诞生,电脑中最重要的硬件开始从CPU一家独大向着CPU和GPU并存的局面转变。
下面我们来说说硬件加速,简而言之,硬件加速就是利用硬件模块来替代软件算法以充分利用硬件所固有的快速特性。那么稍加变化就可以知道,GPU硬件加速就是指利用GPU强大的硬件图形处理能力,来代替CPU原本使用的软件模拟图形处理算法,从而充分利用GPU的特长为系统服务。
小贴士:GPU硬件加速时系统如何运行呢?
现在我们有两个处理器、CPU和GPU,它们之间通过系统总线交换数据。
第一步:CPU从文件系统里读出原始数据,分离出图形数据,然后放在系统内存中,这个时候GPU在发呆。
第二步:CPU准备把图形数据交给GPU,这时系统总线上开始忙了,数据将从系统内存拷贝到GPU的显存里。
第三步:CPU要求GPU开始数据处理,现在换CPU发呆了,而GPU开始忙碌工作。当然CPU还是会定期询问一下GPU忙得怎么样了。
第四步:GPU开始用自己的工作间(GPU核心电路)处理数据,处理后的数据还是放在显存里面,CPU还在继续发呆。
第五步:图形数据处理完成后,GPU告诉CPU,我忙完了,准备输出或者已经输出。于是CPU开始接手,读出下一段数据,并告诉GPU可以歇会了,然后返回第一步。
GPU硬件加速可以让你的系统变得更快
既然GPU硬件加速是利用GPU的特长为系统服务,那么好处是什么呢?这里用时下非常流行的骑游运动做个比方,正常情况下你在骑行的时候只有腿部在进行蹬踩运动(CPU正常运算),而当你遇到诸如顺风、下坡、被人推行等情况时,速度就会加快,并且腿部感觉非常省力(GPU参与运算)。
那么换到电脑上会是什么情况呢?在以前的很多应用中,CPU是负责所有运算的,而GPU则只是负责最后的显示工作,因此一旦出现处理复杂图形数据的时候,很多使用性能较弱的CPU的电脑系统就开始缓慢无比,而使用性能较强的CPU的电脑系统也会看到CPU资源被大量的占用。
而在GPU开始参与运算之后,原本会消耗CPU大量宝贵资源的图形数据处理部分就全部交给GPU这个专业人士进行处理了,从而降低了CPU的负担,并且利用自身的特长,使得图形数据处理的效率更快,从而提升系统性能。
既然GPU硬件加速有这样的好处,那么我们就一起来看看它在日常生活中到底能为我们带来什么好处吧。

GPU 放到CPU中的好处:  就GPU而言,整合在CPU内可以加快数据传输和运算功能,提高GPU和CPU的通信效率, 不再和以往一样被系统总线的速度所牵制,可以更好
                                               的释放GPU本身的性能。

GPU的工作原理:http://wenku.baidu.com/view/14840f6727d3240c8447eff1.html

      GPU实际上一组图形函数的集合,而这些函数由硬件实现。GPU
     从某种意义上来说就是为了在图形处理过程中充当主角而出现的。
     一块标准的GPU主要包括2D Engine、3D Engine、Video Processsing Engine、
     FSAA Engine、显存管理单元。
     
     显卡的显存一部分存放的是GPU处理之前的数据,另外一部分是GPU处理之后的数据。

GPU之所以称为图形处理器,最主要的原因是因为它可以进行几乎全部与计算机

图形学有关的运算,而这些运算过去式CPU的专利。GPU的渲染速率每六个月就
  翻一番。最大的作用就是进行各种绘制计算机图形所需的运算。

内存满足不了显卡的需求,显存应运而生:

    本是同根生的状况一直持续到SDR和DDR交接的时代,其实最早用在显卡上的DDR颗粒与用在内存上的DDR颗粒仍然是一样的。后来由于GPU特殊的需要,
    显存颗粒与内存颗粒开始分道扬镳,这其中包括了几方面的因素:

    1. GPU需要比CPU更高的带宽。GPU不像CPU那样有大容量二三级缓存,GPU与显存之间的数据交换远比CPU频繁,而且大多都是突发性的数据流,因此
    GPU比CPU更加渴望得到更高的显存带宽支持。

    位宽×频率=带宽,因此提高带宽的方法就是增加位宽和提高频率,但GPU对于位宽和频率的需求还有其它的因素。

    2.显卡需要高位宽的显存。显卡PCB空间是有限的,在有限的空间内如何合理的安排显存颗粒,无论高中低端显卡都面临这个问题。
    从布线、成本、性能等多种角度来看,显存都需要达到更高的位宽。

    最早的显存是单颗16bit的芯片,后来升级到32bit,将来甚至还会有更高的规格出现。而内存则没有那么多要求,多年来内存条都是64bit,
    所以单颗内存颗粒没必要设计成高位宽,只要提高容量就行了,所以位宽一直维持在4/8bit。

    3.显卡能让显存达到更高的频率。显存颗粒与GPU配套使用时,一般都经过专门的设计和优化,而不像内存那样有太多顾忌。GPU的显存控制
    器比CPU或北桥内存控制器性能优异,而且显卡PCB可以随意的进行优化,
    因此显存一般都能达到更高的频率。而内存受到内存PCB、主板走线、北桥CPU诸多因素的限制很难冲击高频率

  由此算来,显存与内存“分家”既是意料之外,又是情理之中的事情了。为了更好地满足显卡GPU的特殊要求,一些厂商(如三星等)推出了专门
为图形系统设计的高速DDR显存,称为“Graphics Double Data Rate DRAM”,也就是我们现在常见的GDDR。

from:http://blog.csdn.net/maopig/article/details/6803141

【转】GPU 与CPU的作用协调,工作流程、GPU整合到CPU得好处的更多相关文章

  1. J2EE进阶(六)SSH框架工作流程项目整合实例讲解

    J2EE进阶(六)SSH框架工作流程项目整合实例讲解 请求流程 经过实际项目的进行,结合三大框架各自的运行机理可分析得出SSH整合框架的大致工作流程. 首先查看一下客户端的请求信息: 对于一个Web项 ...

  2. GPU 与CPU的作用协调,工作流程、GPU整合到CPU得好处

    http://blog.csdn.net/maopig/article/details/6803141 在不少人的心目中,显卡最大的用途可能就只有两点——玩游戏.看电影,除此之外,GPU并没有其他的作 ...

  3. TLB的作用及工作原理

    TLB的作用及工作过程 以下内容摘自<步步惊芯——软核处理器内部设计分析>一书 页表一般都很大,并且存放在内存中,所以处理器引入MMU后,读取指令.数据需要访问两次内存:首先通过查询页表得 ...

  4. 计算机系统—CPU结构和内部工作

    一.计算机系统硬件组成 计算机系统的基本组成由:计算器.控制器.存储器.输入和输出设备这5大核心部件组成. 运算器和控制器等继承在一起成为CPU.以下通过这张图能够非常清楚的表达计算机系统.先从全局上 ...

  5. GPU性能越来越强大,为何直到现在还是不能取代CPU?

      从思路上说,GPU相当于火车,一个车头带几十节车厢,一下子把成千上万吨货全给你拉目的地:CPU相当于汽车,拉货旅游样样能干.因此,如果单纯比运力,一列火车比得过成百上千辆汽车:但如果几百人有几百个 ...

  6. CPU处理器架构和工作原理浅析

    CPU处理器架构和工作原理浅析 http://c.biancheng.net/view/3456.html 汇编语言是学习计算机如何工作的很好的工具,它需要我们具备计算机硬件的工作知识. 基本微机设计 ...

  7. GPU—加速数据科学工作流程

    GPU-加速数据科学工作流程 GPU-ACCELERATE YOUR DATA SCIENCE WORKFLOWS 传统上,数据科学工作流程是缓慢而繁琐的,依赖于cpu来加载.过滤和操作数据,训练和部 ...

  8. Nginx reopen reload作用及工作过程

    http://www.iigrowing.cn/nginx-reopen-reload-zuo-yong-ji-gong-zuo-guo-cheng.html Nginx reopen reload作 ...

  9. Android 12(S) 图形显示系统 - BufferQueue的工作流程(九)

    题外话 Covid-19疫情的强烈反弹,小区里检测出了无症状感染者.小区封闭管理,我也不得不居家办公了.既然这么大把的时间可以光明正大的宅家里,自然要好好利用,八个字 == 努力工作,好好学习 一.前 ...

随机推荐

  1. UART接口基本知识

    Universal asynchronous transciever即同一异步收发器,也就是我们平时所说的串口,是一种最简单,最基本的通信接口. 通信接口按照不同的标准有不同的分类,常见的有同步或异步 ...

  2. 安装生物信息学软件-HUMAnN2

    先挖坑 因为这个软件需要memory>16G,所以应该要安装在服务器上

  3. Math.abs(~2018),掌握规律即可!

    Math.abs(~2018) 某前端群的入门问题长姿势了,一个简单的入门问题却引发了我的思考,深深的体会到自己在学习前端技术的同时忽略遗忘了一些计算机的基础知识. 对于 JS Math对象没什么可说 ...

  4. JSP自定义标签——调用数据库(通过id号搜索相关信息)

    一.创建新表(假设在master数据库下新建) 二.连接数据库 开始-->控制面板-->管理工具-->数据源-->系统DSN-->添加-->SQL Server-- ...

  5. Git 的深入理解与GitHub托管服务(转)

    源代码管理系统(SCM)与版本控制   版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统.   本地版本控制系统   许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会 ...

  6. Asp.net Web.Config - 配置元素 trace

    一.trace的元素的属性 属性 说明 enabled 是否启用应用程序跟踪.为了使用 Trace.axd 查看器,必须启用跟踪.默认情况下,Trace.axd 查看器被添加到httpHandlers ...

  7. 关于jackson处理数据

    /**     * 将请求参数封装成Map对象     *     * @param json 参数     * @return Object     */    public static Map ...

  8. [转帖]网络协议封封封之Panabit配置文档

    原帖地址:http://myhat.blog.51cto.com/391263/322378

  9. LESS用法·

    CSS 彻底改变了 Web 页面的设计,但 CSS 仍然是静态的,而且在其句法发展方面受到限制.这些限制是有目的且合乎情理的,鼓励广泛加以实现.但开发人员和设计人员常常发现 CSS 使用起来很单调乏味 ...

  10. 如何成为python高手

    本文是从 How to become a proficient Python programmer 这篇文章翻译而来. 这篇文章主要是对我收集的一些文章的摘要.因为已经有很多比我有才华的人写出了大量关 ...