Está en la página 1de 48

MÓDULO 1

Fundamentos básicos del sistema


de entrada/salida (E/S)
 Tema 1.- Arquitectura del sistema de entrada/salida

 Tema 2.- Mecanismos de sincronización

 Tema 3.- Métodos de transferencia de datos

Actualizado: 6 septiembre 2022


TEMA 1: Arquitectura del sistema de E/S
 Introducción

 Elementos básicos del sistema de E/S

 Estructuras de interconexión entre procesador, memoria y entrada/salida

 El sistema operativo y los dispositivos de E/S

 Comunicaciones entre el SO y los dispositivos de E/S

 Direccionamiento de los dispositivos de E/S

 Clasificación de los dispositivos periféricos

 Casos de estudio: puertos de E/S en el IBM-PC

 Bibliografía:
 Capítulo 7: Stallings, William, “Organización y Arquitectura de Computadores”, Prentice Hall,
2006
 Capítulo 6: Patterson, D. and Hennessy, J., “Estructura y Diseño de Computadores. La Interfaz
Hardware/Software”, Ed. Reverté, 2011

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 2


Introducción
 Componentes básicos de la
arquitectura Von-Neumann Mundo externo
 Unidad Central de Proceso (CPU) - Seres humanos
- Sistemas de almacenamiento (discos, cintas,…)
 Unidad de control + camino de datos - Otras máquinas o dispositivos
(registros, unidades funcionales,..)
 Función: Ejecutar las instrucciones
 Memoria
 Almacenamiento de instrucciones y
datos
 Sistema de entrada/salida
 Permite el intercambio de informa-
ción con el mundo externo
 Ser humano a través de un periférico
 Sistemas de almacenamiento (discos)
 Otras máquinas

 Interconexión de componentes
 Uso de estructuras de interconexión,
basadas principalmente en:
 Buses (multipoint)  clásico
 Interconexiones punto-a-punto
(point-to-point)  actual
Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 3
Características de los sistemas de E/S
 Objetivos de diseño
 CPU/memoria
 Alto rendimiento, bajo coste, alta eficiencia energética, …
 Entrada/salida
 Expansibilidad: Que el sistema se pueda ampliar para añadir nuevos dispositivos E/S
 Confiabilidad (dependability): Confianza del usuario en el servicio que presta, fiabilidad, …
 Un fallo en el disco con pérdida de información es más catastrófico para el usuario que un fallo en la CPU.
 Recuperación ante fallos: Detección y corrección de errores
 Bajo coste
 Otros: Consumo energético, rendimiento, …

 Otros características
 Conforme las CPUs son más rápidas, tanto las máquinas grandes como pequeñas en un
determinado sector, usan los mismos microprocesadores siendo entonces la memoria y la E/S
componentes importantes que marcan la diferencia entre un computador y otro.
 El éxito de aplicaciones recientes (multimedia, internet, ...) fuertemente relacionadas con el
ancho de banda de la E/S.
 Las máquinas interactúan con las personas a través del sistema de E/S.
 Medidas de rendimiento: productividad y tiempo de respuesta
 Más complejo de medir (dependencia de otros componentes) y la medida a utilizar depende
del tipo de sistema computador (PC, server, embedded) y de las aplicaciones
 Servidores  Productividad (operaciones E/S / seg., Transacciones/seg) y tiempo de respuesta
 P.e. Tiendas online, cajeros automáticos, operaciones financieras (banco, bolsa,…)
 PC: tiempo de respuesta
Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 4
TEMA 1: Arquitectura del sistema de E/S
 Introducción

 Elementos básicos del sistema de E/S

 Estructuras de interconexión entre procesador, memoria y entrada/salida

 El sistema operativo y los dispositivos de E/S

 Comunicaciones entre el SO y los dispositivos de E/S

 Direccionamiento de los dispositivos de E/S

 Clasificación de los dispositivos periféricos

 Casos de estudio: puertos de E/S en el IBM-PC

 Bibliografía:
 Capítulo 7: Stallings, William, “Organización y Arquitectura de Computadores”, Prentice Hall,
2006
 Capítulo 6: Patterson, D. and Hennessy, J., “Estructura y Diseño de Computadores. La Interfaz
Hardware/Software”, Ed. Reverté, 2011

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 5


Elementos básicos del sistema de E/S
 Interfaz (o módulo de E/S, [Stalling-2011])
 Sistema mixto hardware/software que permite la comunicación entre la CPU/memoria y el
