例如

/*
* This C-like algorithm is implemented in
* hardware as a single, atomic CAS instruction.
*/
int
CAS(int* ptr, int old, int new)
{
    int tmp = *ptr;
    if (*ptr == old)
        *ptr = new;
    return tmp;
}

这显然类似于一种编程语言,所以当他们说它是用硬件实现的时候,他们是说这是硬件使用的算法,他们只是用C语法来表达它吗?
什么叫“指示”?这是否意味着它有自己的操作代码来指示CPU做什么?

最佳答案

1)没错他们使用C语法来解释硬件操作的结果。他们进一步声明它作为一个单一的原子操作,这意味着它不能被另一个线程部分中断。
2)我没有语句的上下文,但这是我的假设(有一个原子CAS指令,带有一个操作码,这是在描述的)。

关于c - 当类似程序的东西“用硬件实现”是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19761798/

10-16 10:22