In einer Prozession gehende Haupteinheit

Die in einer Prozession gehende Haupteinheit (CPU) ist der Teil eines Computersystems, das die Anweisungen eines Computerprogramms befolgt, um das grundlegende arithmetische, logische, und Operationen des Eingangs/Produktion des Systems durchzuführen. Die Zentraleinheit spielt eine Rolle, die dem Gehirn im Computer etwas analog ist. Der Begriff ist im Gebrauch in der Computerindustrie mindestens seit dem Anfang der 1960er Jahre gewesen. Die Form, das Design und die Durchführung von Zentraleinheiten haben sich drastisch seit den frühsten Beispielen geändert, aber ihre grundsätzliche Operation bleibt ziemlich gleich.

Auf großen Maschinen verlangen Zentraleinheiten ein oder mehr gedruckte Leiterplatten. Auf Personalcomputern und kleinen Arbeitsplätzen wird die Zentraleinheit in einem einzelnen Siliziumchip genannt einen Mikroprozessor aufgenommen. Seit den 1970er Jahren hat die Mikroprozessor-Klasse von Zentraleinheiten fast alle anderen Zentraleinheitsdurchführungen völlig eingeholt. Moderne Zentraleinheiten sind in großem Umfang einheitliche Stromkreise in Paketen normalerweise weniger als vier Zentimeter Quadrat, mit Hunderten davon, Nadeln zu verbinden.

Zwei typische Bestandteile einer Zentraleinheit sind die arithmetische Logikeinheit (ALU), die arithmetische und logische Operationen und die Kontrolleinheit (CU) durchführt, welche Extrakt-Instruktionen auswendig und decodieren und sie durchführen, den ALU, wenn notwendig, auffordernd.

Nicht alle rechenbetonten Systeme verlassen sich auf eine in einer Prozession gehende Haupteinheit. Ein Reihe-Verarbeiter oder Vektor-Verarbeiter haben vielfache parallele Rechenelemente, ohne eine Einheit betrachtet als das "Zentrum". Im verteilten Rechenmodell werden Probleme durch einen verteilten miteinander verbundenen Satz von Verarbeitern behoben.

Geschichte

Computer wie der ENIAC mussten physisch neu verdrahtet werden, um verschiedene Aufgaben durchzuführen, die diese Maschinen veranlasst haben, "Computer des festen Programms genannt zu werden." Da der Begriff "Zentraleinheit" allgemein als ein Gerät für die Software (Computerprogramm) Ausführung definiert wird, sind die frühsten Geräte, die Zentraleinheiten richtig genannt werden konnten, mit dem Advent des speicherprogrammierten Computers gekommen.

Die Idee von einem speicherprogrammierten Computer ist bereits im Design von J. Presper Eckert und dem ENIAC von John William Mauchly da gewesen, aber wurde am Anfang weggelassen, so dass es eher beendet werden konnte. Am 30. Juni 1945, bevor ENIAC gemacht wurde, hat Mathematiker John von Neumann das Papier genannt der Erste Entwurf eines Berichts über den EDVAC verteilt. Es war der Umriss eines speicherprogrammierten Computers, der schließlich im August 1949 vollendet würde. EDVAC wurde entworfen, um eine bestimmte Anzahl von Instruktionen (oder Operationen) verschiedener Typen durchzuführen. Diese Instruktionen konnten verbunden werden, um nützliche Programme für den EDVAC zu schaffen, um zu laufen. Bedeutsam wurden die für EDVAC geschriebenen Programme im Hochleistungscomputergedächtnis versorgt aber nicht durch die physische Verdrahtung des Computers angegeben. Das hat eine strenge Beschränkung von ENIAC überwunden, der die längere Zeitdauer und Anstrengung war, die erforderlich ist, den Computer wiederzukonfigurieren, um eine neue Aufgabe durchzuführen. Mit dem Design von von Neumann konnte das Programm oder Software, die EDVAC geführt hat, einfach durch das Ändern des Inhalts des Gedächtnisses geändert werden.

Frühe Zentraleinheiten waren als ein Teil eines größeren, manchmal einzigartig, Computer kundenspezifisch. Jedoch hat diese Methode, kundenspezifische Zentraleinheiten für eine besondere Anwendung zu entwerfen, zur Entwicklung von serienmäßig hergestellten Verarbeitern größtenteils nachgegeben, die zu vielen Zwecken gemacht werden. Diese Standardisierung hat im Zeitalter von getrennten Transistor-Großrechnern und Minicomputern begonnen und hat sich mit der Popularisierung des einheitlichen Stromkreises (IC) schnell beschleunigt. Der IC hat immer komplizierteren Zentraleinheiten erlaubt, entworfen und zur Toleranz auf der Ordnung von Nanometern verfertigt zu werden. Sowohl die Miniaturisierung als auch Standardisierung von Zentraleinheiten haben die Anwesenheit von Digitalgeräten im modernen Leben weit außer der beschränkten Anwendung hingebungsvoller Rechenmaschinen vergrößert. Moderne Mikroprozessoren erscheinen in allem von Automobilen bis Mobiltelefone und die Spielsachen von Kindern.

Während von Neumann meistenteils das Design des speicherprogrammierten Computers wegen seines Designs von EDVAC, anderen vor ihm wie Konrad Zuse zugeschrieben wird, vorgeschlagen hatte und ähnliche Ideen durchgeführt hatten. Die so genannte Architektur von Harvard von Harvard I Zeichen, der vor EDVAC vollendet wurde, hat auch ein speicherprogrammiertes Design mit dem geschlagenen Lochstreifen aber nicht elektronischen Gedächtnis verwertet. Der Schlüsselunterschied zwischen dem von Neumann und den Architekturen von Harvard ist, dass der Letztere die Lagerung und Behandlung von Zentraleinheitsinstruktionen und Daten, während der ehemalige Gebrauch derselbe Speicherraum für beide trennt. Die meisten modernen Zentraleinheiten sind in erster Linie von Neumann im Design, aber Elemente der Architektur von Harvard werden ebenso allgemein gesehen.

Relais und Vakuumtuben (thermionische Klappen) wurden als Koppelglieder allgemein verwendet; ein nützlicher Computer verlangt Tausende oder Zehntausende von umschaltenden Geräten. Die gesamte Geschwindigkeit eines Systems ist von der Geschwindigkeit der Schalter abhängig. Tube-Computer wie EDVAC haben dazu geneigt, acht Stunden zwischen Misserfolgen im Durchschnitt zu betragen, wohingegen Relaiscomputer wie (langsamer, aber früher) Zeichen von Harvard ich sehr selten gescheitert habe. Schließlich sind gestützte Zentraleinheiten der Tube dominierend geworden, weil die bedeutenden Geschwindigkeitsvorteile gewährt allgemein die Zuverlässigkeitsprobleme überwogen haben. Die meisten dieser frühen gleichzeitigen Zentraleinheiten sind an niedrigen Uhr-Raten im Vergleich zu modernen mikroelektronischen Designs gelaufen (sieh unten für eine Diskussion der Uhr-Rate). Uhr-Signalfrequenzen im Intervall von 100 Kilohertz bis 4 MHz waren in dieser Zeit, beschränkt größtenteils durch die Geschwindigkeit der umschaltenden Geräte sehr üblich, mit denen sie gebaut wurden.

