SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
1
SUBSISTEMA DE
ENTRADA-SALIDA
Arquitectura de Computadores I
4º tema
Subsistema de Entrada-Salida (ACI) 2
Descripción de la interfaz de E/S
• Objetivo
- Cómo se comunica la CPU con el exterior (periféricos de E/S)
- Cómo se controla esta comunicación.
• Periféricos
- Presentación de datos (pantalla, impresora,...)
- Adquisición de datos (teclado, sensores,...)
- Soportes de información (discos, cintas,...)
- Otros (motores, válvulas,...)
• Conexión (bus único, dos buses)
Subsistema de Entrada-Salida (ACI) 3
Esquema de la interfaz de E/S
CPU MEM Kp
Periférico
datos
@
control
Subsistema de Entrada-Salida (ACI) 4
Controlador
• Justificación
gran variedad de periféricos con diferentes conexiones físicas
a los buses y controlados de forma muy diferente
electrónicamente.
• Controlador
Dispositivo electrónico que se interpone entre los buses del
sistema y el periférico y que es visible a nivel de LM como
un conjunto de registros. El controlador descarga a la CPU
del control directo del dispositivo
“La CPU se comunica con los periféricos a través de los
registros del controlador”.
Subsistema de Entrada-Salida (ACI) 5
Clasificación de los
controladores de E/S
• No multiplexado
– Sólo controla 1 periférico: periféricos rápidos
• Multiplexado
– Controla varios periféricos
– Multiplexado por caracteres: periféricos lentos
– Multiplexado por bloques: periféricos de velocidad
intermedia
Subsistema de Entrada-Salida (ACI) 6
Clasificación de los controladores de E/S
CPU
buses
MEM Kp
P
No Multiplexado
CPU
buses
MEM K
P2
Multiplexado
P3P1
Subsistema de Entrada-Salida (ACI) 7
Funciones del controlador de E/S
• Diálogo con la CPU
– Recibe peticiones para realizar operaciones de E/S
– Avisa acerca del estado de los periféricos
• Control del periférico
– Controla que el periférico realice la operación indicada
por la CPU
• Facilitar la transferencia con el periférico
Subsistema de Entrada-Salida (ACI) 8
Visión funcional del controlador
de E/S
CPU
datos
@
control
invisible a L.M.
Interfaz
con el
periférico
controlador
Interfaz
con el
controlador
Interfaz
con el
exterior
periférico
CONTROL
DATOS
ESTADO
MEMORIA
Subsistema de Entrada-Salida (ACI) 9
Registros del controlador de E/S
• Registro de Estado
– Información de estado: se ha pulsado una tecla, se ha
terminado la escritura en disco, etc.
– Información leída por la CPU
• Registro de control
– Información de control: la operación a realizar (r/w), la
forma de trabajar del periférico, etc.
– Información escrita por la CPU
• Registro de datos
– Información a transferir entre el periférico y la CPU
Subsistema de Entrada-Salida (ACI) 10
Esquema de la interfaz de E/S
¿Cómo se accede a los registros del controlador?
• E/S mapeada en memoria
• E/S no mapeada en memoria
CPU MEM Kp
Periférico
datos
@
control
Subsistema de Entrada-Salida (ACI) 11
Mapa de memoria
E/S mapeada en memoria
E/S
R A M
R O M
Registros
de E/S
0000h
3FFFh
4000h
BFFFh
C000h
FFFFh
32 K
16 K
64 K
Mapa de memoria
Subsistema de Entrada-Salida (ACI) 12
Ejemplo de E/S MAPEADA en MEMORIA
RAM 0000000 Reg. datos 1000001
Reg. control 1000011
Reg. estado 1000010
16
7
RD/WR
DATOS
@
estadocontroldatos
OEOE LDRD/WRRAM
6
CS
CS = A 6
RD/WR@
RD/WR
LD = A6 A1 A0OE = A6 A1 A0 OE = A6 A1 A0
[1000001] [1000011] [1000010]
RD/WR
16 16 16
16
[0xxxxxx]
6 6 66 5..0 1 0 0 01 1
Subsistema de Entrada-Salida (ACI) 13
E/S mapeada en memoria
• Ventajas
– Acceso a los registros: mismas instrucciones y modos
de direccionamiento que para el acceso a memoria
– CPU no diferencia el acceso a memoria y a los reg. E/S
• Desventajas
– Menor espacio direccionable de memoria
– Dificultad para controlar el acceso a los reg. E/S por
parte de los programas de usuario
Modo privilegiado (SO) para accesos a E/S
Subsistema de Entrada-Salida (ACI) 14
Mapa de memoria ↔↔↔↔ mapa de E/S
R A M
R O M
IO/M=0
MAPA DE MEMORIA MAPA DE E/S
Registros
E/S
0000h
7FFFh
8000h
FFFFh
00h
FFh
RAM IO/M * A15 Reg. E/S IO/M (=1)
ROM IO/M * A15
Subsistema de Entrada-Salida (ACI) 15
Ejemplo de E/S INDEPENDIENTE o
NO MAPEADA en MEMORIA
16
7
RD/WR
DATOS
@
estadocontroldatos
OEOE LDRD/WRRAM
7
CS RD/WR@
RD/WR
LD = IO/M A1 A0OE = IO/M A1 A0 OE = IO/M A1 A0
[0000001] [0000011] [0000010]
RD/WR
16 16 16
16
IO/M
CS = IO/M
[xxxxxxx]
1 0 0 01 1
RAM 0000000 Reg. datos 0000001
Reg. control 0000011
Instrucciones in/out Reg. estado 0000010
Subsistema de Entrada-Salida (ACI) 16
E/S no mapeada en memoria
• Ventajas
– No se pierde espacio direccionable de memoria
– Control del acceso a los registros de E/S por parte de
los programas de usuario
in y out sólo en modo privilegiado (SO)
• Desventajas
– Necesidad de nuevas instrucciones: in y out
– Necesidad de una señal de control más en el bus
Subsistema de Entrada-Salida (ACI) 17
Sincronización en las operaciones
de E/S
• ¿cómo se sincroniza la CPU con los dispositivos de
E/S? ¿cómo se detecta que el dispositivo está listo
para comenzar la transferencia?
• 2 alternativas
– Sincronización por encuesta: la CPU consulta
constantemente del registro de estado del controlador
– Sincronización por interrupción: el propio controlador
avisa de su disponibilidad a la CPU mediante una
interrupción
Subsistema de Entrada-Salida (ACI) 18
E/S por encuesta
• Consulta continua del registro de estado del controlador
encuesta por estado
• 2 alternativas
– Encuesta continua:
while (leer_registro_estado==NO_PREPARADO) NOP;
realizar_operaciones_E/S;
– Encuesta periódica:
while (leer_registro_estado==NO_PREPARADO)
{ otras_acciones; }
realizar_operaciones_E/S;
Subsistema de Entrada-Salida (ACI) 19
E/S por interrupciones
• Interrupción: suceso extraordinario que requiere una
atención especial por parte del procesador
• Son sucesos asíncronos: el controlador interrumpe a la
CPU cuando está listo para iniciar la transferencia
• Ventaja:
– La CPU no pierde tiempo realizando la encuesta y puede
realizar otras tareas
• Desventajas:
– Se complica el hardware (mecanismo de ejecución de las
instrucciones)
Subsistema de Entrada-Salida (ACI) 20
E/S por interrupciones: fases
• Detección de la petición de interrupción
• Salvar el estado del programa interrumpido
• Identificar la rutina de atención a la interrupción que
hay que ejecutar (dependiente del dispositivo)
• Ejecutar la rutina de atención correspondiente
Rutina asíncrona: no activada por el programa principal
• Recuperar el estado (la ejecución) del programa
interrumpido
Subsistema de Entrada-Salida (ACI) 21
E/S por interrupciones
Aplicación
Rutina
de
servicio
MEMORIA
CPU
PC
Kp
Per.
INT
Buses (@, DATOS, CONTROL)
Aplicación
.
.
.
.
.
.
.
.
.
INT
Rutina de
servicio
Retorno de la
interrupción
Subsistema de Entrada-Salida (ACI) 22
Detección de la interrupción
• La CPU dispone de una o varias líneas a través de las que
los dispositivos pueden interrumpir a la CPU
INT: señal de entrada a la unidad de control
• La CPU muestrea el valor de la señal de petición de
interrupción
– En alguna de las fases de ejecución de la instrucción
• Flag de interrupción (Interrupt Flag, IF):
– IF = 0 interrupciones inhibidas/enmascaradas (CLI en 80x86)
– IF = 1 interrupciones permitidas (STI en 80x86)
• Interrupciones no enmascarables (Non Maskable Interrupt,
NMI)
Subsistema de Entrada-Salida (ACI) 23
Detección de interrupciones
INT
CPU
1K
2K
nK
IF
PSW
U.C.
INT *
Int1
Int2
Int n
• Flag de interrupción (IF):
– Cuando la CPU atiende una interrupción, pone IF = 0
– Cuando finaliza el tratamiento de la interrupción pone IF = 1
interrupciones uninivel
Subsistema de Entrada-Salida (ACI) 24
Detección y enmascaramiento de
interrupciones
INT
CPU
1K
2K
nK
IF
PSW
U.C.
INT *
INT
INT
1
2
n
Máscara
Subsistema de Entrada-Salida (ACI) 25
Salvar el estado del programa
• La CPU interrumpe la ejecución del programa en el
momento de tratar la interrupción y reanuda su ejecución
tras el tratamiento de la interrupción
• Hay que salvar información de contexto del programa
interrumpido
– El PC de retorno PC de la siguiente instrucción en ejecución
– La palabra de estado, PSW flags, etc.
• La rutina de interrupción salva los registros que utilice
• ¿Dónde se salva esta información? PILA
Subsistema de Entrada-Salida (ACI) 26
Identificación de la interrupción
• problemas
– ¿Cómo determinar quién ha interrumpido?
– Si varios han interrumpido por la misma línea INT, ¿a quién se
atiende?
• alternativas
– Identificación software (por ejemplo, MC68000)
– Identificación hardware
Subsistema de Entrada-Salida (ACI) 27
Identificación software
• Tras la detección de la señal INT y si IF=1, la CPU
ejecuta una rutina de atención general que determina
mediante encuesta qué dispositivo ha interrumpido
for (i=0;i<n;i++)
if (leer_reg_estado (Ki) == PREPARADO)
{ rut_atencion_Ri(); break; }
• Una vez determinado el periférico, se ejecuta la rutina
de atención correspondiente a ese periférico
• Interrupciones simultáneas?
El orden en que se realiza la encuesta determina la
prioridad entre los dispositivos
Subsistema de Entrada-Salida (ACI) 28
Identificación hardware
• El propio dispositivo es quien se identifica
• El controlador envía a la CPU (tres opciones):
– la propia dirección de la rutina de atención, o bien
– el código de una instrucción (salto) que será ejecutada por la
CPU para lanzar la ejecución de la rutina de atención, o bien
– un identificador que es usado por la CPU para acceder a una
tabla (vector de interrupción) donde se encuentra la dirección
de la rutina a ejecutar
interrupción vectorizada (i80x86)
• La CPU acepta la petición de interrupción por medio de
una señal INTA hacia el controlador del periférico
Subsistema de Entrada-Salida (ACI) 29
Identificación hardware
INT
Controlador
1
INT1
Controlador
2
INT2
Controlador
n
INTn
Bus (@, Dat, Control)
CPU
INTA
Subsistema de Entrada-Salida (ACI) 30
Interrupciones simultáneas
• Si varios periféricos han interrumpido por la misma línea
INT, ¿a quién se atiende?
• Alternativas
1. Codificador con prioridad:
+ un codificador proporciona, además de la señal INT, el
código del periférico con mayor prioridad
+ un decodificador utiliza este código para llevar la señal
INTA de la CPU al controlador correspondiente
Subsistema de Entrada-Salida (ACI) 31
Identificación de interrupciones simultáneas:
Codificador con prioridad
Bus (@, Dat, Control)
Codificador
con
prioridad
Controlador
1
Controlador
2
Controlador
n
decodificador
C P U
INT
p
Código
del
periférico
INTA
INT 1
INT 2
INT n
INTA n
INTA 2
INTA 1
Subsistema de Entrada-Salida (ACI) 32
Interrupciones simultáneas
• alternativas
2. Daisy-chain o cadena de margaritas:
+ la CPU activa la señal INTA
+ cuando el controlador detecta la señal INTA
+ si no ha pedido la interrupción, activa la señal de salida
INTA hacia el siguiente controlador (así hasta que la
señal llega al controlador que ha pedido la interrupción)
+ si ha pedido la interrupción, no pasa la señal INTA al
siguiente controlador y envía a la CPU la información
necesaria para el tratamiento de la interrupción
+ los controladores más cercanos a la CPU son los más
prioritarios
Subsistema de Entrada-Salida (ACI) 33
Identificación de interrupciones simultáneas:
Daisy-Chain o cadena de margaritas
Controlador
n
Controlador
2
Controlador
1
Bus (@, Dat, Control)
CPU
INTA
INT
INTAinINTAin INTAoutINTAout
Subsistema de Entrada-Salida (ACI) 34
Interrupciones multinivel
• La CPU puede ser interrumpida mientras está ejecutando
otra rutina de atención a una interrupción previa
+ se pospone la ejecución de la rutina de interrupción actual y
se atiende la nueva interrupción
+ IF no se desactiva por defecto al tratar una interrupción
• Prioridades decrecientes:
+ se atiende la interrupción de un periférico de prioridad n si
están permitidas y si en ese momento se está ejecutando una
rutina de atención a una interrupción menos prioritaria
Subsistema de Entrada-Salida (ACI) 35
Interrupciones multinivel
Aplicación
.
.
.
.
.
.
.
.
.
INTx
Rutina de
servicio x
Retorno de la
interrupción x
INTy
Rutina de
servicio y
Retorno de la
interrupción y
Subsistema de Entrada-Salida (ACI) 36
Interrupciones multinivel:
Codificador con prioridad
Codificador
con
prioridad
Controlador
1
Controlador
2
Controlador
n
decodificador
C P U
INT*
p Código
del
periférico
INTA
BUS (@, Datos, Control)
Nivel de
prioridad
IF
B
Comparador
A A>B
PSW
Subsistema de Entrada-Salida (ACI) 37
Interrupciones multinivel:
Daisy-Chain o cadena de margaritas
+ Ki desactiva la señal S (S=0) para no permitir interrupciones
multinivel a los periféricos con menor prioridad a Ki
+ Ki activa S (S=1) tras finalizar el tratamiento de su interrupción
Controlador
n
Controlador
2
Controlador
1
Bus (@, Datos, Control)
CPU
INTA
INT
INTAin
INTAout
S
INTA in
SS INTINT
Subsistema de Entrada-Salida (ACI) 38
Controlador de interrupciones
• Circuito intermediario entre la CPU y los controladores
de los periféricos de E/S
• Circuito que resuelve todos los aspectos comentados:
+ gestiona la comunicación entre la CPU y el controlador del
periférico
+ determina el periférico a atender en función de prioridades
+ gestiona las interrupciones multinivel, ...
• Por ejemplo, controlador de interrupciones i8259 del
i8086
Subsistema de Entrada-Salida (ACI) 39
Entrada/salida por DMA:
Direct Memory Access / Acceso Directo a Memoria
• Motivación:
+ transferencia de gran volumen de datos desde un
dispositivo (por ejemplo, disquete) a posiciones
consecutivas de memoria
+ sin DMA, la CPU se vería constantemente interrumpida
(por ejemplo, por cada carácter a transferir desde el disco)
• Solución: controlador de DMA
+ Circuito especializado que descarga a la CPU de un trabajo
simple, repetitivo y frecuente
+ Circuito capaz de acceder directamente a memoria sin usar
los registros generales del procesador
Subsistema de Entrada-Salida (ACI) 40
Entrada/salida
por DMA
CPU M
Kp
Periférico
A
@
DAT
CONT
CPU M
A
Kp
Periférico
KDMA
@
DAT
CONT
SIN DMA
CON DMA
Subsistema de Entrada-Salida (ACI) 41
Entrada/salida
por DMAMemoria
CPU KDMA
K1 K2
P1 P2
K3
P3
Memoria Multipuerto
CPU M
K1 K2 K3
P1 P2 P3
KDMA
Memoria con un solo puerto
Sincronización entre
la CPU y el KDMA
en el uso del bus
Subsistema de Entrada-Salida (ACI) 42
Controlador de DMA
• Registro de dirección: dirección de lectura/escritura de la
información a transferir
• Registro de longitud: contador con el número de datos que
faltan por transferir
• Registro de control: información de control (lectura/escritura,
modo de sincronización al finalizar, etc.)
• Registro de estado: función de un registro de estado de
cualquier otro controlador (por ejemplo, control de errores)
Subsistema de Entrada-Salida (ACI) 43
DMAR Direct Memory Access Request Petición de Acceso directo a
memoria.
DMAG Direct Memory AccessGrant Concesión de Acceso directo
a memoria
DIRECCIÓN
LONGITUD
CONTROL
ESTADO
BR DMAR
DMAG
BG
IRQ
KDMA
BR Bus Request Petición de utilización del BUS
BG Bus Grant Concesión del BUS
IRQ Interruption ReQuest Petición de Interrupción
Controlador
de DMA
Sincronización
bus
Sincronización
periférico
Señal al CI
Subsistema de Entrada-Salida (ACI) 44
Entrada/salida por DMA:
funcionamiento
• Aplicación (CPU): programa periférico y su controlador
de DMA (@, número de datos, lectura/escritura)
• Periférico: cada vez que está listo para enviar/recibir un
dato, avisa al KDMA
• KDMA: sincroniza con la CPU el uso del bus y realiza la
transferencia del dato
• Al finalizar la transferencia de todos los datos, KDMA se
sincroniza con la CPU: encuesta o interrupción
sólo se interrumpe a la CPU al final de la E/S
Subsistema de Entrada-Salida (ACI) 45
Entrada/salida por DMA
M CPU KDMA
BR
BG
IRQ
INTAINTR
C.I.
DMAR
Perif.
KPER
DMAG
DAT
@
CONT
Subsistema de Entrada-Salida (ACI) 46
1.-Iniciar la transferencia (CPU)
– Programar el KDMA
• Dirección
• Longitud
• Sentido de la operación: Periférico Memoria
Memoria Periférico
• Interrumpir o no al finalizar
• Otras señales (incrementar/decrementar)
– Programar el Kper (controlador del periférico)
Entrada/salida por DMA: fases
Subsistema de Entrada-Salida (ACI) 47
2.-Transferencia propia (KDMA) [CPU otras tareas]
– Kper DMAR (Petición de DMA)
– KDMA BR (Petición del uso de los buses)
– CPU BG (Concesión del uso de los buses)
– KDMA realiza la transferencia del dato/datos
• Dirección en el bus de direcciones
• Activa la señal (R/W)
• Activa DMAG Kper actúa sobre el bus de datos
– Kper desactiva DMAR
– DMA desactiva BR
Entrada/salida por DMA: fases
Subsistema de Entrada-Salida (ACI) 48
Transferencia por robo de ciclo
+ KDMA roba de vez en cuando un ciclo a la CPU para
acceder a memoria
+ se degrada el rendimiento de la CPU si la velocidad del
periférico es alta
Transferencia por ráfagas o bloques
+ cuando KDMA recibe la señal BG, no abandona el
control del bus hasta que se complete la transferencia de
todo el bloque
+ modo adecuado para dispositivos rápidos
Entrada/salida por DMA
Subsistema de Entrada-Salida (ACI) 49
3.-Finalizar la transferencia
– Sincronización KDMA CPU para indicar el fin de la E/S
– Por encuesta continua: la CPU consulta el registro de estado
del KDMA poco interesante!!!!
– Por interrupciones: KDMA interrumpe a la CPU
Leer registro de estado del KDMA
Si (no ha ido bien)
programar de nuevo el KDMA
programar de nuevo el Kper
sino
...............
Entrada/salida por DMA

