Funktionsweise: Mikroprozessor

Sie verwenden derzeit einen Computer oder ein mobiles Gerät, um diesen Thread zu lesen. Der Computer oder das mobile Gerät verwendet einen Mikroprozessor, um diese Aktionen auszuführen. Der Mikroprozessor ist das Herzstück jedes Geräts, Servers oder Laptops. Es gibt viele Marken von Mikroprozessoren von vielen verschiedenen Herstellern, aber sie alle machen so ziemlich das Gleiche und auf die gleiche Weise.

Mikroprozessor- auch bekannt als Prozessor oder Zentraleinheit, ist eine Rechenmaschine, die auf einem einzigen Chip hergestellt wird. Der erste Mikroprozessor war der Intel 4004, der 1971 erschien und nicht so leistungsfähig war. Er konnte addieren und subtrahieren, und das waren nur 4 Bits auf einmal. Der Prozessor war erstaunlich, weil er auf einem einzigen Chip hergestellt wurde. Sie werden fragen, warum? Und ich werde antworten: Ingenieure stellten damals Prozessoren entweder aus mehreren Chips oder aus diskreten Komponenten her (Transistoren wurden in separaten Gehäusen verwendet).

Wenn Sie sich jemals gefragt haben, was ein Mikroprozessor in einem Computer macht, wie er aussieht oder wie er sich von anderen Arten von Mikroprozessoren unterscheidet, dann gehen Sie unter Kat- dort alle interessantesten und Details.

Mikroprozessor-Fortschritt: Intel

Der erste Mikroprozessor, der später zum Herzstück eines einfachen Heimcomputers wurde, war der 1974 erschienene Intel 8080, ein vollständiger 8-Bit-Computer auf einem einzigen Chip. Der erste Mikroprozessor sorgte für einen regelrechten Marktschub. Später im Jahr 1979 wurde ein neues Modell herausgebracht - Intel 8088. Wenn Sie mit dem PC-Markt und seiner Geschichte vertraut sind, wissen Sie, dass sich der PC-Markt von Intel 8088 zu Intel 80286 und dann zu Intel 80386 und Intel 80486 bewegt hat dann zu Pentium, Pentium II, Pentium III und Pentium 4. Diese Mikroprozessoren werden alle von Intel hergestellt und sind alle Verbesserungen des grundlegenden Designs des Intel 8088. Der Pentium 4 kann jeden Code ausführen, aber er macht es 5000-mal schneller .

Im Jahr 2004 führte Intel Mikroprozessoren mit mehreren Kernen und einer Million Transistoren ein, aber selbst diese Mikroprozessoren folgten denselben allgemeinen Regeln wie zuvor hergestellte Chips. Zusätzliche Informationen in der Tabelle:

  • Datum: ist das Jahr, in dem der Prozessor erstmals vorgestellt wurde. Viele Prozessoren wurden mit höheren Taktraten erneut veröffentlicht, und dies dauerte viele Jahre nach dem ursprünglichen Veröffentlichungsdatum.
  • Transistoren: ist die Anzahl der Transistoren auf einem Chip. Sie können sehen, dass die Anzahl der Transistoren auf einem einzelnen Chip im Laufe der Jahre stetig zugenommen hat.
  • Mikron: Breite in Mikron des kleinsten Drahtes auf dem Chip. Zum Vergleich kann ich ein menschliches Haar angeben, das eine Dicke von etwa 100 Mikrometer hat. Als die Größen immer kleiner wurden, nahm die Anzahl der Transistoren zu.
  • Taktfrequenz: Die maximale Geschwindigkeit, die der Chip erreichen kann. Ich werde etwas später über die Taktfrequenz sprechen.
  • Breite (Bus) Daten: ist die Breite der ALU (Arithmetic Logic Unit). Eine 8-Bit-ALU kann addieren, subtrahieren, multiplizieren usw. In vielen Fällen hat der Datenbus die gleiche Breite wie die ALU, aber nicht immer. Der Intel 8088 war 16-Bit und hatte einen 8-Bit-Bus, während aktuelle Pentium-Modelle 64-Bit sind.
  • MIPS: Diese Spalte in der Tabelle steht für die Anzeige der Anzahl der Operationen pro Sekunde. Es ist eine Maßeinheit für Mikroprozessoren. Moderne Prozessoren können so viele Dinge, dass die heutigen Werte in der Tabelle alle Bedeutung verlieren. Aber man spürt die relative Leistungsfähigkeit der damaligen Mikroprozessoren
