Arquitectura de computadores

From Supercomputación y Cálculo Científico UIS

Volver a Cursos


Arquitectura de Computadores - Código 22966

Carlos Jaime Barrios Hernández - ( c b a r r i o s  @   u i s . e d u . c o )

Auxiliatura Técnica-Académica : Equipo de Ingenieria de Supercomputación y Cálculo Científico

Theory-vs-practice.jpg

Contents

PRESENTACION

El diseño, desarrollo e innovación son palabras que corresponden a la actividad de un ingeniero, cualquiera que sea su área de trabajo. Desde un punto de vista ingenieril la tecnología, es el fruto de la concepción y desarrollo del conocimiento, utilizando herramientas y proyectando una utilidad, incluyendo el diseño de nuevas herramientas. Como ingenieros de sistemas esas herramientas son las máquinas computacionales, las cuales evolucionan con la actualización del conocimiento, que involucra la explotación de nuevos materiales, nuestra capacidad de abstracción y las perspectivas de desarrollo (mas que las necesidades).


Si bien el componente técnico/tecnológico de la asignatura arquitecturas de computadores es importante, el solo hecho de utilizar la palabra “arquitectura” involucra una percepción hacia la concepción, el diseño y la organización de los elementos que integran un sistema de cómputo (no solo una máquina computadora), como es la interacción con otros sistemas y con los humanos, observando tendencias, factibilidad, requerimientos de rendimiento, limitaciones tecnológicas y físicas, impacto ambiental entre otros. Aunque la frontera con el conocimiento que involucra otras áreas como la ingeniería electrónica, la física de materiales o la matemática aplicada es frágil, el curso esta dirigido a estudiantes de ingeniería de sistemas y ciencias de la computación, buscando ofrecer fundamentos de arquitectura de sistemas computacionales desde una ubicación histórica. De ahí que se complementen con lecturas acerca del estado del arte en cada una de las secciones propuestas para este curso.


El propósito fundamental de esta asignatura durante el presente semestre es establecer un estado de conocimientos fundamentales en arquitectura de computadores, que permita manejar el lenguaje técnico asociado, ubicar temporalmente el desarrollo tecnológico, conociendo el estado del arte en esta área y fundamentar conocimientos que permitan el auto-aprendizaje y profundización en el área, además de la interacción en equipos interdisciplinarios que requieran competencias en arquitectura de sistemas computacionales.

Contenido

  1. Introducción y Fundamentos de Arquitectura de Sistemas de Cómputo
    1. Arquitectura, Organización y Diseño de Sistemas de Cómputo
    2. Desarrollo histórico – Ubicación histórica actual
    3. Clases de Computadoras
    4. Abstracción y Tecnología de Computación – Tendencias
    5. Desempeño
    6. Casos de Estudio
  2. Instrucciones y Aritmética para Computador
    1. Fundamentos de Instrucciones para Computador
      1. Operaciones y Operandos de Hardware de Computadoras
      2. Representación de Instrucciones
      3. Operaciones Lógicas
      4. Instrucciones para la toma de decisiones
      5. Soporte de Procedimientos a nivel de Hardware
      6. Comunicaciones
      7. Arquitectura MIPS
      8. Introducción Paralelismo I – Paralelismo de Instrucciones y el problema de la sincronización
      9. Algunos Aspectos Avanzados
        1. Aspectos Arquitecturales de Compilación
        2. Fundamentos de Diseño Lógico
        3. Mapeo de Hardware
      10. Casos de Estudio
    2. Introducción y Fundamentos de Aritmética para Computador
      1. Adición y substracción
      2. Multiplicación y División
      3. Introducción al Paralelismo II – Aritmética de computadores y el problema de la asociatividad.
      4. Casos de Estudio
  3. Organización y Diseño Arquitectural de Sistemas de Cómputo
    1. Fundamentos de Organización y Diseño
    2. Aspectos Básicos de Procesadores
      1. Aspectos Lógicos de Diseño
      2. Pipeline y Control
      3. Paralelismo y Escalabilidad
      4. Casos de Estudio
    3. Fundamentos de Memoria
      1. Fundamentos de Organización y Diseño
      2. Jerarquía de Memoria
      3. Casos de Estudio
    4. Aspectos Básicos de Almacenamiento
    5. Aspectos Básicos de Comunicaciones y Conectividad
      1. Conectividad Interna
      2. Interconectividad y Redes (Introducción)
    6. Fundamentos de I/O, Gráficas e Interfaces
    7. Casos de Estudio
  4. Tendencias y Direcciones Futuras
    1. Arquitecturas Híbridas
    2. Arquitecturas Reconfigurables
    3. Aspectos Energéticos, Ecológicos y Ambientales
    4. Arquitecturas Escalables, de Gran Escala y Ecosistemas
    5. ARMS (Advanced RISC Architectures) y Computadores Embebidos.
    6. EXASCALE y otras direcciones

