【发布时间】:2009-10-23 20:18:38
【问题描述】:
如果我写:
a = 0;
b = 0;
c = 0;
d = 0;
e = 0;
f = 0;
我认为(可能是错误的)CPU 会逐行运行,例如:
CPU says:
let me assign a to 0
then let me assign b to 0
then let me assign c to 0
then let me assign d to 0
etc...
我只是想知道是否有一个处理器可以同时更改变量...?
谢谢... 是的
【问题讨论】:
-
你说的是什么语言?
-
除非这是某种异国语言,否则这些不是对任何事物的“调用”。
-
目的是什么?堆叠这些可能会产生一些意想不到的副作用。
-
现代 CPU 是顺序执行指令的设备,一个接一个,读取数据,更改它,然后写回它。 SIMD 操作也是顺序的;区别只是它们的原子数据单元恰好是(比如说)128 位宽,大到足以存储四个浮点数。这种架构被称为冯诺依曼机器,虽然其他设计在理论上是可能的,但没有一个被建造和大量销售。
-
@Crashworks - 实际上,现代 CPU 几乎总是超标量,这意味着它们每个时钟周期可以执行多条指令(主要取决于指令和可用功能单元之间的依赖关系)。