造cpu芯片和gpu芯片哪个更难?
▍造cpu芯片和gpu芯片哪个更难?
cpu是中央处理器,处理整个计算机的所有指令,gpu某种意义上与dma类似,都是cpu的二级专有芯片且不是必须的!如果把计算机所有芯片做类比cpu就是人,剩下的是起重机切割机汽车等一系列工具!所以cpu的技术含量是最高的!
▍造cpu芯片和gpu芯片哪个更难?
在回答这个问题之前,首先我们要了解一下什么是CPU什么是GPU,两者是干什么用的,制作工艺和材料有什么区别,这样我们才能明白哪个加工难度比较大,下面我们以计算机应用为例分以下几点详细了解一下:
什么是CPU什么是GPU两者的区别在哪里芯片的加工工艺什么是CPU
CPU也就是我们通常说的“中央处理器”,依人类对比而言,也就是人类的大脑,是计算机设备的重要组成部分,其功能是负责整个计算机的数据流运算,和各个配件指令的下达,目前在电脑桌面端的处理器上AMD领先于Intel,使用的是7nm工艺。在156平方毫米的的面积上,容纳了98亿多个晶体管,晶体管数量越多,理论上能执行的任务能力越强,功效越低。
什么是GPU
GPU其实是一种图像处理芯片,主要用于提高视频和图形处理的性能,包括图形的解码,图形的渲染,视频信号的输出等。简单的说就是一种视觉处理单元。只是用作图像处理使用,包括现在的AI识别技术,电脑/电视的显示器等。
两者的区别
虽然两者都是芯片,但是因为处理的数据类型不同,CPU处理主要是用来解释计算机的指令和计算机应用的逻辑数据,并且可以分配指令,是控制整个电脑的核心。而GPU只是用于处理图像数据,用来提升图像显示效果和图形计算的,行为比较单一。
芯片的加工工艺
芯片的制作流程主要包括,产品图纸的设计→晶元的制作,光科→封装→测试,四个步骤。最复杂的工艺要数晶片的制作了,晶片的制作流程分为,硅锭的打磨→切片→光刻→蚀刻→掺加杂质→干洗→封装测试。这样一个芯片才算完成了。
总结--哪个加工比较难
其实在芯片的加工和封装上面两者基本都差不多,主要是在芯片的架构和图纸设计上,CPU的设计难度可能更大一点,因为相比于图像处理,CPU的架构更加复杂,需要的晶体管更多。
▍造cpu芯片和gpu芯片哪个更难?
从芯片设计的复杂度来说,高性能通用CPU芯片设计肯定超过GPU芯片。
应用范围不同导致各自的着力点也不同,CPU芯片属于全能型选手,控制、运算样样皆能,所以它所需要的专业知识面也广,技术团队成员组成也更多元;GPU芯片更像专项运动员,任务对象相对单一,尤其是核心的算法单元部分是可以以搭积木的方式堆积,所以导致它除了算法技术人员外对并行处理技术人员也有需求,至于HBM这种高带宽技术也是源于加速并行处理能力所需。
所以,虽然CPU设计复杂度高于GPU设计,但并不意味着CPU设计者就一定强过GPU设计者,Intel CPU芯片组的内置显卡就没有N记独立显卡牛掰,当然这里面不单纯是技术深度因素,和各自的策略和兼容包袱也有关。
▍造cpu芯片和gpu芯片哪个更难?
从硬件设计上,CPU大于GPU,CPU属于通用计算,其性能除了通常标准配置外也很大程度取决于指令集的多少和高级程度,指令集可以理解为特定运算的专用加速器,所以近些年关于CPU IPC性能提升不大,多在于提升核心和指令集数量上,虽然制程提升能明显改善性能提升空间,但并不能完全解决问题,对功耗控制也有要求。
设计CPU要考虑软硬件生态环境兼容性和安全性,GPU这方面只需要做系统平台接口的驱动即可。
而GPU设计相对简单些,只需要确定一个架构堆运算单元和加大显存位宽还有提升频率就可以,其性能提升的瓶颈主要在工艺制程上。
▍造cpu芯片和gpu芯片哪个更难?
CPU和GPU都是具有运算能力的芯片,CPU更像“通才”——指令运算(执行)为重+数值运算,GPU更像“专才”——图形类数值计算为核心。在不同类型的运算方面的速度也就决定了它们的能力——“擅长和不擅长”。芯片的速度主要取决于三个方面:微架构,主频和IPC(每个时钟周期执行的指令数)。
微架构
CPU微架构的设计是面向指令执行高效率而设计的,因而CPU是计算机中设计最复杂的芯片。和GPU相比,CPU核心的重复设计部分不多,这种复杂性不能仅以晶体管的多寡来衡量,这种复杂性来自于实现:如程序分支预测,推测执行,多重嵌套分支执行,并行执行时候的指令相关性和数据相关性,多核协同处理时候的数据一致性等等复杂逻辑。
GPU其实是由硬件实现的一组图形函数的集合,这些函数主要用于绘制各种图形所需要的运算。这些和像素,光影处理,3D坐标变换等相关的运算由GPU硬件加速来实现。图形运算的特点是大量同类型数据的密集运算——如图形数据的矩阵运算,GPU的微架构就是面向适合于矩阵类型的数值计算而设计的,大量重复设计的计算单元,这类计算可以分成众多独立的数值计算——大量数值运算的线程,而且数据之间没有像程序执行的那种逻辑关联性。
因此从微架构上看,CPU擅长的是像操作系统、系统软件和通用应用程序这类拥有复杂指令调度、循环、分支、逻辑判断以及执行等的程序任务。它的并行优势是程序执行层面的,程序逻辑的复杂度也限定了程序执行的指令并行性,上百个并行程序执行的线程基本看不到。GPU擅长的是图形类的或者是非图形类的高度并行数值计算,GPU可以容纳上千个没有逻辑关系的数值计算线程,它的优势是无逻辑关系数据的并行计算。
主频
GPU执行每个数值计算的速度并没有比CPU快,从目前主流CPU和GPU的主频就可以看出了,CPU的主频都超过了2GHz,甚至3GHz,而GPU的主频最高还不到2GHz,主流的也就1GHz。所以GPU在执行少量线程的数值计算时速度并不能超过CPU。
目前GPU数值计算的优势主要是浮点运算,它执行浮点运算快是靠大量并行,但是这种数值运算的并行性在面对程序的逻辑执行时毫无用处。
IPC(每个时钟周期执行的指令数)
这个方面,CPU和GPU无法比较,因为GPU大多数指令都是面向数值计算的,少量的控制指令也无法被操作系统和软件直接使用。如果比较数据指令的IPC,GPU显然要高过CPU,因为并行的原因。但是,如果比较控制指令的IPC,自然是CPU的要高的多。原因很简单,CPU着重的是指令执行的并行性。
另外,目前有些GPU也能够支持比较复杂的控制指令,比如条件转移、分支、循环和子程序调用等,但是GPU程序控制这方面的增加,和支持操作系统所需要的能力CPU相比还是天壤之别,而且指令执行的效率也无法和CPU相提并论。
总结一下:
CPU更适合处理逻辑控制密集的计算任务,而GPU适合处理数据密集的计算任务。并且由于现代CPU的发展,使得CPU与计算机主存的交换速度要远远大于GPU与计算机主存的交换速度,因此GPU更适合处理SIMD(SingleInstruction MultiData,单数据多指令)的运算,即将数据放到显存中进行多次计算的计算任务。
目前比较流行CPU+GPU的协同计算模型,在这个模型中,CPU与CPU协同工作,各司其职。CPU负责进行逻辑性强的事物处理和串行计算,GPU则专注于执行高度线程化的并行处理任务。CPU、GPU各自拥有相互独立的存储器地址空间:主机端的内存和设备端的显存。
------------------
推荐阅读:
打败美国注定天方夜谭?为何说军事强大的俄罗斯不可能挑战美国?
上一篇:为什么丁宁的下蹲式发球这么厉害?
下一篇: 俄罗斯为什么不使用武力重新恢复苏联?