ASPECTOS METODOLOGICOS

  • Seminarios Teóricos
  • Seminarios Magistrales
  • Seminarios con Invitados
  • Sesiones Teórico Prácticas / Análisis de Casos
  • Lecturas Sugeridas (En español y en Inglés)
  • Webminars y Videoconferencias

MATERIAL DEL CURSO

El material presentado, fundamentalmente son las diapositivas presentadas durante las sesiones tanto teóricas como los talleres. Es importante resaltar que la mayoría del material se encuentra en inglés. Esto con el fin de acostumbrar la consulta en inglés, debido a que las especificaciones y la bibliografía y fuentes de información "de punta" en tecnología están estandarizadas en inglés. Es posible que existan algunos errores de escritura.  Estas diapositivas son principalmente de las sesiones Teóricas (Desde el I Semestre de 2016) y los artículos presentados por los estudiantes a partir del primer semestre de 2016.

Presentación del Curso:

Del Tema 1 del Contenido:

Del Tema 2 del Contenido:

Del Tema 3 del Contenido:

EVALUACIONES (2 Semestre de 2018 - Todos los Grupos)

Los exámenes escritos se realizarán en las horas de clase e inician a las 6:00 a.m.

Los exámenes son de 90 minutos estrictos.

1. Evaluación Escrita No. 1 (20%) TEMA 1+2 (SIN material de apoyo, parejas y tríos).  Fecha propuesta:  Jueves 6 de Septiembre de 2018, 6:00 a.m.

  • Se recomienda tener hoja de examen y responder con lapicero, no con lápiz.
  • No se permite ningún tipo de comunicación entre estudiantes. Traiga todo el material necesario (borradores, lapiceros de repuesto, etc.)
  • La comunicación entre diferentes grupos de examen (o estudiantes) y el fraude tienen como consecuencia la anulación del mismo y una calificación de cero (0.0) en la evaluación.
  • Los teléfonos celulares deberán apagarse y dejarse en frente del salón, así como cualquier dispositivo electrónico no vital.

