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

Entradas populares de este blog

Pipelining

Ejercicio lenguaje ensamblador