如何使用CPUID作为序列化指令? [英] How to use CPUID as a serializing instruction?
本文介绍了如何使用CPUID作为序列化指令?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
CPUID可以用作序列化指令,如此处和
CPUID can be used as a serializing instruction as described here and here. What is the minimal/simplest asm syntax to use it in that way in C++?
// Is that enough?
// What to do with registers and memory?
// Is volatile necessary?
asm volatile("CPUID":::);
推荐答案
您是否没有使用篱笆操作是有原因的吗?如果目标是序列化一段代码,则可以执行类似的操作
Is there a reason you're not using the fence operations? If the goal is to serialize a section of code you can do something like
asm __volatile__ (
" mfence \n"
" lfence \n"
);
Your code
asm __volatile__ (
" mfence \n"
" lfence \n"
);
这篇关于如何使用CPUID作为序列化指令?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文