1.CPU
CPU(中央处理器,Central Processing Unit),大家肯定已经很熟悉了,作为计算机的运算和控制核心,是信息处理、程序运行的最终执行单元。
CPU是冯·诺依曼架构下的处理器,在该体系结构下,指令和数据需要从同一存储空间存取,经由同一总线传输,无法重叠执行。这一处理流程,决定了CPU擅长决策和控制,但在多数据处理任务中效率较低。
一般来说,CPU 算力的提升主要依靠两个方面,即时钟频率和内核数。计算机的操作在时钟信号的控制下分步执行,每个时钟信号周期完成一步操作,时钟频率的高低在很大程度上反映了CPU速度的快慢。CPU内核是CPU内部可以执行指令的单个处理单元。
通常来说,时钟频率越大、内核数越多,CPU的性能越强,但这也就带来了能耗过高,发热过大的问题,散热跟不上,可能会导致CPU烧毁。
随着 CPU 算力逐渐达到瓶颈,越来越无法满足指数级增长的算力需求。算力发展的方向愈发转向专用性,以寻求更高的性能、更低的能耗和成本。
02.GPU
GPU(图形处理器,Graphics Processing Unit),从名字就可以看出,GPU是主要负责做图像和图形相关运算工作的处理器。
这里大家可能就要有疑问了,为什么需要专门出现GPU来处理图形工作,CPU为啥不可以?
这是因为GPU是并行编程模型,和CPU的串行编程模型完全不同。由于图形渲染任务具有高度的并行性,因此GPU可以仅通过增加并行处理单元和存储器控制单元,便可有效的提高处理能力和存储器带宽。
GPU和CPU的关系就如同很多小学生和一个大学教授,虽然大学教授学识更加渊博,可以处理一些比较繁杂的计算问题,但是当需要处理很多的简单计算时,一个大学教授的计算速度是不如一群小学生来的快的。
当然,随着技术的发展,GPU的应用范围已经扩展到科学计算、人工智能、机器学习等领域。
03.ASIC
以上的CPU和GPU可以满足通用场景的需求,但是随着算力场景的逐渐细分,通用的算力芯片,已经无法满足用户需求,于是ASIC芯片开始被逐渐应用。
ASIC(专用集成电路,Application Specific Integrated Circuit),是为特定应用而设计的集成电路。
ASIC的设计完全针对特定应用进行优化,采用硬连线方式实现电路功能,在处理特定任务时能够达到更高的效率和更低的能耗,因此在性能和效率方面达到了极致。
就好比服装界的私人定制,私人定制的衣服往往更能满足顾客的需求。虽然穿着T恤大裤衩也能去参加晚会,但毕竟是不合适的,选择一套与场合相匹配的服饰,无疑能让自己更加自信,也能更好地融入并享受这个特别的夜晚。
当然,提到私人定制,第一时间想到的就是“贵”。ASIC的高定制性也意味着高研发成本和技术门槛。因为ASIC芯片是为特定应用而设计的,需要进行专门的电路结构和布局设计,这通常需要高度专业化的技术和丰富的经验。定制化设计的过程复杂且耗时,增加了研发成本和技术门槛。且ASIC的灵活性较低,一旦设计完成便难以更改,在这个技术日益更新的时代很难占据更多市场。
因此,ASIC通常适用于那些对性能要求极高且需求相对稳定的应用场景,如加密货币挖矿、高性能计算等。
04.FPGA
ASIC芯片一经设计就不能更改,那么当用户有其他需求时该怎么办?
这就不得不提到FPGA(现场可编程门阵列,Field Programmable Gate Array),顾名思义,FPGA 是一种可编程集成电路,可由用户配置以执行特定任务。
相对于CPU和GPU的冯诺依曼结构,FPGA采用无指令、无需共享内存设计,每个逻辑单元的功能在重编程时就已经确定,使得FPGA的能效要比CPU和GPU高。
那么相对于ASIC,FPGA的性能如何呢,前面文档君已经说过,AISC芯片属于定制款,因此性能更强,能耗更低,但因为技术门槛更高、设计周期更长,所以价格也更贵,但是当需要大规模使用ASIC芯片时,成本会显著降低。
而FPGA可以重构,因此在灵活度上会有显著提升。这其实和搭积木一样,固定积木需要经过设计→开模→注塑生产→装饰上色→包装,最后才能上市销售。而智力积木只需要生产几种不同的形状与颜色的积木,就可以让消费者根据自己的想象和创意自行搭建了,缺点就是在搭积木的过程中会产生冗余,造成浪费。
//
总结
CPU、GPU、FPGA与ASIC作为计算世界的四大基石,各自在不同的应用场景中发挥着重要作用。它们各有千秋,共同推动了科技的进步和发展。