Ministerio de Cultura y Educación
Universidad Nacional de San Luis
Facultad de Ciencias Físico Matemáticas y Naturales
Departamento: Electrónica
Área: Electrónica
(Programa del año 2019)
(Programa en trámite de aprobación)
(Programa presentado el 28/10/2019 11:57:15)
I - Oferta Académica
Materia Carrera Plan Año Periodo
PROCESADORES I PROF.TECN.ELECT 009/05 2019 2° cuatrimestre
PROCESADORES I PROF.TECN.ELECT 005/09 2019 2° cuatrimestre
PROCESADORES I PROF.TECN.ELECT 05/04 2019 2° cuatrimestre
PROCESADORES I ING.ELECT.O.S.D 13/08 2019 2° cuatrimestre
PROCESADORES I TEC.UNIV.ELECT. 15/13-CD 2019 2° cuatrimestre
PROCESADORES I TEC.UNIV.TELEC. 16/13 2019 2° cuatrimestre
PROCESADORES I TEC.UNIV.TELEC. 18/10 2019 2° cuatrimestre
PROCESADORES I ING.ELECT.O.S.D 010/05 2019 2° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
AIRABELLA, ANDRES MIGUEL Prof. Responsable P.Adj Simp 10 Hs
DONDO GAZZANO, JULIO DANIEL Responsable de Práctico P.Asoc Exc 40 Hs
GABUTTI, DIEGO ORLANDO Auxiliar de Práctico JTP Simp 10 Hs
POSTEMSKY, MARCOS EMILIANO Auxiliar de Práctico A.2da Simp 10 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
0 Hs. 4 Hs. 1 Hs. 1 Hs. 6 Hs. 2º Cuatrimestre 05/08/2019 27/12/2019 15 90
IV - Fundamentación
El profesional de la electrónica debe ser capaz de resolver problemas que incluyen sistemas computacionales. Todo sistema de cómputo posee uno o más microprocesadores o microcontroladores. Este curso es el primer contacto que los alumnos tienen con un microprocesador y su arquitectura interna, y representa por lo tanto, un desafío pedagógico importante para la enseñanza de conceptos que serán aplicados en materias posteriores.
V - Objetivos / Resultados de Aprendizaje
El objetivo del curso es que los alumnos tengan una idea general de la arquitectura y funcionamiento de un microprocesador básico. Por otra parte, que adquieran un conocimiento profundo de un microprocesador actual. Para lograr esto se dedica mucho tiempo de laboratorio donde se realizan prácticas con distintos microprocesadores y microcontroladores, como así también prácticos de simulación en PCs.
Se trabaja para que el alumno se familiarice con los diseños de hardware (microprocesador conectado con memorias y distintos periféricos) y del software para determinada aplicación. Deberán estar familiarizados con distintos tipos de memorias implementadas en circuitos integrados: ROM, SRAM, DRAM, EPROM, EEPROM, FLASH.
Al finalizar el curso, los alumnos deberán poder identificar los distintos elementos de un sistema de cómputo, la importancia de cada uno de ellos y la forma en la que interactúan estos elementos con el procesador.
VI - Contenidos
Unidad 1: Microprocesadores
Histórica de los Microprocesadores desde los ’70 hasta la actualidad. Tipos de microprocesadores y principales usos. Los primeros microprocesadores de 8 bits. Microcontroladores. Tipos de arquitectura (Harvard y Von-Neumann).

Unidad 2: Memorias
Memorias. Memorias semiconductoras. Memorias no volátiles ROM, PROM, EPROM, EEPROM, FLASH. Memorias de lectura/escritura. Tipos. Características principales. Acceso aleatorio. Arquitecturas. Memorias sincrónicas. Sistema de grabación y borrado. Direccionamiento, datos y líneas de control. Diagramas de tiempo. Ciclo de lectura y ciclo de escritura. Memorias seriales. Mapa de memoria. Expansión de memorias.

Unidad 3: Introducción a la organización de un microprocesador.
Breve descripción de un CPU, Entradas/Salidas, Memoria de Programa y Memoria de Datos. Definición de Unidad de Cómputo. Funciones de cada bloque de la unidad de cómputo: unidad de control, ALU, bus de direcciones, bus de datos y bus de control. Decodificación de direcciones. Uso de un decodificador para seleccionar diferentes chips de memoria y GPIO. Ciclo de ejecución. Reloj y osciladores. Secuencia de ejecución de una instrucción. Datapath simple (ATMega y Cortex-M).

Unidad 4: Microcontroladores RISC simples
Concepto de CISC y RISC. Estudio de los microcontroladores RISC ATMega328 y Cortex M0. Descripción, bloques principales y registros internos. Modos de direccionamiento. Lenguaje assembly: conceptos generales, sintaxis y pseudo-instrucciones. Set de instrucciones y ejecución de instrucciones típicas. Ejemplos de programas en C y Assembly para ATMega328 y Cortex M0. Compilación de programas y linker. Llamados y retornos de subrutina. Implementación de una pila. Bootloader.

Unidad 5: Microprocesadores RISC
MIPS, ARM, RISC-V y tendencias actuales. Estudio del Microprocesador RISC-V. Descripción, bloques principales y registros internos. Modos de direccionamiento. Lenguaje assembly: conceptos generales, sintaxis. Set de instrucciones y ejecución de instrucciones típicas. Ejemplos de programas en C y Assembly para RISC-V. Llamados y retornos de subrutina. Implementación de una pila. Datapath del procesador y pipeline. Datapath del RISC-V para el conjunto de instrucciones estudiado. Conexión de memorias. Ejecución de instrucciones a lo largo del Datapath. Pipeline. Riesgos en el Pipeline. Técnicas para evitar riesgos. sthu

