Disponible la nueva versión "donationware" 7.3 de OrganiZATOR
Descubre un nuevo concepto en el manejo de la información.
La mejor ayuda para sobrevivir en la moderna jungla de datos la tienes aquí.

Tecnología del PC

[Home]  [Inicio]  [Índice]


2 La placa-base

§1  Presentación

En la arquitectura PC, el núcleo del sistema está integrado en una sola placa, denominada placa-base ("Motherboard" o "Mainboard"). En los sistemas actuales de sobremesa, es una placa de circuito impreso multicapa de unos 600 cm2 en la que se incluyen elementos de montaje superficial (soldados), amén de zócalos y conectores para diversos elementos desmontables. Existen diversos tamaños y disposiciones ( H2.6); el aspecto de una de estas placas se muestra en la página adjunta ( Figura).

Representación esquemática de una placa-base.

§2 Componentes

A grandes rasgos, los componentes principales de la placa base son los que se han esquematizado en la figura adjunta:

  • Bus externo .
  • Procesador (UCP).
  • BIOS
  • Chipset. Juego de chips auxiliares .
  • Memoria .
  • Conectores de E/S, incluyendo alimentación .
§3 Bus

Observación: Lo que sigue es una descripción somera de las características funcionales y principios operativos del bus del PC. Hemos de advertir que en la literatura técnica leerá que existen varios estándares de bus: ISA, EISA, VESA, MCA etc. En realidad esto se refiere a las especificaciones mecánicas de los conectores (zócalos) que se incluyen en la placa-base para insertar dispositivos tales como placas de video, módems internos, controladores de disco, etc. etc. De hecho es frecuente que una placa base tenga zócalos de más de un tipo (por ejemplo, ISA y PCI).

El elemento principal de la placa-base es el bus [1], una especie de autopista que la recorre y que actúa como espina dorsal del ordenador. La mayoría de los datos pasan por esta vía para ir de un sitio a otro (el ordenador se parece a uno de esos pueblos del salvaje Oeste -de las películas- que solo tienen una calle).

Nota: Como muchas otras cosas de esta tecnología tan cambiante, el símil propuesto es de una exactitud relativa. La tendencia apunta a la creación de otros "buses" secundarios para misiones específicas que van y vienen con las modas tecnológicas de cada momento. Ver en el siguiente epígrafe algunos comentarios sobre los denominados Buses locales  ( H2.2).

Esta autopista pasa por los zócalos y conectores de las tarjetas de expansión y periféricos, y es frecuente que en algunos equipos portátiles el bus tenga una conexión externa (en la figura anterior se ha señalado como "Conexión exterior"). Las denominadas "Dock stations" se acoplan a dichos conectores formando una prolongación del bus, lo que permite que puedan añadirse dispositivos externos.

La inclusión del bus obedece a dos razones: Por un lado es un elemento necesario para transportar datos entre las partes del ordenador. De otro, es el resultado de un criterio de diseño de los creadores del PC.  La adopción de una arquitectura abierta que permitiese conectar la mayor cantidad de dispositivos, lo que exigía que todas las señales estuviesen presentes en los zócalos de conexión y que sus características estuviesen debidamente documentadas. Ambas premisas se cumplieron y el resultado ha sido uno de los mayores éxitos comerciales de todos los tiempos.

El bus es un conjunto de pistas conductoras grabadas en la placa-base.  Precisamente su característica más importante es el número de tales pistas, pues cuanto mayor sea este número, mayor es la cantidad de bits de la señal que transporta. Como cada conductor puede transportar un bit, en realidad no se suele hablar de "conductores" para referirse a la anchura del bus, sino de "bits" (más concretamente bits de datos).

Nota: Cada línea transporta un bit de valor 0 o 1. Un valor "alto" (5 V.) se considera un 1; un valor "bajo" (0 V. = masa) se considera un 0. Determinados sucesos ocurren cuando en una línea se recibe un 1, se denominan "activo alto". Por contra, otros sucesos ocurren cuando en ciertas líneas se recibe un 0, se dice entonces que dicha línea es de "activo bajo".

En los primeros PCs, el bus de datos era de 8 bits (a pesar que el procesador utilizado, el 8088 era de 16 bits), por lo que se podía transferir 1 octeto cada vez, y las direcciones debían ser manejadas en dos partes (esto dio origen a una forma de direccionamiento denominada "Segmentada", a la que nos referiremos a continuación ). El "ancho" del bus de datos se aumentó posteriormente a 16 bits; en las máquinas actuales es de 32 y la tendencia es ir a 64.

