Está en la página 1de 12

Universidad Tecnológica Nacional

Facultad Regional Tucumán

Arquitectura de Computadoras

Trabajo Práctico N°: 10


Tema de la Monografía:
“Entrada y Salida”

1
Contenidos:

Modulo E/S...............................................................................................3

Funciones del Módulo E/S.......................................................................3

Órdenes del Módulo E/S..........................................................................4

E/S Programada.......................................................................................5

E/S por Interrupciones.............................................................................6

Acceso Directo de Memoria.....................................................................7

Discos Magnéticos...................................................................................8

SSD..........................................................................................................9

RAID.......................................................................................................11

2
1. Modulo E/S

Un Módulo de E/S no es únicamente un conector mecánico que permite enchufar el


dispositivo al bus del sistema, sino que además está dotado de cierta “inteligencia”,
es decir, contiene la lógica necesaria para permitir la comunicación entre el periférico
y el bus.

¿Por qué los periféricos no se conectan directo al bus del sistema?

• Hay una amplia variedad de periféricos con formas de funcionamiento


diferentes. Podría ser imposible incorporar la lógica necesaria dentro del procesador
para controlar tal diversidad de dispositivos.

• A menudo la velocidad de transferencia de datos de los periféricos es


mucho menor que la de la memoria o el procesador. Así, no es practico usar el bus
del sistema de alta velocidad para comunicarse directamente con un periférico.

• Con frecuencia, los periféricos utilizan datos con formatos y tamaños


de palabra diferentes de los del computador a los que se conectan.

En consecuencia, se necesita un módulo de E/S. Este módulo tiene dos funciones


principales:

Realizar la interfaz entre el procesador y la memoria a través del bus del


sistema o un conmutador central.

Realizar la interfaz entre uno o más dispositivos periféricos mediante enlaces


de datos específicos.

2. Funciones del Módulo E/S

Las principales funciones y requisitos de un módulo de E/S se encuentran dentro de


las siguientes categorías:

• Control y temporización.

• Comunicación con el procesador.

• Comunicación con los dispositivos.

• Almacenamiento temporal de datos.

• Detección de errores.

En cualquier momento, el procesador puede comunicarse con uno o más


dispositivos externos en cualquier orden, según las necesidades de E/S del
programa. Los recursos internos, tales como la memoria principal y el bus del
sistema, deben compartirse entre distintas actividades incluyendo la E/S de datos.
Así, la función de E/S incluye ciertos requisitos de Control y Temporización, para
coordinar el tráfico entre los recursos internos y los dispositivos externos.

3
El módulo de E/S debe tener la capacidad de entablar comunicación con el
procesador y con el dispositivo externo. La comunicación con el procesador implica:

• Decodificación de Ordenes: el módulo de E/S acepta órdenes del


procesador. Estas órdenes generalmente se envían utilizando líneas del bus de
control.

• Datos: el procesador y el módulo de E/S intercambian datos a través


del bus de datos.

• Información de Estado: puesto que los periféricos son lentos, es


importante conocer el estado del módulo de E/S. por ejemplo, si se solicita a un
módulo de E/S que envíe datos al procesador (lectura), puede que no esté
preparado por encontrarse todavía respondiendo a una orden de E/S previa. Esta
situación puede indicarse con una señal de estado. Señales de estado usuales son
“BUSY” (ocupado) y “READY” (preparado). También puede haber señales para
informar de ciertas situaciones de error.

• Reconocimiento de Dirección: igual que cada palabra de memoria tiene


una dirección, cada dispositivo de E/S tiene otra. Así, un módulo de E/S puede
reconocer una única dirección para cada uno de los periféricos que controla.

Por otra parte, el módulo de E/S debe ser capaz de comunicarse con el dispositivo.
Esta comunicación implica intercambiar ordenes, información del estado, y datos.

Una tarea esencial para el módulo de E/S es el almacenamiento temporal de datos


(data buffering). Los datos provenientes de la memoria se envían al módulo de E/S
en ráfagas rápidas. Los datos se almacenan temporalmente en el módulo de E/S y
después se envían al periférico a la velocidad de este. En el sentido contrario, los
datos se almacenan para no mantener a la memoria ocupada en una operación de
transferencia lenta. Así, el módulo de E/S debe ser capaz de operar a las
velocidades tanto del dispositivo como de la memoria. Igualmente, si el dispositivo
de E/S trabaja a una velocidad mayor que la memoria, el módulo de E/S se encarga
del almacenamiento temporal necesario.

