Intel 8284
# Intel 8284

El Intel 8284 es un generador de reloj (clock generator) para los procesadores Intel 8086/8088, Intel 8087 e Intel 8089. Puede usar un circuito oscilador regulado por un cristal de cuarzo o una señal TTL como frecuencia de referencia, que debe ser tres veces superior a la frecuencia que se desea corra el microprocesador. La frecuencia para el microprocesador, CLK, es derivada de la frecuencia de referencia dividida entre tres, ya que éste usa un ciclo de trabajo de 33% (33% del tiempo la señal está alta y 66% del tiempo la señal está baja). Adicionalmente, el 8284 genera una frecuencia (PCLK) a 50% de la que envía al procesador, con un ciclo de trabajo de 50%, usada para la sincronización de los periféricos. El 8284 también expone la señal de frecuencia del circuito oscilador (OSC) de referencia con un ciclo de trabajo de 50%. El 8284 puede sincronizarse con otros.

Además de las señales de reloj, el 8284 también genera una señal de READY que encenderá de acuerdo al estado de algunas señales de entrada, y una señal de RESET para el microprocesador y demás componentes del sistema.

## Uso en el IBM PC

El 8284 fue usado como generador de reloj en el IBM PC. Se usaba para generar la frecuencia de 4.77 MHz para el microprocesador del IBM PC, otra de 3.58 MHz para la tarjeta de video y una de 1.19 MHz para los tres temporizadores, de los cuales salían otras frecuencias (ver abajo)..

Aunque el microprocesador 8088 del computador soportaba una frecuencia de hasta 5 MHz, necesitando un cristal de 15 MHz para el 8284 (3 veces la frecuencia del procesador), IBM decidió usar una frecuencia de cristal ligeramente menor, a 14.31818 MHz, que al dividirla entre 3 resultaba en el microprocesador del IBM PC corriendo a 4.7727267 MHz. Este pequeño cambio permitía dividir la frecuencia base del cristal entre cuatro y generar una frecuencia de 3.579545 MHz usada por la tarjeta de video Color Graphics Adapter (CGA) para generar el burst de color en el estándar de televisión NTSC, ahorrándose así algunas piezas que hubieran sido necesarias para generar esa frecuencia independientemente.

La frecuencia PCLK de 2.3863633 que generaba el 8284 (la mitad de los 4.77 MHz para el procesador), era dividida entre 2 para generar una señal de reloj de 1.1931817 MHz para los tres contadores del temporizador programable de intervalos Intel 8253.

* El contador 0 del 8253 dividía esa frecuencia en 65536 y generaba la señal de 18,2065 ticks (por segundo). La salida del contador estaba conectada al IRQ 0 del controlador de interrupciones 8259. Al finalizar el intervalo de tiempo (18.2065 veces por segundo) se disparaba una interrupción que era procesada por el IBM PC ROM BIOS para mantener un contador del tiempo transcurrido desde el encendido del computador, que podía usarse para calcular la hora del día.
* El contador 1 del 8253 dividía la frecuencia en 18 y enviaba una señal de 66287.87 Hz al canal 0 del controlador DMA Intel 8237 para el refrescamiento de la memoria RAM.
* El contador 2 del 8253 podía usarse con cualquier divisor entre 1 y 65536 y generar una frecuencia desde 18,2 Hz hasta 1.1931817 MHz que podía usarse para generar tonos por el altavoz del computador y también para generar los tonos que representaban el 1 y el 0 para almacenar datos y archivos en el grabador de casetes.
