Ministerio de Cultura y Educación
Universidad Nacional de San Luis
Facultad de Ciencias Físico Matemáticas y Naturales
Departamento: Informatica
Área: Area II: Sistemas de Computacion
(Programa del año 2025)
I - Oferta Académica
Materia Carrera Plan Año Periodo
() ARQUITECTURA DEL PROCESADOR II ING. EN COMPUT. 28/12 2025 2° cuatrimestre
ARQUITECTURA DEL PROCESADOR II LIC.CS.COMP. RD-3-1/2023 2025 2° cuatrimestre
ARQUITECTURA DEL PROCESADOR II LIC.CS.COMP. RD-3-1/2023 2025 2° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
ARROYUELO BILLIARDI, JORGE A. Prof. Responsable P.Adj Exc 40 Hs
ARROYUELO, MONICA DEL VALLE Auxiliar de Práctico JTP Exc 40 Hs
III - Características del Curso
Credito Horario Semanal Tipificación Duración
Teórico/Práctico Teóricas Prácticas de Aula Práct. de lab/ camp/ Resid/ PIP, etc. Total B - Teoria con prácticas de aula y laboratorio Desde Hasta Cantidad de Semanas Cantidad en Horas
Periodo
 Hs. 2 Hs. 2 Hs. 1 Hs. 5 Hs. 2º Cuatrimestre 04/08/2025 14/11/2025 15 75
IV - Fundamentación
La creciente demanda de mayor poder computacional de los procesadores ha dado origen a arquitecturas complejas con unidades funcionales especializadas, memorias de alta velocidad, división de tareas en etapas concurrentes y ejecución de instrucciones a medida que están disponibles sus operandos. Todas estas particularidades hacen necesaria la aplicación de técnicas y estrategias más complejas que las involucradas en los procesadores convencionales. Las arquitecturas avanzadas pueden ser aprovechadas mediante prácticas de programación que tengan en cuenta sus características particulares.
V - Objetivos / Resultados de Aprendizaje
Al finalizar el curso los alumnos deberán poder:
- Identificar los principales parámetros que miden el desempeño de los procesadores.
- Reconocer las similitudes y diferencias entre los distintos esquemas de memorias caché.
- Desarrollar el análisis cuantitativo del desempeño de procesadores provistos con jerarquía de
memoria.
- Conocer las características de los procesadores segmentados y las particularidades
consideradas al medir el desempeño de los mismos.
- Identificar los caminos de datos empleados por los distintos tipos de instrucciones en los
procesadores RISC.
- Determinar cómo se administran las principales unidades funcionales y las estrategias
empleadas para ejecutar instrucciones fuera de orden.
- Percibir la complejidad requerida para soportar interrupciones en los sistemas que explotan
el paralelismo a nivel de instrucción.
- Conocer las características de los sistemas multiprocesadores y multinúcleo.
- Identificar, formular y resolver problemas de informática.
- Utilizar técnicas y herramientas de aplicación en la informática.
- Generar desarrollos tecnológicos y/o innovaciones tecnológicas.
- Comunicarse de manera efectiva.
- Desempeñarse en equipos de trabajo
- Actuar con ética y responsabilidad.
- Evaluar y actuar en relación con el impacto social de su actividad en el contexto global y
local.
- Aprender continuamente nuevas evoluciones en las arquitecturas de procesadores.
VI - Contenidos
Contenidos mínimos: Clasificación de Flynn. Arquitecturas RISC. Medidas de Performance. Paralelismo a nivel de instrucción, PIPELINE (segmentación), riesgos y manejo de excepciones. Planificación dinámica de instrucciones y predicción de saltos. Jerarquía de Memoria y organización de memorias Cache. Multiprocesadores y procesadores multinúcleo (Multicore). Arquitecturas reconfigurables (CPLD y FPGA). Lenguajes de descripción de hardware. Consumo Energético en Sistemas Digitales, materiales usados en el proceso de construcción y su impacto ambiental.


Unidad 1: Clasificación de Flynn. Procesadores CISC y RISC. Caso de estudio de procesador RISC: Risc-V. Implementación uniciclo, camino de datos (Datapath) y señales de control (Control Unit). Conjunto de instrucciones (Instruction Set), tipos de instrucciones según su modo de direccionamiento.
Frecuencia y ciclo de reloj, tiempo por instrucción (camino crítico). Desempeño, ecuación de tiempo de CPU (CPU-Time), aceleración (Speed-up), corolario de la Ley de Amdahl.

