Ministerio de Cultura y Educación
Universidad Nacional de San Luis
Facultad de Ciencias Físico Matemáticas y Naturales
Departamento: Fisica
Área: Area V: Electronica y Microprocesadores
(Programa del año 2017)
(Programa en trámite de aprobación)
(Programa presentado el 24/11/2017 09:06:20)
I - Oferta Académica
Materia Carrera Plan Año Periodo
PROCESADORES I TEC.UNIV.TELEC. 18/10 2017 2° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
PASINETTI, PEDRO MARCELO Prof. Responsable P.Adj Exc 40 Hs
GABUTTI, DIEGO ORLANDO Responsable de Práctico JTP Simp 10 Hs
GARRO MARTINEZ, FELIX LEONARDO Auxiliar de Práctico A.1ra 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 09/08/2017 17/11/2017 15 90
IV - Fundamentación
Este curso se dicta en el 2do. cuatrimestre del 2do. año de la carrera y está fuertemente relacionado con el curso previo de Electrónica Digital que se dicta en el primer cuatrimestre del mismo año. Los conocimientos aquí adquiridos serán fundamentales en muchos cursos posteriores de la carrera. Por otra parte es el primer contacto que los alumnos tienen con un microprocesador.
V - Objetivos / Resultados de Aprendizaje
El objetivo del curso es que los alumnos, al terminarlo, tengan una idea general de la arquitectura y funcionamiento de un microprocesador. 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.
La última parte del curso estará dedicada al estudio de un microcontrolador comercial. Se estudiarán los elementos que los componen como así también las diferentes arquitecturas y la oferta disponible en el mercado. Finalmente, se llevarán a cabo algunas prácticas con un microcontrolador actual, donde el alumno podrá fijar conceptos, teniendo un primer contacto con estos dispositivos.
VI - Contenidos
BOLILLA 1
Memorias. Memorias semiconductoras. Memorias no volátiles ROM, PROM, EPROM, EEPROM. Memorias de lectura/escritura. Tipos. Características principales. Acceso aleatorio. Arquitecturas. Memorias sincrónicas. Sistema de grabación y borrado. Líneas de control, diagramas de tiempo. Ciclo de lectura y ciclo de escritura. Expansión de memorias.

BOLILLA 2
Introducción a la organización de una computadora. Breve descripción: CPU, Entradas/Salidas, Memoria de Programa y Memoria de Datos. Definición de Unidad de Cómputo y operación elemental. Funciones de cada bloque de la unidad de cómputo: unidad de control, ALU, bus de direcciones, bus de datos y bus de control. Arquitecturas de buses: von Newmann y Harvard. Decodificación de direcciones. Uso de un decodificador para seleccionar diferentes chips de memoria y de E/S. Mapas de memoria. Implementación de unidades de cómputo con microprocesador (P), memoria de programa, memoria de datos y dispositivos de entrada/salida.

BOLILLA 3
Breve descripción histórica del desarrollo de los uP desde los ’70 hasta la actualidad. Los primeros uP de 8 bits. Funciones de sus registros principales: contador de programa, registro de instrucción, acumulador, registros de uso general, flags de la ALU, punteros, etc. Descripción más detallada del funcionamiento de un uP. Flujo de información por los buses. Ciclo de búsqueda y código de operación. Tipos de instrucciones: transferencia, aritmético/lógicas, control. Modos de direccionamiento. Subrutinas y uso de la Pila. Concepto de CISC.

BOLILLA 4
La filosofía RISC, primeros diseños, MIPS, ARM y tendencias actuales. Estudio del uP DLX. Descripción, bloques principales y registros internos. Modos de direccionamiento. Set de instrucciones y ejecución de instrucciones típicas. Pipelining y diagramas de tiempo. Lenguaje assembler: conceptos generales, sintaxis y pseudo-instrucciones. Ejemplos de programas en assembler para DLX. Llamados a subrutina y retornos de subrutina. Implementación de una pila.

BOLILLA 5
Técnicas de 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.

BOLILLA 6
Definición de microcontrolador (uC): generalidades. Aplicaciones de los uC (control, adquisición, computación, etc.). Definición de sistema embebido. Elementos que constituyen un uC (memorias, EPROM, OTP, FLASH, puertos, timers, etc.). Breve descripción de diferentes familias de uC actuales.

BOLILLA 7
Los PICs de Microchip: arquitectura Harvard, RISC y pipeline. Descripción de las diferentes gamas: baja, media y alta. El PIC de gama media 16F84 y los más actuales 16F628, 16F88, 16F887. Descripción general. Set de instrucciones. Modos de direccionamiento. Registros internos. Registros de uso general y de funciones especiales. Herramientas de desarrollo. Grabación InCircuit. Particularidades del assembler. Programas de ejemplo en assembler.

BOLILLA 8
Descripción de los recursos internos de un PIC de gama media. Opciones de generación del clock. Puertos de E/S, características y registros relacionados. Interrupciones y registros relacionados. Watchdog y reset. Programación y uso del temporizador.

