PDF de programación - Tema 2.1. Sistema de E/S - Módulo 2. Entrada/Salida

Imágen de pdf Tema 2.1. Sistema de E/S - Módulo 2. Entrada/Salida

Tema 2.1. Sistema de E/S - Módulo 2. Entrada/Salidagráfica de visualizaciones

Publicado el 5 de Julio del 2019
983 visualizaciones desde el 5 de Julio del 2019
2,8 MB
30 paginas
Creado hace 7a (07/03/2017)
ec

ec

 Introducción
 Estructura y funciones del sistema de E/S
 E/S Programada
 E/S por interrupciones
 Bibliografïa:

W. Stallings; Computer Organization and Architecture, 9ed. Prentice Hall 2013.
D. A. Patterson & J. L. Hennessy; Estructura y diseño de computadores. La interfaz



hardware/software, 4ed. Reverté 2011.



S. Furber; ARM System‐on‐Chip architecture, 2ed. Addison‐Wesley 2000.
Manuales del S3C44B0X y de la placa S3CEV40

 Introducción
 Estructura y funciones del sistema de E/S
 E/S Programada
 Concepto de Interrupción
 E/S por interrupciones

ec

ec

 Interacción CPU <‐> mundo
 Entrada de datos 

– Desde dispositivo a CPU
– Desde dispositivo a Memoria

 Salida de datos

– Desde CPU a dispositivo
– Desde Memoria a dispositivo

 En muchas ocasiones, el 

rendimiento del sistema de 
E/S determina el 
rendimiento global del 
sistema

CPU

MEMORIA

E/S

8085

5
8
0
8

8085

5
8
0
8

8085

5
8
0
8

 Dispositivos de presentación de datos

– Interaccionan con los usuarios, transportando datos entre éstos y la 

máquina

– Ratón, teclado, pantalla, impresora, etc

ec

ec

 Dispositivos de comunicación con otros procesadores

– Permiten la comunicación con procesadores remotos a 

través de redes

– Tarjeta de red, módem...

 Dispositivos de adquisición de datos

– Permiten la comunicación con sensores y actuadores que operan de 

forma autónoma. 

– Se utilizan en sistemas de control automático de procesos por 

computador

– Suelen incorporar conversores de señales A/D y D/A.

ec

ec

 Dispositivos de almacenamiento de datos

– Forman parte de la jerarquía de memoria:  interactúan de forma 

autónoma con la máquina

– Discos magnéticos y cintas magnéticas…

ec

ec

 Tipo de datos que se transmiten

– Bytes, bloques, tramas, etc

 Tasa de transferencia

– Ancho de banda: cantidad de datos que se pueden transferir por unidad 

de tiempo (Mbit/s, MB/s…)

• Dispositivos de almacenamiento/red ‐> gran ancho de banda

– Latencia: tiempo requerido para obtener el primer dato (s, ms, us, ns)

• Generalmente alta en comparación con velocidad de la CPU

Ancho de banda y latencia de algunos dispositivos periféricos

 Los dispositivos tradicionales de transporte y presentación de datos representan una carga
relativamente baja de trabajo para el procesador :

Dispositivos
Sensores
Teclado
Línea de comunicaciones
Pantalla (CRT)
Impresora de línea
Cinta (cartridge)
Disco
Cinta

Ancho de banda
1 Bps – 1 KBps
10 Bps
30 Bps – 200 KBps
2 KBps
1 – 5 KBps
0.5 – 2 MBps
4.5 MBps
3-6 MBps

 Los dispositivos de E/S multimedia demandan mayores exigencias de velocidad:

Medio
Gráficos
Vídeo
Voz

Ancho de banda Latencia max. permitida
1 MBps
100 MBps
64 KBps

1 - 5 segundos
20 milisegundos
50 - 300 milisegundos

 Necesitamos 

– Un interfaz distinto para periférico

• Controlador de E/S del dispositivo

– Distintas formas de interaccionar con ellos 

• Técnicas de E/S

ec

ec

 Introducción
 Estructura y funciones del sistema de E/S
 E/S Programada
 E/S por interrupciones

