历史上的今天
返回首页

历史上的今天

今天是:2024年11月12日(星期二)

正在发生

2021年11月12日 | 我们真的需要那么多xPU吗?

2021-11-12 来源:半导体行业观察

近年来,几乎每天都会发布关于新处理器架构的公告,并给出一个三个字母的首字母缩略词——TPU、IPU、NPU。但真正区分它们的是什么?真的有那么多独特的处理器架构,还是发生了其他事情?


2018 年,John L. Hennessy 和 David A. Patterson 发表了题为“计算机架构的新黄金时代”的图灵讲座。他们关注的是 CPU 及其发展方式,但这只是整个方程式的一小部分。Arteris IP研究员兼系统架构师 Michael Frank 表示:“从 CPU 的角度来看,这些xPU中的大多数都不是真正的处理器。” “它们更像是一个 GPU,一个用于特殊工作负载的加速器,而且它们内部有相当多的多样性。机器学习是一类处理器,您可以将它们统称为机器学习加速器,但它们加速的处理部分却多种多样。”

处理器的本质可以归结为三件事。“归根结底,它确实回到了指令集架构 (ISA),”赛灵思芯片营销总监 Manuel Uhm 说。“这定义了你想要做什么。然后你有 I/O 和内存,它们支持 ISA 和它试图完成的任务。未来这将是一个非常有趣的时刻,因为我们将看到比过去两三年多的时间更多的创新和变化。”

许多新架构都不是单处理器。“我们看到的是不同类型的处理器或可编程引擎的组合,它们存在于同一个 SoC 或同一个系统中,” Cadence技术和战略营销集团总监 Pierre-Xavier Thomas 说。“将软件任务分派到不同的硬件或灵活的可编程引擎。所有处理器可能共享一个公共 API,但执行域将有所不同。在这里,您确实会看到具有不同类型特征的不同类型的处理。”

现实情况是,大部分命名都是营销。

“关键是人们将这些名称和首字母缩略词用于两个不同的目的,” Imperas Software 的首席执行官 Simon Davidmann 说。“一个用于解释处理器的架构,例如 SIMD(单指令多数据)。另一个定义了它正在寻址的应用程序段。所以它可以定义处理器架构,或者像张量处理单元(TPU)这样的品牌名称。他们正在为他们的异构或同构架构命名,而不是单个处理器。”

一点历史


40 年前,事情要简单得多。当时有中央处理器(CPU), 也有很多它的变体,但它们基本上都是冯诺依曼架构,图灵完备的处理器。每个都有不同的指令集,使它们在某些任务上更高效,并且有很多关于复杂指令集 (CISC) 与精简指令集 (RISC) 的相对优点的讨论。

RISC-V的出现给ISA带来了很多关注。“人们想要了解 ISA,因为正是 ISA 定义了处理器针对已定义任务的优化程度,”赛灵思的 Uhm 说。“他们可以查看 ISA 并开始计算周期。如果一个 ISA 具有本机指令并以 1 GHz 运行,我可以将其与另一个处理器 ISA 进行比较,后者相同的功能可能需要两条指令,但处理器以 1.5 GHz 运行。哪一个让我走得更远?他们为重要的功能进行数学计算。”

CPU 有多种封装方式,有时将 IO 或内存放在同一个封装中,它们被称为微控制器单元 (MCU)。

当调制解调器变得流行时,数字信号处理器(DSP) 出现了,它们的不同之处在于它们使用了哈佛架构。这将指令总线与数据总线分开。其中一些还实施了 SIMD 架构,使数据处理更加高效。

指令和数据的分离是为了提高吞吐率,尽管它限制了一些可以完成的边缘编程,例如自写程序。“通常,边界条件不是计算,”Uhm 说。“它越来越多地是 I/O 或内存。该行业从提升计算能力转向确保有足够的数据来保持计算能力并保持性能。”

当单个处理器不再变得更快时,他们把多个处理器连接在一起,这些处理器通常共享内存并保持每个处理器和整个处理器集群保持图灵完备的概念。程序的任何部分在哪个核心上执行都无关紧要,因为结果是一样的。

下一个重大发展是图形处理单元(GPU),它的出现打破了常规,因为每个处理元素或pipeline都有自己的内存,无法在处理器外部寻址。因为内存是有限的,这意味着它不能执行任何任意的处理任务,只能执行那些可以放入提供的内存空间的任务。

