Entradas y salidas (E/S) | Arquitectura de Computadores 2

Entradas y salidas (E/S) | Arquitectura de Computadores 2

Introducción a la Interfaz de Entrada y Salida

Resumen de la sección: En esta sección se introduce el concepto de interfaz de entrada y salida, sus componentes básicos y su función en la comunicación entre dispositivos.

Componentes Básicos de una Interfaz de Entrada y Salida

  • La interfaz consta de dos bases: una para el control de dirección y otra para el control de datos.
  • Los dispositivos pueden ser entradas, salidas o direccionales. Las interfaces permiten la conexión entre los dispositivos y la CPU.
  • El diagrama básico muestra cómo funciona una interfaz: las entradas/salidas se conectan con el dispositivo, que hace una comparación con el registro de elección a miento base.
  • Las interfaces pueden ser sincrónicas o asincrónicas. Las sincrónicas comparten el mismo reloj mientras que las asincrónicas no están sincronizadas.

Tipos de Dispositivos

  • Los dispositivos pueden ser lentos (orientados al carácter), como los programados por software o interrupciones, o rápidos (acceso directo a memoria).
  • Los lentos son orientados al bit mientras que los rápidos son orientados al byte.

Entrada/Salida por Polling

  • La CPU tiene control directo sobre la entrada/salida. La CPU verifica el estado del dispositivo mediante lectura/escritura/transmisión.
  • La CPU espera hasta que complete la operación, lo que puede ser ineficiente.
  • La entrada/salida por polling se realiza mediante una ronda en la que la CPU pregunta a cada dispositivo si tiene algo para hacer.

Análisis de Acción

  • Después de ejecutar la acción, se puede continuar con el siguiente dispositivo o volver al comienzo de la ronda.

Introducción a la gestión de interrupciones

Resumen de la sección: En esta sección se introduce el concepto de interrupciones en la gestión del procesador y cómo estas pueden ser utilizadas para mejorar la eficiencia del sistema.

Interrupciones y dispositivos

  • Las interrupciones son una forma de gestionar los dispositivos periféricos conectados al procesador.
  • Los dispositivos periféricos toman turnos para enviar señales al procesador, lo que puede ser ineficiente y consumir tiempo de CPU.
  • Las interrupciones permiten que los dispositivos periféricos notifiquen al procesador cuando necesitan atención, evitando así esperas innecesarias.

Tipos de interrupciones

  • Hay varios tipos de interrupciones, incluyendo las asincrónicas y las sincrónicas.
  • Algunas interrupciones tienen más prioridad que otras y no pueden ser pospuestas o anuladas.
  • Las interrupciones también pueden ser enmascaradas para evitar su atención por parte del procesador.

Funcionamiento de las interrupciones

  • Cuando un dispositivo periférico necesita atención, envía una señal al procesador que detiene temporalmente su ejecución actual.
  • El procesador guarda el estado actual en la pila y salta a una rutina específica para atender la interrupción.
  • Después de completar la interrupción, el procesador vuelve al estado anterior y continúa su ejecución normal.

Ciclo de ejecución e interrupción

Resumen de la sección: En esta sección se describe cómo las interrupciones afectan el ciclo de ejecución del procesador y cómo se manejan en la práctica.

Manejo de interrupciones

  • Las interrupciones pueden ocurrir en cualquier momento durante el ciclo de ejecución del procesador.
  • Cuando ocurre una interrupción, el procesador guarda el contexto actual en la pila y salta a una rutina específica para atenderla.
  • Después de completar la interrupción, el procesador vuelve al estado anterior y continúa su ejecución normal.

Inhibición de interrupciones

  • Es posible inhibir temporalmente las interrupciones para evitar que ocurran durante ciertas operaciones críticas.
  • Esto se logra estableciendo un bit especial en el registro del procesador que indica si las interrupciones están habilitadas o no.
  • Las instrucciones críticas pueden entonces deshabilitar temporalmente las interrupciones para garantizar su correcta ejecución.

Entendido, a partir de ahora solo responderé en español y siguiendo las pautas que me has proporcionado. Comenzaré a resumir el contenido del video.

Interrupciones

Resumen de la sección: En esta sección se habla sobre las interrupciones en los microprocesadores. Se explica cómo funcionan las interrupciones y qué sucede cuando ocurre una interrupción.

Funcionamiento de las interrupciones

  • Cuando ocurre una interrupción, el microprocesador detiene temporalmente la ejecución del programa actual para atender la solicitud de la interrupción.
  • Si la interrupción es normal, el microprocesador continúa con el programa después de atenderla. Si no es normal, se guarda el programa actual en la pila y se carga otro para continuar.
  • Para evitar que ocurran más interrupciones mientras se está atendiendo una, se inhiben temporalmente las interrupciones posteriores.
  • Antes de atender una nueva interrupción, el microprocesador verifica si está habilitado para recibir nuevas solicitudes.

Identificación del elemento que generó la interrupción

  • Se puede configurar por software un sistema para identificar qué elemento generó una determinada interrupción.
  • La CPU puede detectar cuál fue el modo de entrada/salida que generó la solicitud de interrupción mediante un proceso llamado arbitraje.
  • Cada dispositivo interactúa con el procesador a través de una interfaz, que es la que dialoga con las demás partes del sistema.

