Curso 2020 Youtube - Índice de clases por tema
Curso 2020 Youtube - Índice de clases por tema
Índice de cada clase grabada zoom curso 2020.
Indice de YouTube - Introducción a los Microprocesadores 2020
TEÓRICO:
Clase 1.2020 - Teo 2020-03-20 - Bloque de control de un uP sencillo [1:28:22] - Ver completa
La clase del año 2020 quedó mal grabada. La pizarra queda chica de a momentos. Ver la detallada a continuación: Clase 1.2021
Arquitectura de un Microprocesador simple.
- [06:50] - Comienzo.
Clase 1.2021 - Teo 2021-03-19 - Bloque de control de un uP sencillo [1:28:22] - Ver completa
Avisos varios y plan de clase
- [01:40] - Avisos varios
- [03:30] - Plan de clase
Arquitectura de un Microprocesador simple.
- [07:25] - Elementos de la CPU simple: ALU, acumulador (A), contador de programa (PC) y otros registros (IR, MA)
- [14:26] - "Sea usted el procesador". Simulación de ejecución de algunas instrucciones
- [36:55] - Anchos de palabra en la CPU simple
- [41:00] - Etapas en la ejecución de una instrucción: búsqueda (fetch), decodificación, ejecución
- [45:35] - Secuencia RTL para etapa de fetch
- [50:20] - Codificación de repertorio de instrucciones
- [56:30] - Esbozo de diagrama ASM de bloque de control
- [1:09:36] - Transferencia entre CPU y memoria. Ejemplo para algunas instrucciones
- [1:19:50] - Consultas
Tema adicional en clase del curso 2020 - clase 2020-03-20 a partir del minuto 0:52:40
Clase 2 - Teo 2020-03-25 - Modelos de compuertas, Pines y Ciclos M [1:34:08] - Ver completa
Buses
- [10:00] - Comienzo
- [14:35] - Modelos de compuertas
- [27:10] - Bus triestado
- [34:30] - Bus multiplexado
Pines
- [40:25] - Pines Z80
Ciclos de máquina
- [59:14] - Ciclos M
- [1:05:35] - Ciclos M1
- [1:22:50] - Ciclos de espera
- [1:27:40] - Resumen de activación de señales de control para cada ciclo
- [1:30:29] - Consultas
Clase 3 - Teo 2020-03-27 - Ciclos M (cont) - Sistema minimo [1:36:49] - Ver completa
Ciclos de Máquina (Cont)
- [12:55] - Comienzo.
- [15:13] - Repaso de Clase Anterior, Ciclos de Maquina, Ciclos de Reloj, Ciclo M1.
- [17:01] - Ciclos de Acceso a Memoria.
- [23:07] - Ciclos de acceso a E/S.
- [31:17] - Ejercicio de Ciclos M para una instrucción.
Sistema Mínimo
- [38:24] - Comienzo.
- [41:10] - Reset.
- [48:10] - Chips de Memoria.
- [53:59] - Puertos de Entrada/Salida.
- [1:17:03] - Ejercicio: Buses y señales de control mientras ejecuto la instrucción OUT (0x01), A .
- [1:31:35] - Puertos de Entrada/Salida Z80.
- [1:35:12] - Consultas.
Clase 4 - Teo 2020-04-01 - Demo sistema mínimo, Decodificación de memoria [1:36:49] - Ver completa
Introducción
- [6:19] Comienzo. Recordatorios curso 2020
- [8:50] - Plan de clases
Demo sistema mínimo en placa DE0
- [10:20] - Sistema mínimo
- [13:35] - Demo sistema mínimo
- [35:35] - Observación de los buses con porgrama en loop
- [45:33] - Salto relativo JR
Decodificación de memoria
- [52:52] - Decodificación de memoria
- [57:05] - Diagrama de bloques interno de chips memoria
- [1:04:19] - Ciclo de lectura de una memoria
- [1:07:30] - Ciclo de escritura en una memoria
- [1:08:45] - Ejemplo: 32KB ROM + 32KB RAM
- [1:13:40] - Mapa de memoria
- [1:15:00] - Ejemplo: 2 x 16KB ROM + 4 x 2KB RAM
Consultas
- [1:33:40] - Consultas
Clase 5 - Teo 2020-04-03 - Stack, subrutinas, parámetros y variables [1:24:28] - Ver completa
La clase del año 2020 quedó mal grabada. La pizarra queda chica de a momentos. Para esta clase hacemos una mezcla de esta clase y el OpenFing del 2015 explicado en la clase 10 de la guía de teórico de 2021
Clase 6 - Teo 2020-04-15 - Metodos ES, Puertos, deco ES, Handshake [1:52:57] - Ver completa
Métodos de entrada/salida
- [00:00] Métodos de E/S
- [03:00] - Mapeo de puertos E/S
- [09:00] - Repaso de ciclos M de acceso a E/S
Puertos de entrada/salida
- [11:35] - Puertos de salida
- [17:00] - Puertos de entrada
- [21:25] - Decodificación y mapas E/S
Transferencias condicionales e incondicionales
- [40:30] - Transferencia de datos. Transferencias incondicionales
- [42:29] - Transferencias condicionales. Handshaking
Casos particulares
- [47:35] - Caso puerto de entrada
- [50:05] - Caso puerto de salida
Ejemplo de subrutina para puerto de salida con handshake
- [51:47] - Ejemplo de subrutina
- [1:01:40] - Análisis de comportamiento de señales de decodificación mientras se ejecuta loop de handshake
- [1:13:0] - Consultas
Clase 7 - Teo 2020-04-17 - Polling, demo Handshake observando formas de onda [1:40:44] - Ver completa
Repaso
[02:20] Repaso
Limitación de tiempo de espera
- [11:25] timeout
Polling
Demo puerto de entrada con Handshake
- [36:20] Operador produce datos, programa en Z80 los consume, Puerto de entrada para leer Switches, FF de estado con pulsador
- [38:05] Diseño en Quartus
[46:20] Programa con loop de handshake simple
-
[55:00] Visualización de pulsos de decodificación con analizador lógico
-
[1:14:10] Formas de onda en instrucción salto relativo condicional JR z, loop
Consultas
- [1:24:25] - Consultas
Clase 8 - Teo 2020-04-22 - Ambiente usado en el laboratorio. Microcontroladores. Nociones sobre Memorias [0:51:56] - Ver completa
Faltan los primeros temas de la clase
Etapas
- Etapas (FALTA)
- FPGA vacío (FALTA)
- FPGA con circuito del sistema (ROM, RAM, puertos, comunicación) (FALTA)
- [00:00] Sistema en FPGA con nuestro programa cargado en memoria
- [04:00] Métodos de E/S
Microcontroladores (qué son, aplicaciones, principales productos)
- [12:00] Microcontroladores
Nociones de memoria
- [29:50] - Nociones de memoria
- [31:15] - Memorias como colección de registros, diagrama interno con datos bidireccional, buffer triestado, OE, CS
- [33:15] - Capacidad
- [35:30] - Tiempo de acceso, Tiempo de Ciclo
- [38:50] - Volátiles y no volátiles
- [39:40] - de solo lectura, lectura preferente, lectura/escritura
- [46:30] - RAM estática y dinámica
Avisos
- [49:30] - Avisos
Clase 9 - Teo 2020-04-24 - Interrupciones. Secuencia de atencion - Int. Enmascarables - Comentarios lab [1:17:02] - Ver completa
Interrupciones
- [00:00] Bibliografía
- [00:55] - FF de petición comparado con bandera de estado de handshaking
- [04:35] - Secuencia de atención
- [14:50] Tiempo de latencia, tiempo de respuesta, deadlines
- [20:10] - Interrupciones, ventajas, algunas definiciones
- [22:25] - Necesidad de enmascarar interrupciones.
- [30:35] - Caso Z80: INT con EI y DI. Entradas INT y NMI
- [34:35] - Ejemplo: Rutina de atención que incrementa un contador
- [37:55] Cómo evitar interrumpirse a sí mismo, solución de INT
- [1:01:25] - Comentarios sobre errores más comunes en Práctica 1 de laboratorio del curso 2020
- [1:17:00] - Planteo ejercicio repaso decodificación de puertos
Clase 10 - Teo 2020-04-29 - Estructura interrupciones Z80, Ej. dos interrupciones en modo 1 [1:27:53] - Ver completa
Avisos y repaso
Estructura de interrupciones Z80
- [04:35] Estructura de interrupciones Z80
- [13:00] INT en modo 1. Un solo periférico
- [21:00] Borrado del FF de interrupción en modo 1
- [22:35] INT en modo 0 (múltiples periféricos, compatible 8080)
- [30:15] INT en modo 2 (múltiples periféricos)
- [49:45] NMI
- [1:05:15] Ejemplo dos dispositivos en modo 1. Planteo de manejo de prioridades
Consultas
- [1:24:20] - Consultas
Clase 11 - Teo 2020-05-06 - Inicialización Interrupciones en Modos 1 y 2 - Ejercicios deco [1:35:08] - Ver completa
Inicialización modo 1/2
- [01:00] Comienzo
- [03:40] Ejemplo inicialización modo 1
- [10:50] Inicialización modo 2. Repaso registro I y tabla de interrupciones
- [16:50] Inicialización modo 2. Ejemplo: solución con tabla en RAM
- [29:20] Inicialización modo 2. solución con tabla en ROM
Ejercicio deco 1
- [37:30] Ejercicio deco 1.a: Puertos salida mapeados en rango de ROM
- [56:00] Ejercicio deco 1.b: Puertos “tapando” algunos lugares de RAM (planteo)
- [58:00] Ejercicio deco 1.b: Trabajo individual
- [1:06:20] Ejercicio deco 1.b: Discusión solución
Ejercicio deco 2
- [1:19:38] Ejercicio deco 2 (solo planteo): dispositivo con 4 puertos de entrada y 4 puertos de salida
Ejercicio deco 3
Clase 12 - Teo 2020-05-08 - Demos con placa DE0. Contador de interrupciones, dos interrupciones en modo 1 [1:12:39] - Ver completa
Demos, repaso y ejemplos
- [00:00] Demo contador de interrupciones
- [09:10] Repaso funcionamiento sistema de desarrollo para el laboratorio
- [21:50] Demo dos dispositivos en modo 1 (ejemplo visto en el teórico). Arranque desde archivo .zip descargado
- [52:50] Ejemplo programa grabado en ROM, uso de sección .data y botón reset
- [57:55] Observación de buses y señales de control usando analizador lógico
- [1:08:10] Avisos varios
Clase 13 - Teo 2020-05-13 - Prioridades, Daisy Chain [0:59:57] - Ver completa
Problema de Multiples Interrupciones con Diferentes Prioridades
- [00:00] Planteo del problema con el ejemplo de dos interrupciones en modo 1
- [00:55] Repaso funcionamiento interrupciones en modo 2
- [02:00] Primera solución rudimentaria (sirve para un solo periférico)
- [04:15] Solución hardware cuando interrumpen varios periféricos: ¿quién pone el vector en el ciclo de reconocimiento? ¿quién puede interrumpir a quién?
- [07:30] Controlador de interrupciones externo.
- [10:45] Esquema de prioridades “Fully nested”
- [15:00] Ejemplo de secuencia de ejecución.
- [17:00] Saltear tramo (diálogo de sordos por problema audio
- [20:00] fin tramo a saltear
- [25:50] Necesidad de señal EOI, implementación en Z80 con RETI
- [28:45] Esquema de rotación automática
Daisy Chain
- [31:50] Daisy chain, árbitro distribuido. Señales IEI, IEO, INT, vector sobre el bus de datos
- [37:30] Diagrama de estados
- [41:40] ¿Cómo sabe …?
- [42:45] Manejo de salidas
Consultas
- [46:50] Consulta diagrama estados
- [50:30] Consulta archivos a entregar en Tarea 2 (2020)
- [54:00] Consulta fecha entrega (ojo, fecha curso 2020)
- [54:50] Consulta enmascarables vs no enmascarables
- [58:15] Consulta sobre decodificación
Clase 14 - Teo 2020-05-15 - Ejercicio 8.1 interrupciones daisy chain. Perifericos programables - (Parte 1) [0:19:46] - Ver completa
Repaso clase anterior, planteo inicial del ejercicio 8.1 del práctico
- [00:00] Repaso: Prioridades, Controlador de Interrupciones, Daisy Chain
- [04:00] Necesidad de habilitar interrupciones al comienzo de la rutina de atención
- [17:20] Organización de grupos de discusión. Comienzo discusión en grupo
Clase 14 - Teo 2020-05-15 - Ejercicio 8.1 interrupciones daisy chain. Perifericos programables - (Parte 2) [0:54:25] - Ver completa
Puesta en común de los grupos y discusión de la resolución
- [00:00] Puesta en común de trabajos de cada grupo
- [01:10] Discusión diagrama de tiempos, incluyendo estado de cada dispositivo (caso comportamiento correcto de B, EI al comienzo de rut_B)
- [21:10] Ídem, caso mal uso de EI al final de rut_B
- [28:30] Posible problema: RETI al final de rut_B, B con IEI inactivo
- [34:31] Periféricos programables. COnceptos generales, ejemplos
- [41:40] Lista de periféricos zilog
- [43:45] Periféricos usados en el curso
- [46:50] Consultas
Clase 15 - Teo 2020-05-20- Controlador de interrupciones, bloques Contador y Timer [1:21:55] - Ver completa
Repaso
- [00:00] Repaso Periféricos programables
Controlador de interrupciones
- [03:57] Características
- [06:40] Pines
- [14:25] Programación
- [17:45] Ejemplo de conexionado
- [22:20] Ejercicio análisis ejemplo de circuito decodificación. Planteo. Estudiantes responden encuesta.
- [33:05] Discusión ejercicio
Bloques Timer y Contador
- [42:10] Características comunes y diferencias
- [44:40] Timer
- [49:15] Pines
- [55:20] Programación
- [1:04:50] Contador, diferencias con Timer
- [1:07:20] Ejemplo de conexionado
- [1:07:55] ¿es necesario poner FF de petición para manejar la entrada IRQ del bloque controlador de interrupciones?
- [1:14:15] Ejemplo bloques timer y contador conectados en cascada
- [1:17:55] Consultas
Clase 16 - Teo 2020-05-29 - Hojas de datos. Tiempos hardware [1:20:36] - Ver completa
Hojas de datos de circuitos integrados
- [00:00] Maximum ratinngs
- [02:25] Operation Conditions
- [04:10] DC characteristics
- [05:40] AC characteristics:
- [08:00] Referencias: Application note de Texas Instruments
Hojas de datos de memorias
- [08:45] Tiempos de hoja de datos chips memoria
- [11:02] Ciclo de lectura
- [15:04] Estructura interna de la memoria ¿por qué el retardo desde direcciones es mayor que desde OE?
- [22:15] Ciclo de escritura
Análisis de tiemos HW
- [31:30] Análisis de tiempos HW
- [39:20] Información en hoja de datos Z80
- [43:40] Ciclo M1, Setup: t15
- [50:00] Circuito de deccodificación, ejemplo
- [52:30] Planteo de ecuaciones
- [53:00] desde direcciones
- [59:40] desde OE
- [1:02:35] desde CS
- [1:09:45] Distintos casos de análisis según restricciones
- [1:12:35] Peor caso, elección de valores max. o min
Clase 17 - Teo 2020-06-03 - Tiempos hardware (cont.). Ejemplo setup en ciclo IOWR [1:19:54] - Ver completa
Clase 18 - Teo 2020-06-05 - Demo display multiplexado con Timer en modo 1 [1:29:19] - Ver completa
Hardware suministrado en Práctica 3
Modificaciones al hardware
- [02:40] Modificaciones al hardware de Lab 3 para usarlo en el Demo.
- [14:40] Compilo en Quartus y grabo circuito en la placa.
Software
- [18:40] Software, subrutina despliega siguiente dígito invocada desde loop de programa principal (invoca la subrutina entre dos loops de espera por sw0 y sw1).
- [22:10] Seudocódigo subrutina ISR.
- [28:00] Estudiantes escriben assembler de subrutina ISR, se responden consultas varias.
- [37:05] Demo ejecución controlada por switches.
- [39:30] Solución comentada.
Timer
- [54:55] Inicialización de bloque Timer y prueba con interrupciones.
- [56:30] Repaso hoja datos de Timer.
- [59:40] Dirección puertos Timer en Quartus.
- [1:00:55] Programa principal inicializa Timer, luego loop infinito copiando switches a leds.
- [1:10:20] Demo.
- [1:13:35] Prueba con diferentes valores de prescaler y constante.
- [1:19:30] Lectura de flag y valor actual de cuenta con comandos del monitor.
- [1:26:35] Consultas
Clase 19 - Teo 2020-06-10- Sistema completo. Ejercicio 9.2 registrador de perturbaciones [1:32:13] - Ver completa
Diseño Completo
- [00:00] Diseño completo
- [01:40] Especifiación funcional
- [03:20] Seleción de microprocesador
- [11:34] ¿En hardware o en software?
- [16:15] Requerimientos de hardware
- [23:45] Organización del software
- [37:20] Modelado del sistema como máquina de estados
Ejemplo: Registrador de perturbaciones (Pr. 9, Ej. 2)
- [39:35] Ejemplo: Registrador de perturbaciones (Pr. 9, Ej. 2)
- [40:00] Letra
- [43:40] Funcionamiento del sistema pedido
- [50:15] Identificación de estados
- [54:45] Listado de puertos e interrupciones
- [56:00] Identifiación de las transiciones entre estados
- [1:06:00] Pseudocódigo de isr_tic
- [1:12:15] Pseudocódigo isr_pertur
- [1:15:10] Pseudocódigo de programa principal
- [1:18:35] ¿Y si la perturbación llega antes de adquirir pretrigger?
- [1:22:30] Modificaciones a pseudocódigo para solución sgerida en la letra deshabilitando interrupciones
- [1:28:55] Consultas
Clase 20 - Teo 2020-06-12 - Propagacion IEI-IEO. Planteo Prob 1 - examen feb 2014 - juego adivinar deltat [1:26:55] - Ver completa
Daisy Chain
- [00:00] Hilando más fino con solicitudes simultáneas.
- [01:35] Repaso modo 2 y ciclo INTA.
- [03:20] Caso llega interrupción de alta prioridad cuando está por atenderse una de menor prioridad
- [11:40] Especificación Daisy Chain para ese caso.
- [20:25] Inserción de ciclos Tw en caso de ser necesarios.
Problema 1 examen feb. 2014
- [42:20] Problema 1 examen feb. 2014 (Juego para contar mentalmente un lapso de tiempo) .
- [50:30] Bloques necesarios.
- [53:45] Solución Hardware en Quartus.
- [55:45] Bloque encapsulando dos bloques controladores de interrupciones.
- [1:08:00] Seudocódigo isr_boton.
- [1:11:10] Seudocódigo isr_timer.
- [1:13:00] Inicialización.
- [1:25:45] Tabla de interrrupciones.
Clase 21 - Teo 2020-06-17 - Prob 1 - examen feb 2014 (cont) - Demo modo 2 [1:08:28] - Ver completa
Repaso
- [00:00] Repaso letra del problema
- [03:45] Diferencias de Hardware usado con el problema del examen
- [05:40] Repaso pseudocódigo isr_boton
- [09:40] Repaso pseudocódigo isr_timer
Continuación del problema
- [10:20] Hardware utilizado, esquemático en Quartus
- [15:20] Defenición de constantes y palabras de control de Timer y Contador
- [31:30] Ejecución del demo
- [38:40] Lectura del estado de los controladores de interrupciones en distintas situaciones
- [50:00] Observación de buses en distintas situaciones de operación con el analizador lógico de Quartus
- [1:02:40] Bloque Timer. Usar /INT vs usar zc
- [1:06:40] Consultas
Clase 22 - Teo 2020-06-24 - Ejemplo examen feb 2006 - problema 1 [1:38:17] - Ver completa
Sistema que permite cargar nuevos programas, de a un byte por vez, a través de interrupciones NMI
- [00:00] Letra del problema comentada.
- [10:00] /-- Pausa para pensar entradas, salidas y puertos del sistema.
- [14:45] Esquema entradas y salidas.
- [18:10] Conexión a interrupción NMI.
- [21:30] Lista de puertos entrada, salidas y pulsos.
- [23:00] Circuito Puertos.
- [27:15] Decodificación de memoria.
- [35:30] Decodificación de puertos.
- [43:45] Organización del programa. Seudocódigo de inicialización e isr_nmi.
- [59:00] /-- Pausa para pensar código assembler prog inicial.
- [1:02:10] Definición de ctes con EQU.
- [1:03:50] Programa inicial.
- [1:14:00] /-- Pausa para pensar código assembler prog inicial.
- [1:17:10] Consulta sobre instrucción jr.
- [1:19:50] Rutina isr_nmi.
- [1:36:00] Directivas reserva memoria.
Clase 23 - Teo 2020-06-26- Que paso despues del Z80 [1:32:40] - Ver completa
...y después del Z80, ¿qué?
- [00:00] Hoja de ruta
- [07:00] Microcontroladores
- [07:45] Procesadores de propósito general
- [15:50] Mejoras. Más todo: ancho de palabra, Espacio direcciones, MHz
- [21:10] Paralelismo. Separación BIU/EU (8086 Intel)
- [26:35] Pipeline
- [34:45] Predicción de branches
- [46:35] Paralelismo interno (múltiples ALUs y-o unidades de punto flotante)
- [48:20] Multiprocesamiento (múltiples chips, múltiples cores, múltiples hilos de ejecución)
- [54:25] Cache
- [1:05:00] Memoria virtual, paginado, protección de memoria
- [1:15:30] Procesadores digitales de señal
- [1:20:15] GPUs
- [1:22:20] Diferentes formas de comercialización: circuito integrado, ISA, módulos propiedad intelectual
- [1:27:40] Hardcores y Softcores IP, SoCs
Clase 24 - Teo 2020-07-01 - Ejemplo Prueba final 2016 - ejercicio 3 [1:22:03] - Ver completa
Comentarios generales
- [00:00] Comentarios generales sobre prueba final hasta 2020 (no válido para prueba remota 2021)
- [04:15] Letra ejercicio 3. Sistema con Z80 que genera registro de ejecuciones de instrucción CALL
- [15:39] /-- Comienzan sesiones en grupos, puede saltearse hasta el siguiente punto
- [33:04] Recomienza sesión general, retomar desde aquí --/
Discución de la solución ejercicio 3
- [33:04] Hardware puertos para impresora e instrucciones para manejarlos. Comparación de alternativas
- [57:00] Decodificación
- [59:00] Circuito interrupción
- [1:01:10] parte b) secuencia de ciclos M y c) contenido del stack
- [1:16:00] Software isr
Clase 25 - Teo 2020-07-03 - Prueba final 2016 (cont.) Evaluación del curso [0:32:17] - Ver completa
Ejercicio 1
- [00:00] Ejercicio 1. Tiempos de ciclos escritura en memoria. Lectura comentada de la letra
- [03:15] Tiempos setup efectivamente respetado a partir de diagrama de ciclo escritura
- [08:20] ¿Debo usar t_29 o t_53?
- [13:25] Ecuación t_setup
- [17:00] parte b) cuántos T_w para caso particular
Ejercicio 2
- [19:20] Ejercicio 2. Breve comentario
- [22:21] a) Hardware
- [23:20] b) Software inicialización
- [24:20] c) rutinas atención a interrupción
- [24:40] d) programa principal
- [26:25] Arranque de discución sobre evaluación del curso