

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

No hay comentarios:
Publicar un comentario