Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Mayo de 2011
Mayo de 2011
1 / 74
ndice
1
Introduccin
Programacin de la entrada/salida
Puertos, controladoras y canales
E/S mapeada en memoria vs. E/S aislada
Tcnicas de comunicacin CPUE/S
Implementacin de la E/S
Concepto de bus
Elementos de diseo de un bus
Parmetros de los buses
Protocolos de acceso al bus
Mecanismos de control de acceso
Algunos ejemplos de buses comerciales
Tema 7: Gestin de la entrada/salida
Mayo de 2011
2 / 74
Introduccin
Agenda
1
Introduccin
Programacin de la entrada/salida
Puertos, controladoras y canales
E/S mapeada en memoria vs. E/S aislada
Tcnicas de comunicacin CPUE/S
Implementacin de la E/S
Concepto de bus
Elementos de diseo de un bus
Parmetros de los buses
Protocolos de acceso al bus
Mecanismos de control de acceso
Algunos ejemplos de buses comerciales
Tema 7: Gestin de la entrada/salida
Mayo de 2011
3 / 74
Introduccin
Introduccin
Hasta ahora nos habamos centrado en slo dos componentes de
un ordenador:
Procesador.
Sistema de memoria.
El
Mayo de 2011
4 / 74
Introduccin
!
Mayo de 2011
5 / 74
Agenda
1
Introduccin
Programacin de la entrada/salida
Puertos, controladoras y canales
E/S mapeada en memoria vs. E/S aislada
Tcnicas de comunicacin CPUE/S
Implementacin de la E/S
Concepto de bus
Elementos de diseo de un bus
Parmetros de los buses
Protocolos de acceso al bus
Mecanismos de control de acceso
Algunos ejemplos de buses comerciales
Tema 7: Gestin de la entrada/salida
Mayo de 2011
6 / 74
Mayo de 2011
7 / 74
Dispositivo
Tipo
Interaccin
Teclado
Entrada
Humana
0,01
Ratn
Entrada
Humana
0,02
Impresora de lneas
Salida
Humana
1,00
Impresora lser
Salida
Humana
100,00
Memoria ash
Almacenamiento
Mquina
20.000,00
Disco duro
Almacenamiento
Mquina
60.000,00
Entrada/Salida
Mquina
125.000,00
Salida
Humana
3.000.000,00
Tarjeta de red
Adaptador grco
Mayo de 2011
8 / 74
programacin
La
Mayo de 2011
9 / 74
Programacin de la entrada/salida
Agenda
1
Introduccin
Programacin de la entrada/salida
Puertos, controladoras y canales
E/S mapeada en memoria vs. E/S aislada
Tcnicas de comunicacin CPUE/S
Implementacin de la E/S
Concepto de bus
Elementos de diseo de un bus
Parmetros de los buses
Protocolos de acceso al bus
Mecanismos de control de acceso
Algunos ejemplos de buses comerciales
Tema 7: Gestin de la entrada/salida
Mayo de 2011
10 / 74
Programacin de la entrada/salida
Agenda
1
Introduccin
Programacin de la entrada/salida
Puertos, controladoras y canales
E/S mapeada en memoria vs. E/S aislada
Tcnicas de comunicacin CPUE/S
Implementacin de la E/S
Concepto de bus
Elementos de diseo de un bus
Parmetros de los buses
Protocolos de acceso al bus
Mecanismos de control de acceso
Algunos ejemplos de buses comerciales
Tema 7: Gestin de la entrada/salida
Mayo de 2011
11 / 74
Programacin de la entrada/salida
Canales (= buses)
Mayo de 2011
12 / 74
Programacin de la entrada/salida
!"
Mayo de 2011
13 / 74
Programacin de la entrada/salida
Agenda
1
Introduccin
Programacin de la entrada/salida
Puertos, controladoras y canales
E/S mapeada en memoria vs. E/S aislada
Tcnicas de comunicacin CPUE/S
Implementacin de la E/S
Concepto de bus
Elementos de diseo de un bus
Parmetros de los buses
Protocolos de acceso al bus
Mecanismos de control de acceso
Algunos ejemplos de buses comerciales
Tema 7: Gestin de la entrada/salida
Mayo de 2011
14 / 74
Programacin de la entrada/salida
Programacin de la entrada/salida
direccionamiento y acceso
dispositivos:
Espacio de direcciones mapeado en memoria normal, o bien,
Espacio de direcciones de E/S aislado.
Instrucciones
utilizadas.
Mecanismos de
interaccin CPUDispositivos:
Mayo de 2011
15 / 74
Programacin de la entrada/salida
registro de control.
registro de estado.
registro de datos.
Leer/escribir dato en
Mayo de 2011
16 / 74
Programacin de la entrada/salida
E/S aislada
y almacenamiento normales).
Ejemplo:
IN reg, dir_puerto
OUT dir_puerto, reg
Mayo de 2011
17 / 74
Programacin de la entrada/salida
Agenda
1
Introduccin
Programacin de la entrada/salida
Puertos, controladoras y canales
E/S mapeada en memoria vs. E/S aislada
Tcnicas de comunicacin CPUE/S
Implementacin de la E/S
Concepto de bus
Elementos de diseo de un bus
Parmetros de los buses
Protocolos de acceso al bus
Mecanismos de control de acceso
Algunos ejemplos de buses comerciales
Tema 7: Gestin de la entrada/salida
Mayo de 2011
18 / 74
Programacin de la entrada/salida
Sondeo (polling)
sondeando
continua o peridicamente al puerto correspondiente.
El dispositivo informa de su situacin modicando su registro
de estado.
El procesador es el que realiza todo el trabajo,
Mayo de 2011
19 / 74
Programacin de la entrada/salida
Sondeo (polling)
encuesta continua)
Mayo de 2011
20 / 74
Programacin de la entrada/salida
% de
siguientes dispositivos:
Ratn:
Disquete:
Mayo de 2011
21 / 74
Programacin de la entrada/salida
6
% CPU: 12.000/(500*10 )*100 = 0,0024 %
despreciable.
ratn:
impacto
disquete:
impacto
disco duro:
inaceptable
impacto
Mayo de 2011
22 / 74
Programacin de la entrada/salida
Interrupciones
Interrupciones vs. sondeo (analoga secretaria):
1. Encargamos a nuestra secretaria un trabajo (=
transaccin de E/S).
orden de
sondeo peridico).
externa a la CPU).
interrupcin
tratamiento de los
datos: lect./escr. de los mismos desde/a buers adecuados, etc.)
Mayo de 2011
23 / 74
Programacin de la entrada/salida
Interrupciones
En el sondeo, el tratamiento de los datos lo hacen las
instrucciones que siguen al bucle de espera activa, pero...
...una interrupcin puede llegar en cualquier momento y la CPU
estar haciendo otra cosa (son
en ejecucin).
Por tanto, hay que
1
pueda
el proceso interrumpido
reanude
con normalidad.
Mayo de 2011
24 / 74
Programacin de la entrada/salida
Interrupciones
Ventaja principal de interrupciones frente al sondeo:
La CPU no gasta ciclos tiles en comprobar si el dispositivo est
preparado.
Simplemente, cuando ste lo est, y lo indique mediante la
interrupcin correspondiente, se ejecutar la RSI asociada.
asociada:
nmero de interrupcin
Mayo de 2011
25 / 74
Programacin de la entrada/salida
Interrupciones
Para los mecanismos anteriores (salto a la RSI + salvar estado
de la CPU + reanudar proceso interrumpido) hay que resolver
algunas cuestiones:
A. Salto a la RSI:
Dnde saltar? Dos opciones:
interrupciones vectorizadas).
Mayo de 2011
26 / 74
Programacin de la entrada/salida
Interrupciones
B. Salvar estado de la CPU:
Mnimo, hay que salvar siempre el valor del PC: en MIPS, hay
un registro a tal efecto, el
EPC
condiciones
$k0
es lo mnimo
El
Mayo de 2011
27 / 74
Programacin de la entrada/salida
Interrupciones
C. Recuperar estado y reanudar proceso interrumpido:
Se recuperan los registros (que la RSI guard antes de
modicar).
Se vuelve a escribir el PC con el
EPC
!"
#$
%
!
&
"'!
Mayo de 2011
28 / 74
Programacin de la entrada/salida
Interrupciones
Rendimiento (consumo de CPU con interrupciones):
Suponemos un gasto de 500 ciclos por cada transferencia
(tiempo de ejecucin de la RSI). Tambin que el disco duro se
usa durante un 5 % del tiempo. Misma CPU y HD que antes.
Interrupciones de disco duro/seg:
8 MB/s / 16 bytes por transf. = 524.288 interrupciones/seg.
Ciclos/seg: 524.288 * 500 = 262.144.000 ciclos/seg.
Nota:
2,62 %.
Mayo de 2011
29 / 74
Programacin de la entrada/salida
Interrupciones
Una
asncrona
qu dispositivo la provoc.
Interrupcin:
etc.).
necesita su atencin.
a A veces, por abuso del lenguaje, se usa excepcin como un trmino genrico para
los 3 casos.
Mayo de 2011
30 / 74
Programacin de la entrada/salida
Interrupciones y DMA
El sondeo y las interrupciones son adecuados para dispositivos
con
a/desde dispositivo
Mayo de 2011
31 / 74
Programacin de la entrada/salida
Interrupciones y DMA
El DMA se implementa con un chip especializado (controladora
de DMA), que transere datos entre un dispositivo de E/S y
memoria independientemente del procesador.
Tendr
sistema de arbitraje.
Mayo de 2011
32 / 74
Programacin de la entrada/salida
Interrupciones y DMA
Analoga jefesecretaria:
1
DMA).
2
programacin de la controladora
Mayo de 2011
33 / 74
Programacin de la entrada/salida
Controladora
Direccin
DMA
Contador
MEMORIA
500
+27
0x10010800
HD
4
Controladora
1
Dispositivo
de disco
Rumbo
3. Aviso de finalizacin de
transaccin a la CPU (interrupcin)
Mayo de 2011
34 / 74
Programacin de la entrada/salida
6 =
0,62 %.
Mayo de 2011
35 / 74
Programacin de la entrada/salida
$
&
'(
'(
'(
%
'(
$
%
!"
'(
!"#
!"
Mayo de 2011
36 / 74
Agenda
1
Introduccin
Programacin de la entrada/salida
Puertos, controladoras y canales
E/S mapeada en memoria vs. E/S aislada
Tcnicas de comunicacin CPUE/S
Implementacin de la E/S
Concepto de bus
Elementos de diseo de un bus
Parmetros de los buses
Protocolos de acceso al bus
Mecanismos de control de acceso
Algunos ejemplos de buses comerciales
Tema 7: Gestin de la entrada/salida
Mayo de 2011
37 / 74
Respuesta: el
El cdigo del SO es
al arrancar el
ordenador.
En particular, instala las rutinas de peticin de E/S de los distintos
drivers ) Slo el SO
seguridad.
Necesidad de
38 / 74
Implementacin de la E/S
Agenda
1
Introduccin
Programacin de la entrada/salida
Puertos, controladoras y canales
E/S mapeada en memoria vs. E/S aislada
Tcnicas de comunicacin CPUE/S
Implementacin de la E/S
Concepto de bus
Elementos de diseo de un bus
Parmetros de los buses
Protocolos de acceso al bus
Mecanismos de control de acceso
Algunos ejemplos de buses comerciales
Tema 7: Gestin de la entrada/salida
Mayo de 2011
39 / 74
Implementacin de la E/S
Concepto de bus
Agenda
1
Introduccin
Programacin de la entrada/salida
Puertos, controladoras y canales
E/S mapeada en memoria vs. E/S aislada
Tcnicas de comunicacin CPUE/S
Implementacin de la E/S
Concepto de bus
Elementos de diseo de un bus
Parmetros de los buses
Protocolos de acceso al bus
Mecanismos de control de acceso
Algunos ejemplos de buses comerciales
Tema 7: Gestin de la entrada/salida
Mayo de 2011
40 / 74
Implementacin de la E/S
Concepto de bus
Concepto de bus
Los diferentes subsistemas que componen un computador
(procesador, memoria y dispositivos de E/S) necesitan
comunicarse entre s
Bus
canal.
ancho de banda.
Mayo de 2011
41 / 74
Implementacin de la E/S
Concepto de bus
congestin.
jerrquica:
velocidades.
Mayo de 2011
42 / 74
Implementacin de la E/S
Concepto de bus
local y de
memoria.
Bus
Conectan CPU y
memoria.
Son los de mayor
rendimiento.
2
Buses de
expansin.
PCI, ISA.
3
Buses
dedicados.
De propsito
especco.
IDE/SCSI, AGP,
rewire, USB, . . .
Tema 7: Gestin de la entrada/salida
Mayo de 2011
43 / 74
Implementacin de la E/S
Concepto de bus
Funciones:
Traduccin:
PCIIDE.
Mayo de 2011
44 / 74
Implementacin de la E/S
Agenda
Introduccin
Programacin de la entrada/salida
Puertos, controladoras y canales
E/S mapeada en memoria vs. E/S aislada
Tcnicas de comunicacin CPUE/S
Implementacin de la E/S
Concepto de bus
Elementos de diseo de un bus
Parmetros de los buses
Protocolos de acceso al bus
Mecanismos de control de acceso
Algunos ejemplos de buses comerciales
Tema 7: Gestin de la entrada/salida
Mayo de 2011
45 / 74
Implementacin de la E/S
Compartido
Direcciones.
Datos.
Todo lo dems:
Control.
Mayo de 2011
46 / 74
Implementacin de la E/S
Mayo de 2011
47 / 74
Implementacin de la E/S
lneas de informacin.
Lneas de control:
lneas de control y un
conjunto de
Mayo de 2011
48 / 74
Implementacin de la E/S
Escritura en memoria
Lectura de memoria
Escritura de E/S
Lectura de E/S
Peticin de bus
Concesin de bus
Reloj
Mayo de 2011
49 / 74
Implementacin de la E/S
Lneas de informacin
Lneas de datos:
Transmiten datos entre los mdulos.
Constituyen el bus de datos.
Anchura del bus de datos: nmero de lneas
Prestaciones.
Lneas de direccin:
Determinan la fuente o el destino del dato (direccin).
Constituyen el bus de direcciones.
Anchura del bus direcciones
Posiciones de memoria
direccionables.
Mayo de 2011
50 / 74
Implementacin de la E/S
Desempean varias
Mayo de 2011
51 / 74
Implementacin de la E/S
Mayo de 2011
52 / 74
Implementacin de la E/S
Agenda
Introduccin
Programacin de la entrada/salida
Puertos, controladoras y canales
E/S mapeada en memoria vs. E/S aislada
Tcnicas de comunicacin CPUE/S
Implementacin de la E/S
Concepto de bus
Elementos de diseo de un bus
Parmetros de los buses
Protocolos de acceso al bus
Mecanismos de control de acceso
Algunos ejemplos de buses comerciales
Tema 7: Gestin de la entrada/salida
Mayo de 2011
53 / 74
Implementacin de la E/S
Mayo de 2011
54 / 74
Implementacin de la E/S
Mayo de 2011
55 / 74
Implementacin de la E/S
Agenda
Introduccin
Programacin de la entrada/salida
Puertos, controladoras y canales
E/S mapeada en memoria vs. E/S aislada
Tcnicas de comunicacin CPUE/S
Implementacin de la E/S
Concepto de bus
Elementos de diseo de un bus
Parmetros de los buses
Protocolos de acceso al bus
Mecanismos de control de acceso
Algunos ejemplos de buses comerciales
Tema 7: Gestin de la entrada/salida
Mayo de 2011
56 / 74
Implementacin de la E/S
Pueden ser:
Sncronos:
Asncronos:
Mayo de 2011
57 / 74
Implementacin de la E/S
Temporizacin sncrona
Ventajas:
Protocolo sencillo.
Interfaz lgica simple.
Bus muy rpido.
Inconvenientes:
Los dispositivos conectados deben funcionar a la misma
frecuencia de reloj.
Problema de sesgo de reloj: diferencia de tiempo absoluto desde
que dos elementos ven un anco de reloj
interna.
desincronizacin
Ejemplo: bus
procesadormemoria.
Mayo de 2011
58 / 74
Implementacin de la E/S
T2
T3
Reloj
Bus de
direcciones
Desde
el
procesador
AS
Direccin de memoria
Latencia de mem. (1 ciclo)
R/W
Bidireccional
Bus de
datos
Datos desde
memoria
Datos aceptados por el
procesador
Mayo de 2011
59 / 74
Implementacin de la E/S
T1
T2
T3
Reloj
Bus de
direcciones
Desde
el
procesador
AS
Direccin de memoria
Latencia de mem. (1 ciclo)
R/W
Bidireccional
Bus de
datos
Mayo de 2011
60 / 74
Implementacin de la E/S
T1
T2
T3
T4
Reloj
Bus de
direcciones
Desde
el
procesador
Direccin de memoria
Latencia de mem. (2 ciclos)
AS
R/W
Bidireccional
Bus de
datos
Mayo de 2011
61 / 74
Implementacin de la E/S
T1
T2
T3
Reloj
Bus de direcciones y datos
Desde
el
procesador
AS
Direccin
Datos desde
memoria
Desde la
memoria
R/W
Datos aceptados por el
procesador
Mayo de 2011
62 / 74
Implementacin de la E/S
T1
T2
T3
T4
Reloj
Bus de direcciones y datos
Desde
el
procesador
Direccin
AS
R/W
Mayo de 2011
63 / 74
Implementacin de la E/S
4 bytes. Si
ciclos
AB
Mayo de 2011
64 / 74
Implementacin de la E/S
T2
T3
T4
Reloj
Bus de
direcciones
Desde
el
procesador
Direccin de memoria
Latencia de mem. (2 ciclos)
AS
R/W
Bidireccional
Bus de
datos
AB = 4/3x200x10
B/s
= 200 MB/s.
Mayo de 2011
65 / 74
Implementacin de la E/S
mximo: Reloj
T2
Bus de
direcciones
T3
T4
T5
T6
T7
AS
R/W
Bus de
datos
D1
D2
D3
D4
AB = 16/7x200x10
B/s
457,14 MB/s.
Mayo de 2011
66 / 74
Implementacin de la E/S
Temporizacin asncrona
presentacin:
Protocolo de
informacin).
Las
hasta que sean vistas por la otra parte, que reconoce mediante
Ack.
Tema 7: Gestin de la entrada/salida
Mayo de 2011
67 / 74
Implementacin de la E/S
Temporizacin asncrona
Ventajas:
Dispositivos conectados pueden trabajar a frecuencias de reloj
variables.
El bus puede conectar gran variedad de dispositivos (largo).
Inconvenientes:
Ms lento que el sncrono.
Necesidad de lneas de control adicionales.
Fallo de sincronizacin
Mayo de 2011
68 / 74
Implementacin de la E/S
Se activa la peticin
de lectura y se pone
la direccin en el
bus.
Ack una
vez guardada la
direccin. El
La memoria activa
la seal de
dispositivo
desactiva
ReadReq
y libera el bus.
Ack.
Se desactiva
Se pone en el bus y
se activa
dispositivo lee el
DataRdy.
Cuando el
la seal
7
Ack.
En respuesta, se
desactiva
DataRdy
y se libera el bus.
Se desactiva
Mayo de 2011
69 / 74
Ack.
Implementacin de la E/S
Agenda
Introduccin
Programacin de la entrada/salida
Puertos, controladoras y canales
E/S mapeada en memoria vs. E/S aislada
Tcnicas de comunicacin CPUE/S
Implementacin de la E/S
Concepto de bus
Elementos de diseo de un bus
Parmetros de los buses
Protocolos de acceso al bus
Mecanismos de control de acceso
Algunos ejemplos de buses comerciales
Tema 7: Gestin de la entrada/salida
Mayo de 2011
70 / 74
Implementacin de la E/S
Amo o dueo del bus (Bus Master): inicia y controla todas las
peticiones de uso del bus. Esquema sencillo:
El procesador es el nico
La memoria es un
y escritura.
1
Mayo de 2011
71 / 74
Implementacin de la E/S
mtodo de arbitraje
bus.
Mayo de 2011
72 / 74
Implementacin de la E/S
Agenda
1
Introduccin
Programacin de la entrada/salida
Puertos, controladoras y canales
E/S mapeada en memoria vs. E/S aislada
Tcnicas de comunicacin CPUE/S
Implementacin de la E/S
Concepto de bus
Elementos de diseo de un bus
Parmetros de los buses
Protocolos de acceso al bus
Mecanismos de control de acceso
Algunos ejemplos de buses comerciales
Tema 7: Gestin de la entrada/salida
Mayo de 2011
73 / 74
Implementacin de la E/S
Anchura
(bits)
Velocidad
(Mhz)
Ancho de banda
(MBytes/seg)
8bit ISA
8,3
7,9
16bit ISA
16
8,3
15,9
EISA
32
8,3
31,8
VLB
32
33
127,2
127,2
PCI
32
33
64
66
508,6
1 por sentido
200x2x(1, 4, 8, 16)
33,3
16
16
16
80
160
AGP
32
66
254,3
32
66x4
1017,3
32
66x8
2034,6
USB 1.1
12
1,5
USB 2.0
60
Mayo de 2011
74 / 74