想找一款高清拍照手机哪款最好,哪款好呀?

博客访问: 379950
博文数量: 190
博客积分: 2650
博客等级: 少校
技术积分: 1426
注册时间:
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: LINUX
最近研究GPU架构,关于GPU的基本原理(顶点->纹理->像素->光栅 &这个pipeline)可以参考我之前阅读的一些文章,相信读了他们,会对什么是GPU,GPU的工作原理等之类的问题有了一定的感性认识,具体如下:& & 1 GPU大百科全书系列 && & 2 图形与计算那些事 AMD次世代架构解析 && & 3 DixrectX支配游戏! 历代GPU架构全解析 &读过这三篇文章后,会熟知AMD与NVIDIA的不同架构,本质来说,在架构上两家都是采用的“极端”的设计方法:AMD采用基于SMID(单指令多数据)的VLIW架构,而NVIDIA则采用的MIMD(多指令多数据)的多发射的超标量;AMD 优点:1 超强的计算能力& SIMD架构能够有效提升GPU的矢量处理性能,由于VS和PS的绝大部分运算都是4D Vector,它只需要一个指令端口就能在单周期内完成4倍运算量,效率达到100%。2 节省晶体管,避免功耗问题& 采用VLIW架构,指令的捆绑全由编译器完成,因此只需一个发射单元,这就可以节省下一大堆的晶体管,避免了功耗问题。AMD 缺点:1 ALU计算单元不能充分利用:& 4D SIMD架构一旦遇到1D标量指令时,效率就会下降到原来的1/4,3/4的模块被完全浪费,尤其是一旦遇上分支预测的情况,SIMD在矢量处理方面高效能的优势将会被损失殆尽。&例如:指令一:a=b+c;指令二:d=a*e。这两条指令中,第二条指令中的a必须等待第一条指令的运算结果,出现这样的情况时候,两条指令大多数情况下就不能实现超标量执行了。& NVIDIA的科学家对图形指令结构进行了深入研究,它们发现标量数据流所占比例正在逐年提升,如果渲染单元还是坚持SIMD设计会让效率下降。为此NVIDIA在G80中做出大胆变革:流处理器不再针对矢量设计,而是统统改成了标量ALU单元,这种架构叫做MIMD(Multiple Instruction Multiple Data,多指令多数据流)。NVIDIA 优点:1 ALU得到充分利用,到达了CPU级的利用水平;& &如此一来,对于依然占据主流的4D矢量操作来说,G80需要让1个流处理器在4个周期内才能完成,或者是调动4个流处理器在1个周期内完成,那么G80的执行效率岂不是很低?没错,所以NVIDIA大幅提升了流处理器工作频率(两倍于核心频率),扩充了流处理器的规模(128个),这样G80的128个标量流处理器的运算能力就基本相当于传统的64个(128×2?)4D矢量ALU。大家应该知道R600拥有64个5D矢量ALU,最终的性能G80要远胜R600。2 强大高效的ALU运算单元,适合于通用计算Tesla。& &G80的MIMD架构开了一个好头,128个流虽然听起来虽然没有&320个那么多,但这些流是可以媲美真正的CPU核心,在执行任何指令时都能发挥出接近理论值的性能,这样高效率的核心如果只是用来玩游戏岂不太可惜了?& &随着图形画面越来越复杂,1D、2D、3D指令所占比例正在逐年增多,而G80在遇到这种指令时可说是如鱼得水,与4D一样不会有任何效能损失,指令转换效率高并且对指令的适应性非常好,这样G80就将GPU Shader执行效率提升到了新的境界;NVIDIA 缺点:1 需要更多的晶体管,存在功耗问题& & G80的架构听起来很完美,但也存在不可忽视的缺点:根据前面的分析可以得知,4个1D标量ALU和1个4D矢量ALU的运算能力是相当的,但是前者需要4个指令发射端和4个控制单元,而后者只需要1个,如此一来MIMD架构所占用的晶体管数将远大于SIMD架构!&&& 所以的SIMD架构可以用较少的晶体管造出庞大数量的流处理器、拥有恐怖的理论浮点运算能力;而NVIDIA的MIMD架构必须使用更多的晶体管制造出看似比较少的流处理器,理论浮点运算能力相差很远。双方走的都是极端路线,AMD以数量弥补效率的不足,而NVIDIA以效率弥补数量的劣势。
阅读(7534) | 评论(1) | 转发(1) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。访问本页面,您的浏览器需要支持JavaScriptGPU工作原理与理解
博客专家
GPU工作原理与理解
开源夏令营
& & 本周看GPU看得有点儿乱,
& & GPU英文全称Graphic Processing Unit,中文翻译为“”。
& &&由于GPU具有高并行结构(highly parallel structure),所以GPU在处理图形数据和复杂算法方面拥有比CPU更高的效率。图1 GPU VS&CPU展示了GPU和CPU在结构上的差异,CPU大部分面积为控制器和寄存器,与之相比,GPU拥有更多的ALU(Arithmetic
Logic Unit,逻辑运算单元)用于
数据处理,而非数据高速缓存和流控制,这样的结构适合对密集型数据进行并行处理。CPU执行计算任务时,一个时刻只处理一个数据,不存在真正意义上的并行,而GPU具有多个处理器核,在一个时刻可以并行处理多个数据。
& & & & & & & &&
& &&GPU采用流式并行计算模式,可对每个数据进行独立的并行计算,所谓“对数据进行独立计算”,即,流内任意元素的计算不依赖于其它同类型数据,例如,计算一个顶点的世界位置坐标,不依赖于其他顶点的位置。而所谓“并行计算”是指“多个数据可以同时被使用,多个数据并行运算的时间和1个数据单独执行的时间是一样的”。
& & & & & & & & & & & & & & & & & & &图2 &GPU上的矩阵加法
& & & & & & & & &图3 GPU渲染管线
& & 上图3是一张典型的可编程GPU的流水线示意图,其中可编程的顶点处理器(Vertex Shader)负责处理顶点数据流(包括位置、颜色,光照等)。因为顶点处理操作都是在空间的几何点上进行,因此Vertex Shader对于通用计算而言非常适合于几何操作类的计算。可编程片段着色器(Fragment
Processor)在几何处理和转换完成后,负责为每个象素“画”上正确的色彩,它的ISA(系统体系结构)类似于DSP或SSE指令集,由Folat4的SIMD执行单元和寄存器组成,处理的时候接受先从存储器中取出2个待加元素,根据片段的位置进行向量相加,向量和以颜色的形式被保存到存储器中,可以当作结果输出或在下一步运算中直接被使用。处理的一般为4个单元的向量,因为RGB三种色彩加上Alpha通道数据正好是4。片段着色器包含的TMU(Texture Mapping Unit)单元能以贴图的形式存取显存,因此可以被看作一个只读存取界面。
补充:下面为我看到的文章中写的。。先记录下
像素着色器负责纹理采样和其它高级逐像素处理,在NVIDIA SDK 9.5 的示例 VideoFilter 中, 运用像素着色器的并行计算能力对视频进行多种高级图像处理技术。 诸如: 模糊、锐化、 视频混合等.
& & & 相关实现步骤如下:
& & &(1) 创建视频纹理管理对象;
& & &(2) 载入视频文件, DirectShow 负责管理调度视频数据;
& & &(3) 关联 DirectShow 视频数据与 Direct3D 纹理对象;
& & &(4) GPU 初始化, 关联 CPU 顶点数据与 GPU 外部变量, 特别是 DirectShow 处理完的帧数据与 GPU 中的纹理数据关联;
& & & (5)顶点着色器进行纹理坐标转换和其它基于顶点的并行算法;
& & & (6) 像素着色器进行纹理采样以及其它象素级并行算法。
我的热门文章
即使是一小步也想与你分享捷配欢迎您!
微信扫一扫关注我们
当前位置:&>>&&>>&&>>&GPU的作用及工作原理
在上一篇文章《什么是GPU?GPU有什么用?》曾提及可编程着色器,可编程着色器对于 3D 游戏的设计者来说可谓有巨大的优点,不过同时也给 GPU 工程师带来了一些和 CPU 类似的有趣的问题。因需要发送指令(instruction)运行,解码(decode)和执行指令(execute)过程必不可少,而着色器代码中判断语句和循环语句也会引起执行次序的小问题等等。这意味着着色器核心已经能成为一个小型的计算引擎去执行任何的编程任务,尽管不如 CPU 那么灵活多变,但也能执行有用的、非图形相关的任务。
  GPU 计算
  而现在利用 GPU 计算的任务基本都是高度并行的――同时执行大量小型的数学计算,所以当前其发展方向是机器学习(machine learning)和计算机视觉( vision)。随着 GPU 计算扩展的领域越来越大,作用也会随着越发重要,它就能成为和 CPU 并排的伙伴而不再是 CPU 附属的一个部件。
  在 2015 年 10 月 ARM 发布最新的 SoC 时顺带还有 CoreLink CCI-550,它的作用就是将 CPU、GPU、主和各种内存缓冲区连接在一起。新的 GPU 代号为 Mimir,能够从高速缓存内存里直接获取数据,甚至在 CPU 执行变动时,GPU 无需通过主存储器就能获得和 CPU 一样的数据。CCI-550 也允许 CPU 和 GPU 共享相同的内存,无需在 CPU 和 GPU 的缓冲区之间复制数据。
  统一着色器(Unified shaders)和 Vulkan
  OpenGL ES 3.0(或相近的 DirectX 版本) 对比 OpenGL ES 2.0 最大的变化就是统一着色器。查看 Mali-470 的模型图,就能发现兼容 OpenGL ES 2.0 的 GPU 有两种类型的着色器,分别称作“顶点(Vertex Processor)”和“片段(Fragment Processor)”,就是之前介绍过的顶点着色器和片段着色器。Mali-470 有 1 个顶点着色器和 4 个片段着色器,而查看 Mali-T860 的模型图就会发现它支持 16 个能作为顶点着色器或片段着色器的统一着色器,此前着色器可能会空闲的情况被消除了。
  2016 年 2 月发布的 3D 图形 API――Vulkan 是另一个重点,它带来了两个重要的创新。一是通过降低驱动程序的消耗和提高 CPU 多线程使用率,带来显着的性能提升;二是为桌面系统、移动系统和控制台提供了一个统一的 API。Vulkan 现支持 Windows 7/8/10、SteamOS、Android 和部分 Linux 发行版,首款支持 Vulkan 的 Android 机器是三星的 Galaxy S7。
  不同于 PC 上的显卡,它们拥有大的风扇、复杂的冷却系统,部分有需要的还会直接供电,和平板上的 GPU 体积无法和这些显卡相比。加上智能的 GPU 由供电,所以与桌面级的显卡相比,这些移动版的 GPU 不能大量的消耗能源,更要控制热量的散发。然而作为消费者的我们肯定是希望它能有更强的图形性能,所以对于移动版 GPU 工程师来说,最大的挑战不是支持最新的 3D API,而是更高的图形性能与发热、能耗之间如何达到一个平衡。
  回顾一下这次两篇文章的重点:移动 3D 图形基于三角形,模型进行移动、缩放是对三角形的顶点进行处理;GPU 里面的可编程执行单元被称为着色器核心,游戏开发者可以编写基于着色器核心的代码;顶点着色器处理完后,交由片段着色器转换为一个个像素,最终送到像素着色器设置颜色;3D 游戏开发者可以根据需要编程自由调用顶点着色器和片段着色器;GPU 并行处理的特性让其非常适合用于机器学习和计算机视觉。
该文章仅供学习参考使用,版权归作者所有。
因本网站内容较多,未能及时联系上的作者,请按本网站显示的方式与我们联系。
【】【】【】【】
上一篇:下一篇:
本文已有(0)篇评论
发表技术资料评论,请使用文明用语
字符数不能超过255
暂且没有评论!
12345678910
12345678910
12345678910
多年以来,工程师们开发了几种方法来处理引起PCB设计中高速数字信号失真的噪音。随着设计技术与时俱进,我们应对这些新挑战的技术复杂性也日益增加。目前,数字设计系统的速度按GHz计,这个速度产生的挑战远比过去显着。由于边缘速率以皮秒计,任何阻抗不连续、电感或电容干扰均会对信号...[][][][][][][][][][]
IC热门型号
IC现货型号
推荐电子百科

我要回帖

更多关于 拍照手机哪款最好 的文章

 

随机推荐