WikiDer > Prozessor (Computer)

Processor (computer)
DEZ Alpha AXP 21064 Mikroprozessor

EIN Prozessor, auch bekannt als Zentralprozessor (Englisch: Zentraleinheit) oder auf Niederländisch Zentraleinheit (Lebenslauf) heißt ein Stück Hardware- in einem Computer die grundlegende Bearbeitung und Kontrolle bei der Ausführung bietet Programmcode. Die ersten Prozessoren wurden als Leiterplatten voller loser Komponenten und ICs, aber seit den 1970er Jahren die ersten sogenannten Mikroprozessoren, wo das gesamte System auf einem einzigen Chip hergestellt wurde. Der erste Mikroprozessor war der i4004 von Intel.

Typen

Die Entwicklung in der IC-Technologie machte die 4. Mikroprozessoren bisschen (i4004) auf 8 Bit, 16 Bit, 32 Bit und 64 Bit. Diese Zahlen zeigen die Wortbreite Derzeit gibt es zwei Haupt-"Familien" von Prozessoren:

Eigenschaften

Die Anschlüsse eines Prozessors bestehen hauptsächlich aus einer Reihe von Steuer-, Adress- und Datenleitungen, die an die Steuerbus, das Adressfeld und der Datenbus vom Computer. Über den Adressbus zeigt der Prozessor an, an welcher Adresse des Externer Speicher mit den Daten muss etwas gemacht werden, die Daten werden über den Datenbus transportiert und über den Steuerbus wird angezeigt, ob die Daten gelesen oder geschrieben werden sollen. Der Prozessor kommuniziert mit der Außenwelt, indem er bestimmte Speicheradressen an Schnittstellen von Peripheriegeräte verbunden sind, wie z Tastaturen, Bildschirme, usw.

Mikrocontroller

sehen Mikrocontroller für den Hauptartikel zu diesem Thema.

Mikrocontroller haben ihren Namen von ihrem Hauptanwendungsgebiet: „Steuerung“. Sie werden in der Fernsehen, das Fernbedienung, das Videorecorder, das Waschmaschine, Radio und sogar in a Rasierapparat man begegnet ihnen. Charakteristisch für einen Mikrocontroller ist, dass er bereits ein kompletter Computer ist. Moderne Mikrocontroller verfügen über einen Prozessor, Taktgenerator, RAM, Rom und Hardware- zum Steuern Peripheriegeräte alle auf dem gleichen IC.

Mikroprozessoren

sehen Mikroprozessor für den Hauptartikel zu diesem Thema.

Für die PC-Architektur wurde der Prozessorkern um eine (virtuelle) Speicherverwaltung und einen Co-Prozessor für Gleitkommaoperationen erweitert. Dadurch eignet es sich für Betriebssysteme wie Linux und Fenster.

Alle aktuellen Computer arbeiten danach Von Neumann-Modell. John von Neumann machte dieses Modell, bevor der erste Computer existierte. Das Modell beschreibt kurz die Situation, in der eine CPU mit Random Access Memory (RAM) einerseits und Peripherie wie z Drucker, Monitore, Tastaturen usw.

Ein Prozessor erzeugt je nach Aktivität mehr oder weniger Wärme und wird daher meist über eine oder mehrere Kühlrippen gekühlt und Fans. Einige Prozessoren haben Wasserkühlen, und es gibt sogar Prozessoren, die Stickstoff-Kühlung brauchen.

Geschwindigkeit

