Blick in den Intel 8087 Coprozessor

Eine kleine Geschichte der Entwicklung der von Intel hergestellten 8-Bit-Prozessoren


Die Reihe der Acht-Bit-Prozessoren beginnt ihre Geschichte im April 1972. Der Intel 8008 war ursprünglich für den Einsatz in Taschenrechnern und Eingabe-Ausgabe-Geräten geplant, aber der Hersteller entschied sich nach einer guten „Überlegung“, ein neues Ziel für die Produktpalette zu finden - den Zentralprozessor eines PCs zu sein. Abhängig von den Modifikationen der Prozessoren betrug die Taktfrequenz 500 oder 800 kHz und die Leistung 45000 bis 160000 Operationen pro Sekunde.


Intel C8008

Im April 1974 entwickelten Federico Faggini und Masatoshi Shima eine neue Reihe von Prozessoren - Intel 8080 . 6.000 Transistoren waren in einem 40-poligen Keramikgehäuse, einem 16-Bit-Adressbus und einem 8-Bit-Datenbus mit 64 KB adressierbarem Speicher untergebracht. Die Taktfrequenz betrug 2 MHz und die Leistung betrug bis zu 500.000 Operationen pro Sekunde. Damit der Prozessor „komfortabel“ wird, wurden ein arithmetischer Coprozessor, ein Taktgenerator, Busformer, ein Timer, Steuerungen für Peripheriegeräte usw. entwickelt.


Intel 8080A

Zwei Jahre später, im März 1976, erblickte die Intel 8085-Reihe das Licht: 6500 Transistoren wurden in ein 40-poliges Keramikgehäuse (oder Kunststoffgehäuse) eingebaut. Die Taktfrequenz lag im Bereich von 3 bis 8 MHz, die Breite des Datenbusses betrug 8 Bit, die Breite des Adressbusses betrug 16 Bit, der adressierbare Speicher betrug 64 Kb. Diese Leitung wurde erfolgreich in den PC oder in Form von Mikrocontrollern "eingebunden".



Im Juni 1978 begann die Produktion der ersten Reihe von 16-Bit-Prozessoren des Unternehmens - Intel 8086 : 29.000 Transistoren wurden auf einem 5,5 x 5,5 mm großen Chip platziert. Die Taktfrequenz lag im Bereich von 5 bis 10 MHz, die Leistung im Bereich von 330 bis 750.000 Operationen pro Sekunde, die Breite des Datenbusses betrug 16 Bit und die Breite des Adressbusses betrug 20 Bit.


Intel 8086

Ein Jahr später, im Sommer 1979, veröffentlichte Intel die 8088-Leitung - eine Übergangsverbindung zwischen 8- und 16-Bit-Prozessoren: 29.000 Transistoren, die Taktfrequenz betrug 5-10 MHz. Die 8088-Linie wurde jedoch aufgrund ihrer hohen Kosten nicht populär.


Intel P8088

Coprozessoren 8087


Im Juni 1980 wurde eine Reihe von Intel 8087-Coprozessoren für Intel 8086, 8088 veröffentlicht. Diese Coprozessoren enthielten 45.000 Transistoren, wobei die Taktfrequenz in verschiedenen Versionen zwischen 4 und 10 MHz lag.


Intel C8087

Der mathematische Coprozessor ist ein spezielles Modul zur Durchführung von Gleitkommaoperationen, das in Verbindung mit dem Zentralprozessor arbeitet.

Um Geld von einem Luxus wie einem Coprozessor zu sparen, lehnten sie einfach ab. Um jedoch arbeitsintensive Aufgaben zu lösen, beispielsweise dieselben technischen Berechnungen, ist die Verbesserung der Computerleistung zu einer Notwendigkeit geworden. Dank eines solchen speziellen Moduls - eines mathematischen Coprozessors - gelang es ihnen, die Leistung zu steigern.

Laut INTEL kann ein mathematischer Coprozessor die Zeit, die zum Ausführen von mathematischen Operationen wie Multiplikation, Division und Exponentiation benötigt wird, um 80 Prozent oder mehr reduzieren. Die Geschwindigkeit, mit der einfache mathematische Operationen wie Addition und Subtraktion ausgeführt werden, ändert sich nicht.


Im Inneren des Intel 8087 Mikroprozessorchips


Beim Blick in den Gleitkomma des Intel 8087 fiel mir ein interessantes Merkmal auf dem Chip auf: das Schema der Substratvorspannungsbildung. In diesem Artikel werde ich erklären, wie diese Schaltung unter Verwendung von analogen und digitalen Schaltungen implementiert wird, um eine negative Spannung zu erzeugen.

