CPU核心和GPU核心到底有何不同
最近Intel公开发布i9处理器和8代标压处理器,以及GTX2080显卡的到来,可谓是搞机圈的几大热门新闻啊,单颗CPU核心能达到18核36线程想想也是很震撼很牛逼啊,再加上炒得沸沸扬扬的GTX2080Ti显卡,博主正打算在凑钱以后搞一台这样的主机来玩玩呢。
http://ww4.sinaimg.cn/large/87c01ec7gy1fsq5wxq4faj20dw0oct9q.jpg
也看到有人在说:现在随便一个显卡都是几百几千核,CPU才四核八核,顶级CPU都才18核,为什么CPU的核心就只有那么点。
也有人在讨论:GPU在将来有没有可能会取代CPU。
虽然博主不是搞芯片研发的,但至少还是个数码爱好者,虽不是科班出身但这些问题博主还是能解释得清楚的,毕竟也还是学了点计算机组成原理。
在我看来,GPU是替代不了CPU的,反过来,CPU也替代不了GPU。
为什么这样说?如果形象点的比喻,就是:把整台机箱比喻成一个工厂,显卡GPU就像是工厂里的流水线工人,这些工人都在同一时刻做着同一件的事情,而CPU就像是这个工厂里的研发中心和高管们,他们在同一时刻都在做着各种复杂而不同的研发工作,把复杂的工作做完了,剩下简单的工作就甩给下面的工人去做吧。
http://ww3.sinaimg.cn/large/87c01ec7gy1fsq5wy8nybj20d005kjtm.jpg
当然也看到网上有更幽默的比喻:GPU是一群小学生,扎堆算加减法;CPU是一个老教授,能解微积分。
从根本上说CPU和GPU它们的目的不同,且有不同侧重点,也有着不同的性能特性,在某些工作中CPU执行得更快,另一工作中或许GPU能更好。
当你需要对大量数据做同样的事情时,GPU更合适,当你需要对同一数据做很多事情时,CPU正好。
然而在实际应用中,后一种情形更多,也就是CPU更为灵活能胜任更多的任务。GPU能做什么?关于图形方面的以及大型矩阵运算,如机器学习算法、挖矿、暴力破解密码等,GPU会有所帮助。
简单地说,CPU擅长分支预测等复杂操作,GPU擅长对大量数据进行简单操作。一个是复杂的劳动,一个是大量并行的工作。
http://ww1.sinaimg.cn/large/87c01ec7gy1fsq5wyu0tlj20im0ahwhq.jpg
其实GPU可以看作是一种专用的CPU,专为单指令在大块数据上工作而设计,这些数据都是进行相同的操作。
要知道处理一大块数据比处理一个一个数据更有效,执行指令开销也会大大降低,因为要处理大块数据,意味着需要更多的晶体管来并行工作,现在旗舰级显卡都是百亿以上的晶体管。
CPU呢,它的目的是尽可能快地在单个数据上执行单个指令。由于它只需要使用单个数据单条指令,因此所需的晶体管数量要少得多。
目前主流桌面CPU晶体管都是十亿以下,和顶级GPU相差十倍以上,但它需要更大的指令集,更复杂的ALU(算术逻辑单元),更好的分支预测,更好的虚拟化架构、更低的延迟等等。
另外,像我们的操作系统Windows,它是为x86处理器编写的,它需要做的任务执行的进程,在CPU上肯定更为高效,你想每个线程的任务并不相同,基本上难以并行化,完全发挥不了GPU的长处。
那么,可以预见在未来,随着CPU进一步强化处理数据块的能力,我们将看到CPU和GPU架构之间的融合,而且随着制造技术的进步和芯片的缩小,GPU也可以承担更复杂的指令。
CPU与GPU间的分工虽然还是大有不同,但彼此间的交集无疑会更多。
http://ww2.sinaimg.cn/large/87c01ec7gy1fsq5wzed7sj20d0072n2s.jpg 鼎力支持!! 支持支持再支持 我是个凑数的。。。 发发呆,回回帖,工作结束~ 我只是路过,不发表意见 非常好,顶一下 为保住菊花,这个一定得回复! 啊啊啊啊啊啊啊啊啊啊啊 看起来好像不错的样子