Die Geschwindigkeit eines Prozessors hängt von einer Reihe von Faktoren ab:

  • Das Taktfrequenz. Die neuesten Prozessoren sind in der Regel zwischen 2,5 und 5 GHz.
  • Die Anzahl der Befehle, die ein Prozessor (im Durchschnitt) pro Zyklus ausführen kann. Es gibt manchmal erhebliche Unterschiede zwischen verschiedenen Mikroarchitekturen. Ein mit 1 GHz arbeitender Prozessor, der durchschnittlich nur zwei Taktzyklen pro Befehl benötigt, ist schneller als ein Prozessor, der mit 2 GHz arbeitet, aber durchschnittlich fünf Taktzyklen pro Befehl benötigt. Dies ist kein Problem für den Vergleich Desktop-Computer (da sie alle die gleiche Architektur verwenden), aber zum Vergleich anderer Geräte (wie z Smartphones und Tablets) kann wichtig sein.
  • Außerdem ist die Zwischenspeicher auch eine wichtige Rolle (der Cache ist ein kleiner, aber schneller "Cache" zwischen dem Arbeitsspeicher und dem Prozessor). Generell gilt: Je größer der Cache, desto schneller der Prozessor.
  • Pipelining, ein Phänomen, das in bestimmten Situationen die Prozessorgeschwindigkeit erhöht. In der Vergangenheit wurden Befehle immer nacheinander ausgeführt. Jetzt kann Befehl B starten, während Befehl A noch in Bearbeitung ist; Dies wird als Pipelining bezeichnet.
    Einige Prozessoren haben mehrere Pipelines, die gleichzeitig an mehreren Befehlen arbeiten können. Oftmals stehen auch spezialisierte Rohrleitungen zur Verfügung, so dass beispielsweise "normale" Belegungen und Belegungen mit Gleitkommazahlen werden jeweils in einer separaten Pipeline verarbeitet. Spezialisierte Prozessoren wie gpus können Dutzende von Pipelines haben, manchmal mehr als hundert.
  • Die Anzahl der Kerne das hat einen prozessor. Programme, die nicht dafür optimiert sind, werden nicht wesentlich schneller abgearbeitet. Es können jedoch zwei verschiedene Programme gleichzeitig auf zwei verschiedenen Kernen ausgeführt werden, was einen erheblichen Vorteil bietet, wenn mehrere Programme gleichzeitig ausgeführt werden. Heutzutage haben die meisten Desktop-Prozessoren mehrere Kerne: zwischen 4 und 8 Kernen sind üblich.

Innenaufbau

Ein (einfacher) Prozessor enthält die folgenden Komponenten:

  • Eine Anzahl von registriert mit folgenden Funktionen:
    • Ein "Akkumulator", der die Ergebnisse von Berechnungen speichert
    • Ein Statusregister, das Informationen über die zuletzt durchgeführte Operation speichert (z. B. ob das Ergebnis 0 oder negativ war)
    • EIN Programm zähler die die Adresse des nächsten auszuführenden Befehls enthält
    • Register, die Adressen von Speicherorten enthalten können, wie z Stapelzeiger und Indexregister.
  • EIN Arithmetik-Logikeinheit (alu) wer führt die Berechnungen durch
  • Logik zum Decodieren von Anweisungen und Steuern der Teile
  • Logik om unterbrechen damit umgehen.

Bei modernen Prozessoren sind die Register austauschbar, sodass Berechnungen nicht in einem speziellen Register erfolgen müssen. Auch die Decodierlogik ist so ausgelegt, dass mehrere Befehle gleichzeitig bearbeitet werden können (Pipeline).

Operation

Rückholphase

Ein Prozessor dient Anleitung des Programms nacheinander abzuarbeiten. Das Programm selbst befindet sich im RAM. Der Prozessor verfügt daher über einen Zähler, den Programmzähler, der die Speicheradresse des nächsten Befehls verfolgt. In der sogenannten "Fetch-Phase" holt der Prozessor den Befehl von der im Programmzähler enthaltenen Speicheradresse. Der Code in dieser Adresse ist die nächste auszuführende Anweisung und wird Befehlsregister Gesendet.

Dekodierungsphase

Angenommen, der Code im Befehlsregister lautet 0001010100010010. Was bedeutet das für den Prozessor? Ein Befehl ist nichts anderes als eine Folge von Bits und die Decodierungsstufe bestimmt, was zu tun ist. Diese Bitfolge orientiert die Komponenten im Prozessor, die den Befehl ausführen, um die gewünschte Operation auszuführen.

