Fairchild F8 - Fairchild F8

Fairchild F8
KL Fairchild F3850.jpg
F3850, die CPU des Fairchild F8-Systems.
Allgemeine Information
Gestartet 1975
Gängige Hersteller
Leistung
max. CPU- Taktrate 1,00 MHz bis 2,00 MHz
Architektur und Klassifizierung
Befehlssatz 8 Bit
Physikalische Spezifikationen
Pakete)

Der Fairchild F8 ist ein 8-Bit- Mikroprozessorsystem von Fairchild Semiconductor , das 1974 angekündigt und 1975 ausgeliefert wurde. Die ursprüngliche Prozessorfamilie umfasste vier integrierte 40-Pin-Hauptschaltungen (ICs); die 3850 CPU, die die arithmetische Logikeinheit war , die 3851 Program Storage Unit (PSU), die 1 KB Programm- ROM enthielt und die Befehlsdecodierung übernahm , und die 3852 Dynamic Memory Interface (DMI) oder 3853 Static Memory Interface (SMI) zur Steuerung zusätzlicher RAM oder ROM, das die Benutzerprogramme oder Daten enthält. Der 3854 DMA war ein optionales System, das einen direkten Speicherzugriff auf den vom 3852 gesteuerten RAM ermöglichte.

Ein minimales System, das einen 3850 und einen 3851 enthielt, enthielt auch vier 8-Bit-Datenports, 64 Bytes RAM und ein Benutzerprogramm auf ROM. Dadurch konnten Mikrocontroller- Anwendungen mit nur zwei Chips erstellt werden. Dies bedeutete auch, dass jede Anwendung, die nicht den einfachen Anforderungen entsprach, im Allgemeinen mindestens drei 40-Pin-ICs, die CPU, das Netzteil und entweder den 3852 oder 3853 sowie zusätzliche Speicherchips erforderte. Als Ergebnis dieser Kompromisse fand die F8-Serie weit verbreitete Verwendung auf dem Mikrocontroller-Markt, wurde jedoch weniger als CPU in Allzweckcomputern verwendet. Es ist heute relativ obskur, da seine eingebetteten Verwendungen den F8 im Inneren selten offenbarten.

1977 veröffentlichte Mostek eine stark verbesserte Single-Chip-Implementierung, den Mostek 3870 . Es verschmolz die 3850 und 3851 und reduzierte die Anzahl der Netzteilspannungen. Noch wichtiger ist, dass Mostek die Montagelinie neu arrangierte, sodass im letzten Schritt Benutzercode im ROM hinzugefügt wurde, was die Kosten für die Anpassung des Designs für die Verwendung von Controllern erheblich reduzierte. Der 3870 ersetzte die ursprünglichen Fairchild-Versionen und wurde von mehreren Firmen in den USA und Europa produziert. In Europa produzierte STMicroelectronics bis Mitte der 1990er Jahre weiterhin Variationen des Designs.

Geschichte

Entwicklung

Die Geschichte von F8 beginnt mit einem Mikroprozessor-Entwicklungsprojekt bei den Olympia-Werken , einer Tochtergesellschaft von AEG . Am besten bekannt als Hersteller von Schreibmaschinen , hatte Olympia auch eine lange Geschichte in mechanischen Taschenrechnern , die schnell in elektronisches Format umgewandelt wurden. Sie entwickelten ein Prozessorsystem namens CP3-F, das General Instrument (GI) von ihnen lizenziert hatte. Als Teil der Lizenzvereinbarung schickte GI David Chung, den Leiter der Prozessorabteilung von GI, nach Olympia, um mit dem Designteam in Kontakt zu treten. Kurz nach seiner Rückkehr in die USA verließ Chung GI und zog nach Fairchild, wo er der führende Designer des F8 wurde und als Haupterfinder des Patents genannt wird.

Fairchild kündigte die F8 im September 1974 an, was fast sofort zu einer Klage von GI wegen Veruntreuung von Geschäftsgeheimnissen führte . Als sich der Fall hinzog, kündigte Fairchild im Februar 1976 einen Cross-Licensing-Deal mit Olympia für den F8 an, was bedeutete, dass sie nun legalen Zugang zum ursprünglichen CP3F-Design hatten und die Klage von GI zumindest in technischen Details kastriert wurde. Es sind nur sehr wenige Informationen über das CP3F verfügbar, aber von Branchenbeobachtern wird allgemein angenommen, dass das CP3F die Grundlage für das F8-Design ist. Der Gerichtsprozess zog sich bis in die 1980er Jahre hin, hatte jedoch keine nennenswerten technischen Probleme und hatte keine Auswirkungen auf den Verkauf des F8.