Kontrolleinheit

Die Kontrolleinheit der Zentraleinheit enthält Schaltsystem, das elektrische Signale verwendet, das komplette Computersystem zu leiten, um speicherprogrammierte Anweisungen zu befolgen. Die Kontrolleinheit führt Programm-Instruktionen nicht durch; eher leitet es andere Teile des Systems, um so zu tun. Die Kontrolleinheit muss sowohl mit der arithmetischen/Logik Einheit als auch mit dem Gedächtnis kommunizieren.

Getrennter Transistor und integrierte Stromkreis-Zentraleinheiten

Die Designkompliziertheit von Zentraleinheiten hat als verschiedene erleichterte Technologien zugenommen, kleinere und zuverlässigere elektronische Geräte bauend. Die erste derartige Verbesserung ist mit dem Advent des Transistors gekommen. Transistorisierte Zentraleinheiten während der 1950er Jahre und der 1960er Jahre mussten nicht mehr aus umfangreichen, unzuverlässigen und zerbrechlichen Koppelgliedern wie Vakuumtuben und elektrische Relais gebaut werden. Mit dieser Verbesserung wurden kompliziertere und zuverlässige Zentraleinheiten auf eine oder mehrere gedruckte Leiterplatten gebaut, die getrennte (individuelle) Bestandteile enthalten.

Während dieser Periode hat eine Methode, viele Transistoren in einem Kompaktraum zu verfertigen, Beliebtheit gewonnen. Der einheitliche Stromkreis (IC) hat einer Vielzahl von Transistoren erlaubt, auf einer Halbleiter-basierten Single verfertigt zu werden, sterben oder "Span". An den ersten nur sehr grundlegenden Nichtspezialdigitalstromkreisen solcher als NOCH Tore wurden in ICs miniaturisiert. Zentraleinheiten, die auf diesen "Baustein" ICs gestützt sind, werden allgemein "kleine Integration" (SSI) Geräte genannt. SSI ICs, wie diejenigen, die im Leitungscomputer von Apollo verwendet sind, hat gewöhnlich bis zu einige Kerbe-Transistoren enthalten. Um eine komplette Zentraleinheit aus SSI zu bauen, hat ICs Tausende von individuellen Chips verlangt, aber hat noch viel weniger Raum und Macht verbraucht als früher getrennte Transistor-Designs. Da mikroelektronische Technologie vorwärts gegangen ist, eine steigende Zahl von Transistoren wurden auf ICs gelegt, so die Menge von individuellem für eine ganze Zentraleinheit erforderlichem ICs vermindernd. MSI und LSI (Medium - und groß angelegte Integration) ICs haben Transistor-Zählungen zu Hunderten, und dann Tausenden vergrößert.

1964 hat IBM seine Computerarchitektur des Systems/360 eingeführt, die in einer Reihe von Computern verwendet wurde, die dieselben Programme mit der verschiedenen Geschwindigkeit und Leistung führen konnten. Das war bedeutend, als die meisten elektronischen Computer miteinander, sogar diejenigen unvereinbar waren, die von demselben Hersteller gemacht sind. Um diese Verbesserung zu erleichtern, hat IBM das Konzept eines Mikroprogramms verwertet (häufig genannt "Mikrocode"), der noch weit verbreiteten Gebrauch in modernen Zentraleinheiten sieht. Die Architektur des Systems/360 war so populär, dass sie den Großrechner-Computermarkt seit Jahrzehnten beherrscht hat und ein Vermächtnis verlassen hat, das noch durch ähnliche moderne Computer wie IBM zSeries fortgesetzt wird. In demselben Jahr (1964) hat Digital Equipment Corporation (DEC) einen anderen einflussreichen Computer eingeführt, der auf die wissenschaftlichen Märkte und Forschungsmärkte, den PDP-8 gerichtet ist. DEZ würde später die äußerst populäre PDP-11 Linie einführen, die ursprünglich mit SSI ICs gebaut wurde, aber schließlich mit LSI Bestandteilen durchgeführt wurde, sobald diese praktisch geworden sind. In der steifen Unähnlichkeit mit seinem SSI und MSI Vorgängern hat die erste LSI Durchführung des PDP-11 eine aus integrierten Stromkreisen von nur vier LSI zusammengesetzte Zentraleinheit enthalten.

Transistor-basierte Computer hatten mehrere verschiedene Vorteile gegenüber ihren Vorgängern. Beiseite von der Erleichterung der vergrößerten Zuverlässigkeit und des niedrigeren Macht-Verbrauchs haben Transistoren auch Zentraleinheiten erlaubt, mit viel höheren Geschwindigkeiten wegen der kurzen umschaltenden Zeit eines Transistors im Vergleich mit einer Tube oder Relais zu funktionieren. Dank beider die vergrößerte Zuverlässigkeit sowie die drastisch vergrößerte Geschwindigkeit der Koppelglieder (die fast exklusiv Transistoren zu diesem Zeitpunkt waren) wurden Zentraleinheitsuhr-Raten in den Zehnen des Megahertz während dieser Periode erhalten. Zusätzlich, während getrennter Transistor und IC Zentraleinheiten im schweren Gebrauch, den neuen Hochleistungsdesigns wie SIMD waren (Einzelne Instruktion Vielfache Daten), haben Vektor-Verarbeiter begonnen zu erscheinen. Diese frühen Versuchspläne haben später das Zeitalter von Spezialsupercomputern wie diejenigen verursacht, die von Cray Inc. gemacht sind

Mikroprozessoren

In den 1970er Jahren haben die grundsätzlichen Erfindungen durch Federico Faggin (Silikontor MOS ICs mit selbst ausgerichtete Tore zusammen mit seiner neuen zufälligen Logikdesignmethodik) das Design und die Durchführung von Zentraleinheiten für immer geändert. Seit der Einführung des ersten gewerblich verfügbaren Mikroprozessors (Intel 4004) 1970 und des ersten weit verwendeten Mikroprozessors (Intel 8080) 1974 hat diese Klasse von Zentraleinheiten fast alle anderen in einer Prozession gehenden Haupteinheitsdurchführungsmethoden völlig eingeholt. Großrechner und Minicomputer-Hersteller der Zeit haben IC Eigentumsentwicklungsprogramme gestartet, um ihre älteren Computerarchitekturen und schließlich erzeugten Befehlssatz vereinbare Mikroprozessoren zu befördern, die mit ihrer älteren Hardware und Software rückwärts kompatibel waren. Verbunden mit dem Advent und schließlichen riesengroßen Erfolg des jetzt allgegenwärtigen Personalcomputers wird der Begriff Zentraleinheit jetzt fast exklusiv auf Mikroprozessoren angewandt. Mehrere Zentraleinheiten können in einem einzelnen in einer Prozession gehenden Span verbunden werden.

Vorherige Generationen von Zentraleinheiten wurden als getrennte Bestandteile und zahlreiche kleine einheitliche Stromkreise (ICs) auf einer oder mehr Leiterplatten durchgeführt. Mikroprozessoren sind andererseits auf einer sehr kleinen Zahl von ICs verfertigte Zentraleinheiten; gewöhnlich gerade ein. Die gesamte kleinere Zentraleinheitsgröße infolge des durchführet auf einer Single stirbt Mittel, die schneller Zeit wegen physischer Faktoren wie vermindertes Tor parasitische Kapazität schalten. Das hat gleichzeitigen Mikroprozessoren erlaubt, Uhr-Raten im Intervall von Zehnen des Megahertz zu mehrerem Gigahertz zu haben. Zusätzlich, weil die Fähigkeit, außerordentlich kleine Transistoren auf einem IC zu bauen, zugenommen hat, haben die Kompliziertheit und Zahl von Transistoren in einer einzelnen Zentraleinheit drastisch zugenommen. Diese weit beobachtete Tendenz wird durch das Gesetz von Moore beschrieben, das sich erwiesen hat, ein ziemlich genauer Prophet des Wachstums der Zentraleinheit (und anderer IC) Kompliziertheit bis heute zu sein.

Während sich die Kompliziertheit, die Größe, der Aufbau und die allgemeine Form von Zentraleinheiten drastisch im Laufe der letzten sechzig Jahre geändert haben, ist es bemerkenswert, dass sich das grundlegende Design und die Funktion viel überhaupt nicht geändert haben. Fast alle allgemeinen Zentraleinheiten können heute als von Neumann speicherprogrammierte Maschinen sehr genau beschrieben werden. Als das Gesetz des oben erwähnten Moores fortsetzt für wahr zu halten, sind Sorgen über die Grenzen der einheitlichen Stromkreis-Transistor-Technologie entstanden. Die äußerste Miniaturisierung von elektronischen Toren veranlasst die Effekten von Phänomenen wie electromigration und Subschwellenleckage, viel bedeutender zu werden. Diese neueren Sorgen sind unter den vielen Faktoren, die Forscher veranlassen, neue Methoden zu untersuchen, wie der Quant-Computer zu rechnen, sowie den Gebrauch des Parallelismus und der anderen Methoden auszubreiten, die die Nützlichkeit des klassischen Modells von von Neumann erweitern.

Operation

Die grundsätzliche Operation von den meisten Zentraleinheiten, unabhängig von der physischen Form, die sie annehmen, soll eine Folge von versorgten Instruktionen genannt ein Programm durchführen. Das Programm wird durch eine Reihe von Zahlen vertreten, die in einer Art Computergedächtnis behalten werden. Es gibt vier Schritte, die fast alle Zentraleinheiten in ihrer Operation verwenden: Holen Sie herbei, decodieren Sie, führen Sie und writeback durch.

Der erste Schritt, Abruf, schließt das Wiederbekommen einer Instruktion ein (der durch eine Zahl oder Folge von Zahlen vertreten wird) vom Programm-Gedächtnis. Die Position im Programm-Gedächtnis wird durch einen Programm-Schalter (PC) bestimmt, der eine Zahl versorgt, die die aktuelle Position im Programm identifiziert. Nachdem eine Instruktion herbeigeholt wird, wird der PC durch die Länge des Instruktionswortes in Bezug auf Speichereinheiten erhöht. Häufig muss die Instruktion, herbeigeholt zu werden, vom relativ langsamen Gedächtnis wiederbekommen werden, die Zentraleinheit veranlassend, stecken zu bleiben, während man auf die Instruktion wartet, zurückgegeben zu werden. Dieses Problem wird in modernen Verarbeitern durch geheime Lager und Rohrleitungsarchitekturen (sieh unten) größtenteils gerichtet.

Die Instruktion, dass die Zentraleinheitsabrufe auswendig verwendet werden, um zu bestimmen, was die Zentraleinheit tun soll. Im decodieren Schritt wird die Instruktion in Teile zerbrochen, die Bedeutung zu anderen Teilen der Zentraleinheit haben. Der Weg, auf den der numerische Instruktionswert interpretiert wird, wird durch die Befehlssatz-Architektur (ISA) der Zentraleinheit definiert. Häufig zeigt eine Gruppe von Zahlen in der Instruktion, genannt den opcode, der Operation an zu leisten. Die restlichen Teile der Zahl geben gewöhnlich Auskunft, die für diese Instruktion wie operands für eine Hinzufügungsoperation erforderlich ist. Solcher operands kann als ein unveränderlicher Wert gegeben werden (hat einen unmittelbaren Wert genannt), oder als ein Platz, einen Wert ausfindig zu machen: ein Register oder eine Speicheradresse, wie bestimmt, durch eine Wenden-Weise. In älteren Designs waren die Teile der für die Instruktionsentzifferung verantwortlichen Zentraleinheit unveränderliche Hardware-Geräte. Jedoch, in abstrakteren und komplizierten Zentraleinheiten und ISAs, wird ein Mikroprogramm häufig verwendet, um beim Übersetzen von Instruktionen in verschiedene Konfigurationssignale für die Zentraleinheit zu helfen. Dieses Mikroprogramm ist manchmal überschreibbar, so dass es modifiziert werden kann, um die Weise zu ändern, wie die Zentraleinheit Instruktionen sogar decodiert, nachdem es verfertigt worden ist.

Nach dem Abruf und decodieren Schritte, der durchführen Schritt wird durchgeführt. Während dieses Schritts werden verschiedene Teile der Zentraleinheit so verbunden sie können die gewünschte Operation durchführen. Wenn, zum Beispiel, eine Hinzufügungsoperation gebeten wurde, wird die arithmetische Logikeinheit (ALU) mit einer Reihe von Eingängen und einer Reihe von Produktionen verbunden. Die Eingänge stellen die Zahlen zur Verfügung, die hinzuzufügen sind, und die Produktionen werden die Endsumme enthalten. Der ALU enthält das Schaltsystem, um einfache arithmetische und logische Operationen auf den Eingängen (wie Hinzufügung und bitwise Operationen) durchzuführen. Wenn die Hinzufügungsoperation ein für die Zentraleinheit zu großes Ergebnis erzeugt, um zu behandeln, kann eine arithmetische Überschwemmungsfahne in einem Fahne-Register auch gesetzt werden.

Der Endschritt, writeback, "schreibt" einfach die Ergebnisse des durchführen Schritts zu einer Form des Gedächtnisses "zurück". Sehr häufig werden die Ergebnisse einem inneren Zentraleinheitsregister für den schnellen Zugang durch nachfolgende Instruktionen geschrieben. In anderen Fällen können Ergebnisse langsamer, aber preiswerteres und größeres, wichtiges Gedächtnis geschrieben werden. Einige Typen von Instruktionen manipulieren den Programm-Schalter aber nicht erzeugen direkt Ergebnis-Daten. Diese werden allgemein "Sprünge" genannt und erleichtern Verhalten wie Schleifen, bedingte Programm-Ausführung (durch den Gebrauch eines bedingten Sprungs), und Funktionen in Programmen. Viele Instruktionen werden auch den Staat von Ziffern in einem "Fahne"-Register ändern. Diese Fahnen können verwendet werden, um zu beeinflussen, wie sich ein Programm benimmt, da sie häufig das Ergebnis von verschiedenen Operationen anzeigen. Zum Beispiel "vergleicht" "sich" ein Typ dessen Instruktion denkt zwei Werte und setzt eine Zahl im Fahne-Register, gemäß dem größer ist. Diese Fahne konnte dann durch eine spätere Sprung-Instruktion verwendet werden, Programm-Fluss zu bestimmen.