No confundir este bus de la placa-base, denominado también bus externo [4] o FSB ("Frontside bus"), con el existente en el interior del procesador para comunicar entre sí sus diversos módulos ( H3.2).  Este último se conoce como bus interno o bus del sistema ("System bus"), y ni su "anchura" ni su velocidad (frecuencia) tienen porqué coincidir con las del externo. Hemos visto como en el 8086 es de 16 bits, mientras que el bus externo del PC XT que utilizaba dicho procesador, es solo de 8 bits. En los sistemas actuales (2001) una velocidad típica del procesador es del orden de 400/500 MHz, mientras que el FSB suele trabajar a una fracción de aquella (típicamente 100 MHz), además la anchura del bus del procesador suele ser de dos a cuatro veces la del bus externo.

Nota: Este divorcio entre la velocidad del procesador y la que puede aceptar la placa-base (bastante inferior a la del primero), comenzó con la introducción del procesador Intel486, lo que a su vez condujo a que la caché L1 cobrara especial relevancia ( H5.2).

Además de los conductores de datos, existen otros auxiliares, de modo que en esta "autopista" tiene en realidad más carriles. En el PC original, a pesar de ser "solo" de 8 bits, existían en realidad 62 conductores (31 en la cara superior "de componentes" -A- y 31 en la inferior "de soldaduras" -B-). En el argot de los ingenieros de hardware estas líneas se conocen con acrónimos y abreviaturas universalmente admitidas, de las que indicaremos algunas.


Esquema de contactos ISA 8 bits

Los zócalos para tarjetas de expansión del PC XT eran del modelo denominado ISA ("Industry Standard Architecture") corta o ISA de 8 bits, en el que se podían insertar tarjetas con 62 contactos (31 por cada cara). Posteriormente, en 1984, los modelos AT añadieron 36 nuevas líneas al bus, utilizando el zócalo ISA de 16 bits, que admitía tarjetas con 98 contactos (49 por cara), pero manteniendo un diseño de zócalos que los hacía eléctricamente compatibles con las tarjetas ISA cortas. De estas nuevas líneas, 8 eran de datos (el bus pasaba a ser de 16 bits), cinco nuevas líneas de control de interrupciones, y siete de dirección, puesto que el nuevo ancho de bus permitía direccionar más memoria.

Esquema de contactos (medidas en pulgadas) ISA 16 bits

Además de la compatibilidad mecánica, se había incluido un ingenioso dispositivo que detectaba si la tarjeta insertada era larga o corta para adecuar el modo de direccionamiento al estilo adecuado.  El resultado era que los equipos ISA de 16 bits podían aprovechar las antiguas tarjetas ISA, aunque con un cierto desaprovechamiento de las capacidades de los sistemas AT, una de las cuales era precisamente la capacidad de utilizar 16 bits para direcciones y datos.

En 1988 Compaq y otros fabricantes mejoran el ISA de 16 bits, adoptando el que se denomina bus EISA (ISA Extendido), que guardaba compatibilidad hacia atrás con los buses ISA anteriores, y que ha persistido largamente.

En 1993 Intel introdujo el bus PCI ("Peripheral Component Interconnect") que proporciona 32 bits. Su versión 2.1 soporta 64 bits y velocidades más rápidas en la frecuencia de reloj del bus.  En la actualidad (2001) PCI es el nuevo estándar de facto, y ha sustituido casi completamente a EISA, de forma que empiezan a verse tarjetas que no tienen ningún conector para las antiguas tarjetas EISA.

§3.1 Principios de funcionamiento

Para comprender el funcionamiento del bus, y en general del mecanismo de transmisión de la información dentro del ordenador, es preciso hacer tres observaciones previas:

a:   En realidad, el bus externo puede considerarse dividido en cuatro vías para otros tantos servicios distintos:

  • Bus de datos
  • Bus de alimentación .
  • Bus de control .
  • Bus de Direcciones .

b:    Señalar que el bus externo responde al modelo que en tecnología de redes se conoce como "Broadcast" o difusión amplia [5].  En este modo de transmisión, cuando se quiere transmitir alguna información, el dato es puesto en el bus de datos , y la dirección de destino en el bus de direcciones . Ambas señales llegan a todos los dispositivos conectados al bus, pero el dato solo es aceptado por aquel cuya dirección coincide con la señalada por el bus (en realidad un dispositivo puede aceptar una sola dirección o un rango de ellas).

c:   Todos los sistemas de redes (el bus es una red) tienen un sistema de "direcciones" para saber quién, de entre todos los elementos conectados, debe recibir la información (el mensaje recibido puede a su vez ser la orden de enviar una respuesta). En nuestro caso, los intercambios pueden ser entre cualquier par de dispositivos. Por ejemplo, un almacenamiento en disco y una impresora, pero los que involucran memoria RAM son especialmente importantes, ya que antes o después todos los datos pasan por allí (incluso los datos e instrucciones de los programas en ejecución están en RAM). Esto indujo a los diseñadores del PC a disponer que las transferencias de datos entre la memoria y ciertos dispositivos recibieran un tratamiento especial. Hasta el punto que dentro del bus existe un subsistema específico para controlar estas transferencias, el denominado acceso directo a memoria (DMA ).  Lo de "directo" viene a cuento de que en los demás casos, la transferencia de datos entre dos dispositivos A y B requiere la intervención del procesador, mientras que las transferencias DMA lo mantienen al margen.

El resultado es que la comunicación entre la memoria y ciertos dispositivos, o entre esta y el procesador, se efectúa de forma un tanto especial. Mientras que las comunicaciones entre dispositivos, o entre dispositivo y procesador, se realizan mediante un sistema distinto, denominado puerto de E/S ( H2.1).

d:   El mecanismo DMA es posible porque el PC permite que el microprocesador, que en último extremo gobierna el sistema, ceda el control del bus ("Bus mastering") a otro dispositivo que asume su control durante determinados periodos. La finalidad es suprimir la intervención del procesador cuando no es estrictamente necesario, lo que simplifica y agiliza el proceso.

Resumen

Para que pueda conocerse el destino de los datos en esta red de elementos intercomunicados que constituyen el bus, cada dispositivo tiene una dirección. Cualquiera que sea su origen, para enviar un dato a un puerto (dispositivo) o a una dirección de memoria, la UCP coloca la dirección de destino en el bus de direcciones, a continuación el remitente sitúa el dato en el bus de datos. Cuando esto sucede, el destinatario se da por aludido y lee el dato.

Es de vital importancia recordar que, para distinguir el tipo de transmisión a realizar por el bus de datos, existe una línea específica en el bus de control, que indica si la dirección colocada en el bus de direcciones se refiere a un "puerto" o a memoria.

§3.2 Bus de datos

Junto con el tipo de procesador soportado, la "anchura" del bus de datos es quizás una de las características distintivas más importantes de una placa-base, pues determina la cantidad de información que puede fluir por ella en cada ciclo de reloj.

Las 8 líneas de datos se identifican D0 a D7. Con la introducción del PC AT se añadieron 8 nuevas líneas (D8 a D15), hasta un total de 16. Al tratar de la arquitectura del procesador ( H3b1), veremos que en los primeros PC's algunas de estas líneas eran de doble uso.

Nota: Aparentemente la decisión inicial de adoptar un bus de datos de 8 bits a pesar que el procesador 8088 utilizado era de 16 bits, se debió exclusivamente a razones económicas. En la época, la circuitería auxiliar de 8 bits era más abundante y económica que la de 16 bits.

§3.3 Bus de alimentación

En los primeros PCs, la fuente de alimentación alimenta a la placa-base a través de dos conectores Molex® de 6 contactos cada uno. En estos cables están las tensiones de alimentación (+12V.; -12V.; +5V. y -5V.); conexiones a masa, y la señal de Power Good, que está relacionada con la señal de "reset" . A partir de este punto, el bus cuenta con una serie de líneas que trasladan estas tensiones a los dispositivos instalados en la propia placa-base y al resto de tarjetas instaladas en los zócalos.

El bus de alimentación cuenta con líneas para las tensiones +5, -5, +12 y -12 V (la de +5 V está duplicada). Además existen tres líneas conectadas a masa GND (para que todos los elementos tengan una referencia de potencial común).

Nota: En el IBM PC, la fuente proporcionaba 65 W. Las fuentes actuales suministran de 200 a 250 W de potencia para los sistemas de sobremesa. Además los conectores se han modificado (actualmente los cables que van a la placa-base utilizan un solo conector de 20 pines Conector ATX) y se han añadido nuevas señales, de forma que la fuente puede desconectarse mediante una señal enviada desde la placa base. Esta señal puede ser enviada por el Sistema -desconexión software- o por el usuario desde el teclado.

§3.4 Bus de control

Además de los datos y la energía, el bus transporta una serie de señales de control, por lo que a estas líneas se las denomina bus de control o del sistema. Las principales son las siguientes:

  • 0WS ("Zero Wait State"). Es utilizado por los dispositivos rápidos conectados al bus para prevenir al procesador que no inserte estados adicionales de espera.
  • AEN ("Address Enabled") Se utiliza para indicar si es la UCP o el controlador DMA, el que tiene control sobre las líneas de datos y de direcciones en ese momento. Cuando está alta, el controlador DMA controla el bus de datos y el de direcciones, además de las líneas MEMR, MEMW, IOR e IOW, 
  • ALE ("Address Latch Enabled") Cuando está alta, señala que la UCP ha colocado una dirección válida en el bus de direcciones. 
  • CLK. Señal del reloj que conecta directamente con una patilla del procesador ( H3b1). En el XT es de 4.77 MHz, un tercio de la señal del oscilador (OSC). En el AT esta frecuencia se elevó a 7 MHz, la mitad de la señal del oscilador.
  • OSC. Señal del oscilador ;  basada en la frecuencia de un cristal instalado en la placa-base. En el XT es de 14.31818 MHz. 
  • I/O CH CHK ("Channel Check"). Es una señal de detección de errores. Cuando está baja, algún dispositivo del bus ha detectado un error de paridad.
  • I/O CH RDY ("Channel Ready"). Sirve para avisar al procesador o al MDAC que un dispositivo lento necesita tiempo extra para estar preparado. Cuando algún dispositivo necesita tiempo extra, baja esta señal, aunque nunca durante un periodo de más de 10 ciclos CLK.
  • IRQ ("Interrupt request"). En el PC XT existen 6 líneas identificadas IRQ2 a IRQ7, que juegan un papel fundamental en el funcionamiento del ordenador, ya que la tecnología de los ordenadores modernos se basa en un sistema de interrupciones al que nos referiremos más adelante ( H2.4). Estas 6 líneas fueron aumentadas posteriormente en el PC AT, añadiéndose 8, aunque no todas fueron destinadas al servicio de periféricos, por lo que en el nuevo BUS solo aparecen IRQ10, IRQ11, IRQ12, IRQ14 e IRQ15.

    Adelantamos aquí que una interrupción es una señal que se origina en un dispositivo (un periférico) para indicar al procesador que algo requiere su atención inmediata (de ahí su nombre, literalmente "Petición de interrupción"). Se solicita al procesador que suspenda lo que está haciendo para atender la petición.
  • IOR ("I/O Read") Orden de lectura. Esta línea indica a un dispositivo E/S conectado al bus que debe colocar un dato en el bus de datos.
  • IOW ("I/O Write") Orden de escritura. Esta línea indica a un dispositivo E/S que debe leer el dato situado en el bus de datos.
  • RESET. Una señal en esta línea ( H4), que conecta con una patilla especial del procesador, origina el reinicio del sistema. Cuando esta línea es puesta a masa (desaparece su tensión) y después vuelve a su valor normal, se origina un reinicio del procesador.
  • SBHE ("System Bus High Enable"). Cuando está activado indica que se está realizando una transferencia de datos.
  • DRQ ("DMA Request"). Similares en concepto a las líneas IRQ, pero utilizadas para solicitar acceso directo a memoria. Existen tres de ellas, señaladas DRQ1 a DRQ3.
  • DACK ("DMA Acknowledge"). Se utilizan para acusar recibo de la petición DRQ correspondiente. Existen cuatro, señaladas DACK0 a DACK3, aunque el mecanismo DMA solo utiliza las tres últimas, DACK0 es utilizada en el XT para señalar un ciclo de refresco de memoria.
  • MEMR ("Memory Read") Cuando se activa, esta señal indica a la memoria conectada al bus que escriba los datos en el bus de datos.
  • MEMW ("Memory Write") Cuando se activa, indica a la memoria que almacene los datos situados en el bus de datos.
  • T/C ("Terminal Count"). Sirve para señalar que el controlador DMA ha alcanzado el final de una transferencia ( 2.3). 

El sistema de acceso directo a memoria DMA ("Direct Memory Access") es muy importante. Como puede verse, algunas líneas del bus están destinadas a este servicio, que será tratado más adelante con mayor detalle ( 2.3).

§3.5 Bus de direcciones

El bus del PC XT contiene 20 líneas identificadas SA0 a SA19; que en el AT se aumentaron a 27, añadiendo las denominaciones LA17 a LA23. Estas líneas contienen las direcciones que identifican la parte del ordenador que comunica. Las direcciones son de dos tipos; unas se refieren a direcciones de memoria; otras a direcciones de puertos de E/S, pero en cualquier caso son de 20 bits para el PC XT y de 27 para los ATs.