Im Beispiel verwendet der Prozessor 8 Bits für die Befehlsnummer. Der Prozessor hat also maximal 28 = 256 verschiedene Anweisungen. Die im Beispiel auszuführende Anweisung hat nun die durch die ersten 8 Bit angegebene Nummer, also die Nummer 00010101, die dezimal 21 ist und in diesem Fall Addition bedeutet. Im Allgemeinen wird die Befehlsnummer an jede Komponente gesendet, in diesem Fall wird nur die Addiererkomponente zum Hinzufügen bereit.

Die restlichen Bits des Befehlsregisters, dh 00010010, bestimmen, wohin der Prozessor seine Daten holt, dies können spezifische Register sein, aber bei komplexeren Befehlen auch eine Speicheradresse. In diesem Fall geht es um die Register und unser Prozessor hat 16 Register. Um anzugeben, welche Register wir verwenden möchten, können wir einfach die Nummern beider Register auflisten, die jeweils vier Bits benötigen. Im Beispiel die Register 0001 (=1) und 0010 (=2). Die Anweisung bedeutet also, dass die Inhalte der Register 1 und 2 addiert werden. Es wird auch implizit aufgezeichnet, dass das Ergebnis im ersten Register steht.

Die vollständige Anleitung...

0001010100010010

... wird somit in die Teile zerlegt ...

0001010100010010

... um bei der Dekodierung zu entscheiden, dass es sich um eine Addition handelt:

r1,r2 . HINZUFÜGEN

Konkret bedeutet dies, dass die Register r1 und r2 Zahlen enthalten, die addiert werden müssen. Unser imaginärer Prozessor speichert das Ergebnis in dem zuerst aufgelisteten Register, so dass nach diesem Befehl das Register r1 die Summe beider Zahlen enthält. Die Register sind kleine Speicherteile im Prozessor mit Logik drumherum. Wenn ein Register seine Nummer auftauchen sieht, wird es aktiv und bereitet sich darauf vor, seinen Inhalt an andere Teile des Prozessors, in diesem Fall die Recheneinheit, zu übertragen.

Ausführungsphase

Dann beginnt die sogenannte „Ausführungsphase“. Der Prozessor ist an der richtigen Position und die Berechnung beginnt. Die beiden Zahlen in den Registern r1 und r2 fließen zur Recheneinheit des Prozessors, die eine Addition durchführt. Anschließend wird das Ergebnis in einem kleinen temporären Speicher abgelegt.

Lagerphase

Dann beginnt die „Speicherphase“. Das Register, für das das Ergebnis bestimmt ist (r1) geht in den Hörmodus. Wenn eine Nummer für ein Register auf den elektrischen Leitungen gilt, ersetzt sie die gespeicherte Nummer durch die Nummer, die sie passieren sieht. Die berechnete Zahl wird dann auf die Ableitungen gelegt.

Der nächste

Die Ausführung des Befehls ist nun abgeschlossen, der Programmzähler wird inkrementiert und der Prozessor ist bereit, den nächsten Befehl auszuführen.

Synchron oder asynchron

Synchrone Prozessoren

Die meisten Prozessoren arbeiten heute mit a Uhr. Das heißt, alle Logikgatter führen ihren Befehl gleichzeitig pro Taktimpuls aus. In komplexeren Prozessoren werden Befehle in mehrere Taktzyklen unterteilt. Die meisten RISCProzessoren hingegen sind in der Lage, einen vollständigen Befehl in einem einzigen Taktimpuls auszuführen.

Die Vorteile hiervon sind ein relativ einfaches Chipdesign, da klar ist, wann Informationen aus einem vorherigen Schritt (dem vorherigen Takt) verfügbar sind.Der Nachteil des synchronen Prozessors ist, dass der Takt nur so schnell laufen kann, wie es der langsamste Link zulässt . Ein weiterer Nachteil ist, dass alle Ports, auch wenn sie gerade keine Funktion erfüllen, geschaltet sind und somit auch Strom verbrauchen. Für beide Nachteile wurden Lösungen entwickelt:

  • Große langsame Komponenten werden in Stücke zerlegt, wodurch die Taktrate erhöht werden kann. Es werden mehr Taktimpulse benötigt, um dieselbe Berechnung (Pipelining) durchzuführen.
  • Das Taktsignal zu nicht genutzten Teilen des Chips wird abgeschaltet. Es ist nur schwer zu bestimmen, wann ein Teil nicht verwendet wird (Clock-Gating).
  • Die Taktfrequenz wird an die aktuell arbeitende Komponente angepasst. Um die Geschwindigkeit zu ändern, wird eine Schaltung benötigt (dynamische Frequenztaktung).
  • Teile des Systems haben eine eigene Uhr, die auf dem Maximum dieser Fläche läuft. Nur die Kommunikation zwischen den Bereichen wird zum Problem (GALS).

