📜  基于通用寄存器的CPU组织介绍

📅  最后修改于: 2021-06-28 16:52:13             🧑  作者: Mango

当我们在CPU组织中使用多个通用寄存器而不是单个累加器寄存器时,这种类型的组织称为基于通用寄存器的CPU组织。在这种类型的组织中,计算机以其指令格式使用两个或三个地址字段。每个地址字段可以指定通用寄存器或存储字。如果许多CPU寄存器可用于频繁使用的变量和中间结果,则我们可以在很多时候避免使用内存引用,从而大大提高了程序执行速度,并减小了程序大小。

例如:

MULT R1, R2, R3 

这是用汇编语言编写的算术乘法指令。它使用三个地址字段R1,R2和R3。该指令的含义是:

R1 <-- R2 * R3 

也可以仅使用以下两个地址字段来编写此指令:

MULT R1, R2 

在该指令中,目标寄存器与源寄存器之一相同。这意味着操作

R1 <-- R1 * R2 

大量寄存器的使用导致程序简短,指令有限。

基于通用寄存器的CPU组织的一些示例是IBM 360和PDP-11

基于通用寄存器的CPU组织的优势–

  • 由于此组织中使用了大量寄存器,因此CPU的效率得以提高。
  • 由于指令以紧凑的方式编写,因此用于存储程序的内存空间更少。

基于通用寄存器的CPU组织的缺点–

  • 应注意避免不必要地使用寄存器。因此,编译器在这方面需要更加智能。
  • 由于使用了大量的寄存器,因此在该组织中需要额外的成本。

通用寄存器CPU的组织有两种类型:

  1. 寄存器内存参考架构(具有较少寄存器的CPU)
    在这种组织中,总是在寄存器中需要源1,源2可以存在于寄存器中或内存中。这里有两种地址指令格式是兼容的指令格式。
  2. 寄存器-寄存器参考架构(具有更多寄存器的CPU)
    在这种组织中,ALU操作仅在寄存器数据上执行。因此,在寄存器中需要操作数。运算后的结果也存入寄存器。这里的三种地址指令格式是兼容的指令格式。