Professional Documents
Culture Documents
ENTRADA/SALIDA
R0 R1 PC 10000100
LO L1 LPC
01100001
DATAPATH
10001010
TPC 10010100
MX MY
X Y 10000100
OA 10101000
00100101
RA TAD
LA SALIDA
TRA TA TDD
CONTROL
1
Entrada/Salida Arquitectura de Ordenadores
5V
R/W’
CS
La CPU (y
por tanto mi
0 programa) ve
A0 1 el mundo
como
A1 2
posiciones
3 en el mapa
de memoria
donde se lee
y escribe
D1 D0
José A. Rodríguez Mondéjar UPCO ICAI Departamento de Electrónica y Automática 3
Cesáreo Fernández Martínez
Bus de datos
RAM
Bus de direcciones
CPU
Bus de control
Teclado
Pantalla
Disco duro
FFFFF HD
2
Entrada/Salida Arquitectura de Ordenadores
CPU MEMORIA
Tarjeta controladora
del dispositivo (IOC)
Bus del sistema
8085
8085
8085
8085
8085
8085
HD
Dispositivo (unidad)
de entrada/salida
(Periférico)
Entrada/Salida del sistema
3
Entrada/Salida Arquitectura de Ordenadores
Registro de Estado
Interfaz Módulo de
Bus del Memoria Registro de Comandos
sistema Registro para dato de entrada
Tarjeta
Interfaz gráfica
CS
CPU Lógica
Decodi-
Bus de Perif. 1
ficación CS
Direcciones
+ Control Perif. 2
CS
4
Entrada/Salida Arquitectura de Ordenadores
No
¿Ha llegado?
Entrada/Salida
programada
(Polling)
Leer dato del registro de entrada
Interrupciones
• Problemas de la
entrada/salida programada
o por polling (consulta
continua del registro de MEM
estado)
– La CPU no puede hacer
otros trabajos BUS
• La CPU espera durante
horas a que se teclee una
tecla INTR 2
• Solución: Interrupciones CPU INTR 1 E/S 1 E/S 2
– La CPU sigue con otros
trabajos
– Cuando el periférico está
listo avisa a través de la Las líneas de interrupción forman
línea de interrupción a la parten del bus de control dentro del
bus de sistema
CPU para que lea el dato
5
Entrada/Salida Arquitectura de Ordenadores
Stack
Ve Instrucción 4 PC Programa
Instrucción 4
Instrucción 5
Instrucción 5
....................
interrupción
vectores de
Instrucción 6 Dirección INTR1
Tabla de
IRET
Instrucción 7 Dirección INTR2
Se recupera
Instrucción 8 PC del stack
Instrucción 9
BUS
....................
INTR 2
CPU
INTR 1 E/S 1 E/S 2
PC
José A. Rodríguez Mondéjar UPCO ICAI Departamento de Electrónica y Automática 11
Cesáreo Fernández Martínez
DMA
• Polling e interrupción necesitan de
la intervención de la CPU
– Ejemplo: pasar un dato de la
controladora del disco duro a la
memoria CPU
• La CPU lee de la controladora el dato
• La CPU escribe el dato en la memoria
• DMA (Direct Memory Access)
permite pasar los datos
directamente del periférico a la
memoria sin intervención de la CPU Memoria DMAC IOC
– El controlador de DMA (DMAC) es el
encargado de realizar la operación de
DMA entre periférico y memoria
Dispositivo
– El controlador de DMA toma de forma
momentánea el control del bus
• Toda la operación está controlada por la
CPU, a través de programa con
instrucciones adecuadas para la
programación del controlador de DMA
6
Entrada/Salida Arquitectura de Ordenadores
7
Entrada/Salida Arquitectura de Ordenadores
Procesadores de Entrada/Salida
• La CPU delega en un
Bus de los
procesador (IOP) la dispositivos
entrada/salida
• Desde la CPU se sigue viendo CPU IOP D1
como una posición de memoria
más. D2
• La CPU manda comandos al Mem
Bus
de la
IOP y éste los ejecuta. CPU
– Los programas que debe ejecutar Dn
el IOP correspondientes a esos I/O
bus
comandos puede estar en la
memoria principal o en una
memoria propia del procesador
(ROM)
• Más adelante se tratará en
profundidad los buses
Gestión de prioridades
• Varios periféricos conectados: ¿A quién se atiende
primero?
– Entrada/Salida programada
• Orden en el polling
– Entrada/Salida por interrupción: la línea de interrupción puede ser
activada por varios periféricos
• Software: Polling
– Orden en la consulta del registro de estado de los periféricos
• Hardware:
– Daisy-chain
» Está cableado el orden en la atención a los periféricos
– Unidad de control programada
» Un controlador dirime a qué periféricos se atiende primero
– Entrada/Salida por DMA
• Es un caso semejante al de interrupción
8
Entrada/Salida Arquitectura de Ordenadores
Daisy-chain
• Uno o varios periféricos activan la línea de Interrupción
• La CPU activa la línea ACK para indicar al primer
dispositivo conectado que ponga la dirección de la rutina
de interrupción a ejecutar (o vector)
• Cuando este periférico ha sido atendido por la rutina de
interrupción, o no ha provocado la interrupción, activa la
línea ACK del siguiente periférico.
Dispositivo1 DispositivoN
Mayor Dispositivo2 Menor
Prioridad Prioridad
Controlador de interrupciones
9
Entrada/Salida Arquitectura de Ordenadores
10
Entrada/Salida Arquitectura de Ordenadores
Rendimiento de la entrada/salida
• ¿De qué depende el rendimiento?
– CPU
– Sistema de memoria
– Buses de interconexión
– Controlador del periférico
– Periférico
– Driver del sistema operativo para controlar el periférico
– Eficiencia del software utilizando el periferico
• Métricas para medir el rendimiento
– Ancho de banda del periférico
• Número de transacciones por unidad de tiempo
– Latencia del periférico
• Tiempo entre la orden de transacción y el fin de su ejecución
Importancia de la entrada/salida
• Aplicación general • Aplicación WWW
11
Entrada/Salida Arquitectura de Ordenadores
Programa y periféricos
Llamadas al sistema
Disp.de Disp.de
Disp.de Manejadores de
Caracter Bloque WM
RED dispositivos
Periféricos
Sistema
Teclado Discos RED
Gráfico
12
Entrada/Salida Arquitectura de Ordenadores
13
Entrada/Salida Arquitectura de Ordenadores
14
Entrada/Salida Arquitectura de Ordenadores
15
Entrada/Salida Arquitectura de Ordenadores
16