You are on page 1of 30

Maquina elemental

Conceptos preliminares
Registro: Memoria muy rpida que almacena una cierta cantidad d bits
Compuerta: circuitos electrnicos bi-estables unidireccionales (solo permiten dos estados abierto/cerrado)/
Son la base del hardware para las computadores. Para intercambiar informacin entre dos registros de la
misma deben viajar por el bus, y esto se lo logra a travs de las compuertas. Cuando las mismas se abren la
informacin est disponible en el bus, cuando se cierra desaparece. No pueden existir dos compuertas
abiertas al mismo tiempo.
Arquitectura de Von Neumann
Es del ao 1845. Promueve la mecanizacin del tratamiento digital de la informacin. Tiene dos conceptos
fundamentales:
Principio del programa almacenado: El computador debe tener el programa almacenado en su propia
memoria. El uso de la memoria es para el almacenamiento de datos y la instruccin del programa.
Principio de ruptura de secuencia: Las operacin de decisin lgica deben ser automticas, dotando a la
mquina de una instruccin llamada Salto condicional.
La computadora con arquitectura de Von Neumann tiene cinco partes:
Memoria: Est dividida en celdas cuyo
contenido es variable y son identificadas
con un nmero fijo llamado direccin
de memoria. La capacidad total de la
memoria est dada por la cantidad de
celdas disponibles. Las celdas tienen
datos e instrucciones.
UAL: Unidad encargada de realizar
operaciones elementales de tipo
aritmtico y lgicas.
Dispositivo de E/S: Gestiona la
transferencia de informacin entre los
perifricos y la memoria central.
Bus de datos: Sistema digital que
transporta datos entre las distintas
partes (no la almacena, solo la
transmite).
- Bus de datos: Mueve
informacin por los componentes de hardware.
- Bus de direcciones: Ubica los datos en la memoria.
- Bus de control: Marca el estado de una instruccin.

Abacus
Unidad aritmetica-logica (UAL): Opera con los datos recibidos, segn las ordenes de la unidad de control.
Unidad de control (UC): extrae de la memoria la instruccin a ejecutar, analiza dicha instruccin y llama la UAL.
Extrae de la memoria, los datos implicados por la instruccin, desencadena el tratamiento de dichos datos en
la UAL y almacena el resultado en la memoria.
Unidad central de proceso: UC + UAL
Memoria: conjunto de celdas capaces de almacenar informacin (datos o instrucciones). Las celdas tienen una
direccin, para poder acceder a su contenido.
Secuenciador de instrucciones (SI): analiza el cdigo de operacin, distribuye las rdenes al conjunto de
unidades del ordenador (UC, UAL, etc.) para hacerles ejecutar las distintas fases de la instruccin.
Pgina | 1

Es una mquina de una sola direccin.


El acumulador es un registro particular que alberga el primer operando y el resultado de las
operaciones. Todas las operaciones se realizan contra el acumulador. El acumulador realiza las
operaciones aritmticas, lgicas y de comparacin.
- El ciclo de memoria equivale a dos impulsos de reloj.
- La UC contiene tres registros:
-RPI: Contiene la direccin de la prxima instruccin a ejecutar.
-RI: Contiene la instruccin extrada de la memoria.
-SI: Administra la apertura y cierre de compuertas.
- La memoria tiene dos registros:
-RDM: Contiene la direccin de la celda de memoria.
-RM: Contiene el dato de la celda de memoria.
- Tamao RPI = Tamao RDM = Tamao OP = cantidad de celdas direccionables.
- Tamao AC = Tamao RI= Tamao RM = Longitud de instruccin = Longitud de celda.
- Maneja una aritmtica de Binario Punto Fijo consigo de 16 bits.
Fases de una instruccin
Fase de bsqueda: Consiste en localizar la instruccin que se va a ejecutar, y analizarla. Siempre igual
RDM < (RPI)
RM
<
((RDM))
RI < RM
RPI
<
(EPI)+1
Fase de ejecucin: Implica el movimiento de datos. Los pasos se realizan en forma secuencial, la UCP sigue
las sedadas por el reloj del sistema. Este paso es distinto para cada operacin.
Suma
Carga
Almacenamiento
SALTO
RDM < (OP)
RDM < (OP)
RDM < (OP)
RPI <
(OP)
RM < ((RDM))
RM < ((RDM)) RM < AC
AC < AC +
AC < (RPI)+1 (RDM) < (RM)
(RM)
-

Pgina | 2

Superabacus

Es una mquina de tercera generacin ya que posee un conjunto de registros banalizados, es decir
utilizables tanto como registros aritmticos como registros de ndice.
Es una mquina de dos direcciones(Primer y segundo operando).
Posee un conjunto de registros generales, utilizables para aritmtica o direccionamiento (como
registros ndice).
El ciclo de memoria equivale a cuatro impulsos de reloj.
No tiene RPI, se le asigna esa funcin al registro 0.
La UAL se utiliza para calcular direcciones y operar
con los datos.
El ciclo de memoria equivale a cuatro impulsos de
reloj, lo que autoriza entre otras cosas a efectuar una
modificacin de direccin (sumar el contenido de un
registro con la direccin indicada en la instruccin) sin
retrasar por ello el inicio del ciclo de procesamiento.
El RI alberga instrucciones de dos operandos.

El R1 y el R2 representas dos registros diferentes. El segundo


operando puede contener la direccin de una celda de
memoria, se obtiene sumando el OffSet (desplazamiento) al
contenido del registro indicado.
A (celda) = (R2) +D.

Pgina | 3

Multi-programacin
Mantenimiento concurrente de dos o ms tareas en ejecucin (en memoria). Elimina o reduce el tiempo ocioso
de la CPU.
1) Sin interrupcin: un programa posee el control hasta que se termina, o mientras espera una operacin de
E/S.
2) Con interrupcin: cuando finaliza una operacin de E/S, busca al programa de mayor prioridad (sin E/S
pendientes) y le cede el control.
3) Tiempo compartido: asigna igual cantidad de tiempo de procesador a cada tarea (o a cada usuario).
Problemas asociados a la multiprogramacin:
- Problemas de asignacin de memoria (se resuelven utilizando memoria virtual)
- Proteccin de los programas y los datos en memoria.
- Preservacin del estado de la mquina, en los cambios de programa.
Multi-procesamiento: se procesan varias instrucciones simultneamente, utilizando ms de un procesador.
(Procesamiento paralelo)

