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