Más contenido relacionado

La actualidad más candente

Tipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasTipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivas
grupo niche ortega
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UML
ramirezjaime
 
Trabajo memoria virtual.
Trabajo memoria virtual.Trabajo memoria virtual.
Trabajo memoria virtual.
velazqes
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relaciones
basilioj
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
JUANR1022
 

La actualidad más candente (20)

Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadoras
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de uso
 
Modos de direccionamiento y formatos
Modos de direccionamiento y formatosModos de direccionamiento y formatos
Modos de direccionamiento y formatos
 
Ejercicios de entidad relacion extendida
Ejercicios de entidad relacion extendidaEjercicios de entidad relacion extendida
Ejercicios de entidad relacion extendida
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Tecnicas de Administracion de Memoria
Tecnicas de Administracion de MemoriaTecnicas de Administracion de Memoria
Tecnicas de Administracion de Memoria
 
Tipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivasTipos de usuarios de base de datos diapositivas
Tipos de usuarios de base de datos diapositivas
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UML
 
Cuadro comparativo sgbd
Cuadro comparativo sgbdCuadro comparativo sgbd
Cuadro comparativo sgbd
 
Gestores de bases de datos cuadros comparativos
Gestores de bases de datos cuadros comparativosGestores de bases de datos cuadros comparativos
Gestores de bases de datos cuadros comparativos
 
