Artikelübersetzung von Ken Shirriff
Fast jedes Smartphone verwendet einen Prozessor, der auf dem 1985 eingeführten ARM1-Chip basiert. Mehr als zehn Milliarden ARM-Kerne wurden in einer Vielzahl von Geräten verwendet, darunter einer der größten Fehler von Apple, der Newton Pocket PC, und einer der größten Erfolge, das iPhone. In diesem Artikel werden wir die wichtigsten Teile des ARM1-Prozessors betrachten: Wir werden die allgemeine Struktur des Chips beschreiben, untersuchen, wie Transistoren angeordnet sind und wie sie funktionieren, miteinander interagieren, um Daten zu speichern und zu verarbeiten, und die
visuelle Simulation dieses Mikroprozessors untersuchen und herausfinden, was passiert innerhalb von ARM1 während seines Betriebs.

ARM1 Chip Übersicht
Der ARM1-Mikroprozessor besteht aus Funktionsblöcken, von denen jeder einen bestimmten Zweck hat. Register speichern Daten, ALU führt einfache Arithmetik durch, Befehlsdecoder bestimmen, wie jeder Befehl ausgeführt werden soll, und so weiter. Im Vergleich zu den meisten Prozessoren ist die ARM1-Chipschaltung einfach und jeder Funktionsblock ist gut unterscheidbar. Zum Vergleich wird das Layout der Chips wie 6502 oder Z-80 manuell optimiert, um leere Stellen auf dem Substrat zu vermeiden. Bei diesen Prozessoren sind die Funktionsblöcke zusammengeklebt, was das Verständnis erschwert.
Die Hauptkomponenten des ARM1-Chips. Nicht markierte Kontakte sind unterschiedliche Steuersignale.Jetzt sehen Sie ein Bild, das die wichtigsten Funktionsteile des ARM-Mikroprozessors zeigt. Die eigentliche Verarbeitung findet am unteren Rand des Chips statt, der sich auf den Datenpfad bezieht. Der Chip verarbeitet jeweils 32 Bit, sodass seine Struktur 32 horizontale Schichten umfasst: 31 Bit von oben, 0 Bit von unten. Mehrere Datenbusse arbeiten horizontal, um verschiedene Komponenten des Chips zu kommunizieren. Auf dem Bild sehen Sie einen großen Abschnitt mit 25 Registern. Der Befehlszähler (fünfzehntes Register) befindet sich links vom Registerabschnitt und das Nullregister rechts. Neun von fünfundzwanzig Registern sind optional, da es Kopien einiger Register zur Verwendung bei der Interrupt-Behandlung gibt.
Alle Berechnungen finden in der arithmetischen Logikeinheit (ALU) statt, die sich rechts vom Registerblock befindet. ALU führt 16 verschiedene Operationen aus: Addition, Addition mit Übertragung, Subtraktion, logische Addition usw. Die ALU verwendet zwei 32-Bit-Ein- und Ausgänge mit 32 Bit am Ausgang. Weitere Informationen zum ALU-Gerät finden Sie
hier . Rechts von der ALU befindet sich ein 32-Bit-Shift-Gerät. Diese große Komponente führt eine zyklische Verschiebungsoperation mit Binäreingang durch. Auf der linken Seite befinden sich die Adressleitungen, die über Adresskontakte den Zugriff auf Adressen im Speicher ermöglichen. Auf der rechten Seite befinden sich Datenleitungen, die Datenwerte lesen und in den Speicher schreiben.
Die Steuereinheit befindet sich oben. Steuerlinien werden vertikal von der Steuereinheit zum folgenden Datenliniendiagramm gezeichnet. Diese Signale wählen die Register aus, teilen der ALU mit, welche Operation ausgeführt werden soll, und so weiter. Die Befehlsdecodierungsschaltung verarbeitet jeden Befehl und erzeugt die erforderlichen Steuersignale. Die Registerdecodiereinheit verarbeitet die Registerauswahlbits in dem Befehl und erzeugt Steuersignale, um die erforderlichen Register auszuwählen.
Kontaktdaten
Die Quadrate um die Außenfläche des Bildes sind die Pads, die den Prozessor mit der Außenwelt verbinden. Das Foto unten zeigt das 84-Pin-Gehäuse des ARM1-Mikroprozessors. Vergoldete Kontakte sind mit Pads auf einem Siliziumchip im Inneren des Gehäuses verbunden.
ARM1-Prozessor im Acorn ARM Evaluation System installiertDie meisten Sites werden für Adressleitungen und Datenleitungen verwendet, die zum Speicher führen. Der Chip verfügt über 26 Adressleitungen, über die er auf 64 Megabyte Speicher und 32 Datenleitungen zugreifen kann, sodass er jeweils 32 Bit lesen oder schreiben kann. Adresszeilen befinden sich in der unteren linken Ecke und Datenzeilen in der rechten. Im Simulationsmodell des Chips können Sie sehen, dass die Signale an die Speicheradressleitungen gesendet werden und Informationen aus dem Speicher entlang der Datenleitungen gelesen werden. Die rechte Seite des Simulators zeigt die Adress- und Datenwerte im Hexadezimalformat. Wenn Sie das Hexadezimalzahlensystem kennen, können Sie diese Werte leicht mit den Kontaktzuständen korrelieren.
Jede Ecke des Chips hat eine Stromleitung (+) und eine Erdungsleitung (-), die eine Versorgungsspannung von 5 Volt liefern, die für den Betrieb des Chips erforderlich ist. Verschiedene Steuersignale befinden sich oben auf dem Chip. Im Simulator sind zwei Taktsignale leicht zu erkennen, die den Takt einstellen. Die Frequenzen von Phase 1 und Phase 2 wechseln sich ab und liefern das für den Betrieb des Chips erforderliche Taktsignal. In unserer visuellen Simulation wird es ungefähr zweimal pro Sekunde aktiv, aber der reale Chip hat eine Frequenz von 8 Megahertz, was mehr als eine Million Mal schneller ist. Achten Sie auf den Herstellernamen "ACORN" auf dem Chip anstelle von 82 Pins.
Zwei ZeitsignaleARM-Prozessorverlauf
Der ARM1-Mikroprozessor wurde 1985 von den Ingenieuren Sophie Wilson und Steve Farber von Acorn Computers entwickelt. Ursprünglich hieß der Chip Acorn RISC Machine und war als Coprozessor für den
BBC Micro- Computer gedacht.
Sophie Wilson und Steve FarberInsgesamt wurden mehrere hundert ARM1-Mikroprozessoren hergestellt, so dass Sie vielleicht glauben, dass sie im Darm der Geschichte der Mikroprozessoren der 1980er Jahre verloren gegangen sind. Der erste ARM1-Chip führte jedoch zu einer überraschend erfolgreichen ARM-Architektur mit mehr als 50 Milliarden Chips. Was ist passiert?
In den frühen 1980er Jahren haben wissenschaftliche Untersuchungen ergeben, dass Entwickler eine bessere Leistung erzielen, wenn Sie den Befehlssatz für den Prozessor vereinfachen. Der Prozessor ist einfacher, aber schneller: ein Computer mit reduziertem Befehlssatz oder RISC (Computer mit reduziertem Befehlssatz). Forschungen in
Stanford und
Berkeley haben ARM-Entwickler dazu inspiriert, sich für die RISC-Architektur zu entscheiden. Angesichts des kleinen Acorn-Entwicklungsteams war die Wahl von RISC eine praktische Lösung.
Auf einem RISC-basierten Computer war der Befehlssatz auf den am häufigsten verwendeten beschränkt, für hohe Leistung optimiert und in einem einzigen Taktzyklus ausgeführt. Die Anweisungen haben wiederum eine feste Größe, die die Logik der Decodierungsanweisungen vereinfacht. Für einen RISC-Prozessor sind viel weniger Schaltkreise für die Befehlssteuerung und -decodierung erforderlich, wodurch Sie mehr Komponenten auf dem Chip platzieren können.
Die Einfachheit des RISC-Designs wird beim Vergleich der im selben Jahr veröffentlichten ARM1- und Intel 80386-Mikroprozessoren deutlich: ARM1 hatte etwa fünfundzwanzigtausend Transistoren und 80386 zweihundertfünfundsiebzigtausend. Unten sehen Sie zwei Fotos der Prozessoren im gleichen Maßstab. Die Fläche des ARM1-Kristalls beträgt fünfzig Quadratmillimeter, verglichen mit den einhundertvier Quadratmillimetern des 386 ..