“对于某些类型的功能,GPU 是非常强大的处理器,但它们的pipeline非常长,”Uhm 指出。“这些pipeline让 GPU 单元不断处理数据,但在某些时候,如果您必须刷新pipeline,那将是一个巨大的打击。系统中内置了大量的延迟和不确定性。”

虽然已经定义了许多其他加速器,但 GPU——以及后来的通用 GPU (GPGPU)——定义了一种编程范式和软件堆栈,使它们比过去的加速器更容易上手。“多年来,某些工作是专门化的,”Imperas 的Davidmann说。“有用于顺序程序的 CPU。有图形处理器,它专注于为屏幕处理数据,并将我们带入了一个高度并行的世界。使用许多小的处理元素来执行任务。现在有机器学习任务。”

还有什么其他的构造规则可以解释所有的新架构?过去,处理器阵列通常通过内存或固定网络拓扑(例如网状或环形)连接。最近出现的是片上网络 (NoC) 的结合,使分布式异构处理器能够以更灵活的方式进行通信。将来,它们还可以在不使用内存的情况下实现通信。

“此时,NoC 只携带数据,”Arteris 的 Frank 说。“未来,NoC 可以扩展到加速器之间的通信超越数据的其他领域。它可以发送命令、发送通知等。加速器阵列的通信需求可能与 CPU 或标准 SoC 等的通信需求不同。但是片上网络并不会将您限制在一个子集上。您可以通过支持加速器的特殊通信需求来优化和提高性能。”

实现架构


处理器区分的一种方式是针对特定操作环境进行优化。例如,软件可能在云中运行,但您也可以在微型物联网设备上执行相同的软件。实现架构将大不相同,并在性能、功耗、成本或在极端条件下运行的能力方面实现不同的运行点。

“一些应用程序是针对云计算的,现在我们正在让它们更接近边缘,”Cadence 的 Thomas 说。“这可能是因为延迟要求,或者能量或功率耗散,这将需要不同类型的架构。您可能希望拥有完全相同的软件堆栈,以便能够在两个位置运行。云需要提供灵活性,因为它将接收不同类型的应用程序,并且必须能够聚合大量用户。这要求服务器上的硬件具有特定于应用程序的能力,但一种尺寸并不适合所有人。”

ML增加了自己的要求。“在使用神经网络和机器学习构建智能系统时,您需要使用软件框架和通用软件堆栈对新网络进行编程并将其映射到硬件,”Thomas 补充道。“然后,您可以从PPA 的角度使软件应用程序适应正确的硬件。这推动了对不同类型的处理和处理器的需求,以便能够在硬件层满足这些需求。”

这些需求由应用定义。“一家公司已经创建了一个用于图形操作的处理器,” Frank说。“他们优化和加速如何跟踪图形,并执行诸如重新排序图形之类的操作。还有其他一些主要加速机器学习的蛮力部分(brute force ),即矩阵乘法。内存访问对于每个架构来说都是一个特殊的问题,因为当你构建加速器时,最重要的目标是让它保持忙碌。你必须将尽可能多的数据传送到 ALU,因为它可以消费和生产。”

许多这些应用有许多共同点。“它们都有一些本地内存,它们有一个片上网络来进行通信,每个执行软件算法的处理器都在处理一小块数据,”Davidmann说。“这些工作由运行在更传统 CPU 上的操作系统调度。”

硬件设计人员的棘手之处在于预测它将被要求执行哪些任务。“尽管您将在某些层中进行类似类型的操作,但人们正在关注层中的差异化,”Thomas 说。“为了能够处理神经网络,需要几种类型的处理能力。这意味着您需要能够对神经网络的一部分进行某种方式的处理,然后可能需要另一种类型的操作来处理另一层。数据移动和数据量也在逐层变化。”

这种差异化可以超越数据移动。“对于基因组测序,您需要进行某些处理,”Frank说。“但是你不能用单一类型的加速器来加速所有东西。您必须为不同的pipeline构建一整套不同的加速器。CPU 成为管理执行流程的守护者。它进行设置,执行 DMA,提供两者之间的决策过程。理解和分析算法并定义您希望如何优化它们的处理是一项完整的架构任务。”

该过程的一部分需要分区。“没有一种处理器类型可以针对每个处理器任务进行优化—— FPGA不行,CPU不行,GPU不行,DSP也必行,”Uhm 说。“我们创建了一系列包含所有这些的设备,但客户方面的困难部分是他们必须提供智能,以确定整个系统的哪些部分将针对处理器或可编程逻辑,或在 AI 引擎。每个人都想要那个自动神奇的工具,一个可以立即决定把它放在 CPU 上,把它放在 FPGA 上,把它放在 GPU 上的工具。那个工具今天不存在。”

