Doping für CPUs — Möglichkeiten der Leistungssteigerung

Artikel-Index:

Mögliche Hebel zum Zweck der Leistungssteigerung (Bus- und Speichertakt)

Erhö­hung des Bus- und Speichertakts
Eine wei­te­re recht popu­lä­re Art die Leis­tung zu stei­gern, ist das Ver­hält­nis zwi­schen inter­nen und exter­nen Takt zu ver­rin­gern. Heu­ti­ge Pro­zes­so­ren ver­fü­gen in der Regel über mehr­stu­fi­ge Cache-Hier­ar­chien. Der Level 1 Cache (L1 Data und L1 Code) befin­det sich direkt bei den Funk­ti­ons­ein­hei­ten, hat eine sehr nied­ri­ge Latenz sowie einen sehr hohen Durch­satz. Zugrif­fe auf den L1 Cache erfol­gen, je nach Pro­zes­sor, inner­halb drei bis acht Takt­zy­klen. Man nennt dies die soge­nann­te “Latenz”.
Dahin­ter sitzt, mitt­ler­wei­le eben­falls auf dem Die inte­griert, der Level 2 Cache. Die­ser ver­fügt über eine deut­lich höhe­re Latenz von über zehn Takt­zy­klen und einen, gegen­über dem L1-Cache, recht gerin­gen Durch­satz. Der L1 Cache ist in der Regel “Wri­te Through”, so dass alle Infor­ma­tio­nen aus dem L1 Cache auch gleich­zei­tig in den L2 Cache geschrie­ben werden.
Dahin­ter wie­der­um sitzt ein even­tu­ell vor­han­de­ner exter­ner Level 3 Cache, was sich bei Desk­top-Pro­zes­so­ren jedoch bis­her bis auf den PPC75xx (kurz: G4) nicht durch­ge­setzt hat. An letz­ter Stel­le steht nun der eigent­li­che Arbeits­spei­cher selber.

Zugrif­fe auf den Spei­cher sind der­art orga­ni­siert, dass sie immer vom schnells­ten zum lang­sams­ten Cache erfol­gen. Erst wenn ein “cache miss” auf­tritt (cache miss bedeu­tet, dass die ange­for­der­ten Daten sich in kei­nem der Caches befin­den), wird auf den Arbeits­spei­cher zurück­ge­grif­fen. Moder­ne Spei­cher­mo­du­le wer­den mit bis zu 533 MHz betrie­ben (PC1066 RDRAM), in der Regel sind heu­ti­ge PCs jedoch mit dem weit­aus güns­ti­ge­rem, jedoch etwas lang­sa­me­rem DDR-SDRAM aus­ge­stat­tet, wel­ches laut Spe­zi­fi­ka­ti­on bis zu 166 MHz schnell sein darf.
Der Zugriff auf den Arbeits­spei­cher läuft bei allen heu­te ver­füg­ba­ren Pro­zes­so­ren über den Chip­satz, ergo über den Front Side Bus, kurz FSB. Die­ser beträgt beim Ath­lon effek­tiv 266 oder 333 MHz (DDR-FSB), beim Pen­ti­um 4 effek­tiv 400 oder 533 MHz (QDR-FSB) und bei Apple’s aktu­el­len Mac­in­toshs zwi­schen 100 MHz SDR (iMac, eMac, iBook) über 133 MHz SDR (Power­Mac DP867, Power­Book) bis hin zu 166 MHz SDR (Power­Mac DP1000 und DP1250). So hoch die­se Zah­len auch erschei­nen mögen, im Ver­gleich zu 2 GHz Pro­zes­sor­takt ist dies im bes­ten Fal­le gra­de mal ein Ver­hält­nis von 4:1. Bei Spei­cher­zu­grif­fen muss der Pro­zes­sor also hun­der­te von Zyklen mit Nichts­tun ver­geu­den, bis die Daten bereit lie­gen und ver­ar­bei­tet wer­den kön­nen. Je nied­ri­ger also das Ver­hält­nis zwi­schen inter­nem und exter­nem Takt, des­to weni­ger Takt­zy­klen muss der Pro­zes­sor bei Spei­cher­zu­grif­fen war­ten (wie­der­um im Ver­hält­nis zwi­schen inter­nem und exter­nem Takt betrach­tet) und des­to frü­her steht er für wei­te­re Berech­nun­gen bereit.
Aus die­sem Grund ist ein 1 GHz Pro­zes­sor der mit 166 MHz FSB betrie­ben wird schnel­ler, als der glei­che Pro­zes­sor wenn er mit 133 MHz FSB betrie­ben wird.

