stringtranslate.com

Fairchild F8

El Fairchild F8 es un sistema de microprocesador de 8 bits de Fairchild Semiconductor , anunciado en 1974 y enviado en 1975. [1] [2] La familia de procesadores original incluye cuatro circuitos integrados (CI) principales de 40 pines ; la CPU 3850 que es la unidad lógica aritmética , la Unidad de almacenamiento de programa (PSU) 3851 que contiene1  KB de ROM de programa y maneja la decodificación de instrucciones, y la Interfaz de Memoria Dinámica (DMI) 3852 opcional o la Interfaz de Memoria Estática (SMI) 3853 para controlar la RAM o ROM adicional que contiene los programas o datos del usuario. El DMA 3854 es otro sistema opcional que agrega acceso directo a la memoria RAM controlada por el 3852.

Un sistema mínimo que contenía un 3850 y un 3851 también incluía cuatro puertos de datos de 8 bits, 64 bytes de RAM y un programa de usuario en ROM. Esto permitía crear aplicaciones de microcontroladores utilizando solo dos chips. Hacer lo mismo en diseños más tradicionales como el 8080 o el 6800 normalmente requería siete. También significaba que cualquier aplicación que no cumpliera con los requisitos simples generalmente requería al menos tres circuitos integrados de 40 pines, la CPU, la fuente de alimentación y el 3852 o el 3853 junto con chips de memoria adicionales. Como resultado de estas compensaciones, la serie F8 encontró un uso generalizado en el mercado de microcontroladores, pero se usó menos como CPU en computadoras de uso general. Es relativamente oscura hoy en día, ya que sus usos integrados rara vez revelaban el F8 en su interior.

En 1977, Mostek lanzó una implementación de un solo chip muy mejorada, el Mostek 3870. Fusionó el 3850 y el 3851 y redujo la cantidad de voltajes de suministro de energía. Más importante aún, Mostek reorganizó la línea de ensamblaje de modo que el código de usuario en ROM se agregó en el último paso, lo que redujo en gran medida el costo de personalizar el diseño para el uso del controlador. El 3870 reemplazó las versiones originales de Fairchild y fue producido por varias compañías en los EE. UU. y Europa. En Europa, STMicroelectronics continuó produciendo variaciones del diseño hasta mediados de la década de 1990.

Historia

Desarrollo

La historia del F8 comienza con un proyecto de desarrollo de microprocesadores en Olympia-Werke , una subsidiaria de AEG . Más conocida como fabricante de máquinas de escribir , Olympia también tenía una larga historia en calculadoras mecánicas , un mercado que se estaba convirtiendo rápidamente en versiones electrónicas . Olympia estaba desarrollando un sistema de procesador conocido como CP3-F, del que General Instrument (GI) había obtenido la licencia. Como parte del acuerdo de licencia, GI envió a David Chung, jefe de la división de procesadores de GI, a Olympia para que se pusiera en contacto con su equipo de diseño. Poco después de regresar a los EE. UU., Chung dejó GI y se mudó a Fairchild, donde se convirtió en el diseñador principal del F8, [1] y se lo nombra como el inventor principal en la patente. [3]

Fairchild anunció el F8 en septiembre de 1974, lo que condujo casi inmediatamente a una demanda de GI por apropiación indebida de secretos comerciales . A medida que el caso se prolongaba, en febrero de 1976 Fairchild anunció un acuerdo de licencia cruzada con Olympia para el F8, lo que significa que ahora tenían acceso legal al diseño original del CP3F y la demanda de GI quedó neutralizada, al menos en los detalles técnicos. Hay muy poca información disponible sobre el CP3F, pero los observadores de la industria creen ampliamente que el CP3F es la base para el diseño del F8. [4] El caso judicial se prolongó hasta la década de 1980, pero al no haber problemas técnicos dignos de mención, no tuvo ningún efecto en las ventas del F8. [1]

Producción

Las primeras muestras de ingeniería del F8 se enviaron en abril de 1975, y los envíos en grandes cantidades comenzaron ese otoño. En ese momento, la industria electrónica exigía acuerdos con una segunda fuente como garantía de que el diseño no desaparecería si la empresa que lo diseñó se declaraba en quiebra o simplemente perdía interés en el diseño. Fairchild anunció un acuerdo de este tipo con Mostek en junio de 1975. El acuerdo permitía a ambas empresas continuar con el desarrollo independiente del diseño. [1]

