Multithreading ARM核心一致滴答计数器

Multithreading ARM核心一致滴答计数器,multithreading,arm,Multithreading,Arm,我想知道ARM芯片上是否有任何计数器可以提供精确的滴答声计数,但这在所有内核上都是同步的。也就是说,如果我有一个进程在cpu1和cpu2上运行,并且它们都读取寄存器,我希望能够比较计数器。这必须来自EL0,所以不幸的是systick退出了。PMU是每个内核的,我不知道有什么方法可以同步它们的计数器,所以很遗憾,我也不能使用它们。我还需要非常低的延迟,所以读取几个寄存器将是理想的。回答我自己的问题——看来通用计时器寄存器(cntpct,cntvct)等适合此目的。这些寄存器仍然具有允许用户空间访问

我想知道ARM芯片上是否有任何计数器可以提供精确的滴答声计数,但这在所有内核上都是同步的。也就是说,如果我有一个进程在cpu1和cpu2上运行,并且它们都读取寄存器,我希望能够比较计数器。这必须来自EL0,所以不幸的是systick退出了。PMU是每个内核的,我不知道有什么方法可以同步它们的计数器,所以很遗憾,我也不能使用它们。我还需要非常低的延迟,所以读取几个寄存器将是理想的。

回答我自己的问题——看来通用计时器寄存器(
cntpct
cntvct
)等适合此目的。这些寄存器仍然具有允许用户空间访问的每个核心启用位,但它们都链接到同一个计数器,因此在核心之间是同步的。

回答我自己的问题——看来通用计时器寄存器(
cntpct
cntvct
)等适合于此目的。这些寄存器仍然具有每个核心的启用位,以允许用户空间访问,但它们都链接到同一个计数器,因此在核心之间是同步的