Dispositvos de entrada y salida
Dispositvos de entrada y salidaDispositvos de entrada y salida
Dispositvos de entrada y salida
 
Acceso Directo A Memoria
Acceso Directo A MemoriaAcceso Directo A Memoria
Acceso Directo A Memoria
 
Trabajo memoria virtual.
Trabajo memoria virtual.Trabajo memoria virtual.
Trabajo memoria virtual.
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relaciones
 
Administración de Memoria
Administración de MemoriaAdministración de Memoria
Administración de Memoria
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativo
 

Destacado

Presentacion dispositivos de entrada y salida
Presentacion dispositivos de entrada y salidaPresentacion dispositivos de entrada y salida
Presentacion dispositivos de entrada y salida
Soheca
 
Dispositivos periféricos de entrada, salida y almacenamiento
Dispositivos periféricos de entrada, salida y almacenamientoDispositivos periféricos de entrada, salida y almacenamiento
Dispositivos periféricos de entrada, salida y almacenamiento
carmenvinan
 
Puertos de entrada y salida del computador
Puertos de entrada y salida del computadorPuertos de entrada y salida del computador
Puertos de entrada y salida del computador
Baleritha
 
Estructura Del Sistema InformáTico
Estructura Del Sistema InformáTicoEstructura Del Sistema InformáTico
Estructura Del Sistema InformáTico
painni
 