Con los datos anteriores, resulta evidente ( 0.4) que el PC XT podía manejar 1.048.576 direcciones (220), mientras que en el AT esta cantidad asciende a algo más de 134 millones (227). Sin embargo, recordemos que tanto los procesadores 8088 presentes en el XT, como los 80287 del AT, tenían registros de 16 bits ( H3b) que solo podían albergar 65.536 posiciones (216), muy alejado de los valores anteriores. Para resolver el problema, se utilizan las direcciones segmentadas ( H5.1), compuestas por dos palabras de 16 bits que se componen para formar una dirección de 20 bits.

Nota: durante las operaciones E/S de puertos, las direcciones SA16-SA19 del 8088 permanecen iguales a cero ( H3.2.1), por lo que solo pueden utilizarse 16 bits para direcciones de puertos.

§4 Procesador

A estas alturas del siglo XXI no creo que exista nadie que necesite explicación general sobre su función e importancia. El procesador es realmente el "Cerebro" del Sistema (cuando empezaron a verse los primeros ordenadores, la gente los llamaba "cerebros electrónicos").

En el siguiente epígrafe ( H3) exponemos un resumen de sus partes principales desde el punto de vista que interesan al informático. Aquí señalaremos solamente que, en los PCs actuales, es el chip más grande que puede encontrarse en la placa-base, denominado genéricamente "Procesador", contiene en una sola unidad lo que anteriormente se denominaba Unidad Central de Proceso UCP (CPU en la literatura inglesa); el coprocesador matemático MCP ("Math coprocessor") y una cierta cantidad de memoria auxiliar (caché) de acceso rápido.

§5 Chips auxiliares

Nota: Las alusiones en el texto a los chips utilizados se refieren a los PCs originales IBM PC; XT y AT. Aunque actualmente han sido suplantados por un par de circuitos (ver figura 1 ), sin embargo, la funcionalidad permanece.

El juego de chips auxiliares ("Chipset") es un conjunto de circuitos integrados que realizan misiones específicas de apoyo. Por ejemplo organizar el tráfico en esa autopista que es el bus externo.  Generalmente están soldados de forma permanente y forman un conjunto armónico con el procesador y con las características de la placa (las placas modernas vienen bastante "desnudas", sin procesador, ni memoria, ni dispositivos periféricos, de forma que resultan altamente configurables, pero siempre incluyen este conjunto de integrados de apoyo). Los más significativos son los siguientes:

  • Elementos de temporización .
  • Controlador del bus externo
  • Controladores de acceso directo a memoria DMAC
  • Controlador programable de interrupciones PIC
  • Controladores de periféricos
§5.1 Elementos de temporización

Los ordenadores son máquinas síncronas, lo que significa que todas sus partes funcionan de forma acompasada.  Es frecuente poner el ejemplo de los remeros en las películas de galeras, donde cada remero no va por su cuenta, todos siguen el ritmo del gordo del tambor. En el PC ocurre otro tanto, aquí el ritmo no lo marca un tambor, sino un metrónomo (reloj) que genera una señal (señal de reloj), que marca el ritmo de la "música" que es capaz de ejecutar el sistema. Esta señal está presente en el bus de control , la línea CLK.

El corazón del reloj es un oscilador controlado por un cristal de cuarzo que actúa de patrón (es un elemento fácilmente identificable con aspecto de almohadilla plateada). En los PC originales la frecuencia del cristal es de 14.31818 MHz. Esta señal está también presente en el bus de control, línea OSC, y la denominaremos frecuencia del oscilador.  En los primitivos PCs la señal del reloj era de 4.772720 MHz. Es decir, un tercio de la frecuencia del oscilador [3].  A su vez, la señal del reloj es dividida por 262144 (218) para proporcionar una interrupción (tic) a una cadencia aproximada de 18.2 veces por segundo.

La señal CLK es importantísima, ya que sin ella sería imposible un funcionamiento armónico de los distintos elementos (incluyendo el procesador, una de cuyas patillas conecta directamente con ella). Todos los sucesos internos tienen lugar al compás de este tic-tac electrónico [6].

Nota: Hemos señalado , que a partir de la introducción del 80486 algunos elementos del ordenador no pueden funcionar al ritmo endiablado del reloj, que resulta demasiado rápido para el resto de chips instalados en la placa, por lo que en esta se utilizan frecuencias inferiores. Esto se consigue utilizando solo uno de cada tres, cuatro o cinco pulsos de CLK.

En este sentido es particularmente significativa la denominada velocidad del bus externo.  Que es la que se utiliza en dicho bus. Por ejemplo, un procesador que esté trabajando a 200 MHz, puede que esté utilizando una frecuencia de 66 MHz en sus comunicaciones con el bus externo.  Exactamente la misma que un procesador de "solo" 66 MHz de reloj que utilice también 66 MHz para el bus externo. La situación actual es que las velocidades típicas de las placas-base son de 60- 66- 100- 133 MHz mientras que los procesadores funcionan a frecuencias múltiplos de aquellas; típicamente de 1x hasta 10x, es decir, desde 60 a 1330 MHz (lo que se denomina velocidad del núcleo).

