Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 15 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
15
Dung lượng
398,38 KB
Nội dung
661 Speicherbausteine und -Module Bild 8.34: Das Speicherprinzip mit Cache; die langsamste Einheit ist die Festplatte, die über die größte Kapazität verfügt, die schnellste der 1-Level-Cache, der demgegenüber die klein- ste Speicherkapazität besitzt Der Cache-Speicher ist, wie in den vorigen Kapiteln bereits angesprochen, für die Leistung eines PC von großer Bedeutung. Hierfür sei ein praktisches Beispiel ge- nannt: Wird der Cache-Speicher bei einer 100-MHz-Pentium-CPU abgeschaltet und dann ein Benchmark-Programm wie Sysinfo (Norton Commander, Symantec) ange- wendet, kann man feststellen, dass die Ergebnisse etwa gleichauf liegen mit dem dort angegebenen Referenztyp Compaq 386/33 MHz. Leider bieten weder die meis- ten PC-Testprogramme noch die Systeminformationen der Betriebssysteme (Win- dows 95) einen genauen Aufschluss über die Cache-Speicher-Konfiguration, so dass es nötig ist, sich auch mit dieser Materie etwas näher zu beschäftigen. Ab einem 80486DX-Prozessor sind ein 8 Kbyte großer Cache-Speicher und der dafür notwendige Controller gleich mit eingebaut. Dieser interne Cache-Speicher wird als First-Level-Cache (1-Level, L1-Cache) bezeichnet und besitzt, je nach CPU-Typ, eine unterschiedliche Kapazität, wie es in den Kapiteln zu den einzelnen CPUs beschrie- ben ist. Der Cyrix-Typ 6x86MX bietet beispielsweise einen 1-Level-Cache mit einer Kapazi- tät von 64 Kbyte. Bei den Cyrix-CPUs ist der 1-Level-Cache nicht wie bei den ande- ren Prozessoren in einen für Daten und einen für Befehle aufgeteilt, sondern wird für beide Typen gleichermaßen verwendet, was als unified bezeichnet wird. Dies ist bei Cyrix-CPUs etwas problematisch, da das BIOS speziell diese Art der Cache- Auslegung unterstützen muss, damit der Speicher korrekt eingesetzt werden kann. Cyrix (jetzt VIA) stellt daher für Systeme, die den Cache (noch) nicht in der vor- gesehenen Art und Weise initialisieren können, ein spezielles Treiberprogramm zur Verfügung, das diese Funktion übernimmt. Es befindet sich neben einigen anderen CPU-Tools auf der diesem Buch beiliegenden CD. Es gibt noch einen weiteren Cache, der als Second-Level-Cache (L2-Cache) bezeich- net wird und entweder extern auf dem Mainboard (Sockel-7-Typen) realisiert wird oder aber ebenfalls in der CPU (AMD-K6-3) bzw. im CPU-Modul (Pentium II) inte- griert ist. Der PentiumPro verfügte als erster PC-Mikroprozessor auch über einen Teil 4 · Mainboard-Elektronik 662 integrierten Second-Level-Cache (Pipelined Burst) mit einer Kapazität von 256 oder 512 Kbyte, der mit dem vollen CPU-Takt arbeitet, was die Performance gegenüber einem Pentium-Prozessor maßgeblich steigert. Der Pentium II besitzt ebenfalls ei- nen integrierten Second-Level-Cache, der allerdings nur den halben CPU-Takt ver- wenden kann, während bei Athlon, Celeron und Pentium III-Coppermine der L2- Cache auch mit dem vollen CPU-Takt arbeitet. Die Steigerung der Prozessorleistung von einer Generation zur nächsten ist viel- fach nur einem vergrößerten (internen) Cache zu verdanken und eher weniger anderen neuen Features, die bei der Programmierung entsprechend eingesetzt wer- den müssen, damit sie »Früchte tragen«, was aber oftmals unterbleibt, wie es bei- spielsweise bei der mangelhaften MMX-Unterstützung bei aktuellen Programmen der Fall ist. 8.5.1 Cache-Betriebsarten Prinzipiell sind zwei verschiedene Cache-Betriebsarten möglich: Write Through und Write Back. In der ersten Betriebsart werden die Daten vom Mikroprozessor sowohl in das DRAM als auch gleichzeitig in den Cache geschrieben (durchschreiben, write through). Beim Lesen der Daten überprüft der Cache-Controller dann anhand eines Vergleichs der im DRAM abgelegten Adressen mit denen im Cache-Tag-RAM, ob sich die Daten bereits im Cache befinden. Ist dies der Fall (Cache Hit), wobei die Wahrscheinlich- keit bis zu 95% betragen kann, erfolgt ein schneller Lesezugriff aus dem Cache- RAM, andernfalls werden die Daten aus dem langsameren DRAM gelesen (Cache Miss). Mit Hilfe des Cache-Tag-RAMs, das in der Speicherkapazität meist kleiner ausfällt als die eigentlichen Cache-RAMs, bestimmt der Cache-Controller generell, ob ein Cache Hit oder ein Cache Miss vorliegt. Das TAG-RAM enthält gewissermaßen das Inhaltsverzeichnis der Cache-Belegung. Die zweite Cache-Arbeitsweise wird als Write Back bezeichnet, bei der eine Lese- operation im Prinzip wie beim Write Through Cache absolviert wird. Bei einer Schreib- operation hingegen werden zuerst die Daten im Cache aktualisiert, nicht aber au- tomatisch die im Hauptspeicher. Der Cache-Controller merkt sich in einem Dirty-Bit, dass der Cache-Inhalt verändert wurde und nicht mehr mit dem Inhalt der Haupt- speichers übereinstimmt. Dirty bedeutet demnach, dass keine datentechnische Übereinstimmung zwischen DRAM und Cache gegeben ist, und nur in diesem Fall werden dann nachfolgend auch die Daten für den Hauptspeicher aktualisiert. Ein Write Back Cache ist dem- nach in puncto Performance einem Write Through überlegen, da die Zeit für Schreib- zugriffe minimiert wird und nur dann Daten aktualisiert werden, wenn sie sich auch verändert haben. Im BIOS-Setup eines PC sollte daher – wenn möglich – Write Back eingestellt werden. Ob ein PC ausschließlich im Write-Through- oder ebenfalls im Write-Back-Modus arbeiten kann, hängt von mehreren Faktoren ab: Von der verwendeten CPU, vom Aufbau des externen Caches, vom Chipsatz des Mainboards und vom BIOS des PC. Standardmäßig kann erst eine Pentium-CPU im leistungsfähigeren Write-Back-Mo- dus arbeiten. Bei 486DX-PCs hängt es davon ab, wie der externe Cache vom Main- boardhersteller implementiert wurde, und nur mit dem L2-Cache ist dann diese Betriebsart möglich. Aus diesem Grunde gibt es einige PCs, bei denen eine Um- schaltung im BIOS-Setup möglich ist, und andere, bei denen es unmöglich ist. 663 Speicherbausteine und -Module Wenn es möglich ist und im BIOS-Setup hierfür ein entsprechender Menüpunkt vor- handen ist, sollte die Write-Back-Betriebsart für den Cache eingeschaltet werden. Ab Pentium-CPUs wird standardmäßig der (bessere) Write-Back-Modus verwendet. Es existieren aber auch bereits 486-Prozessoren wie der 486DX-66 der Firma Cyrix und einige 486-CPUs der Firma Intel (erkennbar am Kürzel WB in der Beschrif- tung), die von Haus aus Write Back unterstützen. 386-PCs können meist ausschließ- lich nur die Write-Trough-Betriebsart verwenden. 8.5.2 Second Level Cache – L2-Cache Der externe Cache-Speicher (L2-Cache) verfügt in der Regel über eine Kapazität von 256 Kbyte bis hin zu 1 Mbyte. Die Kapazität ist also wesentlich geringer als die der üblichen DRAM-Speicherauslegung. Das Prinzip des Cache-Speichers ist bereits aus den 60-iger Jahren bekannt. Man macht sich dabei die Tatsache zunutze, dass in einem Programm viele Aktionen sequentiell oder in Schleifen durchlaufen werden, und da bestimmte Programmteile oder Datenvariablen, die vielfach nicht sehr speicher- intensiv sind, immer wieder benötigt werden, sind ganz beachtliche Steigerungen der Verarbeitungsgeschwindigkeit die Folge, wenn sie aus dem schnellen Cache zur Verfügung stehen. Bei relativ kleinen Cache-Speichergrößen (32 Kbyte) ist es in den meisten Fällen möglich, den Cache mit entsprechenden Bausteinen auf dem Mainboard aufzurü- sten, was sich für eine möglichst gute PC-Performance durchaus empfiehlt. In der folgenden Tabelle ist angegeben, wie die Cache-Bausteine für die üblichen Speicher- größen organisiert sein müssen und wie viele man davon jeweils benötigt. Größe Cache-RAM Cache-Tag-RAM Cache-Dirty-RAM 64 Kbyte 8 Stück 8 k x 8 2 Stück 4 k x 4 1 Stück 4 k x 4 64 Kbyte 8 Stück 8 k x 8 1 Stück 8 k x 8 1 Stück 4 k x 4 64 Kbyte 8 Stück 8 k x 8 3 Stück 4 k x 4 1 Stück 4 k x 4 128 Kbyte 4 Stück 32 k x 8 1 Stück 8 k x 8 1 Stück 8 k x 8 256 Kbyte 8 Stück 32 k x 8 2 Stück 16 k x 4 1 Stück 16 k x 4 256 Kbyte 8 Stück 32 k x 8 1 Stück 32 k x 8 1 Stück 16 k x 4 512 Kbyte 8 Stück 64 k x 8 1 Stück 32 k x 8 1 Stück 64 k x 4 Tabelle 8.16: Übliche Bestückungsmöglichkeiten von Cache-Speichern Einige Hersteller haben aus Kostengründen den Write-Back-Cache-Speicher leider so realisiert, dass das Dirty-Bit nicht verarbeitet werden kann. Dadurch wird ein Baustein eingespart (TAG-RAM) und der Controller kann nicht erkennen, ob Daten im Hauptspeicher aktualisiert werden müssen oder nicht. Daher müssen, wie beim Write-Through-Cache, immer sowohl Daten in den Cache als auch in den Hauptspei- cher geschrieben werden, wodurch sich dann kein merklicher Vorteil gegenüber Write-Through ergibt. Eine Nachrüstung dieses Bausteins ist immer dann sinnvoll, wenn hierfür eine leere Fassung auf dem Mainboard vorhanden und im BIOS-Setup eine Umschaltung auf Write-Back-Cache möglich ist. Teil 4 · Mainboard-Elektronik 664 Bei Systemen, die nicht mindestens über einen L2-Cache von 256 Kbyte verfügen, ist eine entsprechende Erweiterung sinnvoll. Eine Cache-Aufrüstung von 256 auf 512 Kbyte bringt erst ab einer RAM-Größe von 32 Mbyte einen Performance-Gewinn. Bild 8.35: Bei diesem 486-Mainboard wurde beim Aufbau des Cache-Speichers gespart und das TAG/DIRTY-RAM nicht bestückt, welches hier aber im freien Sockel problemlos nachgerü- stet werden kann Die Größe des Cache-Speichers orientiert sich an der installierten Größe des DRAMs, damit ein entsprechend großer DRAM-Bereich zu »cachen« ist. Wie es im Kapitel bei den Chipsets zu lesen ist, hängt die Cacheable-Area vom Chipsatz selbst und auch vom eingebauten TAG-RAM ab. Der Intel-430HX-Chipsatz kann 512 Mbyte »cachen«, der (neuere) Intel 430TX hinge- gen nur 64 Mbyte. Wird auf einen Speicherbereich zugegriffen, der sich außerhalb der Cacheable-Area befindet, bedeutet dies, dass die Daten direkt aus dem (langsa- meren) DRAM zu verarbeiten sind. Dies hat aber zur Folge, dass der PC langsamer arbeitet, als wenn er über entsprechend weniger DRAM verfügen würde, da die Cache/ DRAM-Verarbeitung (die Daten liegen teilweise im Cache, teilweise aber im DRAM) unnötigerweise Verarbeitungszeit beansprucht. Es hat demnach absolut keinen Sinn, einen PC mit 430TX-Chipsatz mit mehr als 64 Mbyte auszustatten. Cacheable Area TAG-RAM-Breite 64 Mbyte 8 Bit 128 Mbyte 9 Bit 256 Mbyte 10 Bit 512 Mbyte 11 Bit 1024 Mbyte 12 Bit Tabelle 8.17: Die Cacheable-Area wird von der Breite des TAG-RAMs bestimmt 665 Speicherbausteine und -Module Aber selbst wenn der Chipsatz den maximal zu installierenden DRAM-Bereich zu »cachen« vermag, bedeutet dies noch nicht, dass dies auch in der Praxis möglich ist, denn das TAG-RAM muss über eine bestimmte Datenbreite verfügen. Die Main- board-Hersteller sparen dabei gern ein paar Mark ein und verwenden ein TAG-RAM, welches wieder eine Limitierung der Cacheable-Area zur Folge hat. Welchen Einfluss die Breite des TAG-RAMs auf die Cacheable-Area hat, zeigt die folgende Tabelle. Bild 8.36: Die Cache-Größe, wobei hier unterschiedliche Cache-RAM-Bausteine zum Einsatz kom- men können, wird bei diesem Mainboard mit Jumpern festgelegt Teil 4 · Mainboard-Elektronik 666 Bei einigen Mainboards – beispielsweise der Firma Gigabyte – ist es möglich, das standardmäßig vorhandene 8-Bit-TAG-RAM gegen ein 11-Bit-TAG-RAM zu ersetzen, damit der maximale Bereich von 512 Mbyte zu »cachen« ist. Es kommt leider immer wieder vor, dass beim Aufbau des 2-Level-Cache-Speichers gespart wird und das TAG-RAM aus Kostengründen nicht bestückt wird. In den meis- ten Fällen ist hierfür aber noch freier Sockel vorhanden, so dass man diesen Bau- stein auch selbst nachrüsten kann. Bei Mainboards wird nicht immer das TAG-RAM in der erforderlichen Bit-Breite einge- baut, welches – je nach Mainboardtyp und Chipsatz – möglicherweise durch ein ge- eigneteres zu ersetzen ist. Bild 8.37: Auf einigen aktuellen Mainboards ist der 2-Level-Cache-Speicher direkt aufgelötet und kann weder um- noch aufgerüstet werden; die Zugriffszeit des Speichers beträgt hier 6 ns (erkennbar an der -6-Bezeichung, nicht zu verwechseln mit der Bezeichnung wie sie bei DRAMs üblich ist und dann für 60 ns stehen würde) Auf älteren Mainboards findet man für die Festlegung der L2-Cache-Größe oftmals einige Jumper, die der Mainboard-Elektronik die jeweilige Konfiguration signali- sieren. Das folgende Bild zeigt die Bestückungsvarianten und Jumperstellungen für ein 486-Mainboard von der Firma Asus. 667 Speicherbausteine und -Module 8.5.3 Cache-Speicher-Implementierungen Prinzipiell kann der L2-Cache-Speicher auf üblichen PC-Mainboards in vier Varian- ten realisiert sein: > Asynchroner Cache > Synchroner Cache > Cache mit Burst SRAMs > Cache mit Pipelined Burst SRAMs Die Cache-RAMs sind wie die DRAMs und SIMMs in Bänken organisiert und arbeiten asynchron zum Prozessortakt mit Enable-Signalen. Diese Cache-Konfiguration be- zeichnet man daher als asynchronen Cache (A-Cache). Synchrone statische RAMs (Synchronous SRAMs) können demgegenüber mit schnel- leren Zugriffszeiten (< 20 ns) aufwarten und sind bei einigen Mainboards optional – statt der A-Cache-Bausteine – zu bestücken. Sie arbeiten mit einem zur CPU synchronen Takt, was gegenüber den asynchronen SRAMs zu einer Einsparung von Verzögerungszeiten führt. Burst-SRAMs sind, wie es die Bezeichnung Burst signalisiert, in der Lage, nach der Übermittlung der Startadresse die darauffolgenden Adressen selbst zu generieren. Sie benötigen also nicht für jede Datenübertragung zuvor eine »neue« Adresse von der CPU, was grundsätzlich eine schnellere Datenübertragung gegenüber den asyn- chronen SRAMs erlaubt. In (fast) allen neueren PCs sind die Pipelined-Burst-SRAMs zu finden, die gegenüber den Burst-SRAMs mit dem Vorteil aufwarten können, dass sie bei mehreren aufein- ander folgenden Burst-Zugriffen eine quasi überlappende Übertragung der Start- adresse und der ersten Daten ermöglichen, wodurch ein Zyklus eingespart wird. Die Besonderheit der Pipelined-Burst-SRAMs ist im Prinzip nichts anderes als ein zusätzliches Datenausgangsregister, welches das Memory-Array von den Ausgangs- treibern entkoppelt. Die SRAMs für den L2-Cache sind nur bei den älteren Mainboards im DIP-Gehäuse realisiert, während alle neueren SRAMs (Pipelined Burst) im PLCC- oder auch TQFP- Gehäuse gefertigt und direkt auf das Mainboard gelötet werden, was einen erfor- derlichen Austausch oder eine Erweiterung erschwert oder auch unmöglich macht. Gewissermaßen eine Ausnahme ist im Bild 7.32 gezeigt. Hier kann der asynchrone Cache (rechts oben im Bild) gegen synchrone SRAMs, für die vier Sockel (über der Pentium-CPU) vorgesehen sind, ausgetauscht werden. Bei neueren Mainboards wird die vorhandene Cache-Speichergröße und der einge- setzte Typ automatisch erkannt. Im BIOS-Setup ist der L2-Cache – wie meist auch der L1-Cache – an- oder abzuschalten und bei einigen Versionen lassen sich auch noch einige Timing-Parameter konfigurieren. Teil 4 · Mainboard-Elektronik 668 Bild 8.38: Einstellungen für die beiden Cache-Speicher, die wie hier bei einer Athlon-CPU – entge- gen der Bezeichnung External Cache – beide im Prozessor integriert sind, finden sich im »Advanced BIOS Features Setup« Bild 8.39: Dieses Mainboard ist mit Pipelined-Burst-SRAMs (UMC 3232AF-7) bestückt und daher fehlt hier der asynchrone Cache (Lötpunkte unter den UMC-Chips). Rechts ist das TAG- RAM für den Cache von 256 Kbyte zu erkennen Auch bei neueren Mainboards ist immer darauf zu achten, ob ein TAG-RAM vorhan- den ist und über welche Kapazität bzw. Bit-Breite es verfügt. Bei einem in der CPU integrierten L2-Cache (ab Pentium II) muss man sich darüber – außer der Einschal- tung im BIOS-Setup –, keine weiteren Gedanken machen und die Cacheable-Area beträgt bei aktuellen CPUs (Pentium III, Athlon) auch (mindestens) der maximal zu bestückenden DRAM-Speichergröße. 669 Speicherbausteine und -Module 8.5.4 SRAMs und allgemeine Speicheridentifizierung Als RAM-Bausteine werden für den Cache-Speicher grundsätzlich statische RAMs (SRAMs) verwendet. Ihre Zugriffszeiten liegen typischerweise bei 6-25 ns. Wie die DRAMs sind auch die SRAMs bei einer Matrix aus Zeilen und Spalten aufgebaut. Die Zeilen- und Spaltenadressen werden jedoch nicht nacheinander, sondern gleichzei- tig als eine einzige Adresse gesendet. Die Aufteilung erfolgt innerhalb des Bau- steins, wodurch sich die Peripherie zu ihrer Ansteuerung vereinfacht. Die statischen RAMs bestehen aus einer Vielzahl einzelner Flip-Flops, wobei sich eine Speicherzelle typischerweise aus vier bis sechs Transistoren zusammensetzt. Bei einem High ist das Flip-Flop gesetzt, bei einem Low zurückgesetzt. Die folgen- de Tabelle enthält eine kurze Beschreibung der einzelnen SRAM-Signale. Anschlüsse Funktion/Bedeutung A0-Ax Die Anschlüsse für die Adressleitungen /CE Chip Enable, Selektierung des Bausteins DQx, I/Ox Datenbus für Dateneingang/Datenausgang NC No Connection. Diese Pins sind nicht angeschlossen. /OE Output Enable schaltet die Daten beim Lesen auf die Ausgänge des Bausteins. Vcc oder Vdd Versorgungsspannung (5 V) Vss oder GND Masseanschluss, Ground /WE Write Enable, Eingang für den Schreibzugriff Tabelle 8.18: Die Signalbedeutung bei SRAMs Teil 4 · Mainboard-Elektronik 670 Bild 8.40: Der interne Aufbau eines SRAMs vom Typ 32 Kbit x 8 Bit Für die Adressierung eines 43258-SRAMs (32768 x 8 Bit) werden 15 Adressleitungen benötigt (A0-A14). Der SRAM-Baustein wird durch ein Low am /CS-Eingang (Chip Select) aktiviert. Die bidirektionalen Datenleitungen sind wie bei den 4 Bit breiten DRAMs mit I/Ox oder auch DQx bezeichnet. Mit einem aktiven (Low) /WE-Signal (Write Enable) werden Daten zum SRAM geschrieben. Die 8 Bit breiten SRAMs besitzen für die Freigabe des Ausgangstreibers das Eingangssignal /OE (Output Enable). [...]... nicht zwangsläufig als Pipelined Burst realisiert sein, sondern es ist auch ein asynchroner Cache oder ein anderer Typ wie Flow Through Burst oder 2-Bank Pipelined möglich, Pipelined Burst ist hierfür jedoch der gebräuchlichste Wie bei den PS/2-SIMMs gibt es auch beim COAST-Modul so genannte Presence Detect-Signale (PD), die der Mainboard-Elektronik den jeweils eingesetzten Typ signalisieren 673 Teil . werden, wenn sie sich auch verändert haben. Im BIOS-Setup eines PC sollte daher – wenn möglich – Write Back eingestellt werden. Ob ein PC ausschließlich im Write-Through- oder ebenfalls im Write-Back-Modus arbeiten. vom Chipsatz des Mainboards und vom BIOS des PC. Standardmäßig kann erst eine Pentium-CPU im leistungsfähigeren Write-Back-Mo- dus arbeiten. Bei 486DX-PCs hängt es davon ab, wie der externe Cache. (AMD-K6-3) bzw. im CPU-Modul (Pentium II) inte- griert ist. Der PentiumPro verfügte als erster PC- Mikroprozessor auch über einen Teil 4 · Mainboard-Elektronik 662 integrierten Second-Level-Cache