0

每个处理核心都可以拥有自己的缓存。缓存是通过并通读。如果两个线程在不同的内核上运行并且通过信号同步,那么在读取内存位置缓存时是否具有该位置的不同版本,或者它们以某种方式透明地由处理器同步?我对x86和RISC感兴趣。核心间缓存同步

+1

信号量不是硬件功能,在不同的语言中执行方式不同。你的意思是什么语言和图书馆? –

+0

@AlexeiKaigorodov我告诉信号量只是表示*代码行的执行时间*是正确同步的。我真正感兴趣的是缓存是否为程序员透明地同步。如果不是是否有一些汇编命令来同步它,并且如果典型语言说C++和线程库(Windows或Linux)使用这些命令来同步例如当调用信号量函数。 – Trismegistos

回答

0

您可能使用的每个SMP机器都具有在硬件中实现的缓存一致性。