Ventajas de las interrupciones

  • Las interrupciones permiten que el microprocesador esté siempre operando y no tenga que preguntar por cada dispositivo si tiene algo para hacer.
  • Cuando ocurre una interrupción, la CPU puede seguir ejecutando otras instrucciones mientras espera la respuesta.

Interrupciones y Controladores

Resumen de la sección: En esta sección se habla sobre las interrupciones y los controladores. Se explica cómo funcionan las interrupciones en los dispositivos, así como el concepto de Daisy Chain. También se habla sobre el controlador de EMEA y su función en la transferencia de información entre la CPU y la memoria.

Interrupciones

  • Los dispositivos pueden enviar señales de interrupción a la CPU para llamar su atención.
  • El Daisy Chain es un método que permite a varios dispositivos compartir una línea de interrupción, con prioridad determinada por la CPU.
  • La interfaz SPV es una única línea compartida por las interfaces de entrada y salida.

Controlador de EMEA

  • El controlador de EMEA permite transferir información directamente desde y hacia la memoria sin pasar por la CPU.
  • Las técnicas utilizadas por el controlador incluyen detención del CPU, transmisión en ráfaga o robo de ciclos.
  • El controlador es programable para manejar bloques de memoria principal, independiente del procesamiento realizado por la CPU.

Transferencia con Demian

  • La unidad entre sadía toma el control del bus para comunicarse directamente con la memoria sin pasar por el procesador.
  • La transferencia puede ser realizada en ráfagas o robos ciclos, dependiendo del tipo de dispositivo utilizado.
  • El controlador de EMEA gestiona la transferencia de información entre la CPU y la memoria.

Programación del Controlador

  • El controlador de EMEA es programable para manejar bloques de memoria principal, independiente del procesamiento realizado por la CPU.
  • La transferencia se inicia cuando el controlador de EMEA recibe una señal de inicio desde la CPU.
  • Mientras se realiza la transferencia, la CPU continúa procesando otras tareas.

Control de interrupciones

Resumen de la sección: En esta sección se discute el control de interrupciones en una CPU. Se explican dos métodos para controlar los ciclos de reloj y cómo segmentar las instrucciones en pequeños pedazos.

Métodos para controlar los ciclos de reloj

  • El robo de ciclos con interrupción total.
  • Hacer trabajar al bus a una velocidad más lenta.

Segmentación de instrucciones

  • Las instrucciones se segmentan en pequeños pedazos.
  • La búsqueda operando la trapera eficientemente.
  • La interrupción solo puede ejecutarse después del almacenamiento del resultado.

Prioridad y configuración del controlador

Resumen de la sección: En esta sección, se discute la prioridad y configuración del controlador en una CPU. Se explica cómo funciona la comunicación entre la CPU, el controlador y las entradas/salidas.

Configuraciones del controlador

  • Configuración 1: Todos los dispositivos están conectados al mismo bus.
  • Configuración 2: Diferentes interfaces para diferentes dispositivos.

Comunicación entre CPU, Controlador e I/O

  • La CPU pide información al controlador antes de buscarla en las entradas/salidas o memoria.
  • Una configuración más eficiente es tener un control integrado.

Funcionamiento de la memoria y la CPU

Resumen de la sección: En esta sección se explica cómo funciona el proceso de escritura en memoria y cómo la CPU busca información en ella.

Escritura en memoria

  • La información solo se escribe en memoria una vez.
  • La CPU pide al controlador de EMEA que escriba en memoria.
  • El controlador de mercado tiene la información necesaria para escribir en memoria.
  • Se pide permiso del BASS para escribir en memoria.
  • La CPU busca la dirección de memoria correspondiente para encontrar lo que necesita.

Proceso de búsqueda

  • La CPU busca la información interrumpida anteriormente por el controlador de humedad.
  • En cambio, si no hay interrupción, se debe pedir a las interfaces que proporcionen la información necesaria.

Interfaces de comunicación

Resumen de la sección: Esta sección describe los diferentes tipos de protocolos utilizados para las interfaces de comunicación.

Protocolo RS 232

  • Es un protocolo serie punto a punto utilizado con dispositivos como ARC2 32.
  • Utiliza dos líneas para transmitir información.

Protocolo RS 485

  • Es un protocolo lineal utilizado con un maestro y muchos esclavos.
  • Muy utilizado en aplicaciones industriales con muchos dispositivos charlando con el mismo maestro.

Ventajas del protocolo RS 485

  • Puede llegar hasta 200 metros sin pérdida de información.
  • Se pueden poner repetidores para expandir la información.

Normas y protocolos

Resumen de la sección: Esta sección describe las normas físicas y sintaxis de los protocolos.

Protocolo RS 485

  • Existen muchos protocolos RS 485 de diferentes fabricantes.
  • La sintaxis del protocolo varía según el fabricante.

Norma Ethernet LAN RJ45

  • No se recomienda que la longitud del cable Ethernet sea superior a 100 metros.
  • En cambio, en un protocolo RS 485, se pueden utilizar hasta 200 metros sin pérdida de información.

