当类似于程序的东西是“在硬件中实现”时,它意味着什么?

时间:2013-11-04 04:48:48

标签: c assembly

例如

/*
* 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;
} 
  1. 这显然类似于编程语言,所以当他们说它是用硬件实现时,他们是说这是硬件使用的算法,他们只是用C语法来表达它?

  2. “指令”是什么意思?这是否意味着它有自己的操作码来指示CPU做什么?

2 个答案:

答案 0 :(得分:4)

1)完全正确。他们使用C语法来解释硬件操作的结果。他们进一步声明它充当单个原子操作,这意味着它不能被另一个线程中途中断。

2)我没有语句的上下文,但这是我的假设(有一个原子CAS指令,带有操作码,这是描述)。

答案 1 :(得分:1)

看起来你用第二点回答了自己的问题。如果某些东西在硬件中实现,通常意味着有一条指令(即使那条指令实际上是一系列指令包装成一条指令)。这意味着它应该拥有自己的操作码。