Direccionamiento
Direccionamiento: "funcin" que recibe un campo operando de una instruccin y devuelve la direccin real
del dato en memoria.
- Directo y absoluto: en el campo operando se especifica la direccin real del dato. Los programas no
pueden ser trasladados a otra parte de la memoria, sin cambiar todos los operandos. Los operandos
deben ser grandes, para poder acceder a toda la memoria. Abacus, IBM, intel.
- Inmediato: en el campo operando se especifica el dato. Abacus, IBM, intel.
- Indirecto: el campo operando contiene la direccin en memoria de una celda X. Esa celda X contiene
la direccin Y real del dato en memoria. IBM, intel
- Relativo: la direccin del dato se obtiene sumando una constante al contenido del campo operando.
IBM, intel
o Por base y desplazamiento: se especifica un registro base (que contiene una direccin) y un
desplazamiento desde esa direccin (la constante). IBM
o Por base, ndice y desplazamiento: se especifica un registro base, un registro ndice y el
desplazamiento. IBM
o Por referencia al programa: la direccin del dato se obtiene sumando el contenido del RPI a
un desplazamiento indicado.
o Por yuxtaposicin (direccionamiento paginado): la memoria se encuentra dividida en pginas
(bloques de longitud. Para obtener las direcciones necesitamos:
Indicador de pgina (IP): en un registro especfico o de propsito general de la
mquina.
Direccin de la palabra dentro de la pgina (DP): en el campo de la instruccin.
As, concatenando ambas partes obtenemos la direccin completa.

Pgina | 4

Componentes de un computador Memoria


Mientras ms alto vamos en la
pirmide la velocidad de acceso
aumenta, con ella el costo.
En cambio mientras descendemos lo
que aumenta es la capacidad de
almacenamiento.

Caractersticas:
Ubicacin, donde esta fsica mente la memoria (Interna/Externa).
Capacidad, se mide en:
- Bytes
- Palabras(Especialmente la RAM)
Unidad de transferencia, Palabras (especialmente la RAM) y bloques (para memoria externa).
Mtodo de acceso:
- Secuencial (cintas):
Unidades de datos: registros.
Acceso lineal en secuencia.
Se debe pasar por todos los registros intermedios antes de acceder al registro deseado.
Tiempo de acceso variable.
- Directo (discos magnticos):
Direccin nica para bloques o registros basada en su posicin fsica.
Tiempo de acceso variable.
- Aleatorio(memoria principal, algunas memorias cach):
Cada posicin direccionable de memoria tiene un mecanismo de direccionamiento cableado
fsicamente.
Tiempo de acceso constante, independiente de la secuencia de accesos anteriores.
- Asociativo (memoria cach):
Tipo de acceso aleatorio por comparacin de patrn de bits.
La palabra se busca por una porcin de su contenido en vez de por su direccin.
Cada posicin de memora tiene un mecanismo de direccionamiento propio.
Tiempo de acceso constante, independiente de las secuencias de accesos anteriores o su
ubicacin.
Performance:
- Tiempo de acceso:
Acceso aleatorio: Tiempo necesario para hacer una operacin de lectura o escritura.
Sin acceso aleatorio: Tiempo necesario para posicionar el mecanismo de lectura/escritura en
la posicin deseada.
- Tiempo de ciclo

Pgina | 5

Acceso aleatorio: Tiempo de acceso ms el tiempo adicional necesario para que una nueva
operacin pueda comenzar.
- Tasa de transferencia.
Tasa con la cual los datos son transferidos dentro o fuera de la unidad de memoria.
Acceso aleatorio: 1/tiempo de ciclo de memoria.
Sin acceso aleatorio: Tn = Ta +n/R
R: Tasa de transferencia (bits/segundos), Ta: Tiempo de acceso promedio.
Tn: Tiempo promedio para leer/escribir n bits, N: nmero de bits.
Tipo fsico, semi-conductores (RAM, cach), pticos, magnticos.
Caractersticas fsicas:
- Voltiles (RAM, cach)/No voltiles (Discos, cintas, etc).
- Borrables (casi todo)/No borrables (ROM).
Organizacin, como estn confeccionados los mdulos de la memoria RAM

Memoria cach
El objetivo de la memoria cach es
lograr que la velocidad de la
memoria sea lo ms rpida posible,
consiguiendo al mismo tiempo un
tamao grande al precio de
memorias semiconductoras menos
costosas. Hay memoria principal
relativamente grande y ms lenta,
junto con una memoria cach ms
pequea y rpida. La cach contiene
una copia de partes de memoria
principal. Cuando el procesador intenta leer una palabra de memoria, se hace una comprobacin para
determinar si la palabra est en el cach. Si es as, se entrega dicha palabra al procesador. Si no, un bloque de
memoria principal, consiste en un cierto nmero de palabras, se transfiere a la cach y despus la palabra es
entregada al procesador. Debido al fenmeno de localidad de las referencias, cunado un bloque de datos es
capturado por el cach para satisfacer una referencia a memoria simple, es probable que se hagan referencias
futuras a la misma posicin de memoria o a otras palabras del mismo bloque.

Pgina | 6

El procesador genera una


direccin, RA, de una
palabra a leer. Si la palabra
est en el cach, es
entregada al procesador.
Sino, el bloque que contiene
dicha palabra se carga en la
cache, y la palabra despus
es llevada al procesador.

Numero de cach
Cuando se introdujeron
originalmente las cachs, un
sistema tenia normalmente
solo una cach. Ms
recientemente, se ha
convertido en una norma de
uso de mltiples caches.
Hay dos aspectos de diseo
relacionados con este tema
que son el nmero de
niveles de cach y el uso de
cache unificada frente al de cach separadas.

Cachs multinivel
Con el aumento de densidad de integracin, ha sido posible tener una cach en el mismo chip del
procesador: cach on-chip. Comparada con la accesible a tras de un bus externo, la cach on-chip reduce la
actividad del bus externo del procesador y por tanto reduce los tiempos de ejecucin e incremente las
prestaciones globales del sistema. Cuando la instruccin o el dato requeridos se encuentran en la cach onchip, se elimina el acceso al bus.
La inclusin d una cach on-chip deja abierta la cuestin de si es adems deseable una cach externa y offchip. Normalmente la respuesta es afirmativa, y los diseos ms actuales incluyen tanto cach on-chip como
externa. La estructura ms sencilla de este tipo se denomina cache de dos niveles, siendo la cach interna el
nivel a (L1) y externa el nivel 2 (L2). La razn por la que se incluye una cach L2 es la siguiente. Si no hay
cache L2 y el procesador hace una peticin de acceso a una posicin de memoria que no est en la cach L1,
encantes el procesador debe acceder a la DRAM o a la ROM a travs del bus. Debido a la lentitud usual del
bus y a los tiempos de acceso de las memorias, se obtienen bajas prestaciones. Por otra parte, si se utiliza una
cach L2 SRAM (RAM esttica), entonces con frecuencia la informacin que falta puede recuperarse
fcilmente. Si la SRAM es suficientemente rpida para adecuarse a la velocidad del bus, los datos pueden
accederse con cero estados de espera, el tipo ms rpido de transferencia de bus.
En la actualidad son destacables dos caractersticas de diseo de las cachs multinivel. En primer lugar, para
el caso de una cach L2 externa, muchos diseos no usan el bus del sistema como camino para la
transferencia entre la cach L2 y el procesador, sino que se emplea un camino de datos aparte para reducir el
trfico en el bus del sistema. En segundo lugar, gracias a la continua reduccin de dimensiones de los
componentes de los procesadores, es fcil encontrar procesadores que incorporan la cach L2 en el propio
chip, con la consiguiente mejora de prestaciones.
La mejora potencial del uso de una cach L2 depende de las tasa de aciertos en ambas caches, L1 y L2.
Varios estudios han demostrado que, en general, el uso de un segundo nivel de cach mejora las prestaciones.
Pgina | 7

No obstante, el uso de cachs multinivel complica todos los aspectos de diseo de la cach, incluyendo el
tamao, el algoritmo de sustitucin y la poltica de escritura.
Con la creciente disponibilidad de superficie para cach en el propio chip, en la mayora de los
microprocesadores modernos se ha llevado la cach L2 al chip de procesador, y se aade una cach L3.
Inicialmente, la cache L3 era accesible a travs del bus externo, pero ms recientemente los
microprocesadores han incorporado una L3 on-chip. En cualquiera de los casos, aadir un tercer nivel de
cach parece suponer mejoras de las prestaciones.

Administracin de memoria
Asignacin contigua simple
A cada tarea se le asigna la totalidad de la memoria, aunque en realidad ella requiera solo una mnima parte de
ese total. La tarea tiene control absoluto de la CPU, hasta su finalizacin o hasta que ocurra un error.
En la memoria est el sistema operativo y el programa del usuario. El resto, es espacio desperdiciado.
Desventajas:
- Desaprovechamiento de recursos, particularmente en los sistemas en los que el operador debe realizar
tareas manuales (carga de cintas o lotes de tarjetas).
- La CPU permanece ociosa mientras los canales de E/S cumplen sus funciones.
Ventajas:
- Es simple, minimiza dificultades de programacin.
Asignacin particionada
Se hace una particin de modo tal, que cada tarea se aloja en una seccin de la memoria. Las particiones pueden
tener el mismo tamao o no. El tamao es fijo. El programador debe saber en qu particin correr el programa
y cul es el tamao de la misma.
La CPU se reparte entre las tareas a modo de fragmentos de tiempo, y en cada uno el sistema operativo hace
que el procesador ejecute uno de los programas, segn cierta prioridad, en el espacio de memoria que se ha
asignado a este (su particin), hasta que se de alguna de las siguientes condiciones:
1) Terminacin del trabajo
2) Deteccin de un error
3) Requerimiento de una operacin de E/S
4) Terminacin de los fragmentos de tiempo
En cualquiera de estos casos, el procesador pasa a ocuparse de la tarea de mayor prioridad entre las restantes.
Especficamente, en los dos primeros casos, la tarea es eliminada de la memoria, mientras que en los otros dos
restantes, la suspensin es temporaria y puede ser reanudada en el momento que determine el sistema operativo.
Es posible quitar las particiones en un momento determinado, sacando los programas que estn en ejecucin.
Las E/S determinan que proceso se ejecuta. Se ejecuta segn la prioridad y si el programa est listo para
ejecutarse.
Este sistema es ms costoso que el de asignacin contigua simple, porque se requiere:
- Mecanismos de proteccin especiales, para evitar que cualquier tarea interfiera accidentalmente con
otra.
- Se necesita ms memoria, porque el sistema operativo es ms complejo.
Desventajas:
- Cuando se termina la ejecucin de los programas chicos, no hay lugar para poner a los mas grandes,
porque las particiones son fijas. Se produce fragmentacin (este problema se resuelve mediante la
asignacin particionada reasignable y la paginacin)
Ventajas:
- Como se basa en la multiprogramacin, ofrece los beneficios de esta.

Pgina | 8

Asignacin particionada reasignable


