Tema 3: Diseño de Repertorio de Instrucciones |
2.- Calcificación de las Arquitecturas a Nivel de Lenguaje Máquina
Tipo de Almacenamiento Interno de la CPU:
- Pila ( Push A; Push B; Add; Pop C)
- Acumulador ( Load A; Add B; Store C)
- Reg Propósito General ( Load R1,A; Load R2,B; Add R1,R2; Store C,R1 )
3.- Almacenamiento de Operandos en Memoria
(Máquina Registros Propósito General)
Función: Calcula valores de expresiones
Contención de Variables: Reducción Tráfico de Mem y Mejora Densidad Código
Reg Propósito General: Naturaleza de los Oper en una Inst Aritmetico-Logica. 2 Fuentes y 1 Destino. Nº Oper Dir en Mem [0-3]
* Reg - Reg -> Inst Long Fija
* Reg - Mem -> Datos Accedidas sin necesidad de carga
* Mem - Mem -> Mas compacta. No Reg Temporales
4.- Direccionamiento de Memoria
Independientemente de la Arquitectura, se debe definir las Dir de Mem y su Especificación.
Byte ( 8 bits) Orden de bytes -> Lyttle Endian Posición menos significativa
Media Palabra (16 bits) -> Big Endian Posición mas significativa
Palabra (32 bits)
Doble Palabra (64 bits) Acceso a los Obj mayores de 1 b deben están alineados
Modos de Direccionamiento:
Especifican una cte, Reg o Pos. Mem Dependen del Contador de Prog (Relativos
al PC)
* Ortogonal: Uso de todos los Modos de Dir en todas las Inst.
- Registro | R3 | |
- Inmediato | #3 | Rango de Valores Inmediatos afecta a la long de la Inst |
- Desplazamiento | 100(R1) | [100+R1] Rango Desp. afecta a la long de la Inst |
- Indirecto | (R1) | M[R1] |
- Indexado | (R1+R2) | M[R1+R2] |
- Absoluto | (1001) | M[1001] |
- Diferido de Mem | @(R3) => | M[M[R3]] |
- Autoincremento | (R2)+ | Postincremento |
- Autodecremento | -(R2) | Predecremento |
- Indice | 100(R2)[R3] => | M[100+R2+R3·d] |
Codificación de los Modos de Dir
1.- Nº Reg y Modos Dir Alto
2.- Impacto Tamaño Campos en el tamaño medio de Inst
3.- Long. Inst. fáciles de manejar (bytes)
5.- Operaciones del Repertorio de Instrucciones
Instrucciones para el Flujo de Control
- Saltos Condicionales: Dependen de si se cumple la condición
# Relativos al PC
# Independientes de Posición- Bifurcaciones: Saltos Efectivos
- Llamadas a Procedimientos: Transferir Control (Guarda el Estado)
# Guarda-Llamador: Guarda los Reg que quiere Preservar
# Guarda-Llamado: Guarda los Reg a utilizar- Retornos de Procedimientos
6.- Tipo y Tamaño de los Operandos
Representación a Co2
Punto Flotante IEEE
Op Caracteres - Comp - Desp
7.- Papel de los Lenguajes de Alto Nivel y los Compiladores
Problemas de Ordenación de Fase: Elegir que llamada expandir en linea antes de saber tamaño exacto.
Eliminación Global de Subexpresiones Comunes
Grafo de Interferencias
Optimizaciones:
Ubicación Datos:
- Pila
- Área Global Datos
- Montículo
Propiedades Repertorio Instrucciones: