ESTRUCTURA DE COMPUTADORES CURSO ACADÉMICO: TITULACIÓN

ESTRUCTURA DE COMPUTADORES ... Ingeniería y Tecnología de Computadores ... 3.4 Principios cuantitativos del diseño de computadores...

13 downloads 399 Views 22KB Size
ESTRUCTURA DE COMPUTADORES CURSO ACADÉMICO: 00/01 TITULACIÓN: Ingeniero Técnico de Informática de Sistemas/ Gestión CICLO: 1º CURSO: 3º CUATRIMESTRE: Primero CARÁCTER: Obligatoria (Sistemas), Optativa (Gestión) CRÉDITOS: 9 (6 teóricos y 3 prácticos) PROFESOR: Lorenzo Fernández Maimó (Teoría) y Pedro Enrique López de Teruel Alcolea (Prácticas) DEPARTAMENTO: Ingeniería y Tecnología de Computadores A.- OBJETIVOS . Definir el concepto moderno de arquitectura. Distinguir los parámetros que influyen sobre las prestaciones de una arquitectura. Comprender el compromiso hw/sw para conseguir una adecuada productividad. Enumerar los aspectos fundamentales del juego de instrucciones de un computador. . Comprender las técnicas de segmentación. Análisis de la mejora de p restaciones mediante el empleo de la segmentación. Distinguir los problemas originados al segmentar la unidad de instrucción y conocer sus soluciones. Estudiar las técnicas avanzadas de mejora de prestaciones con la segmentación: planificación dinámica y ejecución fuera de orden. . Conocer y comprender las técnicas utilizadas para diseñar subsistemas de memoria de altas prestaciones. Estudiar los principales parámetros de diseño de un sistema cache de alta productividad. Conocer las técnicas utilizadas para mejorar las prestaciones de la memoria principal. Estudiar el funcionamiento de la memoria virtual y analizar los parámetros que influyen en un buen rendimiento. . Comprender el diseño de un subsistema de entrada/salida de altas prestaciones. Analizar los principales parámetros que influyen en el rendimiento del sistema de E/S. Conocer los programas de prueba adecuados para su medición. Estudiar los cuellos de botella de un sistema de E/S. Diseñar un sistema de E/S de altas prestaciones.

B.- PROGRAMA DE TEORÍA TEMA I. DEFINICIÓN DE ARQUITECTURA (14 h) Lección 1. Presentación de la asignatura (1 h) 1.1 Introducción general 1.2 Filosofía del curso y objetivos 1.3 Situación y relaciones en el plan de estudios 1.4 Desarrollo teórico y práctico del temario 1.5 Sistema de evaluación 1.6 Aspectos administrativos Lección 2. Concepto de arquitectura (2 h) 2.1 Introducción 2.2 Definición del concepto moderno de Arquitectura 2.3 Principios generales en el diseño de computadores 2.4 Evolución de la arquitectura de computadores: CISC y RISC 2.5 Perspectiva histórica y conclusiones Lección 3. Análisis de las prestaciones de las arquitecturas (8 h) 3.1 Definición de rendimiento 3.2 Métricas populares de las prestaciones de las arquitecturas 3.3 El tiempo de ejecución como medida de las prestaciones de las arquitecturas 3.4 Principios cuantitativos del diseño de computadores Lección 4. Diseño del repertorio de instrucciones (3 h) 4.1 Clasificación de los repertorios de instrucciones 4.2 Modos de direccionamiento de la memoria. Su codificación 4.3 Operaciones del repertorio de instrucciones 4.4 Tipo y tamaño de los operandos 4.5 Organización de los registros 4.6 Manejo de instrucciones especiales: saltos y procedimientos 4.7 Diseño de un buen conjunto de instrucciones TEMA II. DISEÑO AVANZADO DE UN PROCESADOR (24 h) Lección 5. Segmentación (pipelining) (2 h) I Concepto de segmentación II Segmentación del ciclo de instrucción. Control de la segmentación III El pipeline básico del procesador DLX Lección 6. Problemas que aparecen con la segmentación (5 h)

1

I II III IV V

El problema de los riesgos en la segmentación Riesgos estructurales Riesgos por dependencia de datos: adelantamiento Riesgos de control: predicción estática de saltos Tratamiento de las excepciones