Consiste en la reasignacin de las particiones, compactando las tareas que estn en memoria, eliminando la
fragmentacin. Requiere ciertos recursos de hardware.
Al reubicar los programas, hay que reubicar a los componentes dependientes de direcciones de memoria, tales
como: instrucciones con referencia a la memoria, listas de parmetros y estructuras de datos.
Para solucionar este problema, existe un registro llamado registro de reasignacin (o reubicacin), cuyo
contenido se suma automticamente a toda direccin utilizada para referirse a la memoria. Es un registro ndice
adicional oculto.
Desventajas:
- Al terminarse una tarea, el sistema debe reubicar todas las dems para compactarlas.
- A pesar de todo, hay todava desaprovechamiento de memoria.
- Cada vez que se accede a la memoria, hay que realizar el clculo de la direccin.
Ventaja:
- Esto hace al programa independiente de su ubicacin fsica en la memoria.
Asignacin particionada
Se divide el programa en pginas de 1000 bytes y a la memoria en bloques de 1000 bytes. Luego se cargan las
pginas del programa en los bloques y se utiliza un mapa de pginas (pueden ser registros fsicos o secciones
reservadas de la memoria), para indicar en que bloque de la memoria se encuentra cada pgina del programa.
Si las paginas son muy grandes, se vuelve al mtodo de particin reasignable, mientras que si las paginas son
muy chicas, se necesitaran muchos registros de mapas de pginas, lo que incrementa el costo del sistema.
En la prctica, en muchos sistemas se emplean este mtodo de asignacin (en 1972!!), el tamao de las paginas
es de alrededor 4000 bytes.
Desventajas:
- El costo asociado con cada transformacin de direccin.
- Hay desperdicios de espacio en la ltima pgina (ruptura de pgina). En promedio, por cada tarea se
desperdicia media pgina.
- Este mtodo requiere que todas las pginas del programa (todo el programa) estn en memoria antes
de poder ejecutarse.
- Requiere un equipamiento fsico cuantioso
Ventajas:
- Este sistema minimiza la fragmentacin y evita tener que reordenar (compactar) la memoria, ya que las
pginas de cada programa no necesitan estar en forma contigua.
Asignacin paginada por demanda (Memoria virtual/Swapping)
La memoria virtual puede en principio ser mayor que la memoria fsica disponible. Se utiliza una tabla de
pginas, que tiene varios campos: nmero de pgina, numero de bloque (la posicin en la memoria), estado (si
la pgina esta en memoria o no) y algunos elementos de juicio.
Un algoritmo de asignacin ubica inicialmente algunas pginas del programa en la memoria. Por cada
requerimiento de acceso a una pgina se consulta la tabla para saber en qu bloque esta. Si la pgina no est en
memoria (segn el campo estado), se demanda la carga de esa pgina en memoria. Cuando se detecta que
una pgina no est en memoria, se detiene el procesamiento y se genera automticamente una interrupcin; esta
interrupcin se conoce como interrupcin de pgina (page fault). Es entonces el sistema operativo el que ejecuta
la funcin de acceder al almacenamiento secundario para adquirir la pgina pedida y cargar la pgina,
reemplazando con ella alguna de las pginas ya cargadas. La decisin sobre cul ha de ser la pgina reemplazada
es cuestin que se resuelve con ayuda del campo de juicio. Lo ideal es reemplazar la pgina que se usa menos
frecuentemente. Hay varios algoritmos que permiten decidir que paginas han de conservarse en memoria y
cules no. Uno de ellos consiste en llevar la cuenta del nmero de accesos a cada pgina en el campo de juicio,
y reemplazar la pgina con menor nmero de accesos.
Pgina | 9

Desventajas:
- Si la CPU se ocupa de demasiados programas al mismo tiempo, como puede ocurrir cuando se usa
paginacin por demanda en un sistema con insuficiente memoria fsica (o algoritmos de juicio
deficientes), no es raro que se carguen paginas en la memoria, se las suplante enseguida y luego se las
vuelva a cargar y as sucesivamente, con grave deterioro de la produccin; en ese caso se dice que el
sistema est trillando (trashing) programas.
- Muchos accesos a disco (trade off) por cada page fault.
- Muchos accesos a mapa de pginas.
Ventajas:
- Permite ejecutar programas que no entran completamente en la memoria.

Funciones de un mdulo de entrada salida

Las principales funciones y requisitos de un mdulo de E/S se encuentran dentro de las siguientes categoras:
1. Control y temporizacin.
2. Comunicacin con el procesador.
3. Comunicacin con los dispositivos.
4. Almacenamiento temporal de datos.
5. Deteccin de errores
1. Control y temporizacin:
Coordina el trfico entre los recursos internos y los dispositivos externos.
2. Comunicacin con el procesador:
Decodificacin de rdenes:
El mdulo de E/S acepta rdenes del procesador. Estas rdenes generalmente se envan utilizando
lneas del bus de control
Datos:
El procesador y el mdulo de E/S intercambian datos a travs del bus de datos.
Informacin de Estado:
Puesto que los perifricos son lentos, es importante conocer el estado del mdulo de E/S. Tambin
puede haber seales para informar ciertas situaciones de error.
Conocimiento de Direccin:
Igual que cada palabra de memoria tiene una direccin, cada dispositivo de E/S tiene otra. As, un
mdulo de E/S puede reconocer una nica direccin para cada uno de los perifricos que controla.
2. Comunicacin con el dispositivo
Esta comunicacin implica intercambiar rdenes, informacin de estado y datos.
3. Almacenamiento temporal de datos
Esta es una tarea esencial para el mdulo de E/S. Mientras la velocidad de transferencia desde, y hacia, la
memoria principal o el procesador es bastante alta, dicha velocidad puede ser varios rdenes de magnitud
menor para la mayora de los dispositivos perifricos. Los datos provenientes de la memoria se envan al
mdulo de E/S en rfagas rpidas. Los datos se almacenan temporalmente en el mdulo de E/S y despus se
envan al perifrico a la velocidad de este.
4. Deteccin de errores
El mdulo de E/S es responsable de detectar errores e informar al procesador. Una clase de errores son los
defectos mecnicos y elctricos en funcionamiento del dispositivo. Otra clase est constituida por los cambios
accidentales en los bits al transmitirse desde el dispositivo al mdulo de E/S.

Pgina | 10

Estructura de un mdulo de E/S


Los datos que se transfieren a, y desde, el modulo se almacenan temporalmente en uno o ms registros de
datos. Adems, puede haber registros de estado dan informacin del estado presente. Este tambin puede
funcionar como un registro de control, para recibir informacin del procesador. La lgica que hay en el
mdulo interacta con el procesador a travs de una serie de lneas de control. Estas son las que utiliza el
procesador para proporcionar las ordenes al mdulo de E/S. Algunas de las lneas de control pueden ser
utilizadas por el mdulo de E/S. El modulo tambin debe ser capaz de reconocer y generar las direccin
asociadas a los dispositivos que controla. Cada mdulo de E/S tiene una direccin nica. Por ltimo, el
mdulo de E/S posee la lgica especfica para la interfaz de cada uno de los dispositivos que controla

El funcionamiento de un mdulo de E/S permite que el procesador vea una amplia gama de dispositivos de
una forma simplificada, el modulo debe ocultar los detalles de temporizacin y electromecnica de
dispositivos externos para que el procesador puede funcionar nicamente en termino de rdenes de lectura y
escritura.
El mdulo de E/S presenta al procesador una interfaz de alto nivel, que se denomina canal de E/S.

Tcnicas para el manejo de E/S


Son posibles tres tcnicas para operaciones de E/S. Con la E/S programada, los datos se intercambian entre
el procesador y el mdulo de E/S. El procesador ejecuta un programa que controla directamente las
operaciones de E/S, incluyendo la comprobacin del estado del dispositivo, el envi de una orden de lectura
o escritura y la trasferencia del dato. Cuando el procesador enva una orden al mdulo de E/S, debe esperar
hasta que la operacin de E/S concluya. Si el procesador es ms rpido que el mdulo de E/S se desperdicia
tiempo. Con la E/S mediante interrupciones, continan ejecutndose otras instrucciones y es interrumpido
por el mdulo de E/S cuando esta ha terminado su trabajo.
Tanto con E/S programada como con interrupciones, el procesador es responsable de extraer los datos de la
memoria principal en una salida y de almacenar los datos en la memoria principal de una entrada. La
alternativa se conoce como acceso directo a memoria (DMA). En este caso, el mdulo de E/S y la
memoria principal intercambian datos directamente, sin intervencin del procesador
Pgina | 11

E/S Programada:
Cuando el procesador est ejecutando un programa y
encuentra una instruccin relacionada con una E/S, ejecuta
dicha instruccin mandando una orden al mdulo de E/S
apropiado. El mdulo de E/S realizara la accin solicitada y
despus activara los bits apropiados en el registro de estado de
E/S. El mdulo de E/S no realiza ninguna otra accin para
avisar al procesador. En concreto, no interrumpe al
procesador. De esta forma, el procesador es responsable de
comprobar peridicamente el estado del mdulo de E/S hasta
que encuentra que la operacin ha terminado.
E/S mediante interrupciones:
El problema con la E/S
programada es que el
procesador tiene que esperar un
tiempo considerable a que el
mdulo de E/S est preparado
para recibir o trasmitir los datos.
El procesador, mientras espera,
debe comprobar repetidamente
el estado del mdulo de E/S.
Como consecuencia, se degrada
el nivel de prestaciones de todo
el sistema.
Una alternativa consiste en que el procesador, tras enviar una orden de E/S a
un mdulo, contine realizando algn trabajo til. Despus, el mdulo 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 despus contina con el procesamiento previo.
Problemas de los anteriores accesos de E/S:
La E/S con interrupciones, aunque ms eficiente que la sencilla E/S
programada, tambin requiere intervencin activa dl procesador para transferir
datos entre la memoria y el mdulo de E/S, y cualquier transferencia de datos
debe seguir un camino a travs del procesador. Por tanto, ambas formas de
E/S presentan dos inconvenientes:
-La velocidad de transferencia de E/S est limitada por la velocidad a
la cual el procesador puede comprobar y dar servicio a un dispositivo.
-El procesador debe dedicarse a la gestin de las transferencias de E/S; debe
ejecutar cierto nmero de interrupciones por cada transferencia de E/S