Nach der Ausführung der Instruktion und writeback der resultierenden Daten, der kompletten Prozess-Wiederholungen, mit dem folgenden Instruktionszyklus, der normalerweise die in der Folge folgende Instruktion wegen des erhöhten Werts im Programm-Schalter herbeiholt. Wenn die vollendete Instruktion ein Sprung war, wird der Programm-Schalter modifiziert, um die Adresse der Instruktion zu enthalten, die zu gesprungen wurde, und Programm-Ausführung normalerweise weitergeht. In komplizierteren Zentraleinheiten als diejenige beschrieben hier können vielfache Instruktionen herbeigeholt, decodiert, und gleichzeitig durchgeführt werden. Diese Abteilung beschreibt, was allgemein die "klassische RISC Rohrleitung" genannt wird, die tatsächlich unter den einfachen Zentraleinheiten ziemlich üblich ist, die in vielen elektronischen Geräten (häufig verwendet sind, genannt Mikrokontrolleur). Es ignoriert größtenteils die wichtige Rolle des geheimen Zentraleinheitslagers, und deshalb die Zugriffsbühne der Rohrleitung.

Design und Durchführung

Das grundlegende Konzept einer Zentraleinheit ist wie folgt:

Festverdrahtet in ein Design einer Zentraleinheit ist eine Liste von grundlegenden Operationen, die es, genannt einen Befehlssatz durchführen kann. Solche Operationen können das Hinzufügen oder Abziehen von zwei Zahlen, Vergleichen von Zahlen oder Springen zu einem verschiedenen Teil eines Programms einschließen. Jede dieser grundlegenden Operationen wird durch eine besondere Folge von Bit vertreten; diese Folge wird den opcode nach dieser besonderen Operation genannt. Das Senden eines besonderen opcode zu einer Zentraleinheit wird es veranlassen, die Operation durchzuführen, die dadurch opcode vertreten ist. Um eine Instruktion in einem Computerprogramm durchzuführen, verwendet die Zentraleinheit den opcode für diese Instruktion sowie seine Argumente (zum Beispiel die zwei Zahlen, die, im Fall von einer Hinzufügungsoperation hinzuzufügen sind). Ein Computerprogramm ist deshalb eine Folge von Instruktionen, mit jeder Instruktion einschließlich eines opcode und dass die Argumente der Operation.

Die wirkliche mathematische Operation wegen jeder Instruktion wird durch eine Subeinheit der Zentraleinheit durchgeführt, die als die arithmetische Logikeinheit oder ALU bekannt ist. Zusätzlich zum Verwenden seines ALU, um Operationen durchzuführen, ist eine Zentraleinheit auch dafür verantwortlich, die folgende Instruktion auswendig zu lesen, Daten lesend, die in Argumenten auswendig angegeben sind, und Ergebnisse dem Gedächtnis schreibend.

In vielen Zentraleinheitsdesigns wird ein Befehlssatz klar zwischen Operationen differenzieren, die Daten auswendig und diejenigen laden, die Mathematik durchführen. In diesem Fall werden die Daten geladen auswendig in Registern versorgt, und eine mathematische Operation nimmt keine Argumente, aber führt einfach die Mathematik auf den Daten in den Registern durch und schreibt es einem neuen Register, dessen Wert eine getrennte Operation dann dem Gedächtnis schreiben kann.

Reihe der ganzen Zahl

Auf die Weise vertritt eine Zentraleinheit Zahlen ist eine Designwahl, die die grundlegendsten Wege betrifft, auf die das Gerät fungiert. Einige frühe Digitalcomputer haben ein elektrisches Modell der allgemeinen Dezimalzahl verwendet (stützen Sie zehn) Ziffer-System, um Zahlen innerlich zu vertreten. Einige andere Computer haben exotischere Ziffer-Systeme wie dreifältiger verwendet (stützen Sie drei). Fast alle modernen Zentraleinheiten vertreten Zahlen in der binären Form mit jeder Ziffer, die durch etwas zwei geschätzte physische Menge wie eine "hohe" oder "niedrige" Stromspannung wird vertritt.

Verbunden mit der Zahl-Darstellung ist die Größe und Präzision von Zahlen, die eine Zentraleinheit vertreten kann. Im Fall von einer binären Zentraleinheit bezieht sich wenig auf einen bedeutenden Platz in den Zahlen, mit denen sich eine Zentraleinheit befasst. Die Zahl von Bit (oder Ziffer-Plätze) ein Zentraleinheitsgebrauch, um Zahlen zu vertreten, wird häufig "Wortgröße" genannt, "hat Breite", "Datenpfad-Breite", oder "Präzision der ganzen Zahl" wenn gebissen, sich ausschließlich mit Zahlen der ganzen Zahl (im Vergleich mit dem Schwimmpunkt) befassend. Diese Zahl unterscheidet sich zwischen Architekturen, und häufig innerhalb von verschiedenen Teilen selber Zentraleinheit. Zum Beispiel befasst sich eine 8-Bit-Zentraleinheit mit einer Reihe von Zahlen, die durch acht binäre Ziffern (jede Ziffer vertreten werden können, die zwei mögliche Werte hat), d. h. 2 oder 256 getrennte Zahlen. Tatsächlich legt Größe der ganzen Zahl eine Hardware-Grenze zwischen der Reihe von ganzen Zahlen fest, die die durch die Zentraleinheit geführte Software verwerten kann.

Reihe der ganzen Zahl kann auch die Zahl von Positionen im Gedächtnis betreffen, das die Zentraleinheit richten kann (lassen sich nieder). Zum Beispiel, wenn eine binäre Zentraleinheit 32 Bit verwendet, um eine Speicheradresse zu vertreten, und jede Speicheradresse ein Oktett (8 Bit) vertritt, ist die maximale Menge des Gedächtnisses, das Zentraleinheit richten kann, 2 Oktette, oder 4 GiB. Das ist eine sehr einfache Ansicht vom Zentraleinheitsadressraum, und viele Designs verwenden kompliziertere Wenden-Methoden wie Paginierung, um mehr Gedächtnis ausfindig zu machen, als ihre Reihe der ganzen Zahl mit einem flachen Adressraum erlauben würde.

Höhere Niveaus der Reihe der ganzen Zahl verlangen, dass sich mehr Strukturen mit den zusätzlichen Ziffern, und deshalb mehr Kompliziertheit, der Größe, dem Macht-Gebrauch und dem allgemeinen Aufwand befassen. Es ist deshalb überhaupt nicht ungewöhnlich, um 4- oder in modernen Anwendungen verwendete 8-Bit-Mikrokontrolleure zu sehen, wenn auch Zentraleinheiten mit der viel höheren Reihe (solcher als 16, 32, 64, sogar 128 Bit) verfügbar sind. Die einfacheren Mikrokontrolleure sind gewöhnlich preiswerter, verwenden weniger Macht, und erzeugen deshalb weniger Hitze, von denen alle Hauptdesignrücksichten für elektronische Geräte sein können. Jedoch, in Anwendungen des höheren Endes, sind die Vorteile, die durch die Extrareihe (meistenteils der zusätzliche Adressraum) gewährt sind, bedeutender und betreffen häufig Designwahlen. Um einige der Vorteile zu gewinnen, die sowohl durch tiefer als auch durch höhere Bit-Längen gewährt sind, werden viele Zentraleinheiten mit verschiedenen Bit-Breiten für verschiedene Teile des Geräts entworfen. Zum Beispiel hat IBM System/370 eine Zentraleinheit verwendet, die in erster Linie 32 Bit war, aber er hat 128-Bit-Präzision innerhalb seiner Schwimmpunkt-Einheiten verwendet, um größere Genauigkeit und Reihe in Schwimmpunkt-Zahlen zu erleichtern. Viele spätere Zentraleinheitsdesigns verwenden ähnliche Mischbit-Breite besonders, wenn der Verarbeiter für den Mehrzweckgebrauch gemeint wird, wo ein angemessenes Gleichgewicht der ganzen Zahl und Punkt-Fähigkeit schwimmen lassend, erforderlich ist.

