Diskussion:Cache/Archiv/1

message: Warum der Umstand, dass Cache übersetzt "geheimes Lager" heisst, darauf hindeutet, dass der Cache "nicht direkt addressierbar" ist, verstehe ich nicht. Die nicht-direkte Adressierbarkeit ist zwar richtig, taugt aber nur bedingt als Erklärung. Vielmehr sollte man auf Lager als Äquivalent für Speicher und geheim als Äquivaltent für die Transparenz bzw. Verborgenheit des Caches abheben. Das tut die neue Formulierung keineswegs besser als die alte, imo eher schlechter.
Auch gegen die uneingschränkte Transparenz des Caches wehre ich mich. Ich hatte die Formulierung "weitgehend transparent" gewählt, weil ein Programmierer die Existenz eines Caches keineswegs grundsätzlich ignorieren kann. Grade bei der Verarbeitung großer Datenmengen ist der richtige Umgang mit der Cachgröße bei der Wahl der Verarbeitungsalgorithmen keineswegs vernachlässigbar. Werden die zu verarbeitenden Datenstrukturen zu groß gewählt, kann das erhebliche Performanceprobleme nach sich ziehen, weshalb ein Algorithmus unter Umständen durchaus die Existenz und die Größe eines Caches berücksichtigen muss. Daher auch der Hinweis auf die Relevanz bei der Performance-Optimierung.
Auch die Vernachlässigbarkeit des Caches für den Compiler ist nur richtig, solange der Compiler keinen Wert auf Optimierung legt. So kann ein Compiler durch geschickte Platzierung von Datenstrukturen durchaus dafür sorgen, dass Zugriffe auf konkurrierende Speicherbereiche sich nicht gegenseitig aus dem Cache werfen. Kaum ein Compiler kann es sich heute noch leisten, die Existenz und das Wissen um die Funktionsweise von Caches zu ignorieren, weshalb ich diese Aussage in der heutigen Zeit sogar als grundlegend falsch bezeichnen würde: vergleiche auch .
Ob die nicht weiter erklärte Erwähnung des "Quotes-of-the-day" wirklich sein muss, darüber kann man ja streiten und auch die Erweiterung mit dem "Schattenspeicher" ist eigentlich gut, aber eine Sinnentstellung der Aussagen eines ganzen Absatzes sollte bitte nicht vorgenommen werden.
Ich bitte um eine weniger radikale Veränderung der Aussagen dieses Absatzes und um einen syntaktisch korrekten Satzbau ohne vergessene Worte. Gut, kann ja mal passieren, aber es läßt vermuten, dass die Änderungen mal schnell so-la-la gemacht wurden. --Ruscsi 15:33, 19. Mär 2005 (CET)
replies: text: Nee, das stimmt so nicht ganz. Das Caching wird mitnichten vom Betriebssystem gesteuert oder von sonst einer Software, es wird komplett und autark von der Prozessorhardware oder im Chipsatz abgewickelt. Insofern ist in der Tat kein Teil des Caches separat direkt per Software auslesbar oder beschreibbar, also gibt es tatsächlich keine direkte Adressierbarkeit (man kann nur durch oben erwähnte Programmiermethoden dafür sorgen, dass ggf. gewisse Daten NICHT im Cache landen). Höchstens das Wörtchen "abstrakt" ist vielleicht wirklich diskussionswürdig. --PeterFrankfurt 01:45, 4. Jul. 2011 (CEST)

text: Sorry Peter, aber es gibt nicht nur den Prozessor-Cache (für den deine Aussage richtig ist), sondern z.B. auch das Cachen von Festplatten, und das macht heutzutage durchaus das Betriebssystem (mal abgesehen von den 16MB "Controller-Cache" direkt in der Platten-Elektronik). "Transparent" oder "verborgen" ist das jedoch wiederum aus Anwendungssicht. --arilou 10:48, 5. Jul. 2011 (CEST)
replies: text: Klar, aber ich hatte die Frage allein auf den Prozessor bezogen verstanden. --PeterFrankfurt 02:34, 6. Jul. 2011 (CEST)

text: Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 14:44, 8. Mai 2014 (CEST)
thread_title: missverständliche Formulierungen?

message: Warum heißt es im Text „on-Die“? Ich kenne „On-Chip“, was ich für wesentlich sinnvoller halte, da ich „Die“ nur als Bezeichnung für den Chip kenne, wenn es darum geht, auszusagen, dass ein ungehäuster Chip gemeint ist. (Ein Die wird auf eine Platine geklebt, dort gebondet und vergossen. Ich habe noch nie gehört, dass von Die gesprochen wird, wenn es um einen Chip im herkömmlichen Chip-Gehäuse geht. (Außer wenn es um den Akt der Montage des Chips in das Gehäuse geht.)) Für die Funktion des Caches ist es interessant, ob er auf demselben Chip sitzt; die Gehäusetechnik ist nicht von Belang.
Deutsch (na ja) dafür wäre „monolithisch“. -- 217.95.172.146 01:46, 28. Mär 2005 (CEST)
replies: text: Aber Hallo! Der Pentium Pro hatte seinen 2nd LC "On Chip", ale modernen CPUs "On Die" und der Unterschied ist beträchtlich. Die Kommunikation zwischen zwei Die's ist erheblich Problematischer als wenn sich der Cache auf dem selben Die befindet. (nicht signierter Beitrag von 84.170.92.54 (Diskussion | Beiträge) 14:44, 15. Mär. 2009 (CET)
replies: text:  (Inzwischen) off-topic :) Im Artikel wird das nicht mehr großartig erwähnt, was auch okay so ist, weil das eher ein Implementierungsdetail ist und IMHO somit eher in die jeweiligen Prozessorartikel gehört. --Uncle Pain 15:51, 15. Mär. 2009 (CET)

text: Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 14:44, 8. Mai 2014 (CEST)
thread_title:  „On-Die“ 

message: Auf Grund der konkreten Angaben vermute ich, dass der Beschreibung eine konkrete Prozessor-Architektur zu Grunde liegt. Vielleicht sollte man im Text darauf hinweisen. (So was wie „die folgenden Angaben beziehen sich auf die Terzium-7-Technologie des Herstellers Entil, die zu Grunde liegenden Prinzipien sind jedoch von allgemeiner Natur“.)
-- Peter, 217.95.172.146 01:46, 28. Mär 2005 (CEST)
replies: text: Die beschriebenen Technologien sind Basistechnologien, die sogut wie jede heutige Architektur umsetzt. Wie sie im Detail implementiert sind, unterscheidet sich natürlich, aber darauf wird hier auch nicht eingegangen. --Matrixx 09:53, 9. Dez 2005 (CET)

text: Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 14:44, 8. Mai 2014 (CEST)
thread_title:  Architektur 

message: Unser Dozent meint, da Cache aus dem Französischen komme, würde es wie "kasch" ausgesprochen und nicht wie "käsch". 
:Cache als solches gibts im franz. gar nicht. Nur caché bzw. cacher. Wenn wir also von cache sprechen, kann nur das engl. Wort gemeint sein.  --matrixx 23:05, 9. Feb 2006 (CET)
replies: text: Aber hallo gibt's das: z. B. in "cache-sexe" (= Minimal-Tanga für Männer); schon weit über hundert Jahre! Du hast vergessen, die Befehlsform zu berücksichtigen. - Gruß, Yog-S 
Dein Dozent hat natürlich völlig recht. Auch im Englischen wird Cache wie Kasch ausgesprochen (zumindest von den mir bekannten Engländern). Allerdings finde ich Pufferspeicher doch schöner... Geggo 16:06, 17. Nov. 2006 (CET)
replies: text: Mein prof hat das auch grad französisch ausgesprochen und das betont und das ist wahrscheinlich nicht derselbe--goiken 14:39, 11. Jan. 2010 (CET)
thread_title:  Aussprache (1) 

message: Ist es notwendig, neben der offiziellen IPA-Aussprache-Indizierung im dritten Absatz die »deutsche« Aussprache (käsch) anzuführen? --Fritzizqui 10:44, 27. Jan. 2010 (CET)
replies: text: Obwohl ich selbst IPA lesen kann, finde ich diese simpeldeutsche Version im OmA-Sinn hilfreich. Ich bin mir sicher, dass viele Leser mit IPA nichts anfangen können, aber trotzdem etwas über Cache wissen wollen. --PeterFrankfurt 17:28, 27. Jan. 2010 (CET)
thread_title:  Aussprache (2) 