§5.1.1 Chip del reloj

En el PC original, el oscilador antes mencionado está montado en un chip 8284A (88284 en el AT), que se conoce como generador de reloj (no confundir con el reloj programable ).  La fecha y hora, que había que introducir en la puesta en marcha del sistema, se perdía cada vez que se apagaba el equipo. Durante el funcionamiento, el sistema de fecha y hora era mantenido por una interrupción de alta prioridad ( H2.4) que ocurría unas 18 veces cada segundo.

A partir de la introducción del PC AT, se instaló en la placa base el denominado chip del reloj, abreviadamente RTC ("Real Time Clock"). Es un auténtico reloj que suministra la fecha y hora al sistema. Como este reloj debía continuar su funcionamiento incluso estando el equipo desconectado, se le dotó de una pequeña pila o batería.

Aprovechando que este circuito disponía de su propia fuente de energía, se utilizó para añadirle cierta cantidad de memoria CMOS ("Complementary Metal-Oxide Semiconductor") de bajo consumo, la denominada ROM del sistema, que se utiliza para guardar información relativa a la configuración del equipo. Estos datos son accesibles pulsando una combinación de teclas en los momentos iniciales de arranque, lo que inicia un programa de configuración grabado en la BIOS conocido generalmente como Set-up.

Fig. 2

Nota: La batería de backup de la placa base, es un elemento fácilmente identificable; tiene forma de pila de botón reemplazable, o de elementos soldados recubiertos de una funda plástica. Este último es el caso mostrado en la fig. 2. La batería es el elemento azul; por encima está el conector del teclado y sobre éste, junto al letrero BATTERY, se distinguen tres de los 4 pines del conector para la batería auxiliar [7].

Esta batería se agota con el tiempo, especialmente si el equipo permanece mucho tiempo apagado, en cuyo caso se pierde la fecha y (lo que es más importante) los datos de configuración establecidos con el programa de Set-up. Aunque la mayoría de equipos funcionan bien con la configuración por defecto, en caso de sustituir la batería es posible que sea necesario reconfigurar el Set-up.

Tradicionalmente este circuito CMOS/RTC era un Motorola MC146818.  En los modelos iniciales esta memoria era de 128 bytes. Actualmente es de 256 KB, y junto con algunos otros elementos están incluidos en un chipset de solo dos circuitos integrados. A su vez el programa de configuración es cada vez más sofisticado, de forma que simplifica la configuración del sistema. Por ejemplo, dispone de un sistema de protección ("Password") de acceso y de autodetección del tipo de disco instalado; algo que en los modelos antiguos debía hacerse manualmente.

§5.1.2 Temporizador programable

Junto con el anterior se encuentra un circuito que recibe varios nombres: PIT ("Programmable Interval Timer") temporizador programable, reloj programable, temporizador ("timer"), Etc. Constituido por un chip 8253  (8254 en el AT y máquinas con bus EISA/MCA) que dispone de tres temporizadores programables independientes numerados del 0 al 2.

En realidad son divisores de frecuencia que obtienen la señal del generador de reloj. Tienen cuatro modos de funcionamiento programables que pueden generar diversas señales:

  • Pulsos de anchura variable.

  • Generar una interrupción al final de la cuenta de una serie de pulsos de reloj, para lo que dispone de tres contadores independientes de 16 bits.

  • Ondas cuadradas que sean una fracción de la frecuencia de entrada (reloj). Por ejemplo, podemos conseguir que generen una señal por cada 1000 señales de la frecuencia del reloj RTC, con lo que en un PC XT obtendríamos una frecuencia de 4.77 KHz.

  • Medir el intervalo entre sucesos.

Estas capacidades se utilizan para cuestiones tales como producir señales de sincronización para refresco de la RAM, o tonos audibles de diversas frecuencias en el altavoz del PC. La distribución de tareas es como sigue:

  • Canal 0: Produce una interrupción cada 54.94 ms en IRQ0, que activa la rutina de actualización del reloj de tiempo real RTC .
  • Canal 1: Produce una interrupción cada 15.12 microsegundos que marca el comienzo del ciclo de refresco de las memorias RAM dinámicas ( 5.3.2).
  • Canal 2: Este canal se destina a generar tonos para el altavoz del sistema.
§5.2 Controlador del bus