Diese Tabelle zeigt, dass im Allgemeinen eine Beziehung zwischen Taktgeschwindigkeit und MIPS (Operationen pro Sekunde) besteht. Die maximale Taktrate ist eine Funktion des Fertigungsprozessors. Es besteht auch eine Beziehung zwischen der Anzahl der Transistoren und der Anzahl der Operationen pro Sekunde. Beispielsweise führt ein mit 5 MHz getakteter Intel 8088 (derzeit 2,5-3 GHz) nur 0,33 MIPS aus (etwa eine Anweisung pro 15 Taktzyklen). Moderne Prozessoren können oft zwei Befehle pro Takt ausführen. Dieser Anstieg hängt direkt mit der Anzahl der Transistoren auf dem Chip zusammen, und auch darauf werde ich später noch eingehen.

Was ist ein Chip?

Der Chip wird auch als integrierter Schaltkreis bezeichnet. Dies ist normalerweise ein kleines, dünnes Stück Silizium, auf dem die Transistoren eingraviert sind, aus denen der Mikroprozessor besteht. Ein Chip kann so klein wie ein Zoll sein, aber dennoch Millionen von Transistoren enthalten. Einfachere Prozessoren können aus mehreren tausend Transistoren bestehen, die in einen Chip von nur wenigen Quadratmillimetern geätzt sind.

Wie es funktioniert


Intel-Pentium 4


Um zu verstehen, wie ein Mikroprozessor funktioniert, wäre es hilfreich, einen Blick in sein Inneres zu werfen und mehr über sein Inneres zu erfahren. Dabei können Sie auch etwas über die Assemblersprache lernen, die Muttersprache des Mikroprozessors, und vieles, was Ingenieure tun können, um die Geschwindigkeit eines Prozessors zu erhöhen.

Der Mikroprozessor führt eine Sammlung von Maschinenanweisungen aus, die dem Prozessor mitteilen, was er tun soll. Basierend auf Anweisungen führt der Mikroprozessor drei Hauptaufgaben aus:

  • Mit seiner ALU (Arithmetic Logic Unit) kann der Mikroprozessor mathematische Operationen durchführen. Zum Beispiel Addition, Subtraktion, Multiplikation und Division. Moderne Mikroprozessoren sind in der Lage, äußerst komplexe Operationen auszuführen.
  • Der Mikroprozessor kann Daten von einer Speicherstelle zu einer anderen verschieben
  • Der Mikroprozessor kann Entscheidungen treffen und basierend auf diesen Entscheidungen zu einem neuen Satz von Anweisungen springen.

Um es ganz klar auszudrücken, der Mikroprozessor erledigt komplexe Dinge, aber oben habe ich drei Hauptaktivitäten beschrieben. Das folgende Diagramm zeigt einen sehr einfachen Mikroprozessor, der diese drei Dinge tun kann. Dieser Mikroprozessor hat:

  • Adressbus (8, 16 oder 32 Bit), der den Speicherzugriff sendet
  • Datenbus (8, 16 oder 32 Bit), der Daten an den Speicher sendet oder Daten von ihm empfängt
  • RD (read, read) und WR (write, write) teilen dem Speicher mit, ob sie die adressierte Stelle setzen oder holen wollen
  • Clock-Zeile, mit der Sie die Taktfolge des Prozessors anzeigen können
  • Reset-Zeile, die den Programmzähler auf Null zurücksetzt und die Ausführung neu startet

Mikroprozessorspeicher

Zuvor haben wir über Adress- und Datenbusse sowie Lese- und Schreibleitungen gesprochen. All dies ist entweder mit RAM (Random Access Memory) oder ROM (Read Only Memory oder Read Only Memory, ROM) verbunden - normalerweise beides. In unserem Beispiel-Mikroprozessor haben wir einen breiten Adressbus von 8 Bits und den gleichen breiten Datenbus – ebenfalls 8 Bits. Das bedeutet, dass der Mikroprozessor auf 2^8 bis 256 Byte Speicher zugreifen und 8 Bit Speicher gleichzeitig lesen und schreiben kann. Nehmen wir an, dass dieser einfache Mikroprozessor 128 Byte internen Speicher ab Adresse 0 und 128 Byte RAM ab Adresse 128 hat.

RAM steht für Nur-Lese-Speicher. Der Permanentspeicherchip ist mit permanent voreingestellten voreingestellten Bytes programmiert. Die Busadresse teilt dem RAM-Chip mit, welches Byte erreicht und auf den Datenbus gesetzt werden soll. Wenn die Leseleitung den Zustand ändert, präsentiert der ROM-Chip das ausgewählte Byte dem Datenbus.

