【算法加速】区分ASIC与CPU、GPU、FPGA几个概念

2022/2/13 17:45:36

本文主要是介绍【算法加速】区分ASIC与CPU、GPU、FPGA几个概念,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

这里便于理解,我们先了解一下挖矿的发展,我们知道在比特币挖矿的过程中需要消耗算力,这个算力是机器提供的,简单来说就是让机器来计算一定难度的结果值(该结果值满足一定的要求,比如说前面必须要有18个0等)。
而计算的过程交给计算机,早期大家都是用电脑的CPU来进行挖矿,后来大家使用GPU来进行挖矿。在2013年作用,低成本灵活性强的FPGA才被用于挖矿。但是随着算力要求越高,矿机厂商转而采用能效更高的ASIC芯片取代 GPU/ FPGA来运行比特币 SHA-256 哈希算法。

传统的依靠编程语言的算法提高效率是有瓶颈的,转而向硬件寻求加速的解决方案。

一、名词介绍

CPU:中央处理器(Central Processing Unit,CPU)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。

GPU:图形处理器(Graphics Processing Unit,GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。

ASIC:专用集成电路(Application Specific Integrated Circuit,ASIC),适合于某一单一用途的集成电路产品。

FPGA:现场可编程门阵列(Field Programmable Gate Array,FPGA)。其设计初衷是为了实现半定制芯片的功能,即硬件结构可根据需要实时配置灵活改变。

二、性能介绍

CPU作为通用处理器,除了满足计算要求,为了更好的响应人机交互的应用,它要能处理复杂的条件和分支,以及任务之间的同步协调,所以芯片上需要很多空间来进行分支预测与优化(control),保存各种状态(cache)以降低任务切换时的延时。这也使得它更适合逻辑控制、串行运算与通用类型数据运算。

GPU拥有一个由数以千计的更小、更高效的ALU核心组成的大规模并行计算框架,大部分晶体管主要用于构建控制电路和Cache,而控制电路也相对比较简单。

CPU、GPU 都属于冯·诺依曼结构,指令译码执行、共享内存。

FPGA本质上是无指令、无需共享内存的体系结构要比GPU、CPU更加高效, 在数据处理任务里 FPGA 的主要优势是稳定又极低的延迟,适用于流式的计算密集型任务和通信密集型任务。

ASIC是专用的集成电路,其性能其实要强于FPGA,但是针对定制的客户,其成本却高于FPGA很多。



这篇关于【算法加速】区分ASIC与CPU、GPU、FPGA几个概念的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程