Encabezado Facultad de Ciencias
Presentación

Ciencias de la Computación (plan 2013) 2022-2

Cuarto Semestre, Organización y Arquitectura de Computadoras

Grupo 7065, 28 lugares. 8 alumnos.
Profesor Luis German Pérez Hernández lu mi 13 a 14:30 004 (Yelizcalli)
Ayudante Daniel Michel Tavera ma ju 13 a 14 004 (Yelizcalli)
Ayud. Lab. Fernando Michel Tavera vi 12 a 14 Taller de Sistemas Operativos, Redes de Cómputo, Sistemas Distribuidos y Manejo de Información
 

El presente curso, aunque será impartido en la modalidad presencial, por cuestiones de la pandemia las primeras 4 semanas serán impartidas en línea (del 14 de febrero al 12 de marzo), utilizando un aula virtual de “Google Classroom”.

Google Classroom del grupo:

https://classroom.google.com/c/NDY1MDM4OTY5MDc4?cjc=u5pimsf

Código de la clase: u5pimsf

.Las clases en línea se impartirán por videoconferencia por medio de la herramienta “ZOOM”, las cual se les enviará el enlace utilizando el aula virtual y se realizarán en el horario indicado por la facultad.

Para los estudiantes que no puedan asistir a la primera clase (o alguna posterior en las primeras 4 semanas), se grabarán dichas sesiones y se subirán al aula virtual. Por ello es necesario que se inscriban al aula virtual para que tengan acceso al material del curso. Si tienen alguna pregunta por favor escriban un correo al profesor o a los ayudantes.

Este curso está dirigido a cualquier estudiante de las carreas de Ciencias de la Computación, Matemáticas, Física y Actuaría con conocimientos previos de programación.

Introducción:

La materia de Organización y Arquitectura de Computadoras estudia los atributos físicos de los sistemas de cómputo, la cual el programador debe de considerar para la elaboración de sus programas. Dichos atributos tienen un impacto directo en la ejecución lógica del programa.

También se estudia las unidades funcionales de los sistemas de cómputo y sus interconexiones, que dan lugar a sus especificaciones arquitectónicas.

Temario:

I. Principios cuantitativos del diseño de arquitecturas

I.1 Tendencias tecnológicas y de uso.

1.2 Medidas de desempeño de equipo de cómputo.

II. Representación de datos en una computadora digital

II.1 Sistemas numéricos posicionales.

II.2 Sistemas numéricos bases 2, 8 y 16.

II.3 Representación de enteros con signo en una computadora digital

II.4 Representación de enteros con signo en una computadora digital

III. Álgebra booleana

III.1 Postulados del álgebra booleana

III.2 Formas normales conjuntivas y disjuntivas

III.3 Minimización de funciones

IV. Circuitos combinacionales y secuenciales

IV.1 Circuitos combinacionales elementales: sumadores, comparadores, decodificadores y multiplexores

IV.2 Cerrojos (latches) SR, JK, D, maestro-esclavo

IV.3 Diagramas de estado, diseño de circuitos secuenciales

V. Diseño del conjunto de instrucciones

V.1 Tipos de arquitectura del conjunto de instrucciones

V.2 Arquitecturas load-store y su relación costo-beneficio

V.3 Tipos y tamaño de operandos

V.4 Modos de direccionamiento

V.5 Formatos de instrucción y su proceso de ejecución

I Principios cuantitativos del diseño de arquitecturas

II Representación de datos en una computadora digital

III Álgebra booleana

IV Circuitos combinacionales y secuenciales

V Diseño del conjunto de instrucciones

VI Unidad de control

VII Cause segmentado de ejecución (pipeline)

VIII La relación hardware-software

IX La jerarquía de memoria

X Entrada/Salida y canales

XI Sistemas multiprocesador

XII Arquitecturas de vanguardia

VI. Unidad de control

VI.1 El diagrama de flujo de datos (datapath).

VI.2 Señales de control.

VI.3 Unidades de control microprogramadas y alambradas (hardwired)

VII. Cause segmentado de ejecución (pipeline)

VII.1 Paralelismo a nivel de instrucción (ILP)

VII.2 Diseño de un procesador con cause segmentado

VII.3 Conictos (hazards) de control y de datos

VII.4 Esquemas de predicción de salto, salto retardado (delayed branch)

VIII. La relación hardware-software

VIII.1 El papel del compilador en el desempeño del sistema

VIII.2 La relación entre el sistema operativo y el hardware

IX. La jerarquía de memoria

IX.1 Principio de localidad espacial y temporal

IX.2 Esquemas de colocación de bloques en un cache

IX.3 Políticas de reemplazo de bloque en los caches

IX.4 Manejo de escrituras en el cache

IX.5 Coherencia, conceptos y protocolos

IX.6 Memoria virtual

X. Entrada/Salida y canales

X.1 Canales, conceptos y sincronización

X.2 Esquemas de arbitraje de canal

X.3 Dispositivos de almacenamiento secundario, medidas de desempeño

XI. Sistemas multiprocesador

XI.1 Clasificación de Flynn

XI.2 Arquitecturas paralelas con memoria distribuida

XI.3 Arquitecturas paralelas con memoria centralizada

XI.4 Factores limitantes de la ley de Moore

XI.5 Paralelismo a nivel de hilo de ejecución (Thread Level Parallelism)

XI.6 Arquitecturas multinúcleo

XII. Arquitecturas de vanguardia

XII.1 Ejecución fuera de orden, despacho dinámico

XII.2 Arquitecturas VLIW y EPIC

XII.3 Especulación, predicación, soporte para software pipeline.

Forma de evaluación:

3 exámenes parciales y 3 prácticas con 1 adicional de recuperación. Los detalles se darán conocer en la 1ra sesión del curso y se podrá modificar dicha evaluación.

Horario:

Grupo 7065.

Profesor: Luis German Pérez Hernández. Días de clase: lunes y miércoles de 13 a 14:30

Ayudante: Daniel Michel Tavera. Días de clase: martes y jueves de 13 a 14

Ayudante de Laboratorio: Fernando Michel Tavera. Días de clase: viernes de 12 a 14

Correos:

Profesor: german.perez@ciencias.unam.mx

Ayudantes: daniel_michel@ciencias.unam.mx
fernando_michel@ciencias.unam.mx

 


Hecho en México, todos los derechos reservados 2011-2016. Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente completa y su dirección electrónica. De otra forma requiere permiso previo por escrito de la Institución.
Sitio web administrado por la Coordinación de los Servicios de Cómputo de la Facultad de Ciencias. ¿Dudas?, ¿comentarios?. Escribenos. Aviso de privacidad.