Perifericos de entrada de datos
Perifericos de entrada de datosPerifericos de entrada de datos
Perifericos de entrada de datos
'Linaa Garciaa
 
Puertos de entrada/salida
Puertos de entrada/salidaPuertos de entrada/salida
Puertos de entrada/salida
tecautind
 
Dispositivo De Entrada Y Salida
Dispositivo De Entrada Y SalidaDispositivo De Entrada Y Salida
Dispositivo De Entrada Y Salida
inescita
 
Tipos de Puertos y Conectores
Tipos de Puertos y ConectoresTipos de Puertos y Conectores
Tipos de Puertos y Conectores
Manuel Ortega
 
Dispositivos de entrada y salida
Dispositivos de entrada y salidaDispositivos de entrada y salida
Dispositivos de entrada y salida
Mau Canabal
 
Buses de datos, de direcciones y de control
Buses de datos, de direcciones y de controlBuses de datos, de direcciones y de control
Buses de datos, de direcciones y de control
kellykatherineescobar
 
Dispositivos de entrada y salida y mixtos
Dispositivos de entrada y salida y mixtosDispositivos de entrada y salida y mixtos
Dispositivos de entrada y salida y mixtos
nico96081211245
 
Dispositivos Periféricos de Entrada, Salida, Almacenamiento y Comunicación
Dispositivos Periféricos de Entrada, Salida, Almacenamiento y ComunicaciónDispositivos Periféricos de Entrada, Salida, Almacenamiento y Comunicación
Dispositivos Periféricos de Entrada, Salida, Almacenamiento y Comunicación
Jessica Paola
 

Destacado (20)

Dispositivos de Entrada y Salida (Sensores)
Dispositivos de Entrada y Salida (Sensores)Dispositivos de Entrada y Salida (Sensores)
Dispositivos de Entrada y Salida (Sensores)
 
Presentacion dispositivos de entrada y salida
Presentacion dispositivos de entrada y salidaPresentacion dispositivos de entrada y salida
Presentacion dispositivos de entrada y salida
 
Dispositivos periféricos de entrada, salida y almacenamiento
Dispositivos periféricos de entrada, salida y almacenamientoDispositivos periféricos de entrada, salida y almacenamiento
Dispositivos periféricos de entrada, salida y almacenamiento
 
04.Entradas y salidas digitales
04.Entradas y salidas digitales04.Entradas y salidas digitales
04.Entradas y salidas digitales
 
Microprocesadores s108
Microprocesadores s108Microprocesadores s108
Microprocesadores s108
 
