Arquitectura de Computadores (300IGE004)

 

Información general
  • Código: 300IGE004
  • Área de formación: Ingeniería aplicada
  • Créditos: 3
  • Horas de Clase: 4 / semana
  • Horas de trabajo independiente: 5 / semana

Competencias

Durante el curso el estudiante desarrollará su capacidad para:

  • Actualizarse en los conocimientos de la disciplina, en el estado tecnológico y en los asuntos sociales, culturales, ecológicos y económicos del contexto para diseño de sistemas electrónicos en el desarrollo de sistemas electrónicos digitales.
  • Evaluar, frente a los problemas identificados, las alternativas propuestas de diseño de sistemas electrónicos en el desarrollo de sistemas electrónicos digitales.
  • Planear diseño de sistemas electrónicos en el desarrollo de sistemas electrónicos digitales.
  • Realizar diseño de sistemas electrónicos en el desarrollo de sistemas electrónicos digitales.
  • Comunicar efectivamente aspectos referentes a diseño de sistemas electrónicos en el desarrollo de sistemas electrónicos digitales.

Habilidades

Al final del curso el estudiante habrá desarrollado las siguientes habilidades:

  • Extraer información relevante
  • Identificar las partes de un sistema de cómputo
  • Diseñar e implementar un procesador
  • Evaluar el desempeño de diferentes sistemas de cómputo analizando su rendimiento por medio de métricas.
  • Programar en bajo nivel
  • Programar en alto nivel
  • Programar dispositivos
  • Elaborar diagramas esquemáticos
  • Dividir un problema en bloques
  • Elaborar cronogramas
  • Elaborar informes
  • Formular criterios de selección
  • Redactar claro, ordenado y preciso
  • Sustentar una idea
  • Trabajar en grupos
  • Usar herramientas de diseño y simulación
  • Hablar claro, ordenado, completo y preciso

Actitudes

Al final del curso en el estudiante se habrán suscitado las siguientes actitudes:

  • Atención
  • Curiosidad
  • Objetividad
  • Hábitos de estudio
  • Iniciativa
  • Participación
  • Responsabilidad
  • Rigor
  • Colaboración
  • Tolerancia

Contenido

Al final del curso en el estudiante podrá dar cuenta de los siguientes contenidos:

Introducción

  • Perspectivas Históricas
    • Tecnologías del Momento
    • Uso de los computadores
    • Tipos
    • Ayer vs Hoy: El impacto de los computadores y su tecnología sobre nuestra (la) sociedad
  • Grandes procesadores del pasado y el presente
    • Nuevas arquitecturas
    • Otros procesadores (fuzzy, genéticos, biológicos,…)
  • Algunos Tópicos principales
    • Parámetros de desempeño
    • Die size, processor speed
    • Memory Size (die and addressable space), Speed

Sistema de computo (Estructura de un S.C) a nivel de bloques

  • Hardware
    • CPU
    • Memoria
    • Dispositivos de Entrada/Salida
  • Software
    • Sistema Operativo
    • Aplicaciones

Arquitectura Von Neumann

  • Organización Básica de un Computador
    • Tipos
    • Von – Neumann
    • Interacción CPU – Memoria (Princeton / Harvard)

Unidad de ejecución

  • Arquitectura
    • Operandos, formatos de representación
    • Tipos de datos, representaciones binarias
    • Tamaño de Palabra
    • Variables. Identificadores y stores. Valor y referencia
    • Unidad de ejecución. Tipos
    • Expresiones aritméticas y lógicas. Generación mediante registros
  • Modos de Direccionamiento
    • Non – Memory
    • Simples
    • Complejos

Unidad de control

  • Formatos de Instrucciones
    • Decodificación de instrucciones
    • Estilos de conjunto de instrucciones
    • Instrucciones de Flujo de Control. Saltos
    • Código Compacto (code compactness)
  • Operaciones
  • Unidad de control. Tipos