Intel entwickelte den 8087-Chip 1980, um die Leistung von PCs mit 8086/8088-Linienprozessoren (wie dem IBM-PC) bei Gleitkommaoperationen zu verbessern. Da die ersten Mikroprozessoren für die Ausführung von Operationen mit ganzen Zahlen ausgelegt waren, war die Ausführung von Operationen mit Gleitkommazahlen langsam, dh über die Leistung transzendentaler Operationen wie trigonometrischer Funktionen oder Logarithmen. Der Coprozessor 8087 erhöhte die Geschwindigkeit der Ausführung von Gleitkomma-Aufgaben erheblich, alles wurde fast 100-mal schneller erledigt. Die 8087-Architektur wurde auch in späteren Intel-Prozessoren implementiert, und die 8087-Anweisungen werden weiterhin in modernen x86-PCs verwendet.
Für den Coprozessor wurden mehr als 60 neue Anweisungen eingeführt, deren Name mit „F“ begann, um sie von den ganzzahligen Anweisungen von Intel 8086 zu unterscheiden.
Ich öffnete den 8087-Chip und machte mit einem Hochleistungsmikroskop Fotos. Aufgrund ihres Layouts erhielt ich das folgende Bild:



Der 8087-Kristall ist sehr komplex und enthält 40.000 Transistoren (laut Intel) oder 45.000 (laut Wikipedia). Auf dem Foto befindet sich eine Metallschicht des Chips, die Anschlüsse befinden sich oben auf dem Chip. Die dicksten weißen Linien versorgen alle Teile des Chips mit Strom und Erdung. Unter der Metallschicht befindet sich Polysilizium oder Silizium, aus dem die Transistoren des Chips gebildet sind.

In der unteren Hälfte des Chips befindet sich eine erweiterte 80-Bit-Arithmetikschaltung: Addierer, Register, Schalter, mathematische Konstanten. Das große Rechteck in der Mitte des Chips ist ein Mikrocode, der einen Satz von Prozessoranweisungen implementiert. Im oberen Teil befinden sich Logikschaltungen und eine Busschaltung, die mit dem 8086-Prozessor gekoppelt ist.

Die schwarzen Linien um den Chip auf dem Foto sind kleine Thermokompressionsverbindungen, die die IC-Kontaktflächen (metallisierte leitende Abschnitte mit quadratischer oder rechteckiger Form, die sich hauptsächlich am Umfang des Kristalls oder Substrats befinden) mit 40 Kontakten auf dem Chip verbinden. Anhand der technischen Beschreibung 8087 ist es nicht schwierig zu bestimmen, welche Kontaktfläche auf der Matrix welchem ​​Kontakt der Mikroschaltung entspricht; 40 Pins des Chips (gegen den Uhrzeigersinn nummeriert) sind mit 40 Pads auf dem Chip verbunden.

Unten sehen Sie ein vergrößertes Bild eines Teils der Matrix. Darauf können wir die Kontaktflächen besser betrachten. (Bitte beachten Sie, dass die Erdungsklemmen und +5 V-Stromversorgungspads gleichzeitig mehrere Anschlüsse haben, was die Strommenge erhöht.) Aber hier ist eine "Überraschung" - es gibt ein zusätzliches Kontaktfeld und eine Verbindung zwischen den Kontaktfeldern 40 und 1, die keinem der Kontakte der Mikroschaltung zugeordnet sind.



Bei Betrachtung der Thermokompressionsverbindung der Drahtleitungen auf dem Chip (Bild unten) stellte sich heraus, dass das mysteriöse Kontaktpad nicht mit einem Kontakt verbunden ist, sondern mit einem kleinen würfelförmigen Block. Dieser "Würfel" befindet sich auf derselben Metallbasis wie der Kristall und ist mit dem Siliziumsubstrat des Chips, der Platine, verbunden.

Ich habe eine technische Analyse der Fertigungstechnologie durchgeführt, um die „Unternehmensgeheimnisse“ zu enthüllen, und bin zu dem Schluss gekommen, dass dies Teil der 8087-Substratvorspannungsschaltung ist, in der diese Verbindung zum Anlegen einer negativen Spannung an das Substrat verwendet wird. Wie funktioniert diese Schaltung?



Was ist ein Substratversatz?


