Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Arquitectura de Computadoras

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

Ingeniería en Computación

Depto. de Electricidad, Electrónica y Computación

ARQUITECTURA DE COMPUTADORAS

1. OBJETIVOS
1) Manejar medidas de performance que permitan comparar diversos sistemas de Computadora.
2) Emplear criterios para diseñar un set de instrucciones y describir un set para un procesador RISC.
3) Evaluar ventajas y desventajas de la arquitectura RISC frente a la CISC.
4) Dimensionar el sistema de Entrada/Salida de una computadora y definir para casos concretos de
E/S la disminución de performance del CPU debido a ella.
5) Calcular el factor de aceleración, rendimiento y tiempos de ejecución de sistemas que incorporan
paralelismo y pipelining.
6) Evaluar cuantitativamente las mejoras que se obtienen con nuevas arquitecturas de memoria:
entrelazado de memoria, memoria virtual y caché.
7) Partiendo de tres modelos distintos de CPU, realizar los cambios necesarios para la implementación
de nuevas instrucciones: Uniciclo, Multiciclo y Pipelining.
8) Plantear distintos diseños que permitan reducir el consumo de procesadores.
9) Describir los principales problemas que se deben solucionar al pasar de una computadora basada
en un único procesador a otra con multiprocesamiento.
10) Calcular el factor de aceleración de un programa que se ejecuta con multiprocesamiento.

2. CONTENIDOS
1) INTRODUCCIÓN A LA ESTRUCTURA DE COMPUTADORAS
Conceptos Básicos. Jerarquía de Memorias. Concepto de Sistema Operativo. Modos Usuario /
Supervisor. Ejemplos de aplicación. Modelo Jerárquico por Capas.
2) COSTO Y RENDIMIENTO
Costo de los Circuitos Integrados. Definición de Rendimiento. Productividad. Tiempo de Respuesta
y de CPU. Métricas de Rendimiento: Ciclos por Instrucción, Ciclo de Reloj, Instrucciones por
programa. Relación con los niveles de organización del computador. Criterios de mejora y de
selección. Ejemplos. Benchmarks. Ley de Ahmdal.
3) PARALELISMO Y SEGMENTACIÓN
Conceptos: inicialización, estado de régimen, finalización. Características de los trabajos. Perfil del
trabajo. Eficiencia. Tiempo de ejecución. Productividad. Latencia. Ejemplos de aplicación: el ciclo
de máquina, Sumador, Memory Interleaving y Fast RAM. Sistemas Reales: etapas con distintos
tiempos de ejecución - el concepto de cuello de botella, pipeline con trabajos no iguales.
Coordinación y Validez del modelo. Doagrama de precedencias y riesgos.
4) ARQUITECTURA DEL SET DE INSTRUCCIONES (ISA)
Tipos de Instrucciones. Distintas arquitecturas de Set de Instrucciones. Registros. Modos de
Direccionamiento. Ejemplos. Lenguajes de alto nivel. Errores y Debugging. Registro de Estado. Pila.
Ejemplos de Implementación. Subrutinas.
5) DISEÑO DE UN ISA

Ing. en Computación – DEEC – FACET – UNT 1/5


Ingeniería en Computación
Depto. de Electricidad, Electrónica y Computación

Características del Set de Instrucciones. Criterios de comparación de distintos Sets. Estadísticas de


uso de instrucciones y modos de direccionamiento. Diseño del formato de la instrucción: fijo y
variable. Instrucciones de Salto. Tipos de Datos. Métricas.
6) ISA DEL MIPS Y OTRAS ARQUITECTURAS
Memoria y Registros. Formatos de la Instrucción. Tipo de Datos. Instrucciones Aritméticas, Lógicas,
Transferencia de Datos, Transferencia de Control, Comparaciones. Convenciones para uso de
registros y llamados a subrutinas. Instrucciones de ejecución retardada (saltos y carga). Ejemplo de
arquitectura CISC: 80x86.
7) DISEÑO DE UN CPU DE CICLO ÚNICO
Componentes combinacionales y secuenciales. Pasos para el diseño. Especificación en lenguaje de
transferencia de registros (RTL). Instrucciones Registro-Registro, Inmediatas, Saltos, Load y Store.
Componentes del camino de datos. Señales de Control. Control Local del ALU. Diseño del control
central. Tiempos de ejecución. Ventajas y Desventajas.
8) DISEÑO DE UN CPU MULTI-CICLO
Las Etapas del Camino de Datos. Ventajas respecto al Procesador de ciclo único. Especificación para
cada tipo de instrucción. Señales de Control. Diagrama de estado. Implementación del Control
mediante PLA, ROM. Comparación de las implementaciones. Cambios para soportar excepciones.
9) CONCEPTOS DE MICROPROGRAMACIÓN
Microarquitectura. Microinstrucciones. El microprograma como intérprete de instrucciones.
Implicancias. Microprogramación vertical y horizontal. Ventajas y Desventajas. Ejemplos con otras
arquitecturas del CPU. Manejo de las excepciones y su microprogramación.
10) DISEÑO DE UN CPU SEGMENTADO
Eficiencia del CPU multi-ciclo. Las etapas del camino de datos del CPU segmentado y su
funcionamiento para los distintos tipos de instrucciones. Control Estacionario del CPU.
Comparación con los diseños de ciclo único y multi-ciclo. Efectos y resolución de riesgos:
estructurales, de datos y de control. Solución de riesgos por Hw y por Sw.
11) CONCEPTOS DE SEGMENTACIÓN AVANZADA Y PARALELISMO
Manejo de excepciones. Instrucciones de punto flotante. Riesgos de Datos: lectura después de
escritura (RAW), escritura después de lectura (WAR) y escritura después de escritura (WAW).
Riesgos de Control: mecanismos de predicción de saltos. Eliminación de riesgos mediante diseño:
primera generación RISC. Conceptos de arquitecturas superescalares, vectoriales, de ancho de
palabra extendida (VLIW). Desenrollado de lazos. Predicción de saltos y ejecución especulativa.
Ejemplos: Pentium – Itanium.
12) CACHE
Tendencias tecnológicas. Concepto de Cache. Organización: mapeo directo, asociativo y asociativo
por conjuntos. Tamaño de Bloques. Fallos: compulsivos, conflictos, capacidad, invalidez. Políticas:
reemplazo de bloque, escrituras: a través, retrocopiado, buffer de escrituras. Alternativas para la