Uhr-Rate

Die Uhr-Rate ist die Geschwindigkeit, mit der ein Mikroprozessor Instruktionen durchführt. Jeder Computer enthält eine innere Uhr, die die Rate regelt, an der Instruktionen durchgeführt werden und alle verschiedenen Computerbestandteile synchronisiert. Die Zentraleinheit verlangt, dass eine festgelegte Zahl von Uhr-Zecken (oder Uhr-Zyklen) jede Instruktion durchführt. Je schneller die Uhr, desto mehr Instruktionen die Zentraleinheit pro Sekunde durchführen können.

Die meisten Zentraleinheiten, und tatsächlich die meisten folgenden Logikgeräte, sind in der Natur gleichzeitig. D. h. sie werden entworfen und funktionieren auf Annahmen über ein Synchronisationssignal. Dieses Signal, das als ein Uhr-Signal bekannt ist, nimmt gewöhnlich die Form einer periodischen Quadratwelle an. Indem sie die maximale Zeit berechnen, dass sich elektrische Signale in verschiedenen Zweigen von vielen Stromkreisen einer Zentraleinheit bewegen können, können die Entwerfer eine passende Periode für das Uhr-Signal auswählen.

Diese Periode muss länger sein als die Zeitdauer, die sie für ein Signal nimmt, sich zu bewegen, oder sich im größten anzunehmenden Unfall fortzupflanzen. Im Setzen der Uhr-Periode zu einem Wert ganz über der Grenzfall-Fortpflanzungsverzögerung ist es möglich, die komplette Zentraleinheit und die Weise zu entwerfen, wie es Daten um die "Ränder" des Steigens und fallenden Uhr-Signals bewegt. Das ist im Vorteil, die Zentraleinheit bedeutsam, sowohl von einer Designperspektive als auch von einer Teilzählungsperspektive zu vereinfachen. Jedoch trägt es auch den Nachteil, dass die komplette Zentraleinheit seine langsamsten Elemente bedienen muss, wenn auch einige Teile davon viel schneller sind. Diese Beschränkung ist für durch verschiedene Methoden größtenteils ersetzt worden, Zentraleinheitsparallelismus zu vergrößern. (sehen unten)

Jedoch lösen architektonische Verbesserungen allein alle Nachteile von allgemein gleichzeitigen Zentraleinheiten nicht. Zum Beispiel ist ein Uhr-Signal den Verzögerungen jedes anderen elektrischen Signals unterworfen. Höhere Uhr-Raten in immer komplizierteren Zentraleinheiten machen es schwieriger, das Uhr-Signal in der überall in der kompletten Einheit (synchronisierten) Phase zu halten. Das hat viele moderne Zentraleinheiten dazu gebracht zu verlangen, dass vielfache identische Uhr-Signale zur Verfügung gestellt werden, um zu vermeiden, ein einzelnes Signal bedeutsam genug zu verzögern, um die Zentraleinheit zu veranlassen, schlecht zu funktionieren. Ein anderes Hauptproblem als Uhr-Rate-Zunahme ist drastisch der Betrag der Hitze, die durch die Zentraleinheit zerstreut wird. Die sich ständig ändernde Uhr veranlasst viele Bestandteile, unabhängig davon umzuschalten, ob sie damals verwendet werden. Im Allgemeinen, ein Bestandteil, der Gebrauch mehr Energie schaltet als ein Element in einem statischen Staat. Deshalb, als Uhr-Rate Zunahmen, so Verschwendung heizt, die Zentraleinheit veranlassend, wirksamere kühl werdende Lösungen zu verlangen.

Eine Methode, sich mit der Schaltung von nicht benötigten Bestandteilen zu befassen, wird Uhr gating genannt, der das Abdrehen des Uhr-Signals zu nicht benötigten Bestandteilen einschließt (effektiv sie unbrauchbar machend). Jedoch wird das häufig als schwierig betrachtet durchzuführen und sieht deshalb allgemeinen Gebrauch außerhalb sehr Designs der niedrigen Macht nicht. Ein bemerkenswertes spätes Zentraleinheitsdesign, das Uhr gating verwendet, ist das von IBM PowerPC-based Xbox 360. Es verwertet umfassende Uhr gating, um die Macht-Voraussetzungen der oben erwähnten Videospiel-Konsole zu reduzieren, in der es verwendet wird. Eine andere Methode, einige der Probleme mit einem globalen Uhr-Signal zu richten, ist die Eliminierung des Uhr-Signals zusammen. Während das Entfernen des globalen Uhr-Signals das Design beträchtlich komplizierter auf viele Weisen, asynchron in einer Prozession gehen lässt (oder clockless), tragen Designs gekennzeichnete Vorteile im Macht-Verbrauch und heizen Verschwendung im Vergleich mit ähnlichen gleichzeitigen Designs. Während etwas ungewöhnlich, sind komplette asynchrone Zentraleinheiten gebaut worden, ohne ein globales Uhr-Signal zu verwerten. Zwei bemerkenswerte Beispiele davon sind der ARM entgegenkommendes AMULETT und der MIPS R3000 vereinbarer MiniMIPS. Anstatt das Uhr-Signal völlig zu entfernen, erlauben einige Zentraleinheitsdesigns bestimmten Teilen des Geräts, wie das Verwenden asynchronen ALUs in Verbindung mit dem Superskalar pipelining asynchron zu sein, um einige arithmetische Leistungszunahmen zu erreichen. Während es nicht zusammen klar ist, ob völlig asynchrone Designs an einem vergleichbaren oder besseren Niveau leisten können als ihre gleichzeitigen Kollegen, ist es offensichtlich, dass sie wirklich mindestens in einfacheren Matheoperationen hervorragen. Das, das mit ihrem ausgezeichneten Macht-Verbrauch und Hitzeverschwendungseigenschaften verbunden ist, macht sie sehr passend für eingebettete Computer.

Parallelismus

Die Beschreibung der grundlegenden Operation einer in der vorherigen Abteilung angebotenen Zentraleinheit beschreibt die einfachste Form, die eine Zentraleinheit annehmen kann. Dieser Typ der Zentraleinheit, gewöhnlich gekennzeichnet als Subskalar, funktioniert darauf und führt eine Instruktion auf einem oder zwei Stücken von Daten auf einmal durch.

