Das Foto unten zeigt einen 8086-Kristall unter einem Mikroskop. Auf dem Chip ist eine Metallschicht sichtbar, unter der ein Siliziumsubstrat und eine Polysiliziumschicht mit Leitern verborgen sind. Entlang der Außenseite des Kristallumfangs verbindet eine winzige Drahtverbindung die Pads des Kristalls mit den äußeren Beinen. Beim 8086 befindet sich das Power Pad oben und die Erdungspads oben und unten. Jeder von ihnen hat zwei Drähte zum Schweißen von Drähten, wodurch sich der unterstützte Strom verdoppelt. Es sind breite Metallpfade sichtbar, die sich von den Stromversorgungs- und Erdungspads erstrecken. Sie verteilen die Energie auf den Chip.
Foto des 8086-Kristalls, auf dem Sie die Position der Stromversorgung (oben) und die Erdungskontakte (oben und unten) sehen können. Die Zeitschaltkreise befinden sich unten.
Im 8086 sind zwei interne Taktsignale für die Synchronisation verantwortlich. Ein externer Oszillator speist Taktsignale über das Eingangstaktpad unten in den 8086 ein. Der interne Taktgenerator liefert zwei Hochstromtaktsignale basierend auf externen Signalen. Beachten Sie, dass der Uhrentreiber einen großen Platzbedarf auf dem Chip einnimmt.
In diesem Artikel werde ich beschreiben, wie der 8086 Energie- und Taktsignale über den Chip umleitet und wie die Taktschaltung die erforderlichen Taktimpulse erzeugt.
Machtverteilung
8086 besteht aus drei Schichten, von denen jede Leiter aufnehmen kann. Die Metallschicht oben ist aufgrund des geringen Widerstands des Metalls am besten dafür geeignet. Unter dem Metall befindet sich eine Polysiliciumleiterschicht aus einem speziellen Siliziumtyp. Der Widerstand von Polysilicium ist höher als der von Metall, kann jedoch weiterhin zur Übertragung von Signalen über den Chip verwendet werden. Auf dem Siliziumsubstrat sind Transistoren ausgebildet. Der Widerstand von Silizium ist relativ hoch und wird daher nur zur Übertragung von Signalen über kurze Entfernungen verwendet - beispielsweise innerhalb eines Gates.
Die Energieverteilung in einem Chip wie dem 8086 ist ein topologisches Rätsel. Aufgrund ihres geringen Widerstands bleibt die Metallschicht die einzige praktisch nützliche Schicht für die Strom- und Erdungsverdrahtung. Fast alle Gates auf dem Chip müssen mit Strom versorgt und geerdet werden. Und da der Chip eine Metallschicht hat, können sich Leistung und Masse nicht schneiden.
Nahezu alle Gates auf dem Chip benötigen Strom und Masse, da das Standard-MOS-Gate Masse für sein Pull-Down-Netzwerk und Strom für seinen Pull-Up-Widerstand benötigt. Es gibt jedoch einige Ausnahmen. 8086 verwendet dynamische Logikgatter, insbesondere in ALU - für die Geschwindigkeit. Diese Gates werden vom Synchronisationssignal nach oben angezogen, sodass sie keine direkte Stromversorgung benötigen. Der 8086 verwendet auch mehrere XOR-Gatter an den Durchführungs-Transistoren, die vom eingehenden Signal heruntergezogen werden, sodass sie keine Masse benötigen.
Das Mikrocode-ROM bildet einen großen Teil des Chips, der keine Energie benötigt, sondern nur Masse. Dies liegt daran, dass jede ROM-Zeile als sehr großes NOR-Gatter implementiert ist und sich die Leistung, die sie nach oben zieht, am rechten Rand befindet. Daher haben alle ROM-Gatter Strom und Masse, obwohl es scheint, dass dem ROM ein Stromanschluss fehlt.
Das folgende Diagramm zeigt die Metallleiter im 8086. Das Netzteil, das oben an den Stromanschluss angeschlossen ist, ist rot dargestellt. Ein mächtiger Zweig von Lebensmitteln geht nach unten und rechts und teilt sich dann in viele Zweige. Die Stromversorgung erfolgt auch entlang der Kante des gesamten Chips und versorgt die E / A-Pins mit Strom.
Bei ICs kommt es häufig vor, dass sich Strom und Masse in gegenüberliegenden Ecken oder auf gegenüberliegenden Seiten des Chips befinden. Diese Anordnung erleichtert das Verlegen von Strom- und Bodenspuren, die sich nicht kreuzen. Der 8086 hat eine etwas ungewöhnliche Positionierung von Strom und Masse auf diagonal gegenüberliegenden Stiften und die zweite Masse näher am Stromstift. Die Stromnetze und das Land auf dem Chip verzweigen sich wie Bäume. Diese Netzwerke verzweigen sich und erreichen wie ineinander verschlungene Finger alle Teile des Chips.
Strom (rot) und Masse (blau, grün) auf der Metallschicht des Chips
Es gibt zwei Massekontakte. Die blau markierten Spuren verbinden sich mit dem oberen Erdungsstift und die grünen mit dem unteren. Die blau markierten Bodenpfade zeigen eine dicke Verzweigung durch die Mitte des Chips und eine komplizierte Verzweigung in alle Richtungen. Die grünen Bahnen verlaufen entlang der unteren, linken und rechten Seite des Chips und unterstützen die E / A-Pins sowie die Verbindung zum Mikrocode-ROM unten rechts.
Wenn Sie sich weiter von der Stromquelle entfernen und sich den Endpunkten nähern, werden die Stromleiter dünner und der Strom nimmt ab. Dies ist im Stromleiter zu den folgenden Adress- und Datenpins zu sehen. Links unter den Kontakten ist der Leiter mit dem Boden sehr breit, aber er verengt sich allmählich und geht nach rechts. Mit anderen Worten, links muss der Leiter Strom von allen Kontakten leiten und ganz rechts nur von einem.
Die Verbindung der Adress- und Datenpins mit Masse wird dünner (linke Seite des Chips um 90 ° gedreht). Die
Metallschicht dient zur Übertragung vieler Signale, nicht nur von Strom und Masse. Aufgrund seiner niedrigen Impedanz ist es die beste Signalübertragungsschicht. Die weit verbreitete Verwendung von Strom- und Erdungsleitern schränkt jedoch die Leistungsfähigkeit der Metallschicht ein. Um eine Überkreuzung zu vermeiden, verlaufen die meisten Signalpfade auf der Metallschicht parallel zu den Leistungspfaden. Eine darunter liegende Polysiliciumschicht wird zur senkrechten Signalübertragung verwendet. Aber was passiert, wenn ein Metallleiter eine Strom- oder Erdungsschiene überqueren muss? Die Lösung besteht darin, es von unten zu ziehen [crossunder]. Das Signal fällt auf den Polysiliciumpegel ab, überquert die Spur und steigt dann wieder an, wie unten gezeigt.
Solche Bodenkreuzungen werden in vielen Fällen nicht nur mit Lebensmitteln verwendet. Meist geht es jedoch um Ernährung. Typischerweise werden metallische Leiter verwendet, um Signale in eine Richtung zu übertragen, und Polysiliciumleiter werden verwendet, um Signale in senkrechter Richtung zu übertragen. An verschiedenen Stellen auf dem Chip ändern sich diese Richtungen und hängen von der dominanten Richtung der Signalübertragung ab. Daher werden Signale größtenteils ungehindert übertragen. Und doch müssen sie oft von Schicht zu Schicht springen.
Signale auf der Metallschicht durchlaufen die Versorgungswege von unten über eine Polysiliciumschicht
Wenn Strom und Masse fast vollständig zur Metallschicht geleitet werden, ist dieser Stromkreis an einigen Stellen unterbrochen, und die durch den Boden verlaufenden Spuren werden zur Stromversorgung verwendet. Dies geschieht häufiger in den letzten Abschnitten der Tracks, in denen der Strom bereits niedrig ist. Ein Beispiel ist unten gezeigt - wo die Masse unter Verwendung von Polysiliciumleitern zweimal vom Boden der Metallschicht verläuft. Um den Widerstand zu verringern, werden diese Bypasspfade viel breiter als die Signalpfade gemacht und verwenden auch Silizium und Polysilizium zusammen. Kleine Kreise sind durch Kontakte [über] zwischen der Metall- und der Polysiliciumschicht.
Zusammengesetztes Foto, das Erdbypasspfade zeigt, die durch Polysilicium unter den Signalpfaden verlaufen.
Die Siliziumschicht spielt bei der Stromverdrahtung eine untergeordnete Rolle. Insbesondere werden viele Tore gedehnt, um von der anderen Seite aus Kraft und Boden zu erreichen. Das Foto unten zeigt die 8086-Tore. Beachten Sie die großen Bereiche aus dotiertem Silizium (weiß), die herausgezogen werden, um den Boden und die Stromschienen zu erreichen. Nur ein kleiner Teil des Siliziums wird für Transistoren verwendet, und alles andere scheint Platzverschwendung zu sein. Diese leeren Siliziumabschnitte verbinden die Gates jedoch mit Metallleitern, die Strom und Masse liefern. Da Silizium einen relativ hohen Widerstand aufweist, werden hierfür große Flächen verwendet, und die Verbindungen selbst erstrecken sich über kurze Strecken.
Die mit dotiertem Silizium hergestellten Tore können verlängert werden, um die Strom- und Erdungsschienen zu erreichen. Für dieses Foto wurde die Metallschicht entfernt.
Nachdem der 8086 aktualisiert und physisch verkleinert wurde, gab es andere Probleme mit der Stromverkabelung. Mit der Verbesserung der Fertigungstechnologie skalierte Intel die Kristalle - ließ die Schaltkreise gleich, reduzierte sie jedoch proportional. Leider verringert das Verringern der Größe der Stromversorgungsschienen auch den maximalen Strom. Um dieses Problem zu lösen, wurden die Leistungspfade um den Chip verstärkt und die internen Schaltkreise und Verkabelungen reduziert. Dies ist auf dem Foto unten zu sehen. In der unteren rechten Ecke des kleineren 8086 befinden sich beispielsweise viel mehr Stromspuren.
Zwei Versionen von 8086 im gleichen Maßstab. Der Kristall rechts ist eine spätere Version, verkleinert.
Fast alle Computer verwenden Taktsignale, um das Timing des Prozessors zu steuern. Der 8086 verwendet wie viele Mikroprozessoren intern einen Zweiphasentakttreiber. Ein Zweiphasentakttreiber hat zwei Takte - wenn der erste hoch ist, ist der zweite niedrig und umgekehrt, wie unten gezeigt. Einige Schaltkreise werden mit dem ersten Synchronisationssignal eingeschaltet, andere mit dem zweiten. Das Betriebsschema des 8086 impliziert, dass es keine Überlappung zwischen den beiden Phasen der Synchronisationssignale und ihrer Asymmetrie gibt - es gibt eine Lücke zwischen den Momenten, in denen ein Synchronisationssignal niedrig wird und das zweite ansteigt.
Ein Zweiphasentakttreiber besteht aus zwei Taktsignalen mit entgegengesetzter Polarität.
Obwohl fast alle Computer Taktsignale zur Synchronisation verwenden, ist die MaschineDie in den 1950er Jahren beliebte IAS-Architektur war asynchron und wurde ohne Taktsignale betrieben. Stattdessen sendete jeder Schaltkreis, wenn er fertig war, einen Impuls zum nächsten und löste den nächsten Schritt aus. Viele frühe Computer der 1950er Jahre basierten auf dieser Architektur, darunter CYCLONE, ILLIAC, JOHNNIAC, MANIAC, SEAC und IBM 701. Die Erforschung der Möglichkeiten des asynchronen Rechnens wird fortgesetzt , aber synchrone Systeme dominieren definitiv.
Prozessoren verwenden unter anderem Taktsignale, um unerwünschte Rückkopplungen in den Schaltkreisen zu verhindern. Stellen Sie sich beispielsweise einen Software-Zähler vor, dessen Kette seinen Wert erhöht und an den Zähler zurückmeldet. Sie möchten nicht, dass der neue Wert weiter steigt.
Eine Methode besteht darin, Trigger zu verwenden, die den Wert aktualisieren, wenn das Signal von niedrig nach hoch wechselt. Dann wird der Zähler das einzige Mal aktualisiert, das erforderlich ist. Mit einem Zweiphasensynchronisationssignal kann die Schaltung jedoch auf pegelsensitiven Latches hergestellt werden, deren Design viel einfacher ist als bei Triggern, die empfindlich auf Signaländerungen reagieren. Wenn das erste Synchronisationssignal hoch ist, empfängt die erste Hälfte des Strompfads einen Eingabewert und führt logische Berechnungen durch. Wenn das zweite Synchronisationssignal hoch ist, empfängt der zweite Teil der Kette das Ergebnis aus der ersten Hälfte und führt alle erforderlichen Berechnungen durch, und der erste Teil wird blockiert. Der Punkt ist, dass jeweils nur die Hälfte der Kette aktualisiert werden kann, wodurch unerwünschte Rückkopplungen verhindert werden.
Der 8086 hat strenge Anforderungen an den Eingangstakt, die für ein Drittel der Zeit hoch sein müssen. Typischerweise wurde der 8086 durch den 8284-Chip und einen Quarzkristall erzeugt. Der Chip teilte das eingehende Taktsignal durch 3, um den vom 8086 geforderten Taktzyklus von 33% bereitzustellen.
In modernen Prozessoren ist das Taktsignallayout sehr komplex, da das Signal gleichzeitig zu allen Teilen des Chips laufen muss. Moderne Prozessoren verwenden eine Hierarchie von Taktpfaden, gleichen die Laufzeiten entlang jedes Pfades aus und bieten häufig eine separate Pufferung für jeden Pfad. Zum Vergleich ist das Taktsignallayout des 8086 unkompliziert, da seine Taktfrequenz von 5 bis 10 MHz um mehrere Größenordnungen niedriger ist als die moderner Prozessoren. Bei diesen relativ niedrigen Frequenzen spielt die Pfadlänge keine Rolle, sodass die Taktimpulse des 8086 Wicklungspfaden folgen können.
Da der 8086 dynamische Logik verwendete, hatte er auch eine minimale Taktrate von 2 MHz. Wenn die Frequenz niedriger ist, besteht die Gefahr eines Ladungsverlusts vor der Erneuerung, was zu Ausfällen führen kann. Die minimale Taktfrequenz war unter Debugging-Gesichtspunkten unpraktisch, da es unmöglich war, das Taktsignal zu verlangsamen oder zu stoppen.
Synchronisierungspfade im 8086. Grün ist die erste Synchronisierung und Rot ist die zweite mit entgegengesetzter Phase
Das obige Diagramm zeigt die Taktpfade des 8086: Phase 1 ist grün und Phase 2 ist rot. Am unteren Rand des Chips erscheinen die Takttreiberschaltungen als große Punkte. Von dort verzweigen sich die Synchronisationssignale über den gesamten Chip. Zum größten Teil laufen die beiden Taktphasen parallel, im Gegensatz zu Strom und Masse mit ihren gegenüberliegenden Zweigen.
Da die Synchronisationssignale zu allen Teilen des Chips wandern, benötigen sie viel mehr Strom als herkömmliche Signale und werden daher meist zur Metallschicht geleitet. Wenn die Synchronisationssignale die Stromspuren kreuzen müssen, verlaufen sie wie unten gezeigt darunter. Beachten Sie, dass Synchronisationsumgehungen eine unregelmäßige Form haben - sie sind viel mehr als Problemumgehungen für andere Signale, wie z. B. den Q-Bus.
Die Bypass-Pfade der Stromversorgung sind ziemlich groß. Der Q-Bus (Übertragen von Befehlen von der Befehlswarteschlange zum Decoder) hat viel weniger.
Um Hochstromsynchronisationssignale bereitzustellen, ist ihre Shaper-Schaltung auf großen Transistoren aufgebaut. Das Foto unten vergleicht einen dieser Transistoren mit einem typischen Logiktransistor. Die Treibertransistoren sind ungefähr 300-mal größer, so dass sie ungefähr 300-mal den Strom liefern können. Der Transistor besteht aus 10 parallel angeordneten Transistoren - 10 vertikale Polysiliciumleitungen bilden 10 Gates. Jedes Synchronisationssignal wird von einem Paar großer Transistoren erzeugt, von denen einer es nach oben und der andere nach unten zieht.
Großer Transistor im Takttreiber im Vergleich zum benachbarten Logiktransistor
Das Foto unten zeigt das Schema des Synchronimpulsgenerators. Die Schaltung teilt das externe Taktsignal in zwei Phasen auf, stellt sicher, dass sie sich nicht überlappen, und verstärkt sie. Das rosa Quadrat links ist eine Plattform für einen externen Uhrentreiber. Das Signal durchläuft eine Reihe von Transistoren, die in den großen Treibertransistoren auf der rechten Seite enden. Die braunen Leiter sind Polysilicium, das die Gates bildet. Viele Transistoren haben Zick-Zack-Gates, so dass ein großer Transistor auf kleinem Raum passt.
On-Chip-Takttreiberschaltung. Die Metallschicht wurde entfernt. Große Transistoren sind sichtbar. Externer Sync-Eingangspin - rosa Quadrat links.
Unten sehen Sie ein leicht vereinfachtes schematisches Diagramm des Synchronisationsimpulsgenerators. Dreiecke sind Hochstromtreiber aus zwei oder drei Transistoren. Der invertierende Eingang (Kreis) zieht den Ausgang nach unten. Auf der linken Seite des Eingangssynchronisationsstifts befinden sich ein kleiner Widerstand und eine Diode zum Schutz (genau wie bei den anderen Eingangsstiften). Das Synchronisationssignal wird dann in phaseninvertiert (oben) und phaseninvertiert (unten) aufgeteilt.
Vereinfachtes schematisches Diagramm des 8086-Taktgenerators
Zusätzliche Schaltungen verhindern, dass sich Synchronisationssignale überlappen: Wenn ein Signal hoch ist, bewirkt dies über einen invertierten Eingang, dass das zweite Signal niedrig ist. Um zu verstehen, wie dies funktioniert, beginnen wir mit dem Moment, in dem das Signal am Clk in Pin hoch ist. Clk in und clock sind hoch, während ^ clk in ^ und ^ clock ^ niedrig sind. Nehmen wir nun an, das eingehende Signal zum Einklappen wird niedrig, was dazu führt, dass das eingeklemmte Signal nach unten und nach oben geht. Der Ausgang von ^ clock ^ kann jedoch erst nach oben gehen, wenn die Uhr nach unten geht. Danach geht das Signal ^ clk in ^ durch die unteren Treiber und zieht nach zwei Gate-Verzögerungen die Uhr nach oben. Der Punkt ist, dass Uhr und Uhr nicht gleichzeitig schalten. Nachdem einer niedrig ist, gibt es eine Verzögerung, bevor der andere hoch geht.Als Ergebnis erhalten wir nicht überlappende Synchronisationssignale.
Dies ist eine ziemlich grobe Beschreibung - insbesondere bin ich mir nicht sicher, was passiert, wenn ein Transistor ein Signal nach oben und ein anderer das gleiche Signal nach unten zieht. Die genaue Simulation des Prozesses hängt von den relativen Größen der beiden Transistoren ab.
Fazit
Der 8086 verwendet ein interessantes Leistungslayout, aber moderne Prozessoren arbeiten auf einer völlig anderen Ebene. Wenn der 8086 350 mA benötigt, benötigt ein moderner Prozessor möglicherweise mehr als 100 A. Der 8086 verwendet 3 seiner 40 Beine für Strom und Masse. Moderne Intel Core i5-Prozessoren verfügen über 128 Power-Pins und 377-Ground (von insgesamt 1151 Pins). Während die zahlreichen Metallschichten in modernen Chips die Verdrahtungsprobleme des 8086 lösen, führen sie zu neuen Komplikationen wie der Aufteilung des Chips in Leistungsteile, wodurch Sie nicht verwendete Abschnitte ausschalten können.
In modernen Prozessoren mit ihren Multi-Gigahertz-Geschwindigkeiten ist die Verdrahtung von Synchronisationssignalen viel komplizierter, da ein zusätzlicher Millimeter Spur das Synchronisationssignal negativ beeinflussen kann. Um diese Probleme zu lösen, verwenden moderne Prozessoren Dinge wie H-Bäume oder Taktverteilungsnetzwerke, anstatt nur Spuren wie den 8086 zu verzweigen. Während der 8086 eine einfache Zweiphasentakt-Erzeugungsschaltung hatte, verwenden moderne Prozessoren häufig einen Phasenregelkreis , um den Takt zu synthetisieren. und viele im Chip verstreute Schaltungen, die Taktsignale liefern und steuern. Der 8086 ist zwar viel einfacher als moderne Prozessoren, enthält jedoch viele Beispiele für interessante Schaltungen.