尽管如此,CPU 总会发挥作用。“需要 CPU 来执行程序的不规则部分,”Frank说。“CPU 的通用可编程性有其优势。如果您有专门的数据结构或数学运算,它就不能很好地工作。CPU 是一个通用处理器,它没有针对任何东西进行优化。它什么都不擅长。”

改变“抽象”


过去,硬件/软件边界由 ISA 定义,并且该内存是连续可寻址的。当存在多个处理器时,它们通常是内存一致的。

“一致性是一种契约,”Frank说。“这种一致性非常重要,不会消失。但是您可以想象,在数据流引擎中,一致性并不那么重要,因为您将在边缘移动的数据直接从一个加速器传送到另一个加速器。如果您对数据集进行分区,则一致性会成为障碍,因为它会花费您额外的周期。你必须查资料。您必须提供更新信息。”

这需要不同的内存架构。“你必须考虑内存结构,因为你只有这么多紧密耦合的内存,”Uhm 说。“你可以访问相邻的内存,但你很快就会耗尽相邻的内存,无法及时访问。这必须在设计中加以理解。随着工具的成熟,工具将开始了解更多内容。今天,它是由人类智能完成的,能够理解架构并应用它。”

还需要更高级别的抽象( abstraction)。“有些框架可以将已知网络映射或编译到目标硬件上,”Thomas 说。“您有一组低级内核或 API,它们将在软件堆栈中使用,然后最终由神经网络的映射器使用。在下面,您可能拥有不同类型的硬件,具体取决于您想要实现的目标,取决于您的产品详细信息。它实现了相同的功能,但不是使用相同的硬件,也不是相同的 PPA 权衡。”

这给那些编译器带来了很大的压力。“主要的问题是你未来如何对加速器进行编程?” Frank问道。“您是否实现了像第一代 GPU 那样串在一起的硬连线引擎?或者您是否构建了具有自己指令集的小型可编程引擎?现在你必须单独对这些东西进行编程,并将这些引擎中的每一个与数据流连接起来,执行任务。一个处理器拥有整个指令集的某个子集,另一个处理器拥有一个不同的子集,它们都将共享控制流的一些重叠部分。您可能有一些加速能力略有不同的产品。编译器或了解它的库会相应地进行映射。”

总结


处理器的架构没有改变。他们仍然遵守过去 40 年来一直存在的相同选择。正在改变的是芯片的构造方式。它们现在包含大量异构处理器,这些处理器具有针对应用任务子集优化的内存和通信。每个芯片都对处理器功能及其优化目的、所需的数据吞吐量以及通常会看到的数据流做出了不同的选择。

每个硬件供应商都希望将自己的芯片与其他芯片区分开来,但是通过品牌推广比谈论内部技术细节要容易得多。所以他们给它起了个名字,称它为第一个、最快的、最大的,并将它与特定类型的应用程序问题联系起来。这三个字母的首字母缩写词已成为应用任务名称,但它们并未定义硬件架构。


推荐阅读

史海拾趣

CML Microcircuits公司的发展小趣事

随着技术的不断进步,CML Microcircuits公司始终保持对创新的追求。在模拟、数字和混合信号集成电路领域,CML不断推出具有创新性的产品,满足市场的多样化需求。通过与全球顶级客户的紧密合作,CML深入了解市场趋势,并将其转化为具有竞争力的产品。这些努力使CML在行业中逐渐建立了技术创新的引领者地位。

富之光(Fujicon)公司的发展小趣事

富致科技的研发团队最早可以追溯到1997年,当时一群在电子、材料、化工领域拥有深厚背景的专家聚集在一起,共同探索高分子正温度系数PPTC技术的可能性。随着技术的不断成熟,他们于1999年12月正式成立了富致科技股份有限公司,将研发成果转化为实际产品,并迅速在台湾新北市五股工业园区建立了生产基地。这一初期的技术积累和团队组建,为富致科技后续的发展奠定了坚实的基础。

CONEC公司的发展小趣事

1978年,CONEC在利普施塔特创立,标志着公司电子业务的起点。创立初期,公司可能面临着资金、技术和市场等多方面的挑战。然而,凭借着对电子行业的深刻理解和坚定的创业决心,CONEC逐渐在市场中站稳脚跟。1980年,DIN EN 60603系列产品的成功上线生产,为公司赢得了初步的声誉和市场认可,为后续的发展奠定了坚实基础。