Unidad 6
Periféricos: Atención a periféricos: polling, uso de flags o interrupciones. Interrupciones enmascarables y no-enmascarables. Prioridades. Temporizadores: RTC, timer y watchdog timer. Programación y uso con interrupciones.

Unidad 7
Tecnología de los circuitos digitales. Familias CMOS. Inversor. Otras compuertas. Niveles lógicos y márgenes de ruido, consumo de energía. Uso del transistor bipolar como llave. Inversor lógico. Familia TTL, niveles lógicos, margen de ruido y fan-out. Salida totem-pole y con colector abierto. Salidas tri-estado. Sub-Familias TTL. Interfaces TTL-CMOS. Otras tecnologías.

VII - Plan de Trabajos Prácticos
Laboratorios

Laboratorio 1:
Práctica de laboratorio usando memorias EPROM. Lectura del contenido de la misma y comprobación de su característica de no volátil. Práctica de laboratorio usando una memoria RAM estática. Lectura y escritura de la misma y comprobación de su característica volátil.

Laboratorio 2: Herramientas de Desarrollo para Arduino.

Laboratorio 3: GPIOs de Arduino.

Laboratorio 4: Temporizadores, contadores e interrupciones de Arduino.

Laboratorio 5: Herramientas de Desarrollo para FRDM-KL46Z Freescale.

Laboratorio 6: GPIOs de FRDM-KL46Z Freescale.

Laboratorio 7: Temporizadores, contadores e interrupciones de FRDM-KL46Z Freescale.

Laboratorio 8: Simulación de RISC-V.


Trabajos Prácticos

TP1:
Memorias. Análisis de las hojas de datos de algunas memorias comerciales. Expansión de memorias, expansión del número de bits, de la cantidad de direcciones y de ambas. Decodificación de direcciones, evitar el solapamiento de dispositivos. Realizar el mapa de memoria correspondiente.

TP2:
Selección de un microcontrolador para una aplicación específica.

TP3:
Assembly de ATMega328. Ejercicios con AtmelStudio

TP4:
Assembly de RISC-V. Compilar un código de alto nivel (C o Python) en assembly de RISC-V.
VIII - Regimen de Aprobación
La materia se aprueba con un examen final. Para rendir este examen, el alumno deberá obtener previamente la regularidad en la materia.
Para obtener la regularidad será necesario:
- Haber aprobado la totalidad de los exámenes parciales.
- Los exámenes parciales se consideran aprobados cuando se realiza correctamente al menos el 70% del mismo.
- Tener al menos el 80 % de asistencias a las clases teóricas y prácticas.
- Tener aprobados el 100% de los trabajos prácticos.
- Se podrán recuperar hasta dos trabajos prácticos.
- Ingresar a las clases prácticas con los conocimientos necesarios para realizar los trabajos de laboratorio.
- No se aceptan alumnos que no estén en condiciones regulares.
- La materia no podrá rendirse en forma libre.
IX - Bibliografía Básica
[1] D. Patterson, J. Hennessy - Computer Organization and Design - The hardware and Software Interface. RISC-V edition. Morgan Kaufmann.
[2] Diseño Digital Principios y Prácticas. John Wakerly.
[3] Arduino, un enfoque practico e incremental. J. De la Torre, J. Dondo Gazzano
[4] Apuntes de la materia.
X - Bibliografia Complementaria
[1] Roland N. Ibbett. HASE DLX Simulation Model. IEEE Micro, Vol 20, no 3, p 57-65, 2000.
[2] John L. Hennessy & David Patterson. Computer Architecture: A Quantitative Approach. 2nd Edition. Ed. Morgan and Kaufmann [1990].
XI - Resumen de Objetivos
Obtener una idea general de la arquitectura y funcionamiento de un microprocesador básico. Obtener conocimiento profundo de procesadores tipo AVR, ARM Cortex M0 y microprocesador RISC-V.
Microprocesador conectado con memorias y distintos periféricos y software para determinada aplicación. Distintos tipos de memorias implementadas en circuitos integrados: ROM, SRAM, DRAM, EPROM, EEPROM, FLASH.
Identificar los distintos elementos de un sistema de cómputo, la importancia de cada uno de ellos y la forma en la que interactúan estos elementos con el procesador.
XII - Resumen del Programa
Memorias, no volátiles ROM, PROM, EPROM, EEPROM. Memorias de lectura/escritura. Acceso aleatorio. Sistema de grabación y borrado. Líneas de control, diagramas de tiempo. Expansión y mapa de memorias.

Breve descripción de un CPU, Entradas/Salidas, Memoria de Programa y Memoria de Datos. Arquitecturas de buses: von Newmann y Harvard. Decodificación de direcciones. Tipos de instrucciones: transferencia, aritmético/lógicas, control. Modos de direccionamiento. Subrutinas y uso de la Pila. Datapath simples, ejemplos

Concepto de CISC y RISC. La filosofía RISC, primeros diseños, MIPS, ARM, RISC-V y tendencias actuales. Estudio de los procesadores ATMega328, CortexM0. Lenguaje assembly. Set de instrucciones y ejecución de instrucciones típicas.

Microprocesador RISC-V. Lenguaje assembly. Set de instrucciones y ejecución de instrucciones típicas. Datapath, Conceptos de pipeline.

Atención a periféricos: polling, uso de flags o interrupciones. Interrupciones enmascarables y no-enmascarables. Prioridades. Temporizadores: RTC, timer y watchdog timer. Programación y uso con interrupciones.

Tecnología de los circuitos digitales.
XIII - Imprevistos
 
XIV - Otros