Caches sind aufgrund einer Kombination von Faktoren im Zusammenhang mit Kosten, Geschwindigkeit und technologischen Einschränkungen gering:
* Kosten: Ein schnellerer Gedächtnis ist pro Bit deutlich teurer als langsamerer Speicher. Der Aufbau eines großen Hochgeschwindigkeits-Cache wäre unerschwinglich teuer. Das Kosten-Nutzen-Verhältnis nimmt mit zunehmender Cache-Größe stark ab.
* Geschwindigkeit: Die Cache -Zugriffszeiten müssen extrem schnell sein, um effektiv zu sein. Kleinere Caches ermöglichen einfachere, schnellere Designs. Größere Caches führen komplexere Schaltungen und längere Zugangszeiten ein und negieren die Vorteile einer größeren Kapazität. Der Geschwindigkeitsvorteil ist eng mit der Größe gekoppelt.
* Stromverbrauch: Hochgeschwindigkeitsspeicher verbraucht mehr Leistung. Ein größerer, schnellerer Cache würde erheblich mehr Strom verbrauchen, was zu einer erhöhten Wärmeerzeugung und einer verringerten Akkulaufzeit (insbesondere für mobile Geräte) führt.
* technologische Einschränkungen: Die Herstellung extrem großer Hochgeschwindigkeits-Caches ist technologisch herausfordernd und teuer. Während sich die Technologie weiter verbessert, gibt es praktische Grenzen dafür, wie dicht und schnell wir Transistoren für Gedächtniszellen packen können.
* Lokalitätsprinzip: Caches stützen sich auf das Prinzip der Lokalität - die Idee, dass kürzlich auf Daten und Anweisungen zugegriffen werden können, wird wahrscheinlich bald wieder zugegriffen. Ein relativ kleiner Cache kann dieses Prinzip für einen großen Prozentsatz des Speicherzugriffs effektiv ausnutzen. Das Erhöhen der Cache -Größe über einen bestimmten Punkt hinaus ergibt eine Verringerung der Renditen in Bezug auf eine verbesserte Leistung, da die Wahrscheinlichkeit, die erforderlichen Daten im größeren Cache zu finden, proportional nicht steigt.
Im Wesentlichen ist die optimale Cache-Größe ein Kompromiss zwischen Kosten, Geschwindigkeit, Stromverbrauch und Effektivität. Ein kleiner, schneller Cache bietet einen erheblichen Leistungssteiger mit angemessenen Kosten, während ein größerer Cache nur marginale Leistungssteigerungen bietet und gleichzeitig seinen Kosten- und Stromverbrauch erheblich erhöht. Aus diesem Grund werden mehrere Ebenen von Caches (L1, L2, L3) verwendet; Jedes Level bietet einen anderen Kompromiss zwischen Geschwindigkeits-/Größen.