所有指令都使用 ALU 吗?

所有指令都使用 ALU 吗?

在维基百科上关于冯·诺依曼建筑的页面上是这样的图片。有很多类似的图片。(此外,很多关于冯·诺依曼架构的文章都说只有 ALU 执行程序。)有两个箭头从 ALU(I/O)指向另一个,没有从 I/O 到控制单元的箭头。(有些图片上的箭头代表从内存到 ALU 的数据总线)。这让我很困惑。我的理解是 CPU 中的控制单元会获取指令,并使用其资源来执行它。因此,例如当有指令只是将数据从一个位置复制到另一个位置(mov)或指令导致 CPU 将其指令指针设置为给定值(jmp)或 IRQ 时,就不会使用 ALU。我认为冯·诺依曼架构只应用于只执行数学运算的计算机,因此输入和输出都只表示数字,并且输入不能在内存中进行更改(因为它只连接到 ALU)。因此,现代计算机架构仅继承了指令和数据存储在同一内存中,并且 CPU 包含控制单元、一些寄存器和 ALU(这也是基础,现代 CPU 包含的内容不止这些)。我说得对吗?

相关内容