您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
alu是什么-ALU的中文
处理器,架构,不同alu是什么-ALU的中文
发布时间:2020-12-06加入收藏来源:互联网点击:7
当中可能涉及到分区执行的问题。没有任何一种处理器可以针对每种任务进行优化——FPGA、CPU、GPU、DSP都做不到。芯片设计商可以创建一系列包含所有这些处理器的芯片,但客户应用端的难点在于,他们要自己确定系统的各个部分要在哪些处理器上运行,是在 CPU 上?在 FPGA 上?还是在 GPU 上?
但无论如何,里面总是需要有 CPU 的,CPU 要负责执行程序的不规则部分,CPU 的通用有自己的优势。但反过来,如果是专门的数据结构或数学运算,CPU就不行了。毕竟 CPU 是通用处理器,它没有针对任何东西进行优化,没有特别擅长的项目。
抽象层的改变
以前,硬件/软件边界由 ISA 定义,并且该内存是连续可寻址的。而涉及到多处理器时,一般内存定义也是也是一致的。但是可以想象,在数据流引擎中,一致并不那么重要,因为数据会从一个加速器直接传到另一个加速器。
Speedster 7t FPGA结构图
如果你对数据集进行分区,那一致会成为障碍,你需要对照和更新数据,并会占用额外的运算周期。所以我们需要,也必须考虑不同的内存结构,毕竟可用的内存就那么点。或许可以访问相邻的内存,但也会很快耗尽,然后无法及时访问。所以必须在设计中加以理解,而且是要在理解架构的情况下去设计它。
我们还需要更高级别的抽象层。有些框架可以将已知网络映射或编译到目标硬件上,例如在一组低级内核或 API,它们将在软件堆栈中使用,并最终由神经网络的映射器使用。在底层,你可能在用不同类型的硬件,这由你想要实现的目标来决定。反正就是用不同的硬件,不同的 PPA ,实现了相同的功能。
而这会给编译器带来很大的压力。主要的问题是你未来要如何对加速器进行编程?你是否搞了个像初代 GPU 那样串在一起的硬连线引擎?或者你是否构建了具有自己指令集的小型可编程引擎?现在你必须单独对这些东西进行编程,并将这些引擎中的每一个都与数据流连接起来,然后执行任务。
一个处理器拥有整个指令集的某个子集,另一个处理器拥有一个不同的子集,它们都将共享控制流的某些重叠部分,编译器得了解它的库并进行映射。
结论Google 的 TPU
其实处理器的架构并没有改变,它们仍然遵守过去 40 年来一直遵循的规则。变的是芯片的构造方式,它们现在包含大量异构处理器,这些芯片根据各自的任务,对内存和通信进行优化。每个芯片都对处理器能、优化目标、所需的数据吞吐量以及数据流做出了不同的选择。
每个硬件供应商都希望将自己的芯片与其他芯片区分开来,品牌推广比谈论内部技术细节要容易得多。厂商给自己的芯片起了“XPU”的名字,并将它与特定类型的应用联系起来,但“XPU”并不是关于某个特定硬件架构的名字。
就像 Google 把自己开发的专用集成电路(ASIC)叫做 TPU(Tensor Processing Unit)张量处理单元/处理器,但实际上 TPU 指代的,并非特定的硬件架构。
本文到此结束,希望对大家有所帮助呢。
上一篇:南京扬子江隧道外地车可以走吗-南京扬子江隧道限外地车吗
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |