是否有可以同时更改变量的CPU?

Y_Y*_*Y_Y 1 c variables

如果我写:

a = 0;
b = 0;
c = 0;
d = 0;
e = 0;
f = 0;
Run Code Online (Sandbox Code Playgroud)

我认为(也许是错的)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...
Run Code Online (Sandbox Code Playgroud)

我只是想知道是否有一个可以同时改变变量的处理器......?

谢谢...... Y_Y

jpr*_*ete 5

你有什么代码,而不是方法调用.

编辑:响应您编辑的问题...您需要的是矢量处理器(下面将详细讨论).正如我记得的那样,这个想法是你拥有一系列的价值观,并且你同时在所有这些价值上并行地重复执行相同的操作.它们通常用于大型数学/物理,模拟和图形类型的东西(包括PC /控制台3D图形,我认为).

如果我没记错的话,在C中,你可以在一行"代码"上粘贴多个语句,如下所示:

int a, b, c;
a = 1, b = 2, c = 3;
Run Code Online (Sandbox Code Playgroud)

但是,这与写作没有什么不同:

int a, b, c;
a = 1; b = 2; c = 3;
Run Code Online (Sandbox Code Playgroud)

反过来又相同

int a, b, c;
a = 1;
b = 2;
c = 3;
Run Code Online (Sandbox Code Playgroud)

并且所有这些都在编译器中转换为相同的东西.因此,虽然其中一个只使用一个语法"语句",并且其中两个写在一行上,但除语法外,它们都是相同的.

有些语言只需调用一种正常的语言基本元素就可以生成多个值; 例如,在Lisp中,您可以使用maphash在哈希表的每个元素上运行相同的函数,如果函数再次写回哈希表,则一行"代码"正在写入许多值.但这是一个毫无意义的措施,因为一行代码正在运行很多东西.

可能更好的例子是某些并行编程模型.矢量处理器旨在允许您同时并行地在(4/8/16/N)个不同数据元素上运行一条指令; 你可以有意义地说它正在做你正在询问的事情,但是你需要学习如何在矢量机器的装配中进行编码.此外,一些并行编程模型假设您有一条并行的代码,它们同时在N个线程中运行,从N个不同的输入数据集开始,并为每个输入数据计算正确的输出.该模型的任何实现都应该能够保证不同的执行在代码中的特定点"聚集",其中所有内容都会同步,并且它们可以读取其他进程的数据并对其进行操作.

所以,呃,是的,这可能是一个非常简单的问题,也可能是一个非常深的问题,这取决于你想要去兔洞的距离.