Las computadoras que utilizan la organización de CPU basada en pilas se basan en una estructura de datos llamada pila . La pila es una lista de palabras de datos. Utiliza el método de acceso Last In First Out (LIFO) , que es el método de acceso más popular en la mayoría de las CPU. Se utiliza un registro para almacenar la dirección del elemento superior de la pila, que se conoce como puntero de pila (SP) . En esta organización, las operaciones de ALU se realizan en datos de pila. Significa que ambos operandos siempre se requieren en la pila. Después de la manipulación, el resultado se coloca en la pila.
Las dos operaciones principales que se realizan en los operadores de la pila son Push y Pop . Estas dos operaciones se realizan desde un solo extremo.
1. Empuje:
esta operación da como resultado la inserción de un operando en la parte superior de la pila y disminuye el registro del puntero de la pila. El formato de la instrucción PUSH es:
PUSH
Inserta la palabra de datos en una dirección especificada en la parte superior de la pila. Se puede implementar como:
//decrement SP by 1 SP <-- SP - 1 //store the content of specified memory address //into SP; i.e, at top of stack SP <-- (memory address)
2. Pop:
esta operación da como resultado la eliminación de un operando de la parte superior de la pila y el aumento del registro del puntero de la pila. El formato de la instrucción POP es:
POP
Elimina la palabra de datos en la parte superior de la pila a la dirección especificada. Se puede implementar como:
//transfer the content of SP (i.e, at top most data) //into specified memory location (memory address) <-- SP //increment SP by 1 SP <-- SP + 1
La instrucción de tipo de operación no necesita el campo de dirección en esta organización de CPU. Esto se debe a que la operación se realiza en los dos operandos que se encuentran en la parte superior de la pila. Por ejemplo:
SUB
Esta instrucción contiene el código de operación solo sin campo de dirección. Extrae los dos datos superiores de la pila, resta los datos y empuja el resultado a la pila en la parte superior.
PDP-11, Intel 8085 y HP 3000 son algunos ejemplos de computadoras organizadas en pila.
Las ventajas de la organización de la CPU basada en pilas:
- Cálculo eficiente de expresiones aritméticas complejas.
- La ejecución de instrucciones es rápida porque los datos de operandos se almacenan en ubicaciones de memoria consecutivas.
- La duración de la instrucción es corta ya que no tienen un campo de dirección.
Las desventajas de la organización de CPU basada en Stack:
- El tamaño del programa aumenta.
Nota: la organización de la CPU basada en pilas utiliza instrucciones de dirección cero.
Publicación traducida automáticamente
Artículo escrito por SUDIPTADANDAPAT y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA