F8
# F8

El F8 es el primer microcontrolador integrado de 8 bits. Fabricado por Fairchild Semiconductor en nmos, estaba compuesto por dos circuitos, el F3850 (CPU) y el F3851 (PSU). Con estos dos chips proporcionaba 1K de ROM, 64 bytes de RAM y 32 líneas de entrada/salida.

Fue el controlador de la primera consola de videojuegos basada en microprocesador, la Fairchild Channel F. Mostek (no confundir con MOS Technology) lo fabricó como segunda fuente. Además, posteriormente integró los dos chips en uno, el MK3870 que, a su vez, licenció a Fairchild, quien interrumpió el desarrollo de su F3860. Fue un chip muy exitoso, siendo fabricado también por Motorola (MC3870), Telefunken y otros.

## Arquitectura

El F8 consta de los siguientes registros:

* Un acumulador de 8 bits, A
* Un registro de estado, conteniendo los siguientes indicadores: Signo, Acarreo, Cero, Desbordamiento, Inhibe la interrupción.
* Un puntero de 6 bits ISAR
* 64 bytes Scratchpad
* Dos Contadores de programa por chip de rom, PC 0 y PC 1. Sólo uno de ellos actúa como PC, el otro se usa para guardar la dirección de retorno en subrutinas e interrupciones.
* Contador de datos en cada chip de memoria, DC 0, DC 1.

La existencia de contadores de programa duplicados en cada ROM evita la necesidad de un bus de direcciones -que no existe.

## Memoria

Aunque el F8 ya contiene ram y rom, también puede utilizar memorias estándar. Para ello existen las interfaces:

* Interfaz de ram estática. Contiene DC0, DC1, PC0 y PC1, a partir de los que genera un bus de direcciones para la ram o rom estándar.
* Interfaz para ram dinámica. Contiene DC0, DC1, PC0, PC1 y un generador de refresco para controlar memorias dinámicas.

## Familia

* F3850, CPU (Central Processing Unit) Contiene la ALU, 64 bytes de ram, 2 puertos de 8 bits, control de interrupciones y generador de reloj.
* F3851, PSU (Program Storage Unit) Contiene 1K de rom, dos contadores de programa, PC0 y PC1, Dos contadores de datos DC0 y DC1 y dos puertos de 8 bits.
* F3856, PSU (Program Storage Unit) Contiene 2K de rom, dos contadores de programa, PC0 y PC1, Dos contadores de datos DC0 y DC1, dos puertos de 8 bits y un temporizador programable. Se pueden conectar varios F3851 y F3856 al F3850 hasta obtener la cantidad de rom necesaria.
* F3852, DMI (Dynamic Memory Interface), Genera el bus de direcciones de 16 bits, proporcionando las señales de control para memoria dinámica y estática. Contiene dos contadores de programa y dos contadores de datos.
* F3853, SMI (Static Memory Interface), Genera el bus de direcciones de 16 bits. Contiene dos contadores de programa y dos contadores de datos, Lógica de interrupción y un temporizador.
* F3854, DMA (Direct Memory Access) trabaja en conjunción con el DMI.
* MK3870, SCM (Single Chip Microcomputer) Existe en doversas versiones, variando el tamaño de la rom y la ram. Hay modelos piggyback sin rom. También existe en tecnología cmos y con memoria EPROM.
* Datos: Q2253011
* Multimedia: Fairchild F8 / Q2253011