Es una especie de controlador de tráfico. En el PC XT es el chip 8288 y en el AT es el 82288. El procesador necesita del concurso de este chip para generar el juego completo de señales del bus de control.

§5.3 Controlador DMA

DMA es el acrónimo de "Direct Memory Access"; se trata de un mecanismo incluido en la arquitectura del PC, que permite intercambios de datos entre la memoria y ciertos dispositivos sin intervención del procesador (por esta razón se denomina precisamente acceso directo a memoria). Está controlado por un chip específico, el DMAC ("DMA Controller"). En los XT estaba integrado en un chip 8237A que proporcionaba 4 canales. Posteriormente en los AT se instalaron dos, ampliándose a 8 el número de canales. En el epígrafe dedicado al Acceso directo a memoria ( H2.3), se expone con más detalle su funcionamiento.

§5.4 Controlador de interrupciones

Las interrupciones del PC, a las que nos referimos más detenidamente en el epígrafe correspondiente ( H2.4), son manejadas por un chip conocido como PIC ("Programmable Interrupt Controller").

Originariamente era un 8259A, que puede manejar 8 peticiones de interrupción, pero pronto se hizo evidente que eran un número excesivamente corto, por lo que en 1984, IBM añadió un segundo controlador en el modelo AT. Este diseño, con dos controladores, ha permanecido invariable hasta nuestros días en lo que se refiere a su funcionalidad. Recientemente ha sido sustituido por el denominado APIC ("Advanced Programmable Interrupt Controller") en las máquinas Pentium y sucesoras, que está basado en un chip 82489DX.

§5.5 Controladores de periféricos

En la placa-base existen diversos chips destinados específicamente al control de periféricos serie y paralelo. A continuación reseñaremos brevemente algunos de los más conocidos.

El PPI ("Programmable peripheral interface"), también conocido como PIO ("Programmable Input/Output") era originariamente un 8255.  Se trata de un chip de 24 patillas que pueden ser programadas individualmente en dos grupos de 12, de las cuales 8 son de datos y 4 bits auxiliares incluyen señales de control (STROBE; ACKNOWLEDGE; BUFFER FULL, Etc.) Este chip tiene gran variedad de aplicaciones, entre ellas almacenar información sobre el estado de configuración de la placa-base y controlar otros chips, como el temporizador programable y la interfaz del teclado, pero su uso característico es como interfase paralelo bidireccional para periféricos que utilizan este tipo de comunicación (por ejemplo impresoras, escáneres, Etc.)  El altavoz del sistema está conectado a dos patillas de este integrado.

Desde el punto de vista lógico este dispositivo responde a las direcciones 060h-063h, que son sus números de puerto y dispone de tres registros de 1 byte conocidos como A, B y C, cuyas direcciones respectivas son 060h, 061h y 062h. La dirección 063h se utiliza para configurar el dispositivo.

Nota: Como hemos señalado anteriormente, a partir del AT, el estado de configuración de la placa-base se almacena en un integrado alimentado con batería que contiene también el reloj de tiempo real. En realidad el AT no tiene un 8255 como tal, pero emula su comportamiento. En este caso el controlador es un 8742 responde a las direcciones 060h-064h, y realiza otras funciones no directamente relacionadas con el teclado, como resetear la UCP, controlar la puerta A20 y manejar el ratón [9]. 

El 8250 ACE ("Asynchronous communication equipment"), es una interfaz entre el bus paralelo del sistema y los periféricos que utilizan comunicación serie, como módems y ratones. Puede generar las señales de control de la popular interfaz RS-232 [8]; dispone de un generador de velocidad de transmisión que permite generar cualquiera de las más frecuentes. Puede funcionar bajo control de programa o mediante interrupciones ( H2a) y dispone de una cierta capacidad de comprobación y corrección de los errores típicos de las comunicaciones serie.

El PD765, que controlaba el disquete en los XT, más conocido como FDC ("Floppy Disc Controller"). Fue sustituido por el 82072A en el AT y por el 82077A en el PS/2.

§6 Memoria

El término "memoria" se refiere desde luego a cualquier dispositivo capaz de almacenar datos, pero aplicado a un ordenador actual es demasiado ambiguo, ya que existen varias clases. En principio, pueden clasificarse en dos grandes grupos: Internas y externas (también denominadas primarias y secundarias).

§6.1  Las memorias internas están situadas en el procesador, la placa base, o en tarjetas insertas en zócalos de esta. En el capítulo correspondiente ( H5), comentamos algunos de aspectos funcionales que son de especial interés para el programador.