periférico.
 De complejidad variable acorde a la aplicación y prestaciones del computador. Denominaciones:
 Controlador de E/S (microcomputadores)  Interfaz de E/S  canal de E/S (grandes computadores)
 Ejemplo: Controlador de teclado  Interfaz externa RS-232C  sist. almacenamiento altas prestaciones

 Periférico
 Dispositivo hardware (electrónico, mecánico u óptico) que posibilita la comunicación del
computador con el exterior. Puede ser de almacenamiento o de E/S de datos.
 E/S de datos: teclado, pantalla, ratón, impresora, joystick, …
 Almacenamiento: disco, flash, cinta, …

SISTEMA DE ENTRADA/SALIDA

Buses del
Bus de periférico
sistema
INTERFAZ PERIFÉRICO
Ej. Cables USB, HDMI, SATA

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 6


Esquema general
Bus del sistema ( o switch central)

Procesador Memoria 8085 Interfaz/


Controlador/Módulo
E/S

8085
Bus/enlace al Periférico

Periférico
Interfaz/Controlador/Módulo de E/S Una operación de E/S consiste en:
• Conexión del periférico al bus sistema • El procesador comprueba si el dispositivo está listo
• Reconoce y genera direcciones (lectura del registro de estado)
• Visible al programador como un conjunto de registros • Enviar parámetros de la operación (registro de control)
• Complejidad variable según prestaciones del computador • El periférico envía/recibe un dato al/del interfaz
• Controlador  procesador de E/S • Transferir el dato del interfaz (reg. Datos) al procesador
BUS
• Permite al programador, conjuntamente con el Sistema • Terminación (registro de control/estado)
Operativo, tener una visión simplificada del periférico
EMA
Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 7
Estructura de un interfaz de E/S
Status
Lógica de interfaz Control
Registro de datos (o buffers)
Líneas de datos
a dispositivo Periféricos
Líneas de direcciones

externo Datos
Líneas de control Registro control/estado . - Impresoras
. - Discos
. - Teclados/ratones
- Pantallas
Status
- Motores
Lógica de interfaz Control - Sensores
a dispositivo
Lógica de Datos - Actuadores
externo
control E/S

Bus E/S o conexión: estándar o no estándar


Controlador de E/S

Conexión al
bus del sistema Conexión al periférico

Funciones del interfaz o controlador E/S

• Comunicación con el procesador


• Comunicación con los dispositivos periféricos
- Protocolos comunicación • Control y temporización - Conector mecánico/físico
- Sincronización y temporización • Almacenamiento temporal de datos para amortiguar las - Señales y protocolo
- Direccionamiento reg. controlador diferencias de velocidad entre CPU y periférico - Transmisión serie o paralelo
- Decodificación de órdenes • Detección de errores. Eventos y generación de interrupciones - Sincronización: síncrona o asíncrona
-Transferencias de datos • Otras: - Bus compartido vs punto a punto
- Información de estado • Conversión de longitud y formato de los datos. - Intercambio de: Órdenes, datos y estado
• Adaptación de señales eléctricas: voltajes
• Protocolos de comunicación

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 8


Periférico
 Características generales
 Dispositivo físico desarrollado usando una o
múltiples tecnologías Modelo de dispositivo externo
 Eléctrica, electrónica, óptica, mecánica,
magnética, química, etc…
… al controlador de E/S
 Permite el intercambio de datos entre el
computador y el exterior Control Estado Datos
 Conexión al computador a través del interfaz
(disponible y estándar en la mayoría de los
casos: usb, vga, ps/2, serial, i2c,…) Buffer
Lógica
de control
 Transductor Transductor
 Convierte las señales eléctricas asociadas al
dato a otra forma de energía en el caso de la
salida, y viceversa, en el caso de una entrada.
Datos
 Ejemplos:
 Salida: Impresora de impacto (agujas) Datos (únicos para cada dispositivo)
hacia/desde el entorno
 conversión de energías??
 Entrada: Ratón
 conversión de energías??

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 9


Ejemplo: Controlador de teclado y display de 7-seg

Interfaz o controlador
Teclado

Procesador

Display 7-seg
Bus del sistema
microcomputador
Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 10
TEMA 1: Arquitectura del sistema de E/S
 Introducción

 Elementos básicos del sistema de E/S

 Estructuras de interconexión entre procesador, memoria y entrada/salida

 El sistema operativo y los dispositivos de E/S

 Comunicaciones entre el SO y los dispositivos de E/S

 Direccionamiento de los dispositivos de E/S

 Clasificación de los dispositivos periféricos

 Casos de estudio: puertos de E/S en el IBM-PC

 Bibliografía:
 Capítulo 7: Stallings, William, “Organización y Arquitectura de Computadores”, Prentice Hall,
