Try our cookies Alza.cz a. s., Company identification number 27082440, use cookies and other data to ensure the proper functioning of the website and, with your consent, also, among other things, to personalize advertising and the content of our websites. By clicking on the “I understand“ button, you agree to the use of cookies and the transfer of data regarding the behavior on the website for displaying targeted advertising on social networks and advertising networks on other websites.
Alzak icon

Was sind Prozessorarchitekturen?

Die dritte große Prozessorarchitektur kommt • • Autor: Michal Rybka

Willkommen zum ersten Teil unserer zehnteiligen Serie über die Prozessorarchitektur RISC-V, die eine offene und flexible Alternative zu den dominierenden Architekturen x86 und ARM darstellt. Bevor wir uns jedoch auf die Besonderheiten von RISC-V konzentrieren, ist es wichtig zu verstehen, was Prozessorarchitekturen sind, wie sie funktionieren und warum sie für die moderne Computertechnik von entscheidender Bedeutung sind. In diesem einleitenden Teil konzentrieren wir uns daher auf die Grundlagen der Prozessorarchitekturen, ihre Entwicklung, ihre Prinzipien und die Gründe, warum einige dominant wurden und andere verschwanden. Dieser Kontext wird uns helfen, die Einzigartigkeit von RISC-V besser zu verstehen.

XXX

RISC-V-Architektur?

Die heutige Technologiewelt wird von zwei Hauptfamilien von Prozessorarchitekturen dominiert: x86, der wir hauptsächlich im Bereich der Personal Computer begegnen und wo die überwiegende Mehrheit der Prozessoren von den Unternehmen Intel und AMD hergestellt wird, und ARM, die den Rest der Welt dominiert, von Prozessoren für Mobiltelefone (SoC, System-on-a-Chip) bis hin zu Prozessoren, die zu Tausenden in Rechenzentren eingesetzt werden. Dieses Gleichgewicht, das zu Beginn des Sommers 2024 durch die Einführung leistungsstarker Notebooks mit Snapdragon-Prozessoren und Windows on ARM gestört wurde, wird bald durch die Ankunft einer dritten Architektur erneut ins Wanken geraten: RISC-V. Diese Architektur ist völlig neu – und da sie unter die Open Architecture fällt, ist sie offen und für Hardwarehersteller völlig kostenlos verfügbar.

Das RISC-V-Projekt ist relativ jung, hat sich aber bereits von der Entwurfsphase zu den ersten Generationen realer Hardware weiterentwickelt, die für die Entwicklung und das Prototyping zukünftiger Produkte verwendet wird. Aufgrund der internationalen politischen Lage ist auch China an der Entwicklung von Produkten mit RISC-V-Prozessoren interessiert und investiert erhebliche Mittel sowohl in die Entwicklung von Prozessoren mit dieser Architektur als auch in die Entwicklung von Betriebssystemen und Anwendungsentwicklungstools für die neue Hardware. In dieser Miniserie werden wir erklären, was RISC-V eigentlich ist, wie es im Vergleich zu aktuellen Architekturen abschneidet und warum es für chinesische Hersteller so attraktiv ist. Ein CPU Vergleich beziehungsweise Prozessor Vergleich zeigt dabei besonders deutlich, wie unterschiedlich die einzelnen Architekturen aufgebaut sind und welche Schwerpunkte sie setzen.

Was ist CPU? Was ist ein Prozessor? Grundlagen der Prozessorarchitekturen

Die CPU, also der Prozessor, ist die grundlegende Einheit eines Computers, die ihn steuert. Der Prozessor wird durch Programme gesteuert, die heute sogar von künstlicher Intelligenz generiert werden können, typischerweise aber von Programmierern in höheren Programmiersprachen geschrieben werden. Diese Programme werden in die einzige Sprache übersetzt, die der Prozessor selbst „versteht“: den Maschinencode. Der Maschinencode eines Prozessors besteht aus Befehlen, die den Befehlssatz (ISA, Instruction Set Architecture) bilden – dieser ist eng mit den Steuerstrukturen des Prozessors und seiner Architektur im Allgemeinen verbunden.

Es gibt eine Vielzahl von Prozessorarchitekturen, die unterschiedliche Philosophien verfolgen. In der Vergangenheit waren bei Programmierern sogenannte speicherorientierte Architekturen sehr beliebt, bei denen der Prozessor nur über minimalen eigenen Speicher zum Speichern von Zwischenergebnissen (Registern) verfügte und stattdessen direkt mit dem Speicherinhalt arbeitete. Der Prozessor las beispielsweise die Eingabedaten an den Adressen, die der Programmierer ihm vorgegeben hatte, und schrieb das Ergebnis an die durch die erste Adresse vorgegebene Stelle. Dieser Ansatz ermöglichte es, sehr eleganten Code zu schreiben, aber im Laufe der Entwicklung stieg die Geschwindigkeit der Prozessoren im Vergleich zum Speicher erheblich an, und dieser Ansatz wurde sehr langsam.

Load-Store-Architektur und der moderne Ansatz

