GPU概述

任务 在对CPU进行了解后,不妨下一步对与它相似的GPU进行系统认识。初次注意到它是对于深度学习设备的联系,感觉它具有卓越的运算性能。GPU对图像显示的功能主要体现在游戏画面,整个发展过程不妨随游戏的变化直观感受。 定义 图形处理器(英语:Graphics Processing Unit,缩写:GPU;又称显示核心、显卡、视觉处理器、显示芯片或绘图芯片)是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上运行绘图运算工作的微处理器。 意义 图形处理器使显卡减少对中央处理器(CPU)的依赖,并分担部分原本是由中央处理器所担当的工作,尤其是在进行三维绘图运算时,功效更加明显。图形处理器所采用的核心技术有硬件坐标转换与光源、立体环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图、双重纹理四像素256位渲染引擎等。 技术背景与发展 黑白 最初,电脑中处理影像输出的显示芯片,通常很少被视为是一个独立的运算单元。虽然英伟达公司(NVIDIA)在1999年8月发表GeForce 256绘图处理芯片时首先提出GPU的概念,但从上世纪70年代起,已经可以在游戏机上显示图像,但方式是直接用CPU桶式移位器把图像数据输出到显示器上。 彩色 到80年代时,第一块使用大规模集成电路技术的GPU诞生,是美国的一家图像芯片公司制造的NEC µPD7220,它也带动了一次GPU革命浪潮,推动intel公司第一款图像处理芯片82720的出现,能够处理16位的彩色图像。 3D 随着图像显示技术的发展,越来越多种颜色可以显示在屏幕上,也应运而生了2D和3D的专用芯片,日本的游戏公司Namco在1988年发布的Namco System 21是第一款针对3D图像显示设计的游戏主板。 VGA与SVGA 这两个词语是在C课设期间耳熟能详的两种显示方案,其实它们的含义分别是: VGA是IBM于1987年提出的一个使用模拟信号的电脑显示标准。这个标准已对于现今的个人电脑市场已经十分过时。 原本SVGA是IBM用来扩展旧VGA标准而提出的新标准,之后SVGA是由开放组织VESA所制定,并且工业界放弃了为每个更高标准给定独特命名的企图。几乎在1990年后期至2000年前后,显卡能表现出的各种显示规格都被归类在SVGA中。 个人电脑 1990年代初期,Microsoft Windows的崛起引发人们对高性能、高清晰度二维位图运算的兴趣。在个人电脑市场上,Windows的优势地位意味着台式机图形厂商可以集中精力发展单一的编程接口,图形设备接口。这个时期出现的Win G图形接口成为包括PS在内的大批3D软件的支持API,此外有大量游戏,其中之一是风靡美国的首款第一人称视角射击类游戏:Doom。我也在一个提供游戏模拟器的网站体验了这个小游戏,选择难度为中档(hurt me plenty),居然在第二关就被怪物的大火球烧死,得出结论:菜鸟在任何时期都是菜鸟。 OpenGL OpenGL是出现于90年代初的专业图像API,并成为在个人电脑领域上图像发展的主导力量,和硬件发展的动力。虽然在OpenGL的影响下,带起广泛的硬件支持,但在当时用软件实现的OpenGL仍然普遍。 此前我很容易把OpenGL与OpenCV混淆,一个区分方法是,前者将图像显示在计算机上,后者用计算机处理图像。 运用它进行渲染的游戏不计其数,一个著名的例子是B站Up主老番茄的成名之作杀手(HitMan)的首部。 科学计算 到2002年10月,随着ATI Radeon 9700(也称为R300)的推出,世界上第一个Direct3D 9.0加速器,像素和顶点着色器可以实现循环和冗长的浮点数学运算,并且很快变得像CPU一样灵活,但是对于图像阵列操作,速度更快。像素阴影通常用于凹凸贴图,从而增加纹理,使对象看起来发亮,暗淡,粗糙,甚至圆形或挤压。 随着Nvidia GeForce 8系列的推出,GPU成为了更加通用的计算设备。被称为GPU计算或用于GPU上的通用计算的GPGPU的研究子领域已进入机器学习,石油勘探,科学等领域图像处理,线性代数,统计, 3D重建,甚至股票期权定价确定。当时的GPGPU是现在称为计算着色器(例如CUDA,OpenCL,DirectCompute)的先驱,实际上通过将传递给算法的数据视为纹理贴图并通过绘制三角形或四边形来执行算法,从而在一定程度上滥用了硬件使用适当的像素着色器。显然,这会带来一些开销,因为实际上不需要的部件包括扫描转换器之类的部件(三角形操作也不是一件值得关注的事情,除了调用像素着色器外)。 总结上面的概念,是利用GPU卓越的并行计算性能来进行实际上与图像处理无关的数学运算。举个实例,比特币早期通过CPU来获取,而随着GPU通用计算的优势不断显现以及GPU速度的不断发展,矿工们逐渐开始使用GPU取代CPU进行挖矿。 自动驾驶 2019年NVIDIA发布全球最大自动驾驶处理器DRIVE AGX Orin,它的构成正是集成了NVIDIA的下一代GPU架构和Arm Hercules CPU内核,以及新的深度学习和计算机视觉加速器,这些加速器合计每秒可提供200万亿次操作。 参考资料 Graphics processing unit-wiki https://en.wikipedia.org/wiki/Graphics_processing_unit 图形处理器-维基百科… Continue reading GPU概述

CPU概论

任务 综述在计算机发展中两个例子,详细描述当时的技术背景,所描述的对象,总结其特点、进步点、推动计算机技术发展的价值和意义、缺陷及后续技术改进等,鼓励图文并茂。 意义 热点新闻是厂商发布高性能的CPU,内行人士可以感受到不同代际间的发展变化,但外行看到各种参数只是不明觉厉,不知晓其中的突破点与先进性。但正如绪论中让人印象深刻的一个观点:硬件工程师需要理解软件需求以得到研发方向,而软件工程师在理解硬件的基础上能使软件的性能得到最大程度的提升。因此,对CPU进行了解是有必要的,这是本次综述选题的出发点。 技术背景 最初计算机的目的正是为了计算,大多数采用的数制是10进制,即每一位由10个真空管表示。在1949年,轻量化BINAC(Binary Automatic Computer)的诞生使工业界向二进制的方案趋近,不过二进制的具体表示在原码、反码和补码的摇摆中才过度到现代的补码表示。 在计算机发明之初,它的软硬件设计是独特的,即使同一公司生产的不同产品也无法共享程序。因此公司的用户粘性很低,更新换代的优先考虑是价格与性能,而非无法沿用数据的旧产品的下一代。IBM公司注意到这一痛点,新的研发方案致力于打造可以使软件通用的不同性能的产品线,这样可以使用户根据需求变化沿用系列产品,这是IBM 360的诞生契机,也是第一个里程碑式指令集的架构的出现,在后面对CPU特点的论述中,可以看到指令集正是CPU的核心所在。 当然,此时的CPU由于生产工艺与电子器件限制,仍然是巨型的机器,对于IBM 360系列部分产品的相关参数如下表所示: Model Announced[14] Memory size (in (binary) KB) Weight (lbs) Notes 30 Apr 1964 8-64[16] 1700 (770 kg)[17]:2030.1   40 Apr 1964 16-256[18] 1700-2310 (770-1050 kg) depends on memory.[17]:2040.1   50 Apr 1964 64-512[19] 4,700-7,135 (2,100-3,236 kg) depends on memory.[17]:2050.2,2050.4 Supported IBM 2361 Large Capacity Storage (LCS). 20 Nov… Continue reading CPU概论