BOLILLA 9
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
T.P.N°1:
Memorias. Análisis de las hojas de datos de algunas memorias comerciales. 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.

T.P.N°2:
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.

T.P.N°3:
Elementos de una computadora elemental. Ejercicios básicos en assembler para el uP DLX para adquirir familiaridad con su set de instrucciones.

T.P.N°4:
Uso de un ensamblador/simulador en una PC. Pseudo-instrucciones o directivas. Simulación de programas del uP estudiado (DLX) usando una PC. Ejercicios de programación de complejidad creciente. Programas en assembler y en hexadecimal.

T.P.N°5:
Demostración del proceso de compilación y grabación de un PIC. Analizar y responder por parte del alumno preguntas sobre programas de ejemplo dados. Trabajar en el tablero de experimentación (EXLOG) con un PIC ya programado con el mismo código analizado anteriormente, conectándole leds y pulsadores.

T.P.N°6:
Familiarizarse con el entorno de desarrollo, ensamblador y simulador para PIC y con las particularidades de su lenguaje assembler. Realizar ejercicios guiados de programación/simulación y una experiencia de laboratorio sobre el uso de interrupciones y timer.

T.P.N°7:
Asignar al alumno un ejercicio de programación de PICs de forma individual. Realizar en las PCs el proceso de ensamblado, depuración, simulación y grabación. Finalmente, hacer el conexionado necesario del PIC en el EXLOG utilizando un cristal para el reloj, y demás elementos para lograr su funcionamiento.

T.P.N°8:
Tecnología de circuitos integrados. Interface de circuitos digitales TTL-CMOS. Interfaces elementales de entrada/salida con el mundo real.
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 66% del mismo.
- Tener al menos el 80 % de asistencias a las clases 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] Fundamentos de los Microprocesadores. R. Tokheim, 2° De. Mc Graw Hill.
[2] Diseño Digital Principios y Prácticas. John Wakerly.
[3] Valdez Fernando E., Areny Ramón P., Microcontroladores: Fundamentos y aplicaciones con PIC, España, Marcombo Ediciones Técnicas, 2007, 344 p.
[4] Microcontroladores PIC: la clave del diseño. E. Martin Cuenca, J. M. Angulo Usategui y I. Angulo Martínez.
[5] JOHN F. WAKERLEY. Microcomputer Architecture and Programming. Ed. JOHN WILEY AND SONS [1981].
[6] P.M. Sailer & D.R. Kaeli. The DLX Instruction Set Architecture Handbook. Morgan Kaufmann, 1996.
[7] Apuntes de la materia.
X - Bibliografia Complementaria
[1] Bates Martin, Interfacing PIC Microcontrollers: Embedded Design by Interactive Simulation, Gran Bretaña, Elsevier, 2006, 298p.
[2] Saravia Andrés R. Bruno, Coria Ariel, Arquitectura y Programación de Microcontroladores PIC – Buenos Aires, MC Electronics, 2010, 312p.
[3] Roland N. Ibbett. HASE DLX Simulation Model. IEEE Micro, Vol 20, no 3, p 57-65, 2000.
[4] John L. Hennessy & David Patterson. Computer Architecture: A Quantitative Approach. 2nd Edition. Ed. Morgan and Kaufmann [1990].
XI - Resumen de Objetivos
El objetivo de este curso es que el alumno al terminarlo, conozca los elementos que constituyen una unidad de cómputo, sepa las características generales de un microprocesador, como así también los distintos tipos de memoria con las que se conecta el procesador, además tenga un conocimiento detallado del funcionamiento de un microprocesador actual, su arquitectura, assembler y algunas herramientas de simulación. Finalmente, se busca introducir el concepto de microcontrolador y realizar prácticas básicas sobre uno de estos dispositivos.
XII - Resumen del Programa
Organización de una computadora. CPU, Entrada/salida, Memoria de Programa y Memoria de Datos. Dispositivos de entrada/salida. Bus de direcciones, bus de datos y bus de control. Memorias RAM, ROM, EPROM, EEPROM. Expansión de memorias. Ciclo de lectura y ciclo de escritura. Decodificadores de direcciones. Mapas de memoria.
Descripción del funcionamiento de un microprocesador general. Arquitecturas de buses. Set de instrucciones. Registros principales, etc. Lenguaje de programación assembler y código de máquina.
Estudio de un diseño actual de uP RISC. Arquitectura del chip. Uso de ensamblador y simulador en la PC. Ejercicios de programación de complejidad creciente.
Descripción general de un microcontrolador, aplicaciones, arquitectura y elementos que lo componen. PICs de gama media de Microchip: arquitectura, set de instrucciones, registros, etc. Descripción de los diferentes recursos, puertos, timers, etc. Herramientas de desarrollo.
XIII - Imprevistos
 
XIV - Otros