"Megahertz sells", heisst es in der Computerbranche völlig zu Recht, denn gekauft wird, was Leistung verspricht, aber was steckt wirklich dahinter? Bisher existiert die landläufige Meinung, ein Computer, der mit möglichst viel Gigahertz Taktfrequenz daher kommt, ist schneller, als einer, der weniger Gigahertz verspricht. Doch das ist, bei näherer Betrachtung leider falsch.
Die Taktfrequenz ist, wenn man einen Computer mit einem Auto vergleicht, nur die Drehzahl des Motors. Aber ein Motor, der hoch drehen kann, macht ein Auto noch lange nicht schnell. Jeder kennt es: im ersten Gang heult der Motor infernalisch auf, wenn man ihn voll ausdreht, aber 200 km/h wird man so sicher nicht erreichen. Auch beim Computer kommt es, grob gesagt, auf die Übersetzung an. Betrachten wir aber aber als erstes den Prozessor alleine, denn dort fängt das Ganze an:
Ein Prozessor verarbeitet eine Reihe von Befehlen, z.B. eine simple Addition oder eine einfache Multiplikation. Nun gibt es, was den klassischen Prozessor betrifft, einige Unterschiede im Inneren. Ich möchte das kurz am Beispiel des Z80 Prozessors der Firma Zilog, aus dem Jahre 1976, und dem 6502 Prozessor, der von der Firma MOS Technologies um 1975 entworfen und von der Forma Rockwell gebaut wurde, erläutern.
Der Z80 und der 6502 waren beides 8 Bit CPUs mit einem 16 Bit Adressbus und, von diesem Standpunkt aus, durchaus vergleichbar. Der Z80 kam, z.B. in dem Amstrad CPC Homecomputer mit Taktfrequenzen von 4 MHz daher, der 6502 erreichte im Atari 130 XE Homecomputer nur magere 2 MHz. Aber war er deswegen halb so langsam? Die Antwort lautet: nein.
| Z80 | 6502 | |||
|---|---|---|---|---|
| Befehlsformat: | Takte: | Befehlsformat: | Takte: | Befehlsfunktion: |
| ld A,(nn) | 13 | lda nn | 4 | Lädt Akkumulator-Register mit Wert aus Speicherstelle nn |
| add A,n | 7 | adc #n | 2 | Addiert Zahl n mit Übertrag auf den Wert im Akkumulator-Register |
| ld (nn),a | 13 | sta nn | 4 | Speichert Inhalt des Akkumulator-Registers an Adresse nn |
| jp nn | 10 | jmp nn | 3 | Sprung an Adresse nn (Fährt mit einem Programm an der Adresse nn fort). |
Wie man sieht, verbraucht der Z80 Prozessor für einen Befehl deutlich mehr Takte als der 6502. Betrachten wir das Verhältnis der verbrauchten Takte pro Befehl, so sieht man: Der Z80 braucht im Schnitt 3 mal so viele Takte wie der 6502. An diesem Beispiel sieht man deutlich, dass der 6502 bei 2 Mhz schneller war, als der Z80 mit 4 Mhz.
Weitere Unterschiede ergeben sich erst mit neueren Prozessorgenerationen. Dort erfanden die findigen Chipdesigner noch wesentlich mehr Finessen, um den Befehlsdurchsatz zu erhöhen. Eine Möglichkeit dazu ist die sogenannte Out of Order Execution. Out of Order Execution bedeutet, dass der Prozessor versucht, Befehle, die aufeinander folgen, aber völlig unabhängig voneinander sind, so anzuordnen, dass sie in einer günstigeren Reihenfolge, oder gar parallel von einander, bearbeitet werden können. Es gibt noch eine Menge anderer Techniken, die innerhalb einer CPU dafür sorgen sollen, den Befehlsdurchsatz zu steigern, doch darauf möchte ich in diesem Teil nicht näher eingehen. Diese Optimierungen gelingen, wie zu erwarten, jedem Hersteller unterschiedlich gut und so kommt es, dass sich z.B. am heutigen Datum (30.12.2002) ein Vorserienmodell des AthlonXP 64 der Firma AMD nach aktuellen Leistungstests (Benchmarks) bei nahezu halber Taktrate (1.2 GHz) als nahezu genau so schnell herausstellte, wie ein Pentium4 von der Firma Intel, der mit satten 2,2 GHz lief.
Fangen wir erst einmal beim Hauptspeicher an. Dort gibt es ebenfalls eine Reihe von Ansätzen die Geschwindigkeit zu steigern. Der Hauptspeicher, auch RAM genannt, ist relativ langsam. In modernen Systemen ist er deutlich niedriger getaktet, als der Prozessor. Alle Befehle, die bearbeitet werden müssen, erfordern es, dass der Prozessor sie zu irgendeinem Zeitpunkt aus dem Hauptspeicher holt und bearbeitet. Auch die Ergebnisse landen wieder im Speicher. Wenn also der Speicher langsam ist, und der Prozessor schnell, muss der Prozessor ständig auf seine Daten aus dem Hauptspeicher warten und wird so ausgebremst. Wenn wir das mit einem Auto vergleichen, wäre das so, als hätte man einen Motor, der hohe Drehzahlen erreichen könnte, aber ständig stottert, weil das Benzin zu langsam durch die Spritleitung fliesst.
Die folgende Tabelle illustriert den Geschwindigkeitsunterschied von verscheidenen Speicherarchitekturen:| Speichertyp | Speichertakt (Mhz) | Busbreite (Bit) | Theor. Maximalgeschwindigkeit |
|---|---|---|---|
| SDRAM | 133 | 64 | 1,1 GB/sec |
| DDR-SDRAM | 400 (2x200) | 64 | 3,2 GB/sec |
| dual-channel RDRAM | 1200 (2x600) | 2x16 | 4,8 GB/sec |
SD-RAM wird aktuell mit 100 oder 133 MHz getaktet. Der Datenbus ist 64 Bit breit. Es findet nur an einer Taktflanke ein Datenzugriff statt! Man rechnet also 133x64/8 = 1064 MB/sec
DDR-RAM ist verbesserter SD-RAM. Da hier der Datenzugriff an beiden Taktflanken (also an der auf- und an der absteigenden Flanke des Taktsignals) stattfindet, sind doppelt so viele Zugriffe möglich. Er wird demzufolge mit 400 MHz Takt angegeben, auch wenn er nur 200MHz hat. Der Datenbus ist 64 Bit breit, also ergibt sich 2x200x64/8 = 3200 MB/sec.
RDRAM (Rambus)-Speicher besitzt mit 600 MHz eine höhere Taktfrequenz, auch er überträgt an beiden Taktflanken ein Datum, also redet man von einem 1200Mhz RDRAM. Der Datenbus ist allerdings nur 16 Bit breit, also besitzt er zwar nur den theoretischen Datendurchsatz von 300 MHz DDR-RAM. Was dem Rambus-Speicher die dennoch höhere Geschwindigkeit verleiht, ist die Fähigkeit, über zwei Kanäle (dual-channel) auf den Speicher zuzugreifen. Das verdoppelt die Geschwindigkeit und läge damit in etwa gleich auf, mit einem 600MHz DDR-RAM. Rambus Speicherbausteine waren jedoch als recht Teuer verschrien, denn RDRAM ist nicht so populär. Abgesehen von Intels RDRAM-Abenteuer, setzt die Firma Sony im grossen Stil RDRAM Bausteine für die Playstation2 ein, doch dazu später mehr.
Weil der Hauptspeicher so langsam ist und Speicherbausteine, die sehr schnell getaktet werden können, sehr teuer sind, hat man sich folgendes ausgedacht: Man leistet sich kleine Mengen dieses teuren, schnellen Speichers, und packt sie zwischen Prozessor und Hauptspeicher. Diesen Speicher nennt man Cache. Der Trick besteht nun darin, häufig angeforderte Daten im Cache abzulegen und damit dem Prozessor zu ermöglichen, an die Daten, die er oft braucht, schnell heranzukommen. Man schafft dazu mehrere Stufen von Caches: Der 1st Level Cache, der sehr schnell und klein ist, der 2nd Level Cache, der etwas größer ist, dafür langsamer, und teilweise sogar einen 3rd Level Cache, der zwar langsamer als der 1st- und 2nd Level Cache, aber immernoch schneller als der Hauptspeicher.
Die Größe dieser Cache-Speicher ist also ebenfalls ein wichtiger Faktor, was die Geschwindigkeit des gesamten Systems betrifft, denn man kann sich denken, dass ein größerer Cache natürlich bedeutet, dass der Prozessor seltener auf den langsameren Hauptspeicher zugreifen muss und deswegen weniger gebremst wird. Oft leidet die Leistung von schnellen Prozessorarchitekturen einfach daran, dass man ihnen zu kleine Caches mitgibt. So unterscheidet sich die erste Generation der Duron und Athlon-Prozessoren (Spitfire Kern) von der Firma AMD nur durch ihre Cache-Größe. Der Athlon hat einen doppelt so großen Level-2 Cache, wie der Duron, was seine höhere Geschwindigkeit und seinen höheren Preis erklärt, obwohl beide den gleichen Prozessorkern besitzen.
Okay, hier möchte ich, nur am Rande, zeigen, dass man das Problem der Geschwindigkeit auf eine radikal andere Weise lösen kann, als es im PC-Sektor üblich ist.
Was den üblichen PC angeht, so versucht man mit hohen Taktfrequenzen, gigantischen Caches und hochoptimierten Prozessoren maximale Geschwindigkeit heraus zu holen. Sony hingegen hatte als einer der ganz wenigen Hersteller den Mut und kam mit einem völlig neuen Konzept:
Eine Spielkonsole ist eine absolute Grafikmaschine. Es geht hier nicht darum jedes denkbare Programm schnell durchzuführen, nein: es geht fast ausschliesslich darum Grafiken schnell zu berechnen und große Mengen Bilddaten zu bewegen. Aus diesem Grunde schuf man ein Grundauf neues Konzept, das einigen Programmierern zunächst große Schwierigkeiten bereitete, denn man musste sich erst daran gewöhnen, dass so ein Biest ganz anders zu programmieren war. Nehmen wir zum Beispiel mal den Prozessor, oder besser die Prozessoren. Sony packte gleich mehrere Prozessoren in ihre Konsole: Eine I/O CPU für Ein- und Ausgabe, die der CPU der alten Playstation gleicht und die man auch für sonstige Berechnung nutzen kann (nicht nur für Ein- und Ausgabe) und eine Haupt-CPU (die Emotion Engine), die zwei relativ simple und auch nicht besonders schnell getaktete Co-Prozessoren enthält (VU0 und VU1, VU = Vector Unit) sollten dafür sorgen parallel voneinander Grafiken und Bewegungen zu berechnen und eine Graphics-Synthesizer Unit, eine Grafik-CPU, die nicht andere tut als das, was die Kollegen vorbereitet haben auf den Bildschirm zu rendern. Man setze hier also auf massive Parallelität, statt auf hohen Takt. Das Problem der Speichergeschwindigkeit ging man ebenfalls völlig anders an, als auf dem PC üblich: Denken wir noch einmal an die Spritleitung zwischen Haupttank und Motor, die viel zu dünn war, um ihn ausreichend zu versorgen. Man kann natürlich versuchen, vor dem Motor einen Zwischentank (Cache) einzubauen, der sich langsam (wegen der dünnen Spritleitung) füllt wenn der Motor grade wenig Sprit braucht und dafür sorgt, dass der Motor bei Vollgas genug Benzin bekommt. Doch wenn man zu lange Gas gibt, ist der Zwischentank irgendwann leer und der Motor stottert wieder, weil alles, was er bekommt, durch die viel zu dünne Spritleitung tröpfelt. Der andere Weg, und das hat Sony gemacht, ist es, die winzige Spritleitung durch ein breites Rohr zu ersetzen, damit der Sprit immer satt fließen kann, dann braucht man auch keinen großen Zwischentank (Cache) mehr. Sony verwendete hier die vom PC bekannten RDRAMs (die amals aktuelle Variante hatte allerdings nur eine Geschwindigkeit von 3.2 GHz/sec), doch hat man diese ganz anders angebunden, als auf dem PC üblich. Während man auf dem PC am relativ schmalen Bus eine Grafikkarte hängen hat, mit einem monströsen "Zwischentank" namens VideoRAM, und einen großen Cache vor der CPU, hat die PS2 hat eine Art "Speicher-Backbone", einen Speicherkanal, der 128 Breit ist und von einem 10-kanaligem "DMA-Controller" verwaltet wird. 2 der Kanäle münden in dem RDRAM, die anderen 8 Kanäle verbinden den Rest der Baugruppen (es gibt noch mehrere "Nebenleitungen"). Das heißt: die PS2 kann 10 Speichertransfers gleichzeitig durchführen, davon 2 parallel zum Hauptspeicher. Das sorgt dafür, dass die PS2 eine wirklich brutale Bandbreite bietet. Während auf dem PC also viel im Cache des Prozessors und im VideoRAM herumgerechnet wird, arbeitet man in der PS2 parallel an mehreren Baustellen und lastet den Bus so gut wie möglich aus. Die CPUs können sich, dank 2-kanaligem Rambus sogar unabhängig voneinander gleichzeitig am Hauptspeicher bedienen, wenn nicht eine der beiden beide Kanäle haben möchte. Damit ein eventueller Datenstau dennoch abgefangen wird, platzierte man zusätzlich noch vier, kleine Caches (zwischen 8 und 32 KB) an wichtigen Punkten. Die Caches erfüllen hier, wie man sich denken kann, einen anderen Zweck, als in ihnen herum zu rechnen: die sind ledglich Puffer. Laut einem Artikel des Magazins "Ars Technica" fing eine Programmiergruppe damit an, die Texturen und Grafiktexturen ständig neu vom Hauptspeicher zu holen, statt sie immer im Cache zu halten: Dieser Ansatz gab dem Bus zwar richtig Feuer und trieb ihn bis an die 90% seiner Belastungsgrenze, doch genau dafür wurde er gebaut. Der große Trick beim Programmieren der PS2 ist es also die Speichertransfers gut zu planen und die verschiedenen Rechenwerke möglichst gleichmäßig auszulasten.
Hohe Taktfrequenz bedeutet noch lange nicht, dass ein Computer schnell ist.
Auch, wenn mein Artikel zu dem Thema noch relativ oberflächlich gehalten ist, und z.B. die Geschwindigkeit der Festplatten völlig ausser Acht lässt, zeigt er doch ganz deutlich, dass die Taktfrequenz nicht mehr ist, als die Drehzahl eines Motors: Ob ein Auto schnell ist, hängt allerdings nicht davon ab, sondern auch davon, wie viel Hubraum ein Motor hat, welche Getriebeübersetzungen einem die Gangschaltung bietet und wie groß die Räder und der Luftwiderstand der Karosserie sind.
Auf Computer umgemünzt heißt das, dass an dem Rechner im Supermarkt astonomisch hohe Gigahertz-Zahlen stehen können und das Ding kann trotzdem eine langsame Graue sein, weil der Hersteller langsames RAM eingebaut hat oder weil einfach zu wenig davon da ist (so dass das Betriebsystem das, was nicht mehr ins RAM passt, auf die Festplatte auslagern muss und Festplatten sind im Vergleich zum RAM langsaaaaaaaam). Es kann sein, dass der Prozessor zwar mordsmässig Gigahertz hat, aber von einem Prozessor mir wenigerGigahertz verblasen wird, weil der "scheinbar " langsamere Prozessor mehr Cache hat (die Pentium CPU waren schon immer schneller als die Celeron CPUs bei gleichem Takt, weil die Celeron weniger Cache haben, bei gleichem Takt sind auch aktuelle AMD Athlon Prozessoren schneller als Intels Pentium CPUs, weil die Athlonfamilie einen höheren Befehlsdurchsatz pro Takt hat).
Die Frage, welchen Rechner man sich kaufen sollte, hat weniger mit Geschwindigkeit und mit der Taktfrequenz zu tun, als man glaubt, denn aktuelle Maschinen sind für Büroanwendungen sowieso viel zu schnell und laufen so fast immer im Leerlauf.
Wer ein Gerät kaufen möchte, sollte sich in Computerzeitschriften informieren, die auch aussagekräftige Vergleichstests zwischen aktuellen Modellen anstellen oder im Internet nachschauen. Die besten Informationen findet man dort, wo es eher technisch zur Sache geht, als in Magazinen für Einsteiger. Ausserdem sollte man sich immer vor Augen halten, wofür man seinen Computer eigentlich braucht. Oft genug tut es nämlich ein wesentlich günstiger Rechner, der schon ein paar Jahre alt ist und den man für wenig Geld in einer Kleinanzeige findet.
Für einfache Büroarbeiten, wenn man mal einen Brief schreibt oder ähnliches, reicht ein Rechner mit AMD oder Pentium-Prozessor bei ca. 300 MHz aus (moderne Rechner sind 10 mal so schnell getaktet), wenn er genügend Speicher hat (256 MB sollten mindestens sein, für Maschinen dieses Jahrgangs reicht, sehr günstiges SDRAM) und ein Betriebsystem, welches nicht zu fett und aufgeblasen ist. Wer einen Rechner dieses Alters hat oder sich so einen zulegt, sollte auch ein Betriebsystem installieren, das in etwa in der gleichen Zeit aktuell war. Windows XP auf so einem Rechner fahren zu wollen wäre ziemlich unsinnig. Für diesen Bürorechner sollte man sich also Linux oder WindowsNT installieren und unnötige grafische Spielereien abstellen.
Wer, neben Büroarbeiten, im Netz surfen will, sollte sich, was den normalen PC angeht, eine Maschine ab ca. 500 MHz, mindestens 256 MB Speicher, einem der oben genannten Betriebsysteme (was Windows angeht maximal Windows2000) und, wenn möglich, dem schnelleren Modell der damaligen Prozessoren (also Athlon, statt Duron und Pentium statt Celeron) besorgen. Ausserdem fragt nach schnellem Speicher (bei SDRAM auf CAS Latency 2 achten).
Rechner der genannten Leistungsklasse bekommt man auch noch für einen Spottpreis hinterher geworfen.
Wer mit dem PC aktuelle Spiele zocken will, wird um die neuste Generation von PCs nicht herum kommen. Spiele brauchen beim PC maximale Performance und die kostet, leider, viel Geld.
Gleiches gilt, abseits vom normalen PC, auch für Apple-Computer. Diese kommen meist mit geringeren Taktfrequenzen, als ein PC, aus, um eine vergleichbare Leistung zu erzielen. Auch hier sollte man auf ein Betriebsystem (MacOS oder LinuxPPC) setzen, das dem damaligen Stand in etwa entsprochen hat. Der Apple zieht seine wesentlichen Vorteile allerdings üblicherweise nicht aus der Spitzenleistung, sondern viel mehr durch effiziente und einfache Benutzerführung des MacOS-Betriebsystems. Apple-Besitzer sind in der Regel sehr begeistert davon, wie einfach, sicher und schnell man ans Ziel seiner Arbeit kommt. Sie werden kaum Apple-Benutzer finden, die nicht von ihrem Gerät schwärmen. Leider sind Apple Computer nicht sehr verbreitet und so existieren eine Menge Vorurteile über diese Maschinen (z.B, dass es dort kein Office oder keine Spiele gäbe, oder dass man damit keine Windows Dateien zu verarbeiten könne). In den meisten Fällen ist das nur ein Gerücht. Das aktuelle Microsoft Office auf dem Apple-Mac wird sogar von Microsoft selbst als die bessere Version bezeichnet. Holen sie sich daher am besten Rat bei einem Apple-Händler oder bei einem Bekannten, der auch tatsächlich so eine Maschine besitzt. Achten sie nicht darauf, was ihnen der Schnösel im Supermarkt erzählen möchte, der will (wie der Apple-Händler auch) nur seine eigene Ware verkaufen. Daher ist es besser, sich bei beiden Parteien zu informieren.