Aufgrund der geringen Anzahl von Transistoren hatte der ARM1-Prozessor eine geringe Leistung: etwa ein Zehntel Watt im Vergleich zu fast zwei Watt beim 386. Watt. Die Kombination aus hoher Leistung und geringem Stromverbrauch machte spätere Versionen von ARM-Mikroprozessoren für eingebettete Systeme sehr beliebt. Apple hat einen ARM-Prozessor für sein unglückliches Pocket Newton-System ausgewählt. 1990 entwickelten Acorn Computers, Apple und der Chiphersteller VLSI Technology Advanced RISC Machines, um ARM weiterzuentwickeln.
Seitdem ist ARM mit mehr als fünfzig Milliarden Prozessoren die beliebteste Architektur. Die meisten Mobilgeräte verwenden einen ARM-Mikroprozessor. Beispielsweise verwendet der Apple A8-Prozessor im iPhone 6 den 64-Bit-ARMv8-A. Trotz seiner bescheidenen Anfänge machte ARM1 die IEEE Spectrum-Liste
von 25 Chips, die die Welt schockierten und laut PC World zu den einflussreichsten Mikroprozessoren aller Zeiten wurden.
Interessanterweise stellt ARM keine Chips her. Stattdessen wird das geistige Eigentum von ARM an Hunderte verschiedener Unternehmen lizenziert, die Chips unter Verwendung der ARM-Architektur herstellen.
Low-Level-Chip-Struktur
Der Mikroprozessor ARM1 besteht aus fünf Schichten. Wenn Sie den Maßstab des Chips im Simulationsmodell erhöhen, können Sie die aus diesen Schichten aufgebauten Chipkomponenten sehen. Das Simulationsmodell verwendet für jede Ebene eine bestimmte Farbe und kennzeichnet Aktivitätslinien mit ihrer Farbe. Die untere Schicht besteht aus Silizium, auf dem sich Transistoren befinden. Während der Herstellung werden Siliziumbereiche unter Verwendung verschiedener Verunreinigungen modifiziert (legiert). Silizium kann positiv dotiert werden, um einen P-MOS-Transistor (blau) zu bilden, oder negativ für einen N-MOS-Transistor (rot). Unlegiertes Silizium ist im Grunde ein Isolator (schwarz).
Simulator ARM1 präsentiert verschiedene Ebenen mit eigenen Farben.Grün markierte Polysiliciumlinien werden über Silizium aufgebracht. Wenn Polysilicium das dotierte Silizium kreuzt, bildet es ein Transistor-Gate (gelb). Schließlich befinden sich zwei durch Grau gekennzeichnete Metallschichten auf Polysilicium und sorgen für Leitfähigkeit. Schwarze Quadrate sind Kontakte, die Bindungen zwischen verschiedenen Schichten bilden.
Für unsere Zwecke kann der MOS-Transistor als ein von Gattern gesteuerter Schalter betrachtet werden. Beim Einschalten (geschlossen) sind Drain und Source in den Siliziumbereichen verbunden. Wenn es getrennt (offen) ist, werden Drain und Source getrennt.
MOSFET-StrukturWie die meisten modernen Prozessoren wurde ARM1 mit CMOS-Technologie gebaut, die zwei Arten von MOS-Transistoren verwendet: N-Kanal und P-Kanal. N-Kanal-MOSFETs werden nur eingeschaltet, wenn ein Signal mit hohem Pegel an das Gate angelegt und der Ausgang auf Masse gezogen wird. P-Kanal-MOSFETs werden eingeschaltet, wenn ein Signal mit niedrigem Pegel an das Gate angelegt wird und Spannungen bis zu fünf Volt an den Ausgang angelegt werden.
Das Konzept einer Registerdatei
Die Registerdatei ist eine Schlüsselkomponente von ARM1, die Informationen im Chip speichert. Die Registerdatei besteht aus fünfundzwanzig Registern, von denen jedes zweiunddreißig Bits enthält.
Das Bild unten zeigt zwei Transistoren, die einen Wechselrichter bilden. Wenn ein Signal mit hohem Pegel eingegeben wird, schaltet sich der N-MOS-Transistor (rot) ein und verbindet den Ausgang mit Masse, so dass der Ausgang ein Signal mit niedrigem Pegel hat. Wenn der Eingang ein Signal mit niedrigem Pegel empfängt, schaltet sich der P-MOS-Transistor (blau) ein und verbindet die Stromleitung mit dem Ausgang, sodass der Ausgang ein Signal mit hohem Pegel hat. Somit ist der Ausgang dem Eingang entgegengesetzt, wodurch ein Wechselrichter erzeugt wird.
WechselrichterDie Kombination von zwei Wechselrichtern in einer Schleife bildet ein einfaches Speicherschema. Wenn am Ausgang des ersten Wechselrichters 1 der zweite 0 erzeugt, was zum Eingang des ersten Wechselrichters geht und 1 an seinem Ausgang erzeugt wird, ist die Schaltung stabil. Dementsprechend bleibt die Schaltung auf unbestimmte Zeit in diesem Zustand und "erinnert" sich an ein Bit, bis sie zwangsweise in einen anderen Zustand übertragen wird.
Zwei Wechselrichter bilden ein Register, das 1 Bit speichern kannUm ein solches Schema in der verwendeten Registerzelle zu erstellen, werden Lese- und Schreibleitungen sowie Auswahlleitungen zum Verbinden der Zelle mit den Busleitungen hinzugefügt. Wenn die Aufzeichnungsleitung aktiviert ist, wird der Bus mit dem Wechselrichter kontaktiert, sodass Sie den aktuellen Wert mit einem neuen Bit überschreiben können. In ähnlicher Weise verbinden Transistoren das Bit mit dem Lesebus, wenn die entsprechende Auswahlleitung aktiviert ist, sodass Sie den gespeicherten Wert lesen können.
Schema eines Bits der Registerdatei ARM1Um eine Registerdatei zu erstellen, muss die Registerzelle für jedes Bit 32-mal vertikal und für jedes Register 25-mal horizontal wiederholt werden. Jedes Register hat drei horizontale Linien - eine Aufzeichnungslinie und zwei Leselinien. Jedes Register hat drei vertikale Steuerleitungen - eine Datensatzauswahlzeile und zwei Leseauswahlleitungen. Beim Aktivieren der gewünschten Steuerleitungen können zwei Register gelesen und jeweils ein Register geschrieben werden. Im Simulationsmodell sehen Sie aktive vertikale Steuerleitungen zur Auswahl von Registern und Datenbits, die sich auf horizontalen Busleitungen bewegen.
Durch Betrachten der Speicherzelle im Simulator können Sie feststellen, welcher Wechselrichter eingeschaltet ist und ob Bit 0 oder 1 gleich ist. Wenn der Eingang des oberen Wechselrichters aktiv ist, ist das Bit Null. Wenn der Eingang des unteren Wechselrichters aktiv ist, ist das Bit gleich eins. So können Sie nach sorgfältiger Prüfung die Werte der Register direkt aus dem Simulator lesen.
Bild der Registerdatei ARM1Schnellschaltgerät
Das Schnellschaltgerät führt binäre Verschiebungen durch und ist eine weitere interessante Komponente von ARM1. Die meisten Anweisungen verwenden einen Shifter, mit dem Sie das binäre Argument nach rechts, links verschieben oder beliebige Zeichen (von 0 bis 31 Bit) abwechseln können. Während des Starts des Simulators können Sie diagonale Linien sehen, die sich in einer schnellen Verschiebung nach rechts und links bewegen.
Das Bild unten zeigt den Aufbau der Schervorrichtung. Bits werden vertikal in Bezug auf die Null- und Einunddreißigsten Bits verschoben. Die Ausgangsbits werden horizontal zwischen dem Nullbit von unten und dem einunddreißigsten Bit von oben verschoben. Die diagonalen Linien zeigen, wo die vertikalen Linien mit den horizontalen Linien verbunden sind, wodurch eine Verschiebung der Ausgabe erzeugt wird. Unterschiedliche Positionen der diagonalen Linie führen zu unterschiedlichen Verschiebungen. Die obere diagonale Linie verschiebt die Bits nach links und die untere diagonale Linie nach rechts. Während einer Schicht sind beide Diagonalen aktiv; es mag nicht wahrnehmbar sein, aber im Verschiebungsteil des Wortes bewegt sich der Teil nach rechts und oft nach links.
Struktur der SchnellschervorrichtungVergrößern wir den Bereich auf der Schervorrichtung, um die Hauptkomponenten besser sehen zu können. Es enthält 32 x 32 Querschnitte von Transistoren, von denen jeder eine vertikale Linie mit einer horizontalen verbindet. Transistorgatter sind durch diagonale Steuerleitungen verbunden; Transistoren entlang der aktiven Diagonale verbinden die entsprechenden vertikalen und horizontalen Linien. Durch Aktivieren der entsprechenden Diagonalen werden die Ausgangsleitungen mit den um eine bestimmte Anzahl von Bits verschobenen Eingangsleitungen verbunden. Da die Eingangsleitungen der Mikroschaltung horizontal arbeiten, gibt es 32 Verbindungen zwischen den Eingangsleitungen und den entsprechenden vertikalen Bitleitungen.
Ein genauerer Blick auf das ARM1-SchnellschaltgerätFazit
Der ARM1-Mikroprozessor hat zu der überraschend erfolgreichen ARM-Prozessorarchitektur geführt, die das Herz Ihres Smartphones und aller Mobilgeräte im Allgemeinen darstellt. Die einfache RISC-Architektur des ARM1-Chips vereinfacht das Verständnis der Mikroprozessorschaltung im Vergleich zur 80386-Struktur. Die faszinierende visuelle Simulation des ARM-Mikroprozessors hilft zu verstehen, was in ihm geschieht.
Unser von diesem Artikel erstelltes Video:
In der CPU: ARM1