Produktion

Die ersten technischen Muster des F8 wurden im April 1975 versandt, und die Massenlieferungen beginnen im Herbst. Damals forderte die Elektronikindustrie Second-Source- Vereinbarungen, um sicherzustellen, dass das Design nicht verschwindet, wenn das Designunternehmen in Konkurs ging oder einfach das Interesse an dem Design verlor. Fairchild kündigte im Juni 1975 eine solche Vereinbarung mit Mostek an. Die Vereinbarung ermöglichte es beiden Unternehmen, das Design unabhängig weiterzuentwickeln.

Der F8 wurde zu einem Preis von 130 US-Dollar (entspricht 625 US-Dollar im Jahr 2020) eingeführt und ist damit günstiger als zeitgenössische Designs wie der Intel 8080 oder Motorola 6800, die mindestens doppelt so teuer waren. Darüber hinaus umfasste das minimale System vier 8-Bit- Ein-/Ausgabeports , eine kleine Menge RAM und 1 KB ROM. Zusammen ermöglichten sie den Aufbau einfacher Anwendungen mit nur zwei ICs. Im Gegensatz dazu unterstützten Designs wie der 8080 diese Art von Funktionalität mit separaten, zweckbestimmten ICs, oft Dutzende, sodass ein F8-System zu weitaus geringeren Gesamtkosten implementiert werden konnte. Dies wurde in gewissem Maße dadurch ausgeglichen, dass das Programm-ROM im Netzteil zu Beginn des Produktionsprozesses auf die Chips maskiert wurde , was für jeden Kunden separate Produktionslinien erforderte. Infolgedessen lagen die Einrichtungsgebühren in der Größenordnung von 10.000 bis 15.000 US-Dollar.

Obwohl der F8 als Allzweck-Mikroprozessor vermarktet wurde, stellt er historisch gesehen den ersten speziell entwickelten 8-Bit- Mikrocontroller dar , ein Design, das ein komplettes Computersystem auf einer kleinen Anzahl von ICs implementiert. Seine Freilassung einen starken Einfluss auf den Markt hatte, und auf die Einführung von speziellen Mikrocontroller von den meisten anderen Anbietern geführt, darunter der Intel MCS-48 , Motorola MC6801 und MOS 6510 , von denen alle kombiniert früher verschiedene Systeme an der linken Leiterplatte Designer implementieren. Diese Beispiele gingen jedoch noch einen Schritt weiter und implementierten ein gesamtes System auf einem einzigen IC.

Durch die unerbittlichen Auswirkungen des Mooreschen Gesetzes dauerte es nicht lange, bis die 3850 und 3851 auch in einem einzigen IC implementiert werden konnten, der als 3859 veröffentlicht wurde. Die Linie wurde auch mit dem Hinzufügen des 3856, einem 3851 mit 2 KB ., aktualisiert ROM, und der 3857, ein 3856 mit zusätzlichen Adressleitungen für den Zugriff auf das externe ROM zusätzlich zum internen 2 KB, wodurch die Notwendigkeit eines separaten 3853 in vielen Rollen entfällt.

3870

Ungefähr zur gleichen Zeit, als der 3859 auf den Markt kam, stellte Mostek seine eigene Version eines Single-Chip-F8 vor, den Mostek 3870. Während der 3859 im Wesentlichen nur ein Single-Chip 3850/3851 war, war der 3870 ein bedeutender Fortschritt; es lief bis zu 4 MHz, doppelt so viel wie das 3859, und benötigte nur eine einzige +5-V-Stromversorgung anstelle von +5 und +12. Eine viel wichtigere Änderung war, dass nun als allerletzter Schritt des Prozesses benutzerdefinierter ROM-Code auf dem IC maskiert wurde, sodass alle CPUs bis zum Ende der Produktionslinie identisch waren. Infolgedessen lagen die Maskengebühren in der Größenordnung von 1000 US-Dollar, was die Implementierung weitaus kostengünstiger machte. Der 3870 war ein solcher Fortschritt gegenüber dem Original, dass Fairchild die Produktion des 3859 einstellte und den 3870 für den eigenen Verkauf lizenzierte.

Der 3870 wurde im Laufe der Zeit mit vielen Unterversionen modifiziert. Zu den wichtigsten gehörte das Hinzufügen eines Sockels oben auf dem Chip, der das Einstecken eines EPROMs ohne weitere Unterstützungsschaltungen ermöglichte. Dadurch entfällt die Notwendigkeit für das On-Board-ROM und ermöglicht es den Kunden, ihr eigenes ROM zu produzieren und die Maskierungsgebühren vollständig zu eliminieren. Variationen beinhalteten auch Beispiele mit mehr ROM oder RAM oder andere kleinere Änderungen.

Unterdessen führte der Cross-Lizenz-Deal mit Olympia zur Produktion in Deutschland durch Telefunken , eine weitere der vielen AEG-Marken. Mostek fusionierte 1979 mit United Technologies , die das Unternehmen in den Boden trieb und 1985 wiederum an Thomson Semiconducteurs verkaufte. Thomson fusionierte 1987 mit SGS zur modernen STMicroelectronics , die bis in die 1990er Jahre die 3870 weiter produzierte. Fairchild produzierte auch weiterhin Versionen des 3870 bis in die 1980er Jahre, als sie von National Semiconductor gekauft wurden .

Obwohl heute wenig bekannt, "war der F8 1977 der weltweit führende Mikroprozessor in Bezug auf die CPU-Verkäufe." Das Design bleibt etwas unklar, da die meisten dieser Anwendungen als eingebettete Mikrocontroller galten, bei denen der Chip im Inneren des Geräts selten identifiziert wird, im Gegensatz zu Produkten wie Heimcomputern, bei denen die CPU im Inneren besser bekannt ist. Zu den wenigen bekannteren Anwendungen gehörten 1976 der Fairchild Channel F und 1977 das VideoBrain- Computersystem. Beide wurden durch die Einführung des Atari 2600 im Jahr 1977 vom Markt verdrängt .

Fairchild produzierte auch eine Reihe von Engineering- und Hobby-Boards mit dem F8. Kit 1 war eine Einzelplatine mit 3850 CPU, 3851 PSU und 3853 SMI. Das Netzteil enthielt ein als "Fairbug" bekanntes Programm, auf das über ein Terminal zugegriffen werden konnte , das über seinen 8-Bit-I/O-Port mit der CPU verbunden war.

Der F8 wurde Mitte der 1980er Jahre eingestellt, mit dem letzten Kauf durch Innovative Data Technology, San Diego, CA, für den Einsatz in ihrem Flaggschiff 1/2" 9-Spur-Bandlaufwerk, der TD1050-Serie, die für den Abrechnungsdatenaustausch durch die Telekommunikation verwendet wird Betreiber.

Beschreibung

Chip-Familie

Ein typisches Computersystem erfordert im Allgemeinen eine CPU, irgendeine Form von Eingabe/Ausgabe, um mit der Außenwelt zu kommunizieren, und einen Speicher, der den Programmcode und die Benutzerdaten enthält. Typischerweise würden I/O durch dedizierte Chips gehandhabt, und auf den Speicher würde über einen Adressbus zugegriffen , der Stellen im externen Speicher auswählt und dann diese Daten über einen Datenbus an die CPU zurücksendet . Je nach Design würde die E/A mit dem Prozessor über einen dedizierten Bus kommunizieren oder alternativ Daten in den Speicher legen und dann von der CPU lesen lassen. Das Verschieben von Daten zwischen all diesen verschiedenen Einheiten erforderte zusätzliche "Klebe"-Schaltungen.

Der F8 wurde entwickelt, um diese Aufgaben aufzuteilen, um minimalistische Implementierungen zu ermöglichen. Theoretisch könnte man all diese Funktionen auf einem einzigen Chip unterbringen, aber in der Ära der 40-Pin-Chips gab es einfach nicht genug Pins, um all diese Funktionen zu verbinden. Insbesondere würde die Implementierung eines 8-Bit-Datenbusses, 16-Bit-Adressbusses und eines weiteren 8-Bit-I/O-Busses nur noch 8 Pins für jede andere Funktion übrig lassen, von der Stromversorgung und Masse bis hin zu den verschiedenen Taktsignalen und Steuerleitungen. Andere Designs multiplexten manchmal die Adress- und Datenleitungen, so dass die gleichen Pins für mehrere Funktionen verwendet werden konnten, auf Kosten von mehr Zyklen, um eine Operation abzuschließen.

