Prozessor

Dezember 2016
Intel 4004 prozessor

Vorstellung


Der Prozessor (CPU, für Central Processing Unit, d.h.; Zentrale Bearbeitungseinheit) ist das Gehirn des Computers. Er erlaubt es digitale Informationen zu behandeln, d.h. Informationen die in binär codiert sind, und die Befehle auszuführen, die Speicher aufbewahrt werden.

Der erste Mikroprozessor (Intel 4004) ist 1971 erfunden worden. Es handelte sich um eine Recheneinheit von 4 Bit, mit 108 kHz getaktet. Seitdem steigt die Leistung der Mikroprozessoren in exponentieller Weise. Was sind also diese kleinen Silizium Stücke, die unsere Computer leiten?

Funktionsweise


Der Prozessor (geschrieben CPU, für Central Processing Unit) ist eine elektronische Schaltung, die im Rhythmus einer internen Uhr getaktet ist, dank eines Kristallquarzes der, unter Strom gestellt, Impulse sendet und « top » genannt wird. Die Uhrfrequenz (auch Zyklus genannt, entspricht der Impulsanzahl pro Sekunde, ausgedrückt in Hertz (Hz). Ein Computer mit 200 MHz besitzt demnach eine Uhr, die 200 000 000 Impulse pro Sekunde sendet. Die Taktfrequenz ist meist ein mehrfaches der Systemfrequenz (FSB, Front-Side Bus), d.h. ein mehrfaches der Frequenz des Motherboard

Bei jedem Top der Uhr, führt der Prozessor eine Aktion aus, die einem Befehl oder einem Teil eines Befehls entspricht. Der Indikator der CPI (Cycles Par Instruction) genannt wird, erlaubt es die mittlere Anzahl an Uhrzyklen darzustellen, die zur Ausführung eines Befehls auf einem Mikroprozessor nötig sind. Die Leistung des Prozessors kann so durch die Anzahl an Befehlen charakterisiert werden, die er pro Sekunde bearbeiten kann. Die verwendete Einheit ist MIPS (Millionen Instruktionen pro Sekunde) und entspricht der Frequenz des Prozessors geteilt durch den CPI.

Instruktion


Eine Instruktion ist die elementare Operation die der Prozessor ausführen kann. Die Instruktionen werden in dem Hauptspeicher hinterlegt, um von dem Prozessor bearbeitet zu werden. Eine Instruktion besteht aus zwei Feldern :

  • der Operationscode, die die Aktion darstellt, die der Prozessor ausführen soll ;
  • le Operandencode, der die Parameter der Aktion definiert. Der Operandencode hängt von der Operation ab. Es kann sich um Daten oder um eine Speicheradresse handeln.




OperationscodeOperandenfeld



Die Oktett-Anzahl einer Instruktion ist variabel je nach Datentyp (die Größenordnung liegt zwischen 1 - 4 Oktett).

Die Instruktionen können nach Kategorien geordnet werden, die wichtigsten sind :

  • Zugang zum Speicher : Zugänge zum Speicher oder Datentransfers zwischen Verzeichnissen.
  • Arithmetische Operationen : Operationen wie Additionen, Subtraktionen, Divisionen oder Multiplikationen.
  • Logische Operationen : Operationen UND, ODER, NEIN, ausschließendes NEIN, etc.
  • Steuerung : Sequenzsteuerung, konditionelle Anschlüsse, etc.

Register


Wenn der Prozessor Instruktionen ausführt, so werden die Daten vorübergehend in kleinen, schnellen Speichereinheiten von 8, 16, 32 oder 64 Bit gespeichert, die man Register nennt. Je nach Prozessortyp kann die Registeranzahl variieren, von etwa zehn bis zu mehrere Hunderte.

Die Hauptregister sind :

  • der Akkumulator (ACC), der die Ergebnisse der arithmetischen und logischen Operationen speichert ;
  • das Statusregister (PSW, Processor Status Word), mit dem Indikatoren über den Zustand des Systems gespeichert werden (Übertrag, Überschreitung, etc.) ;
  • das Instruktionenregister (RI), welches die Instruktionen enthält die gerade bearbeitet werden ;
  • das Befehlszählregister (IP oder PC für Program Counter), enthält die Adresse der nächsten zu bearbeitenden Instruktion ;
  • das Pufferregister, speichert vorübergehend Daten aus dem Speicher.

Cachespeicher


Der Cachespeicher (auch Schattenspeicher oder Pufferspeicher) genannt, ist ein schneller Speicher, mit dem die Wartezeiten auf Informationen, die sich im Arbeitsspeicher befinden, reduziert wird. Der Zentralspeicher des Computers besitzt eine sehr viel weniger hohe Geschwindigkeit als der Prozessor. Es gibt jedoch Speicher die sehr viel schneller sind, nur sind sie auch sehr teuer. Die Lösung besteht darin, diesen schnellen Speichertyp in der Nähe des Prozessors einzufügen und dort vorübergehend die wichtigsten Daten die der Prozessor bearbeiten soll, zu speichern. Computer jüngerer Generation besitzen mehrere Level an Cachespeicher :

  • Der Cachespeicher von erstem Level (genannt L1 Cache, für Level 1 Cache) ist direkt in den Prozessor integriert. Er unterteilt sich in zwei 2 Teile :
    • Der erste ist der Instruktionen-Cache, der die, bei Passieren der Pipelines, dekodierten Instruktionen aus dem Arbeitsspeicher enthält.
    • Der zweite ist der Daten-Cache, der die Daten aus dem Arbeitsspeicher und die kürzlich bei Operationen des Prozessors benutzten Daten enthält.

Die Caches des ersten Levels erlauben einen sehr schnellen Zugriff. Ihre Zugriffsfrist nähert sich der des internen Prozessorregister an.
  • Der Cachespeicher des zweiten Levels (genannt L2 Cache,für Level 2 Cache) befindet sich auf Niveau des Gehäuses, welches den Prozessor enthält (in dem Chip). Der Cache des zweiten Levels schiebt sich zwischen den Prozessor mit seinem internen Cache und den Arbeitsspeicher. Sein Zugang ist schneller als der des Arbeitsspeichers, aber weniger schnell als der des Caches des ersten Levels.
  • Der Cachespeicher des dritten Levels (genannt L3 Cache, für Level 3 Cache) befindet sich auf dem Niveau des Motherboards.

Alle Cachelevel erlauben es, die Latenzzeiten der verschiedenen Speicher bei Bearbeitung und Transfer der Informationen zu reduzieren. Während der Prozessor arbeitet, kann die Steuerung des Caches ersten Levels sich mit dem des zweiten Levels in Verbindung setzen, um Informationen zu übertragen, ohne den Prozessor zu blockieren. Gleicherweise ist der Cache zweiten Levels mit dem des Arbeitsspeichers (Cache dritten Levels) verbunden, um den Transfer zu ermöglichen, ohne die normale Funktionsweise des Prozessors zu blockieren.

Steuersignale


Die Steuersignale sind elektrische Signale die es ermöglichen, die verschiedenen Einheiten des Prozessors zu orchestrieren, die an der Ausführung einer Instruktion teilnehmen. Die Steuersignale werden durch ein Element verteilt, welches Sequenzer genannt wird. Das Signal Read / Write, auf deutsch lesen/ schreiben, ermöglicht es z.B. dem Speicher zu signalisieren, dass der Prozessor eine Information lesen oder schreiben möchte.

Funktionseinheiten


Der Prozessor besteht aus einer Reihe Funktionseinheiten, die untereinander verbunden sind. Die Architektur eines Mikroprozessors ist sehr variabel, von einer Architektur zur anderen, die Hauptelemente eines Mikroprozessors sind jedoch folgende :

  • Eine Instruktionseinheit (oder Steuereinheit, auf englisch control unit) die die eingehenden Daten liest, sie dekodiert und sie an die Ausführungseinheit sendet;Die Instruktionseinheit besteht insbesondere aus folgenden Elementen :
    • Sequenzer (oder logische Steuereinheit) dessen Aufgabe es ist die Ausführung der Instruktionen im Rhythmus einer Uhr zu synchronisieren. Er ist so beauftragt Steuersignale zu senden ;
    • Befehlszähler der die Adresse der augenblicklich bearbeiteten Instruktion enthält ;
    • Instruktionsregister der die folgende Instruktion enthält.
  • Eine Ausführeinheit (oder Bearbeitungseinheit), die die Aufgaben ausführt, die die Instruktionseinheit ihre gegeben hat. Die Ausführeinheit besteht insbesondere aus folgenden Elementen :
    • Die arithmetisch-logische Einheit (geschrieben ALU aus dem Englischen ALU für Arithmetical and Logical Unit). Die ALU übernimmt die Funktion der grundlegenden arithmetische Rechenaufgaben und der logischen Operationen (UND, ODER, ausschließendes Oder, etc.) ;
    • Die Fließkommaeinheit (geschrieben FPU, für Floating Point Unit), die komplexe, nicht ganzzahlige Rechnungen übernimmt, die die arithmetisch-logische Einheit nicht übernehmen kann.
    • Das Statusregister ;
    • Das Statusregister.
  • Eine Verwaltungseinheit der Busse (oder Ein-/Ausgangseinheit), die den ein- und ausgehenden Informationsfluss verwaltet, in Verbindung mit dem Arbeitsspeichers des Systems;



Das folgende Schema gibt eine vereinfachte Darstellung der Bestandselemente eines Prozessors (die physikalische Organisation der Elemente entspricht nicht der Realität) :

Schéma représentatif d\

Transistor


Um Informationen bearbeiten zu können, besitzt der Mikroprozessor eine Reihe Instruktionen, genannt « Befehlssatz », der durch elektronische Schaltkreise erstellt wird. Genauer gesagt, wird der Befehlssatz mit Halbleitern erstellt, « kleines Schaltern » die den Transistoreneffet benutzen, der 1947 durch John Barden, Walter H. Brattain und William Shockley entdeckt wurde, die für diese Entdeckung 1956 den Nobelpreis erhielten.

Ein Transistor (Zusammenziehung aus transfer resistor, auf deutsch Transferresistenz) ist ein elektronisches Halbleiter-Bauteil, welches drei Elektroden besitzt, und in der Lage ist den Strom zu verändern der ihn durchquert, mittels einer seiner Elektroden (genannt Steuerelektrode). Man spricht so von «aktivem Bauteil», im Gegensatz zu den « passiven Bauteilen », so wie die Resistenz oder der Kondensator, die nur zwei Elektroden besitzen (man spricht von « bipolär »).

Der Transistor MOS (Metall, Oxyd, Silizium) ist der meistverwendete Transistortyp für die Konzipierung von Schaltplatte. Der MOS-Transistor besteht aus zwei negativ geladenen Zonen, genannt Source (deren Potential fast gleich Null ist), bzw. Drain (mit einem Potential von 5V), getrennt durch eine positiv geladene Zone, genannt Substrat (auf englisch substrate). Über dem Substrat befindet sich eine Steuerelektrode, genannt Gate (aus dem Englischen gate, manchmal auch Gitter genannt), mit der eine Spannung auf das Substrat angewandt wird.

Transistor MOS



Wenn die Steuerelektrode nicht unter Spannung steht, wirkt das positiv geladene Substrat wie eine Barriere und hindert die Elektronen von der Source zum Drain zu wandern. Wenn allerdings das Gate unter Spannung steht, werden die positiven Ladungen des Substrates verdrängt und ein Verbindungskanal entsteht, der, negativ geladen, die Source und den Drain verbindet.

Transistor MOS



Der Transistor wirkt also insgesamt wie ein programmierbarer Schalter, dank der Steuerelektrode. Wenn die Elektrode unter Spannung steht, wirkt sie wie ein geschlossener Schalter, im gegenteiligen Fall wie ein offener Schalter.

integrierte Schaltkreise


Wenn sie zusammengesetzt sind, können Transistoren logische Schaltkreise bilden, welche, zusammengesetzt, wiederum Prozessoren bilden. Der erste integrierte Schaltkreis stammt von 1958 und ist von der Firma Texas Instruments entwickelt worden.

Die MOS Transistoren werden aus Siliziumscheiben hergestellt (genannt wafer, übersetzt Waffeln), die nach mehreren Behandlungen erhalten werden. Diese Siliziumscheiben werden dann in rechteckige Elemente geschnitten die dann sogenannt « Schaltkreise »bilden. Die Schaltkreise werden dann in Gehäuse gesetzt die Ein-/Ausgangssteckverbinder besitzen, und das Ganze bildet einen« integrierten Schaltkreis ». Die Feinheit der Gravierung, ausgedrückt in Mikron (Mikrometer, geschrieben µm), definiert die Anzahl der Transistoren pro Oberflächeneinheit. So kann es bis zu mehreren Millionen Transistoren auf einem einzigen Prozessor geben.

Das Mooresche Gesetz, 1965 von Gordon E. Moore formuliert, Mitgründer der Firma Intel, sagte voraus dass die Leistungen des Prozessors (und demnach auch die Anzahl der auf Silizium integrierten Transistoren) sich alle 12 Monate verdoppeln würde. Dieses Gesetz wurde 1975 korrigiert, und die Anzahl der Monate auf 18 erhöht. Das Mooresche Gesetz bestätigt sich noch heute.

Da das rechteckige Gehäuse Ein-/Ausgangsstifte besitzt, die Beinchen ähneln, wird im Französischen der Begriff « elektronischer Floh » geläufig verwendet, um integrierte Schaltkreise zu bezeichnen.

Familien


Jeder Prozessor-Typ besitzt seinen eigenen Befehlsvorrat. Man unterscheidet so die folgenden Prozessorfamilien, die jede einen Befehlsvorrat besitz, der ihr eigen ist :

  • 80x86 : das « x » vertritt die Familie. So spricht man von 386, 486, 586, 686, etc.
  • ARM
  • IA-64
  • MIPS
  • Motorola 6800
  • PowerPC
  • SPARC
  • ...



Dadurch wird verständlich, warum ein Programm, welches für einen Prozessortypen erstellt worden ist, nicht ohne weiteres auf einem System funktionieren kann, welches einen anderen Prozessortypen hat, es sei denn, es gibt eine Übersetzung der Instruktionen, genannt
Emulation. Der Begriff « Emulator » wird verwendet, um das Programm zu bezeichnen, dass diese Übersetzung ausführt.

Befehlsvorrat


Man nennt Befehlsvorrat die Gruppe elementarer Operationen die ein Prozessor ausführen kann. Der Befehlsvorrat eines Prozessors bestimmt so seine Architektur, wobei die gleiche Architektur, Herstellerabhängig, zu unterschiedlichen Implementationen führen kann.

Der Prozessor arbeitet tatsächlich mit einer begrenzten Anzahl an Funktionen, die direkt auf den elektronischen Schaltkreis gedrahtet sind. Die meisten Operationen können mit Hilfe von Basis-Funktionen realisiert werden. Manche Architekturen schließen jedoch auch hochentwickelte Funktionen gängig in den Prozessor ein.

CISC-Architektur


Die Architektur CISC (Complex Instruction Set Computer, oder « Computer mit komplexem Befehlsvorrat ») besteht darin im Prozessor komplexe Befehle zu verdrahten, die ab den Basis-Instruktionen schwer zu erstellen sind.

Die Architektur CISC wird insbesondere von dem Prozessortyp 80x86 verwendet. Dieser Architekturtyp hat einen hohen Kostenfaktor, wegen der hochentwickelten Funktionen die ins Silizium gedruckt sind.

Andererseits sind die Befehle von unterschiedlicher Länge und können manchmal mehr als nur einen Taktzyklus brauchen. Ein Prozessor der auf CISC-Architektur basiert, kann allerdings nur einen Befehl auf einmal bearbeiten, woraus sich eine nicht unerhebliche Ausführungszeit ergibt.

RISC-Architektur


Ein Prozessor der die Technologie RISC (Reduced Instruction Set Computer, oder « Computer mit begrenzten Befehlsvorrat ») benutzt, hat keine hochentwickelten verdrahteten Funktionen.

Die Programme müssen demnach in einfache Befehle übersetzt werden, wodurch die Entwicklung erschwert wird und/oder ein leistungsstärkerer Compiler gebraucht wird. Die Herstellungskosten einer solchen Architektur sind niedriger als die eines CISC-Prozessors. Außerdem werden die von Natur aus einfachen Befehle, in einem Taktzyklus ausgeführt, wodurch die Ausführung der Programme schneller wird, als mit den Prozessoren, die auf einer CISC-Architektur basieren. Zusätzlich sind solche Prozessoren in der Lage mehrere Befehle simultan, d.h. parallel zu bearbeiten.

Technologische Verbesserungen


Im Laufe der Jahre haben die Hersteller von Mikroprozessoren (auch Gründer genannt), eine gewisse Anzahl an Verbesserungen entwickelt, mit denen die Funktionsweise eines Prozessors optimiert wird.

Der Parallelismus


Der Parallelismus besteht darin simultan, auf verschiedenen Prozessoren, Befehle auszuführen, die das gleiche Programm betreffen. Ein Programm wird in mehrere Prozesse aufgeteilt, die parallel bearbeitet werden, um so an Ausführungszeit zu sparen.

Für diese Art Technologie sind allerdings Synchronisatin und Kommunikation zwischen den verschiedenen Prozessen nötig, so wie in einem Unternehmen die Aufgaben verteilt werden : die Arbeit wird in unterschiedliche Prozesse aufgeteilt, die von verschiedenen Abteilungen übernommen werden. Die Funktionsweise eines solchen Unternehmens kann stark gestört werden wenn die Kommunikation zwischen den Abteilungen nicht gut funktioniert.

Die Pipeline


Die Pipeline (oder Pipelining) ist eine Technologie die eine größere Ausführungsgeschwindigkeit ermöglichet, indem die Etappen parallel geschaltet werden.

Um den Mechanismus der Pipeline zu verstehen, muss man zuerst die Ausführungsphasen eines Befehls verstehen. Die Ausführungsphasen eines Befehls für einen Prozessor der eine « klassische » Pipeline mit 5 Etagen beinhaltet sind folgende :

  • FI : (Befehlsbereitstellung (auf englisch FETCH instruction ) ab dem Cachespeicher ;
  • DI : Decodierung des Befehl (DECODe instruction) und Operandenbereitstellung (Register oder unmittelbare Werte);
  • EX : Befehlsausführung (EXECute instruction) (bei ADD wird die Summe ermittelt, bei SUB wird abgezogen, etc.);
  • MEM : Speicherzugriff (MEMory access), schreiben im Speicher wenn nötig oder laden ab dem Speicher ;
  • ER : Schreiben (Write instruction) des errechneten Wertes in die Register.



Die Befehle "stehen Schlange" in dem Speicher und werden einer nach dem anderen geladen.

Dank der Pipeline, braucht die Informationsbearbeitung maximal die fünf genannten Etappen. Da die Reihenfolge dieser Etappen variabel ist (FI, DI, EX, MEM und ER), ist es möglich im Prozessor eine gewisse Anzahl an spezialisierten Schaltungen für jede dieser Phasen herzustellen.

Ziel der Pipeline ist es, in der Lage zu sein, jede Etappe parallel zu den vorhergehenden und folgenden zu absolvieren, d.h. einen Befehl lesen zu können (FI), während die vorhergehende decodiert wird (DI) und die davor in Ausführung ist (EX) und die die dieser vorausgeht auf den Speicher zugreift (MEM) und schließlich die erste der Serie schon in der Schreibphase in den Registern ist (ER).

pipeline à 5 étages



Man muss meist 1 bis 2 Taktzyklen (selten mehr) für jede Phase der Pipeline berechnen, d.h. maximal 10 Taktzyklen pro Befehl. Für zwei Befehle sind maximal 12 Taktzyklen nötig (10+2=12 anstatt 10*2=20), denn der vorhergehende Befehl ist schon in der Pipeline. Beide Befehle werden also im Prozessor bearbeitet, mit einer Zeitverschiebung von ein oder zwei Taktzyklen). Für 3 Befehle sind so 14 Taktzyklen notwendig, usw.

Das Prinzip der Pipeline ist damit mit dem einer Auto-Produktionskette vergleichbar. Die Autos gehen von einem Arbeitsplatz zum nächsten und folgen dabei die Montagekette et kommen vollständig zusammengesetzt aus der Halle. Um das Prinzip richtig zu verstehen, muss die Kette als Ganzes betrachtet werden, und nicht jedes Auto einzeln. So braucht man 3 Stunden um ein Auto zusammenzubauen, es wird jedoch ein Auto pro Minute produziert!

Es muss angemerkt werden, dass es verschiedene Pipeline-Typen gibt, mit 2 bis 40 Etagen, das Prinzip aber bleibt das gleiche.

Superskalar-Technologie


Die Technologie Superskalar ( auf englisch superscaling) besteht darin mehrere Bearbeitungseinheiten parallel aufzustellen, um so mehrere Befehle pro Zyklus bearbeiten zu können.

HyperThreading


Die Technologie HyperThreading (oder Hyper-Threading, geschrieben HT, zu übersetzen mit HyperFluss ou HyperFlux) besteht darin zwei logische Prozessoren in einem physischen Prozessor zu definieren. So erkennt das System zwei physische Prozessoren und verhält sich als Mehrfadensystem und schickt zwei Threads gleichzeitig, man spricht dann von SMT (Simultaneous Multi Threading). Diese « Gauklerei » ermöglicht es die Ressourcen des Prozessors besser auszunutzen, indem garantiert wird, dass ihm Daten in großen Mengen geschickt werden.

Ressourcen zum gleichen Thema


  • Meinungen der Gemeinschaft und Merkmale von Prozessoren auf Kioskea.

Lesen Sie auch :


Processor
Processor
Procesador
Procesador
Processeur
Processeur
Processore
Processore
Microprocessador
Microprocessador
Das Dokument mit dem Titel « Prozessor » aus CCM (de.ccm.net) wird zur Verfügung gestellt unter den Bedingungen der Creative Commons Lizenz. Sie dürfen das Dokument verwenden, verändern sowie Vervielfältigungen dieser Seite erstellen, unter den Bedingungen, die in der vorgenannten Lizenz erwähnt sind und unter der gleichzeitigen Bedingung, dass Sie im Rahmen Ihrer Verwendung, Veränderung oder Vervielfältigung nach außen hin klar und deutlich auf den Urheber (= de.ccm.net) des Dokuments hinweisen.