Student Links
Quick Links
Arquitectura de Computadoras |
Horarios 2013Clases (teoría y práctica): Martes y Jueves de 14 a 18 hs, aula 13 Palihue.
Web de la materia: http://cs.uns.edu.ar/~pmd/ac_ing
Descripción y ObjetivosEl objetivo de la materia es que los alumnos comprendan los aspectos centrales del funcionamiento y diseño de un sistema de cómputo. Se comienza con el estudio de la ejecución de operaciones básicas de suma/resta, multiplicación, y división. Sus algoritmos, implementaciones básicas y alternativas de mejora de performance para éstas. Se ve al procesador central CPU con las distintas fases que atraviesa en el procesamiento de las instrucciones y las mejoras en cada una de ellas. Luego se introduce el concepto de pipeline en general y el aplicado al CPU para aprovechar el paralelismo a nivel de instrucciones ILP. Se desarrolla una clasificación de los sistemas, derivada de la de Flynn, en función del paralelismo presente a nivel de datos y de instrucciones. Cluster. Grid. Se estudia la organización e implementación de memorias RAM, tiempos de acceso y tiempos de ciclo. Memorias Asociativas, CAM. Concepto de jerarquía de memoria y localidad de las referencias. Memoria Cache. Memoria Virtual como alternativa al manejo de la interfaz Memoria Principal-Memoria Secundaria. Se abordan aspectos básicos referidos al control del CPU, describiendo el cableado y el microprogramado. Se realiza una comparación entre ambos. Por último se analizan cuestiones referidas a la interconexión entre módulos de memoria y procesadores en ambientes multiprocesador, y alternativas de implementación. Como resultado se espera que el alumno alcance un nivel de conocimiento en el área de los sistemas de cómputo que lo habilite para analizar, evaluar, y comparar distintas arquitecturas. La materia, demás de ser básica para Sistemas Operativos, resulta fundamental para la optativa de arquitectura avanzada, Arquitecturas Modernas. Programa TentativoMódulo1. Adición y Substracción de enteros. Circuitos semisumador y sumador completo. Sumador serie y sumador paralelo. Ripple Adder, Carry Look-Ahead Adder (con MSI y LSI), Carry Skip Adder y Carry Select Adder. Análisis de complejidad de retardos y de espacio físico. Carry Save Adder, utilidad. Multiplicación. Algoritmo y circuito básico para su implementación. Recodificación del multiplicador. Corrimientos y saltos sobre los 0's del multiplicador. Recodificación de Booth; saltos sobre 0´s y 1´s. Uso de Carry-Save Adder en el proceso de multiplicación. Wallace Tree con circuitos MSI. Arboles multiplicadores binarios con circuitos VLSI trabajando en notación redundante. Algoritmo de la división con y sin restoring. Circuito básico para implementarlo. Método de división rápida, a partir del cálculo de la inversa. Algoritmo de división SRT con el cociente en dígito signado, trabajando en base 2. Fundamento teórico. Aplicación de SRT a circuitos divisores con base 4 y posibilidad de empleo de sumadores CSA en la división. Módulo2. Concepto de Pipelining. Clasificación según el uso y configuración. Secuenciamiento de los mismos. El procesador central, formas de acelerar los ciclos de una instrucción: FETCH, DECODE, EXECUTE. Paralelismo a nivel de instrucciones, ILP. Esquema de un pipe de instrucciones, requerimientos básicos, ejemplo DLX. Hazards que podrán incrementar el CPI de Renombramiento de registros. Predicción estática de los branch. Branch retardado. Predicción dinámica, Branch Prediction Buffer. Branch Tarjet Baffer. Arquitecturas con multiple issue: Procesador Superescalar y Procesador Very Large Instruction. Procesador Vectorial Vs.Procesador Escalar. Clasificación del procesamiento paralelo: SISD, SIMD, MISD, MIMD. Extensión de este último según como se organiza/direcciona la memoria: Shared Memory, Distributed Shared Memory y Distributed Memory. Paradigmas de programación. Módulo 3. Memorias RAM (Random Acces Memory). Direccionamiento. RAM semiconductoras, Módulo 4. Diseño del control. Métodos de control cableado y microprogramado. Diseño de Wilkes. Microprogramación horizontal y vertical. Esquema de un control cableado. Formato de las microinstrucciones. Organización con múltiple fase. Reducción del costo del hardware referido al tamaño de la memoria de control, ancho (tamaño de las microinstrucciones), alto (número de microinstruccioes). Arquitecturas RISC y CISC, análisis comparativo. Aplicación de la microprogramación en: Emulación, Sintonía de Arquitecturas, Ejecución directa de Lenguajes de Alto Nivel. Módulo 5. Comunicaciones: locales y distantes, sincrónicas y asincrónicas. Comunicación dedicada y compartida. Time-Shared Bus, Memoria de Múltiple Pórtico, Cross Bar Switch y Multistage Switching Networks. Bibliografía
|