Der F8 löste dieses Problem, indem er einige der Funktionen verinnerlichte, z. B. das Hinzufügen einer kleinen Menge RAM zum CPU-Kern, während andere aus der CPU entfernt wurden. Bestes Beispiel dafür ist das Minimalsystem bestehend aus 3850 CPU und 3851 PSU. In diesem Fall ist kein Adressbus erforderlich, das RAM ist im 3850 und das Programm-ROM im 3851 enthalten. Es ist das Netzteil, das dafür verantwortlich ist, den Programmzähler zu verfolgen und Anweisungen vom internen zu holen ROM und führt sie dem 3850 zur Verarbeitung über einen dedizierten 5-Pin-Befehlsbus zusammen mit allen zugehörigen Daten über den separaten 8-Bit-Datenbus zu. Dadurch wurden 11 Pins frei, die sonst für zusätzliche Adressleitungen verwendet würden, was es der CPU zusammen mit anderen Vereinfachungen und Aufteilungen ermöglichte, zwei vollständige E/A-Busse zu haben. Der 3851 fügte weitere zwei I/O-Ports hinzu, sodass ein minimales System insgesamt vier Ports hatte.

Mit nur 1 KB ROM und 64 Byte RAM lassen sich zwar nur kleine Programme verwalten, aber für viele Systeme, wie Kassen , Zapfsäulen und ähnliche Rollen, reicht dies mehr als aus. Wenn ein System größere Anforderungen stellt, kann das 3852 oder 3853 verwendet werden. Diese bilden eine Schnittstelle mit dem Netzteil und enthalten zusätzliche Logik zur Handhabung ihres zugeordneten Speichers; zum Beispiel hatte der 3852 einen kompletten Adressbus, der auf 64 KB RAM zugreifen konnte, und die Schaltung, die zum Auffrischen der Daten erforderlich war. Die PSU wird in diesen Systemen immer noch benötigt, und der Programmzähler und andere Zeiger werden in all diesen Chips separat verwaltet, indem dieselben Steuerleitungen gelesen werden. Der Hauptunterschied zwischen dem 3852 und dem 3853 bestand darin, dass der erstere die dynamische RAM-Refresh-Schaltung und eine 3-Pin-Verbindung zum 3854 DMA-Controller enthielt, während der 3853 diese entfernte und einen neuen Interrupt-Handler und Timer hinzufügte.

Der 3854 DMA-Controller war direkt mit dem 3852-RAM-Controller verbunden und nutzte nicht den 5-Pin-Steuerbus der anderen Mitglieder der Familie. Es unterhielt sein eigenes Adressregister und einen separaten Bytezähler, die zusammen den zu lesenden oder zu schreibenden Speicherblock anzeigten.

Befehlssatzarchitektur

Intern enthält die CPU ein 8-Bit - Akkumulator , ein 5-Bit - Prozessor - Statusregister , ein 6-Bit "Indirect Scratchpad Address Register" oder ISAR und 64 Bytes von "Scratchpad" RAM. Auf die ersten zwölf Stellen innerhalb des RAM kann direkt zugegriffen und sie als sekundäre Akkumulatoren verwendet werden, die mit A bis J bezeichnet sind. Auf den Rest des Notizblocks wird über die ISAR zugegriffen, eine Form der indirekten Adressierung .

Die 3851/3852/3853 enthalten den Programmzähler PC0 zusammen mit einem sekundären Programmzähler PC1. PC1 wurde als Stack-Pointer bezeichnet, wurde aber nicht dafür verwendet, sondern nur zum Speichern der Rückkehradressen von Unterprogrammen und ohne Push- oder Pop-Befehle. Wird ein größerer Stack benötigt, muss dieser in Software implementiert werden. Diese Chips hatten auch einen 16-Bit-Datenzähler DC0 und den zugehörigen Datenzählerpuffer DC1. Diese dienten als Indexregister für die indirekte Adressierung, wobei jedoch nur auf DC0 direkt zugegriffen werden konnte und der Wert in DC1 mit einer separaten Anweisung gegen DC0 getauscht werden musste.

Der Befehlssatz umfasste 70 Opcodes , die in 8 Bits codiert sind. Wie es für die Zeit typisch war, hatten viele Befehle eine Vielzahl von Adressierungsmodi, wobei einige der Modi im Befehls- Opcode kodiert waren . Zum Beispiel gab es den Befehl Load Register (LR) in 14 verschiedenen Versionen, je nach Ursprung und Ziel der Daten. Der Version, die mit $00 begann, folgten zwei Null-Bits und dann weitere zwei Bits, die die Stellen im Notizblock an den Stellen 12 bis 15 anzeigten, also wurden die Opcodes $00 bis $04 verwendet. $0A war eine andere Version von LR, die den Wert lädt, auf den die ISAR zeigt. Der F8 hatte insgesamt acht Adressierungsmodi.

Die Maschinenbefehle können in sechs Kategorien eingeteilt werden: Akkumulatorbefehle, Verzweigungsbefehle, Speicherreferenzbefehle, Adressregisterbefehle, Notizblockregisterbefehle, verschiedene Befehle (Unterbrechen, Eingabe, Ausgabe, indirektes Notizblockregister, Laden und Speichern).