ec

 Componentes:

– Dispositivo periférico
– Módulo de E/S 

controlador (hardware)
• Tarjeta

– Controlador software 

• Driver

S.O.

– Canal de comunicación 

• P. ej. bus 

TEMA SIGUIENTE

ec

 Organización sencilla 

del sistema de E/S

CPU

Memoria

Bus del sistema

Controlador

8085

5
8
0
8

PERIFÉRICO

 Dispositivo periférico

– Dispositivo en sí, de carácter mecánico, magnético…. (teclado, platos 

 Controlador del dispositivo (hardware)

– Interfaz lógica que ofrece el dispositivo al sistema
– Se entiende con el bus y conoce las características físicas del 

del disco..)

dispositivo

concreto

dispositivo

 Controlador software (driver)

– Código encargado de programar el controlador HW del dispositivo 

– Forma parte del sistema operativo (suele proporcionarlo el fabricante)

 Canal de comunicación (p. ej. bus)

– Interconexión entre la CPU, memoria y el controlador HW del 

– Puede ser compartido por varios dispositivos

• Necesidad de arbitraje

 Interfaz entre el dispositivo y el procesador
 Funciones:

– Control y temporización

• Adapta la velocidad de transferencia
– Comunicación con el procesador
– Comunicación con el periférico
– Buffering o almacenamiento intermedio
– Detección de errores

Tiene dos 
interfaces

ec

ec

Registro de datos

Registro de estado

Registro de control

Líneas
de Datos

Líneas de
dirección

Líneas
de control

Lógica de
interfaz con
el dispositivo

externo



Lógica
de E/S

Lógica de
interfaz con
el dispositivo

externo

Datos

Estado

Control

Datos

Estado

Control

 Registro de datos: intercambio de datos entre CPU y periférico
 Registro de estado: estado del dispositivo, ej. preparado, error, ocupado…
 Registro de control: actuación sobre el dispositivo (imprime carácter, lee un 

bloque…)

CUIDADO: NO son registros de la CPU. ¡¡¡Pueden estar en otro chip!!!

 Una operación de entrada/salida se divide en:

– Petición: enviar el comando (y dirección)

• La CPU indica al dispositivo la operación que quiere hacer escribiendo en su 

registro de control 

– ¿Cómo seleccionar el dispositivo de E/S deseado? Depende de que sea E/S  

aislada o mapeada en memoria

– Envío: transferencia de los datos

• La CPU leerá/escribirá de/al registro de datos del controlador del periférico 

deseado

– ¿Cómo saber cuándo? SINCRONIZACIÓN

ec

ec

 E/S aislada

• Espacio de direcciones diferente al de la memoria principal (existen dos 

mapas de direcciones)

• Existen instrucciones específicas de E/S

– IN      dir_E/S, Ri
– OUT   Ri, dir_E/S

• Ejemplo: Intel x86

(CPU  Periférico) 
(Periférico  CPU)

– Cada registro de un módulo de E/S es un puerto

 E/S localizada en memoria

• La memoria y los dispositivos de E/S comparten el espacio de direcciones
• Podemos usar instrucciones tipo load/store (lw/sw)

– LOAD
– STORE

Ri, dir_E/S (CPU  Periférico)
Ri, dir_E/S (Periférico  CPU)

• Ejemplo: ARM

– Cada registro de un módulo de E/S es una dirección de memoria dentro de un 

rango reservado

 Controlador GPIO, gestiona pines multifunción del chip
 Para encender un led conectado a uno de los pines

– Conocer las direcciones de memoria asignadas a sus registros (Puerto 

B):

• Registro de control PCONB: 0x01D20008
• Registro de datos PDATB: 0x01D2000C

– Configurar los pines del controlador como salidas para poder escribir 

en los leds :

– Escribir en el registro de control (PCONB) un '0'

mov r0,#0
ldr r1,=PCONB    @0x01D20008
str r0,[r1]

– Encender los leds :

– Escribir en un registro de datos (PDATB )del GPIO el valor de la salida

» 0 enciende el led, 
» 1  apaga el led

mov r0,#0
ldr r1,=PDATB    @0x01D2000C
str r0,[r1]