2006
 Capítulo 6: Patterson, D. and Hennessy, J., “Estructura y Diseño de Computadores. La Interfaz
Hardware/Software”, Ed. Reverté, 2011

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 11


Estructuras de interconexión
 Los diferentes componentes de un computador (procesador, memoria y
dispositivos de E/S) se comunican entre sí a través de estructuras de interconexión.
 Tipos de estructuras de interconexión
A lo largo del tiempo, se han utilizado diferentes estructuras de interconexión, pero las más
usuales son:
 Buses (buses compartidos: shared buses, multidrop) y estructuras jerárquicas de múltiples
buses
 Conexiones punto-a-punto (point-to-point interconnects)

 Tipos de transferencias que han de soportar las estructuras de interconexión


 De procesador a memoria
 El procesador escribe datos en memoria
 De memoria a procesador
 El procesador lee un dato o una instrucción de memoria
 De procesador a E/S
 El procesador envía datos a los dispositivos de E/S a través de los interfaces
 De E/S a procesador
 El procesador lee datos de los dispositivos de E/S a través de los interfaces
 De E/S a memoria y de memoria a E/S
 Comunicación entre memoria y los dispositivos de E/S directamente, sin intervención del
procesador, usando el acceso directo a memoria (DMA).

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 12


Limitaciones de los buses compartidos:
Bus (multi-drop bus) vs punto a punto (point-to-point)

Point-to-point

Bus

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 13


Bus:
(Shared bus)
 Definición:
 Un bus es un conjunto de líneas o vías de comunicación compartido que interconecta el
procesador, memoria y entrada/salida, permitiendo las comunicaciones entre ellos.
 Usado durante décadas aunque sustituido por las interconexiones punto a punto que
dominan, hoy en día, en los sistemas de altas prestaciones.
 Aún usado en sistemas de más bajas prestaciones: p. ej. microcontroladores.

Interrupts
Processor

Cache

Bus de direcciones
Bus de datos Memory– I/O bus Bus del sistema
Bus de control
I/O I/O I/O Controlador (o adaptador de BUS)
Main controller controller controller
memory

Network Buses/conexiones de la E/S


Graphics
Disk Disk
output PATA, SCSI, SATA, USB,…

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 14


Buses:
Ventajas y desventajas

Procesador Memoria Dispositivo E/S Dispositivo E/S

 Ventajas
 Versatilidad
 Fácil adición de nuevos dispositivos o subsistemas.
 Permite compartir periféricos que usan el mismo bus entre sistemas de computadores.
 Coste reducido o rentable ya que el bus es un camino compartido

 Desventajas
 Un bus crea un cuello de botella en las comunicaciones
 Velocidad limitada por:
 Longitud del bus (tiempo de propagación: ≈ 20 cm por nanosegundo)
 Número de dispositivos conectados al bus
 La necesidad de soportar un rango amplio de dispositivos (diferentes tipos)
 Tiempos de respuestas y velocidades de transferencia diferentes

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 15


Bus:
Clasificación de señales
 Clasificación de las señales (50-100 señales, típico)
 Líneas de control
 Indican el tipo de operación a realizar (lectura, escritura,…). También incluye todas las
señales necesarias para implementar el protocolo del bus.
 Indican el tipo de información que está sobre las líneas de datos (señales de sincronización
que indican la validez de direcciones y datos).
 Líneas de datos
 Para la transferencia de los datos en su más amplio sentido
 Ancho del bus: número de líneas de datos (8, 16, 32, 64, …)
 Gran influencia en el rendimiento del sistema (MB/seg)
 Líneas de direcciones
 Utilizadas para el direccionamiento de los dispositivos que intervienen en una determinada
transacción.
 Cuantas más líneas de direcciones, mayor capacidad de direccionamiento (MB, GB, TB,...)
 Otras: líneas de alimentación y tierra

 Una transacción en el bus requiere:


 Obtener el uso del bus y enviar la dirección del dispositivo con el que se va a realizar la
operación.
 Realizar la operación: lectura, escritura, lectura-modificación-escritura, etc...

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 16


Bus:
Maestro vs Esclavo (Master vs Slave)

Maestro envía direcciones