德旭电子(DEXU)公司的发展小趣事

在德旭电子的发展历程中,供应链管理和成本控制一直是公司关注的重点。为了降低生产成本和提高产品质量,公司不断优化供应链管理流程和技术手段。

德旭电子与多家优质供应商建立了长期稳定的合作关系,并通过引入先进的供应链管理软件和系统实现了供应链的数字化和信息化管理。这些措施有效提高了供应链的响应速度和灵活性,降低了库存和运营成本。

在成本控制方面,德旭电子注重精细化管理和持续改进。公司通过优化生产流程、提高生产效率、降低能耗和原材料成本等措施不断降低生产成本。同时,公司还建立了完善的成本管理体系和考核机制确保成本控制工作的有效实施。

Acme Electric Corporation公司的发展小趣事

随着产品质量的不断提升和市场份额的逐步扩大,德旭电子开始注重品牌建设和市场拓展。公司积极参加各类行业展会和交流活动,展示自身实力和产品优势。同时,德旭电子还加大了广告宣传力度,通过线上线下相结合的方式提升品牌知名度和美誉度。

在市场拓展方面,德旭电子不仅深耕国内市场,还积极开拓国际市场。公司凭借优质的产品和专业的服务赢得了越来越多客户的信赖和支持。国际市场的拓展为德旭电子的持续发展注入了新的动力。

Armel Electronics Inc公司的发展小趣事

Armel Electronics Inc公司的创立,源于几位电子工程领域的先驱者对于技术创新和市场前景的敏锐洞察。在创立初期,公司面临资金紧张、市场竞争激烈等多重挑战。然而,凭借对技术的热爱和对市场趋势的准确把握,Armel团队成功研发出了一系列具有竞争力的电子产品,奠定了公司的市场地位。

问答坊 | AI 解惑

单片机电源及基本部分的安装调试

v 单片机电源及基本部分的安装调试…

查看全部问答>

人员定位系统基站

系统简介   本系统采用国际标准ZigBee无线通讯技术, 集人员定位,考勤管理和安全管理于一体。系统能够及时、准确地将管理区域内各个区域人员情况动态反映到管理中心,使管理人员能够随时掌握管理区域内人员的总数及分布情况,以便于进行更 ...…

查看全部问答>

485通信问题

单片机大范围通信一般采用485协议格式,查询了485的IC 65HVN3082资料,里面“1/8负载--总线最大挂256个节点...\"1/8负载是什么意思…

查看全部问答>

大侠们

#pragma interrupt_handler int0_isr:2 中断0  上升沿有效 void int0_isr(void) {CLI();TCCR1B=0x00;//关断计数器 a=TCNT1H;  记录下电平的时间 即计数次数。一个数组记录高八位  一个数组记录低八位。 b=TCNT1 ...…

查看全部问答>

3g卡或者GPRS 处于online data 模式下 收不到新短信提示,怎么处理 的??

请教个问题:3g卡或者GPRS 处于online data 模式下 收不到新短信提示,怎么处理 的?? 如何在拨上号后仍然可以正常接收到新短信提示?几种cnmi的设置都试过,不行,只要拨上号后,就无法收到短信到达提示。 …

查看全部问答>

微软:amd APU可以充分释放ie九硬件加速

本帖最后由 jameswangsynnex 于 2015-3-3 20:04 编辑 AMD今天终于在CES 2011上正式发布了筹备多年的Fusion APU融合加速处理器,也宣告了融合时代的正式带来。对于这一技术,微软亦十分欢迎,并且表示,采用AMD Fusion APU的计算机能充分利用IE9的 ...…

查看全部问答>

STM8S中断程序中不能做乘法运算

                                 乘法运算在主程序中正常,也可作为函数在中断中调用。但是直接在中断中就异常,后发现问题出在*2的整数倍以外的运 ...…

查看全部问答>

5V的LCD与430连接问题(T6963)?

在论坛上看了一下,主要有两种连法: 1、通过4245等转换芯片连接,但是要多用一个I/O口。 2、通过电阻连接,430输出高电平为3.3V,高于T6963C的输入高电平门限(VDD-2.2);T6963C输出高电平(5V)时通过电阻分压到430I/O安全电压范围内。 两种方 ...…

查看全部问答>

看了很多启动代码的解释还是不太懂

启动代码里 到底是怎么初始化内存,怎么初始化堆栈的,通过什么实现,实现的结果是什么?看了很多启动代码的解释还是不太懂…

查看全部问答>