lunes, 10 de noviembre de 2008

discos duros



Los discos duros son los elementos más importantes, en cuanto a velocidad, después del CPU. El disco de 10 MB y 110 mseg que tantas satisfacciones dio a los usuarios del XT o el de 214 MB y 16 mseg son demasiado lentos y limitados cuando se conectan a los nuevos ordenadores basados en Pentium III ó K6-III.

 

..- Fundamentos del disco duro

Aparentemente, el funcionamiento de un disco duro es similar al de una disquetera, lo que pasa es que presenta una serie de diferencias notables que lo hacen más avanzado y veloz.

En los tiempos de la informática prehistórica, los primeros discos duros estaban formados por una serie de cilindros en los que unas cabezas grababan o escribía la información. Posteriormente, se cambiaron cilindros por discos.

Un disco duro está formado por una serie de discos plásticos recubiertos de un sustrato magnético al igual que un disquete. Para leer o escribir se utilizan dos cabezas por disco, de manera que podemos utilizar ambas caras del disco. Actualmente, a cada disco se le denomina plato.

Luego la estructura de un disco duro a nivel del DOS es similar a la de una disquetera, de manera que tenemos cilindros (en los disquetes se llamaban pistas), cabezas y sectores. Con estos datos podemos calcular su capacidad.

 

Si recordamos uno de los discos duros más famosos, el SeaGate ST-125, tenía 615 cilindros, 4 cabezas (por tanto, dos platos) y 17 sectores por cilindro. Si multiplicamos cilindros por sectores por cabezas por 512 Bytes por sector:

Capacidad = cilindros x cabezas x sectores x 512.

Capacidad = 615 x 4 x 17 x 512 = 21.411.840 Bytes

La capacidad es de 20,1MB.

De esta forma se calcula el tamaño de un disco duro.

Antiguamente, los discos duros tenían el número de platos que se indicaba en sus listas de parámetros; sin embargo, hoy leemos discos duros de 16, 32 ó 64 cabezas, y al ver el tamaño físico no nos entra en la cabeza que dentro haya 8, 16 ó 32 platos.

En realidad, no hay ese número de platos ni cabezas. Como mucho habrá 4 platos. Lo que pasa es que el disco duro tiene lo que se denomina transformación geométrica, o sea, aunque su número de cabezas y platos sea distinto, el circuito del disco se encarga de traducir los valores del disco a los valores de platos y cabezas que supuestamente tendría.

De esta forma, disminuimos el coste del disco pero mantenemos la compatibilidad con lo que nos diga sus parámetros. Más adelante ampliaremos este concepto.


 


Otra de las dudas que se presentan es si en un disco duro hay intercalado de datos. En los discos antiguos, el intercalado de datos podía llegar a ser de hasta 6. en los discos duros actuales, el intercalado es de 1, al igual que en una disquetera, debido a que los discos actuales son muy rápidos, pero las máquinas que los soportan lo son más, por lo que no hay problema alguno.

Respecto al aspecto físico, los primitivos discos duros tenían un tamaño de 5 ¼ pulgadas de ancho. Posteriormente han disminuido su tamaño hasta 3,5 pulgadas para discos de uso corriente y 2,5 pulgadas para los discos duros utilizados en los portátiles.

Los platos del disco duro se encuentran encerrados en una caja metálica casi hermética, pues la más pequeña mota de polvo puede estropear el disco duro.



Me explico, en principio el disco duro está parado, y las cabezas se encuentran "aparcadas" fuera de la superficie de los platos.

Cuando el disco comienza a girar, poco a poco se coloca en su velocidad máxima permitida. En ese momento, se produce una turbulencia de aire en el interior, de manera que en la superficie del disco existe un "colchón" de aire; es el llamado efecto Bernoulli. En ese momento, la cabeza ya se coloca en la superficie del plato, pero debido al colchón de aire, está a una distancia inferior a una micra. De esta forma, se pueden leer y escribir los datos en el plato, pero no hay rozamiento alguno.

Un detalle: Para la correcta turbulencia de es necesaria una vía de escape de aire. Todo disco duro lleva unas perforaciones en la parte superior, tapadas con un disco de fieltro. De esta forma, el aire puede entrar y salir, pero no el polvo. Acabamos de terminar con el mito de los discos duros cerrados herméticamente.

Cuando cortamos la alimentación del disco, las cabezas se autoaparcan fuera del plato. Antiguamente, el "parking" se efectuaba por programa, puesto que las cabezas quedaban encima de los platos. Cualquier golpe provocaba que la cabeza "picara" la superficie del disco, de forma que provocaba un error.

Otro detalle a tener en cuenta es que, debido al calentamiento de los componentes, así como a la aceleración de los platos, la velocidad del disco duro puede variar.

Es por eso por lo que de vez en cuando, el disco duro para su actividad con objeto de reajustar su velocidad. A este proceso se le denomina recalibración térmica.

Este proceso no revestiría mayor importancia exceptuando que hay aplicaciones en las que se necesita un flujo continuo de datos sin interrupción, como por ejemplo en la grabación de un CDROM o bien en aplicaciones de Audio/Vídeo digital. En estos casos, la interrupción momentánea del flujo de datos puede producir daños irreparables en el proceso que estemos realizando.

Es por eso por lo que para estas aplicaciones hay que buscar discos duros sin recalibración térmica o bien con calibración inteligente, la cual consiste en que el disco duro efectúa el proceso solo si no hay nadie que esté utilizando al disco, o bien cuando las tareas que lo estén utilizando hayan terminado.

Los discos duros con calibración inteligente son fácilmente reconocibles puesto que suelen tener una pegatina con la leyenda "Multimedia Ready" ó "Audio/Video Ready".



Para poder seguir hablando de los discos duros, es necesario tener un pequeño diccionario sobre los términos más usuales.

 

.- Vocabulario

PISTAS: Círculos concéntricos donde la cabeza de lectura/escritura se sitúa para leer/ escribir los datos.

CILINDROS: El conjunto de pistas de todos los platos y todas las caras que se encuentran a la misma distancia del centro del plato.

TIEMPO DE BÚSQUEDA: Es el intervalo de tiempo que transcurre desde que la cabeza se desplaza a la pista que desea leer.

TIEMPO DE ACCESO PROMEDIO: Es una media del intervalo de tiempo que tarda en pasar de la posición actual a la pista que desea leer.

LATENCIA PROMEDIO: Es el promedio de tiempo necesario para que el disco de media vuelta.

VELOCIDAD DE TRANSFERENCIA: Es la velocidad a la que se leen los bits del disco.

FORMATO FÍSICO: Escritura de las direcciones de sectores, bytes de sincronismo, bytes de intervalo y algunos otros detalles diversos de los datos en el preámbulo del sector. El formato físico es el primer paso a realizar después de instalar el disco físicamente y asignar un tipo en la memoria CMOS.

INTERLEAVING: La cabeza lee un sector, pasa los datos al controlador y vuelve a leer otro sector. El tiempo que transcurre entre lectura y lectura es mayor que el tiempo que tarda el disco en girar, por ello es necesario alternar los sectores consecutivos. Esta alternancia es el interleave.