Ing. en Computación – DEEC – FACET – UNT 2/5


Ingeniería en Computación
Depto. de Electricidad, Electrónica y Computación

Mejora de Performance de Cache: tiempo de acierto, tasa de fallos, penalidad por fallos. Cache de
Nivel 2. Ejemplos: Pentium y Power PC.
13) MEMORIA VIRTUAL
Introducción. Definición. Nomenclatura. Ventajas. Mapeo. Protecciones. Unidad de manejo de
memoria (MMU). Tamaño de páginas. Tablas de Páginas. Tabla de traducción rápida de direcciones
(TLB). Funcionamiento de Cache y TLB en paralelo. Protecciones. Algoritmos de reemplazo de
páginas. Ejemplos de implementación en procesadores modernos.
14) ENTRADA / SALIDA (E/S)
Rol del Sistema Operativo. Métodos de E/S: Programa Principal, Interrupciones, Acceso Directo a
Memoria, Procesadores de E/S. Performance de sistemas de E/S. Métricas. Modelo Productor-
Servidor. Características de las E/S a disco según las aplicaciones: Supercomputadores,
Transacciones, Sistema de Archivos. Discos Magnéticos. Tendencias Tecnológicas. Confiabilidad y
Disponibilidad. Arreglos de Discos. Memoria Flash. Ejemplos.
15) BUSES
Concepto. Características esenciales. Clasificación. Organización. Buses paralelos vs buses seriales.
Tendencias. Sistema de Buses. Buses Sincrónicos y Asincrónicos. Ejemplo de validación de un
sistema de computador con buses.
16) DISEÑO PARA BAJO CONSUMO
Energía de Conmutación. Corrientes de Pérdida. Alternativas para reducción de consumo. Mejoras
en la fabricación: disminuir distancias, adaptación al producto. Múltiples núcleos Vs. Potencia.
Ejemplos: IBM PS3, Intel Dual Core, Ipod. Transistores para apagar la lógica. Caminos no críticos a
menor frecuencia. Alimentación con diferentes tensiones en el chip.
a) PROCESAMIENTO PARALELO
Los principales problemas que detienen la evolución de los procesadores: Consumo, brecha
con Memoria, aprovechamiento de paralelismo a nivel de instrucción (ILP). Multiprocesadores:
ventajas y desventajas. Clasificación. Escalabilidad. Multihilo Vertical, Multihilo multichip,
Multihilo simultáneo. Memoria de Acceso Uniforme (UMA). El problema de coherencia en el
cache. Falsa Incoherencia. Otras arquitecturas: NUMA, pasaje de mensajes, Clusters. Ejemplos.
Multiprocesamiento para aplicaciones Embebidas, ejemplos. Aceleración y Eficiencia.

3. BIBLIOGRAFÍA

 D. A. Patterson, J. L. Hennessy. Computer Organization and Design, 5th Edition. Morgan Kauffman.
2014.
 D. A. Patterson, J. L. Hennessy. Estructura y Diseño de Computadores. Reverté. 2011.
 V. Heuring, H. F. Jordan. Computer Systems Design and Architecture. Addison-Wesley. 1997.

Ing. en Computación – DEEC – FACET – UNT 3/5


Ingeniería en Computación
Depto. de Electricidad, Electrónica y Computación

4. METODOLOGÍA DE ENSEÑANZA

 Clases teóricas: 4 horas semanales, con exposición basada en transparencias (brindadas


previamente al alumno mediante nuestro sitio web) y uso de pizarra. Se realizan actividades
innovadoras:
a) “Enseñanza entre pares” para clarificar y fijar conceptos.
b) Detección de Preconceptos.
 Trabajos prácticos de laboratorios: se desarrollan 2 trabajos prácticos de laboratorio sobre
