Guía de clases - Introducción a los Microprocesadores 2024

CRONOGRAMA TENTATIVO

(Actualizado 2024-04-23)
  1. Semana 1 | 04/03
  2. Semana 2 | 11/03
  3. Semana 3 | 18/03
  4. Semana 4 | 25/04
    • TURISMO
  5. Semana 5 | 01/04
  6. Semana 6 | 08/04
  7. Semana 7 | 15/04
  8. Semana 8 | 22/04
  9. Semana 9 | 29/04
    • PARCIALES
  10. Semana 10 | 06/05
  11. Semana 11 | 13/05
  12. Semana 12 | 20/05
  13. Semana 13 | 27/05
  14. Semana 14 | 03/06
  15. Semana 15 | 10/06
  16. Semana 16 | 17/06
  17. Semana 17 | 24/06
  18. 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

  1. Presentación del curso
    • Objetivos, bibliografía, comunicación (web, foro), horarios, ganancia del curso
  2. Lógica “cableada” y lógica “programada
  3. Máquina de Von Neumann
  4. 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

    Diapos:

  • slides.00_presenta_2024.pdf: Link
  • slides.01_intro_v6.pdf: Link

Link a autoevaluación de la clase - Autoevaluación 2021.01

 

Clase 2021.02 - Arquitectura de conjunto de instrucciones (ISA) del Z80

Temas

  1. El Z80. Bus de datos, espacio de direcciones.
  2. Formato de instrucciones
  3. ALU, acumulador, Banderas
  4. Registros de propósito general
  5. Otros registros (Stack pointer, Índices, I, R)
  6. Modos de direccionamiento, definición
  7. Nociones de uso de la cartilla del Z80
  8. 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?

Material Adicional

    Diapos:

  • slides.01_arqz80_v1.pdf: Link
  • slides.02_repertorio_instrucciones_2020.pdf: Link

Link a autoevaluación de la clase - Autoevaluación 2021.02

 


Semana 2, Lunes 11/03

Clase 2021.03 - Repertorio de instrucciones (Cont.)

Temas

  1. 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

    Diapos:

  • 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

  1. Lenguajes
    • Código de máquina, lenguajes de alto nivel, lenguaje ensamblador
  2. 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?

Material Adicional

    Diapos:

  • 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

  1. Lenguaje ensamblador
    • Reglas de sintaxis
    • Directivas al ensamblador
      • ORG, EQU, reserva de memoria
      • Secciones de código (text, data)
  2. Ensamblado
    • Contador de posiciones
    • Etiquetas
    • Tabla de símbolos
  3. Ejemplo de ensamblado a mano

Donde ver cada tema?

Material Adicional

    Diapos:

  • slides.07_Lenguaje Ensamblador_v1.pdf: Link
  • slides.06_ciclo_desarrollo.pdf: Link

Link a autoevaluación de la clase - Autoevaluación 2021.05

 

Clase 2021.06 - Bloque de control de CPU sencilla

Temas

  1. Planteo de ALU, acumulador (A), contador de programa (PC) y otros registros (IR, MA)
  2. Etapas en la ejecución de una instrucción: búsqueda (fetch), decodificación, ejecución
  3. Secuencia RTL para etapa de fetch
  4. Codificación de repertorio de instrucciones
  5. Esbozo de diagrama ASM de bloque de control
  6. Secuencia RTL completa para algunas instrucciones
  7. Duración de instrucciones y transferencias entre cpu y memoria

Donde ver cada tema?

Material Adicional

    Diapos:

  • 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

  1. 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
  2. Pines del Z80 y esquema de conexion
    • Conexión a ROM, RAM, dispositivos de E/S, decodificación y Controlador DMA
  3. 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?

Material Adicional

    Diapos:

  • 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

  1. Ciclos de M
    • Repaso Ciclo M1
    • Ciclo M de lectura de Memoria
    • Ciclo M de escritura en Memoria
    • Ciclos de acceso a E/S
  2. 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

    Diapos:

  • 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

  1. 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
  2. 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?

Material Adicional

Link a autoevaluación de la clase - Autoevaluación 2021.09

 

Clase 2021.10 - Stack, subrutinas, pasaje de parámetros, variables

Temas

  1. Stack, Inicialización de stack.
  2. Comunicación programa principal con subrutina, secuencia de llamada.
  3. Métodos de extracción de parámetros del stack.
    1. Método 1: instrucciones POP
    2. Método 2: Instrucción EX (SP), HL
    3. Método 2: direccionamiento indirecto al stack
  4. Ubicación en memoria de variables.
    1. Globales: en lugares reservados de memoria con directivas de de memoria.
    2. Locales: área de trabajo local en el stack.
  5. Ejemplos de llamada a funciones C. Ver archivos adjuntos (compilador sdcc, sin optimización).
  6. 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

    Diapos:

  • Slides de curso 2020, 10_stack_subrutinas.pdfLink

Link a autoevaluación de la clase - Autoevaluación 2021.10

 

Clase 2021.10bis - Ambiente usado en el laboratorio