RECALIBRACIÓN TÉRMICA: Proceso por el cual el disco duro se para momentáneamente para reajustar su velocidad de giro.

martes, 28 de octubre de 2008

la placa base



 Una placa base está formada por una serie de circuitos que cumplen una serie de funciones determinadas para el funcionamiento del CPU.  Los principales componentes de la placa base son:



·El zócalo del CPU.
·El controlador del teclado.
·El controlador de DMA´s e IRQ´s.
·Los buses de expansión.
·La memoria ROM BIOS.
·El controlador de la caché.

  Todos estos elementos cumplen una serie de funciones específicas que son absolutamente necesarias para el funcionamiento del PC. Iremos descubriendo a lo largo de este capítulo como funciona cada una de las distintas partes que componen una placa base

El zócalo de la CPU

Hubo un tiempo en que la placa base venía con el CPU integrado o soldado en la placa; eran los tiempos de los 286 y los 386, a pesar de aparecer determinadas placas base que tenían la CPU en un zócalo para su posterior actualización o bien porque el fabricante ponía la CPU que le interesaba.

Esta  tendencia se mantuvo en la época del 486SX,  pero fue con la llegada del 486DX cuando comenzaron a colocarse zócalos en los equipos, por varias razones.

La primera fue que los 486DX venían con un patillaje que implicaba la colocación de un zócalo, pero la principal fue el hecho de la aparición de  CPU´s 486  más veloces, que podían colocarse en las placas base  que ya estuvieran en el mercado.

 Al principio, los zócalos de las placas base eran del mismo tipo que los del resto de circuitos integrados que existían en el mercado: una pieza de plástico con agujeros metalizados donde se introducía la CPU.  Pero el paso del tiempo obligó a hacer varios cambios en las máquinas, ya que aparecieron los 486DX a 33MHz, a 40, a 50...  Muchos cambios que podían dañar los CPU´s. Efectivamente, no todos tienen la pericia suficiente para pinchar un circuito integrado que tiene  un centenar largo de pines. Es fácil doblar o romper alguna.

  Para facilitar la tarea de  la inserción de los CPU´s, nacieron los zócalos ZIF (Zero Insertion Force), zócalos de fuerza de inserción nula.  En los zócalos ZIF, los pines encajan en unos agujeros en los que existen una serie de micropinzas que agarran los pines del CPU, los cuales entran holgadamente en dichos agujeros.

 El zócalo ZIF dispone de una palanquita que al ser accionada mueve las micropinzas, agarrando o liberando los pines del CPU.

luego aparecio el Socket Super 7.De todas formas, para los K7 Athlon, AMD ha acordado junto con Digital la utilización del bus EV6 utilizado en los microprocesadores Alpha, el cual permite velocidad de bus de hasta 200 MHz.  El formato de ranura es el mismo que el del Slot 1, pero con distinto conexionado, de manera que es totalmente incompatible.  Este Slot es denominado Slot A.

Una última tendencia para evitar los costos de varios zócalos en los sistemas de proceso simétrico consiste en una placa que se conecta en uno de los buses de expansión y que incorpora uno o más zócalos en los que se pueden conectar varias CPU´s.  Esta medida abarata el coste de la placa base, además de permitir que el usuario amplíe a los procesadores que necesita

El controlador de teclado

Para poder comunicarnos con el ordenador es necesario un teclado, por el cual se introducen los datos necesarios.

 El teclado se conecta a la placa base por una toma de tipo DIN de 5 pines a 180º, si bien actualmente se utiliza una MiniDIN con una conexión peculiar, lo cual obliga muchas veces a utilizar un adaptador o bien comprar el teclado con conexión MiniDIN.

El funcionamiento del teclado se verá más adelante, si bien podemos decir ya que cuando pulsamos una tecla se manda por el hilo de datos el Byte correspondiente al código de la tecla. Como con 8 Bits podemos hacer 256 combinaciones, podemos mandar 256 caracteres distintos, que incluyen símbolos griegos, puntuación, caracteres gráficos y de control, etc.

            El controlador de teclado es un circuito integrado especializado que se encarga de la gestión de los datos que son enviados desde el teclado. Téngase en cuenta que un teclado manda los datos en serie, o sea, los 8 Bits que corresponden a un carácter, todos por un mismo hilo, como se vio hace un momento.

            El controlador de teclado debe efectuar la conversión de esos datos en serie en una serie de datos en paralelo, o sea, cada bit por una línea independiente, con objeto de introducirla en  memoria del ordenador.

            Además, los controladores de teclado nos permiten hacer por software una serie de cosas muy interesantes, como por ejemplo variar la velocidad de repetición de las teclas o el retardo necesario para considerar una pulsación como válida.  Esta serie de facilidades pueden variarse desde la ROM BIOS del ordenador. 

            Como última tendencia, han aparecido teclados especiales que incorporan una serie de teclas de control del CD, el sonido, el DVD,  etc.  Estos teclados se denominan Multimedia, y llevan un disco o CD con un programa de activación de dichas funciones especiales.

 Controladores de IRQ y DMA

            Cuando estamos hablando de la comunicación de la CPU con el resto de módulos que componen el ordenador, debemos pensar en dos cosas muy importantes: ¿Cómo avisa un determinado circuito al CPU de lo que va a hacer? y ¿Cómo se transfieren los datos desde ese dispositivo a la CPU o memoria y viceversa?.

            Vamos a ver las cosas un poco más despacio; supongamos que tenemos un dispositivo que tiene que mandar señales al ordenador para poder ser interpretadas posteriormente; un ratón  bastará para el ejemplo.

            Si estamos moviendo el ratón, lo que no podemos tener es a la CPU continuamente consultando al ratón para ver lo que está haciendo y actuar.  Esa técnica acabaría colapsando al ordenador, que estaría continuamente testando el ratón, la impresora, el módem, etc. Para hacer esto sin afectar al funcionamiento de la CPU, nacieron las interrupciones.

            Las interrupciones son algo que tiene toda CPU que se precie, y consisten en una serie de líneas por donde se reciben peticiones de interrupción de la tarea de la CPU, para que pueda atender al dispositivo que le está haciendo la llamada.

            Evidentemente, hay que tener en cuenta una serie de cosas a la hora de tratar las interrupciones:

· Las interrupciones deben tener unas prioridades entre ellas, según su importancia.
· Debe haber alguna interrupción con máxima prioridad con objeto de atender a tareas o periféricos de emergencia.
· La interrupción debe tratarse cuando se pueda, a menos que su prioridad sea la máxima.
            La prioridad de las interrupciones es un tema muy delicado.  Para ello existen básicamente dos tipos: Las interrupciones enmascarables (MI) y las interrupciones no enmascarables (NMI).

            Una interrupción enmascarable la puede hacer un dispositivo cualquiera a la CPU, y este terminará lo que esté haciendo y posteriormente atenderá a la interrupción. Esto implica que las interrupciones enmascarables no tienen la prioridad necesaria para detener cualquier tarea.  Es decir, las distintas interrupciones enmascarables tienen una determinada prioridad, unas más y otras menos, y serán atendidas por orden en caso de que se produzcan dos llamadas simultáneamente.

            A esta petición de interrupción por parte de algún dispositivo se la denomina Interrupt Request (IRQ).
            En un principio, los PC´s disponían de 8 interrupciones, pero cuando se ampliaron los buses y las prestaciones de las máquinas, su número subió a 16, siendo numeradas del 0 al 15
            Estas son las interrupciones que normalmente están disponibles para el usuario y los dispositivos. No todas están libres, ya que la mayoría son utilizadas por una serie de dispositivos y no pueden utilizarse, si bien una misma interrupción puede ser utilizada por dos dispositivos si no se va a producir una llamada simultánea por parte de éstos.

            Como ejemplo, las tarjetas MultiMedia de sonido utilizan la IRQ7, que también es utilizada por la impresora. Normalmente no se imprime a la vez que oímos música, pero con los nuevos sistemas multitarea...

            Respecto a la interrupción no enmascarable, es la de máxima prioridad, de manera que cuando es solicitada, las tareas que se puedan cerrar se cerrarán y las que no se puedan tendrán que ser cerradas de emergencia.  Además, si el sistema tiene algún tipo de modo supervisor, puede activarse para intentar corregir el error que provocó la interrupción.

            Las interrupciones no enmascarables normalmente son pedidas por software, de manera que algún programa que prevea o provoque una catástrofe intente enmendar el desastre.
            Pero concentrémonos en las MI, y en el ejemplo del ratón; cuando movemos el ratón o bien pulsamos alguno de sus botones, se produce una petición de interrupción por parte de dicho dispositivo. En ese momento pueden suceder dos cosas: o bien no hay nada importante que hacer, en cuyo caso la CPU da paso al ratón y lee sus datos, o bien hay una tarea importante u otra interrupción simultánea por parte de otro dispositivo. En estas circunstancias, el CPU termina sus tareas antes de dar paso a la petición de más alta prioridad.

            Bien, dejemos la teoría y pasémonos a la práctica.  ¿Cuáles son las IRQ? ¿Cuáles quedan libres? De las que están ocupadas ¿Cuál se puede compartir? ¿Cuáles son las más solicitadas por los dispositivos que instalemos?.

            En la siguiente lista podemos ver las IRQ´s de un sistema tipo PC, así como su disponibilidad y el dispositivo al que se encuentra asignada:

· IRQ 0: reloj, no disponible.
· IRQ 1: teclado, no disponible.
· IRQ 2:  puente al segundo controlador IRQ.
· IRQ 3: COM2 y COM4, compartida.
· IRQ 4:  COM1 y COM3, compartida.
· IRQ 5: LPT 2, disponible compartida.
· IRQ 6: disquetera, no disponible.
· IRQ 7: LPT1, disponible compartida.
· IRQ 8:  reloj del distema, no disponible.
· IRQ 9: puente al primer controlador IRQ.
· IRQ 10: disponible.
· IRQ 11: disponible.
· IRQ 12: disponible si no hay ratón tipo PS2.
· IRQ 13: coprocesador o MMX, no disponible.
· IRQ 14: puerto primario IDE, no disponible.
· IRQ 15: puerto secundario IDE, no disponible.
            Como vemos, quedan muy pocas IRQ´s libres para el usuario.  Otras pueden compartirse con algún dispositivo sin mucho problema, y otras están compartidas (IRQ 3 y 4), pero no es conveniente colocar los dispositivos simultáneamente.

            Como hemos dicho, en los primeros PC´s sólo había 8 IRQ´s.  Cuando se ampliaron a 16, hubo que hacer algún tipo de aviso para ver como se activaban las otras ocho IRQ´s.  La solución fue utilizar una de ellas para avisar.

            De esta forma, cuando activamos la IRQ 2, en realidad estamos avisando al sistema que vamos a utilizar las comprendidas entre la 8 y la 15, haciendo el enganche a través de la IRQ 9.

 

5.5. El controlador de DMA

            Una vez visto como se efectúan las peticiones de interrupción a la CPU, la siguiente pregunta es ¿Cómo se transfiere la información desde el dispositivo que solicita la interrupción a la CPU o a la memoria?  La respuesta es simple: gracias a las líneas I/O.

            Las I/O Address (Input/Output Address, direcciones de entrada/salida) son unas direcciones de memoria en las cuales se almacenan los datos obtenidos desde un periférico, tarjeta, etc.  Para la correcta comprensión, sigamos con el ejemplo del ratón.

            Una vez que el ratón ha solicitado la IRQ y que esta ha sido atendida, los valores del ratón (al moverse, al pulsar un botón, etc.) son colocados en una posición de memoria fija, a la cual el CPU puede acceder para procesar la información, o bien para mandarla al programa, o donde corresponda.  Esa dirección es la I/O Address.

            En un principio, cualquier dirección de memoria base puede ser una I/O Address, siempre y cuando no interfiera con nada.  Las I/O Address pueden ser necesarias para la transferencia de datos desde un scanner, una capturadora, etc.

            Lo que sucede es que ya hay una serie de direcciones standard para determinados dispositivos, los que siempre acompañan al ordenador, y el software debe saber que se usan para esos dispositivos y nada más.  Las más comunes son:

· I/O 1F0: Primer disco duro.
· I/O 1F8: Segundo disco duro.
· I/O 170: Tercer disco duro.
· I/O 178: Cuarto disco duro.
· I/O 3F8: COM1.
· I/O 2F8: COM2.
· I/O 3E8: COM3.
· I/O 2E8: COM4.
· I/O 378: LPT1.
· I/O 278: LPT2.
· I/O 3BC: LPT3.
            Existen otras direcciones I/O, pero estas son las más importantes.

            Si seguimos el siguiente ejemplo, lo terminaremos de entender.  Por supuesto, es el ejemplo del ratón.

            Una vez que hemos movido el ratón, este hace una petición de IRQ al CPU.  Este terminará de hacer la tarea que tuviera y atenderá  a la IRQ solicitada si no tuviera otra cosa que hacer o no hubiera ninguna IRQ con mayor prioridad.

            Una vez atendida la petición, los valores obtenidos del ratón se pasarían a la dirección I/O 3f8 (si el ratón estuviera conectado a COM1), desde donde el CPU tomaría el valor para hacer lo que le dicte el software que esté funcionando.

            Como podemos ver, los I/O Address son el puente entre los periféricos y dispositivos y el CPU y su proceso.

            Sin embargo, tenemos un problema:  Las I/O son perfectas cuando tenemos que transferir información lenta, es decir, con un flujo de datos pequeño; por el contrario, no nos sirve para las grandes transferencias de datos.  Con otro ejemplo lo comprenderemos perfectamente.

            Supongamos que tenemos una capturadora de vídeo, que es una tarjeta capaz de convertir las imágenes de un vídeo, cámara u otra fuente de imágenes en datos de ordenador.  Las capturadoras tienen que ser extremadamente rápidas para poder digitalizar las imágenes que se les introduzca.  Esto produce un flujo de datos de varios MB/segundo.

            Si utilizamos el método I/O, cada byte de información irá pasando por la I/O Address con objeto de ser luego almacenado en memoria o en disco duro. Como el paso se hace de byte a byte, nos haría falta un Pentium VI 5000 (Si existiera) para poder hacerlo a la velocidad necesaria.

            Imaginemos lo siguiente:  ¿Se podría hacer un trasvase directo desde la capturadora a la memoria o al disco duro sin pasar por la I/O Address?  La respuesta es que sí, gracias a los canales de DMA.

            DMA significa Direct Access Memory, Acceso Directo a Memoria, y es el método utilizado cuando el flujo de datos es tan grande que es imposible utilizar los I/O Address.

            Cuando vamos a hacer un DMA, el dispositivo toma el control y comienza a volcar los datos obtenidos en la memoria (Consideremos al disco duro también como memoria, aunque sea virtual) directamente, siempre y cuando haya sitio para ello. 

            Nos estamos ahorrando el hacer el paso intermedio del I/O, pero además, la información circula a la velocidad que  permita el ordenador, no de byte en byte como en el sistema I/O.

            Es por ello por lo que el DMA se utiliza con los dispositivos que tienen gran flujo de datos, quedando el método I/O para dispositivos lentos, como los ratones, teclados  o las impresoras.

            La pregunta del millón es: ¿Cuantos DMA tenemos disponibles?. En los primeros PC´s, los canales de DMA existentes eran sólo cuatro, todos ellos de 8Bits.  Cuando aparecieron los ordenadores 286 se añadieron cuatro canales más, pero de 16Bits.  Por tanto, en un PC actual tenemos disponibles 8 canales de DMA.

· DMA 0: Uso interno, 8 bits, ocupado.
· DMA 1: Libre, 8 bits.
· DMA 2: Disquetera, 8 bits, ocupado.
· DMA 3: Libre, 8 bits.
· DMA 4: Uso interno, 16 Bits, ocupado.
· DMA 5: Libre, 16 bits.
· DMA 6: Libre, 16 bits.
· DMA 7: Libre, 16 bits.
            Gracias a Dios, los canales DMA no están tan ocupados como las IRQ, dándonos más libertad para elegir.

            De todas formas, con el DMA pasa lo mismo que con las IRQ:  No se pueden compartir a menos que no pueda provocarse nunca una simultaneidad de la petición de DMA.  Este tema es más delicado, puesto que con las IRQ lo más que puede pasar es que el dispositivo no funcione puesto que la IRQ ya está en uso por otro; pero con las DMA, que lo que hacen es trabajar con memoria, podemos provocar un crash del sistema.

            Unos detalles de importancia.  Hemos visto que hay DMA´s de 8Bits y de 16Bits.  A la hora de conectar una tarjeta que solicite un DMA, debemos utilizar el que corresponda.  Un módem, que normalmente viene en tarjeta de 8Bits, utilizará un DMA de 8Bits; por el contrario, una tarjeta de sonido que capture a 16Bits utilizará un DMA de 16Bits.

            En resumen, con esta pequeña introducción hemos visto del método I/O y del método DMA para la transferencia de datos desde un dispositivo que solicite una IRQ al CPU.  El tema es más complejo y extenso de lo que se ha explicado, pero se sale del objetivo del presente libro.

El funcionamiento del teclado se verá más adelante, si bien podemos decir ya que cuando pulsamos una tecla se manda por el hilo de datos el Byte correspondiente al código de la tecla. Como con 8 Bits podemos hacer 256 combinaciones, podemos mandar 256 caracteres distintos, que incluyen símbolos griegos, puntuación, caract

 

Bus xt y Bus isa(at)

BUS ISA


BUS XT

Tipos

Ahora vamos a ver los distintos tipos de buses que se han ido desarrollando y los que se emplean en la actualidad.

- EL BUS XT y EL BUS ISA (AT)

Cuando en 1980 IBM fabricó su primer PC, este contaba con un bus de expansión conocido como XT que funcionaba a la misma velocidad que los procesadores Intel 8086 y 8088 (4.77 Mhz). El ancho de banda de este bus (8 bits) con el procesador 8088 formaba un tandem perfecto, pero la ampliación del bus de datos en el 8086 a 16 bits dejo en entredicho este tipo de bus (aparecieron los famosos cuellos de botella).

Dada la evolución de los microprocesadores el bus del PC no era ni mucho menos la solución para una comunicación fluida con el exterior del micro. En definitiva no podía hablarse de una autopista de datos en un PC cuando esta sólo tenía un ancho de 8 bits. Por lo tanto con la introducción del AT apareció un nuevo bus en el mundo del PC, que en relación con el bus de datos tenía finalmente 16 bits (ISA), pero que era compatible con su antecesor. La única diferencia fue que el bus XT era síncrono y el nuevo AT era asíncrono. Las viejas tarjetas de 8 bits de la época del PC pueden por tanto manejarse con las nuevas tarjetas de 16 bits en un mismo dispositivo. De todas maneras las tarjetas de 16 bits son considerablemente más rápidas, ya que transfieren la misma cantidad de datos en comparación con las tarjetas de 8 bits en la mitad de tiempo (transferencia de 16 bits en lugar de transferencia de 8 bits).

No tan solo se amplió el bus de datos sino que también se amplió el bus de direcciones, concretamente hasta 24 bits, de manera que este se podía dirigir al AT con memoria de 16 MB. Además también se aumentó la velocidad de cada una de las señales de frecuencia, de manera que toda la circulación de bus se desarrollaba más rápidamente. De 4.77 Mhz en el XT se pasó a 8.33 Mhz. Como consecuencia el bus forma un cuello de botella por el cual no pueden transferirse nunca los datos entre la memoria y la CPU lo suficientemente rápido. En los discos duros modernos por ejemplo, la relación (ratio) de transferencia de datos ya es superior al ratio del bus.

A las tarjetas de ampliación se les ha asignado incluso un freno de seguridad, concretamente en forma de una señal de estado de espera (wait state), que deja todavía más tiempo a las tarjetas lentas para depositar los datos deseados en la CPU.

Especialmente por este motivo el bus AT encontró sucesores de más rendimiento en Micro Channel y en el Bus EISA, que sin embargo, debido a otros motivos, no han tenido éxito.

lunes, 27 de octubre de 2008

estructura de interconeccion en los buses


Estructuras de interconexión

Existen dos organizaciones físicas de operaciones E/S que tienen que ver con los buses que son:
- Bus único
- Bus dedicado

La primera gran diferencia entre estas dos tipos de estructuras es que el bus único no permite un controlador DMA (todo se controla desde la CPU), mientras que el bus dedicado si que soporta este controlador.

El bus dedicado trata a la memoria de manera distinta que a los periféricos (utiliza un bus especial) al contrario que el bus único que los considera a ambos como posiciones de memoria (incluso equipara las operaciones E/S con las de lectura/escritura en memoria). Este bus especial que utiliza el bus dedicado tiene 4 componentes fundamentales:
- Datos: Intercambio de información entre la CPU y los periféricos.
- Control: Lleva información referente al estado de los periféricos (petición de interrupciones).
- Direcciones: Identifica el periférico referido.
- Sincronización: Temporiza las señales de reloj.

La mayor ventaja del bus único es su simplicidad de estructura que le hace ser más económico, pero no permite que se realice a la vez transferencia de información entre la memoria y el procesador y entre los periféricos y el procesador.

Por otro lado el bus dedicado es mucho más flexible y permite transferencias simultáneas. Por contra su estructura es más compleja y por tanto sus costes son mayores.

buses del sistema




Funciones que realiza el bus del sistema

El bus se puede definir como un conjunto de líneas conductoras de hardware utilizadas para la transmisión de datos entre los componentes de un sistema informático. Un bus es en esencia una ruta compartida que conecta diferentes partes del sistema, como el microprocesador, la controladora de unidad de disco, la memoria y los puertos de entrada/salida (E/S), para permitir la transmisión de información.

En el bus se encuentran dos pistas separadas, el bus de datos y el bus de direcciones. La CPU escribe la dirección de la posición deseada de la memoria en el bus de direcciones accediendo a la memoria, teniendo cada una de las líneas carácter binario. Es decir solo pueden representar 0 o 1 y de esta manera forman conjuntamente el número de la posición dentro de la memoria (es decir: la dirección). Cuantas más líneas hayan disponibles, mayor es la dirección máxima y mayor es la memoria a la cual puede dirigirse de esta forma. En el bus de direcciones original habían ya 20 direcciones, ya que con 20 bits se puede dirigir a una memoria de 1 Mb y esto era exactamente lo que correspondía a la CPU.

Esto que en le teoría parece tan fácil es bastante mas complicado en la práctica, ya que aparte de los bus de datos y de direcciones existen también casi dos docenas más de líneas de señal en la comunicación entre la CPU y la memoria, a las cuales también se acude. Todas las tarjetas del bus escuchan, y se tendrá que encontrar en primer lugar una tarjeta que mediante el envío de una señal adecuada indique a la CPU que es responsable de la dirección que se ha introducido. Las demás tarjetas se despreocupan del resto de la comunicación y quedan a la espera del próximo ciclo de transporte de datos que quizás les incumba a ellas.

Este mismo concepto es también la razón por la cual al utilizar tarjetas de ampliación en un PC surgen problemas una y otra vez, si hay dos tarjetas que reclaman para ellas el mismo campo de dirección o campos de dirección que se solapan entre ellos.

Los datos en si no se mandan al bus de direcciones sino al bus de datos. El bus XT tenía solo 8 bits con lo cual sólo podía transportar 1 byte a la vez. Si la CPU quería depositar el contenido de un registro de 16 bits o por valor de 16 bits, tenía que desdoblarlos en dos bytes y efectuar la transferencia de datos uno detrás de otro.

De todas maneras para los fabricantes de tarjetas de ampliación, cuyos productos deben atenderse a este protocolo, es de una importancia básica la regulación del tiempo de las señales del bus, para poder trabajar de forma inmejorable con el PC. Pero precisamente este protocolo no ha sido nunca publicado por lBM con lo que se obliga a los fabricantes a medir las señales con la ayuda de tarjetas ya existentes e imitarlas. Por lo tanto no es de extrañar que se pusieran en juego tolerancias que dejaron algunas tarjetas totalmente eliminadas.

domingo, 26 de octubre de 2008

TIPOS DE MEMORIAS




Clasificación de memorias semiconductoras de acceso aleatorio

Las memorias se clasifican, por la tecnología empleada y, además según la forma en que se puede modificar su contenido, A este respecto, las memorias se clasifican en dos grandes grupos:

1) Memorias RAM: Son memorias en las que se puede leer y escribir, si bien su nombre (Random access memory) no representa correctamente este hecho. Por su tecnología pueden ser de ferritas (ya en desuso) o electrónicas. Dentro de éstas últimas hay memorias estáticas (SRAM, static RAM), cuya célula de memoria está basada en un biestable, y memorias dinámicas (DRAM, dinamic RAM, en las que la célula de memoria es un pequeño condensador cuya carga representa la información almacenada. Las memorias dinámicas necesitan circuitos adicionales de refresco ya que los condensadores tienen muy poca capacidad y, a través de las fugas, la información puede perderse, por otra parte, son de lectura destructiva.

2) Memorias ROM (Read 0nly Memory): Son memorias en las que sólo se puede leer. Pueden ser:

a) ROM programadas por máscara, cuya información se graba en fábrica y no se puede modificar.

b) PROM, o ROM programable una sola vez.

c) EPROM (erasable PROM) o RPROM (reprogramable ROM), cuyo contenido puede borrarse mediante rayos ultravioletas para regrabarlas.

d) EAROM (electrically alterable ROM) o EEROM (electrically erasable ROM), que son memorias que está en la frontera entre las RAM y las ROM ya que su contenido puede regrabarse por medios eléctricos, estas se diferencian de las RAM en que no son volátiles. En ocasiones a este tipo de memorias también se las denomina NYRAM (no volátil RAM).

e) Memoria FLASH, denominada así por la velocidad con la que puede reprogramarse, utilizan tecnología de borrado eléctrico al igual que las EEPROM. Las memorias flash pueden borrar-e enteras en unos cuantos segundos, mucho más rápido que las EPROM.

Básicamente las memorias ROM se basan en una matriz de diodos cuya unión se puede destruir aplicando sobre ella una sobretensión (usualmente comprendida ente -12.5 y -40 v.). De fábrica la memoria sale con 1's en todas sus posiciones, para grabarla se rompen las uniones en que se quieran poner 0's. Esta forma de realizar la grabación se denomina técnica de los fusibles

las memorias



 

antes que nada es preciso comprender perfectamente varios conceptos preliminares que se explican a continuación.

Los ordenadores trabajan con celdas de memoria RAM que sirven para almacenar los datos de forma temporal, hasta que se apaga o reinicializa el ordenador. RAM significa Ramdon Access Memory, memoria de acceso aleatorio; es decir, puede accederse a cualquier punto de la memoria en cualquier momento.

Cada posición de memoria puede almacenar 1 byte:  una secuencia de 8 bits (1 bit es 0 ó 1) que representan un número del 0 al 255.  En los ficheros ASCII, cada byte se interpreta según el código ASCII, que es un código que asigna a las letras, dígitos y símbolos habituales un número entre 0 y 255. Por ejemplo, la A mayúscula se asocia en el código ASCII con el número 65.  Y en los ficheros binarios, cada byte se interpreta como una instrucción propia del microprocesador.  Por ejemplo, los 2 bytes que forman el número hexadecimal CD21h corresponden a la instrucción INT21h, que activa el microprocesador para que genere la interrupción 21h.


Cada posición de memoria o byte se identifica mediante una dirección o número de posición, al igual que las casas y las calles en las que habitamos.

¿Cuántos bytes de memoria RAM puede tener cada ordenador?  La cantidad de bytes de memoria depende del tamaño del bus de direcciones del microprocesador.

El bus de direcciones está formado por líneas de 1 bit cada una, por las que viajan en paralelo (1 bit por todas las líneas a la vez) las direcciones de las celdas de memoria.  Una línea de 1 bit es un circuito por el que puede viajar 1 bit (un 0 ó un 1).  Si el bus de direcciones es de 2 bits (tiene 2 líneas), sólo podrá gestionar 4 direcciones de celdas de memoria de 1 byte; es decir, 4 bytes.  Con 2 líneas se pueden enviar estas 4 direcciones:  00, 01, 10 y 11.  En general, el número de direcciones de un microprocesador es 2n  siendo n el número de líneas del bus de direcciones.  En este caso 22 es igual a 4.

Los microprocesadores de los ordenadores PC poseen los siguientes tamaños en el bus de direcciones.  El 8088/8086 propio de los PC y XT tenía 20 líneas, por tanto gestionaba 220, que es igual a 1.048.576 bytes; es decir, 1024K (1MB).  El 286 tenía un bus de direcciones de 24 bits; por tanto, 224  direcciones, que es igual a 16MB.  Y los micros 386 y superiores tienen 32 líneas; por tanto, 232, que es igual a 4 GB.  Por supuesto, esto es la capacidad máxima que puede llegar a tener el ordenador.  Otra cosa es el número de chips de memoria RAM que tenga realmente instalados el ordenador.

En  resumen, el máximo de direcciones es 1MB en el microprocesador 8088/8086, 16MB en el 286 y 4.096MB en los 386 y superiores.

 Descripción física y técnica de una memoria

Antes de seguir, debemos intentar comprender de la manera más simple cómo es una memoria desde el punto de vista electrónico.  Puede ser difícil de comprender para aquellos que no tengan conocimientos suficientes, pero se intentará hacerlo de la manera más sencilla posible.

El fundamento básico de memoria parte de un circuito con transistores denominado circuito biestable, el cual es capaz de mantenerse sin conducir (0 lógico) o en conducción (1 lógico) y cuyo estado puede cambiarse mediante la aplicación de una señal exterior.  Una vez cambiado de estado, se mantiene mientras no desconectemos el voltaje de la alimentación del circuito (memoriza el estado lógico).

Al principio no se conseguía una alta integración, pero poco a poco fue aumentando, hasta el punto en el que en un chip pueden caber varios millones de circuitos de estos (MegaBits).  Agrupándolos de ocho en ocho, hacemos Bytes de memoria

..Si bien su funcionamiento es correcto, este método es caro, por lo que el uso de las memorias de biestable, denominadas memorias estáticas ha quedado reducido al ámbito de las memorias caché, 

al principio, ampliar la memoria del ordenador consistía en aplicar un número determinado de chips en unos zócalos destinados a tal fin en la placa base.  Pero  para  el  usuario  profano,

esto era difícil: las patillas del chip se doblaban, daba lugar a cortocircuitos, etc.  La solución fue simple, ya que se cogieron varios chips y se soldaron en una pequeña placa de circuito impreso con pines.

a estos modulos se llamaron simm (single-inline memory module)Al principio, los módulos SIMM eran sólo de 256KB x 8Bits, siendo necesarios cuatro módulos para conseguir 1MB.  Posteriormente aparecieron de 1MB, 2MB, 4MB, 8MB y 16 MB, existiendo algún fabricante que los llegó a hacer de 32MB

IBM lanzó unos módulos de 72 contactos que además tenían un ancho de bus de 32Bits.  Eran idóneos para los 486 y posteriormente para los Pentium, si bien para estos últimos es necesaria la colocación de dos módulos, porque su ancho de bus es de 64Bits.

Es por ello que el siguiente paso fue la implementación del módulo DIMM (Dual In-Line Memory Module), el cual tiene 168 contactos y un ancho de bus de 64Bits. El hecho de acceder a los 64Bits en un mismo banco aumenta la velocidad de la RAM en un 40%.

comienza a verse, cada vez más, la memoria PC-133, para los futuros buses y micros, como el Pentium III Coppermine.

Debemos recordar que los primeros DIMM funcionaban a 5V, mientras que los de última generación lo hacen a 3,3V.  Si bien existen placas base que poseen zócalos tanto para DIMM y SIMM, no pueden mezclarse, ya que la diferencia de voltaje sería perjudicial para los DIMM.


                               

viernes, 24 de octubre de 2008

PRIMER CAPITULO: LA CPU








Arquitectura de ordenadores

Capítulo: La unidad central de proceso


Funciones que realiza
La Unidad central de proceso o CPU, se puede definir como un circuito microscópico que interpreta y ejecuta instrucciones. La CPU se ocupa del control y el proceso de datos en los ordenadores. Habitualmente, la CPU es un microprocesador fabricado en un chip, un único trozo de silicio que contiene millones de componentes electrónicos. El microprocesador de la CPU está formado por una unidad aritmético lógica que realiza cálculos y comparaciones, y toma decisiones lógicas (determina si una afirmación es cierta o falsa mediante las reglas del álgebra de Boole); por una serie de registros donde se almacena información temporalmente, y por una unidad de control que interpreta y ejecuta las instrucciones. Para aceptar órdenes del usuario, acceder a los datos y presentar los resultados, la CPU se comunica a través de un conjunto de circuitos o conexiones llamado bus. El bus conecta la CPU a los dispositivos de almacenamiento (por ejemplo, un disco duro), los dispositivos de entrada (por ejemplo, un teclado o un ratón) y los dispositivos de salida (por ejemplo, un monitor o una impresora).
Elementos que la componen
- Unidad de control: controla el funcionamiento de la CPU y por tanto de el computador.
- Unidad aritmético-lógica (ALU): encargada de llevar a cabo las funciones de procesamiento de datos del computador.
- Registros: proporcionan almacenamiento interno a la CPU.
- Interconexiones CPU: Son mecanismos que proporcionan comunicación entre la unidad de control, la ALU y los registros.

La CPU es el motor del ordenador, es la cabeza pensante del cuerpo, en definitiva es el ordenador
 A lo largo de la historia de la Informática han sido muchas las CPU’s que han pasado por los ordenadores, pero al final, en el tema de los compatibles ha sido la serie X86 la que se ha llevado la palma.
 Cuando IBM se planteó la construcción de su Personal Computer, barajó una serie de CPU’s que cumplían una serie de requisitos, pero fue el 8086 el elegido para el PC.    
 El CPU 8086 fue uno de los primeros CPU’s de 16 Bits que salió al mercado, y era muy avanzado a su época. Sus principales características son:
 -Ancho de bus de 16 Bits.
 -Un bus de direccionamiento de 20 Bits.
 -Alimentación única a +5V

Los primeros ordenadores basados en 8086, todos ellos de IBM, tenían una memoria de 64KB.  Nos puede parecer extraño que pudiendo manejar 1MB sólo lo hiciera con 64KB; debemos tener en cuenta que en aquella época la memoria era muy cara y no estaba al alcance de todo el mundo, so pena de encarecer el precio final del ordenador.  Además, el software no era tan exigente como el actual.

los 8086/8088 tenían poca facilidad para el cálculo matemático complejo, de manera que hubo que diseñar un chip específico para dichas operaciones.  A este chip se le denominó coprocesador matemático y su nombre fue 8087.

Qué es un coprocesador matemático?  Como su nombre indica, es un chip destinado única y exclusivamente a operaciones matemáticas complejas, tales como senos, cosenos, potenciación, exponenciación, etc.  Este chip va conectado al CPU mediante los buses de datos y direcciones.

El uso del coprocesador permitió ejecutar programas complejos de diseño y cálculo, pero con el poco rendimiento del 8086/8088 no se aprovechó bien, de manera que hubo que pensar una manera de mejorar los PC´s.  La solución se llamó 80286.

Las características del 286 eran:
-Bus de datos de 16Bits.
-Direccionamiento ampliado de 24Bits.
-Optimización del tiempo de ejecución de instrucciones.
-Dos modos de trabajo: Real y Protegido.
 Con 24Bits de bus de direcciones, el 286 permitía la ampliación de memoria hasta valores inimaginados:  16MB de  RAM. 

 A pesar de esto, era raro el 286 que tenía más de 4MB de RAM, pues el precio de la memoria en aquellos tiempos era muy caro:  Llegó a ser de hasta 10.000 Ptas el MB.

 Antes hemos dicho que el 286 tenía dos modos de trabajo: Real y Protegido.  El modo real de trabajo es el estándar del 8088/8086, con la limitación de 1MB de RAM.  Este modo se implantó para tener la compatibilidad con los sistemas antiguos.

 El modo Protegido se implantó para la integración del 286 en los sistemas multiusuario y multiprocesador de aquella época, que eran las primitivas versiones de OS/2  y UNIX.  En este modo se pueden utilizar la máxima memoria de la que se disponga, mediante la carga de un driver en el CONFIG.SYS de la máquina, ya sea en MS-DOS ó DR-DOS.

 Para conseguir la “multitarea” de los sistemas anteriormente reseñados, al 286  “no se le puede dejar solo” con la memoria.  Es por ello por lo que el 286 incorpora una especie de “coprocesador” encargado de las colas de instrucciones y el manejo de la memoria, conceptos estos que provocan una especie de “modo de supervisión” del trabajo realizado, concepto ya desarrollado por Motorola en su serie 68000.

Sin embargo, con el 286 comenzaron los errores de Intel, ya que había un error en el modo de trabajo virtual:  En determinadas circunstancias, no se podía volver al modo real, quedando el ordenador colgado.  Este fue uno de las motivos que impidió el avance del DOS.  Por aquella época,  se estaba preparando la versión 4.0 del MS-DOS.  Esta versión incluía una serie de órdenes que permitían el trabajo en modo protegido en DOS, lo cual hubiera acabado en posteriores versiones en una especie de DOS multitarea.  Lamentablemente, el fallo del 286 truncó esa esperanza, de manera que el MS-DOS 4.0 acabó con una serie de funciones y órdenes que no están documentadas en ningún sitio para que no se usen, que utilizaban las prestaciones avanzadas del 286.

 Esto hubiera supuesto la muerte de la compatibilidad, ya que también se habría acabado con la barrera de los 640KB.  Aún así, como opinión personal, creo que al final hubiera sido mejor para todos.

 Por supuesto, también apareció el coprocesador de turno, denominado 80287, con una serie de mejoras en el cálculo y en velocidad de ejecución.

 Sin embargo, no se siguió investigando para aumentar las prestaciones del 286, ya que estaba a punto de aparecer el CPU que marcó la revolución:  El 80386.
 Partes de un microprocesador

            Un microprocesador está formado por:

             - Una ALU o Unidad Aritmética Lógica, que se encarga de las operaciones y los cálculos internos.

            - Unos registros o zonas de “memoria” en los cuales se cargan determinados valores para que la ALU los procese o bien recibe en ellos resultados de la ALU.  Los registros en un CPU utilizado en un PC son de 16 Bits, de 32 Bits y algunos de 64 Bits de ancho.

            - La CPU se comunica con el exterior mediante “buses” o grupos de líneas por las que recibe o envía datos.  Los buses  de una CPU son fundamentalmente tres:

             -El bus de datos, por donde la CPU recibe datos del exterior o por donde la CPU manda  datos  al exterior.                                                                                  

            -El bus de direcciones, que es el utilizado por la CPU para mandar el valor de la dirección de memoria o de un periférico externo al que la CPU quiere acceder.                   

            -El bus de control, con una serie de líneas por las que salen o entran diversas señales de control utilizadas para mandar acciones a otras partes del ordenador.

            Por supuesto, la CPU también tiene  terminales de alimentación, por donde se recibe los voltajes desde la fuente de alimentación del ordenador.

            El siguiente componente del ordenador es el que le marca el compás, el que le dicta a que velocidad va a ejecutarse cualquier operación.  Nos referimos al reloj del sistema, un circuito oscilador a cristal de cuarzo, que oscila varios millones de veces por segundo.

            Uno de los factores a tener en cuenta al comprar un ordenador es su velocidad, que se mide en MHz.  De hecho, esa velocidad es la del reloj del sistema, el “corazón”.



 

INTRODUCCION ALA INFORMATICA





Arquitectura de ordenadores

Capítulo: Introducción

Presentación del curso.
En este curso se pretende exponer una visión general de la arquitectura de un ordenador analizando sus distintos elementos.
Definiciones de: ordenador, arquitectura y organización del ordenador.
Se puede definir la arquitectura de ordenadores como el estudio de la estructura, funcionamiento y diseño de ordenadores. Esto incluye, sobre todo a aspectos de hardware, pero también afecta a cuestiones de software de bajo nivel.
Ordenador, dispositivo electrónico capaz de recibir un conjunto de instrucciones y ejecutarlas realizando cálculos sobre los datos numéricos, o bien compilando y correlacionando otros tipos de información.
Reseña histórica de los computadores
- La era mecánica de los computadores: podríamos decir que las máquinas mecánicas de calcular constituyendo la "era arcaica" o generación 0 de los ordenadores. Una evolución de estas máquinas son las máquinas registradoras mecánicas que aún existen en la actualidad. Otro elemento de cálculo mecánico que se utilizó hasta hace pocos años fue la regla de cálculo que se basa en el cálculo logaritmo y cuyo origen son los círculos de proporción de Neper. Ingenios clásicos de esa etapa fueran la máquina de Pascal, que podía realizar sumar, restas y, posteriormente, multiplicaciones y divisiones, y las dos máquinas de Charles Babbage: la máquina de diferencias y la analítica. Esta última fue la precursora de los computadores actuales.
La fase final en la mecánica de la informática y la constituyen los ordenadores electromecánicos basados en lógica de relés (década de los 30).
- La era electrónica de los ordenadores: Los ordenadores envasados en elementos mecánicos planteaban ciertos problemas:
La velocidad de trabajo está limitada a inercia de la partes móviles.
La transmisión de la información por medios mecánicos (engranajes, palancas, etcétera.) es poco fiable y difícilmente manejable.
Los computadores electrónicos salvan estos inconvenientes ya que carecen de partes móviles y la velocidad de transmisión de la información por métodos eléctricos no es comparable a la de ningún elemento mecánico.
El primer elemento electrónico usado para calcular fue la válvula de vacío y, probablemente, el primer computadores electrónicos de uso general fue el E.N.I.A.C. (Electronic Numerical Integrator Calculator) construido en Universidad de Pennsylvania (1943-46). El primer computador de programa al-macenado fue el E.D.V.A.C. (Electronic Discrete Variable Computer, 1945-51) basado en la idea de John Von Neumann, que también participó en el proyecto E.N.I.A.C. de que el programa debe almacenarse en la misma memoria que los datos.
- Generaciones de ordenadores: En la evolución de las máquinas para el tratamiento automático de la información pueden distinguirse una acería que y tos que marcan la diferencia entre las denominadas generaciones de ordenado-res. Las generaciones habidas hasta la actualidad han sido:
1ª generación: (1946-1955) Computadores basados en válvula de vacío que se programaron en lenguaje máquina o en lenguaje ensamblados.
2ª generación: (1953-1964) Computadores de transistores. Evolucionan los modos de direcciona-miento y surgen los lenguajes de alto nivel.
3ª generación: (1964-1974) Computadores basados en circuitos integrados y con la posibilidad de trabajar en tiempo compartido.
4ª generación: (1974- ) Computadores Que integran toda la CPU en un solo circuito integrado (microprocesadores). Comienzan a proliferar las redes de computadores.

  El ordenador personal IBM (IBM PC)

            A final de 1980, un pequeño grupo llamado Entry System Division fue establecido en el seno de IBM.  El equipo inicial estaba constituido por 12 ingenieros y diseñadores bajo la dirección de Don Estridge.  El jefe del equipo de diseño era Lewis Eggebrecht.  Esta división tenía como tarea el desarrollo del primer ordenador personal de IBM que realmente lo fuera. (IBM considero el modelo 5100 desarrollado en 1975 como un terminal inteligente programable mas que un genuino ordenador, y no como un verdadero ordenador).

             Estridge y el equipo de diseño desarrollaron el diseño y especificaciones del nuevo sistema.  El equipo se baso en estudios de mercado, teniendo estos una gran influencia en su diseño.  Los diseñadores se fijaron en los estándares previos, aprendiendo de sus aciertos y problemas, incorporando las ventajas de los sistemas mas populares, introduciendo esto y mucho mas en los PCs.  IBM diseñó el sistema perfecto para apoderarse de este mercado.

            Con los parámetros impuestos al diseño por el mercado, IBM debía ser capaz de producirlo en menos de un año. Para lograr ello, IBM intento conseguir todos los elementos de productores independientes que tenían sus productos en el mercado.  Incluso el sistema operativo se encargo a otra compañía.  Inicialmente se contacto con Digital Research, dueña del sistema operativo CP/M, pero no le interesó entrar en el negocio, pero al final se lo adjudico a una modesta empresa llamada Microsoft, que con el tiempo y gracias a esto se ha convertido en la compañía mas importante de software del mundo. Para completar esto, estimuló a muchos fabricantes de software del mercado para que cambiaran a este sistema operativo, y esto hicieron.

              El debut del IBM PC, usando el sistema operativo PC DOS, fue el martes 11 de agosto de 1981.  Una fecha muy significativa para la industria de los microordenadores.  Desde ese momento IBM vendió mas de 10 millones de PCs, y fue creciendo una inmensa gama de periféricos y accesorios a su alrededor. Hay mas Software escrito para esta familia de ordenadores que para ningún otro sistema en el mercado en 1975.

             Al principio, el IBM PC tenía sólo 128KB de RAM y dos unidades de disquete de 5 1/4 pulgadas y 360KB de capacidad.  El procesador que utilizaba era el Intel 8086, una CPU a 16 Bits. Posteriormente, se hizo una versión económica a 8 Bits mediante el procesador 8088. 

            Pronto se popularizó el uso del IBM PC.  Además, una oportuna campaña que culminó con la licencia a terceros de la fabricación de éste ordenador, hizo que se engancharan al carro a una gran cantidad de fabricantes que comenzaron a crear placas de ordenador "compatibles PC", de calidad similar a la original, pero a un precio muy inferior.  Aunque al principio esto repercutió en las ventas de IBM, pronto hizo que su popularidad aumentara aún más.

            Pero no pensemos que lo único que había era el PC.  Paralelamente, en los años 80 asistimos a una invasión de pequeños sistemas con 16 y 48KB de RAM que fueron la introducción de muchos a la Informática doméstica.  Nos referimos a los Sinclair, Commodore, Oric, etc.  Máquinas con una potencia gráfica que era una delicia teniendo en cuenta que los sistemas PC sólo iban en modo texto por aquellos entonces.

            Es más, en 1985 se presentó el Commodore Amiga, con 512 KB de RAM y una potencia enorme en cuanto a gráficos, sonido y todo lo que ello conlleva.  Junto con los Apple, el Commodore Amiga sentó las bases de la Multimedia moderna, concepto del que hablaremos más adelante. 

              Todos estos sistemas, a excepción del Amiga, fueron desapareciendo y dejando paso a los sistemas PC más avanzados, ya que en aquella época comenzaron su escalada.

              Más adelante, comenzó la locura:  Se añaden discos duros y otros sistemas de almacenamiento masivo, la memoria aumenta hasta 640 KB y más... Además, comienza la carrera de la velocidad de reloj y de los procesadores, los cuales siempre de la mano de Intel, cada vez son más potentes.  80286, 80386, y posteriormente los desarrollos de 80486, Pentium y, desde hace unos meses, el Pentium PRO.  Intel ha puesto sus procesadores al servicio de los ordenadores PC, y ha conseguido que éstos se pongan a la cabeza de los ordenadores personales.

            He dicho ordenadores personales, ya que para las grandes aplicaciones, se utilizan otros sistemas:  Silicon Graphics, Cray, procesadores Alpha, Mips... La lista es interminable para estos sistemas que se quedan fuera del alcance del usuario medio.

            ¿Y el software?  Al principio, todo era en modo texto.  Pronto comenzaron los gráficos, los juegos y finalmente, los sistemas operativos visuales:  OS/2, Windows, Linux, System 7 de Mac.  Estos sistemas visuales son los que más ha contribuido a la popularización de los ordenadores PC.

            Gracias a los ordenadores potentes, a los juegos, a los sistemas visuales, a la bajada de precios y, últimamente gracias a Internet, el PC se ha popularizado tanto que prácticamente no queda un hogar donde no haya un ordenador para algo concreto:  Comunicaciones, procesos de textos, juegos, etc.

Bueno, a lo largo de este capítulo se ha hecho una breve exposición de lo que es un ordenador y de las partes que lo componen a nivel interno.  En el siguiente capítulo comenzaremos a ver los distintos elementos, comenzando por la CPU