Warum ein neuer Computer nicht mehr viel schneller als ein Alter ist
Bei mir stand ein Computerneukauf an, nicht bei mir selbst, aber bei meinem Bruder, dessen Rechner jetzt 6 Jahre auf dem Buckel hat. Dafür habe ich mich natürlich informiert, was gerade aktuelle Technik ist. Das Grundproblem ist, das man zwar in Zeitschriften gerne Vergleiche sieht, wie schnell die verschiedenen aktuellen Prozessortypen sind, aber nur wenig über die Geschwindigkeit verglichen mit einem älteren Prozessor, noch weniger natürlich, wenn es wie in meinem Falle, ein 6 Jahre alter Rechner ist. Ich dachte mir ich nehme das Mal als Aufhänger für einen Blog.
Die Geschwindigkeit eines Rechners kann man angeben als Instruktionen pro Takt × Taktfrequenz. Ändert sich die Architektur nicht, das heißt die Instruktionen sind die gleichen, so kann man leicht Rechner vergleichen, wie in meinem Falle Prozessoren der x86 oder x64 Linie. Es klappt nicht mehr so gut, wenn die Architekturen unterschiedlich sind. So soll ein Raspberry Pi mit 700 MHz nach offiziellen Angaben so schnell wie ein 300-MHz-Pentium II sein – meiner Erfahrung nach erreicht er nicht mal das Tempo. Doch schon die Angabe 700 MHz zu 300 MHz zeigt das die interne Architektur des Pentium „mächtiger“ ist als die eines ARM Prozessors. Sonst bräuchte man nicht nur 300 MHz um die gleiche Geschwindigkeit wie ein ARM-Prozessor mit 700 MHz zu erreichen. Dabei ist dieser sogar noch jünger, sollte also leistungsfähiger als die Generation sein, die zu der Zeit des Pentium II (1996-1998) aktuell war.
Aus der Gleichung gibt es zwei Ansatzpunkte die Geschwindigkeit zu erhöhen: höhere Taktfrequenz und mehr Instruktionen pro Takt (IPC: Instructions per Clock). Fangen wir mit dem komplizierten an, dem IPC.
Als der 8086 erschien, brauchten alle Befehle mehrere Takte, selbst einfache Befehle oder welche, die gar nichts taten wie der Befehl NOP. Im Schnitt brauchte ein Befehl beim 8086 in der Ausführung 7,7 Takte. Er hatte die klassische Architektur der damaligen Zeit implementiert: Befehl aus dem Speicher holen, Befehl dekodieren, Ergebnis ausgeben und eventuell Ergebnis zurückschreiben. Jede Operation benötigte einen Takt, oft mehrere. Komplexe Befehle wie Multiplikation oder Division brauchten sogar über 100 Takte.
Die nächste Generation, der 80286, hatte eine Pipeline eingebaut. Sie holte bei jedem Takt einen Befehl, nicht nur wenn ein Befehl gerade fertig war. Bei jedem Takt wurde der Befehl in der Pipeline eine Stufe weitere befördert. Das ist eine erste Stufe der Parallelisierung. Es befinden sich immer mehrere Befehle in verschiedenen Stadien der Ausführung in der Pipeline. So brauchte der 80286 für die meisten einfachen Befehle nur noch zwei bis drei Takte. Er war beim gleichen Takt mindestens um den Faktor, 2, oft sogar um den Faktor 3 schneller als sein Vorgänger. Noch brauchten aber alle Befehle mehr als einen Takt, weil die Pipeline nur drei Stufen hat – wenn der Durchschnitt bei 8 Takten pro Befehl liegt, müsste sie acht Stufen umfassen, um einen Befehl pro Takt abzuarbeiten.
Bei den nächsten beiden Generationen wurde die Pipeline immer länger und der 486 erreichte nun tatsächlich, dass 80 % der Befehle in einem Takt ausgeführt wurden. Sie war nun fünf Stufen lang. Mit der Ausführung von einem Befehl pro Takt war die erste Grenze der Architektur erreicht. Unter diesen Wert kann man die Geschwindigkeit mit einer Pipeline nicht mehr drücken, auch wenn es sehr viele Stufen sind (den Rekord hält hier der Pentium 4 bei dem es bis zu 32 Stufen waren).
Beim Pentium gab es daher einen Bruch mit der Architektur. Er hatte zwei arithmetisch-logische Einheiten (ALU), mit denen Ganzzahlberechnungen, aber auch Bitverknüpfungen oder Vergleiche durchgeführt wurden. Die Pipeline konnte nun beide Einheiten versorgen, das heißt, Befehle die diese Einheiten konnten nun parallel ablaufen. Das Problem: Code wird linear ausgeführt, so schreiben ihn Menschen aber auch Compiler. Ein Schritt nach einem anderen kann unabhängig vom Ersten sein, muss aber nicht, kann z.B. ein Rechenergebnis verwenden, das erst errechnet werden muss.
Eine Geschwindigkeitssteigerung ergibt sich wenn der Prozessor feststellen kann ob Befehle voneinander abhängig sind und wenn das der Fall ist, einen anderen Befehl vorzieht., Mit diesem Feature „Out of Order execution“ kann die Geschwindigkeit stark steigern, die CPU werden aber auch sehr komplex. Beim Übergang der CPU-Core des Raspberry Pi von Version 3 zu 4 kam dieses Feature auf und das hat den Prozessur enorm beschleunigt.
Bei „Out of Order Execution“ muss genau Buch geführt werden, welcher Befehl von welchem unabhängig ist, welche Einheit gerade frei ist und wann ein Ergebnis zur Verfügung steht. Dazu kam ein zweites Feature, die spekulative Ausführung: Das parallele Ausführen macht keinen Sinn, wenn bei einem Sprung (und den gibt es in Programmen häufig) man Befehle ausführt, die gar nicht mehr gültig sind. Eine Sprungvorhersage ermittelt daher, wohin wahrscheinlich beim nächsten Sprung gesprungen wird. Diese Sprungvorhersage oder spekulative Ausführung ist die zweite Architekturänderung, die nötig ist. Die beiden Sicherheitslücken, die es bis in die Nachrichten schafften Meltdown und Spectre basieren darauf, dass man die Out-of-Order und Sprungvorhersage Einheiten so trainierte, dass man auf Speicherbereiche zugreifen konnte, die nicht zum eigenen Prozess gehörten, indem diese schon vorsorglich in die Caches geladen wurden. Trotz des Sicherheitsmankos ist das Feature mächtig. Bei Intel beherrschen nur die Atoms kein Out-Of-Order Scheduling. Vergleicht man die Geschwindigkeit eines Atoms mit dem einfachsten „normalen“ Prozessor von Intel, früher ein Celeron, heute steht der Begriff nicht mehr für eine Architektur, so zeigt sich das ein Atom bei gleichem Takt enorm viel langsamer ist.
Im Prinzip hat sich seitdem nicht mehr viel geändert. Beim Pentium war das Feature der parallelen Ausführung noch rudimentär, beim Pentium Pro voll ausgebaut. Auf dessen Architektur basiert noch die heutige Skylake Architektur. Zwischendurch versuchte Intel einen Wechsel – die mit dem Pentium 4 eingebaute Netburst Architektur basiert auf nicht so vielen Einheiten, dafür schnellerer Ausführung, doch diese erwies sich als eine Sackgasse. Skylake hat heute 22 Funktionseinheiten, die von 7 Ports gefüttert werden. Diese große Zahl ergibt sich daraus, dass zwar durch eine Pipeline ein Befehl pro Takt ausgeführt wird, die Ausführungszeit aber immer noch mehrere Takte beträgt. Solange ist eine Einheit belegt und daher braucht man mehrere. Die Portzahl ist daher aussagekräftiger. 7 Ports bedeuten: maximal 7 Befehle können gleichzeitig aktiv sein. In der Praxis sind es 3 bis 4.
Erst mit der letzten Pentium-4-Generation führte Intel mehrere Prozessorkerne ein. Der Unterschied zu parallelen Funktionseinheiten ist, dass der gesamte Prozessor mehrfach vorkommt. Er ist auch dem Betriebssystem bekannt, das so verschiedene Prozesse an verschiedene Kerne verteilen kann. Das können Anwendungsprogramme, aber auch Systemtreiber sein. Die Kernzahl ist seitdem nur langsam gestiegen. Intel versprach mit jeder Generation die Kernzahl zu verdoppeln, das hat sich nicht bewahrheitet, denn dann müssten Skylake Prozessoren mindestens 32 Kerne haben. Tatsächlich hat das Einsteigersegment zwei Kerne, die etwas besseren Prozessoren vier und nur im Spitzensegment (der Desktop-Prozessoren) gibt es mehr, wobei auch hier erst durch die Ryzen von AMD Bewegung kam. Bei der Serverlinie, den Xeons, gibt es aber tatsächlich Prozessoren mit bis zu 36 Kernen. Der einfache Grund: Server, die viele Benutzer haben oder hochparallele Programme ausführen, nutzen so viele Kerne auch aus, Programme für Desktop-Rechner, die meist interaktiv sind dagegen nicht. Ein Zwischenschritt zwischen echten Kernen und den für das Programm unsichtbaren mehrfach vorhandenen Funktionseinheiten ist das Hyperthreading oder als allgemeiner Begriff, Simultaneous Multithreading. Dabei werden dem Betriebssystem mehr Kerne gemeldet, als es gibt. Die Befehle werden dann in die laufende Abarbeitung eingefügt, wobei man da es getrennte Threads sind, dies einfacher ist als das Umsortieren von Befehlen eines Threads. Allerdings kann man mit SMT, da es eben nicht zwei vollständige Kerne sind niemals so viel Leistung erreichen wie mit zwei eigenen Kernen.
Kommen wir zum zweiten Kriterium: der Taktfrequenz. Die stieg lange Zeit dauernd an. Anfangs erst langsam. Der 8086 erschien mit 8 MHz, auch der 286, der 386 mit 16 MHz, der 486 mit 20 MHz. Ab dem Pentium gab es eine Phase, in der die Taktfrequenz pro Generation rapide anstieg: 66 MHz beim Pentium, 233 MHz beim Pentium II, 450 MHz beim Pentium III, 1.200 MHz beim Pentium 4. Von 1978 bis 1994 stieg in 16 Jahren die Taktfrequenz um den Faktor 8. Von 1994 bis 2003 in neun Jahren um den Faktor 45. Der Pentium 4 erreichte eine Spitzentaktfrequenz von 3,83 GHz, doch das war nicht mehr weiter steigerbar. Die erste Generation der iCore Architektur ging wieder auf 3,33 GHz Spitzentakt herunter. Heute werden wieder 4 GHz erreicht und überschritten aber um nicht mehr viel.
Das heißt, wir haben zwei Dead-Ends: Die Spitzentaktfrequenz ist seit über 15 Jahren kaum gestiegen, die interne Architektur ist seit derselben Zeit nahezu unverändert, wenn man sie auf den Pentium Pro zurückführt, sogar seit über 20 Jahren. Natürlich gab es immer wieder Verbesserungen in der Zeit dazwischen, aber eben doch evolutionäre Änderungen. Damit komme ich zum Ausgangspunkt zurück – lohnt es sich heute einen 4 bis 6 Jahre alten PC auszuwechseln, nur weil der Prozessor zu lahm ist. Nach Intels Angaben wurde die Geschwindigkeit wie folgt gesteigert:
Technik | ST-IPC-Gewinn | ST-IPC vs. Dothan | |
---|---|---|---|
Dothan | Pentium M (Refresh), 2C ohne HT/TM, 90nm (2004) | – | 100% |
Merom | Core 2 Duo, 2C ohne HT/TM, 65nm (2007) | +15% | 115% |
Penryn | Core 2 Duo (Refresh), 2C ohne HT/TM, 45nm (2008) | +2% | 117,5% |
Nehalem | Core 9xx, 4C +HT +TM, 45nm (2008) | +12% | 131,5% |
Sandy Bridge | Core 2xxx, 4C +HT +TM, 32nm (2011) | +10% | 144,5% |
Ivy Bridge | Core 3xxx, 4C +HT +TM, 22nm (2012) | +5% | 152% |
Haswell | Core 4xxx, 4C +HT +TM, 22nm (2013) | +10,5% | 167,5% |
Broadwell | Core 5xxx, 4C +HT +TM, 14nm (2015) | +5,5% | 177% |
Skylake ist da noch nicht dabei, soll aber bei maximal 10 % liegen. Immerhin, in 13 Jahren sind es summierte 177 %. Doch es gibt noch einen anderen Faktor. Seit die Parallelisierung einzog, ist es so, dass der Geschwindigkeitsgewinn nicht linear abhängig ist, sondern stark vom Programm abhängig. Beim Pentium war es so, dass er den damals noch weit verbreiteten 16-Bit-Code in DOS kaum beschleunigte. Bei so vielen Generationen wie in der oberen Tabelle kommen dann noch Befehle hinzu, die ein neueres Programm nutzen kann. Vor allem bei Fließkommabefehlen hat Intel in den letzten Jahren viel gemacht. Die Angaben von Intel kann man also als optimistisch ansehen.
Eine andere Webseite kam auf folgende Werte beim Auswerten der Geschwindigkeit gängiger Programme:
Technik | Intel Angabe | |
---|---|---|
Dothan | – | |
Merom | +15% | |
Penryn | +2% | |
Nehalem | +12% | |
Sandy Bridge | +10% | |
Ivy Bridge | + 5,8 % | +5% |
Haswell | + 11,2 % | +10,5% |
Broadwell | + 3,3 % | +5,5% |
Skylake | + 2,4 % | + 10 % |
Bei zwei Generationen wurden die Intel-Angaben erreicht, nicht jedoch bei den letzten beiden. Das wundert nicht, den intern hat sich bei Haswell wenig getan. Die wichtigsten Änderungen betreffen die AVX-Einheit, die bei nicht-wissenschaftlichen Anwendungen jedoch keine Rolle spielt. Dazu und das ist eher von Bedeutung wurde die OnBoard-Grafik leistungsfähiger. Bei Ivy-Bridge wurde sie als erste integrierte Grafikeinheit eingeführt. Damals hatte die kleinste Version 6 Shader und einen Basistakt von 350 MHz, die größte 12 Shadereinheiten bei 750 MHz. Bei Skylake hat die kleinste Version 12 Shadereinheiten bei 1 GHz Takt und die größte Version 72 Shadereinheiten bei 1,3 GHz. Das heißt, die Grafikeinheiten haben sowohl, was den Takt wie auch die Zahl der Einheiten angeht, deutlicher zugelegt als die CPU. Inzwischen reicht sie aus für nicht so anspruchsvolle aktuelle Spiele in Full-HD Auflösung, während die ersten Versionen nur einige Jahre alte Spiele flüssig darstellen können. Von einer dezidierten Grafikkarte sind sie noch weit entfernt. Ich denke, dass dieser Trend anhalten wird.
Zurück zu meinem Aufhänger. Ich habe mit meinem Bruder einen heruntergesetzten Fujitso Esprimo 556P herausgesucht. Nicht ganz mein Wunschkandidat. Das Problem ist, das mein Bruder nicht viel für einen Rechner ausgeben will. Immerhin erfüllt er in anderen Kriterien (250 GB SSD, mindestens 8 GB RAM) meine Erwartungen. Ich hätte gerne einen iCore i3 7100 Prozessor mit bis zu 3,9 GHz gehabt, doch der lag nicht im Budget, so wurde es ein Pentium 4560 mit maximal 3,5 GHz und etwas langsamerer interner Einheit. Trotzdem war der Rechner nur unter 500 Euro, weil er runtergesetzt war. Beim Installieren war er recht flott, in etwa so schnell wie meiner (iCore i5 4590 mit 3,9 GHz). Kein Vergleich mit dem alten Rechner meines Bruders – der war ein AMD mit 4 x 1,8 GHz, das heißt zum einen niedrigerer Takt zum anderen eine Architektur, die auch weniger IPC pro Sekunde ausführt, zudem nur mit Festplatte.
Für mich steht nach dem Schreiben des Artikels aber eines fest: mein Rechner der nun auch dreieinhalb Jahre alt ist wird es noch eine Weile tun, denn gegenüber Haswell liegt selbst nach Intel Angaben der Geschwindigkeitsgewinn bei gleicher Taktfrequenz nur bei maximal 15 %, realistisch eher bei 7 %, das merkt man bei der täglichen Arbeit nicht. Um die 30 % Geschwindigkeitsgewinn – das gibt die ct‘ als „merkbar“ an, zu erreichen müsste man einen Rechner mit der Sandy-Bridge-Architektur ersetzen, mithin einen über sechs Jahre alten Rechner.
Ich habe im Jahr 2010 eine Mac Pro mit 12 Kernen gekauft, also XEONs, das zweit schnellste was man damals bekam. Nach ein paar Upgrades ist der immer noch sehr schnell. Das einzige, was ich noch upgraden sollte, ist die Graphikkarte. Dann könnte man den sicher noch 5-7 Jahre verwenden.
Danke, für die interessanten Überlegungen.
Ich selbst (nur versierte PC-Anwender) beabsichtige in ca. 6 Monaten meinen PC (Kaufdatum 29.5.2009; Intel(R) Core(TM)2 Quad CPU Q8200 @ 2,33 GHz 2,34 GHz) zu ersetzen. Wahrscheinlich werde ich bei silentmaxx einen geräuschlosen PC erwerben, da ich oft viele Stunden am Tag am PC arbeite. Grundsätzlich kaufe ich einen PC auch „zukunftsorientiert“, aber auch preiswert d.h. nicht billig. Für die normale Arbeit habe ich oft viele Programme gleichzeitig geöffnet (MS Word 2016, MS Outlook 2016, MS Excel 2016, MS OneNote, Adobe Reader DC, Irfanview, einen Internet-Browser, Total Commander). Meine Hauptaufgabe ist Gutachten schreiben. Dazu benötige ich auch eine gute Verbindung zu meinen Backups (Memopal) und meinem Firmennetzwerk. Grafiklastige Anwendungen wie CAD oder Videoschnitt verwende ich nicht professionell.
Jetzt bin ich mir unschlüssig – den Geld wie Heu habe ich nicht wirklich
– CPU – Intel (Kabylake, Coffee Lake, Xeon) oder AMD (Ryzen 5 oder 7)
– SSD oder SSD (M.2 /PCIE).
– 4, 8, 12 oder 16 Kerne
Mit dem neuen PC hoffe ich dann wieder mindestens 5 Jahre (oder länger) auszukommen.
Für ein Tipp wäre ich dankbar, bin aber nicht enttäuscht, wenn dafür keine Zeit ist.
Michael
Ich kann und will keine Kaufberatung leisten, aber:
Für einen normalen Desktoprechner spielt es keine rolle ob es eine SATA oder M2-SSD ist. Ich würde trotzdem zu letztem greifen weil man dann einen Laufwerkschacht mehr frei hat.
Bei vielen offenen Programmen hilft mehr RAM. 8 GB sollten es sein, 16 sind nicht zu viel, kann man aber nachrüsten wenn man beim Kauf drauf achtet noch freie Steckplätze zu haben.
Für die Büroprogramme zählt meist die Singlethreadperfroamnce. 4 Kerne, dafür möglichst hoch getaktet sind besser als 8 niedrig getaktete. In der single Thread Performance hat AMD aufgeholt, intel ist aber immer noch schneller. Andererseits sind die AMD billiger sodass man für den gleichen Preis einer höher getaktete Version bekommt. Ich würde mich auf Websites mit Geschwindigkeitsvergleichen informieren.
Bei meinem Bruder bei dem in etwa das gleiche lief habe ich mich daher nur für einen 2-Kerner entscheiden, aber mit 3,5 GHz Takt.
Tschau Bernd
Ein Vergleich zwischen PentiumII und ARM ergibt keinen Sinn, beide CPU für völlig unterschiedliche Zwecke gedacht sind.
Ich habe den ARM nur als Beispiel genommen um zu zeigen das Vergleiche nur innerhalb einer Architektur sinnvoll sind und ich mich daher auch auf die x86 Architektur beschränkt habe.
Für die Informationsbeschaffung und Vergleiche kann ich nur http://www.computerbase.de empfehlen, wohl eine der besten Seiten in dem Bereich auf deutsch.
Ebenfalls gibt es eine große aktive Forengemeinschaft wo man ausführlich zum Thema PC Kauf beraten wird, bin dort ebenfalls aktiv, die richtige Zusammenstellung kommt halt stark auf den Einsatzzweck und das Budget an. Meistens ist ein Eigenbau zu empfehlen, solange man nicht 2 linke Hände hat, dann gibt es wenigstens die am besten aufeinander abgestimmten Komponenten und spart noch beim Preis.
PS: toller Blog und tolle Webseite von Ihnen Hr. Leitenberger, weiter so 😉
Ich nutze ein 3 Jahre altes Macbook Air mit Microsoft Office. Das Ding ist wirklich sehr schnell, aber natürlich in der Anschaffung nicht günstig. Demnächst werde ich versuchen es zu verkaufen. In Kleinanzeigen wollen die Leute für so etwas ca. 500€ haben! Sollte ich ihn tatsächlich zu dem Preis verkauft bekommen, hätte ich in 4 Jahren nur einen Wertverlust von 100€ pro Jahr.
90 % der Nutzungszeit benutze ich Firefox, die restliche Zeit MS Office und einige andere Sachen. An die Benutzung von MAC OS hab ich mich sehr schnell gewöhnt und bei den anderen beiden Anwendungen gibt es nur gerine Unterschiede zu Microsoft.
Der Rechner ist sehr leicht, es stört kein Lüftergeräusch und der Bildschirm ist ausserordentlich gut.
Frank (eic)
Einer meiner Brüder sagte mal: „schnelle Computer warten nur schneller“. Kürzlich habe auch ich für einen meiner Brüder (ein anderer) einen neuen Rechner beschafft. Es sollte ein Desktop fürs Büro werden… und wie bei Handwerkern üblich… lange halten, schnell und billig. Nur „schön“ musste er nicht sein.
Nach kurzer Überzeugungsarbeit stimmte er einer Lenovo-Workstation (Neupreis bei etwas 2000€) für 400€ zu. Offensichtlich ist „Rechnerrecycling“ für viele kein Thema. Da er mit einer neuen SSD ausgestattet wurde, hat der Rechner (gefühlt) eine sensationelle Leistung. Der Anwender ist begeistert. Office Programme öffnen und schließen als ob man ein Glühbirne anknipst und ausmacht, genauso wie seine anderen Anwandelungen.
Zur Erklärung sollte ich vielleicht hinzufügen das im Betrieb meines Bruders immer noch (sehr erfolgreich) ein uraltes StarOffice zur Anwendung kommt, neben den vielen anderen (veralteten) Sofwareprodukten. Der ehemals „jüngste“ Rechner in dem Betrieb ist ein Fujitsu-Siemens Baujahr 2006… der wurde aber nicht ausgetauscht… ist vielleicht in ein paar Jahren dran.
Ich nutze PC´s seit meiner Studienzeit (1982) und habe alle Schandtaten miterlebt und mitgemacht. Und wenn ich in die Gitterboxen der Recyclinghöfe blicke (Laptops von denen noch nicht mal die Schutzfolien entfernt wurden, Monitore die nur aus Entsorgungsgründen ausgepackt wurden, alles von den umliegenden Unternehmen) dann blutet mir das Herz. Ich kenne die (guten) Gründe warum Unternehmen das Zeug entsorgen, und ich kenne die (guten) Argumente warum sowas nicht bei „Bedürftigen“ landet. Aber gute und funktionsfähige Technik zu verschrotten weil sich keiner die Mühe macht ihnen neues Leben einzuhauchen ist wie Lebensmittel wegzuwerfen nur weil man keine Lust hat zu kochen!… Hoppla…. das wird ja auch ständig gemacht!
Ein richtig guter Artikel. Der gehört meiner Meinung nach (in angepasster Form) in Wikipedia rein.