ORGANIZACIÓN DE LOS SISTEMAS DE COMPUTADORA

advertisement
ORGANIZACIÓN DE LOS SISTEMAS DE COMPUTADORA
Una computadora digital consiste en un sistema de procesadores interconectados, memorias
y dispositivos de E/S.
1. PROCESADORES.
La CPU se compone de varias partes. La unidad de control se encarga de buscar
instrucciones de la memoria principal y determinar su tipo. La unidad de aritmética y
lógica realiza operaciones como suma y AND booleano necesarias para ejecutar las
instrucciones.
La CPU también contiene una memoria pequeña y de alta velocidad que sirve para
almacenar resultados, temporales y cierta información de control. Esta memoria se
compone de varios registros, cada uno de los cuales tiene cierto tamaño y función. Por
lo regular, todos los registros tienen el mismo tamaño. Cada registro puede contener un
número, hasta algún máximo determinado por el tamaño del registro. Los registros
pueden leerse y escribirse a alta velocidad porque están dentro de la CPU.
El registro más importante es el contador de programa (PC, Program Counter), que
apunta a la siguiente instrucción que debe buscarse para ejecutarse. El nombre
“contador de programa” es un tanto engañoso porque no tiene nada de ver con contar,
pero es un término universal. Otro registro importante es el registro de instrucciones
(IR, Instruccion Register) que contiene la instrucción que se está ejecutando. Casi todas
las computadoras tienen varios registros más, algunos de propósito general y otros para
fines específicos.
1.1. Organización de la CPU
En la figura se muestra con más detalle la organización interna de una parte de una CPU
Von Neumann típica. Esta parte se llama camino de datos y consiste en los registros de
entrada de la ALU, rotulados A y B en la figura. Estos registros contienen las entradas de
la ALU mientras ésta está calculando. La ALU suma, resta y realiza otras operaciones
simples con sus entradas, y produce un resultado en el registro de salida. El contenido
de este registro de salida se envía a un registro, que posteriormente se escribe (guarda)
en la memoria, si se desea. No todos los diseños tienen los registros A, B y de salida. En
el ejemplo se ilustra la suma.
Casi todas las instrucciones pueden dividirse en una de dos categorías: registromemoria o registro-registro. Las instrucciones registro-memoria permiten buscar
palabras de la memoria a los registros (Las “palabras” son las unidades de datos que se
transfieren entre la memoria y los registros. Una palabra podría ser un entero.). Otras
instrucciones registro-memoria permiten almacenar el contenido de un registro en la
memoria.
La otra clase de instrucción es la de registro-registro. Una instrucción registro-registro
típica busca dos operandos de los registros, los coloca en los registros de entrada a la
ALU, realiza alguna operación con ellos (suma o AND booleano) y coloca el resultado en
uno de los registros. El proceso de hacer pasar dos operandos por la ALU y almacenar
el resultado se llama ciclo del camino de datos y es el corazón de casi todas las CPU.
Cuanto más rápido es el ciclo del camino de datos, más rápidamente opera la máquina.
1.2. Ejecución de instrucciones
1
La CPU ejecuta cada instrucción en una serie de pasos pequeños. A grandes rasgos, los
pasos son los siguientes:
1) Buscar la siguiente instrucción de la memoria y colocarla en el registro de
instrucciones.
2) Modificar el contador de programa de modo que apunte a la siguiente instrucción.
3) Determinar el tipo de la instrucción que se trajo.
4) Si la instrucción utiliza una palabra de la memoria, determinar dónde está.
5) Buscar la palabra, si es necesario, y colocarla en un registro de la CPU.
6) Ejecutar la instrucción.
7) Volver al paso 1 para comenzar a ejecutar la siguiente instrucción.
1.3. Principios de diseño de las computadoras modernas
Todas las instrucciones se ejecutan directamente en hardware
El hardware ejecuta directamente todas las instrucciones comunes: éstas no se
interpretan con microinstrucciones. La eliminación de interpretación hace que la mayor
parte sean rápidas.
Maximizar el ritmo con que se emiten instrucciones
Un truco utilizado por las computadoras modernas es tratar de emitir el mayor número
posible de instrucciones por segundo. Este principio sugiere que el paralelismo puede
desempeñar un papel importante en el mejoramiento del desempeño, ya que sólo es
posible emitir un gran número de instrucciones lentas en un periodo corto si varias
instrucciones pueden ejecutarse simultáneamente. Aunque las instrucciones siempre se
encuentran en el orden que dicta el programa, no siempre se emiten en ese orden
(porque algún recurso necesario podría estar ocupado) y no tiene que terminar en el
orden del programa.
Las instrucciones deben ser fáciles de decodificar
Todo lo que pueda agilizar el proceso de decodificación es útil, e incluye hacer que las
instrucciones tengan una longitud fija, con un número pequeño de campos. Cuanto
menor sea el número de formatos de instrucciones distintos, mejor.
Sólo las operaciones de carga y almacenamiento deben hacer referencia a la
memoria.
Incluir abundantes registros.
Como el acceso a memoria es relativamente lento, es necesario contar con muchos
registros (al menos 32.)
1.4. Paralelismo en el nivel de instrucciones
Se recurre al paralelismo (hacer dos o más cosas al mismo tiempo) para sacar el mayor
provecho posible a una velocidad de reloj dada. En el paralelismo a nivel de
instrucciones, se aprovecha el paralelismo dentro de las instrucciones individuales para
lograr que la máquina ejecute más instrucciones por segundo.
Filas de procesamiento
La obtención de instrucciones de la memoria genera un importante cuello de botella que
afecta la rapidez de ejecución de las instrucciones. Para aliviar este problema, las
computadoras han contado con la capacidad de buscar instrucciones de la memoria por
adelantado, a fin de tenerlas disponibles en el momento en que se necesitan. Esas
instrucciones se almacenaban en una serie de registros llamados buffer de
prebúsqueda.
El concepto de fila de procesamiento (pipeline) divide la ejecución de instrucciones en
muchas partes, cada una de las cuales se maneja con un componente de hardware
dedicado, y todos estos componentes pueden operar en paralelo.
La figura siguiente ilustra una fila de procesamiento con cinco unidades (etapas). La
etapa 1 busca la instrucción de la memoria y la coloca en un buffer hasta que se
necesita. La etapa 2 decodifica la instrucción, determinando de qué tipo es y qué
operandos necesita. La etapa 3 localiza y busca los operandos, sea de registros o de la
memoria. La etapa 4 se encarga de ejecutar propiamente la instrucción, casi siempre
haciendo pasar operandos por el camino de datos. Por último, la etapa 5 escribe el
resultado en el registro apropiado.
S1
S2
S3
Unidad de
Búsqueda de
Instrucciones
Unidad de
decodificación
de Instrucciones
Unidad de
Búsqueda de
operandos
S4
S5
Unidad de
escritura de
resultados
Unidad de
ejecución de
Instrucciones
Fila de procesamiento de cinco etapas.
S1:
S2:
S3:
S4:
S5:
1
2
3
4
5
Tiempo
6
7
8
9
Estado de cada etapa en función del tiempo
El uso de filas de procesamiento permite balancear la latencia (el tiempo que tarda en
ejecutarse una instrucción) y el ancho de banda del procesador (cuántas MIPS puede
ejecutar la CPU).
Arquitecturas superescalares
Aquí una sola unidad de búsqueda de instrucciones trae pares de instrucciones y
coloca cada una en su propia fila de procesamiento, que cuenta con su propia ALU para
poder operar en paralelo.
2
S1
Unidad de
Búsqueda de
Instrucciones
S2
S3
Unidad de
decodificación
de Instrucciones
Unidad de
Búsqueda de
operandos
Unidad de
ejecución de
Instrucciones
S4
Unidad de
escritura de
resultados
S5
Unidad de
decodificación
de Instrucciones
Unidad de
Búsqueda de
operandos
Unidad de
ejecución de
Instrucciones
Unidad de
escritura de
resultados
Memorias locales
C P U
C P U
C P U
C P U
Filas de procesamiento dual de cinco etapas con unidad de búsqueda de instrucciones
común
1.5. Paralelismo en el nivel de procesador
Computadoras de matriz
Un arreglo de procesadores consiste en un gran número de procesadores idénticos
que ejecutan la misma secuencia de instrucciones con diferentes conjuntos de datos.
Originalmente se pensaba construir una máquina constituida por cuatro cuadrantes,
cada uno de los cuales tenía una cuadrícula 8x8 de elementos procesador/memoria.
Una sola unidad de control por cuadrante transmitía instrucciones que eran ejecutadas
simultáneamente por todos los procesadores, cada uno de los cuales utilizaba sus
propios datos de su propia memoria (que se cargaba durante la fase de inicialización).
Unidad de control
transmite instrucciones
Procesador
Cuadrícula
8x8 de
Procesador/memoria
Memoria
Los arreglos de procesadores solo funcionan bien con problemas que requieren realizar
el mismo cálculo con muchos conjuntos de datos simultáneamente.
Multiprocesadores
Es un sistema de varias CPU que comparten una memoria común.
C P U
C P U
C P U
C P U
Memoria
compartida
Bus
Memoria
compartida
Bus
Multiprocesador con un solo bus
Multicomputadoras
Son sistemas con un gran número de computadoras interconectadas, cada una de las cuales
tiene su ´propia memori, sin que haya una memoria común. Las CPU de una mlticomputadora
se comunican enviándose mutuamente mensajes, parecidos al correo electrónico pero mucho
más rápido
2. MEMORIA PRIMARIA
La memoria es la parte de la computadora en la que se almacenan programas y datos.
2.1. Bits
La unidad básica de memoria es el dígito binario, llamado bit. Un bit puede contener un
0 o un 1.
2.2. Direcciones de memoria
Las memorias consisten en varias celdas (o localidades), cada una de las cuales
puede alacenar un elemento de información. Cada celda tiene un número, su dirección,
con el cual los programas pueden referirse a ella. Si una memoria tiene n celdas,
tendrán las direcciones 0 a n-1. Todas las celdas de una memoria contienen el mismo
número de bits. Si una celda consta de k bits, podrá contener cualquiera de 2k
combinaciones de bits distintas.
Las computadoras que emplean el sistema de numeración binario expresan las
direcciones de memoria como números binarios. Si una dirección tiene m bits, el
número máximo de celdas direccionables es 2m.
La celda es la unidad direccionable más pequeña. Recientemente casi todas las
computadoras usan una celda de 8 bits, que recibe el nombre de byte. Los bytes se
agrupan en palabras. Casi todas las instrucciones operan con palabras enteras.
2.3. Ordenamiento de bytes
Los bytes de una palabra pueden numerarse de izquierda a derecha o de derecha a
izquierda. En el sistema en el que la numeración comienza por el extremo “grande”(es
Multiprocesador con un solo bus
3
decir, de orden alto), se llama computadora big endian (de izquierda a derecha), en
contraste con la “Little endian”.
2.4. Códigos para corrección de errores
Las memorias de las computadoras pueden cometer errores ocasionales a causa de
picos de voltaje en la línea de alimentación un otras causas. Para protegerse contra
tales errores, algunas memorias emplean códigos para detección o corrección de
eroores. Cuando se usan esos códigos, se añaden bits extra de una forma especial a
cada palabra de la memoria. Cuando se lee una palabra dfe la memoria se leen los bits
adicionales para ver si ha ocurrido algún error.
2.5. Memoria caché
La memoria caché nace ante el hecho de que las CPU siempre han sido más rápidas
que las memorias. Lo que esta diferencia implica en la práctica es que, después de que
la CPU emite una solicitud a la memoria, pasan muchos ciclos antes de que reciba la
palabra que necesita.
Hay dos formas de resolver este problema. La más sencilla es iniciar las instrucciones
de lectura de memoria (READ) cuando se llega a ellas, pero continuar la ejecución y
detener la CPU si una instrucción trata de usar la palabra de memoria antes de que
llegue. La otra solución es tener máquinas que no se detengan, y que exijan a los
compiladores no generar código que use palabras antes de que hayan llegado, que
también implica detener la CPU pero en software.
la solución es que se conocen técnicas para combinar una cantidad pequeña de
memora rápida con una cantidad grande de memoria lenta para obtener la rapidez de la
memoria rápida y la capacidad de la memoria grande. La memoria pequeña y rápida se
llama caché (del francés cacher, que significa guardar o esconder).
La idea fundamental en que se basa la memoria caché es sencilla: las palabras de
memoria de mayor uso se mantienen en el caché. Cuando la CPU necesita una
palabra, primero la busca en el caché. Sólo si la palabra no está ahí recurre a la
memoria principal.
La observación de que las referencias a la memoria que se hacen en cualquier periodo
corto tienden a usar una fracción pequeña de la memoria total se denomina principio
de localidad y constituye la base de todos los sistemas de caché. La idea general es
que cuando se hace referencia a un apalabra, ella y algunas de sus vecinas se traen de
la memoria grande lenta al caché, para que la siguiente vez que se use el acceso a ella
sea rápido.
Los aspectos para el diseño de cachés son: primero, el tamaño de caché. Mientras
más grande es el caché, mejor funciona, pero también cuesta más. Segundo, el
tamaño de la línea de caché. Tercero, la organización del caché. Cuarto, es si las
instrucciones y los datos se guardan en el mismo caché o en cachés distintos. Un
diseño de caché unificado (instrucciones sy datos en el mismo caché) es más sencillo y
automáticamente equilibra las obtenciones de instrucciones frente a las obtenciones de
datos. Cachés divididos, con instrucciones un caché y datos en otro. La unidad de
búsqueda de instrucciones necesita acceder a instrucciones al mismo tiempo que la
unidad de búsqueda de operandos requiere acceder a datos. Un caché dividido permite
accesos en paralelo; un caché unificado no. Quinto, el número de cachés.
2.6. Empaquetamientos y tipos de memoria
Las primeras PC a menudo tenían zócalos vacíos en los que podían insertarse chips de
memoria adicionales.
4
Memoria ROM (read only memory)
Es un medio de almacenamiento que permite solo la lectura de la información y no su
escritura, independientemente de la presencia de energía es decir, conserva su
contenido incluso cuando el ordenador se apaga. Es capaz de almacenar datos hasta
por 10 años sin necesidad de una pila eléctrica.
Se trata de un circuito integrado que se encuentra instalado en la tarjeta principal Motherboard, dónde se almacena información básica referente al equipo, lo que se
denomina BIOS que integra un programa llamado POST encargado de reconocer
inicialmente los dispositivos instalados como el teclado, el monitor, disqueteras, la
memoria RAM, etc., y otro programa llamado Setup para que el usuario modifique
ciertas configuraciones de la máquina. Para almacenar los datos que el usuario
modifica, cuenta con una memoria llamada CMOS alimentada constantemente desde
una batería integrada en la tarjeta principal.
Tiene una cantidad pequeña de memoria (algunos miles de bytes).
Como la memoria RAM es más fácil de leerse que las ROM, antes de utilizarse suele
pasarse el contenido de la memoria ROM a la memoria RAM.
Memoria RAM (random-access memory)
la memoria principal o RAM (Memoria de Acceso Aleatorio) es donde el computador
guarda los datos que está utilizando en el momento presente y donde se cargan todas
las instrucciones que ejecutan el procesador y otras unidades de cómputo.. El
almacenamiento es considerado temporal porque los datos y programas permanecen
en ella mientras que la computadora este encendida o no sea reiniciada. Se denominan
«de acceso aleatorio» porque se puede leer o escribir en una posición de memoria con
un tiempo de espera igual para cualquier posición, no siendo necesario seguir un orden
para acceder a la información. Durante el encendido del computador, la rutina POST
verifica que los módulos de memoria RAM estén conectados de manera correcta. En el
caso que no existan o no se detecten los módulos, la mayoría de tarjetas madres
emiten una serie de pitidos que indican la ausencia de memoria principal. Terminado
ese proceso, la memoria BIOS puede realizar un test básico sobre la memoria RAM
indicando fallos mayores en la misma.
SIMMs y DIMMs
Se trata de la forma en que se juntan los chips de memoria, del tipo que sean, para
conectarse a la placa base del ordenador. Son unas plaquitas alargadas con conectores
en un extremo; al conjunto se le llama módulo.
El número de conectores depende del bus de datos del microprocesador.
SIMMs: (Single In-line Memory Module) módulo de memoria individual en línea. Una
configuración de SIMM típica podría tener ocho chips con 32 Mb (4MB) cada uno en el
SIMM. Así, todo el modulo, contendrá 32MB. Muchas computadoras tienen espacio
para cuatro módulos, lo que da una capacidad total de 128MB si son empleados SIMM
de 64 MB o más grandes si es necesario. Los primeros SIMM tenían 30 conectores y
alimentaban 8 bits a la vez. Los demás conectores eran para direccionamiento y
control. SIMM posteriores tenía 72 conectores y alimentaban 32 bits a la vez.
DIMMs: (dual inline memory); módulo de memoria dual en línea. Actualmente los
DIMM son la forma estándar de empaquetar la memoria. Cada DIMM tiene 84
conectores chapeados con oro en cada lado, para un total de 168 conectores. Un DIMM
puede almacenar 64 bits a la vez. Las capacidades típicas de los DIMM son de 64 MB o
más.
3.
MEMORIA SECUNDARIA
Por más grande que sea la memoria principal, siempre es demasiado pequeña. La gente
siempre quiere almacenar más información de la que cabe en la memoria.
3.1. Jerarquías de memoria
La solución tradicional para almacenar una gran cantidad de datos es una jerarquía de
memoria, como se ilustra en la figura. En la cúspide están los registros de la CPU, a los
que puede tenerse acceso a la velocidad máxima de la CPU. Luego viene la memoria
caché, que actualmente es del orden de 32KB a unos cuantos MB. Sigue la memoria
principal, con tamaños que actualmente van de 16MB para sistemas más económicos
hasta decenas de GB en el extremo superior. Después vienen los discos magnéticos,
por último tenemos la cinta magnética y los discos ópticos para el almacenamiento de
archivos.
5
contiene una bobina de inducción flota sobre la superficie y muy cerca de ella,
descasando en un colchón de aire. Cuando una corriente positiva o negativa pasa por
la cabeza, magnetiza la superficie justo debajo de ella, alineando las partículas
magnéticas hacia la izquierda o hacia la derecha, dependiendo de la polaridad dela
corriente de la unidad. Cuando la cabeza pasa sobre un área magnetizada, se induce
una corriente positiva o negativa en la cabeza, lo que permite leer los bits almacenados
previamente. Así, el plato gira bajo la cabeza, puede escribirse una serie de bits y luego
leerse. La geometría de pista de disco se muestra en la siguiente figura.
Al bajar por la jerarquía, tres parámetros claves crecen. Primero, el tiempo de acceso
se alarga. Los registros de la CPU pueden accederse en unos cuantos nanosegundos.
Las memorias caché requieren un múltiplo pequeño del tiempo de acceso de los
registros. Los accesos a la memoria principal suelen ser de unas cuantas decenas de
nanosegundos. Luego viene una brecha grande, pues los tiempos de acceso a disco
son de por lo menos 10ms, y el acceso de la cinta o disco óptico puede medirse en
segundos si es preciso traer los medios insertarlos en una unidad. Seguro, la capacidad
de almacenamiento aumenta al abajar por la jerarquía. Los registros de la CPU pueden
contener tal vez 128B; los cachés unos cuantos MB; las memorias principales decenas
o miles de MG; los discos magnéticos de unos cuantos MB a decenas de GB. Las
cintas y los discos ópticos generalmente se guardan fuera de línea, así que su
capacidad está limitada sólo por el presupuesto del propietario. Tercero, el número de
bits que se obtiene por dólar invertido aumenta al bajar por la jerarquía. Aunque los
precios actuales cambian rápidamente, la memoria principal se mide en dólares/MB; el
almacenamiento en disco magnético en centavos de dólar/MB, y la cinta magnética en
dólares/GB o menos.
3.2. Discos magnéticos
Un disco magnético consiste en uno o más platos de aluminio con un recubrimiento
magnetizable. Originalmente estos platos llegaron a tener 50cm de diámetro, pero en la
actualidad suelen ser de 3 a 12cm, y algunos discos para computadoras portátiles
tienen diámetros de menos de 3cm y se siguen encogiendo. Una cabeza de disco que
3.3. Discos flexibles
Es un medio de almacenamiento pequeño y removible, sirve para distribuir información.
Tiene las mismas características que los discos magnéticos, excepto que a diferencia
de los discos duros, en los que las cabezas flotan sobre la superficie en un colchón de
aire en rápido movimiento, las cabezas de las unidades de disco sí tocan los disquetes.
Está formado por una pieza circular de material magnético, fina y flexible (de ahí su
denominación) encerrada en una cubierta de plástico, cuadrada o rectangular, que se
puede utilizar en una computadora o laptop.
Los disquetes se leen y se escriben mediante un dispositivo llamado disquetera (o FDD,
del inglés Floppy Disk Drive). Los disquetes de 3½" son menores que el CD, tanto en
tamaño como en capacidad. La disquetera es el dispositivo o unidad lectora/grabadora
de disquetes, y ayuda a introducirlo para guardar la información.
Este tipo de dispositivo de almacenamiento es vulnerable a la suciedad y los campos
magnéticos externos, por lo que, en muchos casos, deja de funcionar con el tiempo.
3.4. Discos IDE
IDE significa "Integrated Device Electronic", su traducción es componente electrónico
integrado.
6
Figura 2. Interior de un disco duro. Se puede apreciar el eje de giro con un plato y una
cabeza de lectura/escritura. Marca Seagate® U4, modelo ST34311A, capacidad de 4.3
GB.
El disco duro IDE, es un dispositivo electromecánico que se encarga de almacenar y
leer grandes volúmenes de información a altas velocidades por medio de pequeños
electroimanes (también llamadas cabezas de lectura y escritura), sobre un disco
cerámico recubierto de limadura magnética. Los discos cerámicos vienen montados
sobre un eje que gira a altas velocidades. El interior del dispositivo está totalmente libre
de aire y de polvo, para evitar choques entre partículas y por ende, pérdida de datos, el
disco permanece girando todo el tiempo que se encuentra encendido. Fue desarrollado
y presentado por la empresa IBM® en el año de 1956.
Esta especificación permite transferencia de datos de modo paralelo, con un cable de
datos de 40 conectores, genera una transferencia de datos (Rate) de 66, 100 y hasta
133MB/s. Este tipo de discos duros no se pueden conectar y desconectar con el equipo
funcionando, por lo que es necesario apagar el equipo antes de instalar ó desinstalar.
Funcionamiento
1) La computadora envía las señales eléctricas hacia la bobina electromagnética.
2) La bobina se polariza y transmite el magnetismo hacia el disco en movimiento.
3) El disco tiene partículas magnéticas que se reacomodan a su paso por la bobina.
4) La información queda almacenada como partículas magnéticas ordenadas.
El disco duro IDE puede tener 2 medidas, estas se refieren al diámetro que tiene el
disco cerámico físicamente. 3.5 pulgadas (3.5"), para discos duros internos para
computadora de escritorio (Desktop). 2.5" para discos duros internos para
computadoras portátiles Laptop ó Notebook.
Características:
FSB: Frontal Side Bus, transporte frontal interno; significa la velocidad de transferencia
de datos del disco duro, en función de los demás dispositivos. Se mide en MB/s y es
denominado también “Rate”. Este dato en discos IDE puede estar entre 66MB/s,
100MB/s y 133MB/s.
RPM: Revolutions per Minute, vueltas por minuto; este valor determina la velocidad a
que los discos internos giran cada minuto. Su unidad de medida es: revoluciones por
minuto (RPM). Este dato en discos duros puede ser 4800 RPM, 5200RPM y hasta 7200
RPM.
Capacidad del disco duro IDE
La capacidad del total de Bytes que es capaz de almacenar un disco duro. Su unidad
de medida básica es el Byte, pero actualmente se utiliza el GigaByte (GB). Para discos
duros IDE este dato puede estar entre 10 MB hasta 750 GB.
Conector de datos del disco duro IDE
El conector que utiliza el disco duro IDE para transmitir y recibir los datos es de 40
pines y es de forma rectangular.
En el caso de la alimentación eléctrica, el disco IDE tiene un conector de 4 contactos
tipo MOLEX.
Ventilación del disco duro IDE / Cooler para disco duro IDE
Actualmente, las altas velocidades a las que giran los platos del disco duro, provocan
una excesiva generación de calor en el interior de los mismos, aunado al calor interno
del gabinete generado por el CPU y las tarjetas aceleradoras de video, lo que provoca
el sobrecalentamiento de los discos duros y por ende una menor vida útil del mismo.
Actualmente se han diseñado dispositivos
basados en ventiladores, encargados de
mantener la cubierta del disco duro a una
temperatura adecuada y así disipar el calor.
Estos ventiladores se alimentan del mismo
conector de alimentación que se utiliza para
unidades IDE, en la carcasa se fija el disco duro
y se coloca en la bahía correspondiente del
gabinete, luego se conecta y comienza a disipar
el calor, en teoría el nivel de ruido es bajo ya que
no tiene contacto con el exterior.
7
Estructura lógica de un disco duro
Forma en que se acomoda la información por medio de las cabezas de
lectura/escritura. La estructura lógica de un disco duro consiste en las siguientes partes
principales:
1) Caras: Cada uno de los lados de cada plato.
2) Pistas ó Cilindros: Son anillos internos de limadura magnética, donde se va
acomodando la información.
3) Sectores: Es un área que contiene 520B por sector, y de los cuáles 8 se usan para 2
tipos de información:
a) Información Inicial: Número de pista, datos, número de sector.
b) Información final: Clave del sector, "checksum" (coincidencia de Bytes para
determinar integridad).
El sistema reconoce el sector 0 ó sector de inicio, no tiene limadura magnética en una
pequeña parte de su superficie.
4) "Clusters" ó racimos:
Conjunto de sectores
con los que trabaja el
sistema operativo para
hacer más eficaz la
lectura y escritura de
datos.
Figura 10. Estructura
lógica de un disco
duro. El esquema está
representado por un
plato con sus
componentes lógicos principales.
5) Sector de arranque maestro: Se encarga de comenzar a cargar en la memoria RAM
el sistema operativo; consta de los siguientes elementos:
a) IPL: significa "Initial Program Loading"; ó su traducción al español es programa
inicial de carga: es un pequeño programa que permite a la computadora reconocer al
disco duro como arrancable.
b) Archivos para el arranque: Son archivos pertenecientes al sistema operativo que
se pretende cargar.
c) Tabla de particiones: Guarda la información del número de unidades y partes en
que está dividido el disco duro.
d) Características del disco: Guarda información sobre el disco duro, tales como la
capacidad, número de sectores, número de cabezas, número de pistas etc.
6) FAT y copia de la FAT: Significa "File Allocation Table", tabla para asignación de
archivos. Registra el estado general de todos los clusters (defectuosos, libres,
ocupados, etc), así como también guarda la dirección específica dónde se almacenaron
las partes de un archivo dentro del disco duro.
7) Directorio raíz ó "Root directory": Almacena la información de la cantidad máxima de
archivos que puede
guardar un disco duro
así como la información
esencial de cada uno de
ellos (Nombre,
extensión, atributos,
hora, fecha, etc).
8) Zona de datos: Es la
parte dónde se
almacenarán los
archivos del usuario,
programas del sistema
operativo, música,
videos, etc.
3.5. Discos SCSI
El disco duro SCSI durante mucho tiempo no tuvo competencia importante en el
mercado, pero actualmente compite directamente contra los discos duros SATA II,
aunque por su alta velocidad de giro, aún no logra ser reemplazado.
Significado de SCSI
SCSI proviene de las siglas de ("Small Computer System Interface"), su traducción es
pequeña interfase de sistema para computadora. Es un estándar para dispositivos de
alta velocidad que incluyen discos duros entre sus especificaciones.
Estos discos duros no son muy populares a nivel doméstico como los discos duros IDE
ó los discos duros SATA; por lo que son utilizados principalmente por grandes
empresas y sus precios son muy altos en comparación con los anteriores mencionados.
Puede depender de una tarjeta controladora SCSI para trabajar y ser instalados,
también puede necesitar cable para datos de 40, 50, 68 ú 80 conectores, dependiendo
el modelo. Algunos modelos tienen la característica denominada "Hot Swappable", lo
que significa poder conectarlo y desconectarlo sin necesidad de apagar la
computadora.
8
El disco duro SCSI tiene una medida estándar que es de 3.5 pulgadas (3.5") para
computadora de escritorio (Desktop).
Características del disco duro SCSI
Los discos duros cuentan con características que son comunes y que a continuación se
detallan:
RPM SCSI: Este dato puede ser 10,000 RPM hasta 15,000 RPM.
Pulgadas SCSI: se refiere al formato de tamaño de la unidad, esta puede ser de 3.5" ó
de 2.5".
Capacidades de almacenamiento SCSI: Para discos duros SCSI este dato puede estar
entre 10 (MB) hasta 300 GB.
Número de pines: Es la cantidad de conectores de datos que tiene integrado y que
serán conectados a la tarjeta controladora SCSI. Puede tener 40, 50, 68 ú 80 pines.
Conector de datos del disco duro SCSI
El conector que utiliza el disco duro SCSI para transmitir y recibir los datos puede ser
de 40, 50, 68 ú 80 pines
Alimentación eléctrica del disco duro SCSI
En el caso de la alimentación eléctrica, el disco duro SCSI tiene un conector de 4
contactos MOLEX, que también es común para discos duros IDE y unidades ópticas.
Ventilación del disco duro SCSI / Cooler para disco duro SCSI
Utiliza la misma tecnología de los discos IDE.
La tarjeta controladora SCSI
Estas tarjetas de las cuáles depende, no es más que una tarjeta de expansión, que
permite interconectar el disco duro con la tarjeta principal ("Motherboard"), ello porque
al no ser tan populares, no vienen soportados en las tarjetas principales comerciales.
Estas tarjetas también pueden tener conectores para disqueteras, puertos de
comunicación, unidades de CD-R, etc.
Estructura lógica de un disco duro
Usa la misma tecnología que los discos IDE.
Usos específicos del disco duro SCSI
1) Se utilizan principalmente para el almacenamiento de los sistemas operativos de red
(Microsoft Server 2009, plataforma Linux Apache) y para servidores de grandes
empresas.
2) También un uso muy frecuente es el de guardar la información de usuarios en
grandes empresas.
SATA
Esta es una nueva especificación que maneja la transferencia de datos de modo serial
mejorado con un cable de datos de 7 conectores y genera una transferencia de datos
(Rate) de hasta 150MB/s. Este tipo de discos tienen una característica denominada
"Hot Swappable", lo que significa poder conectarlo y desconectarlo sin necesidad de
apagar la computadora.
El disco duro SATA puede tener 2 medidas, estas se refieren al diámetro que tiene el
disco cerámico físicamente, por lo tanto el tamaño de la cubierta también variará.
3.5 pulgadas (3.5"), para discos duros internos para computadora de escritorio.
2.5" para discos duros internos para computadoras portátiles (Laptop) ó Notebook.
Características del disco duro SATA
Los discos duros SATA cuentan con las características que a continuación se detallan:
FSB: Este dato en discos duros SATA es de 150 MB/s.
Cache: Acelerador, es una memoria SRAM integrada en el cuerpo del disco duro SATA,
que almacena los datos que se han accesado frecuentemente; así cuando el
microprocesador solicite un dato, la memoria lo ofrece y evita volver a buscarlo en el
disco duro. Se mide en MB y lo más común es que integren 8 MB.
RPM: Este dato en discos duros SATA puede estar entre 5200 RPM hasta 7200 RPM.
Capacidad de almacenamiento del disco duro SATA
Para discos duros SATA este dato puede estar entre 80 GB hasta 400 GB.
Conector de datos del disco duro SATA
El conector que utiliza el disco duro SATA para transmitir y recibir los datos es de con 7
pines y es de forma de letra L.
Alimentación eléctrica del disco duro SATA
En el caso de la alimentación eléctrica, tiene un conector de 15 contactos:
3.6. RAID
La tecnología RAID (Rebundant Array of Inexpensive/Independent Disk), en español,
arreglo redundante de discos independientes o económicos, busca subsanar algunos
de los problemas comunes presente en los sistemas de almacenamiento tradicionales,
y lograr importantes mejoras a un bajo costo. Las principales finalidades de un sistema
RAID SON:
• Mejorar la tolerancia a fallos y errores
• Aumentar la integridad de los datos
• Mejorar el rendimiento
• Ofrecer una alternativa económica frente a los sistemas SCSI
En palabras sencillas, un arreglo se puede tomar como un conjunto de elementos, en
este caso un conjunto de discos organizados en forma ordenada.
Existen 2 alternativas para la implementación de redundancia de almacenamiento de
información mediante la tecnología RAID: RAID basado en software, y RAID basado en
hardware.
9
Los Arreglos RAID, basados en hardware, dotan a los equipos de computación de una
mayor capacidad de almacenamiento, a la vez que proveen acceso ininterrumpido a los
datos.
1. CÓMO FUNCIONA LA TECNOLOGÍA RAID:
RAID (Redundant Array of Inexpensive Disks / Arreglo Redundante de Discos
Económicos) combina múltiples discos duros en un arreglo, y almacena la información
procurando evitar que se pierdan datos si uno o más discos llegan a fallar. Existen
distintos niveles de redundancia en los arreglos RAID (generalmente se reconocen
desde RAID-0 hasta RAID-5 aunque existen proveedores que han especificado
unilateralmente otros niveles), los que definen distintas especificaciones de
almacenamiento.
Las soluciones RAID basadas en hardware son más seguras y más rápidas que las
soluciones basadas en software.
2. NIVELES DE RAID:
La mayor parte de los administradores de red han optado por RAID en los niveles 0, 1,
3 y 5, siendo bastante frecuente encontrar, en el mercado, equipos que pueden ser
configurados para varios de esos niveles.
Esquema de un RAID0
Distribuye los datos a través de varios discos. Este tipo de configuración no proporciona
redundancia (no es precisamente RAID), pero maneja varios discos como si fueran uno
solo, lo que proporciona una mayor velocidad de lectura y escritura. Lamentablemente,
si un disco falla en un arreglo Nivel 0, el sistema se cae. El nivel 0 requiere al menos 2
discos, siendo muy útil cuando se desea añadir capacidad de disco sin aumentar
nombres de identificación de volumen.
Es importante aclarar que el RAID es una técnica de software que busca los objetivos
antes descritos, esta puede venir implementada en controladoras RAID presentes hoy
en día en la mayoría de las placas madres. Además el RAID no es exclusivo para las
unidades SATA, comenzó con los discos tradicionales IDE e incluso con las
controladoras actuales se pueden mezclar en RAID discos IDE y SATA al mismo
tiempo.
RAID0 o Disk Striping (particionamiento de disco)
En un RAID0 se puede obtener un alto rendimiento gracias a la utilización de varios
discos en paralelo (mínimo dos unidades), la gracia de este tipo de RAID es que se
utilizan los distintos discos simultáneamente ya sea para leer o escribir, de lo cual se
puede señalar que teóricamente el rendimiento debería ser el doble, triple, etc, etc,
según la cantidad de disco que utilicemos.
Por ejemplo, supongamos que deseamos escribir un archivo de 50 megas en el disco
duro. En un sistema normal esos 50 MB son copiados secuencialmente al disco duro y
demoran un tiempo X dependiendo del disco y del sistema en si. En un RAID0
compuesto de dos discos, se copian simultáneamente "fragmentos" del archivo en los
dos discos, 25MB en cada uno, por lo tanto esto demoraría un tiempo X/2 en las
mejores situaciones.
La capacidad de un RAID0 seria = tamaño_disco_más_pequeño X n, n= número de
discos que conforman el RAID0.
Uno de los temas más polémicos
es que si los discos DEBEN ser
de iguales características o no.
La respuesta rotunda es no, si
los discos son de diferentes
tamaños se aplicara la fórmula
de arriba para sacar el tamaño
del RAID y si tienen
características distintas cada uno
funcionara independientemente,
por ejemplo (siguiendo el
anterior), si uno es más rápido y termina antes de escribir sus 25Mb deberá "esperar"
que el otro termine.
Ventajas
• Fácil de implementar
• Poca perdida de espacio (depende de la configuración)
• Alto rendimiento
Desventajas
• No es un RAID 100%, ya que no provee sistema de recuperación de errores o
tolerancia de fallos, un error en un disco y muere el arreglo completo
RAID1 o disk Mirroring (disco espejo)
El RAID1 es bastante similar al 0 en su
funcionamiento, salvo que en vez de
copiar/leer los archivos desde los distintos
discos (trozos de archivo) , este copia o lee el
archivo ENTERO en los distintos discos. Es
decir si deseamos grabar el mismo archivo de
50Mb del ejemplo anterior, este se copia en
todos los discos que conforman el RAID1
simultáneamente, por lo cual el rendimiento
es bastante similar al de 1 solo disco.
10
La capacidad del arreglo resultante será igual a la del disco más pequeño dentro del
RAID1. Este sistema funciona con dos discos, actuando uno de ellos como espejo.
Este tipo de RAID es recomendado para entornos donde la infamación es muy delicada.
Ventajas
• 100% tolerante a fallos, si falla un disco queda disponible el otro sin pausas en el
sistema.
• Alta disponibilidad del sistema, igual que el anterior si falla un disco quedara
disponible el otro.
Desventajas
• Sistema caro
• Capacidad de almacenamiento reducida, "se pierde" un disco completo.
• Puede ser un poco lento en ciertos entonos de trabajo
RAID 0+1
Combinación de los arrays anteriores que proporciona velocidad y tolerancia a fallos
simultáneamente. El nivel de RAID 0+1 fracciona los datos para mejorar el rendimiento,
pero también utiliza un conjunto de discos duplicados para conseguir redundancia de
datos. Al ser una variedad de RAID híbrida, RAID 0+1 combina las ventajas de
rendimiento de RAID 0 con la redundancia que aporta RAID 1. Sin embargo, la principal
desventaja es que requiere un mínimo de cuatro unidades y sólo dos de ellas se utilizan
para el almacenamiento de datos. Las unidades se deben añadir en pares cuando se
aumenta la capacidad, lo que multiplica por dos los costes de almacenamiento.
El RAID 0+1 tiene un rendimiento similar al RAID 0 y puede tolerar el fallo de varias
unidades de disco. Una configuración RAID 0+1 utiliza un número par de discos (4, 6,
8) creando dos bloques. Cada bloque es una copia exacta del otro, de ahí RAID 1, y
dentro de cada bloque la escritura de datos se realiza en modo de bloques alternos, el
sistema RAID 0. RAID 0+1 es una excelente solución para cualquier uso que requiera
gran rendimiento y tolerancia a fallos, pero no una gran capacidad. Se utiliza
normalmente en entornos como servidores de aplicaciones, que permiten a los usuarios
acceder a una aplicación en el servidor y almacenar datos en sus discos duros locales,
o como los servidores web, que permiten a los usuarios entrar en el sistema para
localizar y consultar información. Este nivel de RAID es el más rápido, el más seguro,
pero por contra el más costoso de implementar.
Esquema RAID0+1
Nota: los sistemas RAID2 al 7 son muy poco utilizados y enfocados a estaciones de
trabajo y no disponibles en la mayoría de las controladoras actuales para equipos de
escritorio, a continuación de definen brevemente para que los conozcamos.
RAID2
El esquema de redundancia en el RAID de nivel 2 es un código de Hamming, donde la
unidad de separación es un bit simple. Dividir al nivel de bit tiene la implicación de que
en un conjunto de discos con N discos de datos, la unidad más pequeña de datos de
transferencia para una lectura es un conjunto de N bloques.
El RAID de nivel 2 es implementado en contadas ocasiones.
RAID3
Introduce el chequeo de paridad, o la corrección de errores. Distribuye los datos a
través de múltiples discos al nivel de bytes, y añade redundancia mediante la utilización
de un disco de paridad dedicado,
que detecta errores en los datos
almacenados producidos por una
falla de cualquier disco, y los
reconstruye mediante algoritmos
especiales. Si la falla se produce
en el disco de paridad, se pierde
la redundancia, pero se mantiene
intacta la información original.
Debido a que RAID Nivel 3
escribe los datos en grandes
bloques de información, es una
11
alternativa apropiada para aplicaciones tales como video que envían y reciben grandes
archivos.
Este control de información codificada o paridad proviene de los datos almacenados en
los discos y permite la reconstrucción de información en caso de fallas. Se requieren
como mínimo 3 discos y se utiliza la capacidad de un disco para la información de
control.
Los datos se dividen fragmentos que se transfieren a los discos que funcionan en
paralelo, lo que permiten enviar más datos de una sola vez, y aumentar en forma
sustancial la velocidad general de transferencia de datos. Esta última característica
convierte a este nivel en idóneo para que estas aplicaciones que requieran la
transferencia de grandes ficheros contiguos hacia y desde el ordenador central.
RAID4
Sistemas de discos independientes con disco de control de errores.
En el nivel 4 de RAID los bloques de datos pueden ser distribuidos a través de un grupo
de discos para reducir el tiempo de transferencia y explotar toda la capacidad de
transferencia de datos de la matriz de disco. El nivel 4 de RAID es preferible al nivel 2
de RAID para pequeños bloques de datos, porque en este nivel, los datos son
distribuidos por sectores y no por bits. Otra ventaja del nivel 4 de RAID frente a los
niveles 2 y 3 es que al mismo tiempo puede estar activa más de una operación de
lectura escritura sobre el conjunto de discos.
Cada disco graba un bloque de datos distinto, y un disco adicional graba un código de
corrección de errores. Si falla un disco, su información se puede recomponer; solo
perdemos la capacidad de un disco, pero éste está muy saturado.
El nivel 4 de RAID tiene división a nivel de bloques y el acceso al arreglo de discos es
paralelo, pero no simultaneo. Posee un bit delicado a paridad y corrección de errores.
La operación de escritura se realiza en forma secuencial y la lectura en paralelo,
RAID5
Es la alternativa más popular. El Nivel 5 crea datos de paridad, distribuyéndolos a
través de todos los discos
(excepto en aquel disco en que
se almacena la información
original), obviando la necesidad
de un disco de paridad dedicado.
El Nivel 5 es el más completo de
todos los niveles de redundancia
por distribución, porque si un
disco falla, la información de
paridad en los otros permite la
reconstrucción de toda su información. Aún más, el Nivel 5 escribe datos en los discos
al nivel de bloques (en lugar de trabajar al nivel de bytes), volviéndolo más apropiado
para múltiples transacciones pequeñas como e-mail, procesadores de palabras, hojas
electrónicas, y aplicaciones de bases de datos. Los niveles 3 y 5 requieren al menos de
3 discos para su implementación.
Igual que el anterior, pero el disco que graba el código de corrección se va alternando.
Rápido, seguro, y sólo pierde la capacidad de un disco...pero se necesitan al menos 3
discos.
RAID6
Este tipo es similar al RAID-5, pero incluye un segundo esquema de paridad distribuido
por los distintos discos y por tanto ofrece tolerancia extremadamente alta a los fallos y
las caídas de disco. Hay pocos ejemplos comerciales en la actualidad.
RAID7
Este tipo incluye un sistema operativo incrustado de tiempo real como controlador,
haciendo las operaciones de caché a través de un bus de alta velocidad y otras
características de un ordenador sencillo. Tiene un tiempo de acceso cercano a cero.
3.7. CD-ROM
3.8. CD grabables
3.9. CD reescribibles
3.10. DVD
4. ENTRADA/SALIDA
4.1. Buses
El bus (o canal) es un sistema digital que transfiere datos entre los componentes de una
computadora o entre computadoras. Está formado por cables o pistas en un circuito
impreso, dispositivos como resistores y condensadores además de circuitos integrados.
En los primeros computadores electrónicos, todos los buses eran de tipo paralelo, de
manera que la comunicación entre las partes del computador se hacía por medio de
cintas o muchas pistas en el circuito impreso, en los cuales cada conductor tiene una
función fija y la conexión es sencilla requiriendo únicamente puertos de entrada y de
salida para cada dispositivo.
Funcionamiento
La función del bus es la de permitir la conexión lógica entre distintos subsistemas de un
sistema digital, enviando datos entre dispositivos de distintos órdenes: desde dentro de
los mismos circuitos integrados, hasta equipos digitales completos que forman parte de
supercomputadoras.
La mayoría de los buses están basados en conductores metálicos por los cuales se
trasmiten señales eléctricas que son enviadas y recibidas con la ayuda de integrados
que poseen una interfaz del bus dado y se encargan de manejar las señales y
12
entregarlas como datos útiles. Las señales digitales que se trasmiten son de datos, de
direcciones o señales de control.
Los buses definen su capacidad de acuerdo a la frecuencia máxima de envío y al ancho
de los datos. Por lo general estos valores son inversamente proporcionales: si se tiene
una alta frecuencia, el ancho de datos debe ser pequeño. Esto se debe a que la
interferencia entre las señales (crosstalk) y la dificultad de sincronizarlas, crecen con la
frecuencia, de manera que un bus con pocas señales es menos susceptible a esos
problemas y puede funcionar a alta velocidad.
Todos los buses de computador tienen funciones especiales como las interrupciones y
las DMA que permiten que un dispositivo periférico acceda a una CPU o a la memoria
usando el mínimo de recursos.
Características de un bus
Un bus se caracteriza por la cantidad de información que se transmite en forma
simultánea. Este volumen se expresa en bits y corresponde al número de líneas físicas
mediante las cuales se envía la información en forma simultánea. Un cable plano de 32
hilos permite la transmisión de 32 bits en paralelo. El término "ancho" se utiliza para
designar el número de bits que un bus puede transmitir simultáneamente.
Por otra parte, la velocidad del bus se define a través de su frecuencia (que se expresa
en Hercios o Hertz), es decir el número de paquetes de datos que pueden ser enviados
o recibidos por segundo. Cada vez que se envían o reciben estos datos podemos
hablar de ciclo.
De esta manera, es posible hallar la velocidad de transferencia máxima del bus (la
cantidad de datos que puede transportar por unidad de tiempo) al multiplicar su ancho
por la frecuencia. Por lo tanto, un bus con un ancho de 16 bits y una frecuencia de 133
MHz, tiene una velocidad de transferencia de:
16 * 133.106 = 2128*106 bit/s, o 2128*106/8 = 266*106 bytes/s o 266*106 /1000 =
266*103 KB/s o 259.7*103 /1000 = 266 MB/s
Subconjunto de un bus
En realidad, cada bus se halla generalmente constituido por entre 50 y 100 líneas
físicas distintas que se dividen a su vez en tres subconjuntos:
El bus de direcciones, (también conocido como bus de memoria) transporta las
direcciones de memoria al que el procesador desea acceder, para leer o escribir datos.
Se trata de un bus unidireccional.
El bus de datos transfiere tanto las instrucciones que provienen del procesador como
las que se dirigen hacia él. Se trata de un bus bidireccional.
El bus de control (en ocasiones denominado bus de comando) transporta las órdenes y
las señales de sincronización que provienen de la unidad de control y viajan hacia los
distintos componentes de hardware. Se trata de un bus bidireccional en la medida en
que también transmite señales de respuesta del hardware.
Los buses principales
Por lo general, dentro de un equipo, se distinguen dos buses principales:
El bus interno o sistema (que también se conoce como bus frontal o FSB). El bus
interno permite al procesador comunicarse con la memoria central del sistema (la
memoria RAM).
El bus de expansión (llamado algunas veces bus de entrada/salida) permite a diversos
componentes de la placa madre (USB, puerto serial o paralelo, tarjetas insertadas en
conectores PCI, discos duros, unidades de CD-ROM y CD-RW, etc.) comunicarse entre
sí. Sin embargo, permite principalmente agregar nuevos dispositivos por medio de las
ranuras de expansión que están a su vez conectadas al bus de entrada/salida.
Tipos de bus
Existen dos grandes tipos clasificados por el método de envío de la información: bus
paralelo o bus serie.
Hay diferencias en el desempeño y hasta hace unos años se consideraba que el uso
apropiado dependía de la longitud física de la conexión: para cortas distancias el bus
paralelo, para largas el serial.
Bus paralelo
Es un bus en el cual los datos son enviados por bytes al mismo tiempo, con la ayuda de
varias líneas que tienen funciones fijas. La cantidad de datos enviada es bastante
grande con una frecuencia moderada y es igual al ancho de los datos por la frecuencia
de funcionamiento. En los computadores ha sido usado de manera intensiva, desde el
bus del procesador, los buses de discos duros, tarjetas de expansión y de vídeo, hasta
las impresoras.
Las líneas de dirección son las encargadas de indicar la posición de memoria o el
dispositivo con el que se desea establecer comunicación.
Las líneas de control son las encargadas de enviar señales de arbitraje entre los
dispositivos. Entre las más importantes están las líneas de interrupción, DMA y los
indicadores de estado.
Las líneas de datos transmiten los bits de forma aleatoria de manera que por lo general
un bus tiene un ancho que es potencia de 2.
Bus serie
En este los datos son enviados, bit a bit y se reconstruyen por medio de registros o
rutinas de software. Está formado por pocos conductores y su ancho de banda depende
de la frecuencia. Es usado desde hace menos de 10 años en buses para discos duros,
unidades de estado sólido, tarjetas de expansión y para el bus del procesador.
4.2. Terminales
4.3. Ratones
4.4. Impresoras
13
4.5. Módems
4.6. Códigos de caracteres
14
Descargar