ec

ec

 El GPIO tiene un circuito electrónico que:

– Permite dar al pin la tensión Vcc o GND en función de lo 
que se haya escrito en el registro de datos, sólo si en el 
registro de control se ha configurado como pin de salida

– Permite leer el valor del pin

ec

ec

 Exigida por la diferencia de velocidad entre la CPU y los dispositivos de E/S

 Antes de enviar/recibir datos a/desde un periférico hay que asegurarse de 

que el dispositivo está preparado para realizar la transferencia
– ¿Cómo sabe la CPU cuándo está lista/ha terminado la transferencia?
– ¿Cómo sabe si todo ha ido bien?

 Existen dos mecanismos básicos de sincronización de la E/S

– E/S programada con espera de respuesta (polling)

– E/S por interrupciones

 Introducción
 Estructura y funciones del sistema de E/S
 E/S Programada
 E/S por interrupciones

ec

ec

 Cada vez que la CPU quiere 
realizar una transferencia:
– Lee una y otra vez el registro de 
estado del periférico (encuesta o 
“polling”) hasta que esté 
preparado para realizar la 
transferencia

– Realiza la transferencia

Orden de
lectura al

módulo de E/S

CPU  E/S

Leer el estado
del módulo

E/S  CPU

Bucle de sincronización

E/S  CPU

Completar la operación 
(lectura en el ejemplo)

CPU  Memoria

no

no

¿estado indica
preparado?

si

Leer el dato
del módulo

de E/S

Escribir el
dato en
memoria

¿final?

si

 La CPU no hace trabajo útil en el bucle de espera activa
– Con dispositivos lentos el bucle podría repetirse miles/millones 

de veces

– La dinámica del programa se detiene durante la operación de 

E/S
• Ejemplo: imaginar que en un vídeo‐juego se detuviese la dinámica 

del juego a la espera de que el usuario pulse una tecla 

 Dificultades para atender a varios periféricos

– Mientras se espera a que un periférico esté listo para transmitir, 

no se puede atender a otro

Orden de
lectura al

módulo de E/S

CPU  E/S

Leer el estado
del módulo

E/S  CPU

El bit 6 de PDATG es:
0 si el botón 1 ha sido pulsado y 
1 si no ha sido pulsado 

int reg

pseudocodigo

E/S  CPU

CPU  Memoria

no

no

¿estado indica
preparado?

si

Leer el dato
del módulo

de E/S

Escribir el
dato en
memoria

¿final?

si

reg = rPDATG
If ( bit 6 de reg) == 0)
pulsado=SI

else

pulsado=NO

ldr r0,=PDATG


bucleDet: ldr r1,[r0]

and r1,r1,#0x0040 @ me quedo con el bit 6
cmp r1,#0
bneq bucleDet

@ si no, hubo pulsación

@boton 1 pulsado

ec

ec

ldr r0,=PDATG


bucleDet: ldr r1,[r0]

and r1,r1,#0x0040 @ me quedo con el bit 6
cmp r1,#0
bneq bucleDet

@ si no hubo pulsación

@boton 1 pulsado

Ejercicio: ¿cuántas veces se ejecuta el bucle suponiendo que soy capaz de pulsar el 
botón 1 vez por segundo, que el procesador tiene una frecuencia de reloj de 40MHz y 
cada instrucción tarda 3 ciclos en ejecutarse?

40 x 1000000 ciclos/s  / 12 ciclos/iteración = 3 millones de iteraciones/s 

ec

Orden de
lectura al
módulo de

CPU  E/S

Leer el estado
del módulo

E/S  CPU

no

no

¿límite de tiempo?

E/S  CPU

CPU  Memoria

Fijar un límite de tiempo 
en el bucle de espera 



Otras

operaciones

de E/S

¿estado indica
preparado?

si

Leer el dato
del módulo

de E/S

Escribir el
dato en
memoria

¿final?

si

no

e
  • Links de descarga
http://lwp-l.com/pdf16234

Comentarios de: Tema 2.1. Sistema de E/S - Módulo 2. Entrada/Salida (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad