Arquitectura del conjunto de instrucciones (ISA)
Arquitectura del conjunto de instrucciones (ISA)
El ISA (Instruction Set Architecture) es la parte del procesador que es visible al programador o al escritor del compilador. El ISA sirve como el limite entre el software y el hardware. Consiste en modos de direccionamiento, instrucciones, tipos de datos nativos,arquitectura de memoria, registros, y gestión de excepciones.
Los tres tipos de ISAs mas comunes son:
(Stack) Pila: Los operandos estan implícitamente encima de la pila.
(Accumulator) Acumulador: Un operando es implícitamente el acumulador.
(GPR) Registro de propósito general: Todos los operandos están explicitamente mencionados y son registros o ubicaciones de memoria.
Ejemplo de los tipos de ISA en las tres arquitecturas:
A = B + C;
Intel 8086 |
No todos los procesadores pueden ser clasificados en estas categorias. El intel 8086 tiene muchas
instrucciones que usan operadores implícitos aunque tiene un set de registro general.
Ventajas y Desventajas de los diferentes tipos.
PILA:
-Ventajas: Instrucciones cortas. Modelo simple de la evaluación de la expresión.
-Desventajas: No se puede acceder aleatoriamente a una pila esto hace que sea dificil
generar codigo eficiente.
ACUMULADOR:
-Ventajas: Instrucciones cortas.
-Desventajas: El acumulador solo es de almacenamiento temporal asi que el trafico de memoria
es la mas alta.
GPR:
-Ventajas: Facilita la generación de código. Los datos pueden almacenarse por largos periodos
en registros.
-Desventajas: Todos los operandos deben de ser nombrados lo que resulta en instrucciones
mas largas.
En la antiguedad los primeros CPUs eran de los dos primeros tipos, pero en los ultimos
15 años todos son procesadores GPR. Las dos mayores razones es que los registros son mas
rapidos que la memoria, entre mas datos pueden almacenarse en el CPU mas rapido será el programa. La otra razón es que los registros son mas fáciles de usar por un compilador.
Comentarios
Publicar un comentario