Modulo A. Ampliación de Sistemas Digitales
Tema 1. Ampliación de sistemas combinacionales
1. Repaso de sistemas combinacionales. Funciones de conmutación. Expresiones de conmutación. Mapas de Karnaugh. Puertas lógicas. Módulos combinacionales estándar.
2. Optimización de sistemas combinacionales. Minimización a dos niveles: método de Quine-McCluskey. Introducción a la minimización multinivel.
3. Sistemas combinacionales multimódulo. Redes de módulos estándar. Redes iterativas.
Tema 2. Ampliación de Sistemas Secuenciales
1. Repaso de sistemas secuenciales. Diagrama de estados. Máquinas de Moore y Mealy. Biestables. Módulos secuenciales estándar.
2. Optimización de sistemas secuenciales. Sistemas secuenciales equivalentes. Minimización de el número de estados. Codificación de estados.
3. Implementación de sistemas secuenciales. Redes combinacionales y registro de estado. Utilización de ROM y PLA en redes secuenciales. Redes combinacionales y contadores. Redes combinacionales y RAM. Redes combinacionales y registros de desplazamiento.
4. Repaso de diseño algorítmico de sistemas digitales. Estructura. Diagramas ASM. Diseño de la ruta de datos. Diseño del controlador.
Módulo B. Introducción a la estructura de computadores
Tema 3. Introducción a la estructura de computadores
1. Niveles de descripción de un computador. Niveles de descripción. Conceptos de arquitectura y estructura. Concepto de familia.
2. Modelo Von Neumann. Módulos básicos. Características principales. Elementos de la CPU.
3. Medidas de rendimiento. Tiempo de ejecución. MIPS. MFLOPS. Ley de Amdahl.
4. Perspectiva histórica. Generaciones de computadores. 1ª generación. 2ª generación. 3ª generación. 4ª generación. 5ª generación.
Módulo C. Arquitectura del procesador
Tema 4. Modos de direccionamiento y tipos de datos
1. Organización de la información en memoria. Organización de la memoria. Alineamiento. Ordenamiento.
2. Tipos de datos. Contenidos de la memoria. Caracterización de los tipos de datos. Representación de datos numéricos: enteros, reales y decimales. Representación de caracteres. Representación de información lógica o booleana.
3. Registros y pila de la arquitectura. Registros principales. Códigos de condición. Pila del sistema.
4. Modos de direccionamiento. Definición. Modos de direccionamiento simples. Modos de direccionamiento complejos.
5. Aplicaciones de los modos de direccionamiento. Acceso a variables atómicas. Acceso a elementos de un array. Primitivas de pila.
Tema 5. Repertorio de instrucciones y formato de la instrucción máquina
1. Repertorio de instrucciones. Clasificación de las instrucciones. Transferencia de datos. Instrucciones aritméticas. Instrucciones lógicas y de manipulación de bits. Desplazamiento y rotación. Control de flujo. Otras instrucciones.
2. Aplicaciones del repertorio de instrucciones. Ejecución alternativa. Ejecución iterativa. Subrutinas.
3. Formato de la instrucción máquina. Lenguaje ensamblador vs. código máquina. Elementos constitutivos de una instrucción máquina. Alternativas de diseño del formato de instrucción. Número de operandos explícitos de una instrucción. Ejemplo de diseño del formato de la instrucción máquina. Ciclo de instrucción.
4. Arquitecturas CISC y RISC. Arquitecturas CISC. Problemas de las arquitecturas CISC. Características de las arquitecturas RISC. Ventajas y desventajas de las arquitecturas RISC. Computadores CISC y computadores RISC.
5. Ejemplos. MC68000. Arquitectura MIPS.
Módulo D. Buses del computador
Tema 6. Características y protocolos de los buses
1. Introducción. Definición de bus. Modo de operación. Parámetros de caracterización.
2. Clasificación de las líneas del bus. Según su función. Según su uso. Según sus características eléctricas.
3. Protocolos de transferencia. Función. Protocolo síncrono. Protocolo asíncrono. Protocolo semisíncrono. Protocolo de ciclo partido.
4. Protocolos de arbitraje. Función. Protocolos centralizados vs. protocolos distribuídos. Protocolo en estrella. Protocolo daisy-chain de 2 hilos. Protocolo de 3 hilos. Protocolo de 4 hilos. Protocolo de líneas de identificación. Protocolo de códigos de identificación.
5. Ejemplos. MC68000. i8086.
Tema 7. Jerarquía de buses y buses estándar
1. Introducción. Problemas del bus único.
2. Jerarquía de buses. Buses local, del sistema y de expansión. Ventajas de la jerarquía de buses. Función del interfaz de bus. Otras topologías.
3. Especificaciones de un bus estándar. Niveles de especificación.
4. Ejemplos. Jerarquía de buses en un PC Pentium. Otros buses estándar.
Módulo E. El subsistema de E/S
Tema 8. Organización de la E/S. Gestión de interrupciones
1. Organización del subsistema de E/S. Necesidad de la E/S. Funciones básicas del subsistema de E/S. Conexión de dispositivos de E/S al computador. Estructura del interfaz de E/S. Alternativas de diseño del subsistema de E/S: aislada o localizada en memoria.
2. Mecanismos básicos de E/S. Sincronización de la E/S. E/S programada con espera de respuesta. E/S por interrupciones.
3. Gestión de interrupciones. Secuencia de eventos en el tratamiento de una interrupción. Comprobación de peticiones pendientes. Inhibición de las interrupciones. Identificación de la fuente de interrupción: por encuesta y por vectores. Interrupciones multinivel y anidamiento de interrupciones. Interrupciones autovectorizadas.
4. Ejemplos. MC68000. i8086.
Tema 9. Acceso directo a memoria (DMA) y procesadores de E/S
1. Acceso directo a memoria. Necesidad del DMA. El controlador de DMA. Etapas de una transferencia por DMA.Tipos de transferencias: por ráfaga y por robo de ciclo.
2. El controlador de DMA. Estructura. Registros del DMAC. Señales de control del periférico. Funcionamiento de una transferencia. Controlador DMA de varios canales.
3. Ejemplo. Controlador de DMA i82C37.
4. Procesadores de E/S. Función. Esquema típico de conexión. Tipos de procesadores de E/S: multiplexor, selector y multiplexor por bloques. Evolución de los procesadores de E/S.
Tema 10. Interfaces de E/S programables
1. Estructura y función del interfaz de E/S. Repaso de conceptos. Estructura general de un interfaz de E/S. Métodos de transmisión de información entre interfaz y periférico: E/S paralela y E/S serie. Tipos de interfaces de E/S: genéricos y específicos.
2. Interfaces de E/S paralela: MC6821 PIA. Organización de la PIA. Programación de la PIA. Ejemplo: conexión del MC68000 a una impresora paralelo a través de la PIA.
3. Fundamentos de E/S serie. Transmisión serie asíncrona. Transmisión serie síncrona. Estructura de un interfaz serie asíncrono. Estructura de un interfaz serie síncrono. Ejemplos de interfaces de E/S serie.
4. Interfaces de E/S serie: MC6850 ACIA. Organización de la ACIA. Programación de la ACIA. Ejemplo: conexión del MC68000 a una impresora serie a través de la ACIA.
Tema 11. Dispositivos de E/S
1. El teclado. Modo de funcionamiento. Tipos de teclados: lineales y matriciales. Estructura de un interfaz de teclado matricial.
2. El ratón. Modo de funcionamiento.
3. El monitor CRT. Modo de funcionamiento. Tipos de monitores: de barrido y vectoriales. Monitor monocromo. Monitor color. Estructura de un interfaz de monitor CRT alfanumérico de barrido.
4. El disco. Modo de funcionamiento. Tipos de discos: Winchester y floppy. Organización física de un disco. Organización lógica de sectores.
5. El CD-ROM. Modo de funcionamiento.
6. Ejemplo: interfaz de FDD i8272A. Tipos de líneas. Formato software IBM 3740. Programación del i8272A. Comandos del i8272A. Resultado de comandos.
Modulo F. El subsistema de memoria
Tema 12. Organización de la memoria
1. Introducción. Función del sistema de memoria. Parámetros de caracterización del sistema de memoria: ubicación, método de acceso, tiempos de acceso y de ciclo, ancho de banda, tamaño, coste por byte y unidad de transferencia.
2. Jerarquía de memoria. Necesidad de la jerarquía de memoria. Niveles de la jerarquía de memoria. Principio de localidad de referencia: espacial y temporal. Propiedades de una jerarquía de memoria. Parámetros de caracterización del rendimiento en una jerarquía de memoria: tiempos de acierto y de penalización.
3. Tipos de memoria semiconductora. Clasificación: RAM, NVRAM, ROM, PROM, EPROM, EEPROM y FLASH. Adaptadores de memoria.
4. Memoria RAM estática (SRAM). Características y estructura. Ciclo de lectura. Ciclo de escritura Diseño de placas de memoria SRAM.
5. Memoria RAM dinámica (DRAM). Características y estructura. Ciclo de lectura. Ciclo de escritura. Evolución de la memoria DRAM. Diseño de placas de memoria DRAM. Organización avanzada de DRAM: EDRAM, EDO RAM, CDRAM, SDRAM, RDRAM.
Tema 13. Memoria cache
1. Introducción. Definición. Estructura de un sistema de memoria cache/principal. Ciclo de acceso a un sistema de memoria cache/principal. Aspectos básicos de diseño.
2. Políticas de emplazamiento. Emplazamiento directo. Emplazamiento asociativo. Emplazamiento asociativo por conjuntos.
3. Políticas de reemplazamiento. Espacio de reemplazamiento. Algoritmos: aleatorio, FIFO, LRU y LFU.
4. Políticas de actualización. Escritura inmediata. Post-escritura.
5. Políticas de búsqueda. Búsqueda por demanda. Búsqueda anticipativa.
6. Organización de la cache. Tamaño de la memoria cache. Tamaño de bloque. Niveles de cache. Caches separadas.
7. Ejemplo. Memoria cache en un Pentium.
8. Memoria entrelazada. Fundamentos. Memoria entrelazada de orden bajo. Memoria entrelazada de orden alto.
Tema 14. Memoria virtual
1. Introducción. Concepto y fundamentos. Técnicas de gestión de la memoria virtual.
2. Memoria virtual paginada. Fundamentos. Técnicas de traducción de direcciones: directa, asociativa, mixta y a varios niveles. Tamaño de página. Políticas de emplazamiento de páginas. Políticas de reemplazamiento de páginas: aleatorio, FIFO, FINUFO, LFU y LRU. Políticas de búsqueda de páginas: bajo demanda, página sucesora y con predicción. Políticas de actualización.
3. Memoria virtual segmentada. Fundamentos. Técnicas de traducción de direcciones: directa. Políticas de emplazamiento de segmentos: primer ajuste, mejor ajuste, peor ajuste y retoños.
4. Memoria virtual segmentada/paginada. Fundamentos. Técnicas de traducción de direcciones: directa, asociativa, mixta.
5. Interrelación MV-MP-MC. Acceso a la cahe en un sistema con memoria virtual: cache de direcciones físicas y cache de direcciones virtuales. Coherencia entre Mc y Mp. DMA y memoria virtual.
6. Ejemplos. Alpha 21064. Pentium.
Módulo G. Estructura del procesador
Tema 15. Aritmética
1. Introducción. Concepto de aritmética. La aritmética en el computador.
2. Aritmética entera sin signo. Representación en binario puro. Suma con propagación de acarreo. Suma con anticipación de acarreo. Resta. Comparación. Multiplicación secuencial por sumas y desplazamientos. Multiplicación combinacional. División secuencial con restauración. División secuencial sin restauración. División combinacional.
3. Aritmética entera con signo. Representaciones: C2, MS, C1 y sesgada. Extensión de signo. Negación. Suma. Resta. Multiplicación.
4. Aritmética real en punto fijo. Representación.
5. Aritmética real en punto flotante. Representación. Estándar IEEE 754. Suma. Resta. Multiplicación. División.
Tema 16. Diseño de la ruta de datos y la unidad de control
1. Introducción. Importancia del diseño del procesador. Metodología de diseño de un procesador. Arquitectura MIPS: formato de la instrucción máquina y repertorio de instrucciones.
2. Diseño de la ruta de datos (monociclo). Temporización monociclo. Componentes de la ruta de datos. Ensamblaje de la ruta de datos. Ruta de datos monociclo: puntos de control.
3. Diseño del controlador (monociclo). Determinación de los valores de los puntos de control. Control global vs. Control local. Ruta datos monociclo + controlador.
4. Diseño de la ruta de datos (multiciclo). Problemas de los procesadores monociclo. Temporización multiciclo. Ruta de datos multiciclo: con y sin buses.
5. Diseño del controlador (multiciclo). Diagrama de estados del controlador. El controlador como una FSM. Alternativas de implementación del controlador.
6. Estudio comparativo: monociclo vs. multiciclo.
7. Microprogramación. Comparación de las alternativas de implementación del controlador. Control microprogramado: noción y nomenclatura. Controlador microprogramado con formato de microinstrucción horizontal. Controlador microprogramado con formato de microinstrucción vertical por campos.
8. Introducción a la segmentación. Concepto de segmentación. Temporización segmentada. Conflictos estructurales, de datos y de control. Ruta de datos segmentada. Controlador para la ruta de datos segmentada. Estudio comparativo: monociclo vs. multiciclo vs. segmentado. Temporización superescalar.
9. Introducción al procesamiento paralelo.
Página creada y modificada por J. M. Mendías / Ultima actualización Oct-00