前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软硬件融合技术内幕 基础篇 (14) —— 古墓丽影与挖矿 (上)

软硬件融合技术内幕 基础篇 (14) —— 古墓丽影与挖矿 (上)

作者头像
用户8289326
发布2022-09-08 17:21:45
4760
发布2022-09-08 17:21:45
举报
文章被收录于专栏:帅云霓的技术小屋

在上期《软硬件融合技术内幕 基础篇 (13) —— 温度墙是什么?》里面,我们了解到了,CPU及计算机中其他部件的频率,是由数字锁相环决定的,并且计算机系统可以基于温度来控制各产品的工作频率。在最坏的情况下,系统会强行切断所有部件的供电,直到系统温度恢复后,供电才能恢复正常。

在文章的最后,我们还提到了一个问题:

社会上有一部分人,批量采购GPU,用于一些非法的金融活动(俗称“挖矿”)。由于成本考量,这些GPU有可能在非标准的机房工作,散热条件较为恶劣,导致工作温度长期偏高。因此,有人认为,这类GPU在恶劣条件下有可能受损导致工作不稳定。实际上,由于GPU也具有类似CPU的温度保护机制,在高温下GPU会被强制下电,大家是不需要担心所谓的“矿卡”会损坏的。

这也引出了这几期的话题——所谓的“挖矿”到底是在干什么呢?

先说答案:实际上,所谓的“挖矿”,就是利用GPU找一个方程的解:

SHA256 (String) = 0

其中,SHA256是一种摘要算法,又称为Hash算法。String是变量。由于摘要算法是不可逆的,想求出满足这个方程的解,只能通过穷举法。为了提升运算效率,一些人想到,利用GPU运算来解这个方程。

为什么GPU可以用于解这个方程呢?

让我们先回到开篇的小霸王学习机——

上图是游戏《沙罗曼蛇》的画面,玩家操纵的战机发射子弹,与试图置玩家于死地的敌人对抗。《沙罗曼蛇》是一款对玩家反应能力要求极高的游戏,玩家的战机和敌人的行动速度都非常快,也需要实时的响应。

在小霸王学习机中,为了实时处理这一类快速变换的画面,引入了另一颗处理器,作为CPU的协处理器,来处理精灵(Sprite)和背景(Background)的绘制,它被称为PPU。

小霸王学习机中,所有呈现的画面,都是由PPU绘制的,CPU只是给PPU绘制画面的指令。如《沙罗曼蛇》中,玩家在按下B键,让战机发射子弹时,CPU会向PPU发出一条指令,让PPU绘制一个精灵,其图形为子弹,从左向右移动。由于PPU的处理能力也非常低下,PPU有一些规格限制,也决定了小霸王学习机上的一些游戏画面。

如这个图:

图中一组敌人的个数为5,这是因为,小霸王学习机的PPU只能支持在同一个水平线上呈现8个精灵。5个敌人占用了5个名额,如果战机,2发子弹和5个敌人在同一条线上,就会占满8个名额。

这是一个典型的硬件限制约束游戏设定的例子。

流光一瞬,华表千年。

20世纪末,随着NVidia Geforce 256的推出,GPU也成为了一个新名词,但其实质依然是接受来自CPU的指令,在显存中绘制数字化的图形 (术语曰:bitmap).

《古墓丽影》是这个时期流行的游戏之一。游戏的女主角劳拉的人物设定是一名女考古学家,需要在古墓中保卫自己并取得胜利。

由于当时的硬件限制,劳拉的形象只能绘制成这样,勉强能看得出是人。

为什么劳拉会被绘制成这个样子呢?

原来,为了让计算机中数字化的模型,尽量逼近真实的人体,程序员们在对人物建模的时候,会把人物的形状用多个三角形来模拟,而皮肤、衣着等利用所谓的材质贴图来实现。因此,游戏中每一帧画面,实际上都是CPU向GPU发出绘制三角形指令,以及材质贴图指令实现的。

1999年的NVidia Geforce 256 GPU,虽然其性能已经能够碾压3dfx Voodoo3和S3 Savage2 等竞争产品,但其每秒钟只能绘制1500万三角形和4.8亿的像素贴图,因此,劳拉就有了上图中的样子。

天波易谢,光景西驰。

当时代的车轮转动到中国特色社会主义新时代,英伟达最新的RTX3080TI也登上了历史舞台。它具备10240个CUDA核心,三角形绘制能力和贴图能力比20年前的GPU高出了若干个数量级。

所以,我们可以看到宛如真人的游戏形象:

不要光顾着玩游戏了!敲黑板!

我们发现,无论是小霸王学习机,还是桌面PC和服务器,GPU的作用,都是作为CPU的协处理器,CPU给GPU发放带有重复性的并行工作(绘制游戏上的飞机、绘制劳拉、算SHA256等),GPU去完成这些指令并向CPU返回。

由于GPU内部有大量的并行计算单元,它被认为适合重复的并行运算,如AI训练等任务。

请看下期详解。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帅云霓的技术小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档