PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bei DualCore-CPUs den gesplitteten L2-Cache nur einem Core zuweisen (=verdoppeln) ?


DjDino
2005-10-26, 12:16:06
http://www.elektronik-kompendium.de/sites/com/bilder/10050911.gif
(Quelle : http://www.elektronik-kompendium.de )

Ich frage mich warum die Prozessorhersteller noch nicht auf die Idee gekommen sind bei Bedarf so ein "zusammenschalten" dieser Caches zu ermöglichen.So hätte man ja z.b. bei einem Athlon64 X2 4800+ (hat pro Core 1MB L2-Cache) die Möglichkeit im SingleCore-Modus satte 2MB L2-Cache zu nutzen was einen sicher nicht unerheblichen Perfomancevorteil schaffen würde für Anwendungen welche nicht DualCore-optimiert sind.So könnte der User von seiner DualCore-CPU viel dynamischer in sämtlichen Anwendungen profitieren.Ich stelle mir das so vor, das man im BIOS den Prozessor entweder als Single oder DualCore-CPU einstellen kann, je nach dem wird der L2-Cache beiden Cores, oder nur einem zugewiesen.Das müsste doch eigentlich machbar sein wo doch auch ein deaktivieren dieses Caches per BIOS schon seit langem möglich ist und auch HyperThreading per BIOS in der Regel abschaltbar ist, das BIOS also die Nutzung der CPU-Architektur doch recht stark beeinflussen kann ? Betriebsystemseitig dürfte das unter WindowsXP kein Problem sein, es kann betreffend HAL durchaus auch als installierter ACPI-Multiprozessor-PC mit einer aufeinmal per BIOS von DualCore auf SingleCore geänderten CPU zurechtkommen (ich habe das schon mal probiert, WindowsXP läuft auch als erzwungen-installierter ACPI-Multiprozessor-PC mit einer SingleCore-CPU absolut problemlos,stabil und ohne Perfomanceeinbussen) ... oder liegt hier doch ein Problem ?
Was könnten die Gründe sein warum diese Möglichkeit noch nicht aufgegriffen wurde ?

BlackBirdSR
2005-10-26, 12:23:21
Ich frage mich warum die Prozessorhersteller noch nicht auf die Idee gekommen sind bei Bedarf so ein "zusammenschalten" dieser Caches zu ermöglichen.

Das macht mehr Stress als gut ist, wenn man die Caches aus dieser Konstellation zusammenschaltet.
Zumal der Unterschied zwischen 1MB und 2MB L2 Cache nurn wirlich nicht mehr groß ist. Ist es auch schon zwischen 512K und 1MB nicht mehr.

Bei dieser Bauweise bilden CPU Kern und L2 Cache eine feste Einheit, die man nicht so einfach trennen kann.
Was Intel aber z.B macht, ist den Cache als geteilten Cache für 2 Kerne einzusetzen (Yonah, Montecito).
Dann kann eine Kern deaktiviert werden, und der Cache dem anderen Kern komplett zugesprochen werden.

DjDino
2005-10-26, 12:35:54
Es kann also nur ein ungesplitterter und von beiden Cores gemeinsam genutzer Cache als ganzes auch von nur einem Core angesprochen werden da ansonsten die Trennung zwischen Core und Cache nicht möglich wäre ? Aber waum wäre/ist sie es sonst nicht ? Kann beim Athlon64 nicht der "Snoop Channel" wo ja L2-Daten abgeglichen werden können eine Möglichkeit sein den L2-Cache des zweiten Cores dem anderen Core nutzbar zu machen ?

kelo
2005-10-26, 14:17:22
Das macht mehr Stress als gut ist, wenn man die Caches aus dieser Konstellation zusammenschaltet.
Zumal der Unterschied zwischen 1MB und 2MB L2 Cache nurn wirlich nicht mehr groß ist. Ist es auch schon zwischen 512K und 1MB nicht mehr.

Bei dieser Bauweise bilden CPU Kern und L2 Cache eine feste Einheit, die man nicht so einfach trennen kann.
Was Intel aber z.B macht, ist den Cache als geteilten Cache für 2 Kerne einzusetzen (Yonah, Montecito).
Dann kann eine Kern deaktiviert werden, und der Cache dem anderen Kern komplett zugesprochen werden.
Intel hat dies ja beim zukünfitgen DC Pentium-M Prozessoren vor.
Ein 2 MB L2 Cache, dass variabel den Cores zugeteilt wird.

BlackBirdSR
2005-10-26, 14:23:04
Intel hat dies ja beim zukünfitgen DC Pentium-M Prozessoren vor.
Ein 2 MB L2 Cache, dass variabel den Cores zugeteilt wird.

Ich habe Yonah extra erwähnt, glaube ich.

Zool
2005-10-26, 15:33:23
Ein unified 2nd-level Cache für bei CPUs würde in gewissen Fällen deutliche Vorteile bringen, z.B. wenn CPU-B mit den Daten von CPU-A weiterarbeiten sollte und der Weg über den normalen FSB gespart würde und direkt über den Cache läuft.

Ist aber wie schon bemerkt technisch anspruchsvoll

Muh-sagt-die-Kuh
2005-10-26, 16:34:44
Bei dieser Bauweise bilden CPU Kern und L2 Cache eine feste Einheit, die man nicht so einfach trennen kann.
Was Intel aber z.B macht, ist den Cache als geteilten Cache für 2 Kerne einzusetzen (Yonah, Montecito).
Dann kann eine Kern deaktiviert werden, und der Cache dem anderen Kern komplett zugesprochen werden.Montecito hat keinen Unified L2-Cache.

GloomY
2005-10-26, 17:15:09
Ich schreibe später noch ausführlich etwas hierzu. Nur mal eins vorweg: Bei der Verdoppelung des Caches verändert sich seine Adressierung. Man musst den Index um ein Bit erweitern und den Tag um ein Bit verkleinern. Weiterhin wird wohl die unterschiedliche Zugriffszeit auf beide Cacheteile hier Probleme machen.

Später wie gesagt mehr dazu.


Zu den verschiedenen Möglichkeiten für Multicore-Prozessoren siehe auch bei Realworldtech.com (http://www.realworldtech.com/page.cfm?ArticleID=RWT101405234615)

BlackBirdSR
2005-10-26, 19:01:04
Montecito hat keinen Unified L2-Cache.

I know ;) In doppeltem Sinne ;)
Hab extra