RAM steht für RAM, haha. RAM enthält ein Informationsbyte, und der Mikroprozessor kann diese Bytes lesen oder schreiben, je nachdem, ob die Lese- oder Schreibleitung signalisiert. Eines der Probleme heutiger Chips ist, dass sie alles vergessen, sobald die Energie weg ist. Daher muss der Computer über RAM verfügen.


RAM-Chip oder Read Only Memory (ROM)-Chip


Übrigens enthalten fast alle Computer eine gewisse Menge an RAM. Auf einem PC wird der Nur-Lese-Speicher BIOS (Basic Input/Output System) genannt. Beim Start beginnt der Mikroprozessor mit der Ausführung der Anweisungen, die er im BIOS findet. Übrigens erfüllen auch BIOS-Anweisungen ihre Aufgaben: Sie führen eine Hardwareprüfung durch, und dann gehen alle Informationen auf die Festplatte, um einen Bootsektor zu erstellen. Der Bootsektor ist ein kleines Programm, und das BIOS hält es im Speicher, nachdem es von der Festplatte gelesen wurde. Der Mikroprozessor beginnt dann mit der Ausführung der Bootsektoranweisungen aus dem RAM. Das Bootsektorprogramm teilt dem Mikroprozessor mit, was er sonst noch von der Festplatte in den Arbeitsspeicher mitnehmen soll, und dann erledigt er all das und so weiter. Auf diese Weise lädt der Mikroprozessor das gesamte Betriebssystem und führt es aus.

Mikroprozessoranweisungen

Sogar der unglaublich einfache Mikroprozessor, den ich gerade beschrieben habe, wird einen ziemlich großen Satz von Anweisungen haben, die er ausführen kann. Die Befehlssammlung wird als Bitmuster implementiert, von denen jedes eine andere Bedeutung hat, wenn es in den Befehlssektor geladen wird. Die Leute erinnern sich nicht besonders gut an Bitmuster, da es sich um eine Sammlung kurzer Wörter handelt. Übrigens wird dieser Satz kurzer Wörter als Prozessor-Assembler-Sprache bezeichnet. Der Assembler kann Wörter sehr einfach in ein Bitmuster übersetzen, und dann wird die Anstrengung des Assemblers in den Speicher gestellt, damit der Mikroprozessor sie ausführen kann.

Hier ist eine Reihe von Anweisungen in Assemblersprache:

  • LADEN Speicher- in Register mit Speicheradresse laden
  • LOADB mem- Laden in Register B von der Speicheradresse
  • CONB-Speicher- einen konstanten Wert in Register B laden
  • SAVEB mem- Register B an Speicheradresse speichern
  • SAVEC Speicher- Register C an Speicheradresse speichern
  • HINZUFÜGEN- Addiere A und B und speichere das Ergebnis in C
  • SUB- Subtrahiere A und B und speichere das Ergebnis in C
  • MUL- A und B multiplizieren und das Ergebnis in C speichern
  • DIV- Teilen Sie A und B und speichern Sie das Ergebnis in C
  • KOM- Vergleichen Sie A und B und speichern Sie das Ergebnis im Test
  • SPRUNG-Adr- zur Adresse gehen
  • JEQ-Adr- Springen, wenn gleich lösen
  • JNEQ-Adr- Springen, wenn nicht gleich lösen
  • JG Adr- Wenn mehr springen, lösen
  • JGE Adr- Springen, wenn größer als oder gleich zu lösen
  • JL-Adr- Springen, wenn weniger zu lösen
  • JLE-Adr- Springen, wenn kleiner oder gleich zu lösen
  • HALT- Ausführung stoppen
Assemblersprache
Der C-Compiler übersetzt diesen C-Code in die Assemblersprache. Unter der Annahme, dass der Hauptspeicher in diesem Prozessor bei Adresse 128 beginnt und der Nur-Lese-Speicher (der das Assembler-Programm enthält) bei Adresse 0 beginnt, dann könnte der Assembler für unseren einfachen Mikroprozessor wie folgt aussehen:

// Angenommen, a ist auf Adresse 128 // Angenommen, F ist auf Adresse 1290 CONB 1 // a=1;1 SAVEB 1282 CONB 1 // f=1;3 SAVEB 1294 LOADA 128 // wenn a > 5 der Sprung zu 175 CONB 56 COM7 JG 178 LOADA 129 // f=f*a;9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a=a+1;13 CONB 114 ADD15 SAVEC 12816 JUMP 4 // Schleife zurück zu if17 STOP