Puertos
PuertosPuertos
Puertos
 
Puertos de entrada y salida del computador
Puertos de entrada y salida del computadorPuertos de entrada y salida del computador
Puertos de entrada y salida del computador
 
Perifericos de entrada
Perifericos de entradaPerifericos de entrada
Perifericos de entrada
 
Estructura Del Sistema InformáTico
Estructura Del Sistema InformáTicoEstructura Del Sistema InformáTico
Estructura Del Sistema InformáTico
 
Perifericos de entrada de datos
Perifericos de entrada de datosPerifericos de entrada de datos
Perifericos de entrada de datos
 
Puertos de entrada/salida
Puertos de entrada/salidaPuertos de entrada/salida
Puertos de entrada/salida
 
Dispositivos de entrada, de salida y mixtos
Dispositivos de entrada, de salida  y mixtosDispositivos de entrada, de salida  y mixtos
Dispositivos de entrada, de salida y mixtos
 
Dispositivo De Entrada Y Salida
Dispositivo De Entrada Y SalidaDispositivo De Entrada Y Salida
Dispositivo De Entrada Y Salida
 
DISPOSITIVOS DE ENTRADA Y SALIDA
DISPOSITIVOS DE ENTRADA Y SALIDADISPOSITIVOS DE ENTRADA Y SALIDA
DISPOSITIVOS DE ENTRADA Y SALIDA
 
Tipos de Puertos y Conectores
Tipos de Puertos y ConectoresTipos de Puertos y Conectores
Tipos de Puertos y Conectores
 
Dispositivos de entrada y salida
Dispositivos de entrada y salidaDispositivos de entrada y salida
Dispositivos de entrada y salida
 
Buses de datos, de direcciones y de control
Buses de datos, de direcciones y de controlBuses de datos, de direcciones y de control
Buses de datos, de direcciones y de control
 
Dispositivos de entrada y salida y mixtos
Dispositivos de entrada y salida y mixtosDispositivos de entrada y salida y mixtos
Dispositivos de entrada y salida y mixtos
 
Dispositivos Periféricos de Entrada, Salida, Almacenamiento y Comunicación
Dispositivos Periféricos de Entrada, Salida, Almacenamiento y ComunicaciónDispositivos Periféricos de Entrada, Salida, Almacenamiento y Comunicación
Dispositivos Periféricos de Entrada, Salida, Almacenamiento y Comunicación
 
Puertos entrada y salida
Puertos entrada y salidaPuertos entrada y salida
Puertos entrada y salida
 

Similar a Entrada y Salida

Arquitectura De Computadores
Arquitectura De ComputadoresArquitectura De Computadores
Arquitectura De Computadores
yohanna13
 
caractermaterial_2019F1_COM212_02_132253.pptx
caractermaterial_2019F1_COM212_02_132253.pptxcaractermaterial_2019F1_COM212_02_132253.pptx
caractermaterial_2019F1_COM212_02_132253.pptx
ruben2003ss
 

Similar a Entrada y Salida (20)

Introductorio
IntroductorioIntroductorio
Introductorio
 
lola
lolalola
lola
 
Interrupciones: Sistemas Operativos
Interrupciones: Sistemas OperativosInterrupciones: Sistemas Operativos
Interrupciones: Sistemas Operativos
 
M.c
M.cM.c
M.c
 
Arquitectura de Computadores Capitulo IV
Arquitectura de Computadores Capitulo IVArquitectura de Computadores Capitulo IV
Arquitectura de Computadores Capitulo IV
 
Fundamentos de los Microcontroladores
Fundamentos de los MicrocontroladoresFundamentos de los Microcontroladores
Fundamentos de los Microcontroladores
 
Historia_de_los_Microprocesadores_Intel.pdf
Historia_de_los_Microprocesadores_Intel.pdfHistoria_de_los_Microprocesadores_Intel.pdf
Historia_de_los_Microprocesadores_Intel.pdf
 
Definicion, caracteristiticas y funcionamiento de los plc
Definicion, caracteristiticas y funcionamiento de los plcDefinicion, caracteristiticas y funcionamiento de los plc
Definicion, caracteristiticas y funcionamiento de los plc
 
Definicion, caracteristiticas y funcionamiento de los plc
Definicion, caracteristiticas y funcionamiento de los plcDefinicion, caracteristiticas y funcionamiento de los plc
Definicion, caracteristiticas y funcionamiento de los plc
 
Definicion, caracteristiticas y funcionamiento de los plc
Definicion, caracteristiticas y funcionamiento de los plcDefinicion, caracteristiticas y funcionamiento de los plc
Definicion, caracteristiticas y funcionamiento de los plc
 
Cam unidad 5 - tema 2 - descripción de módulos funcionales cpu, módulos es...
Cam   unidad 5 - tema 2 -  descripción de módulos funcionales cpu, módulos es...Cam   unidad 5 - tema 2 -  descripción de módulos funcionales cpu, módulos es...
Cam unidad 5 - tema 2 - descripción de módulos funcionales cpu, módulos es...
 
Arquitectura de un plc
Arquitectura de un plcArquitectura de un plc
Arquitectura de un plc
 
Instrumentacion
InstrumentacionInstrumentacion
Instrumentacion
 
Arquitectura De Computadores
Arquitectura De ComputadoresArquitectura De Computadores
Arquitectura De Computadores
 
Interfaces
InterfacesInterfaces
Interfaces
 
PROCESADOR
PROCESADORPROCESADOR
PROCESADOR
 
Perifericos entrada salida mixtos
Perifericos entrada salida mixtosPerifericos entrada salida mixtos
Perifericos entrada salida mixtos
 
caractermaterial_2019F1_COM212_02_132253.pptx
caractermaterial_2019F1_COM212_02_132253.pptxcaractermaterial_2019F1_COM212_02_132253.pptx
caractermaterial_2019F1_COM212_02_132253.pptx
 
Partes del pc
Partes del pcPartes del pc
Partes del pc
 
que es un ha
que es un haque es un ha
que es un ha
 