Heute wird die sogenannte Load-Store-Architektur verwendet, bei der der Prozessor mit einem ganzen Satz interner Register arbeitet, in die er Daten aus dem Hauptspeicher mit Leseanweisungen (Load) lädt und sie dort mit Schreibanweisungen (Store) speichert. Diese scheinbare Komplikation hat den entscheidenden Vorteil, dass es sich um Befehle für das unabhängige Speichersubsystem des Prozessors handelt. Dieses weiß, dass Daten gelesen oder geschrieben werden, und kann diese Operationen optimieren. Beispielsweise kann es das Lesen im Voraus durchführen und auch die Datenkonsistenz im Zwischenspeicher (Cache) verwalten.

Während früher Prozessoren mit minimalem Design als elegant galten, wird heute die Gesamtleistung bevorzugt – und damit auch ein relativ komplexes System zur Optimierung der Befehlsreihenfolge und deren Verteilung auf einzelne Prozessoreinheiten. Wie der Prozessor diese Operationen ausführt, ist genau eine Frage seiner Architektur. Prozessorarchitekturen sind voller Kompromisse, und ihre Optimierung sowie die Auswahl der Befehle sind keine einfache Angelegenheit. Um effizient zu sein, müssen Prozessoren aus Gründen der Abwärtskompatibilität zudem auch ältere Befehle unterstützen.

Moderne Prozessoren müssen nicht nur klassische Befehle unterstützen, sondern auch spezialisierte Befehle, die beispielsweise bei der Verarbeitung von Video, Audio oder neuerdings auch künstlicher Intelligenz helfen. Diese Befehle steuern spezialisierte Einheiten innerhalb des Prozessors, aber das ist noch nicht alles. Moderne Prozessoren müssen sich auch um die Sicherheit kümmern, also um die Rechte einzelner Programme, nur auf den Teil des Speichers zuzugreifen, der ihnen gestattet wurde, um den Schutz des Betriebssystemkerns oder um die Beschleunigung der Kryptografie. Die Kryptografie ermöglicht es, Daten in kryptografisch geschützter Form auf der Festplatte oder im Arbeitsspeicher des Computers zu speichern.

Die Entwicklung bedeutender Familien von Prozessorarchitekturen bestand die meiste Zeit über aus dem Experimentieren mit neuen Befehlen und deren Bedeutung für Betriebssysteme. Es wurde untersucht, wie Befehle decodiert und ihre Ausführung optimiert werden können – und oft wurde die Trial-and-Error-Methode angewendet. Mit dem Hinzufügen neuer Funktionen und Befehle kam es auch vor, dass sich einige als nutzlos erwiesen und entfernt wurden (veraltete, eingestellte Befehle). Eine Liste davon finden Sie beispielsweise auf Wikipedia. Wenn der Prozessor die Aufgabe erhält, einen ihm unbekannten Befehl zu verarbeiten, löst er eine UD-Ausnahme (UnDefined instruction) aus, was typischerweise zur Beendigung des laufenden Programms führt.

Versteckte Befehle und Mikrocode

Neben veralteten Befehlen gibt es auch „geheime“ oder vielmehr undokumentierte Befehle. Diese tauchten bereits bei alten Prozessoren wie dem Zilog Z80A (1977) auf. Manchmal handelte es sich um unvollendete Befehle, experimentelle Befehle oder Befehle, die ihre geplante Funktion nicht richtig erfüllten, sodass sie nicht in den offiziellen Befehlssatz aufgenommen wurden.

Heute gibt es auch undokumentierte Befehle, die manchmal zur Bedienung des Prozessors selbst dienen, beispielsweise zur Manipulation seines eigenen internen Mikrocodes, wie Hacker im Jahr 2020 bei Intel-Prozessoren entdeckten. Diese Befehle sind nicht öffentlich dokumentiert, da sie nicht für Anwendungsprogrammierer bestimmt sind. Hacker haben jedoch verständlicherweise Freude an ihrer Entdeckung. Die Prozessorhersteller schützen diese Geheimnisse natürlich, da die Möglichkeit, den Mikrocode von Prozessoren zu ändern, entscheidend für die Behebung von Prozessorfehlern aus der Ferne ist.

4.9 515×
Watch Price/Availability
AMD Ryzen 7 5800X
CPU - 8-core, 16 threads, 3.8GHz (TDP 105W), Boost 4.7 GHz, 32MB L3 cache, Without integrated graphics chip, socket AMD AM4 , Vermeer, cooler not included
  210.90 €
Buy
In stock > 5 pcs
Order Code: BD750j13
4.9 523×
Watch Price/Availability
AMD Ryzen 7 7800X3D
CPU - 8-core, 16 threads, 4.2GHz (TDP 120W), Turboboost 5GHz, Boost 5 GHz, 96MB L3 cache, AMD Radeon Graphics 2200MHz, socket AMD AM5, Raphael
Discounted -2 % 335.90 € 344.90 €
Buy
In stock > 5 pcs
Order Code: BD750k7a1
4.8 126×
Watch Price/Availability
Intel Core i7-12700KF
CPU - 12-core, 20 threads, 3.6GHz (TDP 125W), Turboboost 5GHz, Boost 5 GHz, 25MB L3 cache, socket Intel 1700, Alder Lake-S
  292.90 €
Buy
In stock > 5 pcs
Order Code: BOi712700kf
Print
P-DC1-WEB20

Sicheres Einkaufen Wir bieten einen zusätzlichen 60-tägigen Rückgabeservice auf die meisten Produkte an More info »