Técnicas de implementación de procesadores

  • Camino de datos
    • Objetivos de la implementación
    • Tipos de datos
    • Conjunto de instrucciones
    • Espacio de direccionamiento
    • Interfaz (buses)
  • Hardware technology
    • Tiempo del ciclo de reloj (Cycle Clock Time)
  • Unidad de Control
    • Control Alambrado (Wired)
    • Micro – código
      • Horizontal
      • Vertical

Mejoras de desempeño

  • Pipeline
    • Pipelining. Concepto
    • Unidad de ejecución con pipeline
    • Unidad de control con pipeline
    • Hazards, forwarding, stalls
    • Hazards por saltos tomados
  • Introducción a ILP (nivel de instrucciones paralelas)
  • Introducción a SIMD, MIMD, VLIW, EPIC

Jerarquía de memorias

  • Jerarquía de memorias. Concepto
  • Niveles de memoria
  • Memoria cache (mapeo de direcciones, tamaño de bloque, reemplazo y políticas de almacenamiento)
  • Memoria virtual (tablas de paginación y TLB)

Rendimiento

  • Evaluación de Rendimiento (RISC, CISC, VLIW)
  • Métricas de rendimiento y su correlación
  • Benchmarks

Unidad interfaz de entrada / salida

  • Dispositivos de I/O
    • Típico
    • I/O asilado vs Mapeado en Memoria
    • Modos de Transferencia de datos
    • Buses (protocolos, arbitramento, DMA)
    • Redes interconexión (hipercubo, malla,crossbar)

Actividades curriculares

Introducción

Desarrollar la habilidad de extraer información, suscitando el hábito de estudio, la
participación y la atención, a través del estudio de las perspectivas históricas de los sistemas de computo,mediante lecturas en clase e investigación del estado del arte de los sistemas de cómputo.

Tiempo:

Horas con acompañamiento:		3
Horas sin acompañamiento:		4
Ubicación en el semestre:		Semanas de la 1 a la 2

Sistema de computo

Desarrollar la habilidad de extraer información, suscitando el hábito de estudio, la
participación y la atención, a través del estudio de la estructura de un sistema de computo (hardware y software), mediante clases magistrales, lecturas en clase y foros.

Tiempo:

Horas con acompañamiento:		3
Horas sin acompañamiento:		4
Ubicación en el semestre:		Semana 2

Arquitectura Von Neumann

Desarrollar la habilidad de extraer información, suscitando el hábito de estudio, la
participación y la atención, a través del estudio de una arquitectura básica como la de Von Neumann, mediante clases magistrales y talleres en clase.

Tiempo:

Horas con acompañamiento:		4
Horas sin acompañamiento:		5
Ubicación en el semestre:		Semanas de la 2 a la 3

Unidad de Ejecución

Desarrollar la curiosidad de extraer información, suscitando el hábito de estudio, por medio de lecturas de documentos académicos, manuales, de los componentes de la unidad de ejecución y modos de direccionamiento, mediante lecturas y talleres en clase.

Tiempo:

Horas con acompañamiento:		3
Horas sin acompañamiento:		8
Ubicación en el semestre:		Semanas de la 4 a la 5

Unidad de Control

Desarrollar la habilidad de extraer información, suscitando el hábito de estudio, por medio de lecturas de documentos académicos, manuales, de los componentes de la unidad de control, mediante lecturas y clases magistrales.

Tiempo:

Horas con acompañamiento:		3
Horas sin acompañamiento:		6
Ubicación en el semestre:		Semana 5

Técnicas de implementación de procesadores

Desarrollar la habilidad de diseñar e implementar, suscitando el hábito de estudio, por
medio de la construcción de una unidad de control y un camino de datos de un rocesador, mediante lecturas, talleres y clases magistrales.

Tiempo:

Horas con acompañamiento:		8
Horas sin acompañamiento:		10
Ubicación en el semestre:		Semanas de la 6 a la 8

Mejoras de desempeño