Pgina | 12

Acceso directo a memoria:


El DMA requiere un mdulo adicional en el bus del sistema. El modulo o controlador
de DMA es capaz de imitar al procesador y, de hecho, de recibir el control del sistema
cedido por el procesador. Necesita dicho control para transferir datos a, y desde,
memoria a travs del bus del sistema. Para hacerlo, el mdulo DMA debe utilizar solo
cuando el procesador no lo necesita, o debe forzar al procesador a que suspenda
temporalmente su funcionamiento. Esta ltima tcnica es la ms comn y se
denomina robo de ciclo, puesto que, en efecto, el mdulo DMA roba un ciclo de
bus. Cuando el procesador desea leer o escribir un bloque de datos, enva una orden
al mdulo DMA, incluyendo la siguiente informacin:
- Si se solicita una lectura o una escritura, utilizando la
lnea de control de lectura o escritura entre el
procesador y el mdulo de DMA.
- La direccin del dispositivo de E/S en cuestin.
- La posicin inicial de memoria a partir de donde se
lee o se escribe.
- El nmero de palabras a leer o escribir.
Despus, el procesador contina con otro trabajo. Ha
delegado la operacin de E/S al mdulo de DMA,
que se encargara de ella. El mdulo de DMA
transfiere el bloque completo de datos, palabra a
palabra, directamente desde o hacia la memoria, sin
que tenga que pasar a travs del procesador. Y de esta
manera el procesador solo interfiere al principio y al
final de la transferencia.
En cada caso, el procesador se detiene justo antes de
necesitar el bus. Despus, el mdulo DMA transfiere
una palabra y devuelve el control al procesador.
Obsrvese que no se trata de una interrupcin; el
procesador no guarda el contexto ni hace nada ms.
En cambio, el procesador espera durante un ciclo de
bus. El efecto resultante es que el procesador es ms lento efectuando los programas. No obstante, para una
transferencia de E/S de varias palabras, el DMA es mucho ms eficiente que la E/S mediante interrupciones
o la E/S programada.
El nmero de ciclos de bus necesarios puede
reducirse sustancialmente si se integran las funciones
de DMA y de E/S (B). Esto significa que existe un
camino entre el mdulo de DMA y uno o ms
mdulos de E/S que no incluye al bus de sistema.
La lgica de DMA puede ser parte de un mdulo de
E/S, o puede ser un mdulo separado que controla
a uno o ms mdulos de E/S. Este concepto se
puede llevar algo ms lejos conectando los mdulos
de E/S a un mdulo de DMA mediante un bus de
E/S (C). Esto reduce a uno el nmero de interfaces
de E/S en el mdulo de DMA y permite una
configuracin fcilmente ampliable. En todos estos
Pgina | 13

casos el bus de sistemas (B y C ), que el mdulo de DMA comparte con el procesador y la memoria, es usado
como mdulo de DMA solo para intercambiar datos con la memoria. El intercambio de datos entre los
mdulos DMA y E/S se produce fuera del bus del sistema.

Canales y procesadores de E/S


Canales:
El canal de E/S representa una ampliacin del concepto de DMA. Un canal de E/S puede ejecutar
instrucciones de E/S (propias), lo que le confiere un control completo sobre las operaciones de E/S. En un
computador de tales dispositivos, la CPU no ejecuta instrucciones de E/S. Dichas instrucciones se almacenan
en memoria principal para ser ejecutadas por un procesador de uso especfico contenido en el propio cana de
E/S. De esta forma, la CPU inicia una transferencia d E/S indicando al canal de E/S que debe ejecutar un
programa de la memoria.

Pgina | 14

Son comunes dos tipos de canales de


E/S. Un canal selector controla
varios dispositivos de velocidad
elevada y, en un instante dado, se
dedica a transferir datos a uno de
esos dispositivos. Es decir, el canal
de E/S selecciona un dispositivo y
efecta la transferencia de datos.
Cada dispositivo, o pequeo grupo
de dispositivos, es manejado por un
controlado, o mdulo de E/S.
Un canal multiplexor puede manejar E/S de
varios dispositivos al mismo tiempo. Para
dispositivos de velocidad reducida, un multiplexor
de byte acepta o transmite caracteres tan rpido
como es posible a varios dispositivos.

Interrupciones:
Es un mecanismo de hardware (lo realizan los
circuitos), asincrnico con la ejecucin del
programa, mediante el cual el computador deja de
ejecutar el programa en curso y pasa a ejecutar
otro programa llamado Rutina de Atencin a la
Interrupcin (RAI).
Cuando ocurre una interrupcin:
1. Se termina de ejecutar la instruccin en curso.
2. Se guarda (por hardware) la PSW (Program Status Word) en un lugar fijo de la memoria, llamado PSW
vieja. Se carga la PSW nueva sobre la PSW en curso. La PSW nueva, apunta a la RAI.
3. Se ejecuta la RAI.
4. La ultima instruccin de la RAI es LPSW (Load PSW) que restaura la PSW vieja y continua con la
ejecucin del programa interrumpido (el retorno es por software).
El estado actual de la CPU puede modificarse cargando una nueva PSW o modificando una parte de la PSW
en curso.
Clave de
Mscara de
Cdigo de
Mscara de Direccin de
Protecci Seales
ILC CC
sistema
interrupcin
programa
instruccin
n
0
78
11 12
15 16
31 32 33 34 35 36
39 40
63

Pgina | 15

Algunos de los bits de la PSW se prestan para enmascarar


ciertas interrupciones. Una vez enmascaradas, las
interrupciones de E/S, externas o de mquina deben ser
inhibidas temporariamente y quedar pendientes. Dicho
enmascaramiento afecta solo a 4 de las 15 interrupciones del
programa. Algunas de las instrucciones de conmutacin de
estado son: LPSW (Load PSW), SPM (Set Program Mask),
SSM (Set System Mask), SVC (Supervisor Call), SSK (Set
Storage Key) e ISK (Insert Storage Key).
Si mientras se est ejecutando una interrupcin aparece otra,
puede llamarse a una rutina de cola de interrupciones. Si
mientras se est ejecutando una cola de interrupciones
ocurre una interrupcin ms, se volver a llamar a la rutina
de cola, lo que puede ocasionar la perdida de una
interrupcin. Para evitar esto, se debe enmascarar todas las
interrupciones mientras la CPU procesa una cola.

Tipos de interrupciones:
E/S: tiene lugar cada vez que un canal finaliza una operacin de E/S. El canal le cambia la PSW al
computador. La RAI revisa la CSW.
Por programa: provocadas por acontecimientos que suceden durante la ejecucin del programa y que no
fueron programadas:
1. Operacin: si se intenta ejecutar una instruccin cuyo CO no existe.
2. Instruccin privilegiada: cuando un usuario intenta ejecutar una instruccin privilegiada.
3. Execute: le dice al sistema que ejecute una instruccin que est en otro lugar de la memoria. La
interrupcin se produce cuando se hace un execute de un execute.
4. Proteccin de memoria: cuando un programa quiere acceder a una zona de memoria que no tiene
asignada, un rea no permitida.
5. Direccionamiento: cuando se quiere acceder a un rea de memoria no existente (addressing).
6. Especificacin: cuando uso una instruccin que precisa entorno a palabra con una direccin sin
entornar.
7. Datos (data exception): cuando los datos no respetan el formato.
8. Overflow: puede ser de punto fijo, de flotante o de empaquetado. Si no est inhibida la condicin de
overflow, cancela el programa.
9. Divisin por cero: puede ser de punto fijo, flotante o empaquetado.
10. Underflow de punto flotante: no cancela, sino que pone 0 y sigue adelante.
11. Significacin: cuando en punto flotante se pierden dgitos en la mantisa.
Por llamada a Supervisor: cada vez que se ejecuta una instruccin SVC (Supervisor Call). Esta interrupcin
no es asincrnica, est escrita en el programa (autointerrupcin). Est incluida en las macroinstrucciones, pues
estas requieren del uso del SO (OPEN; CLOSE, etc.). Tiene un cdigo que va de 0 a 255, segn el cual se
sabe que rutina debe ver.
Rutinas del SO: Luego de intercalar las instrucciones de, por ejemplo, GET, el ensamblador se fija en el
cdigo de la ltima instruccin (SVC) que le dice que era una GET y va a las rutinas que se ocupan del
bloqueo y desbloqueo. Cada vez que se hace una GET un registro lgico pasa al rea de E/S (en memoria).
El SO se da cuenta que tiene que ir a buscar un nuevo registro fsico por:
IOCS (Input Output Control System): consta de dos partes:
LIOCS (Logical IOCS): contiene las rutinas de bloqueo y desbloqueo. Se fija si hay un
nuevo registro lgico, si hay lo pasa y corre el puntero, sino le pasa el control a la PIOCS.

Pgina | 16

PIOCS (Physical IOCS): maneja el canal para pasar un nuevo registro fsico. Hace la SIO,
etc. Cuando el canal termina de trabajar hace una interrupcin de E/S.
Externa: puede deberse a tres causas: el operador pulsa la tecla externa (en ese momento el SO interacta
con el operador), reloj de la mquina (timer) (estrategia de asignacin del procesador por un tiempo
determinado, el timer le avisa al SO entonces hay una interrupcin), o comunicacin entre computadoras
(retorna mediante una interrupcin externa).
Por error de mquina: se divide en dos tipos:
Recuperable: es SO lo atiende, guarda todo el programa en un archivo y luego devuelve su control.
Por ejemplo; falla en cinta.
No recuperable: no retorna nunca.

Prioridad de atencin de interrupciones

No se puede atender a ms de una interrupcin del mismo tipo al mismo tiempo, por eso existen prioridades
de ejecucin de interrupciones. Las prioridades permiten que una interrupcin interrumpa una RAI en
proceso
Est inhibida
E/S
Programa
SVC
Externa
Mquina
Se est
procesando
E/S
0
1
1
1
Programa
0
0
1
1
SVC
0
0
0
1
Externa
0
0
0
0
Mquina
0
0
0
0
0 : inhibida 1 : desinhibida. La ms prioritaria es la de error de mquina.

1
1
1
1
0

Dos arquitecturas genricas de procesadore

CISC(Complex instruction set computer (IBM mainframe e intel x86 ))


- Muchas instrucciones y muy complejas.
- Muchos formatos de instrucciones.
- Instrucciones de distinto tamao.
- Muchas instrucciones para acceder a operandos en memoria.
- Muchos modos de direccionamiento.
- Muchos tipos de datos.
- Micro-arquitectura software/hardware compleja.
- Pocos registros (normalmente dedicados).
- Compiladores relativamente simples.
Risc (Reduced instruction set computer)
- Pocas instrucciones.
- Instrucciones simples.
- No hay muchas instrucciones para acceder a memoria (load/store).
- Instrucciones de igual tamao.
- Pocos formatos d instruccin.
- Pocos modos de direccionamiento (y simples).
- Pocos tipos de datos.
- Micro-arquitectura en hardware y simple.
- Muchos registros (de uso general).
- Compiladores complejos.

Pgina | 17

Los errores de transmisin


Se denomina erro de transmisin a:
Toda alteracin o mutilacin que hace que un mensaje recibido no sea una rplica fiel del mensaje
transmitido.
Los errores pueden alterar el contenido del mensaje de dos formas:
- Que el mensaje quede totalmente invalidado.
- A pesar de los errores, el mensaje es til porque an puede interpretarse.
Existen dos tipos de transmisiones a considerar:
- De operador a operador; La intervencin de los operadores permite la deteccin y correccin de los
errores.
- De Maquina a mquina: En este caso se usa la informacin almacenada en el sistema para poder detectar
automticamente los errores analizarlos, aceptarlo o rechazarlos parcialmente o totalmente.
Tipos de errores
Clasificacin (segn su distribucin en el tiempo)
-Errores aislados o simples: Aquellos que afectan a un solo bit cada vez y son independientes entre si en
cuanto al momento de ocurrencia.
- Errores en rfagas: Afectan a varios bits consecutivos y ocurren en periodos indeterminados de tiempo.
- Errores agrupados: Ocurren en tandas sucesivas de una cierta duracin y que no afectan necesariamente a
varios bits seguidos.
Los errores y su tratamiento
Una forma es enviar datos adicionales en el contenido del mensaje, a esto se lo denomina redundancia.
Aunque se logra una mayor proteccin contra errores, cuanto mayor es la cantidad de bits adicionales, la
eficiencia del proceso de transmisin disminuye. Por otra parte, cuando los bloques de mensaje son largos,
una mayor proporcin de estos bloques tendrn errores y ser necesario retransmitirlos, lo que a largo plazo
puede disminuir an ms su eficiencia.
La tasa de error en el diseo de sistemas de transmisin de datos
La presencia de errores no puede ser omitida nunca. Se deben ter presente los siguientes aspectos:
- La tasa de error (Tanto para las comunicaciones locales como para las remotas).
- Los medios para recuperar la informacin afectada por errores.
- La cantidad de informacin a transmitir por unidad de tiempo, que se corresponde con el concepto
definido como velocidad real de transferencia de datos.
- La velocidad de transmisin que es necesaria para satisfacer los requerimientos del sistema.
Basndose en los aspectos anteriores se deber determinar:
- El ancho de banda del canal que ser necesario usar.
- El tipo de control de errores que se requiere.
- Los medios de comunicaciones y elementos tcnicos que podrn cumplir con dichos requerimientos.

Tcnicas de correccin de errores


Consideraciones generales
La correccin de errores es un hecho casi imprescindible. Existen dos estrategias fundamentales para la
correccin de errores:
- Correccin hacia atrs; Consiste en el uso de sistemas de deteccin de errores. Cuando se detecta un
error en el equipo receptor, este solicita al equipo transmisor la repeticin del bloque de datos
transmitido, de ah la llamada correccin hacia atrs.
- Correccin hacia adelante; Esta tcnica denominada Forward Error Correction (FEC), se basa en el uso
de cdigos auto-correctores que se disean sobre la base de sistemas de codificacin redundante y
corrigen los errores detectados en la misma estacin que recibe el bloque de datos.
Pgina | 18

Control de paridad
Paridad par e impar
En la paridad par, si el nmero de unos de la palabra de informacin a transmitir es impar, el bit de control
que se debe agregar ser un uno, para que la suma total de ellos resulte un nmero par. Para el caso de
paridad impar se busca que el nmero de unos sea impar.
Control de paridad vertical
Aade un bit adicin al conjunto de 7 bits. Su uso est relacionado fundamentalmente con el cdigo ASCII.
Control de paridad longitudinal o bidimensional
Se aplica a un conjunto de N caracteres de 7 bits cada uno. Por cada carcter de 7 bits transmitido se agrega
un bit de paridad vertical.
Al final el bloque de N caracteres, se transmitir un carcter completo denominado carcter de control de
bloque (Block Check Character BCC). L BCC se calcula de la siguiente manera:
- Se consideran los bits en la posicin uno de cada carcter y se calcula el bit de paridad para todo el
bloque correspondiente a esa posicin. Luego se realiza el mismo proceso por cada bit de carcter
incluyendo el bit de paridad.

Control de paridad entrelazada o cclica


Proporciona un nivel de deteccin de los errores de mayor calidad que el de paridad vertical y mejor que el de
paridad longitudinal.
Requiere de dos bits adicionales para el control de paridad. El primer bit de paridad proporciona la paridad de
los bits primero, tercero y quinto, mientras que el segundo proporciona la parida de los bits segundo, cuarto y
sexto.

Cdigos Pre-Hamming
Paridad
- Aade un bit (bit de paridad): 0 Si la cantidad de 1s es par, 1 en caso contrario.
- Si un bit cambia por error se detecta el error pero no el bit errneo.
- Si cambian dos bits, el bit de paridad ser vlido y el error no ser detectado.
- No es un chequeo muy bueno pero produce poca sobrecarga (un nico bit).
Dos entre cinco
- Basado en que cada bloque de cinco bits(penta-bit) tuviera exactamente dos unos y tres ceros( lo que
forma 10 posibles estados, pudiendo representar todos los dgitos del rango 0-9)
- Si un bit cambia por error se detecta el error pero no el bit errneo.
Pgina | 19

Permite detectar cambios en un solo bit, pero si en un mismo penta-bit un 0 cambia por un uno y un
uno por un cero, la regla se cumple y el error queda sin descubrir.
Repeticin
- Consiste en repetir cada bit de datos varias veces (por ejemplo, si el bit de dato a enviar fuera un 1, con
cdigo de repeticin n=3, enviara 111).
- La deteccin de errores acta como si el bit original se obtuviera por mayora.
- Si el error en la transmisin provocara el cambio simultneo en dos bits y el receptor recibiera 001, el
sistema corregira inadecuadamente el error.
- Este cdigo es extremadamente ineficaz, pues reduce la velocidad de transmisin por n.
Distancia de Hamming
Distancia de Hamming: Numero de bits en que difieren dos secuencias binarias, S1 y S2, de la misma
longitud.
Si dos palabras de cdigo difieren en una distancia d, se necesitan d errores para convertir una en la otra.
La distancia de haming est relacionada con la probabilidad de error. Cuanto mayor sea la distancia mnima
entre los smbolos de un cdigo dado, menor ser la probabilidad de cometer errores. Aumentando la
redundancia se logra disminuir la probabilidad de cometer errores.
-

Cdigo de Hamming
Los bloques de bits transmitidos estarn compuestos por n bits: k bits de datos y r bits de redundancia.
- Podrn formarse 2n cdigos y 2k mensajes, es decir, 2k cdigos vlidos.
- Si n = k + r, entonces habr n cdigos a distancia 1 de un cdigo valido.
- Al haber n+1 cdigos asociados a cada mensaje(o cdigo valido) (n cdigos invlidos a distancia 1 del
mismo ms el propio cdigo valido) entonces: (n+1) * 2k <= 2n
La cantidad de bits que puede tener el mensaje para ser corregido con r bits de redundancia ha de ser menor o
igual a 2r-r -1.
Es un mtodo propuesto por R. W. Hamming usando la distancia mnima r. Con este mtodo, por cada
entero r existe un cdigo de Hamming 2r-1 bits que contiene r bits de paridad y 2r-1 -r bits de informacin.

Los bits de informacin y los bits de paridad se encuentran entremezclados de la siguiente forma:
-

Todos los bits cuya posicin es potencia de dos se utilizan como bits de paridad (posiciones 1, 2, 4, 8, 16,
32, 64, etc.).

Los bits del resto de posiciones son utilizados como bits de datos (posiciones 3, 5, 6, 7, 9, 10, 11, 12, 13,
14, 15, 17, etc.)

El valor de cada bit de paridad es la paridad par de un nmero determinado de bit. Estos grupos se escogen
de tal forma que ningn bit de informacin se cubra con la misma combinacin de bits de paridad. Esto es lo
que proporciona al cdigo su capacidad de correccin.
Por ejemplo:

Pgina | 20

Almacenamiento secundario
Discos magnticos
Compuestos por platos recubiertos con material magnetizable (xido de hierro) y un armazn que sirve de
soporte al brazo que porta las cabezas lectoras grabadoras, cada plato se denomina disco.
Loa datos se graban y despus se recuperan del disco a travs de una bobina, llamada cabeza; en muchos
sistemas hay dos, una de lectura y otra de escritura.
Durante la operacin de lectura o escritura, esta permanece quieta mientras el plato rota bajo ella.
Escritura: Cuando circula electricidad a travs de una bobina se produce un campo magntico. Los patrones
magnticos resultantes se graban en la superficie (diferentes patrones para corrientes + y -).
Lectura: Un campo magntico que se mueve por una bobina produce corriente elctrica en ella. Cuando la
superficie del disco pasa por debajo de la cabeza se genera una corriente de la misma polaridad grabada.
Los discos duros de hoy usan un mecanismo diferente para la lectura, siendo necesaria una cabeza de lectura
separada posicionada, por conveniencia, cerca de la cabeza de escritura. La cabeza de lectura consiste en un
sensor magneto-resitivo (MR) parcialmente blindado.
Se hace pasar una corriente a travs del sensor MR y los cambios de resistencia detectan como seales de
voltaje.
Este sensor provee mayores densidades de grabacin y velocidad de operacin que el mecanismo anterior.
Organizacin y formato de los datos
La cabeza es un dispositivo relativamente pequeo, capaz de leer o escribir en una zona del plato que rota
bajo ella. Esto da lugar a que los datos se organicen en un conjunto de anillos concntricos, llamados pistas.
Cada pista es del mismo ancho que la cabeza.
Normalmente hay cientos de sectores por pista y estos pueden
tener una longitud variable o fija. En la mayora de los sistemas de
hoy se utilizan sectores de longitud fija. Para evitar imposiciones
de precisin ilgicas del sistema, los sectores adyacentes se separan
con intra-pistas vacas.
Un bit cercano al centro de un disco girando, pasa por un punto
fijo ms despacio que un bit ms externo. Por tanto, debe haber
alguna forma de compensar la variacin d la velocidad de forma
que la cabeza pueda leer todos los bits a la misma velocidad. Esto
se puede hacer incrementando el espacio entre bits de la
informacin grabada en los segmentos del disco.
La informacin se pude
escanear a la misma
velocidad rotando el disco a
una velocidad fija, conocida
como velocidad angular
constante (constant angular
velocity, CAV).
El disco se divide en una serie de sectores en forma de trozo de tarta y
en una serie de pistas concntricas.
Ventajas:
-Los bloques individuales de datos se pueden direccionar directamente
con la pista y sector. Para mover la cabeza desde su actual posicin a
una direccin especifica.

Pgina | 21

Desventajas:
-La cantidad de datos que se pueden almacenar en las pistas ms externas es solo la misma que la de las pistas
internas.
Por esto la capacidad de almacenamiento viene limitada por la mxima densidad de grabacin que se puede
llevar a cabo en la misma ms interna.
Para aumentar la capacidad los discos duros modernos utilizan una
tcnica llamada grabacin en varias zonas (multiple zone recording),
en la que la superficie se divide en varias zonas concntricas. Dentro
de una zona, el nmero de bits por pista es constante. Las zonas ms
lejanas del centro contienen ms bits (ms sectores) que las zonas
prximas al centro. Esto permite capacidades de almacenamiento
mayores a expensas de una circuitera de alguna forma ms compleja.
Algn procedimiento es necesario para situar las posicin del sector
en una pista. Claramente, debe haber algn punto de comienzo de la
pista y una manera de identificar el principio y el fin de cada sector.
Estos requisitos son gestionados mediante datos de control grabados
en el disco. Por tanto, el disco se graba con un formato que contiene algunos datos extra usados solo por el
controlador del disco y no accesibles al usuario.
Caracteristicas fisicas
-Las cabezas pueden ser fijas o moviles cno respecto a la direccion radial del plato. En un disco de cabeza fija
hay una cabeza de lectura/escritura por pista. En un disco de cabeza movil, hay slo una cabeza de
lectura/escritura.
-Un disco no extraible esta permanentemente montado en la unidad de disco. Un disco extraible, puede ser
quitado y sustituido por otro disco. La ventaja de este ultimo tipo es que es posible una cantida dd e datos
ilimitada con un numero ilimitado de unidades de disco, ademas de que un disco puede ser utilizado en en
divertos computadores.
-En la mayoria de los discos, la cubierta magnetizable se aplica a ambas caras del platos, denominandose de
doble superficie. Algunos discos, menos caros, son de una sola
superficie
-Algunas unidades de disco poseen varios platos apilados
verticalmente. Disponen de carios brazos. Los discos de varios
platos utilizan una cabeza que se mueve, con una cabeza de
lectura/escritura por cada superficie del plato. El conjunto de todas
las pistas que tienen la misma posicin relativa en el plato se
denomina cilindro.
-Finalmente, el mecanismo de la cabeza proporciona una
clasificacin en tres tipos. Tradicionalmente, la cabeza de
lectura/escritura se posiciona a una distancia fija sobre el plato,
dejando entre ambos una capa de aire. En el otro extremo est el
mecanismo de la cabeza que realmente efecta un contacto fsico
con el medio durante la operacin d lectura o escritura (usado por
disquetes).
Para el tercer tipo, la cabeza debe generar o detectar un campo
magntico de intensidad suficiente para escribir y leer
correctamente. Cuando ms estrecha es la cabeza, ms cercana de
estar a la superficie del plato para funcionar. Esto es deseable,
puesto que una cabeza ms estrecha implica picatas ms estrechas y

Pgina | 22

por lo tanto, mayor densidad de datos. Sin embargo, cuanto ms cerca este la cabeza del disco, mayor era el
riesgo de error debido a impurezas o imperfecciones.
Paramentos para medir performance
Los detalles de las operaciones de E/S de un disco dependen del tipo de computador, del sistema operativo,
de la naturaleza de los canales de E/S y del hardware de controlador del disco.
En un sistema de cabeza mvil, el tiempo que tarda la cabeza en posicionarse en la pista se conoce como
tiempo de seek. En cualquier caso, una vez seleccionada la pista, el controlado del disco espera hasta que el
sector apropiado rota hasta alinearse con la cabeza. El tiempo que tarda el sector en alcanzar la cabeza se
llama retardo rotacional o latencia rotacional. La suma de tiempo de bsqueda, si lo hay, y la latencia
rotacional se llama tiempo de acceso. Una vez posicionada la cabeza, se lleva a cabo la operacin de lectura
o escritura, desplazndose el sector bajo la cabeza; esta operacin conlleva un tiempo de transferencia de
datos
T = b/rN
donde T = tiempo de transferencia; b bytes a transferir;
r=velocidad de rotacin en revoluciones por segundo; N = bytes por pista
Tiempo total de lectura/escritura
T = Tseek + r + b/rN

RAID (Redundant Array of Independet Disks)


Con el uso de varios discos, hay una aplica variedad de formas en las que se pueden organizar los datos, y en
las que se pueden aadir redundancia para mejorar la seguridad. Esto podra dificultar el desarrollo de
esquemas de bases de datos que se pueden usar en numerosas plataformas y sistemas operativos.
Afortunadamente, la industria est de acuerdo con los esquemas estandarizados para el diseo de bases de
datos para discos mltiples, conocidos como RAID. El Esquema RAID consta de ses niveles
independientes, desde cero a cinco. Estos niveles no implican una relacin jerrquica, sino que designan
mtodos diferentes que poseen tres caractersticas comunes:
- RAID es un conjunto de unidades fsicas de disco vistas por el sistema operativo como una nica unidad
lgica.
- Los datos se distribuyen a travs de las unidades fsicas del conjunto de unidades.
- La capacidad de los discos redundantes se usa para almacenar informacin de paridad que garantice la
recuperacin de los datos en caso de fallo de disco.
Nivel 0
El nivel 0 de RAID no es un verdadero miembro de la familia RAID, porque no incluye redundancia para
mejorar las prestaciones. Sin embargo, hay algunas aplicaciones, como algunas ejecuciones en
supercomputadores, n los que las prestaciones y la capacidad son la preocupacin primaria y un costo bajo es
ms importante que mejorar la seguridad.
Para RAID 0, los datos del usuario y del sistema esta distribuidos a lo largo de todos los discos del conjunto.
Esto tiene una notable ventaja frente al uso de un nico disco: Si hay pendientes dos peticiones diferentes de
E/S, para dos bloques de datos diferentes es muy probable que los bloques pedidos este en diferentes discos.
Entonces las dos peticiones se pueden emitir en paralelo,
reduciendo el tiempo de cola de E/S.
Los datos son organizados en forma de tiras de datos a traes
de los discos disponibles.
Todos los datos del usuario y del sistema se ven como
almacenados en un disco lgico. El disco se divide en tiras;
estas tiras pueden ser bloques fsicos, sectores o alguna otra
unidad. Las tiras se proyectas cclicamente, en miembros
consecutivos del conjunto.
Pgina | 23

