【发布时间】:2016-07-18 06:24:03
【问题描述】:
Neon intinsics 将寄存器的分配留给编译器,所以我们不需要关心它。但是我想知道在多核处理器中(我的处理器是 zynq,有两个 arm-cortex-A9 内核,两个霓虹灯单元),编译器是否知道如何有效地使用所有霓虹灯单元?或者我需要做些什么来确保编译器可以使用所有霓虹灯单元?
我认为在多核处理器中,如果我们可以使用所有的霓虹灯单元,我们可能会获得更好的性能增益。有人知道吗?谢谢!
【问题讨论】:
-
这个问题没有任何意义——NEON 单元仍然是 CPU 内核的一部分。除非您有效地问“我如何编写多线程代码以在两个内核上运行?”,但没有更多细节将属于“过于宽泛”。
-
谢谢!这是我的错误。您的意思是我们使用哪个 NEON 单元取决于我们使用哪个 CPU 内核?
-
是的,无论它与流水线的其余部分的集成程度如何(从 Cortex-A8 上的“不太”到当前某些内核上的“不可分割”),它仍然是CPU 内核作为整数 ALU 或任何其他块。我希望你能看到问“或者我需要做些什么来确保编译器可以使用所有寄存器文件/指令解码器/加载存储单元?”的愚蠢行为? - FPU 没有什么不同,无论是仅 VFP 还是完整的 NEON 矢量管道。
标签: neon