PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : A64 Cache Hits seltener bei 64 Bit


beos
2004-11-19, 14:53:54
Grüß Euch,

Die aktuellen A64 Prozzies haben ja 512-1024 KByte Cache.
Im 32 Modus werden 2^32 Bit darin abgebildet - im 64 Bit Modus aber 2^64 Bit.

Da müßten doch eigentlich die Trefferraten bodenlos in den Keller fallen.....

Wieso tun Sie da aber anscheindend nicht...?

Coda
2004-11-19, 15:41:40
Definiere "werden abgebildet"
Es werden immer nur einzelne Cachelines im Cache vorgehalten, die die CPU gerade häufig braucht. In welchem Speicherbereich diese liegen hat doch nix mit der Transferrate zu tun.

Das einzige was die Performance verschlechter könnte ist, das der x86-64-Code größer ist als "normaler" x86-Code (deshalb braucht der gleiche Code mehr Instruction Cache) und das Pointer 64-bit lang sind (mehr Data Cache)

Aber beides hällt sich eigentlich in Grenzen.

Xero
2004-11-19, 16:18:53
ich denke er meint dass pointer auf nem 64bit sys auch 64bit groß sind und damit mehr platz brauchen...

StefanV
2004-11-19, 16:58:20
Naja, bei dem gigantischen L1 Cache des Athlon 64s sollte es sich eigentlich in Grenzen halten ;)

Zumal der Athlon ja auch einen exklusiven Cache hat, was das ganze nochmal entschärft...
Was ich sagen will:
der A64 hat (schon fast) gewaltige Caches...

Es bleibt aber noch abzuwarten, wie sich der P4 unter 64bit schlägt...
Der hat ja bekanntlich recht winzige L1 Caches...

beos
2004-11-19, 20:55:18
Erst mal danke für Eure Antworten..

Ich meinte - bei x-fach assiozativem cache (keine ahnung wieviel bei a64)
werden ja immer teile des virtuellen speichers der cpu pro cache eintrag gemappt.

da beim 64 bit modus der virtuelle speicher 2^64 bit groß ist ist das verhältniss
von speichergröße und cachegröße schlechter wie im 32 bit modus.....

@Xero: Mit pointergrößen hat das ganze leider nichts zu tun

mrdigital
2004-11-19, 21:58:39
Das Verhältnis Cachegrösse / Addressierbarer Speicher sagt aber nicht viel über die Hitrate aus. Der Cache kann einfach nur eine bestimmte Anzahl an Datenworten fassen, ihm ist dabei aber ziemlich egal, wie groß der Addressraum ist. Bei einem erneuten Speicherzugriff wird die angefragte Adresse mit den im Cache enthaltenen verglichen (hier kommt die Assoziativität ins Spiel, eine höhere Assozativität bedeutet, dass ein Cache das gewünschte Datum schneller finden kann). Es könnte also sein, dass der Cache langsamer wird im 64 Bit Modus, denn die zu vergleichenden Addressen sind länger, aber die Hitrate sinkt dadurch nicht.

Haarmann
2004-11-19, 23:37:10
beos

Die Trefferrate bleibt relativ konstant, denn der A64 kann, aber muss nicht 64 Bit verwenden und wenn auch ein 32 Bit Prozessor 64 Bit für eine Variable benutzt, muss auch der 64 Bit lesen. Er kann sie nur nicht in einem Schritt bearbeiten... Wenn der 64 Bit A64 das Analoge tut mit den gleichen Daten wie ein AthlonXP, dann ändert sich für den Cache nicht wirklich viel ;).

beos
2005-01-24, 12:09:37
Grüß Euch,

ich habe mich mal schlau gemacht, und wollte Euch mal meine Erkenntnisse
(falls es Euch interessiert) mitteilen.

Die Cache Performance bleibt im 32 und 64 Bit Betrieb gleich.
Je nachdem wie groß der Programm Prozess ist sinkt die Cache P.
(also je größer das Proggie, das ausgeführt wird - desto schlechter die Cache Hits) Das gilt für 32 und 64 Bit software.

Das heißt dann aber auch, wenn man größere Programme im 64 Bit Mode laufen läßt (also z.B. statt einer 2 GB Datenbank eine 8 GB) - sinkt die Performance drastisch.
Das ist wohl auch mit einer der Gründe, warum Intel in der Merced Architektur
Megabyte grosse Caches vorsieht (demnächst 16 MB).

AMD sollte also in der nächsten Athlon64 Revision die Caches wieder vergrößern und nicht verkleinern - wie aktuell geschehen......


Viele Grüße

Micha