Curso 2024 - Cronograma tentativo y Guía de clases grabadas
Curso 2024 - Cronograma tentativo y Guía de clases grabadas
Guía de clases - Introducción a los Microprocesadores 2024
CRONOGRAMA TENTATIVO
(Actualizado 2024-04-23)- Semana 1 | 04/03
- Semana 2 | 11/03
- Semana 3 | 18/03
- Semana 4 | 25/04
- TURISMO
- Semana 5 | 01/04
- Semana 6 | 08/04
- Semana 7 | 15/04
- Semana 8 | 22/04
- Semana 9 | 29/04
- PARCIALES
- Semana 10 | 06/05
- PARCIALES hasta el miércoles
- Viernes: Inicialización Interrupciones en Modos 1 y 2 - Ejercicios deco SUSPENDIDA, se recupera: tema 1 en clases siguientes, tema 2 en parte visto antes y en parte en clases siguientes
- Semana 11 | 13/05
- Semana 12 | 20/05
- Semana 13 | 27/05
- Semana 14 | 03/06
- Semana 15 | 10/06
- Semana 16 | 17/06
- Semana 17 | 24/06
- Ejemplo de examen a definir
- ...y después del Z80, ¿qué? (parte 2)
- Semana 18 | 01/07
- Miércoles: Consultas, imprevistos
- Parciales desde jueves 4/7
TEÓRICO
Semana 1, Lunes 04/03
Clase 2021.01 - Presentación del curso e Introducción
Temas
- Presentación del curso
- Objetivos, bibliografía, comunicación (web, foro), horarios, ganancia del curso
- Lógica “cableada” y lógica “programada
- Máquina de Von Neumann
- Comunicación CPU-Memoria. Arquitectura 3 buses
Donde ver cada tema?
- Temas 1 a 4 (Toda la clase) en: Clase 1 OpenFing, excluyendo el tramo (38:14 - 1:06:02). Tener en cuenta que la información del tema 1 corresponde al curso de 2015
Material Adicional
Link a autoevaluación de la clase - Autoevaluación 2021.01
Clase 2021.02 - Arquitectura de conjunto de instrucciones (ISA) del Z80
Temas
- El Z80. Bus de datos, espacio de direcciones.
- Formato de instrucciones
- ALU, acumulador, Banderas
- Registros de propósito general
- Otros registros (Stack pointer, Índices, I, R)
- Modos de direccionamiento, definición
- Nociones de uso de la cartilla del Z80
- Repertorio de instrucciones
- Transferencia de 8 y 16 bits
- Intrucciones de acceso al stack
- Lógicas y aritmética de 8 bits
- Aritmética de propocito general y control de CPU
- Aritmética de 16 bits
Donde ver cada tema?
- Temas 1, 2, 3, 4 y 5 en: Clase 2 OpenFing, excluyendo los tramos (20:40 - 25:59) y (55:10 - final)
- Temas 6, 7 y 8 en: Clase 3 OpenFing completa
Material Adicional
Link a autoevaluación de la clase - Autoevaluación 2021.02
Semana 2, Lunes 11/03
Clase 2021.03 - Repertorio de instrucciones (Cont.)
Temas
- Repertorio de instrucciones (Cont.)
- Rotación y desplazamiento
- Saltos, llamadas y retornos
- Entrada/salida
- Acceso de a bit
- Intercambio
- Búsqueda y transferencia de bloques
Donde ver cada tema?
- Tema 1 (Toda la clase) en: Clase 5 OpenFing, excluyendo el tramo (00:00 - 17:37)
Material Adicional
- slides.02_repertorio_instrucciones_2020.pdf: Link
Link a autoevaluación de la clase (próximamente) - Autoevaluación 2021.03
Clase 2021.04 - Lenguajes y ciclo de desarrollo
Temas
- Lenguajes
- Código de máquina, lenguajes de alto nivel, lenguaje ensamblador
- Ciclo de desarrollo de programas
- Diseño. Seudocódigo y diagramas de flujo
- Codificación
- Traducción: ensamblador, Linker
- Prueba
- Cargador, simulador, debugger, analizador lógico
- Detalles de Sistema Desarrollo y Sistema Destino utilizado en el curso
Donde ver cada tema?
- Temas 1 y 2 (Toda la clase) en: Clase 7 OpenFing, excluyendo el tramo (56:27 - 1:09:33) "Caso particular: kit desarrollo del laboratorio"
Material Adicional
- slides.06_ciclo_desarrollo.pdf: Link
Link a autoevaluación de la clase - Autoevaluación 2021.04
Semana 3, Lunes 18/03
Clase 2021.05 - Lenguaje ensamblador y proceso de ensamblado
Temas
- Lenguaje ensamblador
- Reglas de sintaxis
- Directivas al ensamblador
- ORG, EQU, reserva de memoria
- Secciones de código (text, data)
- Ensamblado
- Contador de posiciones
- Etiquetas
- Tabla de símbolos
- Ejemplo de ensamblado a mano
Donde ver cada tema?
- Temas 1, 2 y 3 (Toda la clase) en: Clase 8 OpenFing
Material Adicional
Link a autoevaluación de la clase - Autoevaluación 2021.05
Clase 2021.06 - Bloque de control de CPU sencilla
Temas
- Planteo de ALU, acumulador (A), contador de programa (PC) y otros registros (IR, MA)
- Etapas en la ejecución de una instrucción: búsqueda (fetch), decodificación, ejecución
- Secuencia RTL para etapa de fetch
- Codificación de repertorio de instrucciones
- Esbozo de diagrama ASM de bloque de control
- Secuencia RTL completa para algunas instrucciones
- Duración de instrucciones y transferencias entre cpu y memoria
Donde ver cada tema?
Material Adicional
- Faltan Slides en el borrador
Link a autoevaluación de la clase - Autoevaluación 2021.07
Semana 4, Lunes 25/03
TURISMO
Semana 5, Lunes 01/04
Clase 2021.07 - Modelo de compuertas, Pines y ciclos M
Temas
- Modelos de salidas de compuertas
- Salida activa
- Salida colector abierto
- Salida tercer estado
- Sistema CPU+memoria
- Con bus tristate
- con buses separados de E y S
- Pines del Z80 y esquema de conexion
- Conexión a ROM, RAM, dispositivos de E/S, decodificación y Controlador DMA
- Ciclos M
- Ciclos de bus (ciclos de máquina o ciclos M)
- ¿Qué son?, lista de todos los ciclos M
- Ciclo M1
Donde ver cada tema?
- Temas 1, 2 y 3 (Toda la clase) en: Clase 2-Teo 2020-03-25
Material Adicional
- slides.05_pines_ciclos.pdf: Link
Link a autoevaluación de la clase - Autoevaluación 2021.07
Clase 2021.08 - Ciclos M (cont.), Sistema mínimo
Temas
- Ciclos de M
- Repaso Ciclo M1
- Ciclo M de lectura de Memoria
- Ciclo M de escritura en Memoria
- Ciclos de acceso a E/S
- Sistema mínimo con ROM, display de dos dígitos y pulsadores
- Alimentación, reloj, reset
- Decodificación sencilla: una memoria ROM, un puerto de entrada y dos puertos de salida
Donde ver cada tema?
- YouTube Clase 3 - Teo 2020-03-27 - Ciclos M (cont) - Sistema minimo [1:36:49] - Ver completa
Material Adicional
- Slides de la clase: Teorico > Slides > 07_sistema_minimo_v1.pdf: Link
- Hoja de datos Z80 (Cartilla_z80.pdf). Sección Timing.: Link
- Z80 User Manual (Z80_user_manual_um0080.pdf). Capítulo Timing.: Link
Link a autoevaluación de la clase - Autoevaluación 2021.08
Semana 6, Lunes 08/04
Clase 2021.09 - Demo de sistema mínimo, Decodificación de memoria
Temas
- Demo sistema mínimo
- Demo sistema mínimo
- Esquemático en Quartus
- Programación del circuito en el FPGA
- Ensamblado a mano de loop de prueba (copia puerto entrada en puerto salida)
- Carga del programa en ROM con herramientas de Quartus
- Demostración de programa corriendo en placa
- Captura de señales en los buses con herramientas analizador lógico de Quartus
- Decodificación de memoria
- Ejemplo sencillo: 32K ROM + 32K RAM
- Mapa de memoria
- Decodificadores 74139 y 74138
- Ejemplo 32K ROM (2 x 16Kx8) y 8K RAM (4x2Kx8)
Donde ver cada tema?
- Temas 1 y 2 (Toda la clase) en: Clase 3-Teo 2020-04-01
Material Adicional
- deco_mem.pdf: Link
Link a autoevaluación de la clase - Autoevaluación 2021.09
Clase 2021.10 - Stack, subrutinas, pasaje de parámetros, variables
Temas
- Stack, Inicialización de stack.
- Comunicación programa principal con subrutina, secuencia de llamada.
- Métodos de extracción de parámetros del stack.
- Método 1: instrucciones POP
- Método 2: Instrucción EX (SP), HL
- Método 2: direccionamiento indirecto al stack
- Ubicación en memoria de variables.
- Globales: en lugares reservados de memoria con directivas de de memoria.
- Locales: área de trabajo local en el stack.
- Ejemplos de llamada a funciones C. Ver archivos adjuntos (compilador sdcc, sin optimización).
- Reentrancia de subrutinas.
Donde ver cada tema?
Todos los temas están en la clase del curso 2020 2020-04-03 - Teo vi - Stack, subrutinas, parámetros y variables. Sin embargo en algunos tramos de la clase la explicación se hace en una pizarra que se muestra en la miniatura de cámara del docente. Esos tramos pueden verse en OpenFing Clase 14 - Stack, de acuerdo al siguiente detalle:- Tema 1 en Openfing: desde 14:32 hasta 29:33 (link)
- Tema 2 y comienzo de tema 3 en YouTube clase 2020-04-03: desde 17:53 hasta 27:25 (link)
- Temas 3.i y 3.ii en Openfing: desde 36:59 hasta 47:14 (link)
- Tema 3.iii en adelante en YouTube clase 2020-04-03: desde 41:00 en adelante (link)
Material Adicional
- Slides de curso 2020, 10_stack_subrutinas.pdf: Link
Link a autoevaluación de la clase - Autoevaluación 2021.10
Clase 2021.10bis - Ambiente usado en el laboratorio
Temas
- Etapas en el armado del sistema.
- FPGA vacío
- FPGA con circuito del sistema (ROM, RAM, puertos, comunicación)
- Sistema en FPGA con nuestro programa cargado en memoria
- Mapas de memoria:
- Trabajando con debugger GDB (nuestro programa en RAM)
- Trabajando sin debugger (nuestro programa en ROM).
- Scripts invocados por Notepad++.
Donde ver cada tema?
- Clase YouTube: 2021-04-09 - Teo - Kit de desarrollo usado en el laboratorio (link)
Material Adicional
- Slides de curso 2020, sistema_lab.pdf: Link
Semana 7, Lunes 15/04
Clase 2021.11 - Metodos ES, Puertos, deco ES, Handshake
Temas
- Métodos de E/S
- Controlada por programa
- Controlada por interrupciones
- Controlada por hardware (acceso directo a memoria DMA)
- Puertos
- Puerto entrada = BUFFER (o compuerta AND con buses multiplexados)
- Puerto salida = ELEMENTO DE MEMORIA (Registro o Latch)
- Decodificación de E/S, mapas
- Transferencias condicionales e incondicionales
- Sincronización productor consumidor
- Registro de datos, banderas de estado
- Caso consumidor puerto salida
- Caso productor puerto de salida
- Ejemplo subrutina para puerto con handshake
Donde ver cada tema?
- Temas 1, 2, 3, 4, 5, 6, 7 y 8 (Toda la clase) en: YouTube Clase 6-Teo 2020-04-15
Material Adicional
- 11_e_s_por_programa_2019: Link
Link a autoevaluación de la clase - Autoevaluación 2021.11
Clase 2021.12 - Polling, demo Handshake observando formas de onda
Temas
- Repaso
- Métodos de E/S
- Puertos
- Transferencias condicionales
- Registro de datos, bandera de estado
- Limitación de tiempo de espera (timeout)
- Polling. Cómo atender varios periféricos
- Nociones de tiempo de respuesta y prioridades
- Demo puerto de entrada con Handshake
- Operador produce datos, programa en Z80 los consume
- Puerto de entrada para leer Switches, FF de estado con pulsador button[2]
- Diseño en Quartus
- Programa con loop de handshake simple
- Visualización de pulsos de decodificación con analizador lógico
Donde ver cada tema?
Material Adicional
- Teórico > Slides > 11_e_s_por_programa_2020.pdf
- Teórico > Slides > 7_07_sistema_minimo - demo.pdf
Link a autoevaluación de la clase - Autoevaluación 2021.12
Semana 8, Lunes 22/04
Clase 2021.14 - Interrupciones. Secuencia de atención - Int. Enmascarables - Comentarios lab
Temas
- Interrupciones
- FF de petición comparado con bandera de estado de handshaking
- Secuencia de atención
- Tiempo de latencia, tiempo de respuesta, deadlines
- Necesidad de enmascarar interrupciones
- caso Z80: INT con EI y DI
- Cómo evitar interrumpirse a sí mismo, solucion de INT
- Ejemplo:
- Rutina de atención que incrementa un contador
- Comentarios sobre Práctica 1 de laboratorio
- Errores más comunes.
- Ejercicio repaso decodificación de puertos (curso 2022)
- Dado un sistema con 32K de Rom y 32 K de RAM
- Agregar 1 puerto de salida mapeado en memoria usando el rango de direcciones ocupadas por la ROM (que no se usa para escritura)
- Agregar 4 puertos de salida ídem
- Agregar un puerto de salida y uno de entrada que sea accedido en vez del primer lugar de la RAM. Modificar en lo que sea necesario la decodificación de RAM
Donde ver cada tema?
- Clase youtube 2020-04-24 - Teo vi - Interrupciones. Secuencia de atención - Int. Enmascarables - Comentarios lab: YouTube Clase 9-Teo 2020-04-22
Material Adicional
Link a autoevaluación de la clase - Autoevaluación 2021.14
Clase 2021.15 - Estructura interrupciones Z80, Ej. dos interrupciones en modo 1
Temas
- Repaso
- Secuencia de atención
- Ejemplo contador de interrupciones
- Estructura de interrupciones del Z80
- INT en modo 1. Un solo periférico
- INT en modo 0 y en modo 2. Múltiples periféricos interrumpen a través de INT
- NMI
- Ejemplo dos dispositivos en modo 1. Planteo de manejo de prioridades
Donde ver cada tema?
- Temas 1 y 2 (Toda la clase) en: YouTube Clase 10-Teo 2020-04-29
Material Adicional
- Notas: Material -> Notas sobre temas del curso -> Interrupciones-v1.pdf: Link
- Slides: 12_1_interrupciones_z80: Link
- Demo: Material -> Ejemplos para probar sobre la placa DE0 -> Dos dispositivos en modo 1 :: Link
Link a autoevaluación de la clase - Autoevaluación 2021.15
Semana 9 parciales, Lunes 29/04
Semana 10 parciales y clase, Lunes 06/05
Parciales hasta el miércoles
Clase 2021.16 - Inicialización Interrupciones en Modos 1 y 2 - Ejercicios deco
Temas
- Inicialización necesaria para trabajar con interrupciones.
- SP, sistema de interrupciones del Z80, variables, puertos, FF de petición de interrupciones, al final EI.
- En modo 1. IM 1 (en azul: recuperado el miércoles de semana siguiente)
- En modo 2. IM 2 y además registro I, tabla, periféricos. Ejemplo con tabla en ROM y con tabla en RAM
- Ejercicios decodificación
- Dado un sistema con 32KB ROM + 32 KB RAM
- Puertos salida mapeados en rango de ROM: Agregarle 4 puertos de salida mapeados en memoria usando el rango de direcciones ocupadas por la ROM (que no se usa para escritura).
- Puertos tapando lugares de RAM: Agregar un puerto de salida y uno de entrada que sea accedido en vez del primer lugar de la RAM. Modificar en lo que sea necesario la decodificación de RAM.
- Armar un dispositivo con 4 puertos de entrada y 4 puertos de salida, con la siguiente interfaz (se dieron lineamientos de cómo resolverlo)
- Hacia el procesador: bus de datos, A[1..0], /CS, /WR, /RD (similar a una pequeña RAM)
- Hacia afuera: salidas POUT3 a POUT0, y entradas PIN3 a PIN0, todas de 8 bits
- Diseñar 4 puertos de salida que puedan ser escritos en broadcast (quedó como ejercicio)
- Que se escriba individualmente en direcciones 0x80, 0x81, 0x82 y 0x83.
- Que se escriba en todos a la vez con el mismo valor en la dirección 0x84
Donde ver cada tema?
- Clase youtube 2020-05-06 - Inicialización Interrupciones en Modos 1 y 2 - Ejercicios deco YouTube Clase 11-Teo 2020-05-06
Material Adicional
Link a autoevaluación de la clase - Próximamente
Semana 11, Lunes 13/05
Clase 2021.17 - Demos con placa DE0. Contador de interrupciones, dos interrupciones en modo 1
Al comienzo se vio un ejemplo de inicialización en Modo 1 pendiente de la clase suspendida de semana 10
Temas
- Repaso funcionamiento sistema de desarrollo para el laboratorio
- "Grabar sistema en FPGA" carga circuito con procesador, memoria y puertos
- Programa monitor cargado en ROM se comunica con debugger que corre en PC
- Programa monitor en dirección 0x0038 tiene un salto: "jp 0xB038" para permitir trabajar con interrupciones en modo 1
- Demo Contador de interrupciones
- Mismo hardware que el siguiente demo
- Programa principal con loop infinito que prende 1 segmento por vez en el dígito 3 del display
- Rutina de servicio de interrupción que incrementa variable y despliega en el dígito 0 del display
- Demo dos dispositivos en modo 1 (ejemplo visto en el teórico)
- Hardware y código programa en sección
- Circuito en Quartus
- Programa principal igual al anterior
- Contadores por separado para cada pulsador
- Además:
- Manejo de LEDs para indicar cual subrutina está activa
- Loops de espera por switches en cada subrutina para poder forzar el orden de interrupciones
- Observación de buses y señales de control usando analizador lógico pendiente
Donde ver cada tema?
- Temas 1, 2, 3 y 4 (Toda la clase) en: YouTube Clase 12-Teo 2020-05-08
Material Adicional
- Demo (en EVA): Material -> Ejemplos para probar sobre la placa DE0 -> Código del primer demo: Link
- Demo (en EVA): Material -> Ejemplos para probar sobre la placa DE0 -> Dos dispositivos en modo 1: Link
Link a autoevaluación de la clase - Autoevaluación 2021.17
2021.18 Prioridades, Daisy Chain
Temas
- Arbitración de prioridades. Dos problemas cuando interrumpen varios periféricos:
- Más de una interrupción pendiente: ¿quién pone el vector en el ciclo de reconocimiento?
- Llega una solicitud de interrupción cuándo se está atendiendo a otra: ¿ya quién puede interrumpir a quién?
- Controlador de interrupciones externo.
- Esquema de prioridades “Fully nested”, ejemplo de secuencia de ejecución.
- Necesidad de señal EOI, implementación en Z80 con RETI
- Esquema de rotación automática
- Daisy chain, árbitro distribuido
- señales IEI, IEO, INT
- Diagrama de estados de un controlador Daisy chain
Donde ver cada tema?
Material Adicional
- Notas sobre el tema interrupciones: Material -> Notas sobre temas del curso -> interrupciones-v1.pdf Link
- Slides: 12_2_prioridades-v3.pdf Link
Link a autoevaluación de la clase - Autoevaluación 2021.18
Semana 12, Lunes 20/05
Clase 2021.19 - Ejercicio 8.1 (interrupciones daisy chain). Periféricos programables
Temas
- Repaso: Prioridades, Controlador de interrupciones, Daisy Chain
- Ejemplo: Ejercicio 8.1 del práctico
- Dos dispositivos conectados en Daisy Chain
- Diagrama de tiempos inlcuyendo estado de cada dispositivo
- Caso de mal uso de EI en rutina de servicio
- Periféricos programables
- Conceptos generales, ejemplos
- Lista de periféricos zilog
- Periféricos usados en el curso
Metodología de clase
- Planteo en sesión general
- Discusión del primer caso en grupos de a 5 integrantes (en zoom, utilizando breakout rooms)
- Puesta en común del problema y continuación con los temas de la clase
Donde ver cada tema?
La clase quedó grabada en dos partes, pre y post división en breakout rooms
- Primera parte en:YouTube Clase 13-Teo 2020-05-15-parte_1
- En sección materiales se encuentra el documento de drive para que los estudiantes puedan copiarlo y realizarlo antes de comenzar a ver la segunda parte de la clase
- Segunda parte en:YouTube Clase 13-Teo 2020-05-15-parte_2
Material Adicional
- Link de drive para copiarse la tabla del ejercicio: Link
- diapos: 16_perifericos_jpa.pdf Link
- Manuales: Laboratorio > Manuales Bloques usados en el laboratorio: Link
Link a autoevaluación de la clase - Autoevaluación 2021.19
Clase 2021.20 - Controlador de interrupciones. Bloques Timer y Contador
Temas
- Repaso Periféricos.
- Periféricos programables
- Periféricos usados en el curso
- Controlador de interrupciones.
- Características
- Pines
- Programación
- Ejemplo de conexionado
- Bloques Timer y Contador.
- Características comunes
- Timer
- Pines, programación
- Contador, diferencias con Timer
- Ejemplo de conexionado
Donde ver cada tema?
Material Adicional
- Slides: Teórico -> Slides -> 16_perifericos_jpa.pdf Link
- Laboratorio -> Manuales Bloques usados en el laboratorio ( Contador, Timer y Controlador Interrupciones)CarpetaLink
Link a autoevaluación de la clase - PRÓXIMAMENTE
Semana 13, Lunes 27/5
Clase 2021.24 - Demo display multiplexado con Timer en modo 1
Temas
- Se expone el diseño de hardware y de software del ejemplo de un display de 4 dígitos multiplexado, muy similar al visto en el práctico. Los estudiantes que disponían de placa DE0 fueron replicando las pruebas localmente. Los que no disponían de la placa pueden repetirlo cuando tengan acceso a la misma. El hardware es el suministrado para la práctica 3 de laboratorio con pocas modificaciones y el software se da en los archivos adjuntos.
- Hardware de partida: hardware suministrado en Práctica 3
- Interrupción desde salida INT_n del bloque Timer
- Generar nuevo pulso de selección de salida para conectar a la entrada INTA_n del bloque Timer
- Modificaciones al hardware:
- Software
- Prueba subrutina despliega siguiente dígito invocada desde loop de programa principal (archivo multiplexado_avance_manual.s).
- Inicialización de bloque Timer y prueba con interrupciones (archivo multiplexado_int_timer_modo1.s).
- Prueba con diferentes valores de prescaler y constante.
- Lectura de flag y valor actual de cuenta con comandos del monitor.
Donde ver cada tema?
Material Adicional
- archivos hw usados para práctica 3 (pag. del curso) y Fuentes assembler ( https://iie.fing.edu.uy/~julio/intup/ejemplo_display_multiplexado/)
- clases de práctico del curso 2020 donde se resolvió un problema similar al mostrado en el Demo: clases de Fiorella y Lyl
Link a autoevaluación de la clase - Autoevaluación 2021.24
Clase 2021.21 - Hojas de datos. Tiempos hardware
Temas
- Hojas de datos de circuitos integrados
- Maximum ratings, Operation conditions, DC characteristics
- AC characteristics
- Requerimientos: tiempos de setup y hold
- Características: retardos
- Tiempos hoja de datos chips memorias
- ciclo lectura
- ciclo escritura
- Análisis de tiempos HW
- Debe hacerse para todos los ciclos y todos los chips
- Requerimientos de uP y memorias
- Ciclo M1, Setup: t15
- Planteo de ecuaciones
Donde ver cada tema?
- Todo en: YouTube Clase 16-Teo 2020-05-29
Material Adicional
- diapos: 07_hojas_datos_ciclos_mem.pdf Link
- diapos: 09_tiempos_hw_v2.pdf Link
- Datasheets: Material > Hojas de datos de integrados varios> 00_Memoria_EPROM_16Kx8-nm27c128.pdf : Link
- Datasheets: Material > Hojas de datos de integrados varios > 00_Memoria_RAM_32Kx8-257d-l.pdf00_Memoria_RAM_32Kx8-257d-l.pdf : Link
Link a autoevaluación de la clase - Autoevaluación 2021.21
Semana 14, Lunes 03/06
Clase 2021.23 - Tiempos hardware (cont.). Ejemplo setup en ciclo IOWR
Temas
- Análisis de tiempos hardware (cont.)
- Repaso ecuaciones para tiempo setup en ciclo M1
- Ecuaciones para tiempo hold en ciclo M1
- Ejemplo análisis para ciclo de escritura (parcial 1999, ej. 4)
Donde ver cada tema?
- Todo en: YouTube Clase 17-Teo 2020-06-03
Material Adicional
- diapos: 09_tiempos_hw_v2.pdf Link
Link a autoevaluación de la clase - Autoevaluación 2021.23
Clase 2021.25 - Diseño completo. Ejercicio 9.2 registrador de perturbaciones
Temas
- Diseño Completo
- Especificación funcional
- Selección de microproccesador
- Requerimientos de Hardware
- Organización del software
- Modelado del sistema como máquina de estados
- Ejemplo
- Registrador de perturbaciones (Pr. 9, Ej 2)
- Uso de diagrama de estados para diseño de la solución
Donde ver cada tema?
- Todo en: YouTube Clase 19-Teo 2020-06-10
Material Adicional
- diapos: 13_diseno_completo.pdf Link
Link a autoevaluación de la clase - PROXIMAMENTE
Semana 15, Lunes 10/06
Clase 2021.26 - Propagacion IEI->IEO en Daisy Chain. Planteo problema examen
Temas
- Daisy Chain. Hilando más fino con solicitudes simultáneas.
- ** Propagación IEO -> IEI vs Duración de ciclo INTA
- ** Inserción de ciclos Tw en caso de ser necesarios.
- Planteo. Problema 1 examen feb. 2014
- ** Juego para contar mentalmente un lapso de tiempo.
- ** Interrupciones en modo 2 de pulsador y Timer
Donde ver cada tema?
- Todo en: YouTube-Teo 2020-06-12
Material Adicional
- diapos: 12_4_propagacion-iei-ieo.pdf Link
- Examen feb. 2014 en Pruebas y exámenes -> Exámenes anteriores: 2014_02_letra.pdf y 2014_02_solucion.pdf
Link a autoevaluación de la clase - Autoevaluación 2021.26
Clase 2021.13 - Nociones sobre memorias. Después del Z80, ¿qué? (parte 1)
Temas
- Microcontroladores
- ¿Qué son?, aplicaciones, principales productos
- Curso 2022, además vimos rápidamente:
- Procesadores digitales de señal (DSP), GPUs
- Formas de comercialización
- Arquitectura ISA (ejemplos: ARM, RISC-V)
- System on Chip (SoC)
- Nociones sobre memorias
- Memorias como colección de registros, diagrama interno con datos bidireccionales, buffer triestado, OE, CS
- Tiempo de acceso, Tiempo de Ciclo
- Tipos de memoria
- Volátiles y no volátiles
- de solo lectura, lectura preferente, lectura/escritura
- RAM estática y dinámica
- Ejercicio decodificación
- Armar un dispositivo con 4 puertos de entrada y 4 puertos de salida, con la siguiente interfaz
- hacia el procesador: bus de datos, A[1..0], /CS,
/WR, /RD (similar a una pequeña RAM) - hacia afuera: salidas POUT3 a POUT0, y entradas
PIN3 a PIN0, todas de 8 bits
Donde ver cada tema?
- Temas 1 y 2 en: YouTube Clase 4-Teo 2020-04-22
Material Adicional
Link a autoevaluación de la clase - Pendiente
Semana 16, Lunes 17/06
FERIADO 19/06
Clase 2021.27 - Demo Interrupciones modo 2. Problema 1 examen febrero 2014 (Cont.)
Temas
- Demo problema 1 del examen febrero 2014
- Se utilizó el hardware desarrollado para otro ejemplo con las siguientes diferencias:
- f_clk de 50 MHz obliga a usar Bloque Timer + Bloque contador (no alcanza con Timer solamente)
- Un segundo botón y controlador de interrupciones asociados que no se utilizaron
- Software detallado
- Observación de buses en distintas situaciones de operación con el analizador lógico de Quartus
Donde ver cada tema?
- Todo en: YouTube Clase 21-Teo 2020-06-17
Material Adicional
- Archivos utilizados en clase disponibles en "Material > Ejemplos para probar sobre la placa DE0 > Demo Modo 2 - Problema 1 de examen febrero 2014" Link
Semana 17, Lunes 24/06
Problema de examen a definir
Clase 2021.31 - ...y después del Z80, ¿qué? (parte 2)
Temas
- Desarrollo en diferentes líneas
- Microcontroladores de propósito general
- Procesadores digitales de señal
- GPUs
- Mejoras
- Más todo:
- Bits ancho de palabra: 8 → 16 → 32 → 64
- Espacio direcciones: KB → MB → GB
- MHz
- Paralelismo:
- Separación BIU/EU (8086 Intel)
- Pipeline
- Paralelismo interno (múltiples ALUs y-o unidades de punto flotante)
- Multiprocesamiento (múltiples chips, múltiples cores, múltiples hilos de ejecución)
- Cache
- Memoria virtual, paginado, protección de memoria
- Diferentes formas de comercialización
- Circuito integrado fabricado
- Arquitectura y licencia para utilizarla
- Módulos de propiedad intelectual (IP)
- Diferentes formas de integración
- System on a Chip (SoC)
Donde ver cada tema?
- Todo en: YouTube Clase 23-Teo 2020-06-26