为什么GPU比CPU便宜?


Answers:


13

GPU本质上是大规模并行的-您需要一个逻辑块,重复执行数千次,现在可以处理更多像素。CPU需要处理较少可并行化的指令,这更加困难。因此,在FLOP的基础上,GPU的生产成本可能比CPU便宜。


为什么我们对FLOATING POINT运算感兴趣,而不仅对常规运算感兴趣(因此,为什么FLOPS是我们遵循的标准)?
黑暗圣堂武士

@Dark Templar我们很感兴趣,因为某些应用程序非常特定于Floaing Point操作,例如3d游戏和科学应用程序。
Andrey

4

我想原因之一是GPU可以实现现代化。在x86中,我们处理了CISC架构,然后将其修改为RISC / CISC混合。现代PC同时支持3种操作模式(16、32和64位),并支持诸如十进制加法之类的指令(无论如何仍需要)。另一方面,GPU处理相对HL域特定的“语言”(OpenGL / DirectX)-在CPU端受支持(驱动程序)。这意味着每一代都可以(并且常常像从r100 / r200到r300 / r400或从r300 / r400到r600 / r700的过渡[我不知道r500在哪里])删除了很多内部部件。

现在想象一下,我们可以简单地用Itanium代替X86-64(实际上是升级了25年的旧体系结构),而无需重写所有内容。或类似ARM的东西。可以更新为现代要求的东西(不需要复杂的慢速指令,因为今天没有人需要它们,因为没有人正在汇编中编写-可能需要更多条件指令以避免像在ARM等上那样跳转)。

而且-GPU处理的问题要简单得多-或并行得多。它不需要做诸如支持某人可能已经使用了25年之久的指令之类的事情。只需几个GPU指令就可以在CPU上模拟它们。它不必仅仅因为有人认为这样可以节省空间或其他东西而预测以奇怪的方式输入的分支。

附带说明-上一次我建造计算机时,处理器,图形卡,主板和其余部件之间的共享比例约为2:2:1:1。


为什么RISC比CISC更好?
黑暗圣堂武士

黑暗圣堂武士:CISC的工作重点更多是汇编程序的开发-一条指令可以做很多事情,您可以直接在内存上进行操作等。它导致代码更清晰,更短,但代价是处理器更加复杂,周期更长(这样做的确更多) 。另一方面,编译器生成的代码可以编写几个简单的指令。因此,有必要执行的指令很少,而执行更多的指令却值得。更多的是我们如何使用在体系结构中继承的处理器(在周期长度和多少指令之间进行权衡)。
Maciej Piechotka 2011年

但是请注意,这并不是那么简单-当您有2个具有相同ISA的处理器时,您可能会有2个程序-A和B-并且A在P1上的执行速度更快,而B在P2上的执行速度更快。当您有2种不同的ISA时,您将有多种将程序转换为程序集的方法,因此比较会比较困难。
Maciej Piechotka 2011年

3

你便宜什么意思?有昂贵的GPU,比某些CPU更昂贵。您如何比较它们?


是否有一些实例可以证明这一主张?
黑暗圣堂武士

@黑暗圣堂武士的例子是什么?这图形处理器是不是昂贵的某些 CPU?真的值得怀疑吗?
Andrey

1

它们通常采用90 nm工艺制造,而如今的CPU采用45 nm晶体管生产。实际上,gpu单元需要更多的能量,但是最终用户的一次性价格可能会更低-技术越旧越便宜(在相对较短的时间范围内3-4年)。



1

比较CPU和GPU架构(来自Nvidia的图片)。

CPU和GPU比较

许多ALU(算术逻辑单元)为您提供了许多计算能力(1000个线程)。最小化控制会导致分支和其他非“数学”操作的严重成本(并降低商店的价格标签)。缓存非常小,并且大部分由程序员来管理(硬件不必预测要存储的内容),因此它很便宜。此外,GPU具有自己的“ RAM”,因此与受外部单元通信限制的处理器相比,GPU可以更高效地处理例如2GB的数据(但仍需付费)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.