Dieser Prozess verursacht eine innewohnende Wirkungslosigkeit in Subskalarzentraleinheiten. Da nur eine Instruktion auf einmal durchgeführt wird, muss die komplette Zentraleinheit auf diese Instruktion warten, vor dem Verfahren zur folgenden Instruktion zu vollenden. Infolgedessen wird die Subskalarzentraleinheit auf Instruktionen "aufgehängt", die mehr als einen Uhr-Zyklus bringen, um Ausführung zu vollenden. Sogar das Hinzufügen einer zweiten Ausführungseinheit verbessert (sieh unten) Leistung viel nicht; anstatt eines Pfads, der jetzt wird aufhängt, werden zwei Pfade aufgehängt, und die Zahl von unbenutzten Transistoren wird gesteigert. Dieses Design, worin die Ausführungsmittel der Zentraleinheit auf nur einer Instruktion auf einmal funktionieren können, kann nur vielleicht Skalarleistung (eine Instruktion pro Uhr) erreichen. Jedoch ist die Leistung fast immer Subskalar (weniger als eine Instruktion pro Zyklus).

Versuche, bessere und Skalarleistung zu erreichen, sind auf eine Vielfalt von Designmethodiken hinausgelaufen, die die Zentraleinheit veranlassen, sich weniger geradlinig und mehr in der Parallele zu benehmen. Wenn man sich auf den Parallelismus in Zentraleinheiten bezieht, werden zwei Begriffe allgemein gebraucht, um diese Designtechniken zu klassifizieren. Instruktionsniveau-Parallelismus (ILP) bemüht sich, die Rate zu vergrößern, an der Instruktionen innerhalb einer Zentraleinheit durchgeführt werden (d. h. um die Anwendung auf zu vergrößern - sterben Ausführungsmittel), und Zwecke des Faden-Niveau-Parallelismus (TLP), die Zahl von Fäden zu steigern (effektiv individuelle Programme), den eine Zentraleinheit gleichzeitig durchführen kann. Jede Methodik unterscheidet sich beide in den Wegen, auf die sie, sowie die Verhältniswirksamkeit durchgeführt werden, die sie in der Erhöhung der Leistung der Zentraleinheit für eine Anwendung gewähren.

Instruktionsniveau-Parallelismus

Eine der einfachsten Methoden, die verwendet sind, um vergrößerten Parallelismus zu vollbringen, soll die ersten Schritte des Instruktionsholens und der Entzifferung beginnen, bevor die vorherige Instruktion beendet durchzuführen. Das ist die einfachste Form einer Technik, die als Instruktion pipelining bekannt ist, und wird in fast allen modernen Mehrzweckzentraleinheiten verwertet. Pipelining erlaubt mehr als einer Instruktion, zu jeder vorgegebenen Zeit durch das Brechen des Ausführungspfads in getrennte Stufen durchgeführt zu werden. Diese Trennung kann im Vergleich zu einem Montageband sein, in dem eine Instruktion mehr abgeschlossen in jeder Bühne gemacht wird, bis es über die Ausführungsrohrleitung herrscht und pensioniert ist.

Pipelining führt wirklich jedoch die Möglichkeit für eine Situation ein, wo das Ergebnis der vorherigen Operation erforderlich ist, um die folgende Operation zu vollenden; eine Bedingung hat häufig Datenabhängigkeitskonflikt genannt. Um damit fertig zu werden, muss zusätzliche Sorge gebracht werden, um für diese Sorten von Bedingungen zu überprüfen und einen Teil der Instruktionsrohrleitung zu verzögern, wenn das vorkommt. Natürlich verlangt Vollendung davon zusätzliches Schaltsystem, so sind pipelined Verarbeiter komplizierter als subskalare (obwohl nicht sehr bedeutsam so). Ein pipelined Verarbeiter kann sehr fast Skalar, gehemmt nur durch Rohrleitungsmarktbuden (eine Instruktion werden, mehr als einen Uhr-Zyklus in einer Bühne ausgebend).

Die weitere Verbesserung auf die Idee von der Instruktion pipelining hat zur Entwicklung einer Methode geführt, die die Bereitschaftszeit von Zentraleinheitsbestandteilen noch weiter vermindert. Designs, die, wie man sagt, Superskalar sind, schließen eine lange Instruktionsrohrleitung und vielfache identische Ausführungseinheiten ein. In einer Superskalarrohrleitung werden vielfache Instruktionen gelesen und einem Fahrdienstleiter passiert, der entscheidet, ob die Instruktionen in der Parallele (gleichzeitig) durchgeführt werden können. Wenn, so werden sie zu verfügbaren Ausführungseinheiten entsandt, auf die Fähigkeit zu mehreren Instruktionen hinauslaufend, gleichzeitig durchgeführt zu werden. Im Allgemeinen, je mehr Instruktionen, die eine Superskalarzentraleinheit im Stande ist, gleichzeitig zum Warten auf Ausführungseinheiten zu entsenden, desto mehr Instruktionen in einem gegebenen Zyklus vollendet werden.

Der grösste Teil der Schwierigkeit im Design einer Superskalarzentraleinheitsarchitektur liegt im Schaffen eines wirksamen Fahrdienstleiters. Der Fahrdienstleiter muss schnell im Stande sein und richtig bestimmen, ob Instruktionen in der Parallele durchgeführt werden, sowie sie auf solche Art und Weise entsenden können, um so viele Ausführungseinheiten beschäftigt wie möglich zu halten. Das verlangt, dass die Instruktionsrohrleitung so häufig gefüllt wird wie möglich und das Bedürfnis in Superskalararchitekturen für bedeutende Beträge des geheimen Zentraleinheitslagers verursacht. Es macht auch Gefahr vermeidende Techniken wie Zweigvorhersage, spekulative Ausführung, und in Unordnung Ausführung entscheidend für das Aufrechterhalten von hohen Niveaus der Leistung. Indem sie versucht wird vorauszusagen, den Zweig (oder Pfad) eine bedingte Instruktion nehmen wird, kann die Zentraleinheit die Zahl von Zeiten minimieren, auf die die komplette Rohrleitung warten muss, bis eine bedingte Instruktion vollendet wird. Spekulative Ausführung stellt häufig bescheidene Leistungszunahmen durch die Durchführung von Teilen des Codes zur Verfügung, der nicht erforderlich sein darf, nachdem eine bedingte Operation vollendet. In Unordnung ordnet Ausführung etwas die Ordnung um, in der Instruktionen durchgeführt werden, um Verzögerungen wegen Datenabhängigkeiten zu reduzieren. Auch im Falle Einzelner Instruktionen Vielfache Daten — kann ein Fall, wenn viele Daten von demselben Typ, moderne Verarbeiter bearbeitet werden müssen, Teile der Rohrleitung unbrauchbar machen, so dass, wenn eine einzelne Instruktion oft durchgeführt wird, die Zentraleinheit den Abruf auslässt und decodieren Sie Phasen und so außerordentlich Leistung bei bestimmten Gelegenheiten, besonders in hoch eintönigen Programm-Motoren wie Videoentwicklungssoftware und Foto-Verarbeitung vergrößert.

