www.wikidata.de-de.nina.az
CPU ist eine Weiterleitung auf diesen Artikel Weitere jeweilige Bedeutungen sind unter CPU Begriffsklarung und Prozessor Begriffsklarung aufgefuhrt Dieser Artikel oder Abschnitt bedarf einer grundsatzlichen Uberarbeitung Keine saubere Differenzierung des Begriffs Prozessor von Mikroprozessor und Hauptprozessor Bitte hilf mit ihn zu verbessern und entferne anschliessend diese Markierung Ein Prozessor ist ein meist stark verkleinertes und meist frei programmierbares Rechenwerk also eine Maschine oder eine elektronische Schaltung die gemass ubergebenen Befehlen andere Maschinen oder elektrische Schaltungen steuert und dabei einen Algorithmus Prozess vorantreibt die Datenverarbeitungen beinhalten Der weitere Artikel beschreibt ausschliesslich diese Bedeutung am Beispiel des Prozessors eines Computers Am bekanntesten sind Prozessoren als Hauptprozessor Zentrale Recheneinheit Zentraleinheit oder Zentrale Verarbeitungseinheit kurz ZVE englisch central processing unit kurz CPU fur Computer oder computerahnliche Gerate in denen sie Befehle ausfuhren Am weitesten verbreitet sind Prozessoren heutzutage als integrierte Schaltungen in Form von Mikroprozessoren und Mikrocontroller in eingebetteten Systemen etwa in Waschmaschinen Ticketautomaten DVD Spielern Smartphones usw Das Die eines Intel 80486DX2 Inhaltsverzeichnis 1 Begriffsverstandnis 1 1 Ubertragene Bedeutungen des Begriffs CPU 2 Grundlegende Informationen 3 Historische Entwicklung 4 Aufbau Funktionale Einheiten 4 1 Hauptprozessor CPU und Prozessorkern 4 2 Steuer bzw Leitwerk 4 3 Rechenwerk und Register 4 4 Datenleitungen 4 5 Caches und MMU 5 Verarbeitung eines einzelnen Befehls 6 Verschiedene Architekturen 7 Befehlssatz 8 Funktionsweise 9 Steuerung 9 1 Symbolische Maschinenbefehle 9 2 Binare Maschinenbefehle 10 Befehlsbearbeitung 11 Adressierungsarten 11 1 Registeradressierung 11 2 Einstufige Adressierung 11 3 Zweistufige Adressierung 12 Leistungsmerkmale 12 1 Wortbreite 12 2 Prozessortakt 13 Anwendungsbereich 14 Siehe auch 15 Literatur 16 Weblinks 17 EinzelnachweiseBegriffsverstandnis BearbeitenIm fruheren Sprachgebrauch wurde unter dem Begriff Prozessor sowohl das Bauteil verstanden ein Halbleiter Chip in einem Plastikgehause der mit seinen Beinchen in einen Sockel eingesteckt wird als auch eine datenverarbeitende Logik Einheit Heutzutage besitzen jedoch viele Mikroprozessoren mehrere sogenannte Prozessorkerne wobei jeder Kern fur sich eine weitgehend eigenstandige Logik Einheit darstellt Unter dem Begriff Prozessor wird heute im Allgemeinen das Bauteil verstanden ist die datenverarbeitende Logik Einheit gemeint wird meist vom Prozessorkern gesprochen Ubertragene Bedeutungen des Begriffs CPU Bearbeiten Der Begriff CPU wird umgangssprachlich auch in anderem Kontext fur Zentraleinheit ZE benutzt hierbei kann dies fur einen zentralen Hauptrechner ein kompletter Computer stehen an dem einzelne Terminal Arbeitsstationen angeschlossen sind Teilweise wird der Begriff auch als Metapher benutzt bei Computerspielen zum Beispiel als Ein Spiel gegen die CPU Grundlegende Informationen BearbeitenHauptbestandteile eines Prozessor kern s sind das Rechenwerk insbesondere die arithmetisch logische Einheit ALU sowie das Steuerwerk inkl Adresswerk 1 2 Daruber hinaus enthalten sie meist mehrere Register und einen Speichermanager engl Memory Management Unit MMU der den Arbeitsspeicher verwaltet Zu den zentralen Aufgaben des Prozessors gehoren die Abarbeitung des Maschinenprogramms arithmetische und logische Operationen zur Verarbeitung von Daten aus internen oder externen Quellen beispielsweise dem Arbeitsspeicher Neben diesen Hauptbestandteilen die die Grundfunktionen bereitstellen kann es weitere Recheneinheiten geben die spezialisierte Funktionen zur Verfugung stellen und den eigentlichen Prozessor entlasten sollen diese Einheiten werden meist als Koprozessor bezeichnet Beispiele hierfur sind der bis in die 1990er Jahre separate mathematische Koprozessor fur Gleitkommaoperationen die Gleitkommaeinheit sowie Grafik und Soundprozessoren In diesem Zusammenhang wird der zentrale Prozessor mit seinen im vorhergehenden Absatz beschriebenen Grundfunktionen auch als Hauptprozessor oder kurz mit der englischen Abkurzung als CPU bezeichnet Weitere Synonyme sind Zentrale Verarbeitungseinheit kurz ZVE oder auch Zentraleinheit Die moderne Form des Prozessors ist der Mikroprozessor der alle Bausteine des Prozessors in einem integrierten Schaltkreis Mikrochip vereinigt Moderne Prozessoren fur Desktop Computer und Notebooks aber auch fur Smartphones und Tabletcomputer sind oft Mehrkernprozessoren mit zwei vier oder mehr Prozessorkernen Die Prozessorkerne sind hierbei oft eigenstandige Prozessoren mit Steuer Leitwerk und Rechenwerk auf einem Chip Beispiele hierfur sind der Intel core i9 13900k der Ryzen 9 5950X oder der Snapdragon 8 Gen 2 Eine klare Abgrenzung der Begriffe Prozessor Hauptprozessor CPU und Prozessorkern ist in der Literatur nicht zu finden siehe Abschnitt Hauptprozessor CPU und Prozessorkern Prozessoren werden oft im Bereich der eingebetteten Systeme englisch embedded systems eingesetzt zur Steuerung von Haushaltsgeraten Industrieanlagen Unterhaltungselektronik usw In Grossrechnern englisch mainframes wurden fruher meist herstellereigene Prozessorarchitekturen verwendet wie etwa bei IBM PowerPC Cell Prozessor oder SUN SPARC Prozessor heute werden uberwiegend angepasste Versionen der verbreiteten PC Prozessormodelle verwendet Prozessoren fur eingebettete Systeme machen etwa 95 Prozent des Prozessormarkts aus wobei davon 90 Prozent sogenannte Mikrocontroller sind die neben dem eigentlichen Prozessor weitere Funktionen zum Beispiel spezielle Hardwareschnittstellen oder direkt integrierte Sensoren enthalten Nur etwa 5 Prozent werden in PCs Workstations oder Servern eingesetzt 3 Historische Entwicklung Bearbeiten Thomson TS68000 entspricht dem Motorola MC68000 mit 7 16 MHz aus einem Amiga Motorola PowerPC G4 CPUIn den 1940er Jahren wurden die vormals rein mechanischen Rechenwerke durch Computer aus Relais und mechanischen Bauelementen abgelost Die ZUSE Z3 gilt als der erste funktionsfahige Digitalrechner weltweit und wurde im Jahr 1941 von Konrad Zuse in Zusammenarbeit mit Helmut Schreyer in Berlin gebaut Die Z3 bestand aus 600 Relais fur das Rechenwerk und 1400 Relais fur das Speicherwerk 4 Diese ersten Computer waren also elektromechanische Rechner die ausserst storanfallig waren Noch in den 1940ern begannen findige Elektroingenieure damit Computer mit Hilfe von Elektronenrohren zu bauen Der erste funktionsfahige Rechner dieser Generation war der ENIAC Der ENIAC verfugte uber 20 elektronische Register 3 Funktionstafeln als Festspeicher und bestand aus 18 000 Rohren sowie 1 500 Relais 5 Damit konnten die Rechenautomaten komplexere Berechnungen ausfuhren und wurden weniger storanfallig aber von einzelnen Prozessoren in spateren Sinne konnte noch keine Rede sein Waren diese Rechner anfangs teure Einzelprojekte so reifte die Technik im Laufe der 1950er Jahre immer mehr aus Rohrencomputer wurden nach und nach zu Artikeln der Serienfertigung die fur Universitaten Forschungseinrichtungen und Unternehmen durchaus erschwinglich waren Um dieses Ziel zu erreichen war es notwendig die Anzahl der benotigten Rohren auf ein Mindestmass zu reduzieren Aus diesem Grund setzte man Rohren nur dort ein wo sie unabdingbar waren So begann man damit Hauptspeicher und CPU Register auf einer Magnettrommel unterzubringen Rechenoperationen seriell auszufuhren und die Ablaufsteuerung mit Hilfe einer Diodenmatrix zu realisieren Ein typischer Vertreter dieser Rechnergeneration war der LGP 30 Erste Erwahnungen des Begriffes CPU gehen in die Anfange der 1950er Jahre zuruck So wurde in einer Broschure von IBM zu dem 705 EDPM aus dem Jahr 1955 der Begriff Central Processing Unit zuerst ausgeschrieben spater mit der Abkurzung CPU in Klammern erganzt und danach nur noch in seiner Kurzform verwendet 6 Altere IBM Broschuren verwenden den Begriff nicht so z B die Broschure Magnetic Cores for Memory in Microseconds in a Great New IBM Electronic Data Processing Machine for Business von 1954 in der zwar ebenfalls die IBM 705 dargestellt wird an den entsprechenden Stellen jedoch lediglich von data processing die Rede ist 7 Auch in dem Informationstext von IBM zur 704 EDPM dem Vorganger der 705 EDPM aus dem Mai 1954 sucht der Leser den Begriff vergeblich 8 In den 1950er Jahren wurden die unzuverlassigen Elektronenrohren von Transistoren verdrangt die zudem den Stromverbrauch der Computer senkten Anfangs wurden die Prozessoren aus einzelnen Transistoren aufgebaut Im Laufe der Jahre brachte man aber immer mehr Transistorfunktionen auf integrierten Schaltkreisen ICs unter Waren es zunachst nur einzelne Gatter integrierte man immer haufiger auch ganze Register und Funktionseinheiten wie Addierer und Zahler schliesslich dann sogar Registerbanke und Rechenwerke auf einem Chip Der Hauptprozessor konnte in einem einzelnen Schaltschrank untergebracht werden was zum Begriff Mainframe also Hauptrahmen bzw Hauptschrank fuhrte Dies war die Zeit der Minicomputer die nun keinen ganzen Saal mehr ausfullten sondern nur noch ein Zimmer Die zunehmende Integration von immer mehr Transistor und Gatterfunktionen auf einem Chip und die stetige Verkleinerung der Transistorabmasse fuhrte dann Anfang der 1970er Jahre fast zwangslaufig zu der Integration aller Funktionen eines Prozessors auf einem Chip dem Mikroprozessor Anfangs noch wegen ihrer vergleichsweise geringen Leistungsfahigkeit belachelt der Legende nach soll ein IBM Ingenieur uber den ersten Mikroprozessor gesagt haben Nett aber wozu soll das gut sein haben Mikroprozessoren heute alle vorangegangenen Techniken fur den Aufbau eines Hauptprozessors abgelost Dieser Trend setzte sich auch in den nachfolgenden Jahrzehnten fort So wurde Ende der 1980er Jahre der mathematische Coprozessor und Ende der 2000er Jahre auch der Grafikprozessor in den Haupt Prozessor integriert vgl APU Siehe auch Geschichte der MikroprozessorenAufbau Funktionale Einheiten BearbeitenEin Prozessor kern besteht mindestens aus Registern Speicher einem Rechenwerk der Arithmetic Logic Unit kurz ALU einem Steuerwerk sowie den Datenleitungen Busse die die Kommunikation mit anderen Komponenten ermoglichen Abbildung siehe weiter unten Diese Komponenten sind im Allgemeinen weiter unterteilbar zum Beispiel enthalt das Steuerwerk zur effizienteren Bearbeitung von Befehlen die Befehls Pipeline mit meist mehreren Stufen unter anderem den Befehlsdecoder sowie ein Adresswerk die ALU enthalt unter anderem zum Beispiel Hardwaremultiplizierer Daruber hinaus befinden sich vor allem in modernen Mikroprozessoren mitunter sehr viel feiner unterteilte Einheiten die flexibel einsetzbar zuteilbar sind sowie mehrfach ausgefuhrte Einheiten die das gleichzeitige Abarbeiten mehrerer Befehle erlauben siehe zum Beispiel Simultaneous Multithreading Hyper Threading Out of order execution Oft ist in heutigen Prozessoren die Memory Management Unit sowie ein evtl mehrstufiger Cache integriert Level 1 Cache L1 bis Level 4 Cache L4 Mitunter ist auch eine I O Unit integriert oft zumindest ein Interrupt Controller Zusatzlich finden sich auch haufig spezialisierte Recheneinheiten z B eine Gleitkommaeinheit eine Einheit fur Vektorfunktionen oder fur Signalverarbeitung Unter diesem Aspekt sind die Ubergange zu Mikrocontrollern oder einem System on a Chip die weitere Komponenten eines Rechnersystems in einem integrierten Schaltkreis vereinen mitunter fliessend Hauptprozessor CPU und Prozessorkern Bearbeiten Ein Prozessor besteht primar aus dem Steuer Leit und dem Rechenwerk ALU Es gibt jedoch weitere Recheneinheiten die zwar kein Steuer bzw Leitwerk enthalten aber dennoch oft ebenfalls als Prozessor bezeichnet werden Diese im Allgemeinen Koprozessor genannten Einheiten stellen in der Regel spezialisierte Funktionen zur Verfugung Beispiele sind die Gleitkommaeinheit sowie Grafik und Soundprozessoren Zur Abgrenzung dieser Koprozessoren zu einem echten Prozessor mit Steuer und Rechenwerk wird der Begriff CPU englisch central processing unit ˈsɛntɹel ˈpɹeʊsɛsɪŋ ˈju nɪt oder zu Deutsch Hauptprozessor genutzt Moderne Mikroprozessoren sind haufig als sogenannte Mehrkernprozessoren Multi Core Prozessoren ausgelegt Sie erlauben zusammen mit entsprechender Software eine weitere Steigerung der Gesamtrechenleistung ohne eine merkliche Erhohung der Taktfrequenz die bis in die 2000er Jahre ubliche Technik die Rechenleistung eines Mikroprozessors zu erhohen Mehrkernprozessoren bestehen aus mehreren voneinander unabhangigen Einheiten mit einem Rechen und Steuerwerk um die herum weitere Komponenten wie Cache und Memory Management Unit MMU angeordnet sind Diese Einheiten werden als Prozessorkern engl core bezeichnet Im Sprachgebrauch sind die Begriffe Single Core Prozessor Dual Core Quad Core und Hexa Core Prozessor Sechskernprozessor gebrauchlich nur selten Triple Core Octa Core Prozessor Achtkern Deca Core Prozessor Zehnkern Da die Kerne eigenstandige Prozessoren sind werden die einzelnen Kerne haufig auch als CPU bezeichnet Diese Bezeichnung CPU wird synonym zu Core genutzt beispielsweise um in Mehrkernprozessoren oder System on a Chip SoC mit weiteren integrierten Einheiten z B einem Grafikprozessor GPU die Kerne mit Steuer und Rechenwerk von den anderen Einheiten zu unterscheiden siehe u a Accelerated Processing Unit APU 9 Die klassische Einteilung dass ein Steuerwerk und eine ALU als ein CPU Hauptprozessor Kern Core bzw Prozessor bezeichnet werden verschwimmt zunehmend Heutige Prozessoren auch Einkernprozessoren besitzen oft Steuerwerke die jeweils mehrere Hardware Threads verwalten Multi Hyper Threading das Betriebssystem nutzt die von den Steuerwerken gemeldeten Prozessorkerne aus Betriebssystem Sicht als CPUs oder Prozessoren gelistet was nicht zwangslaufig mit den tatsachlich vorhandenen vollwertigen Steuerwerken ubereinstimmen muss Ausserdem betreibt ein Steuerwerk oft mehrere ALUs sowie noch weitere Baugruppen wie z B Gleitkomma Recheneinheit Vektoreinheit siehe auch AltiVec SSE oder eine Kryptographie Einheit Umgekehrt mussen sich manchmal mehrere Steuerwerke diese Spezial Recheneinheiten teilen was eine eindeutige Zuordnung verhindert Steuer bzw Leitwerk Bearbeiten Hauptartikel Steuerwerk Das Steuerwerk auch Leitwerk genannt kontrolliert die Ausfuhrung der Anweisungen Es sorgt dafur dass der Maschinenbefehl im Befehlsregister vom Befehlsdecoder dekodiert und vom Rechenwerk und den ubrigen Komponenten der Rechenanlage ausgefuhrt wird Dazu ubersetzt der Befehlsdecoder binare Maschinenbefehle mit Hilfe der Befehlstabelle englisch instruction table in entsprechende Anweisungen Microcode welche die fur die Ausfuhrung des Befehls benotigten Schaltungen aktivieren Dabei werden drei wesentliche Register das heisst sehr schnell ansprechbare prozessorinterne Speicher benotigt 10 Das Befehlsregister englisch instruction register Es enthalt den aktuell auszufuhrenden Maschinenbefehl Der Befehlszahler englisch program counter Dieses Register zeigt bei der Befehlsausfuhrung auf den nachstfolgenden Befehl Ein Sprungbefehl ladt die Adresse seines Sprungziels hierher Das Statusregister Es zeigt uber sogenannte Flags den Status an der von anderen Teilen der Rechenanlage u a dem Rechen und dem Leitwerk bei der Ausfuhrung bestimmter Befehle erzeugt wird um ihn in nachfolgenden Befehlen auswerten zu konnen Beispiel Ergebnis einer arithmetischen oder einer Vergleichsoperation ergibt Null Minus o a ein Ubertrag Carry ist bei einer Rechenoperation zu berucksichtigen In RISC Prozessoren ist mitunter kein Befehlsdekoder notwendig in manchen RISC Prozessoren verschalten die Befehls Bits die entsprechenden ALU und Register Einheiten direkt Dort gibt es dann auch keinen Microcode Die meisten modernen Prozessorarchitekturen sind RISC artig oder besitzen einen RISC Kern fur die haufigen einfachen Befehle sowie eine ubersetzende Emulationsschicht davor die komplexe Befehle in mehrere RISC Befehle ubersetzt Ebenso kann ein explizites Befehlregister durch eine Pipeline ersetzt sein Mitunter sind mehrere Befehle gleichzeitig in Bearbeitung dann kann auch die Reihenfolge ihrer Abarbeitung umsortiert werden Out of order execution Rechenwerk und Register Bearbeiten Hauptartikel Rechenwerk und Rechenregister Das Rechenwerk fuhrt die Elementaroperationen eines Prozessors durch Es besteht zum einen aus der arithmetisch logischen Einheit ALU zum anderen aus den Arbeitsregistern Es kann sowohl arithmetische etwa die Addition zweier Zahlen als auch logische etwa AND oder OR Operationen ausfuhren Aufgrund der Komplexitat moderner Prozessoren bei denen meist mehrere Rechenwerke mit spezialisierten Funktionen vorhanden sind spricht man auch allgemein vom Operationswerk Die Arbeitsregister konnen Daten als Datenregister und abhangig vom Prozessortyp auch Adressen als Adressregister aufnehmen Meist konnen nur mit den Werten in den Registern Operationen direkt ausgefuhrt werden Sie stellen daher die erste Stufe der Speicherhierarchie dar Von den Eigenschaften und insbesondere der Grosse und Anzahl der Register abhangig vom Prozessortyp hangt u a die Leistungsfahigkeit des jeweiligen Prozessors ab Ein spezielles Adressregister ist der Stapelzeiger englisch stackpointer der die Rucksprungadresse bei einem Unterprogrammaufruf aufnimmt Auf dem Stack werden dann zusatzlich oft Registerkopien gesichert und neue lokale Variablen angelegt Datenleitungen Bearbeiten Hauptartikel Bus Datenverarbeitung Uber verschiedene Busse Signalleitungen ist der Prozessor mit anderen Komponenten verbunden Uber den Datenbus werden Daten mit dem Arbeitsspeicher ausgetauscht etwa die Informationen fur die Arbeitsregister und das Befehlsregister Je nach verwendeter Prozessorarchitektur hat ein Hauptprozessor eine CPU einen einzigen Bus fur Daten aus dem Arbeitsspeicher Von Neumann Architektur oder mehrere meist zwei separate Datenleitungen fur den Programmcode und normale Daten Harvard Architektur Der Adressbus dient zur Ubertragung von Speicheradressen Dabei wird jeweils eine Speicherzelle des RAM adressiert ausgewahlt in die je nach Signal des Steuerbusses die Daten die gerade auf dem Datenbus liegen geschrieben oder aus denen die Daten gelesen d h auf den Datenbus gelegt werden Mit dem Steuerbus Kontrollbus steuert der Prozessor u a ob Daten gerade geschrieben oder gelesen werden sollen ob er einem anderen Bus Master im Rahmen eines Speicherdirektzugriffs DMA den Bus uberlasst oder der Adressbus statt des RAMs einen Peripherie Anschluss meint beim Isolated I O Eingangsleitungen losen beispielsweise einen Reset oder Interrupts aus versorgen ihn mit einem Taktsignal oder empfangen eine Bus Anforderung von einem DMA Gerat Zwischen die Datenleitungen und das Registerwerk ist als Teil des Steuerwerks das sogenannte Bus Interface geschaltet das die Zugriffe steuert und bei gleichzeitigen Anforderungen verschiedener Untereinheiten eine Priorisierung vornimmt Caches und MMU Bearbeiten Hauptartikel Cache Moderne Prozessoren die in PCs oder anderen Geraten eingesetzt werden die eine schnelle Datenverarbeitung benotigen sind mit sogenannten Caches ausgestattet Caches sind Zwischenspeicher die die zuletzt verarbeiteten Daten und Befehle zwischenspeichern und so die rasche Wiederverwendung ermoglichen Sie stellen die zweite Stufe der Speicherhierarchie dar Normalerweise besitzt ein Prozessor heutzutage bis zu vierstufige Caches Level 1 Cache L1 Cache Dieser Cache lauft mit dem Prozessortakt Er ist sehr klein etwa 4 bis 256 Kilobyte dafur aufgrund seiner Position im Prozessorkern selbst sehr schnell abrufbar Level 2 Cache L2 Cache Der L2 Cache befindet sich meist im Prozessor aber nicht im Kern selbst Er umfasst zwischen 64 Kilobyte und 12 Megabyte Level 3 Cache L3 Cache Bei Mehrkernprozessoren teilen sich die einzelnen Kerne den L3 Cache Er ist der zweit langsamste der vier Caches aber meist bereits sehr gross bis zu 256 Megabyte Level 4 Cache L4 Cache Wenn vorhanden dann meist ausserhalb der CPU auf einem Interposer oder dem Mainboard Er ist der langsamste der vier Caches nur selten uber 128 Megabyte Hauptartikel Memory Management Unit Die Memory Management Unit ubersetzt die virtuelle Adressen der in Ausfuhrung befindlichen Prozesse in reale Adressen fur alle Prozessorkerne gleichzeitig und stellt die Cache Koharenz sicher Andert ein Kern einen Speicherinhalt so muss sichergestellt werden dass die anderen Caches keine veralteten Werte enthalten Abhangig von ihrer genauen Ansiedlung beinhalten die Cache Stufen Daten entweder bezuglich virtueller oder realer Adressen Verarbeitung eines einzelnen Befehls Bearbeiten Einfacher Prozessor Blockdiagramm R W Lesen Schreiben Clock Takt IRQ Interrupt RequestUm die Rollen der Untereinheiten konkreter zu veranschaulichen hier der Ablauf der Verarbeitung eines einzelnen Maschinenbefehls Die aufgefuhrten Einzelschritte konnen teilweise gleichzeitig oder uberlappend ablaufen die Nummerierung hat nichts mit der Anzahl der Taktzyklen zu tun die der Befehl benotigt Zusatzliche Feinheiten wie Prozessor Pipelines oder Sprungvorhersage Branch Prediction fuhren zu weiteren Timing Finessen die hier im Sinne der Vereinfachung vorerst weggelassen werden Aus dem gleichen Grund sind komplexe Berechnungen abhangig von der gewahlten Adressierungsart zur Ermittlung einer endgultigen Speicheradresse nicht erwahnt Laden des nachsten Befehls Der Befehlszahler der die Adresse des nachsten Befehls enthalt wird vom Steuerwerk uber das Bus Interface auf den Adressbus gelegt dann wird ein Leseimpuls an die Speicherverwaltung signalisiert Der Befehlszahler wird parallel dazu auf die nachste Adresse weitergezahlt Die Speicherverwaltung legt den Datenwert aus dieser virtuellen RAM Adresse auf die Datenleitungen sie hat den Wert im Cache oder im RAM gefunden Nach der Verzogerung durch die endliche Zugriffszeit des RAMs liegt an den Datenleitungen der Inhalt dieser Speicherzelle an Das Steuerwerk kopiert diese Daten uber das Bus Interface in das Befehlsregister Der Befehl wird vor decodiert ob er komplett geladen ist Wenn es ein Befehl ist der aus mehreren Bytes besteht werden sie falls das durch eine grossere Busbreite nicht schon geschehen ist durch Wiederholung der Schritte 1 bis 4 aus dem Speicher geholt und in die zustandigen Prozessorregister kopiert Gehort zum Befehl auch das Auslesen einer Speicherzelle des RAMs wird vom Steuerwerk die Adresse fur diese Daten auf die Adressleitungen gelegt ein Leseimpuls wird signalisiert Danach muss genugend lange Zeit gewartet werden dass das RAM diese Informationen sicher bereitstellen konnte Anschliessend wird der Datenbus ausgelesen und in das zustandige Prozessorregister kopiert Der Befehl wird fertig decodiert und die zu seiner Abarbeitung benotigten Untereinheiten aktiviert die internen Datenpfade werden entsprechend geschaltet Das Rechenwerk erledigt die eigentliche Verarbeitung innerhalb des Prozessors beispielsweise die Addition zweier Registerinhalte Das Ergebnis landet wieder in einem der Prozessorregister Wenn der Befehl ein Sprung oder Verzweigungsbefehl ist wird das Ergebnis nicht in einem Datenregister abgelegt sondern im Befehlszahler Das Steuerwerk aktualisiert je nach Ergebniswert ggf das Statusregister mit seinen Zustandsflags Gehort zum Befehl auch das Ruckspeichern eines Ergebnisses Registerinhalts in das RAM wird vom Steuerwerk die Adresse fur diese Daten auf die Adressleitungen gelegt und der Dateninhalt auf die Datenleitungen ein Schreibimpuls wird signalisiert Danach muss genugend lange Zeit gewartet werden dass das RAM diese Informationen sicher aufnehmen konnte Der Befehl ist jetzt abgearbeitet und es kann oben bei Schritt 1 zum nachsten Befehl weitergeschritten werden Verschiedene Architekturen Bearbeiten Hauptartikel Prozessorarchitektur Die beiden wesentlichen Grundarchitekturen fur CPUs sind die Von Neumann und die Harvard Architektur Bei der nach dem Mathematiker John von Neumann benannten Von Neumann Architektur gibt es keine Trennung zwischen dem Speicher fur Daten und Programmcode Dagegen sind bei der Harvard Architektur Daten und Programm e in strikt voneinander getrennten Speicher und Adressraumen abgelegt auf die typischerweise durch zwei separierte Bussysteme parallel zugegriffen wird Beide Architekturen haben ihre spezifischen Vor und Nachteile In der Von Neumann Architektur konnen Programmcode und Daten grundsatzlich identisch behandelt werden Hierdurch sind einheitliche Betriebssystem Routinen zum Laden und Speichern verwendbar Auch kann der Programmcode im Gegensatz zur Harvard Architektur sich selbst modifizieren oder als Daten behandelt werden wodurch Maschinencode z B per Debugger leicht bearbeitbar und modifizierbar ist Nachteile Risiken liegen im Bereich der Softwareergonomie und Stabilitat zum Beispiel konnen Laufzeitfehler wie ein Pufferuberlauf den Programmcode modifizieren Durch die Trennung in zwei physikalische Speicher und Busse hat die Harvard Architektur potenziell eine hohere Leistungsfahigkeit da Daten und Programmzugriffe parallel erfolgen konnen Bei einer Harvard Architektur sind durch die physische Trennung von Daten und Programm einfach eine Zugriffsrechtetrennung und Speicherschutz realisierbar Um z B zu verhindern dass bei Softwarefehlern Programmcode uberschrieben werden kann wurde vor allem historisch fur Programmcode ein im Betrieb nur lesbarer Speicher z B ROM Lochkarten verwendet fur die Daten dagegen schreib und lesbarer Speicher z B RAM Ringkernspeicher Praktisch alle modernen CPUs stellen sich aus Programmsicht als Von Neumann Architektur dar ihr interner Aufbau entspricht aber aus Leistungsgrunden in vielen Aspekten eher einer parallelen Harvard Architektur So ist es nicht unublich dass eine CPU intern mehrere unabhangige Datenpfade insbesondere beim L1 Cache und Cachehierarchiestufen besitzt um mit moglichst vielen parallelen Datenpfaden eine hohe Leistung zu erzielen Die dadurch potenziell moglichen Daten Inkoharenzen und Zugriffs Race Conditions werden intern durch aufwandige Datenprotokolle und management verhindert Auch werden heutzutage Arbeitsspeicher Bereiche die ausschliesslich Daten beinhalten als nicht ausfuhrbar markiert sodass Exploits die ausfuhrbaren Code in Datenbereichen ablegen diesen nicht ausfuhren konnen Umgekehrt kann das Schreiben in Bereiche mit Programmcode verweigert werden Pufferuberlauf Exploits Befehlssatz Bearbeiten Hauptartikel Befehlssatz Der Befehlssatz bezeichnet die Gesamtheit der Maschinenbefehle eines Prozessors Der Umfang des Befehlssatzes variiert je nach Prozessortyp betrachtlich Ein grosser Befehlssatz ist typisch fur Prozessoren mit CISC Architektur englisch Complex Instruction Set Computing Rechnen mit komplexem Befehlssatz ein kleiner Befehlssatz ist typisch fur Prozessoren mit RISC Prozessorarchitektur englisch Reduced Instruction Set Computing Rechnen mit reduziertem Befehlssatz Die traditionelle CISC Architektur versucht immer mehr und immer komplexere Funktionen direkt durch Maschinenbefehle auszudrucken Sie zeichnet sich besonders durch die grosse Anzahl zur Verfugung stehender Maschinenbefehle aus die meist 100 weit uberschreitet Diese sind ausserdem in der Lage komplexe Operationen direkt auszufuhren etwa Gleitkommazahl Operationen Dadurch konnen komplexe Vorgange durch wenige machtige Befehle implementiert werden Das Nebeneinander von komplexen langwierigen und einfachen schnell ausfuhrbaren Befehlen macht ein effizientes Prozessordesign schwierig besonders das Pipelinedesign In den 1980er Jahren entstand als Reaktion darauf das RISC Konzept mit dem bewussten Verzicht auf das Bereitstellen von komplexer Funktionalitat in Instruktionsform Es werden ausschliesslich einfache untereinander ahnlich komplexe Instruktionen bereitgestellt Dabei wird versucht sehr schnell abzuarbeitende Befehle zur Verfugung zu stellen dafur jedoch nur wenige weniger als 100 sehr einfache Hierdurch vereinfachte sich das Prozessordesign deutlich und ermoglichte Optimierungen die ublicherweise eine hohere Prozessortaktung und wiederum schnellere Ausfuhrungsgeschwindigkeit erlaubten Dies geht unter anderem darauf zuruck dass weniger Taktzyklen benotigt werden und die Dekodierung aufgrund geringerer Komplexitat schneller ist Ein einfacheres Prozessordesign bedeutet jedoch eine Verschiebung des Entwicklungsaufwands hin zur Software als Bereitsteller komplexerer Funktionalitat Der Compiler hat nun die Aufgabe einer effizienten und korrekten Umsetzung mit dem vereinfachten Instruktionsatz Heute ahnelt die weit verbreitete x86 Architektur als fruher typischer Vertreter der CISC Klasse intern einer RISC Architektur Einfache Befehle sind meist direkt µ Operationen komplexe Befehle werden in µ Ops zerlegt Diese µ Ops ahneln den einfachen Maschinenbefehlen von RISC Systemen wie auch der interne Prozessoraufbau z B gibt es keinen Microcode mehr fur die µ Operationen sie werden direkt verwendet Eine weitere Art eines Prozessordesigns ist die Verwendung von VLIW Dort werden mehrere Instruktionen in einem Wort zusammengefasst Dadurch ist von Anfang an definiert auf welcher Einheit welche Instruktion lauft Out of Order Ausfuhrung wie sie in modernen Prozessoren zu finden ist gibt es bei dieser Art von Befehlen nicht Zusatzlich unterscheidet man auch noch zwischen der Adressanzahl im Maschinenbefehl Null Adressbefehle Stackrechner Ein Adressbefehle Akkumulatorrechner Zwei Drei und Vier Adressbefehle ALTIVEC hatte z B Vieroperanden Befehle Funktionsweise BearbeitenDie Befehlsbearbeitung eines Prozessorkerns folgt prinzipiell dem Von Neumann Zyklus FETCH Aus dem Befehlsadressregister wird die Adresse des nachsten Maschinenbefehls gelesen Anschliessend wird dieser aus dem Arbeitsspeicher genauer aus dem L1 Cache in das Befehlsregister geladen DECODE Der Befehlsdecoder decodiert den Befehl und aktiviert entsprechende Schaltungen die fur die Ausfuhrung des Befehls notig sind FETCH OPERANDS Sofern zur Ausfuhrung weitere Daten zu laden sind benotigte Parameter werden diese aus dem L1 Cache Speicher in die Arbeitsregister geladen EXECUTE Der Befehl wird ausgefuhrt Dies konnen zum Beispiel Operationen im Rechenwerk ein Sprung im Programm eine Veranderung des Befehlsadressregisters das Zuruckschreiben von Ergebnissen in den Arbeitsspeicher oder die Ansteuerung von Peripheriegeraten sein Abhangig vom Ergebnis mancher Befehle wird das Statusregister gesetzt das durch nachfolgende Befehle auswertbar ist UPDATE INSTRUCTION POINTER Sollte kein Sprungbefehl in der EXECUTE Phase erfolgt sein wird nun das Befehlsadressregister um die Lange des Befehls erhoht sodass es auf den nachsten Maschinenbefehl zeigt Gelegentlich unterscheidet man auch noch eine Ruckschreibphase in der eventuell anfallende Rechenergebnisse in bestimmte Register geschrieben werden siehe Out of order execution Schritt 6 Erwahnt werden sollten noch sogenannte Hardware Interrupts Die Hardware eines Computers kann Anfragen an den Prozessor stellen Da diese Anfragen asynchron auftreten ist der Prozessor gezwungen regelmassig zu prufen ob solche vorliegen und diese eventuell vor der Fortsetzung des eigentlichen Programms zu bearbeiten Steuerung BearbeitenAlle Programme liegen als eine Folge von binaren Maschinenbefehlen im Speicher Nur diese Befehle konnen vom Prozessor verarbeitet werden Dieser Code ist fur einen Menschen jedoch beinahe unmoglich zu lesen Aus diesem Grund werden Programme zunachst in Assemblersprache oder einer Hochsprache etwa BASIC C C Java geschrieben und dann von einem Compiler in eine ausfuhrbare Datei also in Maschinensprache ubersetzt oder einem Interpreter zur Laufzeit ausgefuhrt Symbolische Maschinenbefehle Bearbeiten Um es zu ermoglichen Programme in akzeptabler Zeit und verstandlich zu schreiben wurde eine symbolische Schreibweise fur Maschinenbefehle eingefuhrt sogenannte Mnemonics Maschinenbefehle werden durch Schlusselworte fur Operationen z B MOV fur move also bewegen oder ver schieben und durch optionale Argumente wie BX und 85F3h dargestellt Da verschiedene Prozessortypen verschiedene Maschinenbefehle besitzen existieren fur diese auch verschiedene Mnemonics Assemblersprachen setzen oberhalb dieser prozessortypenabhangigen Mnemonik auf und beinhalten Speicherreservierung Verwaltung von Adressen Makros Funktionsheader Definieren von Strukturen usw Prozessorunabhangige Programmierung ist erst durch Benutzung abstrakter Sprachen moglich Dies konnen Hochsprachen sein aber auch Sprachen wie FORTH oder gar RTL Es ist nicht die Komplexitat der Sprache wichtig sondern deren Hardware Abstraktion MOV BX 85F3h movw 0x85F3 bx Der Wert 85F3h dezimal 34291 wird in das Register BX geladen MOV BX word ptr 85F2h movw 0x85F2 bx Die Inhalte der Speicherzellen mit den Adresse 85F2h und 85F3h dezimal 34290 und 34291 relativ zum Start des Datensegments bestimmt durch DS werden in das Register BX geladen Dabei wird der Inhalt von 85F2h in den niederwertigen Teil BL und der Inhalt von 85F3h in den hoherwertigen Teil BH geschrieben ADD BX 15 addw 15 bx Der Wert 15 wird zum Inhalt des Arbeitsregisters BX addiert Das Flagregister wird entsprechend dem Ergebnis gesetzt Binare Maschinenbefehle Bearbeiten Maschinenbefehle sind sehr prozessorspezifisch und bestehen aus mehreren Teilen Diese umfassen zumindest den eigentlichen Befehl den Operationscode OP CODE die Adressierungsart und den Operandenwert oder eine Adresse Sie konnen grob in folgende Kategorien eingeteilt werden Arithmetische Befehle Logische Befehle Sprungbefehle Transportbefehle ProzessorkontrollbefehleBefehlsbearbeitung BearbeitenAlle Prozessoren mit hoherer Verarbeitungsleistung sind heutzutage modifizierte Harvard Architekturen 11 da die Harvard Architektur durch die strikte Trennung zwischen Befehlen und Daten einige Probleme mit sich bringt Zum Beispiel ist es fur selbstmodifizierenden Code notig dass Daten auch als Befehle ausgefuhrt werden konnen Ebenso ist es fur Debugger wichtig einen Haltepunkt im Programmablauf setzen zu konnen was ebenfalls einen Transfer zwischen Befehls und Datenadressraum notig macht 12 Die Von Neumann Architektur findet man bei kleinen Mikrocontrollern Der Laie darf sich nicht durch den gemeinsamen Adressraum von Befehlen und Daten eines oder mehrerer Kerne irritieren lassen Das Zusammenfassen von Befehls und Datenadressraum findet auf Ebene von Cache Controllern und deren Koharenzprotokollen statt Das gilt nicht nur fur diese beiden Adressraume wo dies meist auf L2 Ebene erfolgt sondern bei Multiprozessor Systemen auch zwischen denen verschiedener Kerne hier erfolgt es meist auf L3 Ebene bzw bei Multi Sockel Systemen beim Zusammenfassen deren Hauptspeichers Mikroprozessoren sind bis auf wenige Ausnahmen z B der Sharp SC61860 interruptfahig Programmablaufe konnen durch externe Signale unterbrochen oder aber auch abgebrochen werden ohne dass das im Programmablauf vorgesehen sein muss Ein Interrupt System erfordert zum einen ein Interrupt Logik d h auf Zuruf einschiebbare Befehle und zum anderen die Fahigkeit den internen Zustand des Prozessors zu retten und wiederherzustellen um das ursprungliche Programm nicht zu beeintrachtigen Hat ein Mikroprozessor kein Interruptsystem muss die Software durch Polling die Hardware selbst abfragen Neben der geordneten Befehlsausfuhrung beherrschen vor allem moderne Hochleistungsprozessoren weitere Techniken um die Programmabarbeitung zu beschleunigen Vor allem moderne Hochleistungsmikroprozessoren setzen parallele Techniken wie etwa Pipelining und Superskalaritat ein um eine evtl mogliche parallele Abarbeitung mehrerer Befehle zu ermoglichen wobei die einzelnen Teilschritte der Befehlsausfuhrung leicht versetzt zueinander sind Eine weitere Moglichkeit die Ausfuhrung von Programmen zu beschleunigen ist die ungeordnete Befehlsausfuhrung englisch Out of order execution bei der die Befehle nicht strikt nach der durch das Programm vorgegebenen Reihenfolge ausgefuhrt werden sondern der Prozessor die Reihenfolge der Befehle selbstandig zu optimieren versucht Die Motivation fur eine Abweichung von der vorgegebenen Befehlsfolge besteht darin dass aufgrund von Verzweigungsbefehlen der Programmlauf nicht immer sicher vorhergesehen werden kann Mochte man Befehle bis zu einem gewissen Grad parallel ausfuhren so ist es in diesen Fallen notwendig sich fur eine Verzweigung zu entscheiden und die jeweilige Befehlsfolge spekulativ auszufuhren Es ist dann moglich dass der weitere Programmlauf dazu fuhrt dass eine andere Befehlsfolge ausgefuhrt werden muss sodass die spekulativ ausgefuhrten Befehle wieder ruckgangig gemacht werden mussen In diesem Sinne spricht man von einer ungeordneten Befehlsausfuhrung Adressierungsarten Bearbeiten Hauptartikel Adressierung Rechnerarchitektur Maschinenbefehle beziehen sich auf festgelegte Quell oder Zielobjekte die sie entweder verwenden und oder auf diese wirken Diese Objekte sind in codierter Form als Teil des Maschinenbefehls angegeben weshalb ihre effektive logische Speicheradresse bei bzw vor der eigentlichen Ausfuhrung des Befehls ermittelt werden muss Das Ergebnis der Berechnung wird in speziellen Adressierungseinrichtungen der Hardware Registern bereitgestellt und bei der Befehlsausfuhrung benutzt Zur Berechnung werden verschiedene Adressierungsarten Varianten verwendet abhangig von der Struktur des Befehls die je Befehlscode einheitlich festgelegt ist Die Berechnung der physikalischen Adressen anhand der logischen Adressen ist davon unabhangig und wird in der Regel von einer Memory Management Unit durchgefuhrt Die folgende Grafik gibt einen Uberblick uber die wichtigsten Adressierungsarten weitere Angaben zur Adressierung siehe Adressierung Rechnerarchitektur Ubersicht der wichtigsten Adressierungsarten Register Adressierung implizitexplizitEinstufigSpeicheradressierung unmittelbardirektRegister indirektindiziertProgrammzahler relativZweistufigeSpeicheradressierung indirekt absolutAndere Registeradressierung Bearbeiten Bei einer Registeradressierung steht der Operand bereits in einem Prozessorregister bereit und muss nicht erst aus dem Speicher geladen werden Erfolgt die Registeradressierung implizit so wird das implizit fur den Opcode festgelegte Register mit adressiert Beispiel der Opcode bezieht sich implizit auf den Akkumulator Bei expliziter Registeradressierung ist die Nummer des Registers in einem Registerfeld des Maschinenbefehls eingetragen Beispiel C R1 R2 Addiere Inhalt von R1 auf den Inhalt von R2 C Befehlscode Rn Register n Einstufige Adressierung Bearbeiten Bei einstufigen Adressierungsarten kann die effektive Adresse durch eine einzige Adressberechnung ermittelt werden Es muss also im Laufe der Adressberechnung nicht erneut auf den Speicher zugegriffen werden Bei unmittelbarer Adressierung enthalt der Befehl keine Adresse sondern den Operanden selbst meist nur fur kurze Operanden wie 0 1 AB usw anwendbar Bei direkter Adressierung enthalt der Befehl die logische Adresse selbst es muss also keine Adressberechnung mehr ausgefuhrt werden Bei Register indirekter Adressierung ist die logische Adresse bereits in einem Adressregister des Prozessors enthalten Die Nummer dieses Adressregisters wird im Maschinenbefehl ubergeben Bei der indizierten Adressierung erfolgt die Adressberechnung mittels Addition Der Inhalt eines Registers wird zu einer zusatzlich im Befehl ubergebenen Adressangabe hinzugerechnet Eine der beiden Adressangaben enthalt dabei i d R eine Basisadresse wahrend die andere ein Offset zu dieser Adresse enthalt Siehe auch Registertypen Beispiel C R1 R2 O Lade Inhalt von R2 Inhalt Offset ins R1 O OffsetBei Programmzahler relativer Adressierung wird die neue Adresse aus dem aktuellen Wert des Programmzahlers und einem Offset ermittelt Zweistufige Adressierung Bearbeiten Bei zweistufigen Adressierungsarten sind mehrere Rechenschritte notwendig um die effektive Adresse zu erhalten Insbesondere ist im Laufe der Berechnung meist ein zusatzlicher Speicherzugriff notwendig Als Beispiel sei hier die indirekte absolute Adressierung genannt Dabei enthalt der Befehl eine absolute Speicheradresse Das Speicherwort das unter dieser Adresse zu finden ist enthalt die gesuchte effektive Adresse Es muss also zunachst auf die gegebene Speicheradresse im Speicher zuruckgegriffen werden um die effektive Adresse fur die Befehlsausfuhrung zu ermitteln Das kennzeichnet alle zweistufigen Verfahren Beispiel C R1 R2 AA Lade nach R1 Inhalt R2 an Adr AA stehenden InhaltLeistungsmerkmale BearbeitenDie Leistung eines Prozessors wird massgeblich durch die Anzahl der Transistoren sowie durch die Wortbreite und den Prozessortakt bestimmt Wortbreite Bearbeiten Die Wortbreite legt fest wie lang ein Maschinenwort des Prozessors sein kann d h aus wie vielen Bits es maximal bestehen kann Ausschlaggebend sind dabei folgende Werte Arbeits oder Datenregister Die Wortbreite bestimmt die maximale Grosse der verarbeitbaren Ganz und Gleitkommazahlen Datenbus Die Wortbreite legt fest wie viele Bits gleichzeitig aus dem Arbeitsspeicher gelesen werden konnen Adressbus Die Wortbreite legt die maximale Grosse einer Speicheradresse d h die maximale Grosse des Arbeitsspeichers fest Steuerbus Die Wortbreite legt die Art der Peripherieanschlusse fest Die Wortbreite dieser Einheiten stimmt im Normalfall uberein bei aktuellen PCs betragt sie 32 bzw 64 Bit Prozessortakt Bearbeiten Die Taktrate englisch clock rate wird besonders in der Werbung oft als Beurteilungskriterium fur einen Prozessor prasentiert Es wird allerdings nicht vom Prozessor selbst bestimmt sondern ist ein Vielfaches des Mainboard Grundtaktes Dieser Multiplikator und der Grundtakt lasst sich bei einigen Mainboards manuell oder im BIOS einstellen was als Uber oder Untertakten bezeichnet wird Bei vielen Prozessoren ist der Multiplikator jedoch gesperrt sodass er entweder gar nicht verandert werden kann oder nur bestimmte Werte zulassig sind oft ist der Standardwert gleichzeitig der Maximalwert sodass uber den Multiplikator nur Untertakten moglich ist Das Ubertakten kann zu irreparablen Schaden an der Hardware fuhren CPU Ausfuhrungszeit CPU Taktzyklen Taktzykluszeit Weiterhin gilt Taktzykluszeit 1 Taktrate Programmbefehle CPI Taktzykluszeit Die Geschwindigkeit des gesamten Systems ist jedoch auch von der Grosse der Caches des Arbeitsspeichers und anderen Faktoren abhangig Einige Prozessoren haben die Moglichkeit die Taktrate zu erhohen bzw zu verringern wenn es notig ist Zum Beispiel wenn hochauflosende Videos angeschaut oder Spiele gespielt werden die hohe Anforderungen an das System stellen oder umgekehrt der Prozessor nicht stark beansprucht wird Siehe auch TaktsignalAnwendungsbereich BearbeitenIm Bereich der Personal Computer ist die historisch gewachsene x86 Architektur weit verbreitet wobei fur eine genauere Diskussion dieser Thematik der entsprechende Artikel empfohlen wird Weniger bekannt ist der Einsatz von Embedded Prozessoren und Mikrocontrollern beispielsweise in Motorsteuergeraten Uhren Druckern sowie einer Vielzahl elektronisch gesteuerter Gerate Siehe auch BearbeitenDigitaler Signalprozessor DSP Mikroprogrammsteuerwerk Ring CPU Physikbeschleuniger PPU Neuromorpher Prozessor NPU Liste von MikroprozessorenLiteratur BearbeitenHelmut Herold Bruno Lurz Jurgen Wohlrab Grundlagen der Informatik Pearson Studium Munchen 2007 ISBN 978 3 8273 7305 2 Weblinks Bearbeiten Wiktionary Prozessor Bedeutungserklarungen Wortherkunft Synonyme Ubersetzungen Wiktionary CPU Bedeutungserklarungen Wortherkunft Synonyme Ubersetzungen umfassende Sammlung von Prozessoren englisch FAQ der Usenet Hierarchie de comp hardware cpu mainboard cpu museum de Bebildertes CPU Museum englisch CPU Sammlung CPU Museum Selbstbauprojekt einer CPU aus einzelnen TTL Bausteinen Intel Engineering Samples verifizieren 25 Microchips that shook the world ein Artikel des Institute of Electrical and Electronics Engineers Mai 2009Einzelnachweise Bearbeiten Dieter Sautter Hans Weinerth Lexikon Elektronik Und Mikroelektronik Springer 1993 ISBN 978 3 642 58006 2 S 825 eingeschrankte Vorschau in der Google Buchsuche Peter Fischer Peter Hofer Lexikon Der Informatik Springer 2011 ISBN 978 3 642 15126 2 S 710 eingeschrankte Vorschau in der Google Buchsuche Helmut Herold Bruno Lurz Jurgen Wohlrab Grundlagen der Informatik Pearson Studium Munchen 2007 ISBN 978 3 8273 7305 2 S 101 Konrad Zuse Der Computer Mein Lebenswerk 5 unverand Auflage Springer Verlag Berlin Heidelberg 2010 ISBN 978 3 642 12095 4 S 55 100 Jahre Zuse Wilfried de Beauclair Rechnen mit Maschinen Eine Bildgeschichte der Rechentechnik 2 Auflage Springer Berlin Heidelberg New York 2005 ISBN 3 540 24179 5 S 111 113 IBM Archives 705 Data Processing System In ibm com 1 Oktober 1954 abgerufen am 13 Januar 2021 englisch Magnetic Cores for Memory in Microseconds in a Great New IBM Electronic Data Processing Machine for Business PDF In archive computerhistory org 1 Oktober 1954 abgerufen am 13 Januar 2021 englisch IBM Archives 704 Data Processing System In ibm com 1 Oktober 1954 abgerufen am 13 Januar 2021 englisch Tim Towell Intel Architecture Based Smartphone Platforms PDF Nicht mehr online verfugbar 6 November 2012 S 7 archiviert vom Original am 3 Juni 2013 abgerufen am 22 Marz 2013 Peter Rechenberg Informatik Handbuch Hanser Verlag 2006 ISBN 978 3 446 40185 3 S 337 Learning to Program A Beginners Guide Part Four A Simple Model of a Computer englisch abgerufen am 11 September 2016 ARM Technical Support Knowledge Articles What is the difference between a von Neumann architecture and a Harvard architecture englisch abgerufen am 11 September 2016 Prozessorarchitekturen nach Wortbreite 1 Bit Architektur Bit Slice Architektur 4 Bit Architektur 8 Bit Architektur 16 Bit Architektur 32 Bit Architektur 64 Bit Architekturnach Befehlssatzaufbau CISC EPIC NISC RISC VLIW Mikroarchitekturmit Optimierung fur Einsatzzweck Haupt Prozessor Grafikprozessor GPGPU Streamprozessor Soundprozessor Gleitkommaeinheit Netzwerkprozessor Physikbeschleuniger Vektorprozessor TensorFlow Processing Unit Abgerufen von https de wikipedia org w index php title Prozessor amp oldid 236220712