Was Intel aber z.B macht, ist den Cache als geteilten Cache für 2 Kerne einzusetzen (Yonah, Montecito).


nur von cache geredet. Aber nächtes mal bin ich deutlicher, sorry.

Neomi
2005-10-26, 19:13:13
Ein unified 2nd-level Cache für bei CPUs würde in gewissen Fällen deutliche Vorteile bringen, z.B. wenn CPU-B mit den Daten von CPU-A weiterarbeiten sollte und der Weg über den normalen FSB gespart würde und direkt über den Cache läuft.

Ist aber wie schon bemerkt technisch anspruchsvoll

Nicht anspruchsvoll, sondern ungenügend. Eine Software, die so "schlecht" synchronisiert ist, hätte dann aber arge Probleme in echten Multiprozessorsystemen. Die Software muß das OS anweisen, der CPU zu befehlen, ihre noch unsynchronisierten Daten vom Cache in den Systemspeicher zu übertragen. Anderenfalls kann keine andere CPU darauf zugreifen. Zumindest nicht ohne potentielle Datenfehler.

Bokill
2005-10-26, 19:38:43
Zudem gibt es schon gemeinsamen L2 Cache. Der Power 4 und 5 hat im gewissen Sinne gemeinsamen L2 Cache für die einzelnen Kerne.

Es ist gewissermassen einfacher, den L2 Cache einem einzelnen Kern zuzuordnen.

MFG Bobo(2005)

kelo
2005-10-26, 19:54:03
Ich habe Yonah extra erwähnt, glaube ich.
ups, überlesen

Aber in Zukunft mit Multicore wird es einen gemeinsamen L2-Cache geben.