Maestro Esclavo
(Bus Master) Los datos pueden ir en cualquier sentido (Bus slave)

 Dos tipos de dispositivos en el bus:


 Maestro
 Esclavo

 El MAESTRO es el dispositivo que inicia la transacción en el bus


 Toma el control del bus, envía la dirección del dispositivo y activa las señales de control
que corresponda.

 El ESCLAVO es quien responde a la dirección


 Enviando datos al MAESTRO, si éste se los ha pedido
 Recibiendo datos del MAESTRO, si éste quiere enviarlos

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 17


Tipos de buses
 Bus Procesador-Memoria (diseño específico)
 Corto y de alta velocidad
 Sólo necesita adaptarse al sistema de memoria
 Maximizar el ancho de banda procesador-memoria
 Conecta directamente al procesador

 Bus backplane (estándar de la industria)  expansión del sistema


 Backplane: Estructura de interconexión (conectores) sobre un chasis.
 Permite la coexistencia de procesador, memoria y E/S
 Ventajas en el coste: Un único bus para todos los componentes.

 Bus de Entrada/Salida (estándar de la industria)


 Normalmente más largo y lento
 Necesita adaptarse a un rango variado de dispositivos de E/S
 Se conecta al bus procesador-memoria o a un bus backplane

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 18


Un sistema computador con un solo bus:
Bus Backplane (bus del sistema)

Bus Bakplane
Procesador Memoria

Dispositivo E/S Dispositivo E/S Dispositivo E/S

 Un único bus (backplane) utilizado para:


 Comunicación procesador-memoria
 Comunicación entre los dispositivos

 Ventajas: Simple y de bajo coste

 Desventajas: Lento y puede ser un cuello de botella para las comunicaciones

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 19


Un sistema computador con dos buses:
Procesador-memoria y Entrada/Salida (E/S)

Bus procesador-memoria
Procesador Memoria

Adaptador de bus Adaptador de bus Adaptador de bus

Bus de Bus de Bus de


E/S E/S E/S

 Los buses de E/S se conectan al bus procesador-memoria a través de adaptadores.


 Bus procesador-memoria: Para soportar principalmente el tráfico procesador-memoria
 Buses de E/S: Proporcionan conectores de expansión para conectar más periféricos

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 20


Sistema computador con tres buses:
Procesador-memoria, Backplane y E/S
Bus procesador-memoria
Procesador Memoria

Puente
(Bridge)

Bus Adaptador de bus


backplane
Buses de
E/S
Adaptador de bus

 Bus backplane dotado de varios conectores (slots) se conecta a través de un puente (bridge) al
bus procesador-memoria.
 Bus procesador-memoria para el tráfico entre procesador-memoria.
 Los buses de E/S conectados a través de los adaptadores al backplane.

 Ventaja: La carga o tráfico sobre el bus procesador-memoria fuertemente reducida


(disminución del cuello de botella).

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 21


Ejemplo:
Organización jerárquica de buses compartidos
Arquitectura North/South bridge: Intel 430HX Pentium (1996)
Jerarquía buses:
Rápidos

North

PCI

South
Lentos

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 22


Sincronización:
Buses síncronos y asíncronos
 Bus síncrono
 Protocolo coordinado por una señal de reloj (existe una señal de reloj)
 Protocolo fijo para las comunicaciones relativo al reloj
 Ventaja: Fácil implementación. Muy rápido
 Desventajas:
 Cada dispositivo en el bus debe funcionar a la misma frecuencia de reloj
 Debido a los sesgos del reloj (clock skew) los buses no pueden ser grandes si son rápidos
 Los buses procesador-memoria suelen ser síncronos
Largo

 Bus asíncrono
 No tiene señal de reloj
Mejor
 Puede acomodar una amplia gama de dispositivos Longitud
del bus
asíncrono
 Los buses pueden ser más grandes
 Sin problemas con el sesgo de reloj. Mejor
 Requiere de un protocolo de presentación o saludo síncrono
Corto
 Handshaking
 Normalmente más lento que un síncrono Similares Variados

 Debido al “handshake” Tipos de dispositivos

 Bus semisíncrono
 Incluye señal de reloj pero pueden haber algunos estados de espera (wait) para aquellos
dispositivos que no respondan en el tiempo establecido por el ciclo de reloj.

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 23


Ejemplos:
Buses síncronos vs asíncronos
Protocolo asíncrono (puerto paralelo PC)

handshake

Protocolo síncrono

Reloj

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 24