Entrada y Salida

  • 2. Subsistema de Entrada-Salida (ACI) 2 Descripción de la interfaz de E/S • Objetivo - Cómo se comunica la CPU con el exterior (periféricos de E/S) - Cómo se controla esta comunicación. • Periféricos - Presentación de datos (pantalla, impresora,...) - Adquisición de datos (teclado, sensores,...) - Soportes de información (discos, cintas,...) - Otros (motores, válvulas,...) • Conexión (bus único, dos buses)
  • 3. Subsistema de Entrada-Salida (ACI) 3 Esquema de la interfaz de E/S CPU MEM Kp Periférico datos @ control
  • 4. Subsistema de Entrada-Salida (ACI) 4 Controlador • Justificación gran variedad de periféricos con diferentes conexiones físicas a los buses y controlados de forma muy diferente electrónicamente. • Controlador Dispositivo electrónico que se interpone entre los buses del sistema y el periférico y que es visible a nivel de LM como un conjunto de registros. El controlador descarga a la CPU del control directo del dispositivo “La CPU se comunica con los periféricos a través de los registros del controlador”.
  • 5. Subsistema de Entrada-Salida (ACI) 5 Clasificación de los controladores de E/S • No multiplexado – Sólo controla 1 periférico: periféricos rápidos • Multiplexado – Controla varios periféricos – Multiplexado por caracteres: periféricos lentos – Multiplexado por bloques: periféricos de velocidad intermedia
  • 6. Subsistema de Entrada-Salida (ACI) 6 Clasificación de los controladores de E/S CPU buses MEM Kp P No Multiplexado CPU buses MEM K P2 Multiplexado P3P1
  • 7. Subsistema de Entrada-Salida (ACI) 7 Funciones del controlador de E/S • Diálogo con la CPU – Recibe peticiones para realizar operaciones de E/S – Avisa acerca del estado de los periféricos • Control del periférico – Controla que el periférico realice la operación indicada por la CPU • Facilitar la transferencia con el periférico
  • 8. Subsistema de Entrada-Salida (ACI) 8 Visión funcional del controlador de E/S CPU datos @ control invisible a L.M. Interfaz con el periférico controlador Interfaz con el controlador Interfaz con el exterior periférico CONTROL DATOS ESTADO MEMORIA
  • 9. Subsistema de Entrada-Salida (ACI) 9 Registros del controlador de E/S • Registro de Estado – Información de estado: se ha pulsado una tecla, se ha terminado la escritura en disco, etc. – Información leída por la CPU • Registro de control – Información de control: la operación a realizar (r/w), la forma de trabajar del periférico, etc. – Información escrita por la CPU • Registro de datos – Información a transferir entre el periférico y la CPU
  • 10. Subsistema de Entrada-Salida (ACI) 10 Esquema de la interfaz de E/S ¿Cómo se accede a los registros del controlador? • E/S mapeada en memoria • E/S no mapeada en memoria CPU MEM Kp Periférico datos @ control
  • 11. Subsistema de Entrada-Salida (ACI) 11 Mapa de memoria E/S mapeada en memoria E/S R A M R O M Registros de E/S 0000h 3FFFh 4000h BFFFh C000h FFFFh 32 K 16 K 64 K Mapa de memoria
  • 12. Subsistema de Entrada-Salida (ACI) 12 Ejemplo de E/S MAPEADA en MEMORIA RAM 0000000 Reg. datos 1000001 Reg. control 1000011 Reg. estado 1000010 16 7 RD/WR DATOS @ estadocontroldatos OEOE LDRD/WRRAM 6 CS CS = A 6 RD/WR@ RD/WR LD = A6 A1 A0OE = A6 A1 A0 OE = A6 A1 A0 [1000001] [1000011] [1000010] RD/WR 16 16 16 16 [0xxxxxx] 6 6 66 5..0 1 0 0 01 1
  • 13. Subsistema de Entrada-Salida (ACI) 13 E/S mapeada en memoria • Ventajas – Acceso a los registros: mismas instrucciones y modos de direccionamiento que para el acceso a memoria – CPU no diferencia el acceso a memoria y a los reg. E/S • Desventajas – Menor espacio direccionable de memoria – Dificultad para controlar el acceso a los reg. E/S por parte de los programas de usuario Modo privilegiado (SO) para accesos a E/S
  • 14. Subsistema de Entrada-Salida (ACI) 14 Mapa de memoria ↔↔↔↔ mapa de E/S R A M R O M IO/M=0 MAPA DE MEMORIA MAPA DE E/S Registros E/S 0000h 7FFFh 8000h FFFFh 00h FFh RAM IO/M * A15 Reg. E/S IO/M (=1) ROM IO/M * A15
  • 15. Subsistema de Entrada-Salida (ACI) 15 Ejemplo de E/S INDEPENDIENTE o NO MAPEADA en MEMORIA 16 7 RD/WR DATOS @ estadocontroldatos OEOE LDRD/WRRAM 7 CS RD/WR@ RD/WR LD = IO/M A1 A0OE = IO/M A1 A0 OE = IO/M A1 A0 [0000001] [0000011] [0000010] RD/WR 16 16 16 16 IO/M CS = IO/M [xxxxxxx] 1 0 0 01 1 RAM 0000000 Reg. datos 0000001 Reg. control 0000011 Instrucciones in/out Reg. estado 0000010
  • 16. Subsistema de Entrada-Salida (ACI) 16 E/S no mapeada en memoria • Ventajas – No se pierde espacio direccionable de memoria – Control del acceso a los registros de E/S por parte de los programas de usuario in y out sólo en modo privilegiado (SO) • Desventajas – Necesidad de nuevas instrucciones: in y out – Necesidad de una señal de control más en el bus
  • 17. Subsistema de Entrada-Salida (ACI) 17 Sincronización en las operaciones de E/S • ¿cómo se sincroniza la CPU con los dispositivos de E/S? ¿cómo se detecta que el dispositivo está listo para comenzar la transferencia? • 2 alternativas – Sincronización por encuesta: la CPU consulta constantemente del registro de estado del controlador – Sincronización por interrupción: el propio controlador avisa de su disponibilidad a la CPU mediante una interrupción
  • 18. Subsistema de Entrada-Salida (ACI) 18 E/S por encuesta • Consulta continua del registro de estado del controlador encuesta por estado • 2 alternativas – Encuesta continua: while (leer_registro_estado==NO_PREPARADO) NOP; realizar_operaciones_E/S; – Encuesta periódica: while (leer_registro_estado==NO_PREPARADO) { otras_acciones; } realizar_operaciones_E/S;
  • 19. Subsistema de Entrada-Salida (ACI) 19 E/S por interrupciones • Interrupción: suceso extraordinario que requiere una atención especial por parte del procesador • Son sucesos asíncronos: el controlador interrumpe a la CPU cuando está listo para iniciar la transferencia • Ventaja: – La CPU no pierde tiempo realizando la encuesta y puede realizar otras tareas • Desventajas: – Se complica el hardware (mecanismo de ejecución de las instrucciones)
  • 20. Subsistema de Entrada-Salida (ACI) 20 E/S por interrupciones: fases • Detección de la petición de interrupción • Salvar el estado del programa interrumpido • Identificar la rutina de atención a la interrupción que hay que ejecutar (dependiente del dispositivo) • Ejecutar la rutina de atención correspondiente Rutina asíncrona: no activada por el programa principal • Recuperar el estado (la ejecución) del programa interrumpido
  • 21. Subsistema de Entrada-Salida (ACI) 21 E/S por interrupciones Aplicación Rutina de servicio MEMORIA CPU PC Kp Per. INT Buses (@, DATOS, CONTROL) Aplicación . . . . . . . . . INT Rutina de servicio Retorno de la interrupción
  • 22. Subsistema de Entrada-Salida (ACI) 22 Detección de la interrupción • La CPU dispone de una o varias líneas a través de las que los dispositivos pueden interrumpir a la CPU INT: señal de entrada a la unidad de control • La CPU muestrea el valor de la señal de petición de interrupción – En alguna de las fases de ejecución de la instrucción • Flag de interrupción (Interrupt Flag, IF): – IF = 0 interrupciones inhibidas/enmascaradas (CLI en 80x86) – IF = 1 interrupciones permitidas (STI en 80x86) • Interrupciones no enmascarables (Non Maskable Interrupt, NMI)
  • 23. Subsistema de Entrada-Salida (ACI) 23 Detección de interrupciones INT CPU 1K 2K nK IF PSW U.C. INT * Int1 Int2 Int n • Flag de interrupción (IF): – Cuando la CPU atiende una interrupción, pone IF = 0 – Cuando finaliza el tratamiento de la interrupción pone IF = 1 interrupciones uninivel
  • 24. Subsistema de Entrada-Salida (ACI) 24 Detección y enmascaramiento de interrupciones INT CPU 1K 2K nK IF PSW U.C. INT * INT INT 1 2 n Máscara
  • 25. Subsistema de Entrada-Salida (ACI) 25 Salvar el estado del programa • La CPU interrumpe la ejecución del programa en el momento de tratar la interrupción y reanuda su ejecución tras el tratamiento de la interrupción • Hay que salvar información de contexto del programa interrumpido – El PC de retorno PC de la siguiente instrucción en ejecución – La palabra de estado, PSW flags, etc. • La rutina de interrupción salva los registros que utilice • ¿Dónde se salva esta información? PILA
  • 26. Subsistema de Entrada-Salida (ACI) 26 Identificación de la interrupción • problemas – ¿Cómo determinar quién ha interrumpido? – Si varios han interrumpido por la misma línea INT, ¿a quién se atiende? • alternativas – Identificación software (por ejemplo, MC68000) – Identificación hardware
  • 27. Subsistema de Entrada-Salida (ACI) 27 Identificación software • Tras la detección de la señal INT y si IF=1, la CPU ejecuta una rutina de atención general que determina mediante encuesta qué dispositivo ha interrumpido for (i=0;i<n;i++) if (leer_reg_estado (Ki) == PREPARADO) { rut_atencion_Ri(); break; } • Una vez determinado el periférico, se ejecuta la rutina de atención correspondiente a ese periférico • Interrupciones simultáneas? El orden en que se realiza la encuesta determina la prioridad entre los dispositivos
  • 28. Subsistema de Entrada-Salida (ACI) 28 Identificación hardware • El propio dispositivo es quien se identifica • El controlador envía a la CPU (tres opciones): – la propia dirección de la rutina de atención, o bien – el código de una instrucción (salto) que será ejecutada por la CPU para lanzar la ejecución de la rutina de atención, o bien – un identificador que es usado por la CPU para acceder a una tabla (vector de interrupción) donde se encuentra la dirección de la rutina a ejecutar interrupción vectorizada (i80x86) • La CPU acepta la petición de interrupción por medio de una señal INTA hacia el controlador del periférico
  • 29. Subsistema de Entrada-Salida (ACI) 29 Identificación hardware INT Controlador 1 INT1 Controlador 2 INT2 Controlador n INTn Bus (@, Dat, Control) CPU INTA
  • 30. Subsistema de Entrada-Salida (ACI) 30 Interrupciones simultáneas • Si varios periféricos han interrumpido por la misma línea INT, ¿a quién se atiende? • Alternativas 1. Codificador con prioridad: + un codificador proporciona, además de la señal INT, el código del periférico con mayor prioridad + un decodificador utiliza este código para llevar la señal INTA de la CPU al controlador correspondiente
  • 31. Subsistema de Entrada-Salida (ACI) 31 Identificación de interrupciones simultáneas: Codificador con prioridad Bus (@, Dat, Control) Codificador con prioridad Controlador 1 Controlador 2 Controlador n decodificador C P U INT p Código del periférico INTA INT 1 INT 2 INT n INTA n INTA 2 INTA 1
  • 32. Subsistema de Entrada-Salida (ACI) 32 Interrupciones simultáneas • alternativas 2. Daisy-chain o cadena de margaritas: + la CPU activa la señal INTA + cuando el controlador detecta la señal INTA + si no ha pedido la interrupción, activa la señal de salida INTA hacia el siguiente controlador (así hasta que la señal llega al controlador que ha pedido la interrupción) + si ha pedido la interrupción, no pasa la señal INTA al siguiente controlador y envía a la CPU la información necesaria para el tratamiento de la interrupción + los controladores más cercanos a la CPU son los más prioritarios
  • 33. Subsistema de Entrada-Salida (ACI) 33 Identificación de interrupciones simultáneas: Daisy-Chain o cadena de margaritas Controlador n Controlador 2 Controlador 1 Bus (@, Dat, Control) CPU INTA INT INTAinINTAin INTAoutINTAout
  • 34. Subsistema de Entrada-Salida (ACI) 34 Interrupciones multinivel • La CPU puede ser interrumpida mientras está ejecutando otra rutina de atención a una interrupción previa + se pospone la ejecución de la rutina de interrupción actual y se atiende la nueva interrupción + IF no se desactiva por defecto al tratar una interrupción • Prioridades decrecientes: + se atiende la interrupción de un periférico de prioridad n si están permitidas y si en ese momento se está ejecutando una rutina de atención a una interrupción menos prioritaria
  • 35. Subsistema de Entrada-Salida (ACI) 35 Interrupciones multinivel Aplicación . . . . . . . . . INTx Rutina de servicio x Retorno de la interrupción x INTy Rutina de servicio y Retorno de la interrupción y
  • 36. Subsistema de Entrada-Salida (ACI) 36 Interrupciones multinivel: Codificador con prioridad Codificador con prioridad Controlador 1 Controlador 2 Controlador n decodificador C P U INT* p Código del periférico INTA BUS (@, Datos, Control) Nivel de prioridad IF B Comparador A A>B PSW
  • 37. Subsistema de Entrada-Salida (ACI) 37 Interrupciones multinivel: Daisy-Chain o cadena de margaritas + Ki desactiva la señal S (S=0) para no permitir interrupciones multinivel a los periféricos con menor prioridad a Ki + Ki activa S (S=1) tras finalizar el tratamiento de su interrupción Controlador n Controlador 2 Controlador 1 Bus (@, Datos, Control) CPU INTA INT INTAin INTAout S INTA in SS INTINT
  • 38. Subsistema de Entrada-Salida (ACI) 38 Controlador de interrupciones • Circuito intermediario entre la CPU y los controladores de los periféricos de E/S • Circuito que resuelve todos los aspectos comentados: + gestiona la comunicación entre la CPU y el controlador del periférico + determina el periférico a atender en función de prioridades + gestiona las interrupciones multinivel, ... • Por ejemplo, controlador de interrupciones i8259 del i8086
  • 39. Subsistema de Entrada-Salida (ACI) 39 Entrada/salida por DMA: Direct Memory Access / Acceso Directo a Memoria • Motivación: + transferencia de gran volumen de datos desde un dispositivo (por ejemplo, disquete) a posiciones consecutivas de memoria + sin DMA, la CPU se vería constantemente interrumpida (por ejemplo, por cada carácter a transferir desde el disco) • Solución: controlador de DMA + Circuito especializado que descarga a la CPU de un trabajo simple, repetitivo y frecuente + Circuito capaz de acceder directamente a memoria sin usar los registros generales del procesador
  • 40. Subsistema de Entrada-Salida (ACI) 40 Entrada/salida por DMA CPU M Kp Periférico A @ DAT CONT CPU M A Kp Periférico KDMA @ DAT CONT SIN DMA CON DMA
  • 41. Subsistema de Entrada-Salida (ACI) 41 Entrada/salida por DMAMemoria CPU KDMA K1 K2 P1 P2 K3 P3 Memoria Multipuerto CPU M K1 K2 K3 P1 P2 P3 KDMA Memoria con un solo puerto Sincronización entre la CPU y el KDMA en el uso del bus
  • 42. Subsistema de Entrada-Salida (ACI) 42 Controlador de DMA • Registro de dirección: dirección de lectura/escritura de la información a transferir • Registro de longitud: contador con el número de datos que faltan por transferir • Registro de control: información de control (lectura/escritura, modo de sincronización al finalizar, etc.) • Registro de estado: función de un registro de estado de cualquier otro controlador (por ejemplo, control de errores)
  • 43. Subsistema de Entrada-Salida (ACI) 43 DMAR Direct Memory Access Request Petición de Acceso directo a memoria. DMAG Direct Memory AccessGrant Concesión de Acceso directo a memoria DIRECCIÓN LONGITUD CONTROL ESTADO BR DMAR DMAG BG IRQ KDMA BR Bus Request Petición de utilización del BUS BG Bus Grant Concesión del BUS IRQ Interruption ReQuest Petición de Interrupción Controlador de DMA Sincronización bus Sincronización periférico Señal al CI
  • 44. Subsistema de Entrada-Salida (ACI) 44 Entrada/salida por DMA: funcionamiento • Aplicación (CPU): programa periférico y su controlador de DMA (@, número de datos, lectura/escritura) • Periférico: cada vez que está listo para enviar/recibir un dato, avisa al KDMA • KDMA: sincroniza con la CPU el uso del bus y realiza la transferencia del dato • Al finalizar la transferencia de todos los datos, KDMA se sincroniza con la CPU: encuesta o interrupción sólo se interrumpe a la CPU al final de la E/S
  • 45. Subsistema de Entrada-Salida (ACI) 45 Entrada/salida por DMA M CPU KDMA BR BG IRQ INTAINTR C.I. DMAR Perif. KPER DMAG DAT @ CONT
  • 46. Subsistema de Entrada-Salida (ACI) 46 1.-Iniciar la transferencia (CPU) – Programar el KDMA • Dirección • Longitud • Sentido de la operación: Periférico Memoria Memoria Periférico • Interrumpir o no al finalizar • Otras señales (incrementar/decrementar) – Programar el Kper (controlador del periférico) Entrada/salida por DMA: fases
  • 47. Subsistema de Entrada-Salida (ACI) 47 2.-Transferencia propia (KDMA) [CPU otras tareas] – Kper DMAR (Petición de DMA) – KDMA BR (Petición del uso de los buses) – CPU BG (Concesión del uso de los buses) – KDMA realiza la transferencia del dato/datos • Dirección en el bus de direcciones • Activa la señal (R/W) • Activa DMAG Kper actúa sobre el bus de datos – Kper desactiva DMAR – DMA desactiva BR Entrada/salida por DMA: fases
  • 48. Subsistema de Entrada-Salida (ACI) 48 Transferencia por robo de ciclo + KDMA roba de vez en cuando un ciclo a la CPU para acceder a memoria + se degrada el rendimiento de la CPU si la velocidad del periférico es alta Transferencia por ráfagas o bloques + cuando KDMA recibe la señal BG, no abandona el control del bus hasta que se complete la transferencia de todo el bloque + modo adecuado para dispositivos rápidos Entrada/salida por DMA
  • 49. Subsistema de Entrada-Salida (ACI) 49 3.-Finalizar la transferencia – Sincronización KDMA CPU para indicar el fin de la E/S – Por encuesta continua: la CPU consulta el registro de estado del KDMA poco interesante!!!! – Por interrupciones: KDMA interrumpe a la CPU Leer registro de estado del KDMA Si (no ha ido bien) programar de nuevo el KDMA programar de nuevo el Kper sino ............... Entrada/salida por DMA