_mm_mwait 如何工作?
pmmintrin.h
中的 _mm_mwait
如何工作? (我的意思不是它的汇编,而是操作以及如何在 NUMA 系统中执行此操作。store
监控仅在基于总线的 SMP 系统上很容易实现总线监听。)
哪些处理器实现它?
它在某些自旋锁中使用吗?
How does _mm_mwait
from pmmintrin.h
work? (I mean not the asm for it, but action and how this action is taken in NUMA systems. The store
monitoring is easy to implement only on bus-based SMP systems with snooping of bus.)
What processors does implement it?
Is it used in some spinlocks?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
每次多核芯片上的 CPU 尝试写入特定的内存地址时,所有其他在其缓存中具有该特定内存地址的 CPU 都必须收到该更改的通知。此通知可用于在现代 CPU 上实现 MWAIT 唤醒,而与它们是否具有单个或单独的内存总线无关。
MWAIT 是 SSE3 的一部分。
这与自旋锁的定义相反——CPU 不忙。
Every time a CPU on a multicore chip tries to write a specific memory address, all other CPUs, which have this particular memory address in their caches, have to be notified of that change. This notification could be used to implement the wakeup from MWAIT on modern CPUs independent of them having a single or separate memory busses.
MWAIT is part of SSE3.
This is contrary to the definition of a spinlock - the CPU is not busy.