Der F8 lief mit 1–2 MHz, was eine Zykluszeit von 0,5 μs ergab. Im F8 regelt der Steuerbus die Verwendung des Datenbusses durch die Verwendung von Zeitsteuerungssignalen und Zustandssteuerungen. Der Phi-Takt unterteilt den Maschinenzyklus in diskrete Phasen, abhängig von der ausgeführten Anweisung. Die fünf Zustandssteuerleitungen sind eine Funktion des ausgeführten Befehls. Die Steuerbuszustände regeln die Steuerung von Informationen im Computer.

FAIR-BUG

Der Fairchild F8-Mikrocomputer wurde Ende 1975 den Elektronik-Designern zur Verfügung gestellt. Das Board verfügt über drei große Integrationsgeräte, die in 40-Pin-ICs verpackt sind: CPU, PSU und SMI. Diese Platine funktionierte als 64K 8-Bit-Personalcomputer, der mit einem Fernschreiber verbunden war. Das Design erlaubte zusätzliche Schnittstellen zu Disketten und anderen Geräten. Ein Programm namens Fairbug, das sich in einem 1K-Netzteil befand, ermöglichte es Benutzern, Speicher und Register anzuzeigen und zu ändern sowie im Maschinencode geschriebene Programme zu testen. Dieses Gerät erschien zu Beginn des Übergangs von Time-Shared-Computern zu PCs.

Fairchild stellte Entwicklungs- und Evaluierungskits für den F8 bereit. Diese Kits enthielten ein 3851A-Netzteil (Programmspeichereinheit), das einen Monitor im Masken-ROM enthielt, der vektorisiert war, um bei Adresse 0x8080 zu beginnen. Beim Einschalten wurde das ROM eingegeben. Der ROM-Monitor wurde in der Fairchild-Literatur als FAIR-BUG bezeichnet. Der FAIR-BUG-Monitor ist eine Konstellation von Routinen zur Unterstützung von Produktentwicklungsingenieuren, die von einem Fernschreiber mit FAIR-BUG interagiert haben . Fairchild hat FAIR-BUG als KD-BUG erweitert, zur Verwendung mit Tastatur und Display.

FAIR-BUG-Hauptbefehle sind einzelne ASCII-Zeichen aus der Menge {A, B, C, D, E, F, G, I, L, M, N, P, R, S, W}. Register- und Speicherplätze wurden als Parameter unmittelbar nach der Befehlskennung eingegeben. Zum Beispiel führt der Befehl M02F0-02FF dazu, dass der Inhalt von 16 Byte Speicher vom Teletype abgetippt wird. FAIR-BUG-Befehle adressieren alle Speicherplätze und alle Register. Diese Orte können vom Programmierer untersucht oder geändert werden.

FAIR-BUG enthält fünf Unterprogramme, die bei der Verarbeitung von Befehlen verwendet werden: Input 2 ASCII Bytes; Ausgabe 1 ASCII-Byte; Geben Sie die Zeichenfolge CR, LF, Null aus; Ausgabe 1 ASCII-Byte; Geben Sie 1 ASCII-Byte von einem parallelen Eingabegerät ein. FAIR-BUG ist im Wesentlichen eine Direktzugriffsverwaltungsroutine für den gesamten Speicher, sowohl RAM als auch ROM, und alle Register, einschließlich Programmzähler, Datenzähler und Notizblock. Der Programmierer hat die Möglichkeit, jeden der über 70 Maschinencodebefehle oder Operanden in Speicherplätze einzufügen. Der Programmierer kann dann den G-Befehl verwenden, um eine bestimmte Adresse in den Programmzähler zu laden und die Routine an dieser Adresse auszuführen.

Ziel der Bereitstellung der FAIR-BUG-Routinen im Jahr 1975 war es, Ingenieure dabei zu unterstützen, die Erstellung von Anwendungen für die F8-ICs zu beschleunigen.

Erfinder

Das Patentdokument US4086626 führt David H. Chung als Erfinder des Computers auf, den wir als Fairchild F8 kennen. Der Anmeldetag für dieses Patent war der 7. Juni 1976. Die Erfindung war eine Erweiterung der im Patent mit dem Prioritätsdatum 7. Oktober 1974 erwähnten technischen Arbeiten. Der Inhaber des Patents war die Fairchild Camera and Instrument Corporation. David H. Chungs Karriere umfasste Positionen bei Texas Instruments, Fairchild und Sony.

Anmerkungen

Verweise

Zitate

Literaturverzeichnis

Externe Links