Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arquitectura de Computadores
Sistema de Entrada/Salida 2
Índice
– Introducción
– Módulos de Entrada/Salida
– Mapa de Entrada/Salida: común y separado
– Métodos de Entrada/Salida
• E/S programada
• E/S por interrupciones
• Acceso directo a memoria
Bibliografía
– Organización y Arquitectura de Computadores, William
Stalling
Arquitectura de Computadores
1
Sistema de Entrada/Salida 3
Introducción (I)
• Un computador no puede estar formado sólo por la CPU y la memoria.
Para darle alguna utilidad, debe poder comunicarse con el mundo
exterior. Esto se realiza a través del subsistema de entrada/salida
(módulos de E/S)
• La misión principal del subsistema de E/S es la adaptación de los
dispositivos externos para su conexión al bus del sistema. ¿Por qué no
pueden conectarse directamente?
– A menudo, la velocidad de transmisión de datos de los periféricos es
mucho menor que la de la memoria y la CPU (es necesario amortiguar esa
diferencia de velocidades)
– Debido a la gran variedad de periféricos existentes no es posible incorporar
toda la lógica necesaria para controlar tal diversidad de dispositivos dentro
del procesador
– Los formatos y tamaños de datos de los periféricos suelen ser diferentes a
los utilizados por el computador a los que se conectan
Arquitectura de Computadores
Sistema de Entrada/Salida 4
Introducción (II)
Arquitectura de Computadores
2
Módulos de E/S 5
Definiciones (I)
• Dispositivo externo: elementos que permiten la transferencia de información
entre la CPU y el mundo exterior. Funcionan a modo de interface
transformando la información asíncrona y analógica del mundo exterior a la
información síncrona y codificada del computador
• Módulo de E/S: elementos que permiten la conexión de un dispositivo externo
al bus del sistema. Los términos “controlador”, “procesador de E/S” y “módulo
de E/S” son equivalentes desde el punto de vista funcional:
• Los controladores son módulos de E/S muy sencillos que tienen el
hardware mínimo necesario para que funcione el dispositivo externo. La
lógica de control la gestiona en parte la CPU.
• Los canales o procesadores de E/S son auténticos procesadores con un
juego especializado de instrucciones orientado a operaciones de E/S, que
son programados por la CPU, permitiendo un funcionamiento autónomo.
• Un dispositivo externo conectado a un módulo de E/S se denomina dispositivo
periférico o simplemente periférico
Arquitectura de Computadores
Módulos de E/S 6
Definiciones (II)
Control
Datos,
Controlador
Dir. estado, Disp. Externo
Asinc.&Analog.
control
Datos
Arquitectura de Computadores
3
Módulos de E/S 7
Módulo de E/S
Buffer
Lógica de
Datos
Control Transductor Exterior
Dispositivo Externo
Arquitectura de Computadores
Módulos de E/S 8
Arquitectura de Computadores
4
Módulos de E/S 9
Funciones (I)
– Almacenamiento temporal
– Detección de errores
Arquitectura de Computadores
Módulos de E/S
Funciones (II)
• Control y temporización
– Necesarios para coordinar el tráfico entre los recursos internos (bus del sistema,
memoria principal) y los dispositivos externos
– Por ejemplo, el control de la transferencia de datos desde un dispositivo externo
al procesador podría implicar la siguiente secuencia de pasos:
1. El procesador pregunta por el estado del dispositivo
2. El módulo de E/S devuelve el estado del dispositivo
3. Si el dispositivo está listo, el procesador solicita la transferencia (lectura) al módulo de
E/S (mediante una orden)
4. El módulo de E/S obtiene los datos
5. Los datos se transfieren del módulo de E/S al procesador
3. Procesador 4. Módulo E/S 5. Procesador
1. Procesador 2. Módulo E/S ¿Dispositivo
Si Solicita obtiene datos del obtiene datos del
pregunta Estado devuelve estado externo listo?
transferencia dispositivo ext. módulo de E/S.
No
10
5
Módulos de E/S 11
Funciones (III)
• La comunicación con los dispositivos implica:
– Órdenes
– Información de estado
– Datos
• Almacenamiento temporal de datos
– Los datos se envían en ráfagas rápidas desde la memoria o el
procesador al módulo de E/S y después se envían al periférico a la
velocidad de éste (el proceso inverso es semejante)
– Los datos se almacenan para no mantener ocupada a la memoria en
una operación de transferencia lenta (evitar una caída en el
rendimiento)
• Detección de errores
– Errores debidos a defectos mecánicos o eléctricos
– Errores en la transmisión de información (códigos de detección de
errores)
Arquitectura de Computadores
11
Módulos de E/S 12
Funciones (IV)
Velocidades típicas de transferencia en dispositivos de E/S (bps)
(Almacenamiento temporal de datos)
Gigabit Ethernet
Monitor Gráfico
Fast Ethernet
Disco duro
Ethernet
Impresora láser
Módem
Ratón
Teclado
Arquitectura de Computadores
12
6
Conexión del subsistema de E/S 13
E/S Separada
• A la hora de integrar el subsistema de E/S (selección del dispositivos y
acceso a sus registros) en un computador, existen dos posibilidades: E/S
separada (o aislada) y E/S mapeada en memoria (o común)
– E/S separada: el acceso a la E/S se realiza a través de un espacio de
direcciones diferente al espacio de direcciones de memoria, al que
llamaremos espacio de direcciones de E/S (puertos de E/S). Por lo tanto,
en los sistemas que implementan la E/S separada existen dos espacios de
direcciones independientes: uno para memoria y otro para E/S.
– El acceso a la E/S está contemplado en la arquitectura: se utilizan
señales e instrucciones específicas de E/S.
– Ejemplo: la arquitectura IA32 dispone de un espacio de direcciones
de E/S de 16 bits al que se accede mediante las instrucciones IN y
OUT
Arquitectura de Computadores
13
Arquitectura de Computadores
14
7
Conexión del subsistema de E/S 15
Mapa de
???? – FFFF
Memoria
Arquitectura de Computadores
15
Arquitectura de Computadores
16
8
Sistema de E/S: programación básica (II) 17
• Ensamblador
E/S Mapeada (RISCV) E/S Separada (8086)
addi x3,x0,5 mov al, 5
lui x2, 0xFFFFA mov dx, 300h Sintaxis de in y out del 80x86:
ori x2,x2,0x000 out dx, al in dato, puerto
sb x3,0(x2) inc dx out puerto, dato
lbu x4,1(x2) in al, dx dato:
andi x4,x4,0x80 and al,80h · Sólo registro acumulador (AL, AX EAX)
beq x4,x0,fin jz fin · Tamaño del registro según el del puerto.
lb x5,2(x2) inc dx puerto:
fin: in al, dx si es de 8 bits → inmediato
mov bl, al si es de 16 bits → Reg. DX.
fin:
Arquitectura de Computadores
17
18
9
E/S mapeada en memoria: Inconvenientes (I) 19
19
20
10
Métodos de Entrada/Salida: Clasificación 21
Arquitectura de Computadores
21
22
11
E/S programada: Ejemplo 23
No
Espera activa
¿Fin lectura?
Sí
Transferir el Dato
Arquitectura de Computadores
23
24
12
E/S por interrupciones: Funcionamiento básico 25
Arquitectura de Computadores
25
Arquitectura de Computadores
26
13
E/S por interrupciones: Tipos de interrupciones 27
• Interrupciones Software:
– Producidas intencionadamente mediante instrucciones específicas.
• Interrupciones Hardware:
– Internas (excepciones): producidas por la CPU.
– Externas: producidas por los dispositivos de E/S.
• Vectorizadas: Identifican la interrupción mediante un vector.
– El vector es utilizado para obtener la rutina de servicio de
la interrupción.
• No vectorizadas (autovectorizadas): El procesador identifica
el dispositivo por sí mismo.
• No enmascarables (NMI): siempre son atendidas.
– Suelen ser prioritarias a las no enmascarables.
• Enmascarables: pueden ser desactivadas.
Arquitectura de Computadores
27
28
14
E/S por interrupciones: Implementación (II) 29
• Inconvenientes:
• Malgasta terminales del procesador
• De existir más periféricos que líneas no resolvería el problema.
Arquitectura de Computadores
29
INT Estado
RSI N
Mód N
• Desventaja:
– Consume mucho tiempo consultando en busca del módulo.
Arquitectura de Computadores
30
15
E/S por interrupciones: Implementación (IV) 31
INT
31
INT
INTA
32
16
E/S por interrupciones: Ejemplo. Intel 8086 33
Línea de petición
NMI INTR
de interrupción
PIC 8259 IMR
CPU Lógica de prioridades
Línea de aceptación
INTA
de interrupción IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7
Tabla de vectores
PIC 8259
NºInt de Interrupción Teclado Impresora
200 Direc. Tipo Interrupción esclavo
0 0 Divide Error ||||||||
x 4 4 1 Single Step
800 8 2 NMI Dedicadas
12 3 Breakpoint
16 4 Overflow Rutina Servicio
Dirección del 20 5 Usadas en de Interrupción
Vector de … … sucesores del Reservadas
interrupción 124 31 8086
128 32
…
800 200 Vector de Interr.
… Usuario
1020 255
Arquitectura de Computadores
33
Arquitectura de Computadores
34
17
Acceso directo memoria: Controlador DMAC 35
• Los módulos de E/S que no tienen capacidad para realizar acceso directo a
memoria requieren un Controlador de DMA (DMAC) en el bus del sistema.
– El bus PCI no precisa DMAC, pues ya posee los mecanismos necesarios para
que los módulos puedan acceder directamente a memoria.
• La CPU debe configurar el DMAC, especificando: DMAC
– Dirección del módulo de E/S Cuenta
– Dirección inicial de memoria
Bus datos
– El tamaño de la transferencia Datos
– El tipo transferencia: lectura o escritura
Bus direcciones
• El DMAC transfiere el bloque palabra a palabra. Dirección
– Se sincroniza con el dispositivo a través de DMA REQ
DMA Req y DMA Ack en cada palabra.
DMA ACK
– Realiza el acceso a la memoria con su registro Lógica
INT (TC)
de datos, de dirección y las señales de control. de
read
– Actualiza el registro de dirección y decrementa control
write
el registro cuenta de datos.
– Repite mientras registro “Cuenta de datos” != 0
– Cuando finaliza, envía una interrupción al procesador (TC, Terminal Count)
Arquitectura de Computadores
35
36
18
Acceso directo memoria: Funcionamiento (I) 37
• Modo ráfaga.
• Modo por robo de ciclos Módulo DMA-Req
DMAC
MEM
• Modo transparente. E/S DMA-Ack Cuenta
Datos
Dir
Memoria
Arquitectura de Computadores
37
38
19
Acceso directo memoria: Funcionamiento (III) 39
Arquitectura de Computadores
39
Arquitectura de Computadores
40
20
Acceso directo a memoria: Funcionamiento (V) 41
Arquitectura de Computadores
41
Leer el estado del Leer el estado del Interrupción Leer el estado del Interrupción
E/S→CPU
módulo de E/S módulo de E/S módulo DMA
E/S→CPU DMA→CPU
No
preparado
Condición Condición
Comprobar de error de error
Comprobar
el estado el estado c) Acceso directo a memoria
Preparado Preparado
NO
NO
Final Final
SÍ SÍ
Arquitectura de Computadores
42
21
Métodos de E/S: Resumen (II) 43
Arquitectura de Computadores
43
22