Nivel 1
RAID 1 se diferencia de los niveles 2 al 6 en cmo se consigue la redundancia. En estos otros esquemas
RAID, se unan algunas formas de clculo de paridad para introducir redundancia, en RAID 1 la redundancia
se logra con el sencillo recurso de duplicar todos los datos.

En la organizacin de RAID 1 hay una serie de aspectos positivos:


- Una peticin de lectura puede ser servida por cualquiera de los discos que contienen los datos pedidos.
Cualquiera de ellos implica un tiempo de bsqueda mnima ms la latencia rotacional.
- La escritura se hace en forma independiente en cada disco y nos e penaliza
- Alta disponibilidad de datos
- La recuperacin tras un fallo es sencilla. Cuando una unidad falla, se puede acceder a los datos desde la
segunda unidad.
La principal desventaja es el coste; requiere el doble del espacio de disco del disco lgico que puede soportar.
Debido a esto, una configuracin RAID 1 posiblemente est limitada a unidades que almacenan el software
del sistema y los datos, y otros ficheros altamente crticos.
Nivel 2
Los niveles 2 y 3 de RAID usan una tcnica de acceso paralelo. En un conjunto de acceso paralelo, los disco
miembros participan en la ejecucin de cada peticin de E/S. Tpicamente, el giro de cada unidad individual
esta sincronizado de forma que cada cabeza de disco est en la misma posicin en cada disco en un instante
dado.
Como en los otros esquemas RAID, se usa la descomposicin de datos en tiras. En el caos de RAID 2 y 3,
las tiras on muy pequeas, a menudo tan pequeas como un nico byte o palabra.
Con RAID 2, el cdigo de correccin de errores se calcula a partir de los bits de cada disco, y los bits del
cdigo se almacenan en las correspondientes posiciones de bit en varios discos de paridad. Normalmente se
usa el cdigo de Hamming, que permite corregir errores en un bit y detectar errores en dos bits.
RAID 2 debera ser solamente una eleccin efectiva en un entorno en el que haya muchos errores de disco.
Se requieren N+m discos (N, discos de datos; m, discos de redundancia).

Pgina | 24

Nivel 3
Se organiza de manera similar a RAID2. La diferencia es que requiere solo un disco redundante, sin importar
lo grande que sea el conjunto de discos. Utiliza acceso paralelo, con datos distribuidos en pequeas tiras. EN
vez de un cdigo de correccin de errores, se calcula un sencillo bit de paridad para el conjunto de bits
individuales en la misma posicin en todos los discos de datos.
Redundancia:
En el caso de un fallo en una unidad, se accede a la unidad de paridad y se reconstruyen los datos desde el
resto de los dispositivos. Una vez que se sustituye la unidad que ha fallado, los datos que faltan se restauran
en la nueva unidad y se reanuda la operacin.
La reconstruccin de los datos en bastante sencilla. Consideraremos un conjunto de cinco discos, de los que
X0 a X3 contiene datos y X4 es el disco de paridad. La paridad para el i-esimo bit se calcula de la siguiente
forma:
X4(i) = X3(i) + X2(i) + X1(i) + X0(i)
Donde + es la funcin or exclusive.
Supongamos que la unidad X1 ha fallado. Si sumamos X4(i) + X1(1) a ambos miembros de la ecuacin
tenemos:
X1(i) = X4(i) + X3(i) + X2(i) + X0(i)
Por lo tanto, se puede regenerar el contenido de cualquier tira de datos X1 a partir del contenido de las
correspondientes tiras del resto de los discos del conjunto. Este principio es vlido para los niveles 3 a 6 de
RAID.
Puesto que los datos se
dividen en tiras muy
pequeas. RAID 3 puede
conseguir velocidades de
transferencia de datos muy
altas. Cualquier peticin de
E/S implica una
transferencia de datos
paralela desde todos los
discos de datos. Para grandes transferencias, la mejora de prestaciones es especialmente notable. Por otra
parte, solo se puede ejecutar a la vez una peticin de E/S. Por lo tanto, en un entorno orientado a
transacciones, el rendimiento sufre.
Nivel 4
Los niveles 4 la 6 de RAID usan una tcnica de acceso independiente. En un conjunto de acceso
independiente, cada disc opera independientemente, de forma que peticiones de E/S separadas se atienden en
paralelo. Debido a esto, son ms adecuados los conjuntos de acceso independiente para aplicaciones que
requieran velocidad de peticin de
E/S altas, y menos adecuados para
aplicaciones que requieren
velocidades altas de transferencia de
datos.
En este caso las tiras son
relativamente grandes. Con RAID 4,
se calcula una tira de paridad bit a bit
a partir de las correspondientes tiras
de cada disco de datos, y los bits de paridad se almacenan en la correspondiente tira del disco de paridad.

Pgina | 25

Para calcular la nueva paridad, el software de gestin del conjunto debe leer la antigua tira del usuario y la
antigua tira de paridad. Entonces, se puede actualizar estas dos tiras con nuevos datos y calcular la nueva
paridad. Por tanto, cada escritura de una tira implica dos lecturas y dos escrituras.
En cualquier caso, cada operacin de escritura implica al disco de paridad, que por consiguiente se convertir
en un cuello de botella.
Nivel 5
Este nivel est organizado de manera
similar al RAID 4. La diferencia es
que distribuye las tiras de paridad a lo
largo de todos los discos. Una
distribucin tpica es en un esquema
cclico, como se muestra. Para un
conjunto de n discos, la tira de
paridad esta en diferentes discos para
las primeras n tiras, y este patrn se
repite.
La distribucin de las tiras de paridad a lo largo de todas las unidades evita el potencial cuello de botella de
E/S encontrado en el RAID 4. La principal desventaja de este RAID es la complejidad del controlador.
Nivel 6
El nivel 6 de RAID se introdujo en un artculo de los investigadores de Berkeley. En el esquema del nivel 6 de
RAID, se hacen dos clculos de paridad distintos, que se almacenan en bloques separados en distintos discos.
Por lo tanto, un conjunto RAID 5 cutos datos requieran N discos, consta de N+2 discos.
P y Q son dos
algoritmos de
comprobacin de
datos distintos.
Uno de los dos
calcula ORexclusivo y el otro
un algoritmos de
comprobacin de
datos independiente. Esto hace posible la regeneracin de los datos incluso si dos de los discos que contienen
los datos de los usuarios fallan.
La ventaja de RAID 6 es que proporciona una disponibilidad de los datos extremadamente alta. Tendran que
fallar tres discos en el intervalo de tiempo medio de reparacin para no poder disponer de los datos. Por otra
parte. RAID 6 incurre en una penalizacin de escritura ya que cada escritura afecta a dos bloques de paridad.

Pgina | 26

Nivel
0

Tabla de comparacin de RAID


Ventajas
Las prestaciones de E/S se mejoran mucho
repartiendo la carga de E/S entre varios canales y
unidades.
No hay clculo de paridad de cabecera.
Diseo muy sencillo.
Fcil de implementar.
Una redundancia del cien por cien de todos los
datos implica que no sea necesaria la
reconstruccin en caso de fallo d disco, solo una
copia del disco a reemplazar.
Bajo ciertas circunstancias RAID 1 puede soportar
varios fallos de unidades.
El diseo del subsistema de almacenamiento
RAID es sencillo.
Son posibles velocidades de transferencia de datos
extremadamente altas.
Cuanto mayor es la velocidad de transferencia
requerida, mejor es la relacin entre discos de
datos y disco ECC.
Diseo del controlador relativamente sencillo en
comparacin con los niveles 3,4 y 5
Velocidad de transferencia de datos de lectura y
escritura muy alta.
Un fallo de disco tiene un impacto insignificante
en el rendimiento.
Una baja de relacin entre discos ECC (paridad) y
discos de datos implica alta eficiencia.

Velocidad de transaccin de datos de lectura muy


alta.
Una baja relacin entre disco ECC (paridad) y
discos de datos, implica una alta eficiencia

La mayor velocidad de transaccin de datos. Una


baja relacin entre discos ECC (paridad) y discos
de datos, implica una alta eficiencia.
Buena velocidad de transferencia en su conjunto

Proporciona una tolerancia a fallos


extremadamente alta y puede soportar varios fallos
de unidades simultneos

Desventajas
El fallo de una sola unidad afectara a
todos los datos de una estructura,
perdindose.

La mayor sobrecarga de todos los


tipos RAID (100%) ineficiente.

Relacin muy alta de discos ECC y


