| Inhaltsverzeichnis | |||||
| Übersicht Kapitel 2 | |||||
| |||||
2.1.1 Gehäuse und Anschlüsse |
Mikroprozessoren sind elektronische Bausteine, die aus bis zu einigen Millionen Transistoren, Widerständen und Kondensatoren bestehen. Alle diese Bauelemente sind auf einer wenige Quadratmillimeter bis Quadratzentimeter großen Halbleiterfläche aus einkristallinem Silizium, dem Chip, integriert. Je nach Komplexitätsgrad und Technologie haben Mikroprozessoren eine Leistungsaufnahme zwischen 0.5 und 85 Watt. Der Chip ist zur Erhöhung der mechanischen Stabilität, zur Ableitung der entstehenden Wärme und zur Erleichterung der Verbindung mit anderen Bausteinen in einem Gehäuse aus Plastik oder Keramik untergebracht. Im Bild 2.1-1 sind einige der gebräuchlichsten Gehäusetypen dargestellt.
Bild 2.1-1: Photo der gebräuchlichsten Gehäusetypen
Die Typen A und B zeigen die frühesten Gehäuse für
µPs, die heute nur noch bei einfachen
µCs eine Bedeutung besitzen. Sie haben zwei parallele Reihen von Anschlußstiften (Leads, Pins) und werden deshalb als Dual In-line Packages (DIP) bezeichnet. Die Gesamtzahl der Pins ist aus mechanischen Gründen begrenzt und liegt bei maximal 64. Der Typ A im Bild 2.1-1 zeigt ein Gehäuse mit 64 Anschlüssen. In der Mitte dieses Gehäuses erkennen Sie eine Metallplatte, unter der der eigentliche Halbleiterchip liegt. 8-bit-Prozessoren sowie ihre Peripheriebausteine kommen in der Regel mit 40 Pins aus (Typ B). Im Bild 2.1-2a ist die Pinbelegung für ein DIP-Gehäuse mit 40 Pins gezeichnet. Pin 1 ist am Gehäuse meistens besonders gekennzeichnet.
Typ C im Bild 2.1-1 ist ein sogenanntes Quad-Pack-Gehäuse, bei dem die Anschlüsse als Kontakte einreihig an allen vier Seiten des Bausteins zu erkennen sind (Plastic Leadless Carrier Chip - PLCC). Die Gehäuse müssen in spezielle Sockel eingesetzt werden, die durch Federkontakte die Verbindung des Bausteins zu den Leiterbahnen und damit zu den anderen Bausteinen ermöglichen. Bei anderen Varianten dieses Gehäuses sind die Kontakte als Stifte oder Lötfahnen ausgebildet und erlauben so die direkte Verbindung mit einer Leiterplatte. Gerade die letztgenannte Variante mit Lötfahnen hat in den letzten Jahren eine immer größere Bedeutung bekommen, da bei ihr eine Befestigung auf der Oberseite der Platine ohne die üblicherweise benötigten Kontaktlöcher möglich ist (Surface Mount Technology - SMT). In Bild 2.1-2b ist eine mögliche Numerierung der Anschlußbeine für ein Gehäuse mit 68 Pins gezeichnet.
Die Gehäusetypen D und E im Bild 2.1-1 werden wegen ihrer matrixförmigen Anordnung der Pins mit einem Nagelbrett (Bed of Nails) verglichen. Sie heißen Pin-grid Arrays (PGA). Bei ihnen werden heute bis zu einigen hindert Pins realisiert. Eine mögliche Anordnung und Numerierung der Pins ist im Bild 2.1-2c dargestellt. Sie ist in einer quadratischen Form (bis zu 17 Reihen und 17 Spalten) gegeben, wobei die Zeilen beispielsweise durch Buchstaben, die Spalten durch Zahlen bezeichnet werden. Bei anderen Varianten werden die Pins z.B. im Uhrzeigersinn abwechselnd durch die verschiedenen Pin-Ringe durchgezählt. Pin 1 ist durch eine abgeschrägte Gehäuseecke angezeigt, die außerdem verhindert, daß der Baustein falsch in einen Sockel eingesetzt wird. (Beim Gehäusetyp D im Bild 2.1-1 wurde nur aus Darstellungsgründen die Metallplatte entfernt, die den Chip vor Beschädigungen aller Art schützen soll.)
Bild 2.1-2: Die Anordnung der Anschlußkontakte bei verschiedenen
Gehäuseformen
Die Vergrößerung in Bild 2.1-3 zeigt Ihnen für einen Baustein mit 132 Anschlüssen den ca. 100 mm2 großen Chip
mit seinen deutlich unterscheidbaren Bereichen. Außerdem sehen Sie die Verbindungen des Chips zu flachen Gehäusekontakten über feine Golddrähte, die beim uns vorliegenden Muster leider stark verbogen waren, sowie die 132 Anschlußpins, die durch Leiterbahnen im Gehäuse mit den Flachkontakten verbunden sind.
Die oben stehende Aufzählung gebräuchlicher Gehäusetypen ist in keiner Weise vollständig. In den letzten Jahren haben insbesondere die BGA-Gehäuse (Ball Grid Array) eine wesentliche Bedeutung erlangt, bei der die Anschlüsse (wie beim PGA) an der Unterseite des Gehäuses - auch auf dem Chip selbst - herausgeführt und durch kleine Lötkügelchen (englisch: Balls) auf der Platinenoberfläche befestigt werden. Daneben gibt es noch eine ganze Reihe weiterer Gehäuse, deren Zahl ständig wächst und deren Beschreibung den Rahmen dieses Kurses sprengen würde.
Bild 2.1-3: Großaufnahme eines Pin-Grid-Array-Gehäuses
Im Bild 2.1-4 ist eine Vergrößerung einer Chipoberfläche (Chiplayout) dargestellt, die Ihnen nur einen Eindruck von der Komplexität der Strukturen geben soll. Es handelt sich um das Photo eines sehr erfolgreichen, nach heutigen Maßstäben aber sehr einfachen Mikroprozessors, des Motorola MC68000, der - wie sein Name andeuten sollte - aus ca. 68000 Transistoren besteht. (Die Umrandungen kennzeichnen die unterscheidbaren Komponenten des Prozessors, die wir in diesem Kurs ausführlicher beschreiben werden.)
Bild 2.1-4: Chiplayout des Motorola MC68000
Im Bild 2.1-5 sind die verschiedenen Gruppen von Signalen gezeigt, wie sie an den Anschlüssen eines Mikroprozessors vorliegen.
Die erste Gruppe dient der Spannungsversorgung des Bausteins. Im Minimalfall gibt es nur jeweils einen Anschluß für die Masse (Ground - GND) und die positive Betriebsspannung. Während in den Anfangsjahren der
µP-Technik als einzige positive Betriebsspannung +5 V eingesetzt wurde, sind bei modernen Prozessoren eine breite Palette von Betriebsspannungen anzutreffen, die zwischen 1,2 V und 5 V liegen. Dabei werden häufig der Prozessorkern und die Prozessorperipherie mit unterschiedlichen Spannungen betrieben, der Kern mit einer sehr niedrigen, die Peripherie mit einer höheren. Bei höher integrierten µPs, insbesondere in Pin-/Ball-Grid-Array-Gehäusen existieren jeweils bis zu einigen Dutzend Anschlüsse für jede Betriebsspannung und Masse. Außerdem kann man zu dieser Gruppe noch die Anschlüsse für den Quarz zur Stabilisierung der Frequenz des Systemtaktes zählen.
Bild 2.1-5: Anschlußbelegung eines Mikroprozessors
Die nächste Gruppe umfaßt die Adreßsignale,
die die Quelle ('woher?') oder das Ziel ('wohin?') eines Datentransports
bestimmen. Quelle oder Ziel kann dabei eine Baugruppe, ein Baustein oder ein
einzelnes Register sein. Diese Signale bilden den externen Adreßbus des
Prozessors. Es handelt sich i.d.R. um Ausgangssignale. Bei Prozessoren mit internen
(Cache-)Speichern können diese Anschlüsse aber häufig auch zur
Eingabe von Adressen benutzt werden. Moderne Mikroprozessoren besitzen zwischen
16 und 44 Adreßleitungen, die logisch zum Adreßbus zusammengefaßt
werden. Damit sind maximal 216 bis 244 Speicherzellen,
also 64 kbyte bis 16 Terabyte adressierbar. (Wie oben bereits
gesagt, besitzen Harvard-Prozessoren zwei getrennte Adreßbusse.)
Eine weitere Gruppe wird von den Datensignalen gebildet.
Davon besitzen die Mikroprozessoren zwischen 4 und 128. Typische Anzahlen sind
alle Potenzen von zwei, also 4, 8, 16, 32, 64, 128. Diese Signale
werden zum Datenbus zusammengefaßt. Über den Datenbus werden einerseits
die auszuführenden Befehle aus dem Speicher in den µP, andererseits die
Operanden ('womit?') zwischen der CPU und den verschiedenen Komponenten
des Systems transportiert (von-Neumann-Architektur). Dieser Transport kann in
der Regel in beiden Richtungen, also bidirektional stattfinden. (Wie oben bereits
gesagt, besitzen Harvard-Prozessoren zwei getrennte Datenbusse.)
Alle übrigen Signale, die vom Prozessor weg bzw. zu ihm hin führen,
werden (logisch) zum Steuerbus zusammengefaßt,
obwohl sie sehr unterschiedliche Funktionen besitzen. Sie dienen zur Auswahl
einer bestimmten Systemfunktion, zur Synchronisierung der Komponenten und ihrer
Steuerung. Die Mehrzahl von ihnen wird vom Steuerwerk (s.
Abschnitt 2.2) kontrolliert.
Wie bereits erwähnt, werden Adreßbus, Datenbus und Steuerbus zusammen
als Systembus bezeichnet.
Die Daten-/Adreß-Bus-Steuersignale geben z.B.
die Richtung des Datentransports vor, unterscheiden zwischen Speicherzugriffen
und Zugriffen auf Peripheriebausteine, zeigen das Vorliegen einer gültigen
Adresse auf dem Adreßbus an oder schalten Adreß- und Datenbus in
einen hochohmigen Zustand (Tristate). Sie beantworten also die Frage, 'was'
mit den Daten passieren soll.
Die System-Steuersignale werden vom Mikroprozessor erzeugt und steuern
die Komponenten des Systems. Dazu gehören insbesondere bestimmte Systemtakte
und Rücksetzsignale (Reset). Über die Prozessor-Statussignale
kann der Prozessor den angeschlossenen Komponenten seinen augenblicklichen
Zustand mitteilen, insbesondere welche Aktivität er gerade ausführt.
Über die System-Statussignale (Meldesignale)
können ihrerseits die Komponenten dem Prozessor Informationen zukommen
lassen, z.B. über den Wunsch, den Bus zu benutzen, über die Ausführung
oder das Beenden einer verlangten Operation, über das Auftreten eines Fehlers
etc.
Die nächste Gruppe bilden die Unterbrechungssignale,
über die eine Komponente vom Prozessor die Unterbrechung oder den Abbruch
des laufenden Programms fordern kann (s. Abschnitt 2.2).
Dazu zählt insbesondere die Aufforderung zum Zurücksetzen (Reset)
des Systems in einen definierten Anfangszustand.
Häufiger wurde bereits erwähnt, daß moderne Mikroprozessoren
auf dem Chip bereits schnelle Cache-Speicher besitzen. Viele Hochleistungsprozessoren
bieten eine Schnittstelle (mit z.B. 128 Steuer- und Datensignalen), über
die der interne Speicher durch einen externen Cache-Speicher erweitert werden
kann.
Die Komplexität moderner Halbleiterbausteine und der eingesetzten Platinen
erfordert die Möglichkeit, die Bausteine und ihre Verbindungsleitungen
im System testen zu können. Dazu hat sich eine international genormte Schnittstelle
mit 5 Signalen im weiten Umfang durchgesetzt, der sog. JTAG-Port
(Joint Test Action Group).
2.1.2 Interner Aufbau eines Mikroprozessors |
Der rasante Fortschritt der Großintegrationstechnik (vgl. Bild 1.3-3) ermöglicht es, immer mehr Komponenten eines Mikrocomputers auf dem Prozessorchip selbst unterzubringen. Zu den Komponenten, die seit dem Motorola MC68040 oder dem Intel 80468 bereits auf dem Chip fast aller universellen Prozessoren integriert sind, gehören insbesondere die folgenden Einheiten:
Zur Vereinfachung der Darstellung beziehen wir uns in diesem Kurs jedoch nicht
auf den letzten Stand der Technik, sondern überwiegend auf einen Stand,
wie er heute noch für den Prozessorkern der weitverbreiteten 4/8/16-bit-Mikrocontroller
mit von-Neumann-Architektur typisch ist. Bild 2.1-7 zeigt
den prinzipiellen Aufbau eines solchen Mikroprozessors. Im folgenden wollen
wir seine Komponenten ausführlicher beschreiben.
Das Steuerwerk (Control Unit, s.
Abschnitt 2.2) kontrolliert die Steuersignale zu den Komponenten des Systems,
sowohl den prozessorinternen wie den prozessorexternen. Insbesondere sorgt es
mit Hilfe des vom Taktgenerator erzeugten Systemtaktes für den zeitgerechten
Ablauf aller Vorgänge im System. Es erzeugt außerdem die Statussignale
des Prozessors. Zum Steuerwerk gehört das Befehlsregister (BR),
das den augenblicklich ausgeführten Befehl zwischenspeichert. Eine weitere
Hauptkomponente des Steuerwerks ist die Unterbrechungslogik,
die die Bearbeitung aller anstehenden Unterbrechungsanforderungen zur Aufgabe
hat (s. Abschnitt 2.3).
Bild 2.1-7: Prinzipieller Aufbau eines (einfachen) Mikroprozessors
Das Operationswerk (Rechenwerk, Execution Unit, s.
Abschnitt 2.4) führt im einfachen Fall die vom Steuerwerk verlangten
arithmetischen und logischen Operationen aus. Daher wird es auch als arithmetisch/logische
Einheit (Arithmetic and Logical Unit - ALU) bezeichnet. Durch das Statusregister
informiert es das Steuerwerk über die Größe des Ergebnisses
(=0, ³ 0, <0 etc.). Komplexere Prozessoren
besitzen mehrere Rechenwerke, die speziellen Aufgaben zugeordnete Operationen
ausführen. Beispiele sind Rechenwerke für Gleitpunkt-Zahlen (Floating
Point Uni - FPU), zur Manipulation einzelner Bits oder für Algorithmen
der graphischen Datenverarbeitung.
Häufiger benutzte Operanden - Daten oder Adressen - werden im Registersatz
(Register Set, s. Abschnitt 2.6) zwischengespeichert,
auf den schneller als auf den externen Speicher zugegriffen werden kann. Einfache
Prozessoren enthalten nur einige wenige Register (bis zu 8), RISC-Prozessoren
bis zu einigen Hundert Registern.
Das Adreßwerk (Address Unit - AU, s.
Abschnitt 2.5) berechnet nach den Vorschriften des Steuerwerks die Adresse
eines Operanden oder eines Befehls im Speicher. Prozessoren mit Harvard-Architektur
oder DSPs verfügen über mehrfache Adreßwerke, um gleichzeitig
auf Befehle und Daten oder mehrere Daten zugreifen zu können. Zur Zwischenspeicherung
der Adressen besitzt das Adreßwerk zwei Pufferregister: Der Programmzähler
(PC), der auch Befehlszähler genannt wird (Program Counter,
Instruction Pointer), enthält stets die Adresse der Speicherzelle,
in der der nächste auszuführende Befehl (oder Befehlsteil) liegt.
Die für die Ausführung eines Maschinenbefehls benötigten Operanden
werden durch das Adreßpufferregister selektiert. Dieser Adreßpuffer
(AP) wird vom Adreßwerk mit der Adresse des Operanden geladen, die nach
bestimmten fest vorgegebenen Verfahren berechnet wird. (Diese als Adressierungsarten
bezeichneten Verfahren werden Sie im Abschnitt 3.3,
kennenlernen.)
Die Systembus-Schnittstelle (Systembus Interface, s.
Abschnitt 2.7) stellt ein Zwischenspeicher-Register (Puffer) für die
kurzzeitige Aufbewahrung jedes Datums (Datenbuspuffer) auf seinem Weg in den
Prozessor bzw. aus ihm heraus zur Verfügung. Damit dient sie der zeitlichen
Anpassung zwischen dem schnellen Prozessor und der langsameren externen Peripherie
- insbesondere dem Daten- und Befehlsspeicher. Andererseits übernimmt sie
durch Ausgangstreiber die elektrische Anpassung der Prozessorsignale an die
Signalspezifikationen, die von allen Systemkomponenten verlangt werden. Diese
Treiber können die Ausgangssignale in den hochohmigen Zustand (Tristate)
(Als Systembus bezeichnen wir hier, wie auch später häufig, einschränkend
nur die Zusammenfassung von Adreß- und Datenbus sowie denjenigen Steuerleitungen,
die die Datenübertragung über diesen Bus beeinflussen.)versetzen und
dadurch den externen Systembus für andere Systemkomponenten freigeben.
Bei Mikrocontrollern findet man in der Systembus-Schnittstelle noch weitere
Komponenten, die die Integration des Prozessors in das Gesamtsystem erleichtern
sollen. Dazu gehören z.B. programmierbare Schaltnetze zur Selektion bestimmter
Adreßbereiche (Adreßdecoder) oder Schaltungen zur Beeinflussung
des Zeitverhaltens oder der Struktur des externen Systembusses (Einfügen
von Wartezyklen. Steuerung der Busbreite, Abschnitt 2.7).
Die Komponenten des Mikroprozessors sind durch ein System von internen
Bussen miteinander verbunden. Im Unterschied zum externen Bussystem kann
hier jedoch nicht eindeutig zwischen einem Adreß- und Datenbus unterschieden
werden. Denn über den internen Datenbus werden beide Informationsarten
übertragen, je nachdem, ob eine Operanden- oder Adreßberechnung durchgeführt
werden soll.
Eine Erhöhung der Arbeitsgeschwindigkeit des Prozessors erreicht man -
außer durch eine Erhöhung der Frequenz des Systemtaktes - dadurch,
daß möglichst viele der beschriebenen Komponenten gleichzeitig, nach
Art einer Fließbandfertigung verschiedene Programmbefehle bearbeiten.
Diese Arbeitsweise wird Pipelining genannt. So kann
z.B. während der Abarbeitung einer Operation im Rechenwerk das Adreßwerk
bereits die Operandenadresse des nächsten Befehls berechnen und das Steuerwerk
bereits den übernächsten Befehl interpretieren. Schon beim Motorola
MC68040, einem CISC-Prozessor, konnten z.B. bis zu 14 Befehle gleichzeitig in
mehreren Pipelines verarbeitet werden.
| Inhaltsverzeichnis | |||||
| Übersicht Kapitel 2 | |||||
| |||||