Temas

  1. Etapas en el armado del sistema.
    1. FPGA vacío
    2.  FPGA con circuito del sistema (ROM, RAM, puertos, comunicación)
    3. Sistema en FPGA con nuestro programa cargado en memoria
  2. Mapas de memoria:
    1. Trabajando con debugger GDB (nuestro programa en RAM)
    2. Trabajando sin debugger (nuestro programa en ROM).
  3. Scripts invocados por Notepad++.

    Donde ver cada tema?

    • Clase YouTube: 2021-04-09 - Teo - Kit de desarrollo usado en el laboratorio (link)

    Material Adicional

      Diapos:

    • Slides de curso 2020, sistema_lab.pdfLink


    Semana 7, Lunes 15/04

    Clase 2021.11 - Metodos ES, Puertos, deco ES, Handshake

    Temas

    1. Métodos de E/S
      • Controlada por programa
      • Controlada por interrupciones
      • Controlada por hardware (acceso directo a memoria DMA)
    2. Puertos
      • Puerto entrada = BUFFER (o compuerta AND con buses multiplexados)
      • Puerto salida = ELEMENTO DE MEMORIA (Registro o Latch)
    3. Decodificación de E/S, mapas
    4. Transferencias condicionales e incondicionales
    5. Sincronización productor consumidor
      • Registro de datos, banderas de estado
    6. Caso consumidor puerto salida
    7. Caso productor puerto de salida
    8. Ejemplo subrutina para puerto con handshake

    Donde ver cada tema?

    Material Adicional

      Diapos:

    • 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

    1. Repaso
      • Métodos de E/S
      • Puertos
      • Transferencias condicionales
      • Registro de datos, bandera de estado
    2. Limitación de tiempo de espera (timeout)
    3. Polling. Cómo atender varios periféricos
      • Nociones de tiempo de respuesta y prioridades
    4. 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

    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

    1. 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
        1. caso Z80: INT con EI y DI
      • Cómo evitar interrumpirse a sí mismo, solucion de INT
      • Ejemplo:
        1. Rutina de atención que incrementa un contador
    2. Comentarios sobre Práctica 1 de laboratorio
      • Errores más comunes.
    3. 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?

    Material Adicional

      Material:

    • interrupciones-v1.pdf: Link
    • Openfing: Clase 16: Link

    Link a autoevaluación de la clase - Autoevaluación 2021.14

     

    Clase 2021.15 - Estructura interrupciones Z80, Ej. dos interrupciones en modo 1

    Temas

    1. Repaso
      • Secuencia de atención
      • Ejemplo contador de interrupciones
    2. 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?

    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

    1. 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
    2. 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?

    Material Adicional

    • 12_1_interrupciones_z80.pdf: Link
    • ejercicios_puertos.pdf: Link

    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

    1. 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
    2. 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
    3. 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
    4. Observación de buses y señales de control usando analizador lógico pendiente

    Donde ver cada tema?

    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

    1. 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?
    2. Controlador de interrupciones externo.
    3. Esquema de prioridades “Fully nested”, ejemplo de secuencia de ejecución.
      • Necesidad de señal EOI, implementación en Z80 con RETI
    4. Esquema de rotación automática
    5. 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

    1. 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

    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

    1. Repaso Periféricos.
      • Periféricos programables
      • Periféricos usados en el curso
    2. Controlador de interrupciones.
      • Características
      • Pines
      • Programación
      • Ejemplo de conexionado
    3. 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

    1. 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

    Link a autoevaluación de la clase - Autoevaluación 2021.24

     

    Clase 2021.21 - Hojas de datos. Tiempos hardware

    Temas

    1. Hojas de datos de circuitos integrados
      • Maximum ratings, Operation conditions, DC characteristics
      • AC characteristics
      • Requerimientos: tiempos de setup y hold
      • Características: retardos
    2. Tiempos hoja de datos chips memorias
      • ciclo lectura
      • ciclo escritura
    3. Análisis de tiempos HW
      • Debe hacerse para todos los ciclos y todos los chips
      • Requerimientos de uP y memorias
    4. Ciclo M1, Setup: t15
      • Planteo de ecuaciones

    Donde ver cada tema?

    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

    1. 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?

    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

    1. 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
    2. Ejemplo
      • Registrador de perturbaciones (Pr. 9, Ej 2)
      • Uso de diagrama de estados para diseño de la solución

    Donde ver cada tema?

    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

    1. 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.
    2. 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?

    Material Adicional

    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

    1. 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)
    2. 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
    3. 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?

    Material Adicional

      Diapos:

      • Microcontroladores, GPUs, SoCs (slides 2 al 7 y 17 al final) en :: Link
      • 04_memorias_v2.pdf: Link

    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

    1. 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?

    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

    1. Desarrollo en diferentes líneas
      • Microcontroladores de propósito general
      • Procesadores digitales de señal
      • GPUs
    2. 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
    3. Diferentes formas de comercialización
      • Circuito integrado fabricado
      • Arquitectura y licencia para utilizarla
      • Módulos de propiedad intelectual (IP)
    4. Diferentes formas de integración
    5. System on a Chip (SoC)

    Donde ver cada tema?



    Semana 18, Lunes 01/07

    Consultas (y/o Problema examen a definir)


    Última modificación: miércoles, 29 de mayo de 2024, 12:19