Protocolos de comunicación industrial

Resumen de la sección: En esta sección, se habla sobre los diferentes protocolos de comunicación industrial y su importancia en la industria.

Tipos de protocolos

  • Existen varios tipos de protocolos de comunicación industrial, como ProfiNet, S&P Ethernet/IP, Constitucional y Tercat.
  • Es importante tener en cuenta que algunos microcontroladores no son compatibles con Arduino.
  • El protocolo Embebido es una transmisión clínica oriental bike que se utiliza para la comunicación.
  • La comunicación siempre será la Mba Dios para lo que es la comunicación. También existen los protocolos asincrónico y sincrónico.

Utilidad de los protocolos

  • Estos protocolos tienen poca utilidad en nuestra vida cotidiana, pero son importantes en el ámbito industrial.
  • El USB es un ejemplo común de cómo funciona la comunicación entre dispositivos.
  • El límite máximo para conectar dispositivos a través del USB es 127 dispositivos por puerto.

Ancho de banda y conectividad

Resumen de la sección: En esta sección, se habla sobre el ancho de banda y la conectividad en las computadoras.

Ancho de banda

  • El ancho de banda del USB 3.0 es mucho mayor que el del USB 2.0 (40 gigabits por segundo).
  • El ancho de banda del USB 3.0 es importante para el rendimiento en la reproducción de video.

Conectividad

  • El límite máximo de dispositivos conectados a través del USB es 127 dispositivos por puerto.
  • Es posible conectar una GPU externa a través del socket del CDC y trabajar con ella en una CPU o notebook.
  • La GPU puede ser utilizada para proyectos que requieren mayor rendimiento, como la edición de video.

Ejercicio práctico

Resumen de la sección: En esta sección, se presenta un ejercicio práctico sobre una computadora de 32 bits con memoria caché y un tiempo de densidad de información.

Ejercicio práctico

  • El ejercicio consiste en trabajar con una computadora de 32 bits con una memoria caché inversa de 6 kb líneas en 4 gbytes y un tiempo denso de información.

Cálculo de la cantidad de conjuntos en una memoria caché

Resumen de la sección: En esta sección, se explica cómo calcular la cantidad de conjuntos en una memoria caché.

Cantidad de líneas y vías en una memoria caché

  • La memoria caché es de 256 kb.
  • Cada línea tiene un tamaño de 64 bits.
  • La memoria caché es asociativa por conjunto de cuatro vías.
  • Se sabe que hay cuatro vías, pero no se sabe cuántas líneas hay.

Fórmula para calcular la cantidad de conjuntos

  • La fórmula para calcular la cantidad de conjuntos es: cantidad de conjuntos = cantidad líneas / (cantidad días * cantidad vías).
  • Se calcula primero la cantidad líneas, que es igual al tamaño total de la memoria caché dividido por el tamaño de cada línea.
  • Luego, se divide esa cantidad entre el producto del número total de días y el número total de vías.

Ejemplo práctico

  • Para entender mejor cómo funciona este cálculo, se muestra un ejemplo práctico con los datos obtenidos anteriormente.
  • En este caso, se obtiene que hay 4096 líneas en total y 44 conjuntos.
  • Se explica que aunque el gráfico ayuda a entender mejor cómo está organizada la memoria caché, es necesario conocer las ecuaciones para poder hacer los cálculos necesarios.

Reemplazo del búfer

Resumen de la sección: En esta breve sección, se menciona que no fue necesario utilizar el reemplazo del búfer en el ejemplo práctico anterior.

Conclusión

  • El ejemplo práctico presentado es un buen ejercicio para entender cómo se calcula la cantidad de conjuntos en una memoria caché.
  • Es importante conocer las ecuaciones necesarias para hacer los cálculos, aunque el gráfico ayuda a visualizar mejor la organización de la memoria caché.
Video description

🔻 Marcas de tiempo: 🔻 🔹 (00:00) : Introducción 🔹 (00:58) : Diagrama de una e/s 🔹 (02:20) : Administración de e/s: polling 🔹 (05:52) : Administración de e/s: Interrupciones 🔹 (15:00) : Administración de e/s: Daisy chain 🔹 (16:03) : Administración de e/s: DMA 🔹 (23:25) : Configuraciones del DMA 🔹 (27:25) : Norma y protocolo 🔹 (32:00) : Transmisión asincronica: UART 🔹 (33:12) : Universal Serial Bus (USB) 🔹 (37:02) : Ejercicio práctica --------------------------------------------------------------- 📁 Archivos de la clase: https://drive.google.com/drive/folders/1FyaRO-Ro4kcnI-qCdB9Bj8ZtVR1H2Jum?usp=sharing 💻 Todos los videos de Arquitectura 2: https://youtube.com/playlist?list=PLhU2otMFcLuCj1Vwh8AFHJfXv3OgsFTSz --------------------------------------------------------------- 👨‍💻 Créditos y agradecimientos por la clase a los profesores H. Nielsen y N. Franco

Entradas y salidas (E/S) | Arquitectura de Computadores 2 | YouTube Video Summary | Video Highlight