FUNDAMENTOS DE LOS COMPUTADORES. CURSO 2009/10 2º CURSO ING. TELECOMUNICACIÓN OBJETIVOS El principal objetivo de la asignatura es conocer el funcionamiento de los microprocesadores. Para ello se mostrarán en 4 temas todos los conceptos necesarios para comprender como trabajan estos dispositivos. En el primer capítulo, tras repasar conceptos generales acerca de la notación binaria, se estudian los circuitos digitales que operan con bits, sistemas que forman parte de la unidad aritmético lógica (ALU) del ordenador. En los dos capítulos siguientes, se analizan paso a paso, las distintas etapas que se deben desarrollar para el diseño de un sencillo procesador con arquitectura RISC. En el capítulo segundo se define el diseño del set de instrucciones. En el siguiente, el diseño y la realización física de la denominada ruta de datos, necesaria para ejecutar las anteriores instrucciones y por último, el control del flujo de bits a través de dicha ruta de datos. En el último capítulo de este curso, se comentarán las nuevas arquitecturas utilizadas hoy día para la comunicación de datos entre el procesador y el sistema de memoria, es decir la interfaz entre el procesador y la memoria RAM del sistema. Paralelamente, las prácticas consistirán en diseñar en VHDL el microprocesador explicado en teoría, de tal manera que el alumno no sólo pueda afianzar estos conocimientos, sino que además se pueda familiarizar con la metodología utilizada en la implementación real de un microprocesador. TEMARIO 1. La Unidad Aritmético Lógica (ALU). (8 horas) 1.1. Códigos numéricos de representación. 1.1.1. Representación de números enteros. 1.1.2. Representación de números reales. 1.2. Operaciones aritméticas 1.2.1. Sumar y Restar. Algoritmos y Circuitos. 1.2.2. Multiplicar y Dividir. Algoritmos y Circuitos. 1.2.3. Operaciones aritméticas en CF. 1.3. Operaciones lógicas. 1.4. Diseño de la ALU. 1.4.1. El registro de Estado. 2. El Procesador I: El diseño del juego de Instrucciones. El lenguaje máquina. (10 horas) 2.1. Operaciones y operandos en un computador. 2.1.1. El tamaño y el formato de las instrucciones. 2.1.2. El tamaño y el tipo de datos. 2.1.3. Los modos de direccionamiento. 2.2. Un ejemplo: ARC (A RISC Computer) 2.2.1. Instrucciones para el movimiento de datos. 2.2.2. Instrucciones aritméticas. 2.2.3. Instrucciones lógicas 2.2.4. Instrucciones de control. 2.3. Los lenguajes y la máquina. 2.3.1. El lenguaje simbólico. Directivas 2.3.2. El proceso de compilación, ensamblado, enlace y carga. 3. El Procesador II: Diseño y Control de la ruta de datos. (12 horas) 3.1. Diseño, construcción y control de la ruta de datos. 3.2. Diseño uniciclo de la ruta de datos para el µProcesador ejemplo 3.2.1. Descripción RTL del µProcesador ejemplo 3.2.2. Descripción de los componentes 3.2.3. Construcción de la ruta de datos 3.2.4. Control de la ruta de datos 3.3. Las fases de ejecución de una instrucción 3.4. Diseño multiciclo de la ruta de datos para el µProcesador ejemplo 3.4.1. Descripción RTL del µProcesador ejemplo 3.4.2. Descripción de los nuevos componentes 3.4.3. Construcción de la ruta de datos 3.5. El control multiciclo para la ruta de datos del µProcesador ejemplo 3.5.1. El control de las instrucciones: las microinstrucciones 3.5.2. Control cableado para el µProcesador ejemplo 3.5.3. Tabla resumen de las microinstrucciones. 4. El Sistema de Memoria. (10 horas) 4.1. Memoria de acceso aleatorio SRAM y DRAM. 4.2. Organización interna. 4.2.1. Memorias bidireccionales. 4.3. Memorias ROM y Memorias direccionables por contenido (CAM). 4.4. Mapas de memoria. 4.5. La interfaz procesador‐memoria. La jerarquía de memoria. 4.5.1. Primer nivel de la jerarquía: La memoria caché 4.5.1.1. Organización y Principios de operación. 4.5.2. Segundo nivel de la jerarquía: La memoria virtual 4.5.2.1. Esquemas de funcionamiento: Segmentos, páginas y segmentos paginados. 4.5.2.2. La traducción de dirección virtual a dirección real: la MMU 4.5.2.3. Caché virtual vs Caché real. BIBLIOGRAFÍA 1. Computer architecture and organization an integrated approach. M.J.Murdocca y V.P.Heuring. Wiley. 2007. 2. Principios de arquitectura de computadores. M.J.Murdocca y V.P.Heuring. Prentice Hall. 2002. 3. Organización de computadores. C.Hamacher, Z.Vranesic y S.Zaky. McGraw‐Hill. 5ª Ed. 2002 4. Fundamentos de diseño lógico y de computadores. M.M.Mano y C.R.Kime. Prentice Hall. 2006. 5. Diseño de Sistemas Digitales con VHDL. S.Alonso, E.Soto y S.Fernández. Thomson. 2002. NORMATIVA PARTICULAR DEL CURSO La nota de teoría se obtiene de la mejor de las dos opciones posibles, un 30% la nota del examen intermedio más un 70% de la nota del examen final ó el 100% de la nota del examen final. La asignatura se evaluará mediante un examen final de teoría y el trabajo de prácticas. La teoría tendrá un 75% del peso de la nota final, mientras que las prácticas contarán el 25% restante. Para las prácticas se hará la media ponderada de las entregas que hubiere (más detalles en la página de prácticas), mientras que para la teoría se escogerá el mejor de los resultados entre el 100% del examen final o el 70% del examen final más el 30% de la nota del control intermedio. Es decir, el control intermedio siempre servirá para mejorar la nota, nunca para empeorarla. Para poder hacer media entre la teoría y las prácticas se deben obtener al menos cinco puntos en ambos apartados, teoría y prácticas. Nota = 0,25*Prácticas + 0,75*Teoría En caso de suspender alguna de las partes, la nota en actas se obtendrá como: Nota = 0,25*Mínimo{5,Prácticas} + 0,75*Mínimo{5,Teoría} La copia, tanto en teoría como prácticas, no sólo está tajantemente prohibida, sino que será firmemente perseguida. Aquellos alumnos que sean detectados copiando serán suspendidos inmediatamente, tanto la fuente como el que copia y se procederá además a iniciar otras acciones como la apertura de expediente y la inclusión del alumno en un archivo el cual será compartido por el profesorado de la EPS. La calificación en prácticas obtenida durante el desarrollo regular del curso 2009/10, se guardará para la convocatoria de septiembre y para el curso siguiente 2010/11. SEMINARIO DE PRÁCTICAS En la primera semana del curso se realizará un seminario de introducción al lenguaje VHDL de tres horas de duración. Se han preparado dos horarios en jornada de mañana o de tarde, para facilitar la asistencia de todos los alumnos. Mañana: Jueves 1 de octubre Horario de 10 a 13 Tarde: Jueves 1 de octubre Horario de 16 a 19 Para poder desarrollar las prácticas es imprescindible acudir al seminario El horario normal para los alumnos de Fundamentos de Computadores es el de la mañana. Si fuera necesario, estos alumnos pueden asistir a la sesión con horario de tarde. Los seminarios se imparten en el Salón de Actos de la EPS.