Der Mikroprozessor
-
Einführung
-
Die Geschichte der Mikroprozessoren
-
Der Aufbau eines Mikroprozessors
-
Das Steuerwerk Das Rechenwerk Die ALU Die Register Das Bussystem
4.0 Fachbegriffe
Die Information die wir zur Erstellung dieses Referats bekommen haben stammten zum großen Teil aus dem "www". Des weiteren haben wir Information aus diversen Fachbüchern bekommen.
Wir bedanken uns bei Pizza Taxi Luigi, Afri Cola, der großen blauen Kanne Kaffe und natürlich unseren Familien, die sich kurzfristig auf unsere körperliche und geistige Abwesenheit einstellen mussten.
1.0 Einführung "Der Mikroprozessor"
Der unbestrittene und mit Abstand wichtigste Baustein eines Personal Computers ist der Mikroprozessor - auch CPU ( Central Processing Unit )genannt.
Die CPU steuert alle Vorgänge und Abläufe in Ihrem PC.
Die CPU, (auch der µP oder die Zentraleinheit) ist in der Computerwissenschaft die Rechen - und Steuereinheit eines Computers, das Bauteil, das die Computeranweisungen versteht und ausführt. Großrechner und die ersten Minicomputer enthielten Schaltungsplatinen (angefüllt mit integrierten Schaltungen), die die Aufgaben der Zentraleinheit wahrnahmen. Die CPU ist in der Lage, Befehle aus dem Speicher zu holen, zu decodieren und auszuführen. Außerdem überträgt sie Informationen von und zu anderen Ressourcen über den Hauptdatenverkehrsweg des Computers, den Bus. Definitionsgemäß ist die CPU der Chip, der im Prinzip das "Gehirn" des Computers darstellt.
Mikroprozessor, sehr kleine, kostengünstige zentrale Verarbeitungseinheit eines kleinen Computers, die außerdem eigenständig in einer Vielzahl von Anwendungen eingesetzt werden kann. Ein Mikroprozessor ist auf einem einzigen Siliciumstück aufgebracht, das Wafer oder Chip genannt wird. Ein handelsüblicher Chip ist entlang einer Seite nicht länger als 0,5 Zentimeter und nicht mehr als 0,05 Zentimeter dick. Trotz seiner geringen Größe kann ein Mikroprozessor so programmiert werden, dass er eine Fülle von informationsverarbeitenden Aufgaben ausführen kann. Er lässt sich als Universalrechner für Lehraufgaben und Textverarbeitungszwecke einsetzen. Außerdem kann er zur Steuerung anderer Maschinen oder industrieller Prozesse, zur Überwachung von Krankenhauspatienten sowie in tragbaren Rechnern eingesetzt werden. Eine breitere Anwendung des Mikroprozessors ermöglichte die fortschreitende Miniaturisierung von integrierten Schaltkreisen und Weiterentwicklungen in der Halbleitertechnologie. Ein Mikroprozessor kann in einem breiten Spektrum von Einsatzgebieten eigenständige Funktionen übernehmen, wobei eine geringe Anzahl von etwa 1 000 Elementen bis zu einigen Millionen Elementen auf einem einzigen Chip zusammengefasst sind.
Mikroprozessoren werden nach der Anzahl der Daten - Bits, also der Informationseinheiten, klassifiziert, die gleichzeitig übertragen und in den Registern gehalten werden können. Diese Anzahl hat mit dem Anwachsen der Schaltkreistechnologie stetig zugenommen. So sind derzeit 8 - Bit -, 16 - Bit - und 32 - Bit - Mikroprozessoren üblich, 64 - Bit - Chips sind ebenfalls bereits entwickelt worden.
2.0 Die Geschichte der Mikroprozessoren
1971 Intel bringt als ersten Prozessor den 4004 auf den Markt. Es handelt sich hierbei um einen 4 - Bit Prozessor der mit 108 kHz getaktet ist und ca. 2300 Transistoren besitzt.
1974 Nachfolger des 4004 wird der 8080. Es handelt sich hierbei um einen 8 - Bit Prozessor. Er besitzt ca. 6000 Transistoren und ist bereits mit 2 MHz getaktet.
1978 Mit dem 8086 (16 - Bit Prozessor) beginnt die Erfolgsgeschichte von Intels 80x86 - Prozessorfamilie. Alle Prozessoren die nach dem 8086 entwickelt wurden sind abwärts kompatibel. Der Prozessor besitzt anfangs 29.000 Transistoren und hat eine Taktfrequenz von 5 (später 10) MHz.
1979 Intel entwickelt den 8088. Eine abgespeckte Version des 8086 die intern mit 16 - Bit ; extern jedoch nur mit 8 - Bit arbeitet. Der Prozessor wird entwickelt da zu diesem Zeitpunkt die Herstellung von vollen 16 - Bit Systemen noch zu teuer war.
1982 Intel stellt den 80286 Prozessor vor. Er arbeitet mit 16 - Bit und enthält 130.000 Transistoren. Der 80286 hat einen Adreßraum von 16 MByte während seine Vorgänger lediglich einen Adreßraum von 1 MByte hatten.
1985 Das 32 - Bit Zeitalter bricht an. Der 80386 Prozessor ist der erste Prozessor mit einem Register von 32 - Bit. Er besitzt 275.000 Transistoren und ist mit 16 MHz getaktet. In den folgenden Jahren werden 80386 Prozessoren mit 20, 25 und schließlich mit 33 MHz Taktfrequenz herausgebracht. Der 80386 Prozessor ist Multitasking fähig was bedeutet das mehrere Programme scheinbar gleichzeitig ausgeführt werden können.
1989 Die nächste Prozessor Generation von Intel heißt 80486 und verfügt über 1,2 Millionen Transistoren. Der 80486 Prozessor ist im wesentlichen bei gleicher Taktfrequenz aus 3 Gründen etwa doppelt so schnell wie ein 80386.
1. Der 80486 benötigt durchschnittlich lediglich zwei Takte zur Ausführung eines Befehls während der 80386 dafür mindestens vier Takte benötigte.
2. Ein interner Cache von 8 KByte kann 90 - 95% der benötigten Daten speichern wodurch die Wartetakte pro Lesevorgang reduziert werden.
3. In dem 80486 ist zum ersten mal ein Mathematischer Co - Prozessor integriert der synchron mit dem Hauptprozessor arbeitet. Er benötigt für mathematische Anweisungen weniger Takte als die Co - Prozessoren seiner Vorgänger.
1993 Intel nennt seinen neuen Prozessor nicht 80586 sondern Pentium da man eine Bezeichnung besser warenrechtlich schützen lassen kann als eine Zahl. Der Pentium Prozessor besitzt 3,1 Millionen Transistoren und ist anfangs mit 60 oder 66 MHz getaktet. Er kann in einem Taktzyklus zwei Befehle ausführen. Zum ersten mal wird ein Prozessor hergestellt der zwei 8 KByte Große interne Caches besitzt. Der eine Cache speichert die jeweils aktuellen Befehle der andere die Daten. Hinzu kommt das der externe Datenbus zum Hauptspeicher jetzt 64 Bit breit ist. Im Fliesskommabereich ist der Pentium 3x so schnell wie ein 80486 Prozessor.
1994 Im Oktober findet ein Mathematiker heraus das der Pentium mit 60 bzw. 66 MHz falsch rechnet. Eine Division zweier Fliesskommazahlen liefert eventuell ein falsches Ergebnis. Als Beispiel:
4195835 / 3145727 = 1,3338204491 (richtiges Ergebnis)
4195835 / 3145727 = 1,33373906892 (Ergebnis eines falsch rechnenden Pentiums)
1995 Der Intel - Prozessor der sechsten Generation kommt mit 150, 166, 180 und 200 MHz interner Taktrate auf den Markt. Es ist der Pentium Pro. Er besitzt 5,5 Millionen Transistoren und verfügt über eine Dual - Independent - Bus - Architektur was bedeutet das der Prozessor zwei von einander unabhängige Bus - Systeme hat mit denen sich die Datenübertragungsrate auf das Dreifache erhöhen lässt.
1997 Im Januar bringt Intel eine weiter Entwicklung des Pentium Prozessors auf den Markt. Es handelt sich um den Pentium MMX. Die MMX - Technik erweitert die Prozessorarchitektur um 57 neue Befehle für den Grafik -, Video - und Audio - Bereich. Bei herkömmlichen Anwendungen sind die MMX - Prozessoren um 10 bis 15 Prozent schneller. Bei speziell für MMX entwickelten Multimediaprogrammen soll laut Intel der Leistungsgewinn bis zu 87 Prozent ausmachen. Der MMX Prozessor wird zunächst mit 166 oder 200 MHz getaktet.
1997 Intels Pentium II kommt im Mai auf den Markt. Der neue Prozessor mit einer Taktfrequenz von 233, 266 und 300 MHz taktet extern mit 66 MHz und verfügt über 7,5 Millionen Transistoren. Er besitzt einen 32 Kbyte großen internen Cache. Der Pentium II verfügt wie der Pentium Pro über eine Dual - Independent - Bus - Architektur. Eins der beiden Bus - Systeme verwendet der Prozessor für das System (Hauptplatine) und einen für den Cache Speicher. Damit kann der Cache Speicher mit bisher nicht möglichen Taktfrequenzen arbeiten.
Intel Pentium II 400 MHz mit
Dual - Independent - Bus - Architektur
Kenndaten von Intel - Prozessoren
Prozessor |
Register |
Datenbus |
Adreßbus |
Adreßraum |
Transistoren |
Jahr |
4004 |
4 Bit |
2.300 |
1971 |
|||
8080 |
8 Bit |
16 Bit |
6.000 |
1974 |
||
8086 |
16 Bit |
16 Bit |
20 Bit |
1 MByte |
29.000 |
1978 |
8088 |
16 Bit |
8 Bit |
20 Bit |
1 MByte |
29.000 |
1979 |
80286 |
16 Bit |
16 Bit |
24 Bit |
16 MByte |
130.000 |
1982 |
80386 |
32 Bit |
32 Bit |
32 Bit |
4 GByte |
275.000 |
1985 |
80486 |
32 Bit |
32 Bit |
32 Bit |
4 GByte |
1.200.000 |
1989 |
Pentium |
32 Bit |
64 Bit |
32 Bit |
4 GByte |
3.100.000 |
1993 |
Pentium Pro |
32 Bit |
64 Bit |
36 Bit |
64 GByte |
5.500.000 |
1995 |
Pentium MMX |
32 Bit |
64 Bit |
32 Bit |
4 GByte |
4.500.000 |
1996 |
Pentium II |
32 Bit |
64 Bit |
36 Bit |
64 GByte |
7.500.000 |
1997 |
AMD, Cyrix sowie der Intel Pentium III wurden in dieser Tabelle nicht berücksichtigt.
3.0 CPU (Central Processing Unit)
Eine CPU besteht im wesentlichen aus einem Steuerwerk und einer Rechen - einheit. Die Recheneinheit besteht aus der ALU (Arithmetic Logical Unit) und dem Registersatz und übernimmt die eigentliche Datenverarbeitungsfunktion innerhalb der CPU. Das Steuerwerk organisiert und kontrolliert die gesamte Arbeit sowohl der CPU als auch des Rechnersystems als Ganzes. Um alle Komponenten innerhalb der CPU und des kompletten Rechnersystems zu verbinden bzw. eine Kommunikation herzustellen gibt es das sogenannte Bussystem, welches aus mehreren Arten von "Bussen" besteht.
( Abb. 1.0 )
3.1 Das Steuerwerk
Es stellt ein durch einen externen Takt gesteuertes Schaltwerk dar, welches entsprechend den auszuführenden Befehlen konkrete Folgen elementarer Transport und Verarbeitungsaktionen auslöst. Die konkrete Funktion und der Ablauf eines Befehls sind konstant und reproduzierbar und werden bei der Herstellung des Prozessors fest vorgegeben.
Aufgaben des Steuerwerks:
-
Steuerung prozessorinterner Abläufe d.h. die Organisation von Datentransporten innerhalb des Rechenwerks zwischen Registern, ALU und Datenbus sowie die Auslösung und Auswertung von Operationen der ALU Bereitstellung von Adressinformationen für Befehls - und Datentransporte über das Bussystem Steuerung externer Abläufe bei der Kommunikation des Prozessors mit dem Speicher bzw. den Ein - /Ausgabeeinheiten
Wesentliche Bestandteile des Steuerwerks sind der Program - Counter (PC), der die Adresse des nächsten auszuführenden Befehls bereitstellen kann, und der Befehlsdecoder. Das Steuerwerk fordert zur Befehlsbearbeitung jeweils den nächsten Befehl an, decodiert diesen und löst eine passende Sequenz von Teilschritten zur Befehlsbearbeitung aus.
Die Befehlsbearbeitung ist ein unendlicher, vom Ein - bis zum Ausschalten des Rechners ständig wiederholter Zyklus. Er besteht aus folgenden Schritten.
Siehe Bild : 1.1
-
Einlesen des ersten Teils der Befehlsinformation: Ausgabe des Inhaltes des Program - Counters (PC) auf dem Adressbus Einlesen des Inhaltes der angesprochenen Speicherzelle in den Befehlsdecoder Inkrementierung des PC um eine Adresseinheit
-
Decodieren der eingelesenen Informationen und Festlegung des weiteren Ablaufs
3. Einlesen der restlichen Bestandteile des Befehls
-
Ausgabe des PC auf den Adressbus Einlesen des Inhaltes der Speicherzelle in den Befehlsdecoder Inkrementieren des PC Wiederhole ab a), bis Befehl komplett eingelesen
-
Ausführung des Befehls Bereitstellung der Daten am Eingang der ALU Ausführung der ALU - Operation Ablage des Ergebnisses
Ablauf der Befehlsabarbeitung
( Abb 1.1 )
3.2 Das Rechenwerk
3.2.1 Die ALU (Arithmetic Logical Unit)
Sie kann meist nur einfache Elementaroperationen mit maximal zwei beteiligten Operanden ausführen. Komplexere Operationen sind aus einer Folge einfacher Aktionen zusammengesetzt.
Um die Rechenleistung einer CPU zu erhöhen ist man dazu über gegangen mathematischen Co - Prozessoren die Arbeit zu überlassen. Diese Co - Prozessoren werden vom Steuerwerk der "Haupt CPU" gesteuert.
Die Alu kann folgende Operationen ausführen :
-
arithmetische Operationen (Addition, Subtraktion, Vergleich, ...) logische Verknüpfungen (AND, OR, XOR, ...) Verschiebungen um eine oder mehrere Bitstellen nach links bzw. rechts
3.2.2 Der Registersatz
Unter dem Registersatz versteht man CPU interne Speicherzellen, die im Gegensatz zu externen Speicherzellen sehr schnelle Zugriffszeiten haben.
Die Register dienen der direkten Datenablage, sie stellen Operanden für arithmetische und logische Operationen bereit und nehmen die Ergebnisse der Verarbeitung auf. Diese Register bezeichnet man als Universalregister.
(Anmerkung: Die Anzahl binärer Stellen (BITS) in jedem Universalregister entspricht der Verarbeitungsbreite der ALU und ist ein Maß dafür, welche Informationsmenge der Prozessor mit einem Befehl bearbeiten kann. Sie beträgt typisch 4, 8, 16 ,32 oder 64 bit. Breitere Register bedeuten i.d.R. eine höhere Leistungsfähigkeit und erlauben einen größeren Bereich darzustellender Informationen in einem Register.)
Neben den Universalregistern gibt es noch die Adresszeigeregister und die Spezialregister.
Die Adresszeigeregister stellen Informationen für Zugriffe auf Speicherzellen bereit. Durch die Bitbreite der Adresszeigeregister ist die maximale Anzahl möglicher Adresskombinationen und damit die Anzahl eindeutig ansprechbarer Speicherplätze bestimmt.
Die Spezialregister übernehmen besondere Aufgaben bei der Steuerung der Befehlsabarbeitung und der gesamten Arbeit des Prozessors. Die wichtigsten Spezialregister sind:
PC - der "Program Counter" oder Befehlszähler
Flags - die Flag Register speichern Sonderfälle bei Operationen der ALU
SP - der "Stackpointer" adressiert den Ort, an dem Rückkehr -
Informationen bei Prozeduraufrufen im Speicher abgelegt wurden
je nach Prozessortyp gibt es noch mehrere Spezialregister, die wir hier aber nicht alle aufführen wollen.
Intel 8080 Intel 8086
15 8 7 0 15 8 7 0
I
U I
U
I
SIn dieser Abbildung sind die Registersätze S
der Intel 8080 und 8086 Prozessoren ab -
gebildet.
U Universalregister
I Index - / Adressregister
S Spezialregister
3.3 Das Bussystem
Das Bussystem verbindet die verschiedenen Einheiten eines Rechnersystems (Speicher, CPU, periphere Einheiten) miteinander und vermittelt den Datenaus - tausch zwischen ihnen. Alle Komponenten nutzen einen gemeinsam Transport - weg, den Bus, an den sie parallel angeschlossen sind. Die Koordination der Übertragung, d.h. die Auswahl von Sender und Empfänger und die zeitliche Synchronisation, wird über zusätzliche Steuersignale geregelt.
Entsprechend den zu übertragenden Informationen kann man eine funktionelle Trennung des Bussystems in Teilbusse vornehmen:
-
Der Adressbus stellt die Ziel - bzw. Quelladresse des Datentransfers bereit Der Datenbus überträgt die eigentlichen Daten Der Steuerbus übernimmt die Koordination des Datentransfers hinsichtlich zeitlichem Ablauf und Auswahl der Übertragungsrichtung
Wenn von Prozessoren die Rede ist begegnet man immer wieder einer Reihe von Fachbegriffen. In der Regel wird immer wieder die interne Taktfrequenz angegeben. Darüber hinaus gibt es bei den verschiedenen Prozessoren aber noch eine Reihe weiterer Unterschiede und damit auch Begriffe.
Interne Taktfrequenz
Eine wichtige Größe ist die (interne) Taktfrequenz, die in MHz angegeben wird. Ein Megahertz entspricht einer Millionen Schwingungen pro Sekunde. Diese Maßzahl definiert, wie schnell die CPU eines Rechners ist, und lässt mit Einschränkungen gewisse Rückschlüsse auf die Geschwindigkeit des kompletten Rechnersystems zu, ohne jedoch dafür allein maßgeblich zu sein.
Die internen Register
Die Größe der internen Register gibt an, wieviel Informationen der Prozessor gleichzeitig verarbeiten kann, und wie er die Daten im Chip intern überträgt. Die Registergröße entspricht im wesentlichen der Größe des internen Datenbusses. Ein Register ist eine Speicherzelle im Prozessor. So kann der Prozessor beispielsweise Zahlen in zwei unterschiedlichen Registern addieren und das Ergebnis in einem dritten Register speichern. Die Registergröße bestimmt die Datenmenge, die der Prozessor verarbeiten kann. Die Registergröße beschreibt außerdem die Art der Software bzw. Befehle und Anweisungen, die ein Chip ausführen kann. Prozessoren mit internen Registern mit 32 Bit können also 32 Bit Befehle ausführen, indem sie Daten zu je 32 Bit verarbeiten, was 16 Bit Register nicht können. Die meisten Prozessoren von heute, d.h. alle Chips vom 386er bis zum Pentium III verfügen über interne Register mit 32 Bit und können daher dieselben 32 Bit Betriebssysteme und - Programme ausführen.
Busbreiten
Als "Bus" werden mehradrige Kabelverbindungen zur Datenübertragung und zum Informationsaustausch zwischen zwei oder mehreren Komponenten eines Computers bezeichnet. Damit handelt es sich um nichts anderes als einen Datentransportweg.
Beim PC wird zwischen Datenbus, Adreßbus und Kontrollbus (bzw. Steuerbus) unterschieden. Während der Kontrollbus lediglich der Steuerung interner Abläufe dient und damit ansonsten relativ uninteressant ist, bestimmen die Breiten vom Adreßbus und Datenbus wesentlich die Leistungsfähigkeit des Prozessors bzw. Rechners.
Datenbus
Der am häufigsten beschriebene Bus ist der Datenbus, der für den Empfang und den Versand von Daten zuständig ist. Je mehr Signale gleichzeitig gesendet werden können, desto mehr Daten lassen sich in einem bestimmten Zeitabschnitt übertragen, d.h. um so schneller ist der Bus. Ein breiter Datenbus ist wie eine Autobahn mit mehreren Spuren, womit ein größerer Durchsatz erreicht wird.
Je mehr Leitungen zur Verfügung stehen, desto mehr Bit können gleichzeitig übertragen werden. Ein Prozessorchip wie beispielsweise der 286er - Chip verfügt über 16 Leitungen, d.h., er ist mit einem 16 - Bit - Datenbus ausgerüstet. Ein 32 - Bit - Chip, wie der 386DX - oder der 486er - Chip, verfügt über doppelt so viele Leitungen und kann somit doppelt so viele Informationen gleichzeitig übertragen wie ein 16 - Bit - Chip. Moderne Prozessoren wie die Reihe der Pentium - Prozessoren verfügen über 64 Bit breite Datenbusse. Das bedeutet, das sämtliche Pentium - Prozessoren, zu denen der Pentium, der Pentium Pro, der Pentium II und der Pentium III gehören, 64 Datenbits gleichzeitig an den Arbeitsspeicher übertragen und vom Arbeitsspeicher empfangen können.
Adreßbus
Der Adreßbus besteht genau wie der Datenbus aus einigen Leitungen über denen Adreßinformationen übertragen werden. Mit diesen Informationen werden die Speicherplätze beschrieben, an die Daten verschickt werden sollen bzw. von denen Daten empfangen werden. Wie beim Datenbus überträgt auch hier jede Leitung ein Informationsbit. Dieses eine Bit ist eine Stelle der Adresse. Je mehr Leitungen zur Berechnung der Adressen zur Verfügung stehen, um so mehr Speicherplätze können gleichzeitig adressiert werden. Die Breite eines Adreßbusses gibt die maximale Anzahl an Speicherplätzen an die ein Prozessor verwalten bzw. adressieren kann.
Mit dem 20 - Bit - Adreßbus des 8086/8088 Prozessors konnte maximal 1 Mbyte Arbeitsspeicher verwaltet werden. Alle Prozessoren ab dem 386er verfügen über einen 32 - Bit - Adreßbus, über den sie 4 Gbyte Arbeitsspeicher erreichen können. Der Pentium Pro mit seinem 36 - Bit - Adreßbus kann 64 Gbyte adressieren.
Der interne Cache
Beim internen Cache handelt es sich um spezielle, sehr schnelle Speicherelemente, die im Prozessor (ab 486er) integriert sind. In diesen Zwischenspeicher werden Informationen vorausschauend abgelegt, bei denen die Wahrscheinlichkeit groß ist, das der Prozessor sie demnächst benötigt. Der Zugriff auf den im Prozessor integrierten Cache - Speicher kann direkt und ohne jede Verzögerung erfolgen.
Mit einem Cache - Speicher wird der Stau vermieden, der beim Zugriff auf den Speicher üblicherweise entsteht, da der Arbeitsspeicher eines Systems wesentlich langsamer arbeitet als die CPU. Daher muss ein Prozessor in einem System mit einem Cache nicht mehr auf Daten und Befehle vom langsameren Arbeitsspeicher warten.
Mathematischer Co - Prozessor
Ein Mathematischer Co - Prozessor ist ein Chip der den Mikroprozessor bei mathematischen Operationen entlasten soll. Bis zum 386er war der mathematische Co - Prozessor eine eigenständige externe Komponente. Seit dem 486er ist er integriert.
Co - Prozessoren übernehmen sogenannte Fließkommaoperationen mit denen die CPU einfach überfordert wäre. Mathematische Co - Prozessoren können komplexere mathematische Operationen wie z.B. lange Divisionen, trigonometrische Funktionen, Wurzelberechnungen, Logarithmen usw. 10 - bis 100mal schneller als der Hauptprozessor ausführen. Die Operationen die der Co - Prozessor durchführt sind allesamt Operationen mit Fließkommazahlen. Operationen mit ganzen Zahlen werden von der CPU selbst vorgenommen.
Program Counter
Der Program Counter wird mit jedem Takt der Taktfrequenz um eins erhöht (Inkrementierung) um die nächste Adresse anzusprechen.
Der PC arbeitet kontinuierlich weiter, bis der Prozessor ausgeschaltet wird, oder die "Pause" aktiviert wird. Bei einem Reset des Prozessors geht der PC wieder auf Null.
Flags
Es gibt verschiedene Arten von Flag Registern, sie werden für besondere Ergebniszustände z.B. einer Operation in der ALU benötigt.
Zu den verschieden Flags gehören u.a. das "Zero - Flag", das Sign - Flag oder auch das "Carry - Flag"
Das Carry - Flag wird zum Beispiel bei einem Ãœbertrag einer Operation benutzt.
3063 Worte in "deutsch" als "hilfreich" bewertet