Peter Hand tiene una gran respuesta. Me gustaría agregar un poco de historia a su pregunta. Y, tenga en cuenta que el 90% de lo que digo ahora es tecnología OBSOLETO. Dicho esto, es útil saber de dónde provienen los sistemas modernos.
//
Pero primero, una vieja broma de FORTRAN para animar las cosas secas:
Entonces, si tenemos un GOTO, ¿por qué no podemos tener un “COMEFROM”?
//
Ahora a los registros:
Existen básicamente tres tipos de registros: contadores; Acumuladores; y calculadoras.
Comenzaremos con los años 50:
Los contadores son lo que dicen que son, cuentan cosas. El mejor ejemplo es un registro oculto que no puede afectar directamente sin instrucciones especiales, incluido el contador P o el contador de posición de ejecución. Este registro contiene la dirección actual o la siguiente para una búsqueda de instrucciones. En una máquina de palabras de 32 bits (solo Word direccionable, como el Ford 102, entonces este registro contendrá la dirección de la instrucción * next * que se ejecutará. En el Ford 102, un programador puede ejecutar dos instrucciones para modificar este contador : SKIP (salta sobre la siguiente instrucción) y JUMP (salta a una nueva dirección de ejecución). De lo contrario, aumenta secuencialmente, una palabra a la vez.
Los acumuladores también son lo que dicen que son, acumulan números. Entonces, si agrega una serie de números, el acumulador dedicado en su sistema simplemente aumenta el valor. Aquí solo se pueden usar cuatro instrucciones generales: SET (establecido en cero u otro número específico); AGREGAR (agregue un número al número actualmente en el acumulador); LEA (lea el contenido del registro). Tenga en cuenta que SUBTRACT fue una función de un SET -1 y luego un ADD para crear un valor negativo, que luego podría usarse como una máscara para el concepto (simulado) SUBTRACT. ¡Sip! Las computadoras en realidad no restan, ¡solo calculan un par de adiciones!
Los titulares de direcciones son exactamente lo que dicen. Tienen una dirección, por ejemplo, de un elemento en una matriz para que el elemento pueda ser recuperado y modificado.
Ahora para los años 60 y 70
Con la creación de IBM S / 360 (como ejemplo) se produjeron algunos cambios. Debido al aumento de la tecnología, el uso de transistores discretos (muy caros) se combinó en chips TTL siempre que fue posible. Como consecuencia, la estructura de los registros cambió. Ahora, con la capacidad ampliada, se produjeron algunos cambios. Principalmente en el aumento de registros de doble uso (o de propósito general). En lugar de tener solo dos registros de 32 bits, como el Ford 102, ¡el S / 360 tenía 16! ¡Y tenía algunos nuevos disponibles, registros FPS!
Luego vinieron las máquinas CDC, como la Cyber 204, y los registros FPS se agruparon para crear registros vectoriales (un vector que tiene 8 registros FPS de 60 bits agrupados). Cray amplió esto con 64 registros FPS de 64 bits.