2. Evaluación Escrita  No. 2+3 (20%) TEMA 2+3  (CON material de apoyo, individual).  Fecha propuesta: Jueves 18 de Octubre de 2018 NUEVA FECHA: JUEVES 14 DE FEBRERO DE 2019, 6:00 A.M.

  • Principalmente el tema 2, pero puede incluirse conocimientos del tema del contenido 1 y del 3.
  • Tenga en cuenta las recomendaciones dadas para la anterior evaluación.
  • El examen deberá entregarse en un único archivo .pdf al correo del profesor con las siguientes condiciones:
    • El nombre del archivo debe ser ExamII-(Código de estudiante), por ejemplo, si el código es 941108, el archivo deberá llamarse ExamII-941108.pdf
    • No ser mayor de (4) cuatro páginas tamaño carta, tipo de letra Times New Roman (estrictamente) en 11 puntos a espacio sencillo. Dentro de esas 4 cuatro páginas debe incluirse el código en C/C++ SI NO CUMPLE EL FORMATO Y ESTAS EXIGENCIAS LA CALIFICACION SERA PENALIZADA.
    • El encabezado deberá contener el titulo EXAMEN II -2018 ARQUITECTURA DE COMPUTADORES, la fecha de elaboración final, los nombres y apellidos completos del autor, código de estudiante y grupo al que pertenece.
    • El asunto del correo deberá decir: EXAMEN II - 2018 ARQUITECTURA DE COMPUTADORES y en el cuerpo del mensaje el código del estudiante, nombres completos y grupo al que pertenece (O1 u O2)
    • El examen podrá ser enviado a la dirección del correo del profesor, como archivo adjunto desde el día lunes 18 de febrero a las 9:15a.m. hasta el dia miércoles 20 de febrero a las 11:59 a.m. POSTERIOR A ESA FECHA Y HORA LIMITE NO SE RECIBIRA NINGUN ARCHIVO.
    • Tenga en cuenta que hay preguntas especificas para cada grupo. FIJESE MUY BIEN Y RESPONDA LA QUE LE CORRESPONDE, SI RESPONDE LA DEL GRUPO QUE NO LE CORRESPONDE O DE LOS DOS GRUPOS, EL PUNTO SE ANULA. RECUERDE: DEBE RESPONDER EN EL ORDEN ESTRICTO DE LAS PREGUNTAS.
    • Se recuerda que el examen es individual y que hay tanto herramientas tecnológicas como metodologías que permiten ver el plagio, copias, similitudes en la redacción, entre otras. Exámenes similares en un rango mínimo del 15% comienza a dividirse la nota entre los similares. Por ejemplo, si la nota de un examen es 4.5, y hay tres trabajos iguales, cada uno de los exámenes tendrá una nota de 1.5.
      Arquitectura de ComputadoresExam.png

3. Evaluación Escrita Final  (20%) Todos los Temas + Artículo (SIN material de apoyo, Por Parejas y Tríos).  Fecha y Hora: Jueves 6 de Diciembre de 2018, NUEVA FECHA: JUEVES 7 DE MARZO DE 2019, 6:00 A.M.

  • Se incluyen todos los temas y trabajos presentados por sus compañeros.
  • Se incluyen los artículos presentados por sus compañeros que estarán disponibles en este sitio.
  • Incluye una pregunta de los artículos entregados y expuestos por los grupos (Normalmente es una pregunta evidente realizada durante la exposición).
  • La evaluación se realiza por parejas y trios, que son los mismas del grupo de trabajo para los trabajos de aplicación finales.

4. Artículo Final de Aplicación y Presentación de Proyectos (20%)

Límite de Fecha y Hora de Entrega: Viernes 23 de Noviembre de 2018 hasta las 23:59 (Tiempo Bogotá, Colombia) Nueva Fecha de Entrega: 28 de Febrero 2019 23:59 (Tiempo de Bogotá, Colombia)

Fecha de Presentación: Viernes 30 de Noviembre de 2018 NO HABRA PRESENTACION ORAL

