当前课程知识点:移动图形概论 >  第一章 课程简介 >  1.2 GPU 相关基础知识 >  GPU 相关基础知识

返回《移动图形概论》慕课在线视频课程列表

GPU 相关基础知识在线视频

下一节:OpenGL ES 技术发展历史

返回《移动图形概论》慕课在线视频列表

GPU 相关基础知识课程教案、知识点、字幕

同学们 大家好

今天将要介绍gpu的相关知识

在上节课里面

我们多次提到了gpu这个词

这里我们将对它进行详细的介绍

介绍GPU的基本概念

介绍他的硬件架构

介绍它与CPU的区别

进而了解gpu为解决特定的问题

而经历的一个独特的演化过程

所谓gpu

就是专门进行图形相关的处理和计算的单元

这个在图形应用的早期是没有的

因为早期的计算机的图形任务 都是由CPU来完成

随着计算技术的不断发展

对图形的要求越来越高

很多时候如果完全由CPU来做这个图形计算的话

那么就会占用太多的cpu时间

处理器就没有更多的资源去做其他事情了

而且很多这样的图形的运算具有比较固定的运算模式

非常便于用硬件技术来进行加速

就这样

图形技术的很多功能 慢慢的就开始由硬件来代替完成

最早是在1984年 SGI公司发布了第一台

具有专用图形处理硬件的图形工作站

这还是一个比较简单的图形加速

还没有形成标准化

到了1995年的时候

3Dfx公司呢

发布了第一款消费级的图形加速卡也就是Voodoo卡

这个卡在早期的电脑游戏玩家里面非常的流行

很多人都会为自己的游戏能有更好的一个运行效果

来购买这样的一个加速硬件

到了98年的时候Imagination公司

在一款游戏机里面使用了自己的图形加速单元

这个照片就是当时那款游戏机的外观

具体来讲

图形处理硬件的主要任务就是在屏幕上显示图像

最简单的显卡

就是把计算机里保存的点阵数据显示在屏幕上

一般情况下

点阵数据由CPU进行计算生成

显卡仅仅负责显示

并没有任何的加速可言

图形技术的发展是一个非常好的软件 硬件协同发展的一个实例

最开始显示字符都是由处理器一个一个点来显示

后来显卡包含了硬件字库

处理器只要告诉显卡需要显示字符的Ascii码

显卡就能把它完整地显示在屏幕上

甚至原来屏幕上的光标闪烁的功能

如果由处理器来做的话 也是一种浪费资源

所以这个功能后来也用显卡来加速

逐渐一些更加高级的图形功能

包括缩放 色彩变换特别是最重要的3D相关的功能

慢慢的都由硬件来实现

把cpu从复杂的数学运算中解放了出来

在这个过程中 发展出了很多标准的图形处理api

包括我们比较熟悉的DirectX

还有就是opengl

CPU在处理图形任务上为什么有一些力不从心呢

这个就主要是由计算机的一个基本架构来决定

我们所熟悉的计算机就是冯诺依曼架构

这由冯诺依曼在20世纪40年代提出

它包括CPU 工作存储器 永久存储器 输入和输出来组成

CPU处于核心地位

所有的工作都要由他来进行

但这样就带来了一个瓶颈

CPU的典型工作模式就是读取指令并执行

这个指令是从系统存储器中读出来的

但是这个指令在执行的时候呢

还可能需要一些数据

这些数据依然要从系统存储器中读取

所以CPU就会频繁地访问这样的存储器

而且有的时候有一些操作

执行的功能比较单一

但是所需要的数据却比较多

CPU就会忙于在执行单元中和存储器里交换数据

这就是所谓的冯诺依曼瓶颈

突破此平静的一种解决方案

就是在CPU附近配备高速缓存

我们经常看到我们的处理器

会有三M高速缓存或者是五M高速缓存

而缓存越多 性能会越好 价格也越贵

CPU利用高速缓存啊

