máquinas basadas en acumulador temprano

3

Wikipedia dice que muchas de las primeras máquinas eran máquinas basadas en acumuladores.
Mi conjetura es que en esas máquinas el acumulador no desempeñó el papel de un registro de aceleración como lo hacen los registros en las arquitecturas de carga y almacenamiento de hoy.

El acumulador tenía principalmente el papel de operando implícito para que las instrucciones pudieran ser más cortas
(un operando de una operación aritmética siempre residió allí y también su resultado se almacenó en el acumulador)

¿Mi conjetura es correcta?

    
pregunta jerry

2 respuestas

6

Creo que depende de la máquina, sus objetivos de diseño y las limitaciones de la tecnología.

La mayoría de las máquinas acumuladoras tradicionales tienen muy pocos registros, y muchas solo tienen un único registro de "propósito general" (para los estándares actuales). En el PDP-8, por ejemplo, hay algunos registros, pero el único al que se puede acceder directamente es el AC. La gran mayoría de las instrucciones (no que "vasto" se aplique a un diseño con ocho instrucciones) operan en el AC. El único otro objeto sobre el que operar es la memoria, por lo que la mayoría de las instrucciones tienen un solo campo (una dirección de 7 bits). La dirección de transferencia de datos está implícita en la instrucción (piense en cargar / almacenar).

Por otro lado, los lenguajes de máquina de muchas máquinas acumuladoras fueron un efecto secundario de la arquitectura del sistema más que a la inversa (que es como lo hacemos hoy, siendo el software el rey). El PDP-8 era una máquina acumuladora porque, bueno, los flip-flops de 12 bits eran un equipo bastante caro a finales de los años 60 y el PDP-8 era una computadora barata.

En cuanto al factor de velocidad: los registros en el procesador fueron casi siempre más rápidos que la memoria, igual que ahora. Pero su costo era mucho más alto de lo que es ahora, los anchos de instrucción eran más pequeños, los secuenciadores y las máquinas de estado eran mucho más simples, por lo que no había muchos registros. A menos que tenga al menos dos de ellos, puede mantener su conjunto de instrucciones muy simple. Y viceversa.

También, con respecto a las primeras computadoras que usan 'acumuladores' en lugar de 'registros': el 'acumulador' proviene de su uso en máquinas de tabulación para denotar registros de totales acumulados. Presumiblemente los operadores habrían estado más cómodos con el término. Los esquemas PDP-8 se refieren a cada flip-flop individual en el sistema como un "registro", pero solo hay un "acumulador" y está marcado como un registro "importante".

    
respondido por el Alexios
2

Cualquier máquina que vaya a realizar una operación de ALU en dos operandos debe tener un medio para llevar ambos operandos a la ALU. Si una máquina permitiera realizar operaciones en combinaciones arbitrarias de operandos de registro, cada registro necesitaría una ruta a ambas entradas ALU. Si, por el contrario, una de las entradas de ALU siempre será el acumulador, una constante determinada por el código de operación, o posiblemente otro registro de retención, los registros que no sean el acumulador solo necesitarán una ruta hacia la otra entrada de ALU (y la el acumulador probablemente no necesitará un camino hacia esa).

    
respondido por el supercat

Lea otras preguntas en las etiquetas