Bei der aktuellen Technologie der Gigahertz-Prozessoren hat die Langsamkeit elektrischer Signale einen zunehmenden Einfluss. Elektrische Signale reisen mit einem Großteil der Lichtgeschwindigkeit, aber selbst dann dauert es einige Zeit, um von A nach B zu kommen. Bei einem Prozessor mit 3 GHz kann das Signal theoretisch maximal 10 cm in einem einzigen Takt zurücklegen.

Eines der Designprobleme heutiger schneller CPUs besteht darin, das Taktsignal überall auf dem Chip gleichzeitig zu bekommen. Das dafür benötigte Netzwerk kann bis zu 30 % der Chipfläche und bis zu 60 % des Energieverbrauchs verbrauchen. Bei einem durchschnittlichen Prozessor liegt dieser Energieverbrauch eher bei etwa 10 %.

Asynchrone Prozessoren

Asynchrone Prozessoren arbeiten ohne zentralen Takt. Sie leiden also nicht unter den oben genannten Problemen.

Ein asynchroner Prozessor arbeitet nach dem Prinzip, dass eine Teilschaltung zusätzlich zur „Datenleitung“ mindestens eine zusätzliche Leitung hat, um anzuzeigen, dass ihr Zustand stabil ist. In diesem Moment kann die nächste Schaltung aktiviert werden, was den Vorteil hat, dass der Prozessor mit der maximalen Geschwindigkeit seiner Komponenten arbeitet. Auch nicht genutzte Anlagenteile verbrauchen praktisch keine Energie, was den Energieverbrauch drastisch reduziert.

Ein Nachteil ist das komplexere Chipdesign. Bei einem asynchronen Prozessor mit der gleichen Funktionalität wie seine synchrone Variante dreimal so viele Transistoren erforderlich. Die Entwicklungszeit ist auch viel länger.

Auf dem heutigen Markt sind asynchrone Prozessoren Mangelware, teilweise aufgrund ihrer Komplexität. Einige Hörgeräte verwenden bereits asynchrone Prozessoren. Analysten schließen nicht aus, dass asynchrone Prozessoren in Zukunft eine größere Rolle spielen werden. Sie werden in Zukunft wahrscheinlich viel in Anwendungen eingesetzt werden, bei denen eine energieeffiziente Nutzung eine Rolle spielt, wie z. B. Geräte, die Batterien Arbeiten wie pdaComputer oder Notizbücher.

Der erste lizenzierbare und kommerziell erhältliche asynchrone Mikroprozessorprozessor war der ARM996HS, entwickelt von ARM Holdings und Handshake Solutions (einer Tochtergesellschaft von Philips). Der Prozessor basiert auf dem ARM9-Kern und wird hauptsächlich in Autos zum Einsatz kommen.

Befehlssatz

sehen Befehlssatz für den Hauptartikel zu diesem Thema.

Der Befehlssatz ist charakteristisch für einen Prozessor. Jeder Prozessortyp kann einen begrenzten Satz von Befehlen ausführen, und dies unterscheidet sich oft zwischen verschiedenen Prozessortypen. Dies bedeutet, dass ein Programm für einen Prozessortyp nicht von einem anderen Prozessortyp ausgeführt werden kann. Andererseits werden Prozessoren auch oft für einen bereits bekannten Befehlssatz entwickelt, damit dieser alle für diesen Prozessor existierenden Programme ausführen kann. Ein Befehlssatz wird normalerweise nach dem Prozessor benannt, der ihn ausführen kann.

Siehe auch

Externer Link