Arbitraje del bus
 Cuando hay varios dispositivos (maestros) en el bus entonces se necesita de un esquema de
arbitraje para determinar que dispositivo obtiene el control del bus.

 Esquema de arbitraje
 Un maestro que quiera hacer uso del bus activa la señal de requerimiento de bus (bus request)
 El maestro no puede hacer uso del bus hasta que se lo concedan (bus grant)
 Un maestro debe indicar al árbitro cuando finaliza el uso del bus

 Los esquemas de arbitraje tratan de equilibrar dos factores


 Prioridad: El dispositivo más prioritario debe ser atendido antes
 Imparcialidad: El dispositivo de más baja prioridad también debe ser atendido garantizando el acceso
eventual al bus.

 Clasificación de los esquemas de arbitraje


 Paralelo centralizado
 Serie (daisy chain)
 Distribuido por autoselección
 Múltiples líneas de petición de bus. Cada dispositivo que quiere el bus deposita su código de identificación en el
bus. Los dispositivos analizan el bus y determinan cuál es el dispositivo de mayor prioridad que ha hecho una
petición.
 Distribuido por detección de colisiones
 Cada dispositivo solicita el bus de forma independiente. En caso de múltiples peticiones simultáneas del bus se
produce una colisión. Si se detecta colisión se aplica un método para decidir qué dispositivo gana el control del bus.
Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 25
Interconexiones punto-a-punto:
Point-to-point interconnects
 Conexión punto a punto
 Tendencia actual en las interconexiones de altas prestaciones
 Existen diseños de alta y baja prestaciones, según necesidades
 Interconecta solo 2 dispositivos
 En sistemas de altas prestaciones se utiliza la tecnología de switches (conmutadores de paquetes)
para la interconexión de varios dispositivos.
 Utilizados para superar las limitaciones eléctricas del “bus compartido”
 Características de las conexiones punto-a-punto de altas prestaciones:
 Arquitectura organizada en capas (similar a los entornos de red y otros)
 Transferencia basada en paquetes de información (con encabezados, CRC, …)
 Múltiples conexiones directas  gran ancho de banda
 Capa física: líneas de transmisión diferenciales (lanes). Full-duplex

Multinúcleo. Comunicación punto a punto entre núcleos

Ejemplo de conexión
punto a punto
de bajas prestaciones:
-Serial: RS232
Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 26
Ejemplo:
Chipset Z370
Intel core i processors, Coffeelake (oct, 2017), 8ª generación. Chipset  Z370

Cambios respecto a generación anterior:


- Incremento a 6 cores (i5-i7)
- L3 más grande
- Incremento frecuencia turbo (+ 400MHz)
- DDR4 2666 MHz.. 2400 MHz .
- No compatibilidad con DDR3
- Memoria Optane

Conexiones punto a punto:


-Dentro del procesador (comunicación
entre cores)
- Fuera del procesador con el chipset (o I/O
Hub)

Direct Media Interface:


DMI 3.0  3,93 GB/s (4 lanes)
Chipset z370 
Hasta 24 Pci-Express 3.0
6 SATA 3.0
10 USB 3.0

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 27


Ejemplos de interconexiones:
Compartidas (bus) y no compartidas (punto-a-punto)
Buses paralelos Punto-a-punto paralelo
BUS paralelo compartido
P1 Conexión paralela punto a punto P2

P1 P2 P3 Ejemplos: RapidIO (500 Mb/seg)??


Centronics 100-150 KB/seg
Ejemplos: ISA, EISA, VME, IDE, PCI (66 Mb/s)
Punto-a-punto serie
P2

Buses seriales P1 Switch P3

P1
BUS serie compartido P1 Conexión serie punto a punto P2

P1 P2 P3 Ejemplos: - PCI-Express (2,5 Gb/s por canal)