El F8 se presentó a un precio unitario de 130 dólares (equivalente a 736,1 dólares en 2023), lo que lo hace menos costoso que los diseños contemporáneos como el Intel 8080 o el Motorola 6800 , que costaban al menos el doble de ese precio. Además, el sistema mínimo incluía cuatro puertos de entrada/salida de 8 bits , una pequeña cantidad de RAM y1 KB de ROM. Juntos, permitieron que se crearan aplicaciones simples con solo dos circuitos integrados. En contraste, diseños como el 8080 y el 6800 requerían circuitos integrados separados y dedicados para proporcionar estas funciones, normalmente siete, [5] por lo que se podía implementar un sistema F8 por un costo total mucho menor. Para compensar esto en cierta medida, la ROM del programa en la fuente de alimentación se enmascaró en los chips al principio del proceso de producción, lo que requirió líneas de producción separadas para cada cliente. Como resultado, los costos de instalación eran del orden deEntre 10.000 y 15.000 dólares . [1]

Aunque el F8 se comercializó como un microprocesador de propósito general, históricamente representa el primer microcontrolador de 8 bits diseñado específicamente , [a] un diseño que implementa un sistema informático completo en una pequeña cantidad de circuitos integrados. Su lanzamiento tuvo una profunda influencia en el mercado y condujo a la introducción de microcontroladores dedicados de la mayoría de los demás proveedores, entre ellos el Intel MCS-48 , el Motorola MC6801 y el MOS 6510 , todos los cuales combinaban varios sistemas que antes se dejaban al diseñador de la placa de circuito para su implementación. Estos ejemplos, sin embargo, llevaron el proceso un paso más allá e implementaron un sistema completo en un solo circuito integrado.

Gracias a los efectos implacables de la ley de Moore , no pasó mucho tiempo antes de que los 3850 y 3851 también pudieran implementarse en un solo CI, que se lanzó como 3859. [1] La línea también se actualizó con la incorporación del 3856, un 3851 con2 KB de ROM, [7] y el 3857, un 3856 con líneas de dirección adicionales para acceder a la ROM externa además de los 2 KB internos, eliminando la necesidad de un 3853 separado en muchas funciones.

3870

Casi al mismo tiempo que se lanzó el 3859, Mostek presentó su propia versión de un F8 de un solo chip, el Mostek 3870. Mientras que el 3859 era esencialmente un 3850/3851 de un solo chip, el 3870 fue un avance significativo;4  MHz , el doble que el 3859, y sólo requirió un únicoFuente de alimentación de +5  V en lugar de +5 y +12. Un cambio mucho más importante fue que el código ROM personalizado ahora se enmascaraba en el CI como el último paso del proceso, por lo que todas las CPU eran idénticas hasta el final de la línea de producción. Como resultado, los costos de enmascaramiento eran del orden de $1,000 , lo que hacía que su implementación fuera mucho menos costosa. El 3870 fue un avance tan grande con respecto al original que Fairchild detuvo la producción del 3859 y licenció el 3870 para sus propias ventas. [1]

El 3870 fue modificado con muchas subversiones a lo largo del tiempo. Entre las más importantes estaba la incorporación de un zócalo en la parte superior del chip que permitía conectar una EPROM sin necesidad de ningún otro circuito de soporte. Esto eliminó la necesidad de la ROM incorporada y permitió a los clientes producir su propia ROM y eliminar los costos de enmascaramiento. Las variaciones también incluyeron ejemplos con más ROM o RAM u otros cambios menores. [1]

Mientras tanto, el acuerdo de licencia cruzada con Olympia llevó a la producción en Alemania por parte de Telefunken , otra de las muchas marcas de AEG. Mostek se fusionó con United Technologies en 1979, que llevó a la empresa a la ruina y, a su vez, la vendió a Thomson Semiconducteurs en 1985. Thomson se fusionó con SGS en 1987 para formar la moderna STMicroelectronics , que continuó produciendo el 3870 hasta la década de 1990. Fairchild también continuó produciendo versiones del 3870 hasta la década de 1980, cuando fueron compradas por National Semiconductor . [1]