Im Fall, wo ein Teil der Zentraleinheit Superskalar und Teil ist, ist nicht, der Teil, der nicht ist, erträgt eine Leistungsstrafe wegen der Terminplanung von Marktbuden. Intel P5 Pentium hatte zwei Superskalar-ALUs, die eine Instruktion pro Uhr jeder akzeptieren konnten, aber sein FPU konnte eine Instruktion pro Uhr nicht akzeptieren. So war der P5 Superskalar der ganzen Zahl, aber Punkt-Superskalar nicht schwimmen lassend. Der Nachfolger von Intel der P5 Architektur, P6, hat Superskalarfähigkeiten zu seinen Schwimmpunkt-Eigenschaften hinzugefügt, und hat deshalb eine bedeutende Zunahme in der Schwimmpunkt-Instruktionsleistung gewährt.

Sowohl einfacher pipelining als auch Superskalardesign vergrößern einen ILP einer Zentraleinheit, indem sie einem einzelnen Verarbeiter erlaubt wird, Ausführung von Instruktionen an Raten zu vollenden, die eine Instruktion pro Zyklus (IPC) übertreffen. Die meisten modernen Zentraleinheitsdesigns sind mindestens etwas Superskalar, und fast alle allgemeinen Zweck-Zentraleinheiten entworfen sind im letzten Jahrzehnt Superskalar. In späteren Jahren ist etwas von der Betonung im Entwerfen hoher-ILP Computer aus der Hardware der Zentraleinheit und in seine Softwareschnittstelle oder ISA bewegt worden. Die Strategie des sehr langen Instruktionswortes (VLIW) veranlasst einen ILP, einbezogen direkt durch die Software zu werden, den Betrag der Arbeit reduzierend, die die Zentraleinheit durchführen muss, um ILP und dadurch das Reduzieren der Kompliziertheit des Designs zu erhöhen.

Parallelismus des Faden-Niveaus

Eine andere Strategie, Leistung zu erreichen, soll vielfache Programme oder Fäden in der Parallele durchführen.

Dieses Gebiet der Forschung ist als parallele Computerwissenschaft bekannt. In der Taxonomie von Flynn ist diese Strategie als Vielfache mit den Instruktionen vielfache Daten oder MIMD bekannt.

Eine Technologie verwendet ging für diesen Zweck (Abgeordneter) in einer Prozession mehr. Der anfängliche Geschmack nach dieser Technologie ist als symmetrische Mehrverarbeitung (SMP) bekannt, wo eine kleine Zahl von Zentraleinheiten eine zusammenhängende Ansicht von ihrem Speichersystem teilt. In diesem Schema hat jede Zentraleinheit zusätzliche Hardware, um eine ständig aktuelle Ansicht vom Gedächtnis aufrechtzuerhalten. Durch das Vermeiden alter Ansichten vom Gedächtnis können die Zentraleinheiten auf demselben Programm zusammenarbeiten, und Programme können von einer Zentraleinheit bis einen anderen abwandern. Um die Zahl von zusammenarbeitenden Zentraleinheiten außer einer Hand voll zu steigern, wurden Schemas wie ungleichförmiger Speicherzugang (NUMA) und verzeichnisbasierte Kohärenz-Protokolle in den 1990er Jahren eingeführt. SMP Systeme werden auf eine kleine Zahl von Zentraleinheiten beschränkt, während NUMA Systeme mit Tausenden von Verarbeitern gebaut worden sind. Am Anfang wurde Mehrverarbeitung mit vielfachen getrennten Zentraleinheiten und Ausschüssen gebaut, um die Verbindung zwischen den Verarbeitern durchzuführen. Wenn die Verarbeiter und ihre Verbindung alle auf einem einzelnen Siliziumchip durchgeführt werden, ist die Technologie als ein Mehrkernmikroprozessor bekannt.

Es wurde später anerkannt, dass Parallelismus des feineren Kornes mit einem einzelnen Programm bestanden hat. Ein einzelnes Programm könnte mehrere Fäden haben (oder Funktionen), der getrennt oder in der Parallele durchgeführt werden konnte. Einige der frühsten Beispiele dieser Technologie haben Eingang/Produktion durchgeführt, der wie direkter Speicherzugang als ein getrennter Faden vom Berechnungsfaden in einer Prozession geht. Eine allgemeinere Annäherung an diese Technologie wurde in den 1970er Jahren eingeführt, als Systeme entworfen wurden, um vielfache Berechnungsfäden in der Parallele zu führen. Diese Technologie ist als Nebenläufigkeit (MT) bekannt. Diese Annäherung wird rentabler betrachtet als Mehrverarbeitung, weil nur eine kleine Zahl von Bestandteilen innerhalb einer Zentraleinheit wiederholt wird, um MT im Vergleich mit der kompletten Zentraleinheit im Fall vom Abgeordneten zu unterstützen. In MT werden die Ausführungseinheiten und das Speichersystem einschließlich der geheimen Lager unter vielfachen Fäden geteilt. Die Kehrseite von MT ist, dass die Hardware-Unterstützung für die Nebenläufigkeit zur Software mehr sichtbar ist als dieser des Abgeordneten und so die Oberaufseher-Software wie Betriebssysteme größere Änderungen erleben muss, um MT zu unterstützen. Ein Typ von MT, das durchgeführt wurde, ist als Block-Nebenläufigkeit bekannt, wo ein Faden durchgeführt wird, bis es eingestellt wird, auf Daten wartend, um vom Außengedächtnis zurückzukehren. In diesem Schema würde die Zentraleinheit dann auf einen anderen Faden schnell umschalten, der bereit ist, der Schalter zu laufen, der häufig in einem Zentraleinheitsuhr-Zyklus wie die Technologie von UltraSPARC getan ist. Ein anderer Typ von MT ist als gleichzeitige Nebenläufigkeit bekannt, wo Instruktionen von vielfachen Fäden in der Parallele innerhalb eines Zentraleinheitsuhr-Zyklus durchgeführt werden.

Seit mehreren Jahrzehnten von den 1970er Jahren bis zum Anfang der 2000er Jahre war der Fokus im Entwerfen hoher Leistung allgemeine Zweck-Zentraleinheiten größtenteils auf dem Erzielen hohen ILP durch Technologien wie pipelining, geheime Lager, Superskalarausführung, in Unordnung Ausführung usw. Diese Tendenz hat in großen, mit der Macht hungrigen Zentraleinheiten wie Intel Pentium 4 kulminiert. Bis zum Anfang der 2000er Jahre wurden Zentraleinheitsentwerfer davon durchgekreuzt, höhere Leistung von ILP Techniken wegen der wachsenden Verschiedenheit zwischen Zentraleinheit Betriebsfrequenzen und Hauptgedächtnis Betriebsfrequenzen zu erreichen sowie Zentraleinheitsmacht-Verschwendung infolge esoterischerer ILP Techniken zu eskalieren.

Zentraleinheitsentwerfer haben dann Ideen von kommerziellen Rechenmärkten wie Transaktionsverarbeitung geliehen, wo die gesamte Leistung von vielfachen Programmen, auch bekannt als Durchfluss-Computerwissenschaft, wichtiger waren als die Leistung eines einzelnen Fadens oder Programms.

Diese Umkehrung der Betonung wird durch die Proliferation von vielfachem und Doppelkern-CMP (Mehrverarbeitung des Span-Niveaus) Designs und namentlich, die neueren Designs von Intel gezeigt, die P6 seiner weniger Superskalararchitektur ähneln. Späte Designs in mehreren Verarbeiter-Familien stellen CMP, einschließlich x86-64 Opteron und Athlon 64 X2, SPARC UltraSPARC T1, IBM POWER4 und POWER5, sowie mehrere Videospiel-Konsole-Zentraleinheiten wie Xbox 360's Dreifach-Kerndesign von PowerPC und der PS3's 7-Kerne-Zellmikroprozessor aus.

