| Cache | |||||
|
Ein Cache (von französisch 'cacher' (verstecken, verbergen)) ist ein Zwischenspeicher für Daten. Er ist meist schneller als das Medium, von dem 'gecacht' wird. Vor allem, wenn die Prinzipien zur Vorschau optimiert sind, nach denen berechnet wird, was in mittelbarer Zukunft an Daten wieder gebraucht wird, so ergibt sich auch hieraus ein Beschleunigungseffekt für das System. Der Cache wird von einem Cache-Controller gesteuert. Dieser befindet sich auf dem Mainboard. Der Cache puffert z. B. Daten zwischen dem Hauptspeicher und der CPU. Ein Level 0 Cache puffert den Datenverkehr zwischen den verschiedenen Recheneinheiten innerhalb einer CPU. → Level 1 Cache, Level 2 Cache. |
|||||
| Siehe auch: Buffer L1-Cache L2-Cache Mainboard ALU Chipsatz FSB MESI CPU FPU | |||||
| Buffer | |||||
| Siehe auch: Cache | |||||
| L2-Cache | |||||
|
Der L2-Cache (Second Level Cache) ist ein Prozessor Cache. Er puffert grössere gegenwärtig zu bearbeitende Daten, teilweise auch ganze Programmteile. Er dient zur Zwischenlagerung von Hauptspeicherdaten, genau wie der First-Level-Cache. Der L2 Cache arbeitet mit dem halben Prozessortakt, der Level 1 Cache arbeitet mit dem ganzen Prozessortakt, also wesentlich schneller als der Hauptspeicher. Dadurch stehen Daten, die im Prozessor Cache stehen schon im nächsten Takt zur Verfügung und werden nicht durch den langsameren Hauptspeicher ausgebremst. Der L2-Cache hat ein Fassungsvolumen von 256 bis 2048 Kilobyte. Im Idealfall liegt er wie der L1 Cache on-Die auf dem Prozessorchip. In diesem Fall arbeitet er mit der vollen Taktrate des Prozessors und ein L3 Cache kann den Datenfluss nochmals verbessern. Bei älteren Architekturen liegt er auf dem Motherboard und arbeitet mit der halben Taktrate. Da immer nur Teile des Arbeitsspeichers im Cache zwischengelagert werden können, muss das Einlagern und Austauschen der Daten intelligent gesteuert werden. Die Grössenordnung der Daten die verschoben werden bezieht sich meist nicht auf Bytes sondern auf Blöcke. Grundüberlegung ist die, dass es am sinnvollsten ist, denjenigen Block im Cache zu speichern, der potentiell am wahrscheinlichsten und häufigsten benötigt wird. Oftmals wird die LRU (Last Recently Used)-Strategie verfolgt, d.h. man tauscht den am längsten nicht mehr benötigten Block aus. Weitere Strategien sind FIFO (First In First Out): der älteste Block wird ausgetauscht und LFU (Last Frequently Used): der am wenigsten gelesene Block wird ausgetauscht. |
|||||
| Siehe auch: CPU Mainboard L1-Cache Northbridge Southbridge | |||||
| L1-Cache | |||||
|
Der Level-1-Cache ist ein Zwischenspeicher und befindet sich on-Die auf dem Prozessorchip. Er arbeitet mit dem ganzen Prozessortakt und ist damit wesentlich schneller als der Hauptspeicher. Der Level-1-Cache puffert aktuelle Adressen, Befehle und Zwischenergebnisse. Er hat ein Fassungsvolumen von 8 bis 256 KiB. Er wurde von Intel mit dem 486er Prozessor eingeführt und beschleunigt den Datenfluss. |
|||||
| Siehe auch: L2-Cache CPU Northbridge Southbridge MESI | |||||
| Cache-Line | |||||
|
Die Cache Line ist die kleinste Verwaltungseinheit innerhalb des Caches (Zwischenspeicher) von Prozessoren. Die Cache Line ist eine Kopie eines Bereiches des Hauptspeichers mit mehreren aufeinander folgenden Adressen. Die Zugriffe vom Cache zur CPU oder zum Arbeitsspeicher erfolgen in einem einzigen, blockweisen Transfer. Die Cache-Line hat ein Grösse von 64 Bit bis 128 Byte. |
|||||
| Siehe auch: MESI L2-Cache L1-Cache Cache Block | |||||
| Hauptspeicher | |||||
|
Ein Computersystem benötigt einen schnellen und grossen Speicher. Dies ist der Hauptspeicher der auch Arbeitsspeicher genannt wird. Er wird auch als Zwischenspeicher für Berechnungen und Datentransfers verwendet. Je Speicher-fressender die Anwendung (beispielsweise CAD, 3D-Grafik, Spiele) und je Ressourcen-hungriger das Betriebssystem, desto grösser sollte der Hauptspeicher sein, damit die Anwendungen stabil laufen. Windows Vista benötigt beispielsweise sehr viel Arbeitsspeicher: mit der Benutzeroberfläche Aero (ab Windows Vista Home Premium) kann Vista schon mal 450 MB Arbeitsspeicher belegen, ohne dass eine weitere spezielle Anwendung läuft! Als Speicherbreite bezeichnet man die Anbindung des Speichers an den Adressbus. Heute gebräuchlich sind 32-Bit (Intel ab 386 bis Pentium 4/AMD Athlon/Apple bis Macintosh G4: Max 4 Gibibyte), 48-Bit (AMD64/Intel64: Max 256 Tebibyte) oder auch 64-Bit (Power Mac G5/Intel Itanium: Max 16 Exbibyte). Ein weiteres Thema ist die Zugriffsgeschwindigkeit auf RAM-Bausteine. Eine wichtige Benchmark ist die absolute Latenz, die sich aus den beiden Kriterien Timing und effektiver Takt ergibt. Siehe auch → Column Address Strobe Latency (CL). Heute übliche RAM-Bausteine sind: DDR400 CL2-2-2-5, DDR500 CL3-3-2-8, DDR2-667 CL4-4-4-12, DDR2-667 CL5-5-5-15, DDR2-800 CL4-4-4-12, DDR2-800 CL5-5-5-15, DDR2-1066 CL4-4-4-12, DDR2-1066 CL5-5-5-15 oder DDR3 1066 CL7-7-20, DDR3-1333 CL8-8-8 und DDR 1600 CL8-8-24, DDR3 1800 CL8-8-28, DDR3 1866 CL9-9-24, DDR3 2000 CL 9-9-24 Bausteine. Die Entwicklung ist hier sehr schnell, so dass auch bald schnellere Bausteine im Umlauf sein werden. |
|||||
| Siehe auch: RAM Column-Address-Strobe-Latency DDR-SDRAM DDR2-DDR3-RAM SIMM DIMM SDRAM DRAM Benchmark GDDR | |||||