VPU支持非常大或可变大小的向量。特别是,向量指令从寄存器(有时称为向量长度寄存器)或存储位置中提取向量中的元素数量。而且,通常支持矢量掩模以选择性地处理矢量的元素。VPU通常具有专用寄存器来保存矢量长度和掩码。例如,请参见Cray矢量说明。这与SIMD指令相反,SIMD指令支持较小的向量或固定大小的向量(并且可能对掩码的支持有限)。
尽管VPU的指令集包括矢量指令,但是这些指令的实现或执行方式可能不会完全并行化,甚至可能类似于标量处理器的方式(一次处理一个元素)。
GPU可能是VPU,也可能不是VPU,具体取决于GPU支持的指令集。另外,VPU可以实现为GPU,但这实际上是实现细节。甲GPU是大集合核(一般每个含有ALU和FPU)和一些特殊单元(用于图形处理)中不的VPU和通用CPU存在。但是,大多数(如果不是全部)真正的GPU都不是VPU,因为它们不支持如此强大的矢量指令。将内核映射到GPU内核是由编译器和GPU设备驱动程序完成的。
维基百科上 VPU的定义规定矢量必须是一维的。从历史上看,情况始终如此。另一方面,GPU似乎具有对多维矢量的内置支持,但这实际上是由编译器而不是体系结构处理的。因此,我认为这不是本质的区别。
FPU和ALU是VPU,CPU和GPU的组件。
| 归档时间: |
|
| 查看次数: |
3812 次 |
| 最近记录: |