message: Mir fehlt bei dem Artikel noch ein Verweis auf die Cache-Funktion bei Suchmaschinen(z.B. bei Google), bei denen die zwischengespeicherten Seiten betrachtet werden können - nützlich, wenn eine Seite gerade nicht erreichbar ist oder Inhalte der Seite vor kurzem von der Seite genommen wurden. Eine Größenangabe für den Cache-Speicher bei Suchmaschinen fänd ich auch klasse! Weiß da jemand mehr? --Dalaja 13:04, 16. Aug 2006 (CEST)
replies: text: Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 14:44, 8. Mai 2014 (CEST)
thread_title:  Suchmaschinen-Cache 

message: "Wenn durch das Schreiben eines Prozessors in einen Cache-Block der gleiche Block im Cache eines zweiten Prozessors hinausgeworfen werden muss, so führt der Zugriff des zweiten Prozessors auf eine Adresse, die durch diesen entfernten Cache-Block abgedeckt war, zu einem Miss, den man als Kohärenz-Miss bezeichnet."
Der Satz oben ist mir nicht ganz klar. Hat hier jede CPU ihren eigenen Cache, so dass wir von 2 Caches sprechen? Wieso muss dann ein Block aus Cache2 raus, weil CPU1 einen Block in Cache1 geschrieben hat? Er kann doch eigentlich drin bleiben, oder? (Vorstehender nicht signierter Beitrag stammt von 134.100.6.209 (Diskussion • Beiträge) 2006-10-19T10:54:38)
:Nicht wenn es sich um einen Block mit identischer Referenz handelt. Dieser wird in dem Moment, in dem in den ersten Cache geschrieben wird, ungültig. Beispiel: Eine DualCore CPU hat in beiden Cores die Speicherstelle 4711 gecached. Wird diese nun geändert, so wird diese Speicherstelle im 2. Cache ungültig und wird rausgekegelt, so das dieser beim erneuten Zugriff des 2. Core neu geladen werden muss, um an den aktualisierten Wert zu kommen. Dieser Fall tritt auch, wenn zwei Threads auf eine gemeinsame (z.B. globale) Speichervariable schreibend zugreifen. Es kommt zu einer Race Condition, die die Geschwindigkeit dieser beiden Cores unter diejenige einer einzelnen drücken kann. (nicht signierter Beitrag von 84.170.62.207 (Diskussion | Beiträge) 17:57, 15. Mär. 2009 (CET)
replies: text: Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 14:44, 8. Mai 2014 (CEST)
thread_title:  Coherency Miss 

message: "Um den Nutzen des meist mehrere Größenordnungen kleineren Caches im Vergleich zum Hintergrundspeicher zu maximieren" - Ist es möglich, diesen Satz noch wahnsinniger zu formulieren? Meist - mehr - größer - kleiner - maximal - im Vergleich, versteht sich... 
:Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 15:00, 8. Mai 2014 (CEST)
thread_title:  unverstaendlich 

message: Satzassoziative Caches sind jetzt der interessanteste Teil des Ganzen, denn sie stellen das Mittelding zwischen DM und FA dar. Wir wählen jetzt für unseren winzigen Cache eine Assoziativität von 2, bei 16 Blöcken insgesamt entstehen also 8 Sätze zu je 2 Blöcken. Auch hier nummeriere ich die Sätze mit s0 bis s7. Die entsprechende Satztabelle sieht dann so aus:
Speicheradresse hexadezimal	zuständiger Cachesatz	zum Satz gehörige Blöcke
0x000                      	s0                   	b0, b1
0x001                      	s1                   	b2, b3
…                          	…                    	…
0x007                      	s7                   	bE, bF
0x008                      	s0                   	b0, b1
0x009                      	s1                   	b2, b3
0x00A                      	s2                   	b4, b5
…                          	…                    	…
0x00F                      	s7                   	bE, bF
0x010                      	s0                   	b0, b1
…                          	…                    	…
0xFFF                      	s7                   	bE, bF
Das sieht jetzt auf den ersten Blick schlechter aus als bei DM, weil nur noch acht Sätze existieren. Weil aber jeder Satz zwei Blöcke beherbergt, ergibt sich insgesamt sogar eine bessere Situation: Ist ein Block in s0 schon belegt, gibt es ja noch einen zweiten.
Nehmen wir doch mal das Szenario vom DM-Cache vorhin: In s0 (genauer gesagt in b0) ist bereits die Adresse 0x000 gecachet und der Prozessor möchte jetzt die Adresse 0x010 (oder 0x008, 0x020 etc…) laden. Dafür ist ebenfalls s0 zuständig. Bei DM müsste nun 0x000 verworfen werden, damit 0x010 Platz in b0 findet. Hier bei SA mit 2-facher Assoziativität ist aber ein zweiter Block b1 im Satz s0 verfügbar, der 0x010 aufnehmen kann. 0x000 muss also nicht aus dem Cache verdrängt werden. Erst wenn die CPU ein drittes Datum anfordert, das von s0 gecachet werden muss, muss entweder 0x000 (also b0) oder 0x010 (also b1) verworfen werden.
Wir gewinnen also gegenüber einem DM-Cache an „Ausweichpuffer“ für zusätzliche Daten. Der Cache kann damit effizienter arbeiten. Im Gegenzug ist aber auch hier mehr Aufwand in Tag-Speicher und Verdrängungslogik gesteckt werden; nicht soviel wie bei FA, da es hier weniger Zuordnungsmöglichkeiten gibt, aber dennoch mehr als bei DM.
: Ich hoffe, das sollte als textuelle Erklärung reichen. Leider fühle ich mich nicht imstande, das schön enzyklopädisch zu formulieren, daher habe ich im Artikel eine Kurzfassung gewählt. --Uncle Pain 15:00, 5. Aug. 2009 (CEST)
replies: text: Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 15:00, 8. Mai 2014 (CEST)
thread_title:  SA 

message: Wie wird der Prozessor-Cache Realisiert? Handelt es sich hierbei um Register?
--84.186.236.65 18:53, 18. Feb. 2010 (CET)
replies: text: Nein, Register wären ja einzeln über spezielle Befehle anzusprechen. Hier handelt es sich praktisch um normale RAM-Zellen plus der notwendigen Controllerlogik zur Cache-Verwaltung, die allerdings dann doch registerartige Speicher für die Tag-Flags und so besitzt. --PeterFrankfurt 02:46, 19. Feb. 2010 (CET)

text: Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 15:00, 8. Mai 2014 (CEST)
thread_title:  Prozessor-Cache 

message: "Cache [kæʃ] bezeichnet in der EDV einen schnellen Puffer-Speicher, der Zugriffe auf ein langsames Hintergrundmedium vermeidet."
Ich finde das Wort "vermeiden" etwas missverständlich. An sich findet ja ein Zugriff auf das Hintergrund Medium statt. Sollte nicht eher "beschleunigen" da stehen? Anderer Möglichkeit wäre zu erklären, dass es sich dabei um die "Vermeidung" von direkter Kommunikation zwischen Prozessor und Hauptspeicher handelt.--Christi4nK 16:42, 12. Jul. 2011 (CEST)
replies: text: Jein. Wenn es ein Cache-Hit ist, diese Daten also schon im Cache sind, wird der Zugriff auf das langsame Hintergrundmedium in der Tat vollkommen vermieden. Wenn nicht, dann nicht. Da letzterer Fall auch oft genug vorkommt, sollte die Formulierung vielleicht auch diesen einschließen. --PeterFrankfurt 02:31, 13. Jul. 2011 (CEST)

text: Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 15:00, 8. Mai 2014 (CEST)
thread_title:  Einleitung 

message: Im Abschnitt Cache-Hierarchie sollte erwähnt werden, dass eine Cache-Seite, die im L1 ist, entweder AUCH in L2..Ln steht, oder NUR im L1, was mehr Platz in L2..Ln lässt. Was dann mitunter zu komplexeren Vorgängen führt bei Verdrängung dieser Seite aus dem L1; wenn die Seite AUCH in L2..Ln steht, braucht man sie in L1 ja nur löschen/überschreiben.
Für diese beiden Varianten gibt's bestimmt auch Spezialbegriffe.
--arilou 09:08, 1. Aug. 2011 (CEST)
replies: text: Ich kenne dafür die Begriffe Inklusiv- und Exklusiv-Cache: Bei ersterem halten alle Levels die Daten, bei letzterem immer nur ein Level. In der englischen WP werden diese beiden Konzepte auch nicht erwähnt, hingegen aber im englischen Artikel CPU cache. Ich stimme dir aber zu, sollte mindestens erwähnt werden. --Uncle Pain 14:48, 1. Aug. 2011 (CEST)

text: Archivierung dieses Abschnittes wurde gewünscht von: arilou (Diskussion) 15:00, 8. Mai 2014 (CEST)
thread_title:  Cache-Hierarchie und "Platzsparen"