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