Lección 7. Ampliación del procesador DLX segmentado con operaciones multiciclo (3 h) I Manejo de instrucciones con etapas de ejecución multiciclo II Riesgos y adelantamientos en pipelines con mayores latencias III Tratamiento de las excepciones: excepciones precisas IV El pipeline del procesador MIPS R4000 Lección 8. Técnicas de segmentación avanzadas y Paralelismo a Nivel de Instrucción (4 h) I Paralelismo a Nivel de Instrucción II Planificación estática de instrucciones. III Desenrollamiento de bucles IV Paralelismo a Nivel de Bucle. Lección 9. Planificación Dinámica (6 h) I Planificación Dinámica de instrucciones II Planificación con Scoreboard III Algoritmo de Tomasulo IV Predicción Dinámica de saltos Lección 10. Planificación Dinámica avanzada (4 h) I Técnicas de compilación para reducir los riesgos II Tratamiento de las interrupciones III Emisión de múltiples instrucciones IV Procesadores superescalares, supersegmentados y VLIW TEMA III. SISTEMA DE MEMORIA DE ALTAS PRESTACIONES (16 h) Lección 11. Diseño de un subsistema eficiente de memoria (3 h) I Concepto de jerarquía de memoria II Funcionamiento de una jerarquía de memoria III Principio de localidad. La consistencia de datos IV Parámetros característicos del tiempo de acceso a memoria Lección 12. Mejora de las prestaciones de las memorias cache (6 h) I Memoria cache: funcionamiento básico II Políticas de búsqueda, asignación, reemplazo y actualización en las caches III Mejorando las prestaciones en la cache: Reducción de la tasa de fallos IV Mejorando las prestaciones en la cache: Reducción del tiempo de acceso en caso de fallo V Mejorando las prestaciones en la cache: Reducción del tiempo de acceso en caso de acierto Lección 13. Mejora de las prestaciones de la memoria principal (3 h) I Funcionamiento de la memoria principal II Mejorando prestaciones: Memorias de ancho superior a una palabra III Mejorando prestaciones: Memorias entrelazadas IV Mejorando prestaciones: Memorias entrelazadas con accesos independientes V Mejorando prestaciones: Memorias entrelazadas para tecnología DRAM Lección 14. Mejora de las prestaciones de la memoria virtual (4 h) I Funcionamiento de la memoria virtual II Paginación y segmentación III Mejorando prestaciones: Tamaño óptimo de página y algoritmos de reemplazamiento IV Mejorando prestaciones: Técnicas para traducción rápida de direcciones V Protección de procesos VI Relación entre memoria virtual y memoria cache: alternativas de diseño TEMA IV. RENDIMIENTO DE LAS E/S DE UN COMPUTADOR (6 h) Lección 15. Rendimiento de los sistemas de E/S (2 h) I Visión global de un computador con E/S II Medidas de rendimiento para los sistemas de E/S III Tipos y características de los dispositivos de E/S IV Conclusiones Lección 16: Diseño de un sistema eficiente de E/S (4 h) I Detección de los cuellos de botella en el sistema de E/S II Análisis del rendimiento de un bus como interfaz de conexión III Relación entre la CPU y los dispositivos de E/S: el papel del SO IV Diseño de un sistema de E/S de altas prestaciones

2

C.- PROGRAMA DE PRÁCTICAS Práctica 1. Evaluación de Prestaciones en Memorias Cache (4 horas) Práctica 2. Desarrollo de un simulador de parte del hardware visto en la teoría (20 horas) Práctica 3. Planificación de Instrucciones en Computadores Segmentados (6 horas)

E.- BIBLIOGRAFÍA 1 2 3 4 5 6 7 8

J.L. Hennessy, D.A. Patterson, Computer Architecture: A Quantitative Approach, 2ª edición, Morgan Kaufmann Publishers, 1996. B. Wilkinson, Computer Architecture: Design and Performance, Prentice Hall, 1996. M. R. Zargham, Computer Architecture: Single and Parallel Systems, Prentice-Hall International, 1996. J.L. Hennessy, D.A. Patterson, Computer Architecture: A Quantitative Approach, Morgan Kaufmann Publishers, 1990. Versión en castellano: Arquitectura de Computadores: Un Enfoque Cuantitativo, McGraw-Hill, 1994. D.A. Patterson, J.L. Hennessy, Computer Organization & Design: The Hardware/Software Interface, Morgan Kaufmann Publishers, 1994. Versión en castellano: Organización y Diseño de Computadores: El Interfaz Hardware/Software, McGraw-Hill, 1995. H.S. Stone, High-Performance Computer Architecture, Addisson-Wesley Publishing Company, 1993. K. Hwang, Advanced Computer Architecture: Parallelism, Scalability, Programmability, McGraw-Hill, 1993. P.M. Sailer, D.R. Kaeli, The DLX Instruction Set Architecture Handbook, Morgan Kaufmann Publishers, 1996.

F.- EVALUACIÓN Nota final de la asignatura: 80 % examen final y 20 % nota de prácticas El examen final se compondrá de una parte en forma de test y otra parte de ejercicios teórico/prácticos con una valoración aproximada de: 60-70% nota de problemas 40-30% nota del test

3