Por último, un módulo de E/S a menudo es responsable de la detección de errores y


de informar de estos errores al procesador. Una clase de errores son los defectos
mecánicos y eléctricos en el funcionamiento del dispositivo. Otra clase es constituida
por los cambios accidentales en los bits al transmitirse desde el dispositivo al módulo
de E/S.

3. Ordenes de un Módulo E/S

Hay cuatro tipos de ordenes de E/S que puede recibir un módulo de E/S cuando es
direccionado por el procesador:

• Control: se utiliza para activar el periférico e indicarle que hacer. Estas


órdenes son específicas del tipo particular de periférico.
4
• Test: se utiliza para comprobar diversas condiciones de estado
asociadas con el módulo de E/S y sus periféricos. El procesador podrá comprobar si
el periférico en cuestión está conectado y disponible para su uso. También podrá
saber si la operación de E/S más reciente ha terminado y se ha producido algún
error.

• Lectura: hace que el módulo de E/S capte un dato de un periférico y lo


sitúe en un buffer interno. Después, el procesador puede obtener el dato solicitando
que el módulo es E/S lo ponga en el bus de datos.

• Escritura: hace que el módulo de E/S capte un dato (byte o palabra) del
bus de datos y posteriormente lo transmita al periférico.

4. E/S Programada

Cuando el procesador está ejecutando un programa y encuentra una instrucción


relacionada con una E/S, ejecuta dicha instrucción mandando una orden al módulo
de E/S apropiado. Con E/S programada, el módulo de E/S realizara la acción
solicitada y después activara los bits apropiados en el registro de estado de E/S. el
módulo de E/S no realiza ninguna otra acción para avisar al procesador. En
concreto, no interrumpe al procesador. De esta forma, el procesador es responsable
de comprobar periódicamente el estado del módulo de E/S hasta que encuentra que
la operación ha terminado.

La CPU verifica primero el estado del dispositivo por medio de la lectura de un


registro especial al que puede acceder en el espacio de memoria o por medio de
una instrucción especial de entrada-salida si esta fuera la solución adoptada por la
arquitectura del procesador para la implementación del manejo de entrada-salida. Si
el dispositivo no estuviese listo para ser leído o escrito, el proceso queda en un lazo
cerrado verificando el estado en forma continua hasta tanto el dispositivo esté listo,
en un proceso de espera por dispositivo ocupado.

5
5. E/S por Interrupciones

El problema con el E/S programada es que el procesador tiene que esperar un


tiempo considerable a que el módulo de E/S en cuestión esté preparado para recibir
o transmitir los datos. El procesador, mientras espera, debe comprobar
repetidamente el estado del módulo de E/S. como consecuencia, se degrada el nivel
de prestaciones de todo el sistema.

E/S mediante interrupciones consiste en que el procesador, tras enviar una orden de
E/S a un módulo, continúe realizando algún trabajo útil. Después, el módulo de E/S
interrumpirá al procesador para solicitar su servicio cuando esté preparado para
intercambiar datos con él. El procesador ejecuta entonces la transferencia de datos,
como antes, y después continúa con el procesamiento previo.

Desde el punto de vista del procesador, las acciones para una entrada son las que
siguen. El procesador envía una orden READ de lectura. Entonces pasa a realizar
otro trabajo, es decir, el procesador puede estar ejecutando programas distintos al
mismo tiempo. Al final de cada ciclo de instrucción, el procesador comprueba las
interrupciones. Cuando se pide la interrupción desde el módulo de E/S, el
procesador guarda el contexto, es decir, el contador de programa y los registros del
procesador del programa en curso y procesa la interrupción. En este caso, el
procesador lee la palabra de datos del módulo de E/S y la almacena en memoria.
Después recupera el contexto del programa que estaba ejecutando o de otro
programa y continua su ejecución.

6
6. Acceso Directo de Memoria

Un dispositivo con acceso directo a memoria (DMA) puede transferir datos


directamente hacia y desde memoria en lugar de requerir el uso de la CPU como
elemento intermediario, con lo que permite liberar parte de la congestión sobre el
bus de sistema. La atención de los pedidos de acceso directo a memoria suele ser
administrada por un controlador DMA, el que por su propia naturaleza es un
procesador dedicado cuya especialidad es la de transferir datos directamente entre
los dispositivos de entrada-salida y la memoria. La mayor parte de los controladores
de DMA pueden programarse también para mover bloques de datos entre memoria y
memoria. Por consiguiente, el dispositivo con acceso directo a memoria toma a su
cargo la tarea de la CPU durante la transferencia.

