AI系统-9AI芯片基础CPU

AI系统-9AI芯片基础CPU 本小节有点像大学本科的课程《计算机组成原理》其实很多东西在本科的基础课程上都已经涉及了后续的技术发展只是把这些基础理论进行东拼西凑然后就可以实现功能了。计算机体系结构看似很高大上但是其基础就是这个《计算机组成原理》或许几十年前发明这个学科的时候当时最聪明的人已经把这个方向的基础东西都想完了后续就只剩排列组合了。其实这也是人类思维的固有限制我们想问题处理事情理解时间的模式在我们有意识后基本就确定了大部分所以在处理事情的时候不同的领域用到的思想其实差不多一样而这些思想很早就成熟了。例如要炒一个菜那就需要切菜备菜、下锅炒、出锅盛盘子可能以为理所当然但是CPU的工作原理也是这样。而且从逻辑上来讲基础底座搭建好后利用数学等手段基本就可以把基础理论给完全丰富了。本文主要参考《ZOMI酱AI系统》https://chenzomi12.github.io/02Hardware02ChipBase/01CPUBase.html1.CPU介绍上图可知CPU可以划分成三大部分算术逻辑单元、存储单元和控制单元。1.1 算术逻辑单元ALU算术逻辑单元ALUArithmetic Logic Unit执行的操作是逻辑运算逻辑运算包括 NOR、NOT、AND、NAND、OR、XOR 等。移位操作它负责将位的位置向右或向左位移一定数量的位置也称为乘法运算。算术运算虽然它执行乘法和除法但这是指位加法和位减法。但是乘法和除法运算的成本逻辑复杂度和面积更高。在乘法运算中加法可以用作除法和减法的替代。1.2 寄存器MU存储单元MUMemory Unit也可以称为寄存器为什么会出现寄存器因为我们知道程序在内存中装载由 CPU 来运行CPU 的主要职责就是用来处理数据。那么这个过程势必涉及到从存储器中读取和写入数据因为它涉及通过控制总线发送数据请求并进入存储器存储单元通过同一通道获取数据这个过程非常的繁琐并且会涉及到大量的内存占用而且有一些常用的内存页存在其实是没有必要的因此出现了寄存器存储在 CPU 内部。没有寄存器的话CPU 将需要不断地从内存中读取和写入数据这将严重降低计算机的性能。因为寄存器比内存更快所以使用寄存器可以加速计算机的操作和计算。寄存器主要分为两种指令寄存器和数据寄存器负责暂存指令、ALU 所需操作数、ALU 算出结果等。常见寄存器的功能数据寄存器DR数据寄存器Data RegisterDR又称数据缓冲寄存器数据寄存器用于存放操作数其位数应满足多数数据类型的数值范围其主要功能是作为 CPU 和主存、外设之间信息传输的中转站用以弥补 CPU 和主存、外设之间操作速度上的差异。地址寄存器AR地址寄存器Address RegisterAR用来保存 CPU 当前所访问的主存单元的地址。其本身可以具有通用性也可用于特殊的寻址方式如用于基址寻址的段指针存放基地址、用于变址寻址的变址寄存器和用于堆栈寻址的栈指针。累加寄存器AC累加寄存器通常简称累加器AC是一个通用寄存器。为 ALU 暂时保存一个操作数或运算结果。程序计数器PC程序计数器PC具有寄存信息和计数两种功能一般用来存放下一条指令在主存储器中的地址。指令寄存器IR指令寄存器Instruction RegisterIR用来保存当前欲执行的指令。CPU 内部存储单元的容量极为有限大量数据只能保存在 CPU 之外的 RAM随机存取存储器芯片中就是我们平常所说的内存也被称之为主存。存储器单元负责从主存中检索并临时存储数据负责管理 CPU 和主存之间的数据流。控制单元CUControl Unit的主要工作用一句话概括就是告知最有效的工作方法。控制单元从主存中检索和选取指令对其进行解码然后发出适当的控制信号指导计算机的其他组件执行所需的操作。控制单元自身并不执行程序指令它只是输出信号指示系统的其他部分如何做。1.3 控制单元CU如果说 CPU 是计算机的大脑那么控制单元就是 CPU 的大脑也是 CPU 中最重要的部分。控制单元的任务可以分为解码指令、生成控制信号并将这些信号发送给其他组件。主要功能如下指令解码控制单元负责从存储器中读取指令并对其进行解码。指令解码是将二进制指令转换为对计算机各个部件的控制信号的过程。通过解码控制单元能够识别指令的类型、操作数和执行方式并为后续的执行步骤做好准备。控制信号生成控制单元根据解码的指令类型和操作数生成相应的控制信号以控制计算机中各个部件的操作。这些控制信号包括时钟信号、读/写信号、地址选择信号、操作数选择信号等。控制单元会根据指令的需求生成适当的控制信号确保计算机的各个部件按照指令的要求进行操作。指令执行顺序控制控制单元还负责管理指令的执行顺序。它会按照指令序列的顺序逐条调度指令的执行并确保每条指令的操作在正确的时钟周期内完成。控制单元能够根据不同指令的需求控制指令的跳转、分支和循环等控制流程。CU 所接收的输入有三个节拍发生器Step Counter、操作译码器Instruction、标志信号Condition Signal节拍发生器时钟会给节拍发生器发出一定频率的时钟脉冲节拍发生器根据时钟脉冲的次数向 CU 循环发送节拍信号。操作译码器寄存器 IR 会将指令中的 n 位二进制操作码发送给操作译码器——n 位二进制对应着 (2^n) 种状态译码器需要与 CU 连接 (2^n) 根线每一种状态对应一根线使得 CU 可以识别该操作码。标志信号标志是接收反馈的信号——经过 ALU 处理后的数字是正数还是负数、数字有没有溢出、鼠标有没有点击、哪个键盘敲击了等等都是反馈信号。CU 接收这三个外部参数后就能够发出控制信号——微命令Control Signals来指挥 CPU 做出微操作。1.4 CPU工作流CPU 的工作流主要分为 4 步取指从内存提取指令的阶段是将内存中的指令读取到 CPU 中寄存器的过程程序寄存器用于存储下一条指令所在的地址解码解码指令译码阶段在取指令完成后立马进入指令译码阶段在指令译码阶段指令译码器按照预定的指令格式对取回的指令进行拆分和解释识别区分出不同的指令类别以及各种获取操作数的方法。执行执行指令阶段译码完成后就需要执行这一条指令了此阶段的任务是完成指令所规定的各种操作具体实现指令的功能。根据指令的需要有可能需要从内存中提取数据根据指令地址码得到操作数在主存中的地址并从主存中读取该操作数用于运算。写回结果写回阶段作为最后一个阶段结果写回Write BackWB阶段把执行指令阶段的运行结果数据写回到 CPU 的内部寄存器中以便被后续的指令快速地存取结合下图简单解释第一步就是从内存里面去读取一些指令给到控制单元 CU而控制单元就会对刚才读取的一些指令来进行解码变成正式的一些 command 命令然后 ALU 就会去执行这些 command这些命令执行完之后就会存储回来内存进行汇总也就是写回。CPU 工作流接下来我们就从编程的视角去理解 CPU 的工作流。平时我们变成使用 C、Java、Python 等编程语言编译好的程序文件机器码保存在硬盘等存储介质上当操作系统运行这些程序的时候首先会将它们加载到系统内存中。程序文件实际就是一系列的指令CPU 从内存中检索并读取程序指令然后通过控制单元对程序指令进行译码操作使其转化为 CPU 能够“读懂”的指令格式。接下来控制单元向算术逻辑单元 ALU 发送信号ALU 即依据指令读取操作数并进行相应计算其计算结果经由 CPU 内的存储单元返回内存中。在以上过程中CPU 执行了四个重要步骤1从内存提取指令2解码3执行4写回。这四个步骤是完整执行一条指令的过程称之为指令周期Instruction Cycle。这一过程循环往复地进行直到程序结束。说起来简单实际过程却很复杂。单以取指令这一步骤来说它本身就又由多个微操作组成程序计数器初始化指针指向内存地址内存地址被装载到 CPU 的地址寄存器中CPU 接下来检索该内存地址中的数据并将其载入数据寄存器中如果数据包中包含的是指令将其装载到指令寄存器中程序计数器递增加 1指向下一个内存地址指令寄存器中的指令被传入 CPU 的控制单元中以上步骤循环往复地进行。接下来的译码、执行等阶段也都有着各自复杂的操作感兴趣的伙伴可以详细学习计算机组成原理计算机必修课。依照冯·诺依曼架构针对指令的“顺序执行”的原则CPU 只能执行完一条指令再来下一条。这样可以提高频率和多核来增强计算能力但是还是有限。所以就大算力场景例如AI计算就需要GPU、NPU出场了。1.5 CPU应用场景服务器领域x86 架构服务器广泛用于云计算、高性能计算HPC、大数据分析等应用场景。ARM 架构在服务器市场的渗透率较低但近年来有所增长主要得益于其低功耗、高效率的优势。PC领域x86 架构在个人电脑领域是主流x86 架构的优点包括高性能和广泛的软件兼容性适合各种复杂应用和游戏。缺点是功耗高和散热需求高。ARM 架构的优点是低功耗和高集成度特别适合移动设备续航时间长。缺点包括软件兼容性差和在某些高性能需求场景下表现不如 x86。嵌入式领域手机市场几乎完全由 ARM 架构主导所有主流智能手机处理器如 Apple A 系列、Qualcomm Snapdragon、Samsung Exynos 等都基于 ARM 架构。在其他嵌入式领域ARM例如 Cortex-M 系列、Cortex-R 系列和 Cortex-A 系列同样占据主导地位。ARM 处理器广泛用于物联网设备、智能家居、可穿戴设备、工业控制器、车载信息娱乐系统、仪表盘、智能家电、便携式医疗设备等。其低功耗、高集成度的特性使其在这些应用中非常受欢迎。此外RISC-V 架构的开源特性、定制化优势和适应新兴应用的灵活性使其在物联网、智能家居和传感器网络等领域受到越来越多的关注和应用。相比之下x86 架构在嵌入式领域的应用相对较少主要出现在一些需要高性能计算和复杂数据处理的场景如高端工业控制系统、高性能网关、某些车载信息娱乐系统和高级医疗设备等。看完上面的介绍其实有时候一种指令集架构不能满足我们日益复杂的产品需求例如汽车芯片那么解决方法就是SoC上面集成了各种异构核而且是多核。但是自己做SoC是集成不了X86的核的因为其不授权。所以更多采用了ARM授权和免费的RISC-V以及我们自己设计NPU核心等。2. CPU指令集指令集架构Instruction Set ArchitectureISA就像任何语言都有有限的单词一样处理器可以支持的基本指令/基本命令的数量也必须是有限的这组指令通常称为指令集Instruction Set基本指令的一些示例是加法、减法、乘法、逻辑或和逻辑非。2.1 指令集介绍指令集架构是软件感知硬件的方式我们可以将其视为硬件输出到外部世界的基本功能列表。Intel 和 AMD CPU 使用 x86 指令集IBM 处理器使用 PowerPC R 指令集HP 处理器使用 PA-RISC 指令集ARM 处理器使用 ARMR 指令集或其变体如 Thumb-1 和 Thumb-2。我们经常看芯片手册的时候就需要去关注寄存器和指令集。因为软件最终是要去操作这些东西的。可能高级语言的编译器已经把底层的过程屏蔽了但是一些底层软件的问题还是需要汇编实现其实汇编语言就是指令集的运用。指令集的分类运算指令在 ALU 中执行的计算操作数据移动指令读写存储操作包括寄存器读写控制指令更改指令执行顺序进行程序跳转实现 if/else循环等常见的指令集架构简要介绍x86 架构封闭架构由英特尔和 AMD 牢牢掌握话语权AMD 给 HG 授权 zen1 架构VIA台湾威盛曾获得 x86 架构 Licence 授权后来被 Z 芯收购20 多年来没有第四家授权其他芯片公司想用也用不了。Arm 架构开放架构虽然由 Arm 公司所有但授权开放需要花钱购买。目前华为和飞腾拥有 ARM v8 架构永久性授权阿里平头哥、中兴等国内厂商购买了 ARM v9 架构 IP 授权。MIPS 架构开放架构目前已开放了 MIPS 指令集的 R6 版本以 Wave Computing 管理但也难挽颓势最后宣布终止开发加入 RISC-V 基金会。LX 前期基于 MIPS 架构授权研发后衍生出 LoongArch 自主架构。Alpha 架构开放架构目前已经无实体主张该指令集的权利但相关专利已被 HP、Intel 等瓜分。我国的申威前期基于 Alpha 架构后衍生出 SW64 自主架构。RISC-V 架构开源架构最特殊不属于任何机构或国家开源免费想用就用运营成本全靠基金会的兄弟们帮衬。由阿里平头哥主导越来越多的创业公司加入 RISC-V 架构阵营。2.2 精简指令集RISC精简指令集RISC一个典型就是MIPS精简指令集RISC的处理器架构1981 年出现由 MIPS 科技公司开发并授权广泛被使用在许多电子产品、网络设备、个人娱乐设备与商业设备上。最早的 MIPS 架构是 32 位最新的版本已经变成 64 位RISC 指令集架构将在后面内容详细说明。MIPS32 指令集由三类指令构成R 型寄存器型指令、I 型立即数型指令和 J 型转移型指令。R 类型R 型指令使用三个寄存器作为操作数它们是 MIPS32 中最常用的指令类型。R 型指令的格式包括操作码OP、寄存器地址码rs、rt、rd以及移位量shamt和功能辅助说明func字段。R 型指令的例子包括算术逻辑指令如 add、sub、and、or 等、分支指令如 beq、bne 等、以及一些特殊的系统控制指令。I 类型具体操作由 op 指定指令的低 16 位是立即数运算时要将其扩展至 32 位然后作为其中一个源操作数参与运算。I 型指令的例子包括加法指令 addi、减法指令 subi、分支指令如 beqz、bnez 等以及加载和存储指令如 lw、sw 等J 类型具体操作由 op 指定一般是跳转指令低 26 位是字地址用于产生跳转的目标地址。J 型指令的例子包括无条件跳转 j、条件跳转 jal跳转并链接等。例如一个addi指令addr1 addr2 Immediate Value其为I类型指令。另外ARM和RISC-V都是精简指令集其执行效率高、功耗小。X86为代表是的复杂指令集CISC其在商业上做到了更好的兼容但是历史包袱也比较大可以实现更复杂的定制指令操作但是其执行效率一般所以其后期的发展就是升频和多核。RISC 架构优点包括指令执行速度快、硬件设计简单和高效的能量使用。由于每条指令执行一个操作且指令长度固定指令解码和执行过程非常高效允许处理器以更高的时钟速度运行。简化的指令集和固定长度的指令使得硬件设计更为简单降低了设计复杂性和成本。由于指令执行效率高RISC 处理器通常具有更高的能效适用于需要低功耗和高性能的应用场景。RISC 架构缺点包括程序代码长度较长和对编译器优化的依赖。由于每条指令执行的操作较少实现同样功能的程序可能需要更多的指令从而增加了程序代码的长度。RISC 架构依赖编译器生成高效的机器代码这要求编译器具备较高的优化能力以充分发挥处理器的性能。2.3 复杂指令集CISCCISC 架构旨在通过提供大量的指令来减少程序的指令总数从而减少执行特定任务所需的指令数量。CISC 的设计原则主要强调通过复杂的指令集和多样的寻址模式来简化编程减少程序指令数量从而提高编程效率和代码密度。利用微代码控制来实现复杂指令则是为了在简化硬件设计的同时确保复杂指令的执行。向后兼容性的设计思想则保证了新旧处理器之间的软件兼容性使得 CISC 架构能够在长时间内维持其市场地位和应用广泛性。CISC 架构优点在于编程简便、代码密度高以及向后兼容性强。由于每条指令可以执行多个操作程序员可以用较少的指令完成更多的任务从而简化了编程过程。复杂指令减少了程序中的指令数量提高了代码密度节省了内存空间。此外注重向后兼容性的新处理器可以运行旧的软件和操作系统保护了现有的软件投资。CISC 架构缺点由于指令复杂且不定长解码和执行过程相对较慢影响了整体性能。复杂的指令集和解码逻辑增加了硬件设计的复杂性和成本。相较于 RISC 处理器CISC 处理器的能效较低难以在高性能和低功耗之间取得平衡。2.3 CPU并行处理架构1966 年MichealFlynn 根据指令和数据流的概念对计算机的体系结构进行了分类这就是所谓的 Flynn 分类法。Flynn 将计算机划分为四种基本类型如下所示单指令流单数据流SISD系统只有一个处理器和一个存储器每个指令部件每次仅译码一条指令而且在执行时仅为操作部件提供一份数据串行计算硬件不支持并行计算在时钟周期内CPU 只能处理一个数据流单指令流多数据流SIMD系统采用一个控制器控制多个处理器同时对一组数据中每一个分别执行相同操作SIMD 主要执行向量、矩阵等数组运算处理单元数目固定适用于科学计算。特点是处理单元数量很多但处理单元速度受计算机通信带宽传递速率的限制。多指令流单数据流MISD系统多个指令流来处理单个数据流这种方式没什么必要所以仅作为理论模型出现多指令流多数据流MIMD系统多个数据集上执行多个指令的多处理器机器共享内存 MIMD 和分布式内存。特性是各处理器之间可以通过 LOAD/STORE 指令访问同一个主存储器可通过主存相互传送数据。硬件组成为一台计算机内包含多个处理器加一个主存储器。多个处理器共享单一的物理地址空间。GPU的工作就是把一个指令让多个处理单元PE进行处理那其实就是把SISD变成了SIMD这种技术就是单指令多线程SIMT英伟达提出 SIMT 的初衷是希望硬件像 SIMD 一样高效编程起来又像多核多线程一样轻松。3. CPU的重要指标3.1 算力算力(Computational Power)即计算能力是计算机系统或设备执行数值计算和处理任务的核心能力。提升算力不仅仅可以更快地完成复杂的计算任务还能够显著的提高计算效率和性能从而直接影响应用加载速度游戏流畅度等用户体验。其实算力这个词很不专业给外行描述看的就像什么云计算、数据湖等让高深的东西具现化但是对应学术专业上就很模糊。对于CPU来说完成复杂任务大多数情况CPU利用率都不是很高所以在响应用户需求和计算能力上需要取中并不是算力越大越好。其实操作系统的诞生就是为了尽可能的榨干计算机硬件的资源协调CPU、内存、硬盘、各种外设进行协调工作达到最大的效率。就像我们说用安卓有点卡但是快苹果不卡但是可能运行慢这就是操作系统设计的风格。影响 CPU 算力因素核心数量核心数量是衡量 CPU 并行处理能力的重要指标之一。每个核心可以独立执行任务更多的核心意味着 CPU 可以同时处理更多的任务从而显著提升并行计算的能力。现代 CPU 通常设计为多核心架构这使得它们在处理复杂的、多线程任务时具有明显的优势。时钟频率时钟频率指的是 CPU 每秒钟可以执行的周期数通常以 GHz千兆赫兹为单位。更高的时钟频率意味着 CPU 可以在更短的时间内完成更多的计算任务。每个时钟周期的浮点运算次数现代 CPU 架构采用超标量设计和向量化技术来增加每个时钟周期内可以执行的浮点运算次数。浮点运算是处理复杂计算任务的关键特别是在科学计算和图形处理领域。缓存和内存带宽缓存和内存带宽是影响 CPU 数据访问速度的关键因素。高效的缓存系统和足够的内存带宽可以显著减少数据传输的延迟提高整体计算效率。指令集架构指令集架构ISA是 CPU 如何执行指令的基础。不同的 ISA如 x86、ARM、RISC-V对浮点运算的支持和优化程度有所不同直接影响 CPU 的算力表现。纵轴表示性能倍数如 1.00X 和 10.00X而横轴表示时间从 2006 年到 2026 年展示了 20 年的技术变化。图中的蓝色圆点代表每次操作的能耗Energy per operation而橙色三角形代表密度(Density)。红色虚线表示密度随时间的增长趋势绿色虚线表示每次操作能耗随时间的变化趋势。体现了逻辑电路技术在过去 20 年间取得了显著进步随着工艺节点的缩小每次操作的能耗不断降低而晶体管的密度不断增加。3.2 计算时延CPU 计算时延是指从指令发出到完成整个指令操作所需的时间。在讨论 CPU 计算时延时我们需要深入理解内存、带宽和时延之间的关系因为它们共同影响着计算机系统的性能表现。内存和带宽的关系内存的速度和系统带宽共同决定了数据在 CPU 和内存之间的传输效率。更高的内存带宽允许更多的数据在单位时间内传输从而减少内存的访问时延。带宽和时延的关系高带宽通常能够减少数据传输所需的时间因此可以间接降低时延。然而增加带宽并不总是能线性减少时延因为时延还受到其他因素的影响如数据处理的复杂度和传输距离。在低带宽环境下时延会显著增加因为数据需要更长时间才能传输到目的地尤其在需要传输大数据量时更为明显。内存和时延的关系内存的速度和延迟直接影响 CPU 的访问时间。低延迟的内存允许更快的数据传输和指令处理从而减少了 CPU 的等待时间和总体计算时延。内存的类型和架构如 DDR 与 SRAM单通道与双通道也会影响访问延迟。优化内存配置可以显著降低时延提高系统性能。CPU 计算时延主要由以下几个部分组成指令提取时延Instruction Fetch Time指令提取时延是指从内存中读取指令到将其放入指令寄存器的时间。这个时延受内存速度和缓存命中率的影响。内存的速度决定了从内存中读取指令的时间。更高速度的内存能够减少提取指令的时间。缓存层次结构L1, L2, L3 缓存会极大地影响提取时间。如果指令在缓存中命中则可以快速获取否则必须从较慢的主存储器中读取。指令解码时延Instruction Decode Time指令解码时延是指将从内存中读取的指令翻译成 CPU 能够理解的操作的时间。这个时延受指令集架构和解码逻辑复杂性影响。复杂指令集架构CISC通常有更长的解码时延因为指令更复杂相比之下精简指令集架构RISC由于指令简洁解码时延较短。解码单元的设计和复杂性也影响解码时延。更复杂的解码逻辑可能处理更多指令类型但会增加时延。执行时延Execution Time执行时延是指 CPU 实际执行指令所需的时间。这个时延取决于指令的类型和 CPU 的架构指令类型中不同的指令需要不同的执行时间。例如简单的算术运算可能只需一个时钟周期而复杂的浮点运算可能需要多个周期。而 CPU 架构中流水线深度、并行处理能力和指令重排序等技术都会影响指令的执行时延。存储器访问时延Memory Access Time 存储器访问时延是指 CPU 访问主存储器或缓存所需的时间。这个时延受缓存层次结构L1, L2, L3 缓存和内存带宽的影响。多级缓存L1, L2, L3可以减少访问主存储器的次数从而降低访问时延。较高的缓存命中率会显著减少时延。内存带宽中高内存带宽支持更快的数据传输减少访问时延。写回时延Write-back Time写回时延是指执行完指令后将结果写回寄存器或存储器的时间。这一过程也受缓存的影响。CPU 使用写回策略时数据在更高级别的缓存中更新而不是立即写入主存储器从而减少写回时延而且在多处理器系统中缓存一致性协议确保各处理器的缓存一致性这也会影响写回操作的时延。影响计算时延因素CPU 时钟频率Clock Frequency时钟频率越高CPU 处理指令的速度越快从而减少计算时延。然而增加时钟频率会增加功耗和发热需要有效的散热机制。流水线技术Pipelining流水线技术将指令执行分为多个阶段每个阶段可以并行处理不同的指令从而提高指令吞吐量降低时延。但流水线的深度和效率对时延有直接影响。并行处理Parallel Processing多核处理器和超线程技术允许多个指令同时执行显著降低计算时延。并行处理的效率依赖于任务的可并行性。缓存命中率Cache Hit Rate 高缓存命中率可以显著减少存储器访问时延提高整体性能。缓存失效Cache Miss会导致较高的存储器访问时延。内存带宽Memory Bandwidth高内存带宽可以减少数据传输瓶颈降低存储器访问时延提升计算性能。对于时延的产生首先的因素就是CPU和内存之间的距离图中显示了 CPU 和 DRAM 之间存在一定的物理距离。电信号在 50 毫米的距离上传播的延迟约为 0.833 纳秒电信号在 100 毫米的距离上传播的延迟约为 1.667 纳秒计算速度由多个因素决定包括内存时延、缓存命中率、计算操作效率和数据写回速度。在图中决定性因素是内存时延Memory Latency。内存时延是指从主存储器DRAM读取数据到缓存的固有延迟。由于主存储器的速度远低于缓存和 CPU 寄存器这一过程通常是最耗时的部分。后记为什么讲NPU前要说下CPU的基础因为NPU说到底没有本质的创新只是把CPU的一部分技术给扩大了具体就是多核定制运算单元增大寄存器SRAM一切只是为了更加快速并行的运算就连配套的编译器也是从通用编译器里面阉割衍生出来的这就是计算机体系结构的魅力。以前为什么计算机体系结构发展的慢首先就是x86这种闭源一家独大只能他自己卖芯片自己造定制芯片技术垄断不可能成本也高市场小也养不起几家。现在技术和生产成本都降低了是个产品都想定制自己的芯片了这东西也慢慢普及了。其实技术老早都有只是成本和大规模商业应用的问题。公众号“那路谈OS与SoC嵌入式软件”欢迎关注个人文章汇总https://thatway1989.github.io