Unidad 2: Procesadores Segmentados (Pipelining). ¿Qué es la segmentación? Comportamiento básico de los procesadores segmentados. Camino de datos y señales de control para la implementación segmentada del Risc- V. Desempeño ideal. Problemas de la segmentación: los riesgos (Hazards). Distintos tipos de riesgos: estructurales, de datos y de control. Dependencias de datos y riesgos de datos: RAW, WAW, WAR. Los atascos (stalls). Adelantamiento (Fordwarding). Atascos inevitables. Impacto de los riesgos en el desempeño de los procesadores segmentados. Penalidades por saltos. Predicción dinámica de saltos. Salto demorado (Delay Slot). Instrucciones de punto flotante en
procesadores segmentados. Manejo de excepciones en procesadores segmentados. Planificación estadística de instrucciones para reducir los riesgos de la segmentación.

Unidad 3: Jerarquía de memorias. Memorias Caché. Éxito(Hit) y Fallo(Miss). Consideraciones generales del empleo de caché. Organizaciones de caché: directas, asociativas y conjunto asociativo. Comportamiento de las memorias caché, penalidades por fallo e impacto de la jerarquía de memoria en el desempeño del procesador. Tipos de caché: write-back y write-through. Manejo de las escrituras. Uso de buffers. Máquina de estados finita de un controlador de caché.


Unidad 4: Paralelismo a nivel de instrucción (Pipelining Avanzados). Despacho múltiple estático. Desenrollado de iteraciones en despacho múltiple. Despacho múltiple dinámico. Procesadores Superescalares. Finalización fuera de orden. Estaciones de reservación. Renombramiento de registros. Buffer de reordenamiento. Algoritmo de Tomasulo. Multiprocesadores, procesadores multinúcleo (Multicore) y Coherencia de caché.


Unidad 5: Arquitecturas reconfigurables
Arquitecturas reconfigurables (CPLD y FPGA). Celdas lógicas, bloques I/O y redes de interconexión. Lenguajes de descripción de hardware. Especificación de circuitos combinacionales y secuenciales.

Unidad 6: Impacto Ambiental.
Consumo Energético en Sistemas Digitales, materiales usados en el proceso de construcción. Impacto ambiental.

VII - Plan de Trabajos Prácticos
Las clases prácticas se dividen en Prácticos de Aula y Prácticas de Laboratorio. Las prácticas de aula consistirán en la resolución de ejercicios en lápiz y papel, mientras que en las prácticas de laboratorio el alumno deberá utilizar herramientas informáticas donde se desarrollarán y evaluarán los conceptos
teóricos y metodologías prácticas.

Práctica 1: Programación Assembly.
Ejercicios de aula: Programación en lenguaje de ensamble del Risc-V. Camino de datos y señales de control para una implementación uniciclo. Traducción de instrucciones de lenguaje de ensamble a lenguaje máquina.