§6.2  La memoria externa está situada en dispositivos que se consideran "Externos" o "Periféricos" al ordenador, tales como disquetes, discos duros, cintas, CDs, DVDs, etc. Algunas de ellas son intercambiables, de forma que la capacidad de almacenamiento puede ser virtualmente ilimitada, aunque con el costo de tener que insertar manualmente la cinta, CD o DVD en la unidad correspondiente.

Los SOs utilizan la memoria externa para almacenar ficheros con información, pero los sistemas modernos, tipo Windows o Linux también utilizan la memoria externa en sustitución de la interna; un artificio conocido como memoria virtual ( H5.1). La memoria virtual utiliza un fichero de intercambio ("Swap file") en memoria externa, que almacena la información que no cabe en RAM.

Nota: Actualmente ha surgido una nueva forma de memoria externa, que seguramente es el sistema del futuro. Nos referimos a Internet como fuente inagotable de almacenamiento de información. Ya han surgido incluso PSIs [2] que ofrecen almacenamiento "ilimitado" a sus usuarios.

El estudio de las memorias externas, aunque muy interesante (apasionante, diría desde el punto de vista tecnológico) y de uso constante, en especial los discos duros, se sale totalmente de los márgenes que hemos impuesto a esta obra.

§7 BIOS

Básicamente es una memoria en la que se guardan datos fundamentales para el funcionamiento de la placa-base y sus periféricos principales. El funcionamiento de los IBM PCs y compatibles se basa en su existencia, y su importancia justifica que se le asigne un chip especialmente dedicado a contenerla.

En los equipos modernos, el chip de la BIOS es fácilmente identificable por una pegatina plateada con un holograma, en la que junto a la palabra BIOS, aparece el nombre del fabricante. Probablemente alguno de los siguientes: AMI; Phoenix; Award; AST; Compaq; Microid; Mylex; IBM; Quadtel; ACER, o ALR (los más conocidos). En atención a su importancia, le hemos dedicado un capítulo ( H3).

§8 Conectores auxiliares

La placa-base dispone generalmente de una serie de conectores para enchufar determinados dispositivos. Entre los más frecuentes están: Conector para la fuente de alimentación ( Conector); Conector DB25 de puerto paralelo; conector DB9 para puerto serie; conector USB; conectores mini-DIN para ratón y teclado, etc. Algunos de ellos se muestran en la figura ( Figura-1).

  Inicio.


[1] Utilizamos el vocablo original inglés "Bus" porque ha tomado carta de naturaleza en nuestro idioma. Seguramente si usted dice el "autobús" del PC nadie sabrá a que se refiere.

[2] PSI: Proveedor de Servicios de Internet (ISP "Internet Service Provider").

[3] Posteriormente esta frecuencia fue elevada al 50%, es decir, 7.15 MHz en los ATs.  Aunque desde luego hoy nos parecen ridículas, muchos de los primeros usuarios sobrecargaban sus sistemas cambiando los cuarzos ("overclocking") a fin de conseguir algo más de velocidad, ya que los valores adoptados por IBM eran muy conservadores, y los equipos funcionaban sin dificultad a frecuencias algo más elevadas.

[4] A veces el bus externo es llamado impropiamente bus de datos ("Data bus"), cuando este es en realidad solo una parte del bus externo .

[5] El caso opuesto, cuando la información se transmite solo al dispositivo receptor se denomina "Multicast". Esta modalidad requiere que la red tenga cierta capacidad de direccionamiento o conmutación, de forma que pueda establecerse una vía exclusiva entre el transmisor y el receptor.

[6] Para que esta sincronía sea posible, se dispone incluso de un mecanismo que obliga al procesador a permanecer inactivo un número determinado de ciclos (de espera) cuando un periférico no está preparado para seguirlo ( H3.2.1)

[7] En estos casos, la placa base tiene unos pequeños pines metálicos (generalmente 4 en línea) en los que puede abrocharse un pequeño conector para instalar una batería auxiliar externa que puede conseguirse en el comercio especializado; la única precaución es respetar la polaridad. El cable rojo que acompaña a la batería es el positivo; debe corresponder con el pin positivo que está claramente señalado con "+" o "1" en la placa-base.

[8] Durante muchos años esta ha sido la interfaz estándar para comunicaciones serie de la EIA ("Electronic Industries Association").

[9] Esta es la razón por la que, en los modelos PS/2, el conector mini-DIN pueda conectarse a un teclado o al ratón. Por su parte, la puerta ("Gate") A20 maneja el acceso a memoria en modo protegido, siendo por tanto es responsable de la memoria extendida ( 5.1). Esta es también la razón por la que algunos test de diagnóstico de la placa base reporten errores de memoria por encima de 1 MByte cuando en realidad pueden deberse al 8742.