Als klei­ner Nach­satz sei noch hin­zu­ge­fügt, dass eine Erhö­hung des Spei­chert­akts nicht zwin­gend zur Leis­tungs­stei­ge­rung füh­ren muss. Ein sehr gutes Bei­spiel für Sinn­lo­sig­keit stel­len die aktu­el­len Power­Macs von Apple dar. Der Arbeits­spei­cher wird im DDR-Ver­fah­ren betrie­ben, es wer­den also zwei Bit pro Takt­si­gnal über­tra­gen. Im Ver­gleich zu den Quick­Sil­ver Power­Macs, also den direk­ten Vor­gän­gern der heu­ti­gen Model­le, stellt dies eine Ver­dopp­lung der RAM-Band­brei­te dar und müss­te, obi­ger Erklä­rung zufol­ge, auf­grund des auf die Hälf­te ver­rin­ger­ten Ver­hält­nis­ses zwi­schen inter­nem und exter­nem Takt zu einer deut­li­chen Leis­tungs­stei­ge­rung führen.
Jedoch gibt es zwi­schen dem Dual 1 GHz mit SDR-SDRAM und dem mit DDR-SDRAM nur mini­ma­le Unter­schie­de. Der Grund liegt in der Art und Wei­se, wie der Pro­zes­sor auf den Arbeits­spei­cher zugreift. Denn damit er auch die vol­le Band­brei­te des Arbeits­spei­chers nut­zen kann, muss er mit eben die­ser Band­brei­te dar­auf zugrei­fen kön­nen. Beim AMD Ath­lon ist dies dank dem EV6 Pro­to­koll mög­lich, der Zugriff auf den DDR266/DDR333 Arbeits­spei­cher erfolgt mit 266/333 MHz. Beim G4 Pro­zes­sor in Apple’s Power­Mac sieht die Situa­ti­on jedoch erbärm­lich aus, der Zugriff auf den DDR266/DDR333 Arbeits­spei­cher erfolgt hier ledig­lich mit 133/166 MHz wie bis­her auch. Sinn­voll wäre gewe­sen, auch das Über­tra­gungs­pro­to­koll zu ver­än­dern und nicht nur die Band­brei­te des Arbeits­spei­chers zu erhöhen.

Ver­grö­ße­rung und Opti­mie­rung der Caches
Kamen die ers­ten ver­füg­ba­ren x86 Pro­zes­so­ren noch ohne jeg­li­chen Cache, so befin­den sich heu­te kom­bi­niert bis zu über einem hal­ben Mega­byte die­ser schnel­len Zwi­schen­spei­chern im Pro­zes­sor­kern (bei Ser­ver­pro­zes­so­ren auch deut­lich mehr). Der Grund ist ganz ein­fach und wie bereits erwähnt: Um die unsäg­lich lang­sa­men Spei­cher­zu­grif­fe mög­lichst zu ver­mei­den, wer­den die benö­tig­ten Daten vom Pro­zes­sor bereits vor deren Not­wen­dig­keit in den Cache gela­den und bereit­ge­stellt. Von zu Beginn weni­gen Kilo­byte L1 Cache, ver­fü­gen heu­ti­ge Ser­ver­pro­zes­so­ren über drei­stu­fi­ge Cache-Hier­ar­chien mit bis zu über 128MB kom­bi­nier­tem Cache (so bei­spiels­wei­se der IBM Power4 Pro­zes­sor mit 128MB L3-Cache, bis zu 48MB L2-Cache (kom­bi­niert) und über 1MB L1-Cache (kom­bi­niert).

Mit dem Pen­ti­um 4 hat Intel ein neu­es Funk­ti­ons­prin­zip des L1 Ins­truc­tion Cache ein­ge­führt, den sog. Trace Cache. Seit dem 6x86 arbei­ten x86-Pro­zes­so­ren extern wie CISC-Pro­zes­so­ren mit kom­ple­xem Befehls­satz, deco­die­ren jedoch jede Instruk­ti­on in RISC-arti­ge µOps vor ihrer Aus­füh­rung. Die­ser Vor­gang der Deco­die­rung kos­tet natür­lich Rechen­zeit und um die­se zu spa­ren, spei­chert der Pen­ti­um 4 im 12.000 µOps fas­sen­den L1 Trace Cache die bereits deco­dier­ten RISC-arti­gen Befeh­le für die wei­te­re Ver­wen­dung ab.
Ohne die­sen Trace Cache wäre der Pen­ti­um 4 übri­gens noch­mals deut­lich inef­fi­zi­en­ter. War­um folgt im wei­te­ren Ver­lauf des Artikels.