Datenparallelismus

Ein weniger allgemeines, aber immer wichtigeres Paradigma von Zentraleinheiten (und tatsächlich, im Allgemeinen rechnend), befasst sich mit Datenparallelismus. Die Verarbeiter haben besprochen früher werden alle als ein Typ des Skalargeräts gekennzeichnet. Weil der Name, Vektor-Verarbeiter-Geschäft mit vielfachen Stücken von Daten im Zusammenhang einer Instruktion einbezieht. Das hebt sich von Skalarverarbeitern ab, die sich mit einem Stück von Daten für jede Instruktion befassen. Mit der Taxonomie von Flynn werden diese zwei Schemas, sich mit Daten zu befassen, allgemein SIMD (einzelne Instruktion, vielfache Daten) und SISD (einzelne Instruktion, einzelne Daten) beziehungsweise genannt. Das große Dienstprogramm im Schaffen von Zentraleinheiten, die sich mit Vektoren von Daten befassen, liegt in der Optimierung von Aufgaben, die dazu neigen zu verlangen, dass dieselbe Operation (zum Beispiel, eine Summe oder ein Punktprodukt) auf einem großen Satz von Daten durchgeführt wird. Einige klassische Beispiele dieser Typen von Aufgaben sind Multimediaanwendungen (Images, Video und Ton), sowie viele Typen von wissenschaftlichen und Technikaufgaben. Wohingegen eine Skalarzentraleinheit den kompletten Prozess des Holens, der Entzifferung und der Durchführung jeder Instruktion und Werts in einer Reihe von Daten vollenden muss, kann eine Vektor-Zentraleinheit eine einzelne Operation auf einem verhältnismäßig großen Satz von Daten mit einer Instruktion durchführen. Natürlich ist das nur möglich, wenn die Anwendung dazu neigt, viele Schritte zu verlangen, die eine Operation auf einen großen Satz von Daten anwenden.

Frühste Vektor-Zentraleinheiten, wie der Cray-1, wurden fast exklusiv mit der wissenschaftlichen Forschung und den Geheimschrift-Anwendungen vereinigt. Jedoch, weil sich Multimedia zu Digitalmedien größtenteils bewegt haben, ist das Bedürfnis nach einer Form von SIMD in Mehrzweckzentraleinheiten bedeutend geworden. Kurz nachdem die Einschließung von Schwimmpunkt-Ausführungseinheiten angefangen hat, gewöhnlich in Mehrzweckverarbeitern zu werden, haben Spezifizierungen für und Durchführungen von SIMD Ausführungseinheiten auch begonnen, für Mehrzweckzentraleinheiten zu erscheinen. Einige von diesen früh SIMD Spezifizierungen wie die Multimediabeschleunigungserweiterungen des HP (MAX) und der MMX von Intel waren ganze Zahl-Only-. Das hat sich erwiesen, ein bedeutendes Hindernis für einige Softwareentwickler zu sein, da sich viele der Anwendungen, die aus SIMD in erster Linie einen Nutzen ziehen, mit Schwimmpunkt-Zahlen befassen. Progressiv wurden diese frühen Designs raffiniert und in einige der allgemeinen, modernen SIMD Spezifizierungen wieder gemacht, die gewöhnlich mit einem ISA vereinigt werden. Einige bemerkenswerte moderne Beispiele sind der SSE von Intel und PowerPC-verwandter AltiVec (auch bekannt als VMX).

Leistung

Die Leistung oder Geschwindigkeit eines Verarbeiters hängen von der Uhr-Rate (allgemein gegeben in Vielfachen des Hertz) und die Instruktionen pro Uhr (IPC) ab, die zusammen die Faktoren für die Instruktionen pro Sekunde (IPS) sind, die die Zentraleinheit durchführen kann.

Viele haben berichtet, dass IPS-Werte "Maximal"-Ausführungsraten auf künstlichen Befehlsfolgen mit wenigen Zweigen vertreten haben, wohingegen realistische Arbeitspensen aus einer Mischung von Instruktionen und Anwendungen bestehen, von denen einige länger nehmen, um durchzuführen, als andere. Die Leistung der Speicherhierarchie betrifft auch außerordentlich Verarbeitungsleistung, ein in MIPS Berechnungen kaum betrachtetes Problem. Wegen dieser Probleme, verschiedener standardisierter Tests, hat häufig gerufen "Abrisspunkte" für diesen Zweck — wie SPECint - sind entwickelt worden, um zu versuchen, die echte wirksame Leistung in allgemein verwendeten Anwendungen zu messen.

Die Verarbeitung der Leistung von Computern wird durch das Verwenden von Mehrkernverarbeitern vergrößert, der im Wesentlichen zwei oder mehr individuelle Verarbeiter (genannt Kerne in diesem Sinn) in einen einheitlichen Stromkreis zustopft. Ideal würde ein Doppelkernverarbeiter fast zweimal so stark sein wie ein einzelner Kernverarbeiter. In der Praxis, jedoch, ist die Leistungszunahme viel weniger, nur ungefähr 50 %, wegen unvollständiger Softwarealgorithmen und Durchführung. Die Zahl von Kernen in einem Verarbeiter (d. h. Doppelkern, Viererkabelkern, usw.) steigernd vergrößert das Arbeitspensum, das ein Computer behandeln kann. Das bedeutet, dass der Verarbeiter jetzt zahlreiche asynchrone Ereignisse, Unterbrechungen usw. behandeln kann, der eine Gebühr auf der Zentraleinheit (In einer Prozession gehende Haupteinheit), wenn überwältigt, nehmen kann. Es ist am besten, an diese zahlreichen Kerne als verschiedene Stöcke in einem in einer Prozession gehenden Werk mit jedem Fußboden zu denken, der eine verschiedene Aufgabe behandelt. Manchmal werden diese Kerne dieselben Aufgaben wie Kerne neben ihnen behandeln, wenn ein einzelner Kern nicht genug ist, um die Information zu behandeln, um einen Unfall zu verhindern.

Einheitliche Hitzestreumaschine

IHS wird gewöhnlich aus mit einem Nickel-Überzug bedecktem Kupfer gemacht.

Siehe auch

  • Beschleunigte in einer Prozession gehende Einheit
  • Das Wenden der Weise
  • CISC
  • Computerbus
  • Computertechnik
  • Zentraleinheit, die kühl wird
  • Zentraleinheitskernstromspannung
  • Zentraleinheitsdesign
  • Zentraleinheitsmacht-Verschwendung
  • Zentraleinheitssteckdose
  • Digitalsignalverarbeiter
  • Ausführungseinheit
  • Instruktionsrohrleitung
  • Liste von Zentraleinheitsarchitekturen
  • Ring (Computersicherheit)
  • RISC
  • Strom, der in einer Prozession geht
  • Wahrer Leistungsindex
  • Warten Sie auf Staat

Referenzen

Links

Mikroprozessor-Entwerfer

Weiterführende Literatur haben

Khmer-Sprache / Fleischfresser
Impressum & Datenschutz