16949体系认证是什么(什么是XPU?)

现在经常会有关于一种新架构的公告,它是由三个字母组成的首字母缩写——TPU, IPU,NPU等。但它们真正的区别是什么呢?是否真的有那么多独特的处理器架构?2018年,John L.Hennessy和David A. Patterson发表了图灵讲座,题为“计算机架构的新兴黄金时代”。ArterisIP的研究员和系统架构师Michael Frank表示:“从CPU的意义上来说,现在大多数所谓的CPU都不是真正的处理器。它们更像是GPU,是特殊工作负载的加速器,而且具有多样性。”处理器的本质可以归结为三方面。Xilinx市场总监Manuel Uhm说:“最终还是会回到指令集架构(ISA,定义了事电信大流量卡务类型);然后是I/O和内存,它们支持ISA和它试图实现的功能。未来将非常有趣,因为我们将看到比过去二三十年更多的创新和改变。”许多新的架构并不是单处理器。Cadence技术和战略营销总监Pierre-Xavier Thomas表示:“我们看到的是不同类型的处理器或可编程引擎的组合,它们存在于同一个SoC或系统中。软件任务被分派到不同的硬件或可编程引擎中。所有处理器可以共享一个公共的API,但是执行域各不相同。”事实上,命名在很大程度上是为了营销。Imperas Software首席执行官Simon Davidmann表示:“使用这些缩写有两种目的。一个是解释处理器的架构,比如SIMD(单指令电信大流量卡多数据);另一个定义所寻址的应用程序段。因此,这些缩写既可以定义处理器架构,也可以定义一个像谷歌TPU (Tensor Processing Unit)这样的品牌名称,它们是异构或同构架构的简称,而不是一个单一的处理器。”历史简要40年前,情况要简单得多。虽然CPU有很多变种,但基本上都是冯·诺伊曼架构、图灵完整的处理器。每个指令集由不同指令组成,使得它们对于某些特定任务更加有效。对于复杂指令集(CISC)与简化指令集(RISC)的相对优点也进行过很多讨论。RISC-V的出现引起了人们对ISA的广泛关注。Uhm表示:“人们希望了解ISA,因为ISA定义了处理器对已定义任务的优化程度。通过ISA电信大流量卡可以计算周期。举个例子,如果一个ISA有一个本地指令并以1GHz频率运行,那么就可以将其与另一个处理器ISA进行比较,后者相同的功能可能需要两个指令,但运行频率为1.5GHz。哪一个能让性能最优?我们可以对重要功能进行计算并给出答案。”CPU存在于多种系统中。微控制器单元(MCU)就是将CPU、IO或内存放入同一个系统中。后来调制解调器开始盛行,随之出现了数字信号处理器(DSP)。DSP的不同之处在于使用了哈佛架构,把指令和数据总线分开。其中一些DSP还实现了SIMD架构,使数据处理更加有效。指令和数据分离是为了提高吞吐率,尽管它限制了一些边缘编程,如自编写程序。Uhm表示:“通常情况下,瓶颈电信大流量卡不是计算,而是I/O或内存。业界从提高计算能力转变为确保有足够的数据来保持计算能力,进而保证性能。”当单个处理器无法变得更快时,多个处理器被连接在一起,它们之间通常会共享内存,并维持单个处理器和处理器集群的概念,这样可以保持图灵完整性。接下来的主要发展是图形处理单元(GPU)。GPU打破了传统模式,因为每个处理元素都有自己的内存,无法在处理器之外寻址。因为内存容量有限,GPU不能执行任意处理任务,只能执行那些适配特定内存空间的任务。Uhm指出:“对于某些功能,GPU是非常得力的处理器,但它们有非常长的流水线。流水线里流动着GPU单元处理数据,如果不得不清空流水线,代价会很大。系统存在大量的延迟电信大流量卡和不确定性。”虽然现在定义了许多其他加速器,但GPU(以及后来的通用GPU ,简称GPGPU)定义了一种编程范式和软件堆栈。Imperas的Davidmann说:“这些年来,某些工作负载已经变得专业化了。有用于顺序程序的CPU,还有专注于屏幕上数据操作的GPU,GPU将我们引入一个高度并行的世界。”除GPU外,NoC也是一种颠覆过去的新架构。以前处理器阵列常通过内存或固定的网络拓扑连接,如网格或环形。最近出现了集成片上网络(NoC),它使分布式异构处理器能够以更灵活的方式通信。未来也可能在不使用内存的情况下实现通信。Arteris公司Frank表示:“目前,NoC只携带数据。未来,NoC可以扩电信大流量卡展到加速器之间不局限于数据的通信,可以发送命令、发送通知等。加速器阵列的通信需求可能与CPU或标准SoC的通信需求不同。但是NoC并不局限于某种应用,用户可以通过支持加速器的特殊通信需求来优化和提高性能。”实现架构处理器之间的区别之一是针对特定的操作环境进行优化。例如,软件可以在云中运行,也可以在微型物联网设备上执行。两者实现架构完全不同,并在性能、功耗、成本等方面表现出差异。Cadence公司Thomas说:“一些应用本来是针对云计算的,但现在正在被推向终端。推动这种转变的是延迟或功耗方面的需求,转变后将需要不同类型的架构。”ML增加了新需求。Thomas补充道:“当使用神经网络和机器学习构电信大流量卡建智能系统时,需要使用软件框架和通用软件栈编写新的网络并将其映射到硬件上。从PPA的角度来看,可以根据硬件调整软件应用程序。这推动了在硬件层解决不同类型处理的需求。”需求由应用程序定义。Frank表示:“有一家公司发明了一种用于图形操作的处理器,他们优化和加速了如何跟踪图形,并对其操作(如图形的重新排序等)。矩阵乘法也可以加速机器学习。对于每种架构来说,内存访问都是一个重要问题。因为构建一个加速器时,最重要的目标是让它保持忙碌。我们必须将尽可能多的数据传递给ALU,使其产生我们需要的结果。”这些应用程序有许多共同之处。Davidmann表示:“它们都有本地内存,在芯片上有一个网络来实现通信,每电信大流量卡个执行软件算法的处理器都在处理一小块数据,所有任务由运行在更传统CPU上的操作系统调度。”很多情况下无法用一种单一加速器去实现一个应用场景。Frank指出:“如基因组测序需要一些特定的处理,我们必须为流水线构建一套由不同种类加速器组成的完整加速器。CPU成为执行流的监护人,用于构建事务、进行DMA,并提供决策。理解和分析算法,并定义如何优化算法处理是一个完整的架构任务。”整个处理过程需要划分。Uhm说:“没有一种处理器能够对每个任务进行优化——FPGA、CPU、GPU、DSP都不行。我们创造了一系列包含所有处理器的设备,但客户端的困难在于他们必须确定整个系统如何用处理器、可编程逻辑、人工智能引电信大流量卡擎等来实现。每个人都想要个自动工具,一个可以决定把任务放到CPU、FPGA或GPU上的工具。这种工具现在还不存在。”尽管如此,CPU还是会扮演一定角色。Frank表示:“CPU需要执行程序的不规则部分,因为它具有一般可编程性。对于专门的数据结构或数学操作,CPU实现起来效果不甚理想,因为它是一种通用处理器,不会针对任何事务进行优化。”抽象层的变化在过去,软硬件边界是由ISA定义的,并且内存是连续可寻址的。当多个处理器存在时,它们通常具有内存一致性。Frank表示:“一致性相当于一种契约,保证各个处理器获得的数据是最新的。但在一个数据流引擎中,一致性就没那么重要了,因为我们是把边缘上的数据直接从电信大流量卡一个加速器传到另一个加速器。如果划分数据集,一致性就会成为阻碍,因为它会花费额外的时钟周期,用于检查数据状态同时提供数据更新信息。”还需要更高层次的抽象。Thomas表示:“有一些框架可以将已知的网络编译到目标硬件上。在软件层面,我们有一组低级内核(或API),它们将在软件堆栈中使用,最终应用到神经网络的映射器上。在硬件层,针对产品功能和细节,可以用不同类型的硬件来实现。对于相同功能,也可能因为不同的PPA权衡而采用不同硬件来实现。”这给编译器带来了巨大压力。Frank指出:“主要问题是未来如何设计加速器? 像第一代GPU那样把引擎串在一起?或者建造拥有各自指令集的小型可编程引擎?如果这样必须电信大流量卡分别对这些引擎进行编程,用数据流连接起来以执行任务。一个处理器拥有总指令集的某个子集,另一个处理器拥有不同子集,它们将共享某些重叠部分来实现控制流。”结论处理器的架构40年来没有改变,改变的是芯片架构。现在一个芯片会包含大量异构处理器,这些处理器会针对特定应用程序任务优化内存和通信方式。每个芯片会做出各自不同的选择:关于处理器的功能和优化目的、所需的数据吞吐量、数据流等。每个硬件供应商都想将自己的芯片与其他厂商区分开来,通过品牌宣传要比谈论内部技术细节容易得多。所以他们给芯片起个名字,把它与特定类型的应用程序联系起来。这些三个字母的首字母缩写已经成为应用程序任务的名称,并没有定义一种新的硬件架电信大流量卡构。

原文链接:

https://semiengineering.com/what-is-an-xpu/

免责声明:本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将立即删除内容!本文内容为原作者观点,并不代表本公众号赞同其观点和对其真实性负责。


友情提醒: 请添加客服微信进行免费领取流量卡!
QQ交流群:226333560 站长微信:qgzmt2

原创文章,作者:sunyaqun,如若转载,请注明出处:https://www.dallk.cn/39906.html

(0)
sunyaqunsunyaqun
上一篇 2024年4月7日
下一篇 2024年4月7日

相关推荐

发表回复

登录后才能评论