1. Agentes para la Evolución
1.1. Nuevos requisitos
1.1.1. inclusión de múltiples unidades funcionales en el núcleo de ejecución
1.2. Cuellos de Botella
1.2.1. (1*) Se creo la cache de instrucciones
1.2.2. (2*) Las instrucciones se ejecutarian en orden dinamico
1.2.3. (3*) Introducción de predictores de derivación
1.3. Ganancia Afortunada
1.3.1. Hacer que un chip ocupe menos espacio en el procesador dio la opción que se agreguen nuevas caracterísitcas o módulos en su procesamiento (punto flotante, instrucción multimedia)
2. La Evolución
2.1. Pipelining (1970)
2.2. Caches mejorados en los procesadores (1986 y 1994)
2.3. Predictores de bifurcaciones en tiempo de ejecución (1990)
2.4. Unidad de punto flotante en chip (Unidad funcional agreda en el año 1980)
2.5. Unidades Funcionales Especializadas (ALU, procesamiento grafico, multimedia, 1990)
2.6. (2*) Procesamiento fuera de orden (entre 1990 y 1995
2.7. Clusters -particiona el núcleo de ejecución en clústeres (1990)
2.8. Multiprocesador de chips (2000)
2.9. Multithreading simultáneo (aparecio 1990 y se implemento en el 2000)
2.10. Núcleos rápidos - núcleo de ejecución a una frecuencia mucho más rápida que el resto del microprocesador (2000 hasta nuestros dias)
3. Marco de referencia
3.1. Compensaciones
3.1.1. Bases de conocimiento
3.2. Niveles de Transformación
3.2.1. ISA, Microarquitectura, Circuitos
3.3. Puntos de Diseño
3.3.1. Caracteristicas del procesador para su uso (ej. rendimieto vs disponivilidad)
3.4. Espacio de Aplicación
3.4.1. Al crearse más programas cada uno exige alguna caracteristica fundamental (ej. energía nuclear, diseño, simuladores)
3.5. Fundamentos del Procesamiento
3.5.1. Instrucciones, Datos, Operaciones
3.6. Envio de Instrucciones
3.6.1. (1*) Saturación en el nucleo para procesar
3.7. Envio de Datos
3.7.1. (2*) Demora de acceso fuera del chip (a la memoria)
3.8. Procesamiento de Datos
3.8.1. (3*) Número suficiente de unidades funcionales, para procesamientos especificos