El artículo responderá a un proyecto de aplicación que se distribuirá en grupos dados por el profesor y se debe tener en cuenta la estructura del mismo (introducción, estado del arte, contenido en el cual se desarrollará en sí el trabajo, resultados (experimentación si la hay), gráficas, figuras y tablas (si son necesarias), conclusiones, biografía y fuentes de información. Pueden guiarse viendo el siguiente ejemplo aquí

  • Máximo 10 (Diez) Páginas en Español  (mínimo 8 páginas), Título y Resumen (abstract) en español y en  inglés (máximo 10 lineas). NO OLVIDE DARLE UN TITULO QUE DEBE SER DIFERENTE AL TITULO DE LA ASIGNACIÓN PERO QUE GENERE UN INTERÉS A LA LECTURA (en Español)
  • Formato IEEE en una columna para series de conferencias http://www.ieee.org/conferences_events/conferences/publishing/templates.html
  • La asignación es de 3 (tres) o 4 (cuatro) autores por artículo, de acuerdo a la asignación (igualmente distribuidos por el profesor). NO SON MODIFICABLES
  • Temáticas Distribuidas por el Profesor
  • El artículo debe entregarse en un único archivo .pdf enviándolo al correo del profesor, indicando en el asunto: ENTREGA ARTICULO FINAL ARQUITECTURA 2019. Recuerde que la fecha de entrega esta indicada en el calendario de evaluaciones.

Para la presentación del trabajo debe tener en cuenta lo siguiente:

  • 5 (Cinco) Minutos estrictos de presentación. Mas allá de este tiempo será penalizado en la nota.
  • Puede estructurarse en formato libre (uno de los autores presenta, o todos), pero deben usarse diapositivas. Estas diapositivas deben enviarse al profesor el dia anterior al dia de la presentación, estrictamente en un archivo pdf.
  • El orden de presentación de los grupos es el mismo orden de los grupos.

5. Sesiones de Entregas Prácticas (20%) Todos los Miércoles desde 31 de Enero de 2018

  • Se pueden realizar y entregar por parejas. Las sesiones prácticas se realizan los viernes e inician puntualmente. Hay una tolerancia de ingreso de (diez) 10 minutos y se tomará lista de asistencia . Después de esa tolerancia no se recomienda ingresar al salón de clase.
  • Toda las sesiones prácticas generan un informe que se enviará vía correo electrónico al correo del profesor, diez minutos antes del cierre del sistema (XX:50am). No se calificaran informes enviados fuera del momento de la sesión del curso (después de las X:55 a.m.). Si terminan antes, pueden abandonar el salón.
  • Los informes de laboratorio/práctica, se entregan estrictamente en un documento y con las condiciones dadas más adelante en la sección algunas prácticas: Arquitectura de computadores#ALGUNAS PRACTICAS
  • Recuerden las sesiones prácticas no se recuperan, la no entrega de informes e inasistencia injustificada da como nota cero (0.0) en esa práctica. Si necesita faltar a una práctica informe previamente en la sesión teórica justificando su inasistencia para recuperarla posteriormente. Si por motivo de fuerza mayor no pudo asistir y puede justificarla, debe hacer el tramite ante la escuela para solicitar la recuperación de la misma, siguiendo la metodología de solicitud de supletorios.
  • Si se descubre que uno de los integrantes del informe entregado en la práctica respectiva, no asistió, la calificación de la misma es cero (0.0) por fraude, tanto al que no asistió como el que lo incluyó en el mismo por complicidad.

TEMÁTICAS DE PROYECTOS

Los proyectos que están dados, deben tratarse como ingenieros de sistemas y especialistas en arquitectura de computadores, desde nuestro punto de vista como ingenieros sin olvidar que en este curso hemos estado tratando la relación hardware y software. Téngalo presente para el desarrollo del mismo. No olviden ver las condiciones dadas anteriormente. Se recomienda usar los recursos bibliográficos que puede acceder por parte de la UIS en: http://tangara.uis.edu.co/ y vea los trabajos disponibles de los semestres anteriores en este sitio.

Temáticas de Proyectos (2 Semestre de 2018)

Se publicarán y asignarán la primera semana de septiembre. Se publicarán al regreso después del cese de actividades en el 2019.

Grupo Participantes Tema Artículo Presentado (Disponibles a partir del 16 de Febrero)
1 2130056 - ACEROS BLANCO CARLOS JAVIER

2151257 - ALVAREZ CASTILLO BRYAN DANIEL

2161907 - APARICIO NOVA MARIA CAMILA

2161069 - ARANGO SERRANO JUAN JOSE

Arquitecturas computacionales para Inteligencia Artificial:

Uno de los artículos más citados en computación ha sido el publicado por Gordon Bell y Peter Freeman en 1987 acerca de los requerimientos computacionales para que la inteligencia artificial fuera útil ( DOI: 10.1145/1480083.1480099 Conference: Fall Joint Computer Conferenc, At Anaheim, CA, Volume: 41 : http://dl.acm.org/ft_gateway.cfm?id=1480099 )

Más de 30 años después, sin el desarrollo y las prestaciones actuales de las arquitecturas computacionales, ningún algoritmo de Inteligencia Artificial podría ser implementado y menos aún todos sus usos, tanto así que se dice que estamos en una nueva era dorada de la computación, como la que se tuvo hace 40 años. Observando el artículo reciente propuesto por Jeff Dean, David Paterson y Cliff Young ( https://ieeexplore.ieee.org/document/8259424 ) y comparándolo con el de Gordon Bell, responda en su artículo principalmente si esos requerimientos de hace 30 años se han cumplido hoy en dia y cuales son las principales diferencias y similitudes con lo propuesto en esos años. Igualmente, cuales son las implicaciones sociales en el contexto colombiano y discuta si de alguna manera, se es consciente de esa realidad en torno a la relación Arquitectura de Computadores : Alto Desempeño Computacional : Inteligencia Artíficial.

TF1
2 2151824 - CASTELLANOS CONGUTA YANN KARLO

2142611 - CASTELLANOS VERGAÑO LUIS GERARDO

2162042 - ARENAS MARQUEZ MARTHA ELIANA

2162061 - BARRERA MANRIQUE CARLOS DANIEL

Arquitecturas computacionales para Blockchain:

Mucho se habla de blockchain pero desde el punto de vista de tecnología es necesario tener en cuenta tendencias, requerimientos e implicaciones. La bilbliografía especializada trata el tema teniendo en cuenta por supuesto, que uso se le da la tecnología, como es el caso del articulo presentado por Zibin Zheng ; Shaoan Xie ; Hongning Dai ; Xiangping Chen ;y Huaimin Wang ( https://ieeexplore.ieee.org/abstract/document/8029379 ) Teniendo como base este artículo (pero por supuesto buscando en otras fuentes de información), ¿ tecnológicamente que se debería tener en cuenta para implementar blockchain en algún tipo de aplicación en Colombia? Describa un par de ejemplos, haciéndo enfásis en la arquitectura computacional (hardware/software) y por supuesto, como ingenieros de sistemas que son, discuta acerca de las implicaciones que tiene el uso de blockchain críticamente, más allá de las bondades. (Recomiendo buscar Block Chain Alianza y Block Chain Colombia igualmente).

TF2
3 2152500 - CORDOBA CARRERO JUNIOR ALEJANDRO

2110228 - DIAZ GUERRERO SARA INES

2134305 - CERA BUSTAMANTE ANDRES FELIPE

2160041 - CORZO GOMEZ OSCAR ANDRES

Arquitecturas Computacionales Fog and Edge:

Desde el desarrollo de Internet, diferentes paradigmas computacionales se han propuesto, los cuales sin duda alguna han tenido un importante impacto en el desarrollo tecnológico y social de nuestra civilización. El Internet de las Cosas y su relación con la computación en la nube, desde hace varios años plantea dos nuevos paradigmas que no pueden verse de manera aislada: Fog and Edge Computing. Teniendo en cuenta el artículo de referencia que se da de base para el desarrollo de este trabajo, ¿cuales son las diferencias entre Fog and Edge Computing? ¿En que se relacionan y por que no pueden separarse los dos paradigmas? Con un ejemplo en la Universidad Industrial de Santander, muestre este paradigma. (https://arxiv.org/pdf/1808.05283.pdf)

TF3
4 2161073 - GOMEZ ORTIZ ANDRES FELIPE

2152497 - GOMEZ ALBIADEZ NATALIA ANDREA

2130535 - GOMEZ ESTUPIÑAN ANGEL FABIAN

2122910 - VILLABONA ARDILA DAVID

Arquitecturas Computacionales para Computación Cuántica:

La Computación Cuántica, más allá que especulativa es una realidad y hoy en dia es un apasionante tema de estudio y un intenso dominio que si bien, inicialmente ha sido explorada por físicos y matemáticos, los problemas fundamentales que existen se tratan desde el punto de vista computacional y arquitectural. Una interesante comparación entre dos arquitecturas existentes puede ser vista en: https://www.pnas.org/content/114/13/3305/ así como un artículo explicativo sobre una arquitectura determinada en: https://dl.acm.org/citation.cfm?id=3177152 . Teniendo en cuenta estas dos fuentes de información como base, explique computacionalmente (desde el punto de vista como ingeniero de sistemas y como arquitecto computacional) como es precisamente esa arquitectura (procesamiento, tipos de procesadores, soporte hacia lenguaje de máquina, etc.)

TF4
5 2162094 - GARAVITO CHTEFAN MAXIMILIANO

2143601 - FRANCO CASADIEGO JOAN SEB