Desarrollar la habilidad de extraer información relevante, suscitando el hábito de estudio, por medio de la comprensión de las mejoras en el desempeño de una arquitectura, mediante lecturas, talleres y clases magistrales.

Tiempo:

Horas con acompañamiento:		4
Horas sin acompañamiento:		8
Ubicación en el semestre:		Semana de la 10 a la 11

Jerarquía de memorias

Desarrollar la habilidad de extraer información relevante, suscitando el hábito de estudio, por medio de la comprensión e identificación de la jerarquía de memorias, mediante clases magistrales y tallares.

Tiempo:

Horas con acompañamiento:		4
Horas sin acompañamiento:		8
Ubicación en el semestre:		Semanas de la 11 a la 13

Rendimiento

Desarrollar la habilidad de extraer información relevante, suscitando el hábito de estudio, por medio de la comprensión y evaluación de sistemas de cómputo, mediante clases magistrales y tallares.

Tiempo:

Horas con acompañamiento:		4
Horas sin acompañamiento:		8
Ubicación en el semestre:		Semana de la 14 a la 15

Unidad interfaz entrada / salida

Desarrollar la habilidad de identificar e interactuar, suscitando el hábito de estudio, por medio de la comprensión de los elementos de entrada /salida, mediante lecturas, talleres y exposiciones.

Tiempo:

Horas con acompañamiento:		2
Horas sin acompañamiento:		4
Ubicación en el semestre:		Semana 9

Laboratorios

Desarrollar las habilidades de búsqueda de información, elaboración de informes, leer
manuales, extraer información relevante, diseñar e implementar y elaborar diagramas RTL, programar en lenguajes de descripción de hardware, suscitando hábitos de estudio, creatividad, participación y rigor, a través del estudio de los componentes de un sistema de cómputo, realizar prácticas en microcontroladores.

Tiempo:

Horas con acompañamiento:		4
Horas sin acompañamiento:		9
Ubicación en el semestre:		Semanas de la 2 a la 16

Proyecto

Desarrollar las habilidades de considerar restricciones, dividir un problema en bloques, elaborar cronogramas, elaborar informes, formular y evaluar alternativas de solución, de acuerdo a criterios de selección, preparar presentaciones en público, redactar claro, ordenado y preciso, sustentar una idea, trabajar en grupos, usar herramientas de cómputo, usar herramientas de diseño y simulación, usar lenguajes de descripción de hardware, suscitando hábito de estudio, participación, atención, iniciativa, responsabilidad y rigor, a través del estudio de los componentes de un sistema de cómputo.

Tiempo:

Horas con acompañamiento:		8
Horas sin acompañamiento:		22
Ubicación en el semestre:		Semanas de la 1 a la 16

Evaluación

Actividad Evaluación Porcentajes
1,2,3,4,5,6,7,8,9,10 Tres exámenes parciales de igual peso 20% 60%
Tareas de desarrollo 10%
7: Laboratorio Cinco trabajos escritos sobre el desarrollo de la práctica de igual peso 10%
8: Proyecto Dos informes parciales de avance de igual peso 5%
Informe final 5%
Funcionamiento y pruebas 10%
Total 100%

Bibliografía

  1. Hennessy, John L. y Patterson, David A., Computer organization and design: the hardware,software 3th ed, Elsevier., 2005
  2. William Stallings, Computer Organization and Architecture: Designing for Performance,7th ed., Pearson Education, 2006
  3. Hennessy, John L. y Patterson, David A, Computer architecture : a quantitative approach,4ed, Morgan Kaufman Publishers, 2007
  4. Tanenbaum Andrew, Structured computer organization 5th ed., Prentice-Hall, 2006
  5. Comer, Douglas E, Essentials of Computer Architecture., Prentice-Hall, 2005
  6. Culler,David E., Parallel Computer Architecture., Morgan Kaufman Publishers. , 1999
  7. Duato,José., Interconnection networks: an engineering approach, Morgan Kaufman Publishers, 2003