Aunque hoy en día es poco conocido, "en 1977 el F8 era el microprocesador líder en ventas de CPU del mundo". [8] El diseño sigue siendo algo desconocido porque la mayoría de esos usos eran como microcontroladores integrados donde rara vez se identifica el chip dentro del dispositivo, a diferencia de productos como las computadoras domésticas donde se conoce mejor la CPU en su interior. Entre sus pocos usos más conocidos se encuentran el Fairchild Channel F en 1976 y el sistema informático VideoBrain en 1977. Ambos fueron eliminados del mercado por la introducción del Atari 2600 en 1977.

Fairchild también produjo una serie de placas de ingeniería y para aficionados utilizando el F8. El Kit 1 era una placa de circuito única con la CPU 3850, la fuente de alimentación 3851 y la SMI 3853. La fuente de alimentación contenía un programa conocido como "Fairbug" al que se podía acceder utilizando un terminal conectado a la CPU a través de su puerto de E/S de 8 bits. [9]

El F8 se suspendió a mediados de la década de 1980, y la última compra fue realizada por Innovative Data Technology, San Diego, CA, para utilizarlo en su unidad de cinta insignia de 1/2" y 9 pistas, la serie TD1050 utilizada para el intercambio de datos de facturación por parte de operadores de telecomunicaciones.

Descripción

Familia de chips

Un sistema informático típico generalmente requiere una CPU, algún tipo de entrada/salida para comunicarse con el mundo exterior y una memoria que contenga el código del programa y los datos del usuario. Normalmente, la E/S se manejaría mediante chips dedicados y se accedería a la memoria a través de un bus de direcciones que seleccionaría ubicaciones en la memoria externa y luego devolvería esos datos a la CPU a través de un bus de datos . Dependiendo del diseño, la E/S se comunicaría con el procesador a través de un bus dedicado o, alternativamente, colocando datos en la memoria y luego haciendo que la CPU los lea. Mover datos entre todas estas unidades diferentes requería circuitos de "pegamento" adicionales.

El F8 fue diseñado para dividir estas funciones con el fin de hacer posibles implementaciones minimalistas. [10] En teoría, se podrían colocar todas estas funciones en un solo chip, pero en la era de los chips de 40 pines simplemente no había suficientes pines para conectar todas estas funciones. En particular, la implementación de un bus de datos de 8 bits, un bus de direcciones de 16 bits y otro bus de E/S de 8 bits dejaría solo 8 pines más para todas las demás funciones, desde la fuente de alimentación y la tierra hasta las diversas señales de reloj y líneas de control. Otros diseños a veces multiplexaban las líneas de direcciones y datos para que los mismos pines pudieran usarse para múltiples funciones, a costa de requerir más ciclos para completar una operación.

El F8 abordó este problema internalizando algunas de las funciones, como agregar una pequeña cantidad de RAM al núcleo de la CPU, mientras que otras se desplazaban fuera de la CPU. El mejor ejemplo de esto es el sistema mínimo que consta de la CPU 3850 y la fuente de alimentación 3851. En este caso, no hay necesidad de un bus de direcciones en absoluto; la RAM está contenida en el 3850 y la ROM del programa en el 3851. Es la fuente de alimentación la que se encarga de realizar el seguimiento del contador de programa , obtener instrucciones de la ROM interna y enviarlas al 3850 para su procesamiento a través de un bus de instrucciones dedicado de 5 pines junto con cualquier dato asociado a través del bus de datos independiente de 8 bits. [10] Esto liberó 11 pines que de otro modo se utilizarían para líneas de dirección adicionales, lo que, junto con otras simplificaciones y la división de tareas, permitió que la CPU tuviera dos buses de E/S completos. El 3851 agregó otros dos puertos de E/S, de modo que un sistema mínimo tenía cuatro puertos en total. [10]