7
7. Discos magnéticos

Los discos magnéticos son sistemas de almacenamiento de información que en la


actualidad tienen una gran importancia, ya que constituyen el principal soporte
utilizado como memoria masiva auxiliar. A pesar de que son más costosos que las
cintas magnéticas, son sistemas de acceso directo, y con ellos se consiguen tiempos
medios de acceso menores que con las cintas magnéticas.

Un disco magnético está constituido por una superficie metálica o plástica recubierta
por una capa de una sustancia magnética. Los datos se almacenan mediante
pequeños cambios en la imanación, en uno u otro sentido. El plato o disco puede ser
de plástico flexible o puede ser rígido. En el primer caso tenemos disquetes o discos
flexibles (en inglés floppy disk o disquetes) y en el segundo caso discos rígidos o
duros.

8. Organización de los discos magnéticos

• Las cabezas: Permiten la escritura y lectura de la información por


medio de la magnetización del material que pasa por medio de la verificación del
campo magnético en el caso de escritura, o por medio de la verificación del campo
magnético en el caso de la lectura. En cada momento se permite el funcionamiento
de una sola cabeza se para lectura o escritura, por lo que la información se
almacena en serie aun cuando las cabezas podrían usarse en principio para la
lectura o escritura de varios bits en paralelo.

8
• Los platos: Se encuentran separados por milímetros uno de otro y
conectados por un eje, cada uno de ellos tiene dos superficies de aluminio o vidrio,
cubiertas por pequeñas partículas de material magnético, como óxido de hierro, las
que provocan el color marrón de los distintos tipos de medios magnéticos.

• El eje: Es la parte del disco duro que actúa como soporte, sobre el cual
están montados y giran los platos del disco a varios miles de RPM.

• Impulsor de cabeza: Es el mecanismo que mueve las cabezas de


lectura/ escritura radialmente a través de la superficie de los platos de la unidad de
disco.

• Carcasa: Caja metálica y hermética que protege el disco del exterior.

• Placa o Circuito de control: Controla el disco en función de las órdenes


recibidas

9. Lectura y escritura en los Discos Magnéticos

La lectura y escritura en la superficie del disco se hace mediante una cabeza. Esta
suele ser de tipo cerámico, aunque inicialmente eran metálicas. La cabeza, en las
unidades de cabezas móviles, está insertada en un extremo de un brazo mecánico
móvil, que se desplaza hacia el centro o hacia la parte externa del disco bajo el
control de los circuitos electrónicos del periférico.

El brazo sitúa rápidamente la cabeza encima de la pista correspondiente y espera a


que el sector en cuestión se posicione bajo la cabeza.

10. Discos de Estado Solido

Los discos de estado solidos están compuestos por chips de memoria flash NAND,
basadas en el uso de transistores MOSFET. Estos a diferencia de los discos
magnéticos, no poseen partes móviles, en su lugar incluyen un procesador integrado
para realizar sus operaciones de lectura y escritura. Esto reduce considerablemente
los tiempos de búsqueda, latencia y otros.

11. Funcionamiento de los SSDs

Las SSD o “Unidades de Estado Sólido” tienen el mismo propósito que un disco
duro: almacenar datos y archivos para uso a largo plazo. La diferencia es que las
SSD modernas (desde 2010) usan un tipo de memoria flash (asimilables a las
utilizadas en la RAM) pero a diferencia de ellas están basada en puertas NAND que
no borran los datos cada vez que se apaga la computadora.

9
Los datos en una SSD persisten incluso cuando no tiene energía. Al ser memorias
no volátiles, no requieren ningún tipo de alimentación constante ni pilas para no
perder los datos almacenados, incluso en apagones repentinos.

Si desarmas un disco duro típico, verá una pila de placas magnéticas, platos
giratorios con una aguja de lectura como la de un tocadiscos de vinilo. Antes de que
la aguja pueda leer o escribir datos, las placas deben girar alrededor de la ubicación
correcta.

La estructura de una SSD cambia por completo. No tienen partes mecánicas ni


móviles, usando un sistema de celdas eléctricas para enviar y recibir datos
rápidamente. Estas cuadrículas están separadas en secciones llamadas “páginas” y
estas páginas son donde se almacenan los datos. Las páginas se agrupan para
formar “bloques”.