In den 1970er Jahren wurden integrierte Schaltkreise mit hoher Dichte aus n-MOS-Transistoren (einem Feldeffekttransistor mit einem isolierten Gate und einem Kanal vom n-Typ) aufgebaut. Das Bild unten zeigt deutlich ihre Struktur. Die Basis des Chips ist ein Siliziumsubstrat. Transistoren wiederum bestehen ebenfalls aus Silizium. Um die Art der Leitfähigkeit und die Konzentration der Ladungsträger in der Masse des Halbleiters zu ändern, um die gewünschten Eigenschaften zu erhalten, werden die Siliziumbereiche mit Verunreinigungen dotiert, um Diffusionsbereiche mit den gewünschten Eigenschaften zu erzeugen. Der Transistor kann als Widerstand betrachtet werden, wodurch Strom zwischen zwei Diffusionsbereichen von Source und Drain fließen kann. Der Transistor wird von einem Gate aus Polysilicium gesteuert. Die Eingangsspannung am Gate steuert den Stromfluss von Source zu Drain: Ein Hochspannungssignal am Gate ermöglicht den Stromfluss von Source zu Drain, während ein Niederspannungssignal den Strom blockiert. Eine isolierende Oxidschicht trennt das Gate von darunterliegendem Silizium; Die Bedeutung dieser Schicht wird etwas später betrachtet. Diese winzigen Transistoren können kombiniert werden, um Logikgatter, Mikroprozessorkomponenten und andere digitale IC-Kristalle zu bilden.



In integrierten Hochleistungsschaltungen war es vorteilhaft, eine negative "Vorspannung" der Spannung über dem Substrat zu verwenden. Um diese Substratvorspannung zu erhalten, hatten viele Chips in den 1970er Jahren einen externen Kontakt, der an -5 V angeschlossen war. Die Ingenieure mochten jedoch nicht die Chips, die zusätzliche Spannung benötigten. Die Chips dieser Zeit benötigten oft drei Netzteile. Außerdem war die Anzahl der Kontakte auf dem IC begrenzt (in der Regel nur 18 Kontakte für Speicherchips). Daher war die Verwendung von zwei weiteren Kontakten für zusätzliche Spannung keine gute Lösung. Eine Teillösung wurde Ende der 1970er Jahre gefunden: Die Chips erzeugten eine negative Vorspannung im Inneren. Es gab also Chips, in denen ein praktisches + 5-V-Netzteil verwendet wurde, und dies ermöglichte es den Ingenieuren eindeutig, „glücklicher“ zu sein.

Innerhalb der Substratvorspannungsschaltung 8087


Sie fragen sich vielleicht, wie ein Chip eine positive Spannung in eine negative Spannung umwandeln kann. Die Antwort ist ein Ladungspumpenkreis, der als Ladungspumpe bezeichnet wird. Verwendet Kondensatoren als Ladungsspeicher, die mithilfe eines Schaltersystems von einem Kondensator auf einen anderen übertragen werden. Der "Vorspannungsgenerator" in 8087 hat wiederum zwei Ladungspumpen. Die folgenden Diagramme zeigen den Betrieb einer solchen Ladungspumpe. Die Ladungspumpe wird durch ein oszillierendes Signal (Q) und dessen Inversion (Q) gesteuert. In der ersten Stufe wird der obere Transistor eingeschaltet, wodurch der Kondensator relativ zur Masse auf bis zu 5 Volt aufgeladen wird. In der zweiten Phase geschieht die Magie. Der untere Transistor wird eingeschaltet, indem die Hochspannungsseite des Kondensators mit Masse verbunden wird. Da der Kondensator immer noch bis zu 5 Volt auflädt, sollte die Unterseite des Kondensators jetzt -5 Volt betragen, wodurch die gewünschte negative Ausgangsspannung erzeugt wird. Wenn der Oszillator erneut kippt, schaltet sich der obere Transistor ein und der Zyklus wiederholt sich. Die Ladungspumpe erhielt ihren Namen, da sie Ladung vom Ausgang zum Boden pumpt. Die Ladepumpe ähnelt einer manuellen Wasserpumpe.



Ich habe den Chip unter dem Mikroskop untersucht. Die Metallschicht verbirgt die Transistoren darunter, und dies macht es schwierig, die Schaltung zu sehen. Nachdem ich die Metallschicht mit Salzsäure entfernt hatte, gelangte ich zu den unten gezeigten Schichten aus Polysilicium und Silizium, „entdeckten“ Transistoren und Kondensatoren (farbige Bereiche sind nur Rauschen, da einige Oxide nicht vollständig entfernt wurden). Das Foto unten zeigt zwei Ladungspumpen: eine links vom Kontaktfeld und die zweite unten. Jede Ladungspumpe gemäß dem Schema hat zwei Dioden, einen großen Kondensator und zwei Transistoren.