把数据提前从系统存储器中读入并送入缓存

以便于在执行的时候随需随取减轻CPU的负担

另外一种解决方案

是提高数据从系统存储器发送到CPU速度

这个就需要更好的硬件解决方案了

对于GPU来讲

他是专门用于处理图形数据的处理单元

也会面临这样的一个瓶颈

而图形处理

必然会使用到更多的数据

所以它所面临的这个瓶颈问题会更严重

因此 在gpu的设计中

也会在gpu附近配备高速的缓存

它的工作原理和CPU与缓存的关系是类似的

使用高速缓存的时候

gpu可以从系统存储器中检索数据

并保存在附近的缓存里面

另外

gpu往往会包含成百上千的线程模块

因此能够尽可能地并行处理更多的代码

这就意味着当一个线程必须等待访问存储器时

GPU可以处理另一个线程

这样可以掩藏访问存储器所产生的部分延时

从而提高了整体的效率

从下面这个图 我们可以看出 gpu和CPU的典型区别

因为CPU它所处理的功能和任务 往往是比较复杂的

所以CPU中包含了很大的一个功能模块用来进行流程控制

缓存的需求也往更多一些

但是gpu的功能比较单一

它会包含很多的计算模块

这些绿色的每一个方块都是一个计算单元

都可以并行运算

而他对控制和高速缓存的需求 就会比比CPU少一些

这个图是PowerVR的一款 GPU 结构

我们可以看到里面包含了典型的并行处理单元

非常丰富的Unified Shading Cluster Array

它们可以并行地执行GPU程序的相关代码

同时这里还按照图形处理的管线流程

包含一些处理特定图形功能的运算单元

比如处理顶点数据的VertexData Master

处理像素 纹理等相关数据的处理单元

这些结构和单元 都是为了更好更快速的完成图形处理任务

好 今天的课程就到这里

谢谢大家

移动图形概论课程列表:

第一章 课程简介

-1.1 课程基本情况介绍

--课程基本情况介绍

-1.2 GPU 相关基础知识

--GPU 相关基础知识

-1.3 OpenGL ES 技术发展历史

--OpenGL ES 技术发展历史

-1.4 PowerVR SDK 安装和使用

--PowerVR SDK 安装和使用

-第一章测试

第二章 图形编程入门

-2.1 OpenGL ES 基本概念

--OpenGL ES 基本概念

-2.2 编写第一个图形程序

--编写第一个图形程序

-2.3 主要 API 介绍

--主要 API 介绍

-第二章测试

第三章 OpenGL ES 变换

-3.1 矢量和矩阵知识基础

--矢量和矩阵知识基础

-3.2 旋转与位移变换

--旋转与位移变换

-3.3 OpenGL ES 变换基础

--OpenGL ES 变换基础

-第三章测试

第四章 OpenGL ES 着色器

-4.1 着色器编程语言介绍

--着色器编程语言语法

--着色器编程语言特殊语法

-4.2 着色器编程实例

--着色器编程实例

-第四章测试

第五章 颜色与纹理

-5.1 颜色的基本概念

--颜色的基本概念

-5.2 纹理素材的使用

--纹理素材的使用

-5.3 立方体纹理

--立方体纹理

-第五章测试

第六章 光源与光照

-6.1 光照的基本概念

--光照的基本概念

-6.2 光源模型

--光源模型

-6.3 使用着色器渲染颜色

--使用着色器渲染颜色

-6.4 反射与折射

--反射与折射

-第六章测试

第七章 基于物理的渲染

-7.1 基于物理渲染的基本概念

--基于物理渲染的基本概念

-7.2 基于图像的照明

--基于图像的照明

-7.3 PBR 的实现

--PBR 的实现

-第七章测试

第八章 PowerVR 工具简介

-8.1 Vulkan 介绍

--Vulkan 介绍

-8.2 SDK 中的实用工具介绍

--SDK 中的实用工具介绍

-综合测试

GPU 相关基础知识笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。