Ejercicios de laboratorio: Programación en lenguaje de ensamble usando el simulador BRisc-V
(Bhttps://ascslab.org/research/briscv/index.htm). Traducción de instrucciones en lenguaje de alto nivel y segmentos de código a lenguaje de ensamble del Risc-V.

Práctica 2: Medidas de Performance.
Ejercicios de aula: Uso de la ecuación de tiempo de la CPU (CPU-Time), incidencias de las mejoras en la implementación de una arquitectura (Speed-Up) y Corolario de la Ley de Amdahl para calcular tiempos con la aplicación de mejoras.

Práctica 3: Segmentación y Riesgos.
Ejercicios de aula: Implementación segmentada del Risc-V. Análisis del camino de datos, latches y señales de control. Impacto de los problemas de la segmentación: riesgos estructurales y de datos.
Los riesgos de control: técnicas utilizadas para las instrucciones de salto. Planificación estática de instrucciones para reducir los riesgos.
Ejercicios de laboratorio: Utilización del simulador WebRisc-V (https://webriscv.dii.unisi.it) para el análisis del camino de datos, detección de riesgos y señales de control del procesador segmentado.
En esta actividad práctica, tanto con los ejercicios de aula como con los de laboratorio, se aborda la identificación, formulación y resolución de problemas de informática relacionados a las arquitecturas de procesadores, además se promueve generación de desarrollos tecnológicos y/o innovaciones tecnológicas.

Práctica 4: Jerarquía de Memoria y Memorias Caché.
Ejercicios de aula: Desempeño y ecuación de CPU-Time considerando jerarquía de memoria. Técnicas de ubicación de bloques en correspondencia directa, conjuntos asociativos y completamente asociativa. Pasos en la lectura y escritura de la memoria caché. Reduciendo los fallos de caché: Incidencia del tamaño de la caché en el desempeño de los procesadores. Determinación de la traza de
referencias a memoria y la tasa de aciertos y fallos.
Ejercicios de laboratorio: Uso del simulador SMPCache.
En esta práctica, tanto con los ejercicios de aula como con los de laboratorio, se aborda la identificación, formulación y resolución de problemas de informática relacionados a las arquitecturas de procesadores, además se promueve generación de desarrollos tecnológicos y/o innovaciones tecnológicas.

Práctica 5: Paralelismo a Nivel de Instrucción.
Ejercicio de aula: Planificación dinámica y el manejo de los distintos tipos de riesgos. Algoritmo de Tomasulo. Renombramiento. Buffer de reorganización. Planificación estática de instrucciones para arquitecturas de despacho dual. Protocolos de coherencia de caché: MSI, MESI.
En esta práctica, tanto con los ejercicios de aula como con los de laboratorio, se aborda la identificación, formulación y resolución de problemas de informática relacionados a las arquitecturas de procesadores, además se promueve generación de desarrollos tecnológicos y/o innovaciones tecnológicas.

Práctica 6: Arquitecturas Reconfigurables e Impacto Ambiental.
Ejercicios de aula: Análisis de impacto ambiental de los procesadores.

Ejercicios de laboratorio: Especificación de circuitos combinacionales y secuenciales en lenguaje Verilog. Síntesis en FPGA.
En esta práctica, tanto con los ejercicios de aula como con los de laboratorio, se aborda la capacidad de evaluar y actuar en relación al impacto ambiental que provoca el uso de sistemas digitales. Además, se aborda la identificación, formulación y resolución de problemas de informática relacionados a las
arquitecturas de procesadores, además se promueve generación de desarrollos tecnológicos y/o innovaciones tecnológicas.

A lo largo del dictado de la actividad curricular mediante las actividades de laboratorio se aborda y evalúa la capacidad del alumno de utilizar técnicas y herramientas de aplicación en la informática. Además, se promueve el trabajo en equipo, mediante grupos de a lo sumo 3 (tres) personas y se evalúa el desempeño cooperativo y colaborativo mediante la presentación de ejercicios y defensa oral con preguntas a cada uno de los integrantes.
Los conceptos abordados en la materia son conceptos fuertemente relacionados entre sí y en casos particulares con conceptos adquiridos en otras asignaturas previas, por lo tanto, se induce al estudiante a realizar un proceso de aprendizaje continuo e incremental a medida que avanza el desarrollo de las unidades.
Se promueve la comunicación efectiva mediante la presentación de ejercicios prácticos, trabajos integradores, parciales y examen final (en caso de no promocionar) con defensa oral y/o escrita, donde se debe utilizar lenguaje técnico de manera apropiada cumpliendo normas de presentación y aprobación.
Además, se promueve la acción ética y responsable y la evaluación del impacto social de las actividades en el contexto global y local, fomentando la reflexión individual y grupal sobre las implicancias éticas y sociales del uso de los sistemas digitales en situaciones concretas. Se discute y analiza los alcances
de la norma ISO 26000 como parte de esta formación, ayudando a interiorizar y asimilar los conceptos de responsabilidad ética y social de manera más profunda.
VIII - Regimen de Aprobación
- Regularización: Para regularizar la materia el alumno deberá cumplir con los siguientes requisitos: Aprobar los dos exámenes parciales, o alguna de sus dos recuperaciones, con nota mayo o igual a 7 (siete). Además, tener una asistencia a clases superior al 70% y haber presentado la totalidad de los ejercicios prácticos grupales e individuales solicitados.

- Promoción: Para promocionar la materia el alumno deberá cumplir con los siguientes requisitos: Aprobar los exámenes parciales, o alguna de sus dos recuperaciones, con nota mayor o igual a 7 (siete) y un trabajo integrador de contenidos de la materia con nota mayor o igual a 7(siete). Además, se deberá mostrar compromiso con la materia a través de asistencia superior al 80% de las clases y mediante la realización de los prácticos de aula y máquina solicitados como método de evaluación continua realizado por la cátedra. La nota final de promoción se computará promediando las notas obtenidas en los exámenes parciales
o sus recuperaciones, ejercicios grupales e individuales requeridos y la nota obtenida en el trabajo integrador. Cada instancia de evaluación se aprueba con una nota igual a 7 o superior, según lo establece la normativa vigente.

- Examen Final: Los alumnos regulares deberán rendir un examen final (que podrá ser oral o escrito) que consistirá en preguntas sobre los temas desarrollados durante el dictado de la materia.

- Alumnos libres: La materia no permite rendir en condición de libre, dado que, durante el transcurso de la misma, el alumno deberá desarrollar distintas prácticas de laboratorio y cumplir con el abordaje de ciertos ejes transversales, los cuales no pueden ser evaluados de forma adecuada en una instancia
de examen libre.
IX - Bibliografía Básica
[1] [1] Computer Organization & Design. David A. Patterson and John L. Hennessy. 5th Edition. Editorial Morgan Kaufmann. (2014).
[2] [2] Microprocessor Architecture. From simple pipeline to chip multiprocessor. Jean-Loup Baer. (2010).
[3] [3] Computer architecture a quantitative approach. John Hennessy y David Patterson. 5th Edition. Editorial Morgan Kaufmann. (2013).
[4] [4] Garp: A MIPS Processor with a Reconfigurable Coprocessor. John R. Hauser and John Wawrzynek. Proceedings of the IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM '97, April 16–18, 1997), pp. 24–33.
X - Bibliografia Complementaria
[1] [1] Computer Architecture design and performance. Barry Wilkinson.Editorial Prentice-Hall (1996).
[2] [2] Zemian & otros, “The PH processor: a soft embedded core for use in university research and teaching”.
[3] [3] P.M. Sailer & D.R. Kaeli "The DLX Instruction Set Architecture Handbook" Morgan Kaufmann, 1996.
[4] [4] M.Flynn, “Computer engineering 30 years after the IBM Model 91". IEEE, April 1998. Pag 27--31.
[5] [5] D.A. Pattersson, D.R. Ditzel "The Case for the Reduced Instruction Set Computer" Commun. ACM, year 1985, num.1, vol.28, pag.8--21.
XI - Resumen de Objetivos
Al finalizar el curso los alumnos deberán poder:

- Identificar los principales parámetros que miden el desempeño de los procesadores.

- Desarrollar diferentes análisis cuantitativos del desempeño de procesadores provistos con memoria caché.

- Conocer las características de los procesadores segmentados y superescalares; considerar las particularidades al medir el desempeño de los mismos.

- Conocer las características de los sistemas multiprocesadores y multinúcleo.

- Conocer las características y usos y flujo de diseño de las arquitecturas reconfigurables.

- Conocer el impacto ambiental del uso de sistemas digitales.
XII - Resumen del Programa
Clasificación de Flynn. Arquitecturas RISC. Medidas de Performance. Paralelismo a nivel de instrucción, PIPELINE (segmentación), riesgos y manejo de excepciones. Planificación dinámica de instrucciones y predicción de saltos. Jerarquía de Memoria y organización de memorias Cache. Multiprocesadores y
procesadores multinúcleo (Multicore). Arquitecturas reconfigurables (CPLD y FPGA). Lenguajes de descripción de hardware. Consumo Energético en Sistemas Digitales, materiales usados en el proceso de construcción y su impacto ambiental.
XIII - Imprevistos
 
XIV - Otros
Comunicarse con la cátedra Arquitectura del Procesador II.
bjarroyu@unsl.edu.ar - jarroyu@gmail.com
Departamento de Informática.
Facultad de Cs. Físico, Matemáticas y Naturales.
Universidad Nacional de San Luis.
Ejército de los Andes 950. CP D5700HHW. Bloque II, 1ºpiso, Box 21
Tel 0266 4520300 Interno 2121