temáticas vertidas en clase. La duración de cada trabajo es de 4 horas repartidos en 2 clases de 2
hs.
 Trabajos prácticos de resolución de problemas: 10 trabajos de resolución de problemas de
ingeniería sobre la temática vertida en clase.
 Los problemas de evaluaciones de trabajos prácticos y parciales son siempre problemas nuevos que
no se encuentran en libros. Plantean situaciones nuevas y se evalúan a libro abierto, de igual forma
que se trabaja en cualquier empresa. Por esta razón en el sitio Web de la cátedra se encuentran
publicados problemas de evaluaciones de años anteriores y también de los parciales.
 Se dispone de un sitio en Facebook: https://www.facebook.com/groups/arqcom/. Los estudiantes
realizan consultas en cualquier momento y desde cualquier lugar. En general son los mismos
estudiantes quienes les responden a las dudas planteadas, siempre con la supervisión de un
docente que interviene si fuera necesario.
 Para la formación práctica se emplea una metodología inductiva. Problemas de ejercitación para
prácticos se entregan una semana previa a su evaluación, con guía de algunos problemas resueltos.
Los estudiantes intentan, por su cuenta, resolverlos contando con posibilidad de consultas al cuerpo
docente de la cátedra. La evaluación del práctico se realiza con problemas que plantean situaciones
nuevas empleando los conceptos con que se ejercitaron y aprendieron en clases teóricas. Al
terminar la evaluación, el Docente a cargo de la misma muestra la resolución de un problema del
tema con complejidad superior.

5. EVALUACIÓN
Para regularizar la asignatura, se deben cumplir los siguientes requisitos:

 Aprobación de todos los trabajos de laboratorio.


 Promedio superior o igual a 40/100 entre los dos exámenes parciales del curso.
 Promedio ponderado de 40/100 entre evaluaciones de prácticos, laboratorios, parciales,
seminarios de proyectos y cuestionarios de clase.
 Asistencia superior o igual al 80% de las evaluaciones de prácticos.
Para aprobar la materia (en caso que sea regular). La evaluación es del tipo distribuida contemplando la
calificación de todas las prácticas, trabajos de laboratorio, diseño y seminario de proyecto, cuestionarios
en clase y parciales.

6. CARGA HORARIA

 Teoría: 4 horas semanales distribuidas en dos clases de 2 horas cada una.

Ing. en Computación – DEEC – FACET – UNT 4/5


Ingeniería en Computación
Depto. de Electricidad, Electrónica y Computación

 Resolución de problemas de Ingeniería (Práctica): clases de 2 horas semanales. La frecuencia de las


clases prácticas depende del avance de los conceptos teóricos vertidos en la teoría y de las clases
de práctica de laboratorio: cuando hay clases de laboratorio no hay clases de resolución de
problemas y viceversa.
 Formación Experimental: En total dos laboratorios empleando simuladores, el simulador de cache
ha sido realizado por la Cátedra. Cada laboratorio dura 4 hs y se realiza en dos clases de dos hs c/u.
La primera clase incluye la instrucción para el laboratorio y ejemplos realizados por el docente, la
segunda clase incluye la evaluación del laboratorio.
 Carga Horaria Total: 6 hs. semanales – 96 hs. por cuatrimestre.

7. OTRA INFORMACIÓN
Articulación: Para cursar esta asignatura se requiere haber regularizado el curso “Sistemas con
Microprocesadores y Microcontroladores”, y haber aprobado los cursos “Materiales y Dispositivos
Electrónicos” y “Probabilidad y Estadística”.
Pre-Conceptos: Se ha notado que los alumnos ingresan al curso con una serie de pre-conceptos
obtenidos de su experiencia personal con computadoras, desde su niñez hasta el presente. Estos pre-
conceptos generalmente no son correctos y resultan muy difíciles de cambiar. Por tal razón se realiza
una primera actividad en que se da a los estudiantes recién ingresados al curso un cuestionario que
deben contestar en función de su conocimiento previo al cursado – sin que cuente en la calificación. Se
configura así una base sobre la cual trabajar durante el cursado.
Actividades entre Pares: La cátedra viene realizando, desde hace varios años, actividades entre pares.
Cada actividad consiste en una serie de situaciones que plantean varias soluciones posibles, los
estudiantes realizan una primera votación la cual se registra. A continuación discuten en grupo durante
unos minutos y votan nuevamente. En general la segunda votación se inclina mayoritariamente por la
solución correcta: los estudiantes se enseñan entre sí. El profesor completa la explicación para casos en
que no se verifique una amplia mayoría por la respuesta correcta. Los estudiantes han manifestado en
encuestas luego de cada actividad, su gran entusiasmo y valoración del método.

Sitio de la cátedra: http://microprocesadores.unt.edu.ar/procesadores/ - disponibles para descargar:

 Diapositivas que se emplean en las clases tanto teóricas como prácticas.


 Problemas de ejercitación para los trabajos prácticos.
 Trabajos prácticos y exámenes parciales de años anteriores.

Ing. en Computación – DEEC – FACET – UNT 5/5

También podría gustarte