11. SSD SLC

La información de cualquier sistema informático se puede representar en unos y


ceros. Cada uno de ellos, se almacena utilizando unas unidades que se denominan
celdas.

Cada una de estas celdas por tanto almacenan 1 bit de información, que puede estar
en estado 1 o 0. Cada byte son 8 bits, y son necesarios 10 elevado a 9 para tener un
gigabyte en un disco duro. Es decir, la memoria de un disco duro SSD estará
formado por gran cantidad de celdas.

La tecnología SLC es la primera que se ha utilizado en el desarrollo de discos duros


SSD. En principio está pensada para dar altas prestaciones. Tienen bajo consumo y
las escrituras son las más rápidas.

12. SSD MLC

Se opta por guardar 2 bits por celda. Esto quiere decir que podemos almacenar la
misma información usando la mitad de área lo cual lleva a una reducción de precio.

Pero con 2 bits tenemos 4 estados posibles ya no es sólo 0 o 1. Tenemos 00, 01, 10,
11. Esto lleva a que las lecturas son más lentas porque tenemos que distinguir más
estados. Cuando realizamos una escritura la caída de rendimiento es incluso mayor.

Se empeora la durabilidad. Debido a que tienen que distinguir más estados


empiezan a fallar antes. Esto además es peor debido a que cada vez se utilizan
transistores más pequeños.

13. SSD TLC

En este caso tenemos tres bits por celdas. Pasamos de 2 estados en SLC, 0 y 1, a 8
estados, 000, 001, 010, 011, 100, 101, 110, 111.

10
Las lecturas y escrituras son aún más lentas que lo que ocurría con SLC. Sin
embargo, los fabricantes consiguen reducir los precios que era lo que andaban
buscando. La unidad de control se complica. Se añaden más niveles para
comprobar la memoria, que lleva a caídas de rendimiento.

En este caso y en cuanto a la durabilidad según la tecnología usada tenemos que


empiezan a dar problemas.

Estos están pensados para aquellos usuarios que quieren unas altas prestaciones
con costes bajos.

14. RAID

Los sistemas RAID o Redundant Array of Independent Disks están conformados por
un conjunto de discos de almacenamiento que trabajan en conjunto al momento de
realizar operaciones de lectura o escritura. Este funcionamiento busca maximizar la
efectividad de los discos basándose en el uso de múltiples de ellos con el objetivo de
vencer las limitaciones que surgen del uso de un único disco.

Existen diversos niveles de sistemas RAID, los cuales están normalizados en su


implementación. Algunos de estas configuraciones se encuentran obsoletas y su uso
es poco frecuente en la práctica, siendo los más utilizados hoy en día los niveles 0, 1
y 5.

Los sistemas RAID 0 hacen uso de una técnica denominada “stripping”, la cual
consiste en dividir la información original a lo largo de cada uno de los discos. Esto
presenta mejoras en las velocidades de escritura y lectura en cada disco, pero en el
caso de que uno de ellos dejase de funcionar, seria imposible recuperar la
información original.

RAID 1 hace uso de “mirroring”, que consiste en almacenar la información original en


cada uno de los discos. Esto permite obtener copias de seguridad en el caso de que
alguno de los discos dejase de funcionar, con la desventaja de menores velocidades
de escritura y lectura, y un menor aprovechamiento del espacio de almacenamiento.

Un sistema RAID 2 divide la información a nivel de bit a lo largo de los discos, y hace
uso de un ultimo disco para almacenar el denominado “código Hamming” o código
de corrección de errores, usado para la corrección de la información que pueda
haber sido alterada al momento de realizarse una operación de escritura.

Los sistemas RAID 3 y RAID 4 dividen su información a nivel de byte y de bloque


respectivamente, e introducen el concepto de paridad. Un ultimo disco es usado
para almacenar la información de paridad, la cual es utilizada para reconstruir la
información en el caso de que uno de los discos deje de funcionar.

RAID 5 mejora el principio de funcionamiento de los niveles 3 y 4 mediante la


distribución de la información de paridad en cada uno de los discos. Esto garantiza
que en el caso de que un disco deje de funcionar correctamente, siempre se
11
dispondrá de información necesaria para reconstruir los contenidos originales. Los
sistemas RAID 6 amplían aun mas esta práctica mediante el almacenamiento de
información de paridad extra, preparándose así en caso de que se produzca un fallo
en dos discos en lugar de uno solo.

12

También podría gustarte