Nur-Lese-Speicher (ROM)
Die Frage lautet nun also: "Wie integrieren sich all diese Anweisungen in das ROM?". Ich erkläre es natürlich: Jede dieser Anweisungen in Assemblersprache muss als Binärzahl dargestellt werden. Nehmen wir der Einfachheit halber an, dass sich jeder Assemblerbefehl selbst eine eindeutige Nummer zuweist. Zum Beispiel wird es so aussehen:

  • LADE - 1
  • LADEDB - 2
  • KONB - 3
  • SPEICHERNB - 4
  • SAVEC Speicher - 5
  • HINZUFÜGEN - 6
  • SUB - 7
  • MUL - 8
  • DIV - 9
  • KOM - 10
  • SPRUNG-Adr - 11
  • JEQ-Adr - 12
  • JNEQ-Adr - 13
  • JG Adr - 14
  • JGE Adr - 15
  • JL-Adr - 16
  • JLE-Adr - 17
  • HALT - 18
Diese Nummern werden als Operationscodes bezeichnet. Im ROM sieht unser kleines Programm so aus:

// Angenommen a ist an Adresse 128 // Angenommen F ist an Adresse 129Addr opcode/value0 3 // CONB 11 12 4 // SAVEB 1283 1284 3 // CONB 15 16 4 // SAVEB 1297 1298 1 // LOADA 1289 12810 3 // CONB 511 512 10 // COM13 14 // JG 1714 3115 1 // LOADA 12916 12917 2 // LOADB 12818 12819 8 // MUL20 5 // SAVEC 12921 12922 1 // LOADA 12823 12824 3 // CONB6 125 // ADD27 5 // SAVEC 12828 12829 11 // SPRUNG 430 831 18 // STOP

Sie sehen, dass aus 7 Zeilen C-Code 18 Zeilen Assembler wurden und dass alle 32 Bytes im ROM wurden.

Dekodierung
Der Dekodierbefehl muss jeden der Opcodes in einen Satz von Signalen umwandeln, die verschiedene Komponenten innerhalb des Mikroprozessors steuern. Nehmen wir als Beispiel die ADD-Anweisungen und sehen, was sie zu tun haben. So:

  • 1. Im ersten Zyklus muss der Befehl selbst geladen werden, daher muss der Decoder: den Puffer für den Programmzähler mit drei Zuständen aktivieren, die Leseleitung (RD) aktivieren, die Daten in den drei Zuständen aktivieren Puffer im Befehlsregister
  • 2. Im zweiten Zyklus wird der ADD-Befehl decodiert. Hier müssen Sie nur sehr wenig tun: Stellen Sie die Operation der arithmetischen Logikeinheit (ALU) auf Register C
  • 3. Während des dritten Zyklus wird der Programmzähler inkrementiert (theoretisch kann sich dies im zweiten Zyklus überschneiden)
Jede Anweisung kann in eine Reihe aufeinanderfolgender Operationen unterteilt werden, wie wir sie gerade betrachtet haben. Sie manipulieren die Mikroprozessorkomponenten in der richtigen Reihenfolge. Einige Befehle, wie zum Beispiel der ADD-Befehl, können zwei oder drei Zyklen dauern. Andere nehmen vielleicht fünf oder sechs Riegel.

Kommen wir zum Ende

Die Anzahl der Transistoren hat einen großen Einfluss auf die Prozessorleistung. Wie Sie oben sehen können, könnte ein typischer Intel 8088-Mikroprozessor 15 Zyklen ausführen. Je mehr Transistoren, desto höher die Leistung - ganz einfach. Eine große Anzahl von Transistoren ermöglicht auch Technologien wie Pipelining.

Die Pipeline-Architektur besteht aus der Ausführung von Befehlen. Es kann fünf Zyklen dauern, um einen Befehl auszuführen, aber es können nicht fünf Befehle gleichzeitig in unterschiedlichen Ausführungsstufen sein. Es sieht also so aus, als ob eine Anweisung jeden Taktzyklus vervollständigt.

All diese Trends lassen die Zahl der Transistoren wachsen, was zu den heute erhältlichen Transistor-Schwergewichten im Wert von mehreren Millionen Dollar führt. Solche Prozessoren können etwa eine Milliarde Operationen pro Sekunde ausführen - stellen Sie sich das vor. Übrigens interessieren sich jetzt viele Hersteller für die Veröffentlichung von 64-Bit-Mobilprozessoren, und offensichtlich kommt die nächste Welle, nur dass diesmal die 64-Bit-Architektur der König der Mode ist. Vielleicht komme ich in naher Zukunft zu diesem Thema und erzähle Ihnen, wie es tatsächlich funktioniert. Dazu vielleicht alles für heute. Ich hoffe es hat euch gefallen und ihr habt viel gelernt.

2022 wisemotors.com. Wie es funktioniert. Eisen. Bergbau. Kryptowährung.