Con sólo 1 KB de ROM y 64 bytes de RAM, sólo se pueden gestionar programas pequeños, pero para muchos sistemas, como cajas registradoras , surtidores de gasolina y funciones similares, esto es más que suficiente. Cuando un sistema tiene mayores requisitos, se puede utilizar el 3852 o el 3853. [11] Estos interactúan con la fuente de alimentación y contienen lógica adicional para manejar su memoria asociada; por ejemplo, el 3852 tenía un bus de direcciones completo capaz de acceder a 64 KB de RAM y los circuitos necesarios para actualizar los datos. La fuente de alimentación sigue siendo necesaria en estos sistemas, y el contador de programa y otros punteros se mantienen por separado en todos estos chips leyendo las mismas líneas de control. La principal diferencia entre el 3852 y el 3853 era que el primero incluía el circuito de actualización dinámica de RAM y un enlace de 3 pines al controlador DMA 3854, mientras que el 3853 los eliminaba y añadía un nuevo controlador de interrupciones y temporizador. [12]

El controlador DMA 3854 estaba vinculado directamente al controlador RAM 3852 y no utilizaba el bus de control de 5 pines que se encontraba en los otros miembros de la familia. Mantenía su propio registro de direcciones y un contador de bytes independiente, que en conjunto indicaban el bloque de memoria que se debía leer o escribir. [12]

Arquitectura del conjunto de instrucciones

En su interior, la CPU contenía un acumulador de 8 bits , un registro de estado del procesador de 5 bits , un "Indirect Scratchpad Address Register" o ISAR de 6 bits y 64 bytes de RAM de "scratchpad". Se puede acceder directamente a las primeras doce ubicaciones dentro de la RAM y usarlas como acumuladores secundarios, etiquetados de la A a la J. Se accede al resto del scratchpad a través del ISAR, una forma de direccionamiento indirecto .

Los chips 3851/3852/3853 contienen el contador de programa , PC0 , junto con un contador de programa secundario, PC1 . PC1 se conocía como un puntero de pila, pero en realidad no se usaba para esto; solo se usaba para almacenar las direcciones de retorno de las subrutinas y carecía de instrucciones push o pop. Si se requiere una pila más grande, esto debe implementarse en software. Estos chips también tenían un contador de datos de 16 bits, DC0 , y su búfer de contador de datos asociado, DC1 . Estos se usaban como registros de indexación para direccionamiento indirecto, aunque solo se podía acceder directamente a DC0 y el valor en DC1 tenía que intercambiarse con DC0 usando una instrucción separada.

El conjunto de instrucciones incluía 70 códigos de operación codificados en 8 bits. Como era típico de la época, muchas instrucciones tenían una variedad de modos de direccionamiento con algunos de los modos codificados en el código de operación de la instrucción . Por ejemplo, la instrucción Load Register (LR) venía en 14 versiones diferentes dependiendo del origen y destino de los datos. La versión que comenzaba con $00 era seguida por dos bits cero y luego otros dos bits que indicaban ubicaciones en el scratchpad en las ubicaciones 12 a 15, por lo que usaba los códigos de operación $00 a $04 . $0A era otra versión de LR, que cargaba el valor apuntado por el ISAR. El F8 tenía un total de ocho modos de direccionamiento. [13]

Las instrucciones de la máquina se pueden agrupar en seis categorías: instrucciones de acumulador, instrucciones de bifurcación, instrucciones de referencia de memoria, instrucciones de registro de dirección, instrucciones de registro de borrador, instrucciones varias (interrupción, entrada, salida, registro de borrador indirecto, carga y almacenamiento). [13]

El F8 corrió a1–2  MHz , lo que produce unaTiempo de ciclo de 0,5  μs . En el F8, el bus de control regula el uso del bus de datos mediante el uso de señales de temporización y controles de estado. El reloj phi divide el ciclo de la máquina en fases discretas según la instrucción que se esté ejecutando. Las cinco líneas de control de estado son una función de la instrucción que se esté ejecutando. Los estados del bus de control regulan el control de la información en la computadora.

ERROR JUSTO