- Serial RapidIO (2,5 Gb/s por canal)
-SATA-300 (3 Gb/s)
Ejemplos: RS-422, fulldúplex, 10Mbits/seg (max) -SATA-600 (6 Gb/s)
RS-485, halfdúplex, 10 Mb/seg (max) - USB 2.0 (480 Mb/s) - USB 3.0 (4.8 Gb/seg)
I2C (halfdúplex, 100-400 kb/s, … 5 Mb/s - RS-232C (bajas prestaciones)
Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 29
TEMA 1: Arquitectura del sistema de E/S
 Introducción

 Elementos básicos del sistema de E/S

 Estructuras de interconexión entre procesador, memoria y entrada/salida

 El sistema operativo y los dispositivos de E/S

 Comunicaciones entre el SO y los dispositivos de E/S

 Direccionamiento de los dispositivos de E/S

 Clasificación de los dispositivos periféricos

 Casos de estudio: puertos de E/S en el IBM-PC

 Bibliografía:
 Capítulo 7: Stallings, William, “Organización y Arquitectura de Computadores”, Prentice Hall,
2006
 Capítulo 6: Patterson, D. and Hennessy, J., “Estructura y Diseño de Computadores. La Interfaz
Hardware/Software”, Ed. Reverté, 2011

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 30


El sistema operativo y los dispositivos de E/S
 Objetivos básicos de un sistema operativo
(SO)
 Comodidad
 Hace que el computador sea más fácil y
cómodo de utilizar
 Eficiencia
 Permite un uso eficiente de los recursos del
computador.

 El SO juega un papel muy importante en la


entrada/salida de un computador.
 Actúa como interfaz entre el hardware y el
programa que pide E/S.
 Se encarga del conjunto particular de
instrucciones y señales de control que necesita
un dispositivo de E/S para que funcione
correctamente.
 El programador puede pensar simplemente en
términos de lecturas y escrituras (printf(), Drivers: Software que se encarga del control y
read(), write(), …) sin preocuparse del control gestión de los periféricos y que se integran en el
a bajo nivel de los dispositivos. núcleo del SO. Deseable que tengan un interfaz y
conjunto de acciones comunes desde el punto de
vista del SO.

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 31


Características básicas de los sistemas de E/S
 Sistema compartido
 El sistema de E/S de un computador es compartido por múltiples programas que utilizan
el procesador

 Uso de interrupciones
 Los sistemas de E/S utilizan, con frecuencia, interrupciones para solicitar la atención del
procesador (sincronización).
 Las interrupciones deben ser tratadas por el SO y hacen que el procesador cambie al
modo supervisor o kernel.

 Complejidad del bajo nivel


 El control a bajo nivel de un dispositivo de E/S es complejo
 Gestión de un conjunto de eventos concurrentes
 Los requerimientos para el correcto control son con frecuencia muy detallados
 Cronogramas de señales de control, datos y estado

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 32


Funciones del Sistema Operativo
(respecto del sistema de E/S)
1. Proporcionar protección a los recursos de E/S compartidos
 Garantiza que un programa de usuario sólo pueda acceder a partes de un dispositivo de
E/S en las que el usuario tiene derechos.

2. Proporcionar abstracciones (capas de software) para acceder a los dispositivos


a través de rutinas (drivers) que tratan las operaciones de bajo nivel de los
dispositivos.

3. Manejar las interrupciones generadas por los dispositivos de E/S (de igual
forma que trata las posibles excepciones generadas por los programas)

4. Proporcionar acceso equitativo a los recursos de E/S compartidos

5. Planificar los accesos con el fin de mejorar la productividad del sistema.

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 33


TEMA 1: Arquitectura del sistema de E/S
 Introducción

 Elementos básicos del sistema de E/S

 Estructuras de interconexión entre procesador, memoria y entrada/salida

 El sistema operativo y los dispositivos de E/S

 Comunicaciones entre el SO y los dispositivos de E/S

 Direccionamiento de los dispositivos de E/S

 Clasificación de los dispositivos periféricos

 Casos de estudio: puertos de E/S en el IBM-PC

 Bibliografía:
 Capítulo 7: Stallings, William, “Organización y Arquitectura de Computadores”, Prentice Hall,
2006
 Capítulo 6: Patterson, D. and Hennessy, J., “Estructura y Diseño de Computadores. La Interfaz
Hardware/Software”, Ed. Reverté, 2011

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 34


Comunicaciones entre el SO y los dispositivos de
E/S
 El sistema operativo debe ser capaz de:
 Comunicarse con los dispositivos de E/S
 Evitar que el programa de usuario se comunique directamente con los dispositivos de
E/S para garantizar la protección de los recursos compartidos.

 Se necesitan tres tipos de comunicaciones:


 El SO debe poder dar órdenes a los dispositivos de E/S
 Direccionamiento de los dispositivos de E/S
 Espacios de E/S y memoria separados y/o E/S mapeadas en memoria.
 El dispositivo de E/S debe notificar el SO cuando ha completado una operación o ha
encontrado un error
 Es necesario la sincronización entre procesador y periférico debido a las diferencias de
velocidad de los mismos -> Métodos de sincronización
 Consulta (polling)
 Interrupciones
 Los datos deben ser transferidos entre memoria y un dispositivo de E/S
 Métodos de transferencia
 Por programa
 Acceso directo a memoria (DMA)
 Procesadores especializados de E/S
Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 35
TEMA 1: Arquitectura del sistema de E/S
 Introducción

 Elementos básicos del sistema de E/S

 Estructuras de interconexión entre procesador, memoria y entrada/salida

 El sistema operativo y los dispositivos de E/S

 Comunicaciones entre el SO y los dispositivos de E/S

 Direccionamiento de los dispositivos de E/S

 Clasificación de los dispositivos periféricos

 Casos de estudio: puertos de E/S en el IBM-PC

 Bibliografía:
 Capítulo 7: Stallings, William, “Organización y Arquitectura de Computadores”, Prentice Hall,
2006
 Capítulo 6: Patterson, D. and Hennessy, J., “Estructura y Diseño de Computadores. La Interfaz
Hardware/Software”, Ed. Reverté, 2011

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 36


Direccionamiento de los dispositivos de E/S
 Desde la programación a bajo nivel, un dispositivo de E/S se ve como un
conjunto de registros asociado a su interfaz, a través de los que
enviamos/recibimos información hacia/desde los periféricos.

 Aspectos básicos en el direccionamiento de un dispositivo de E/S


 Los registros del interfaz de un dispositivo se asignan (o mapean) a determinadas
direcciones de los espacios de direccionamiento del procesador.
 Los procesadores (según el diseño de su arquitectura) pueden tener:
 Solo un espacio de direccionamiento (memoria principal + E/S)
 Dos espacios de direccionamiento: un espacio para la memoria y otro para mapear los
registros de los dispositivos de E/S (a las direcciones de este espacio de E/S se les llama
puertos).
 Para realizar una operación de lectura o escritura en el registro de un interfaz es
necesario enviar, previamente, su dirección al bus de direcciones (dirección de memoria
o puerto) y luego activar las señales control (RD/RW) que correspondan.
 Una salida del decodificador de direcciones del sistema (CSn: chip select del dispositivo
n) seleccionará el interfaz que se ha de conectar al bus para realizar una operación de
intercambio de información (lectura o escritura).

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 37


Mapeo de la E/S:
E/S mapeada como puertos (port-mapped I/O)
 E/S mapeada como puertos (port-mapped I/O)
 Los espacios de memoria y de E/S están separados
 El procesador dispone de una señal de control que indica cuando se accede a uno u otro
espacio. Por ejemplo, el bus de sistema del uP8086 dispone de la señal M/IO’ (1:
espacio de memoria; 0: espacio de E/S).
 Existen instrucciones específicas de INPUT/OUTPUT para acceder al espacio de E/S
donde se encuentran mapeados los registros de los dispositivos de E/S.
Señal M/IO’ = 1
Acceso a puertos de E/S (in-out)
Acceso a memoria (load, store)
IN AL,28 ; lectura puerto 28
Li r2, 1000 ; Carga r2 con 1000 OUT 28, AL ; escritura puerto 28
Espacio de memoria (4 GB)
Lw r2, 0(r2) ; Lectura posic. 1000
Señal M/IO’ = 0
Sw r2, 0(r2) ; Escritura posic. 1000

E/S (64 KB)


Espacio de
1000 

 28

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 38


Mapeo de la E/S:
E/S mapeada como memoria (memory-mapped I/O)
 E/S mapeada como memoria (memory-mapped I/O)
 No se distingue entre los espacios de memoria y de E/S
 Los registros de los interfaces de E/S se mapean en el espacio de direcciones de
memoria. Se acceden a ellos como si fuese una posición de memoria.
 Instrucciones de “Load y Store” para acceder tanto a posiciones memoria como a los
registros de los interfaces de E/S. No hay diferencias en el acceso.
Puertos de E/S
E/S

 FFFF0000H Acceso a registros de E/S mapeados


como memoria

Li r2, FFFF0000H ; Carga r2 dirección del registro de E/S


Load r1, 0(r2) ; Lectura puerto
Store r1, 0(r2) ; Escritura puerto
4 GB

Memoria

Proporciona cierta facilidad para el acceso a los dispositivos de E/S al


poder aprovechar los modos de direccionamiento de la arquitectura
del procesador en las operaciones de E/S.

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 39


Mecanismo de decodificación de direcciones
 Señal “chip select”
 En general, todo dispositivo que se conecta al bus del sistema se le asigna una dirección y dispone de una
señal de entrada (chip select, cs).
 Cuando la señal “chip select” se activa, el dispositivo se conecta al bus y se puede intercambiar
información entre dispositivo y la CPU/memoria.
 La señal “chip select” la genera un decodificador de direcciones.
 Decodificador de direcciones: múltiples soluciones.
 Decodificación centralizada mediante decodificadores u otros dispositivos conectados al bus del sistema.
 Cada interfaz puede disponer de “jumpers” o puentes que permiten definir la dirección donde se ubican los
diferentes registros internos del interfaz del dispositivo.

Decodificador centralizado

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 40


TEMA 1: Arquitectura del sistema de E/S
 Introducción

 Elementos básicos del sistema de E/S

 Estructuras de interconexión entre procesador, memoria y entrada/salida

 El sistema operativo y los dispositivos de E/S

 Comunicaciones entre el SO y los dispositivos de E/S

 Direccionamiento de los dispositivos de E/S

 Clasificación de los dispositivos periféricos

 Casos de estudio: puertos de E/S en el IBM-PC

 Bibliografía:
 Capítulo 7: Stallings, William, “Organización y Arquitectura de Computadores”, Prentice Hall,
2006
 Capítulo 6: Patterson, D. and Hennessy, J., “Estructura y Diseño de Computadores. La Interfaz
Hardware/Software”, Ed. Reverté, 2011

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 41


Clasificación de los dispositivos de E/S
 Características útiles para la clasificación de los periféricos

 Comportamiento
 Periféricos de entrada (teclado, ratón,...)
 Periféricos de salida (impresora, pantalla, ...)
 Periféricos de lectura y escritura o almacenamiento (discos y cintas magnéticas)
 Compañero
 Según quien introduzca o lea los datos en el otro extremo del periférico
• Máquina
• Humano
 Frecuencia de datos
 Frecuencia máxima a la que pueden ser transferidos los datos entre procesador y periférico o
entre memoria y periférico.
Procesador Dispositivos
E/S

Control Entrada
Gran variedad de
Memoria
dispositivos
Camino de
Salida
datos Caché

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 42


Ejemplos de dispositivos de entrada/salida
 Características
 Existe una gran variedad de dispositivos
 Características de funcionamiento diferentes
 Diferentes velocidades de transferencia de datos: lentos/rápidos
 Formatos y tamaños de palabra diferentes
 Serie, paralelo, síncrono, asíncrono, codificación, …
 Requieren de un módulo de E/S para la conexión al bus del sistema
Frecuencia de datos
Dispositivo Comportamiento Compañero
KB/seg
Teclado Entrada Humano 0.01
Ratón Entrada Humano 0.02
Entrada de voz Entrada Humano 0.02
Escáner Entrada Humano 400
Salida de voz Salida Humano 0.6
Impresora de línea Salida Humano 1
Impresora láser Salida Humano 200
Pantalla gráfica Salida Humano 60000
Red-LAN Entrada/salida Máquina 500-6000
Modem Entrada/salida Máquina 2-8
Disco flexible Almacenamiento Máquina 100
Disco óptico Almacenamiento Máquina 1000
Cinta magnética Almacenamiento Máquina 2000
Disco magnético Almacenamiento Máquina 2000-10000

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 43


Otros ejemplos:
Ancho de banda de periféricos

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 44


TEMA 1: Arquitectura del sistema de E/S
 Introducción

 Elementos básicos del sistema de E/S

 Estructuras de interconexión entre procesador, memoria y entrada/salida

 El sistema operativo y los dispositivos de E/S

 Comunicaciones entre el SO y los dispositivos de E/S

 Direccionamiento de los dispositivos de E/S

 Clasificación de los dispositivos periféricos

 Casos de estudio: puertos de E/S en el IBM-PC

 Bibliografía:
 Capítulo 7: Stallings, William, “Organización y Arquitectura de Computadores”, Prentice Hall,
2006
 Capítulo 6: Patterson, D. and Hennessy, J., “Estructura y Diseño de Computadores. La Interfaz
Hardware/Software”, Ed. Reverté, 2011

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 45


Mapa de E/S en el IBM PC/AT
Port-mapped I/O (64K)

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 46


Puertos en el PC:
Placa base y chipset

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 47


Puertos en el PC:
Dispositivos orientados a bus

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 48


FIN
¿Preguntas?

Periféricos e Interfaces M1T1: Arquitectura del sistema de E/S 49

También podría gustarte