我们可以把芯片分为两个大类,一是通用芯片,包括经常听到的CPU、 GPU、 DSP等;二是专用芯片,包括FPGA、ASIC等。这个大类划分很重要,两者有本质上的不同。需要说明下,芯片的分类有很多种,我们这样的分类是基于芯片的设计理念,这是后续理解一切的基础。
这里“通用”与“专用”的区别是指该芯片是否是仅为执行某一种特定运算而设计,用银行来做个简单的比喻,通用芯片就是“银行柜员”,可以处理各种复杂的业务;而专用芯片就是“ATM机”,将某些流程标准化并固化在硬件中,做一台没有感情的处理机器。“通用”与“专用”并不是指该芯片是否仅用于某一种产品或使用场景,比如intel所研发的用于PC的CPU,这颗芯片仅用在PC上,但它不是我们这里说的“专用”芯片。