El microordenador Fairchild F8 se puso a disposición de los ingenieros de diseño electrónico a finales de 1975. La placa tiene tres dispositivos de integración a gran escala empaquetados en circuitos integrados de 40 pines: CPU, fuente de alimentación y SMI. Esta placa de circuito funcionó como unComputadora personal de 8 bits y 1  KB que se conectaba a un teletipo. El diseño permitía interfaces adicionales para disquetes y otros dispositivos. Un programa llamado Fairbug, que se encontraba en una fuente de alimentación de 1K, permitía a los usuarios ver y cambiar la memoria y los registros, y probar programas escritos en código de máquina. Este dispositivo apareció al comienzo de la transición de las computadoras de tiempo compartido a las computadoras personales.

Fairchild proporcionó kits de desarrollo y evaluación para el F8, estos kits incluían una PSU 3851A (Unidad de almacenamiento de programa) que contenía un monitor en la ROM de máscara, vectorizado para comenzar en la dirección 0x8080. [14] Al encender, se ingresaba la ROM. El monitor de ROM se mencionaba en la literatura de Fairchild como FAIR-BUG. [14] El monitor FAIR-BUG es una constelación de rutinas para ayudar a los ingenieros de desarrollo de productos que interactuaban con FAIR-BUG desde un teletipo . Fairchild extendió FAIR-BUG como KD-BUG, para usar con un teclado y una pantalla. [15]

Los comandos principales de FAIR-BUG son caracteres ASCII simples extraídos del conjunto {A, B, C, D, E, F, G, I, L, M, N, P, R, S, W}. Las ubicaciones de los registros y de la memoria se introdujeron como parámetros inmediatamente después del identificador del comando. Por ejemplo, el comando M02F0-02FFda como resultado que el Teletipo escriba el contenido de 16 bytes de memoria. Los comandos de FAIR-BUG se dirigen a todas las ubicaciones de la memoria y a todos los registros. El programador puede examinar o modificar estas ubicaciones.

FAIR-BUG contiene cinco subrutinas que se utilizan para procesar comandos: Entrada de 2 bytes ASCII; Salida de 1 byte ASCII; Salida de la cadena CR, LF, Null; Salida de 1 byte ASCII; Entrada de 1 byte ASCII desde un dispositivo de entrada paralelo. FAIR-BUG es esencialmente una rutina de administración de acceso aleatorio para toda la memoria, tanto RAM como ROM, y todos los registros, incluidos el contador de programa, el contador de datos y el bloc de notas. El programador tiene la capacidad de plantar cualquiera de las más de 70 instrucciones u operandos de código de máquina en ubicaciones de memoria. El programador puede luego usar el comando G para cargar una dirección específica en el contador de programa y ejecutar la rutina en esa dirección.

El objetivo de proporcionar las rutinas FAIR-BUG en 1975 fue ayudar a los ingenieros a acelerar la creación de aplicaciones para los circuitos integrados F8.

Notas

  1. ^ El Texas Instruments TMS 1000 es anterior, pero es un sistema de 4 bits. [6]

Referencias

Citas

  1. ^ abcdefghi CPU 2013.
  2. ^ "El Fairchild F8". Página del coleccionista de chips antiguos . Consultado el 18 de agosto de 2013 .
  3. ^ Patente de EE. UU. 3984813, asignada a Fairchild Camera and Instrument Corporation 
  4. ^ Singer, Graham (1 de octubre de 2020). "La historia del microprocesador y la computadora personal". Techspot .
  5. ^ Osborne 1978, pág. 2.1.
  6. ^ Osborne 1978, pág. 1.1.
  7. ^ Unidad de almacenamiento de programas F3851/F3856 (PDF) (Informe técnico).
  8. ^ "Microprocesadores de 8 bits - F8 (3850)". Archivado desde el original el 17 de julio de 2011 . Consultado el 18 de agosto de 2013 .
  9. ^ Hoja de instrucciones del sistema de evaluación del microprocesador One-Card F8, Fairchild Microsystems, 13 de febrero de 1976.
  10. ^ abc F8 1975, pág. 1.
  11. ^ F8 1975, pág. 5.
  12. ^ desde F8 1975, pág. 3.
  13. ^ desde F8 1975, pág. 8.
  14. ^ ab F8 Hardware de soporte para el desarrollo de microprocesadores (PDF) . Fairchild Semiconductor.
  15. ^ Guía del usuario de KD-BUG (PDF) . Fairchild Semiconductor. 1978.

Bibliografía

Enlaces externos