discos de datos con tamaos de
palabra pequeos (ineficiente).
Coste de nivel de entrada muy alto
(requisitos de velocidad de
transferencias muy altas como para
justificarlo).
Velocidad de transaccin igual que la
de una unidad de disco como mucho
(si la velocidad de giro esta
sincronizada).
El diseo del controlado es bastante
complejo
Diseo del controlador bastante
complejo.
Peor velocidad de transaccin de
escritura y velocidad de escritura total.
Reconstruccin de datos difcil e
ineficiente.
Diseo del controlador ms complejo.
Difcil la reconstruccin en caso de
fallo de disco
Diseo del controlador ms compleja.
Sobrecarga del controlador para
calcular direcciones de paridad.

Aplicaciones
Produccin y edicin de
video.
Edicin de imgenes.
Cualquier aplicacin que
requiera ancho de banda
grande.
Contabilidad.
Nominas.
Finanzas.
Cualquier aplicacin que
requiera una disponibilidad
muy alta.
No existen.
No es comercialmente viable.

Produccin de video y
secuencias en vivo.
Edicin de imgenes.
Aplicacin de prueba de
imprenta.
Cualquier aplicacin que
requiera un alto rendimiento
No existe

Servidores de ficheros y
aplicaciones.
Servidores de bases de datos.
Servidores de pginas web.
Nivel de RAID ms verstil
Solucin perfecta para
aplicaciones con objetivos
crticos.

Pgina | 27

Medios pticos
En 1983, se introdujo uno de los productos de consumo de ms xito de todos los tiempos: el disco
compacto digital de audio. El CD es un disco no borrable que puede almacenar ms de sesenta minutos de
informacin de audio en una cara. El gran xito comercial del CD posibilito el desarrollo de la tecnologa de
discos de memoria ptica de bajo coste, que revoluciono el almacenamiento de datos en un computador.
CD-ROM
En discos pticos la lectura se hace de acuerdo a
la reflexin de un rayo lser sobre una superficie tratada en la cual se graban los datos
mediante marcas llamadas pits. A las superficies
que quedan entre dos pits se las denomina lands.
La transicin de land a pit y vuelta a land
representa un uno. Un cierto perodo de tiempo
sin transiciones representa un cero.
Debido a las caractersticas de los lectores no es
posible mediante este esquema que existan dos
unos seguidos en la superficie del disco. El
problema se corrige empleando un sistema de traduccin de los bits ledos desde el disco a bytes 'comunes'.
Este sistema traduce 14 bits ledos del CD en un byte. El sistema se conoce como eight to fourteen
modulation (EFM).
Cada CD tiene una nica pista en espiral sobre la cual se graban los datos. Sobre esta pista se estructuran
sectores todos ellos de la misma longitud lo cual permite grabar todos los sectores con la misma densidad de
grabacin. Este tipo de organizacin se denomina CLV (Constant Linear Velocity) pues la velocidad lineal de
lectura es constante (espero hayan notado porque es que esto debe ser as) y se diferencia de la organizacin
CAV (Constant Angular Velocity) empleada en los discos en donde la velocidad de rotacin es constante.
El esquema CLV perjudica el acceso random a los datos ya que para "saltar" desde una posicin del disco
hasta otra la unidad debe recalcular la velocidad a la cual deber girar el disco. Esto se hace utilizando prueba
y error. Los seeks en un CD son muy costosos, esto se debe a que los CDs de datos se basan en la industria
ya existente para los CDs de msica, donde la operacin ms frecuente es la lectura secuencial.
Un sector de un disco CLV se referencia mediante un nmero de la forma MM:SS:XX donde MM es el
minuto, SS es el segundo, y XX el sector.
Cada CD puede almacenar aproximadamente 74 minutos de audio, y sabiendo que cada segundo se divide en
75 sectores nos da un total de 333000 sectores. Cada sector a su vez puede almacenar 2352 bytes, lo cual
representa una capacidad de 747 megabytes.
CDs de Audio
- Capacidad: la capacidad estndar de un CD de audio es de 74 minutos.
- En un CD de audio el promedio de fallas es de un byte cada dos CDs.
CDs de Datos
- Capacidad: por cada sector solamente 2048 bytes pueden contener datos. La capacidad de un CD de datos
es entonces de 650 Mb.
- Con el agregado de los cdigos correctores el promedio de fallas es de un byte equivocado cada 20.000
discos.

DVD-ROMs

Los DVD (Digital Versatile Disc) fueron creados en 1996, y surgieron como una necesidad de incrementar el
mercado del video, ya que en un DVD la calidad de audio e imagen es alta. Actual-mente tambin se utiliza
para el almacenamiento de software en general (office suites, video jue-gos, etc.).
Hay cinco formatos de DVD:
1. DVD-ROM: medio de alta capacidad de almacenamiento de datos
2. DVD-Video: medio de almacenamiento digital de pelculas
3. DVD-Audio: formato de almacenamiento de audio nicamente, similar al CD de audio
Pgina | 28

4. DVD-R: ofrece un formato de almacenamiento de una sola grabacin y mltiples lecturas


5. DVD-RAM: primer formato regrabable de DVD; luego compiti con DVD-RW y DVD+RW
Existen cuatro versiones del DVD:
1. DVD-5: de un solo lado y una sola capa, con capacidad de 4,7 GB
2. DVD-9: de un solo lado y dos capas, con capacidad de 8,5 GB
3. DVD-10: de dos lados y una capa, con capacidad de 9,4 GB
4. DVD-18: de dos lados y dos capas, con capacidad de 17 GB
La tecnologa de capa dual tiene una capa reflectante abajo, cubierta por una capa semirreflejan-te.
Dependiendo de la distancia focal del lser, el haz se refleja en una capa o en la otra. La capa inferior necesita
fosos y lands un poco mayores para que su lectura sea confiable, por lo que su capacidad es menor que la de la
capa superior. 34
Adems de sus cinco formatos fsicos, el DVD tambin tiene varios formatos de aplicacin como DVD de
Video y DVD de Audio. La consola de juegos PlayStation 2 de Sony es un ejemplo de un formato especial de
aplicacin.

Cintas magnticas
Los sistemas de cinta usan las mismas tcnicas de lectura y grabacin que los discos. El medio es una cinta de
polister flexible cubierta por un material magnetizable. La cubierta puede consistir en partculas de un metal
puro, en concreto, un revestimiento o pelcula de metal plateado vaporizado. La cinta y la unidad de cinta son
anlogas a las cintas de grabacin domsticas. Los anchos de las cintas pueden variar entre 0,38 cm y 1,27 cm.
Una cinta ubicada en un carrete abierto, tiene que enrollarse en otro carrete ubicado en un segundo cabezal.
Hoy en da, prcticamente todas las cintas vienen cerradas en cartuchos.
Los fatos en la cinta, se estructura en una serie de pistas parallelas longitudinales. Los primeros sistemas de
cintas usaban nueve pistas. Esto hace posible almacenar datos de un byte en un instante dado, con un bit de
paridad adicional, en una novena pista. Loe nuevos sistemas de cintas usan 18 a 36 pistas, correspondiendo a
una palabra digital. La grabacin de datos de esta forma se denomina grabacin paralela.
Los sistemas modernos utilizan en su lugar grabacin serie, en la que los datos se disponen como una
secuencia d bits a lo largo de una pista, como se hace en los discos magnticos. Como con el disco, los datos
se leen y escriben en bloques contiguos, llamados registros fsicos de cinta. Los bloques en la cinta estn
separados por bandas vacas llamadas bandas inter-registros. Como en el disco, la cinta se formatea para
facilitar la localizacin de los registros fsico.
La tcnica tpica utilizada en la
grabacin de cintas en serie se
denomina grabacin en
serpentina. En esta tcnica, cuando
se graban los datos, el primer
conjunto de bits se graba a lo largo
de toda la cinta cuando se alcanza el
fin, las cabezas posicionan para

grabar una nueva pista y la cinta se graba de nuevo a todo lo largo,


esta vez en direccin contraria. Este proceso continua, hacia atrs y
adelante, hasta que se llene la cinta. Para aumentar la velocidad, la
cabeza de lectura-escritura es capaz de leer y escribir una serie de
pistas adyacentes simultneamente (usualmente entre dos y ocho
pistas). Los datos se graban en serie a lo largo de las pistas
individuales, pero los bloques se almacenan en pistas adyacentes.

Pgina | 29

Grabacin helicoidal
- Cabeza de grabacin rotatoria.
- Smil video caseteras.
- Evita problemas de movimiento veloz de cintas de
las otras tcnicas.
- La cinta se mueve en forma lenta mientras que la
cabeza rota en forma rpida.
- Las pistas pueden estar ms cercanas unas a otras.

Modos de operacin
Modo start-stop por bloque
- Viejo uso de grabacin por registro/bloque.
- La cinta se usaba para guardar archivos para
procesamiento posterior.
- Se poda actualizar un registro/bloque particular siempre y cuando no cambiara su tamao.
- Los datos se grababan en bloques fsicos.
- Entre los bloques haba espacios (IRG) para sincronizacin de la unidad.
Modo streaming
- Uso de backup 0 archivo de informacin.
- No se requiere operacin de start-stop por bloque.
- No se requiere actualizacin de bloques particulares dentro de un archivo.
- Se describen archivos completos como un stream de datos contiguo.
- La informacin se graba fsicamente en bloques pero no se pueden localizar o modificar particulares.

Pgina | 30

You might also like