Arquitectura de Computadoras
Materia: Arquitectura, Sistemas Operativos y Redes
de Computadoras.
Créditos: 0.
Objetivo de la Asignatura
- Capacitar al estudiante para que maneje los conceptos básicos de la arquitectura de computadoras y el funcionamiento de sistemas computarizados.
- Capacitar al estudiante para que comprenda la arquitectura de sistemas y computadoras, tomando como base el modelo clásico de Von Neumann.
- Introducir al estudiante en temas de arquitecturas avanzadas y medidas de rendimiento.
Metodología de enseñanza
Se
dictarán clases teóricas destinadas a la presentación formal de los
temas, y prácticas destinadas al ejercicio necesario para la
incorporación de los contenidos, así como a las aplicaciones prácticas.
Se
ofrecerán a los estudiantes resúmenes teóricos y repartidos con
ejercicios prácticos, los cuales no se podrán considerar como
sustitutivos de la bibliografía indicada.
Se dictarán 6 horas semanales de exposiciones teórico/prácticas. Asimismo, cada alumno deberá dedicar un
promedio de 6 horas semanales de estudio domiciliario.
Temario
- Introducción e historia de la arquitectura y organización de computadoras.
- Sistemas de numeración y representación interna de datos.
- Fundamentos de arquitectura de computadoras.
- Compilación y código portable.
- Comunicación e interconexión.
- Arquitectura y organización del sistema de memoria.
- Rendimiento basado en sistemas de microprocesador.
- Modelos de sistemas distribuidos.
Bibliografía
- Computer Organization and Architecture: Designing for Performance, 8/E. William Stallings, PrenticeHall, 2010. ISBN-10: 0136073735, ISBN-13: 9780136073734.
- Structured Computer Organization, 5/E. Andrew S. Tanenbaum, Prentice Hall, 2006. ISBN-10:0131485210, ISBN-13: 9780131485211
- Computer System Architecture, 3/E. M. Morris Mano, Prentice Hall, 1993. ISBN-10: 0131755633, ISBN-13: 9780131755635.
Previaturas
Anexo
Forma de evaluación
Los
estudiantes serán evaluados mediante dos parciales. El primero de ellos
se realizará luego de la séptima semana de clases, y el segundo tendría
lugar luego de finalizado el curso.
De los resultados obtenidos en los parciales surgirán tres posibilidades:
- Exoneración del examen final: el estudiante aprueba totalmente el curso.
- Suficiencia en el curso: el estudiante está habilitado a rendir examen, hasta que el curso seadictado nuevamente.
- Insuficiencia en el curso: el estudiante reprueba, debiendo inscribirse nuevamente en el curso.
Sumando los resultados de los parciales se podrá obtener un máximo de 100 puntos.
La exoneración del examen final se logra acumulando como mínimo 60 puntos entre los dos parciales.
La suficiencia se logra acumulando como mínimo 25 puntos entre ambos parciales.
Quien no llegue a 25 puntos obtenidos entre ambos parciales deberá recursar la asignatura.
Detalle del temario
- Introducción e historia de la arquitectura y organización de computadoras. (3 horas)
- Temas
- Indicar las razones por las que estudiar la arquitectura y organización de computadoras.
- Resaltar algunos hitos importantes en la historia de la computación.
- Indicar y explicar algunas áreas importantes como son organización y arquitectura de sistemas, memoria, interconexiones entre componentes, microprocesadores, y rendimiento.
- Contrastar los significados de organización de computadoras y arquitectura decomputadoras.
- Indicar la importancia de realizar aritmética binaria con computadoras.
- Indicar la importancia de medir correctamente el rendimiento.
- Resultados de aprendizaje
- Identificar hitos importantes en la historia de la computación.
- Articular las diferencias entre organización y arquitectura.
- Identificar algunos componentes de una computadora.
- Describir como un tecnólogo usa o se beneficia con los conocimientos de arquitectura de computadoras.
- Sistemas de numeración y representación interna de datos. (12 horas)
- Temas
- Sistemas posicionales.
- Sistemas con base.
- Algoritmos para conversión de base.
- Tipos de datos y sus representaciones: Caracter, String, Decimal, Moneda.
- Representación de números enteros con y sin signo: Complemento a 1,complemento a 2.
- Algoritmos para operaciones aritméticas típicas.
- Importancia de rango, precisión y exactitud en la aritmética de computadoras.
- Representación de número reales, punto flotante (IEEE 754).
- Algoritmos para operaciones comunes con punto flotante.
- Resultados de aprendizaje
- Conocer y entender cómo valores numéricos son representados en computadoras digitales.
- Conocer y entender cómo los distintos tipos de datos son representados en computadoras digitales.
- Entender las limitaciones de la aritmética en computadoras y los efectos de erroresen los cálculos.
- Fundamentos de arquitectura de computadoras. (15 horas)
- Temas
- Organización y arquitectura de la máquina de von Neumann.
- Formatos de instrucción.
- El ciclo de instrucción.
- Registros.
- Tipos de instrucción y modos de direccionamiento.
- Llamadas a subrutinas y mecanismos de retorno.
- Manejo de entrada/salida e interrupciones.
- Resultados de aprendizaje
- Explicar la arquitectura de von Neumann y sus unidades funcionales.
- Explicar como una computadora realiza el fetch de memoria y ejecuta una instrucción.
- Articular las fortalezas y debilidades de la arquitectura de von Neumann.
- Compilación y código portable (12 horas)
- Temas
- Código fuente, código ensamblador, código objeto. Ejemplos.
- El compilador.
- Código portable y máquinas virtuales.
- Linkers y loaders.
- Resultados de aprendizaje
- Identificar las diferencias entre código fuente y código binario.
- Explicar las tareas de un compilador.
- Explicar porqué existe código portable y código no portable.
- Describir el proceso desde que se escribe un programa hasta que este es ejecutado.
- Comunicación e interconexión. (12 horas)
- Temas
- Fundamentos de entrada-salida: handshaking, buffering.
- Fundamentos de interrupciones.
- Técnicas de entrada-salida: E/S programada, E/S basada en interrupciones, DMA.
- Buses: protocolos y arbitraje.
- Resultados de aprendizaje
- Describir cómo se realiza el acceso a datos desde dispositivos externos. Explicar cómo se usan las interrupciones para implementar E/S y transferencia de datos.
- Identificar los distintos tipos de buses en una computadora.
- Arquitectura y organización del sistema de memoria. (12 horas)
- Temas
- Jerarquía de memoria.
- Codificación, compresión de datos e integridad de datos.
- Organización de la memoria principal y sus características y rendimiento.
- Métricas: latencia, tiempo de ciclo, ancho de banda e intercalado.
- Memorias cache: mapeo de direcciones, tamaño de línea, reemplazos y políticas de escritura.
- Tecnologías de memoria tales como DRAM, EPROM y FLASH.
- Resultados de aprendizaje
- Identificar los principales tipo de tecnologías de memoria.
- Explicar los efectos de la latencia y ancho de banda de memoria en el rendimiento.
- Explicar el uso de la jerarquía de memoria para reducir la latencia de memoria.
- Rendimiento basado en sistemas de microprocesador. (9 horas)
- Temas
- Métricas de rendimiento de computadoras: frecuencia del reloj, MIPS, ciclos por instrucción, benchmarks.
- Fortalezas y debilidades de las métricas de performance.
- El rol de la ley de Amdahl en el rendimiento de computadoras.
- Resultados de aprendizaje
- Entender los factores que contribuyen al rendimiento de las computadoras.
- Entender las limitaciones de las métricas de rendimiento.
- Seleccionar la métrica de rendimiento mas apropiada cuando se evaluan computadoras.
- Modelos de sistemas distribuidos. (3 horas)
- Temas
- Clasificación de modelos: taxonomía de Flynn, clasificación de Handler.
- Niveles de paralelismo.
- Multiprocesadores y multicomputadores: topología, arquitecturas fuertemente acopladas y débilmente acopladas.
- Resultados de aprendizaje
- Explicar la diferencia entre los diferentes paradigmas de paralelismo y su usabilidad y aplicabilidad.