Kondensatoren sind das auffälligste „Merkmal“ der Substratvorspannungsschaltung. Obwohl ihre Größen tatsächlich mikroskopisch klein sind, sind sie nach den Standards zur Messung der Abmessungen des Chips riesig. Der Kondensatorbereich entspricht ungefähr einem 72-Bit-Registerspeicher (mehr als 400 Transistoren). Jeder Kondensator besteht aus Polysilizium über einem durch ein isolierendes Oxid getrennten Siliziumteil; Polysilicium und Silicium bilden Kondensatorplatten. Auf dem Foto sind Kondensatoren mit Quadraten gepunktet. Diese Quadrate sind die Kontakte zwischen Polysilicium (oder Silicium) und der Metallschicht darüber. (Die Metallschicht ist nicht sichtbar, da sie gelöscht wurde).

Vier Steuertransistoren sind Hochleistungstransistoren. Ihre Größen sind herkömmlichen Transistoren überlegen. Rote Linien sind Polysiliciumverbindungen, die einen Verschluss bilden. Grüne Linien - Kontakte zur Metallschicht, die Transistoren mit +5 V oder Masse verbinden. Dioden in der Nähe des Kontaktfelds bestehen aus Transistoren, wenn Gate und Drain verbunden sind.

Die Ladungspumpen werden von einem Kreisoszillator angetrieben, wie in der folgenden Abbildung gezeigt. Dieser Kreisoszillator besteht aus fünf kurzgeschlossenen Wechselrichtern. Da die Anzahl der Wechselrichter ungerade ist, ist das System instabil und schwingt. Wenn beispielsweise der Eingang für den ersten Wechselrichter 0 ist, ist der Ausgang des fünften Wechselrichters 1. Um die Schwingungsgeschwindigkeit zu verlangsamen, befinden sich zwei resistiv-kapazitive Schaltkreise in einem Kreis. Da das Laden und Entladen des Kondensators einige Zeit in Anspruch nimmt, verlangsamen sich die Schwingungen, wodurch die Ladepumpe arbeiten kann.



Bevor ich die Informationen auf einem Kreisoszillator zerlege, werde ich zeigen, wie ein Standard-NMOS-Wechselrichter in Silizium implementiert wird. Unten ist ein Wechselrichter dargestellt, dessen schematische Darstellung und wie er auf einem Chip implementiert ist. Der Wechselrichter verwendet einen Transistor und einen Lastwiderstand (der eigentlich ein Transistor ist). Wenn das Eingangssignal niedrig ist, der Transistor ausgeschaltet ist, liefert der Lastwiderstand bis zu +5 V. Wenn das Eingangssignal hoch ist, wird der Transistor eingeschaltet und die Ausgangsspannung an Masse geliefert. Somit invertiert die Schaltung den Eingang.



Das dotierte Silizium im Bild weist große beige Bereiche auf. Dünne gelbe Flecken neben den violetten sind Polysilicium. Der Eingang ist ein Polysiliciumdraht. Wo es sich mit dotiertem Silizium schneidet, bildet es ein Transistorgatter zwischen Masse (unter dem Eingang) und Ausgang (über dem Eingang). Ein Lastwiderstand ist in einem Transistor implementiert, der ein Gate und einen Drain miteinander verbunden hat; Dieser Kontakt bildet diese Verbindung zwischen dem polykristallinen Transistor-Silizium-Gate und seinem Silizium-Drain. Polysilicium bildet auch einen Ausgangsdraht. Somit ist der Wechselrichter auf dem Chip mit zwei Transistoren implementiert.



Das Foto oben zeigt, wie ein Kreisoszillator auf einem Kristall gebildet wird. Alle fünf Wechselrichter werden angezeigt. Jeder Wechselrichter hat eine andere Richtung, wodurch die Struktur optimiert wird. Widerstände und Kondensatoren der RC-Schaltung sind ebenfalls angegeben. Widerstände sind einfach Transistoren mit einem großen Abstand zwischen Source und Drain, die die Strombewegung reduzieren. Kondensatoren sind als Ladungspumpenkondensatoren ausgelegt, jedoch viel kleiner. Silizium auf der Unterseite und Polysilizium auf der Oberseite bilden Kondensatorplatten, die durch eine dünne isolierende Oxidschicht getrennt sind.

Schlussfolgerungen


Der Substratvorspannungsgenerator auf dem 8087-Chip ist eine interessante Kombination aus einer digitalen Schaltung (einem aus Wechselrichtern gebildeten Kreisoszillator) und einer analogen Ladungspumpe. Die Substratvorspannungsgeneratorschaltungen wurden Ende der 1970er Jahre eingeführt, wodurch Speicherchips und Mikroprozessoren mit einer einzigen +5 V-Stromversorgung betrieben werden konnten. Dies war viel praktischer als die Verwendung von drei verschiedenen Spannungsquellen. Der Substratvorspannungsgenerator erzeugt aus einer positiven Versorgungsspannung unter Verwendung einer Ladungspumpe eine negative Spannung.

Obwohl der Spannungsvorspannungsgenerator in der Computergeschichte der 1970er Jahre wie ein dunkler Moment erscheint, ist dieser Prozess immer noch Teil moderner integrierter Schaltkreise, obwohl alles viel komplizierter geworden ist.

Trotz der Tatsache, dass der Intel 8087 Gleitkomma-Chip vor 38 Jahren entwickelt und in Betrieb genommen wurde, ist sein „Einfluss“ heute spürbar. Aufgrund seines Erscheinungsbilds wurde der IEEE 754-Standard übernommen, der „IEEE-Standard, der das Format für die Darstellung von Gleitkommazahlen beschreibt. Es wird in Software- (Compiler aus verschiedenen Programmiersprachen) und Hardware- (CPU und FPU) Implementierungen von arithmetischen Operationen (mathematische Operationen) verwendet. " Die 8087-Anweisungen bleiben Teil der x86-Prozessoren.



Notizen und Links


1. Für den Coprozessor wurden mehr als 60 neue Befehle eingeführt, deren Name mit „F“ begann, um sie von den ganzzahligen Intel 8086-Befehlen zu unterscheiden. Beispielsweise sahen die Analoga der ADD / MUL / CMP-Befehle in 8087 wie FADD / FMUL / FCOM aus . Diese Anweisungen wurden mit dem 8086 ESC-Befehl "Escape" implementiert, mit dem der 8086-Prozessor mit dem Coprozessor kommunizieren konnte.

Das Aufkommen des Coprozessors führte 1985 zur Schaffung des IEEE 754-Standards für Gleitkomma-Arithmetik;

2. Das Anlegen einer negativen Vorspannung an das Substrat hat mehrere Vorteile. Diese verringerte Streukapazität, die den Betrieb des Chips beschleunigte, machte die Schwellenspannung des Transistors vorhersagbarer und verringerte den Leckstrom.

3. Früher benötigten DRAM- und Mikroprozessorchips häufig drei Spannungsquellen: + 5 V (Vcc), + 12 V (Vdd) und -5 V (Vbb). In den späten 1970er Jahren ermöglichte die fortschrittliche Chiptechnologie die Verwendung einer einzigen Stromquelle. Zum Beispiel benötigte der MK4116 von Mostek (16-Kilobyte-DRAM seit 1977) drei Spannungsquellen, während der fortschrittliche MK4516 (1981) allein mit +5 V betrieben wurde, wodurch das Hardware-Design vereinfacht wurde. Dasselbe geschah mit Intel-Chips: 2116 DRAM (16K, 1977) mit drei Spannungen und verbesserter 2118 (1979) - eine Spannung. Der bekannte Mikroprozessor Intel 8080 (1974) verwendete Transistoren, die im Anreicherungsmodus betrieben wurden, weshalb drei Spannungen erforderlich waren. Eine verbesserte Version, 8085 (1976), verwendete Verarmungstransistoren und wurde von einem einzelnen +5 V-Netzteil gespeist.

4. Die dritte (+12 V) Stromversorgung in alten Chips hängt nicht mit der Substratvorspannung zusammen. Diese Quelle wurde verwendet, weil in frühen integrierten MOS-Schaltungen Transistoren im Anreicherungsmodus arbeiteten, die die Spannung an den Gates erhöhten. +5 , +12 . 1970- ( ) , +12 .

5. . - , , -3 , -5 . . , .

, . ? ? , 30% entry-level , : VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps $20 ? ( RAID1 RAID10, 24 40GB DDR4).

VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps , .

Dell R730xd 2 ? 2 Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 $249 ! . c Dell R730xd 5-2650 v4 9000 ?

Source: https://habr.com/ru/post/de424889/


All Articles