Erweiterung des cachefähigen Speicherbereichs
für das Socket7 Motherboard ECS Elite Group P5HX-B
Vorwort
Alle Angaben in dieser Anleitung ohne Gewähr ! Der Author haftet nicht
für evtl. Schäden die aufgrund dieser Anleitung entstanden sind.
Die unten beschriebene Vorgehensweise wurde bereits vom Author erfolgreich
angewendet und dokumentiert. Anmerkung: diese Anleitung ist in erster Linie
als eine Anregung gedacht und wurde mit dem CM161 COAST-Modul das mit dem
Motherboard mitgeliefert wurde durchgeführt. Die Vorgehensweise kann
auch mit einen COAST-Modul mit einem zusätzlichen (unbestückten)
Lötplatz für ein 2es TAG-RAM besitzt durchgeführt werden.
Allgemeine Einleitung
Der Intel HX-Chipsatz ist der einzige Socket7 Intel-Chipsatz der mehr als
64MB cachen kann. Dieser Chipsatz ist fähig bis zu 512 MB zu cachen.
Um die volle Cachefähigkeit des Chipsatzes ausnutzen zu können
wird hierfür ein 11bit breites TAG-RAM benötigt. Im Normalfall
werden dafür 2 TAG-RAMs eingesetzt weil 11Bit breite RAMs nicht gängig
sind. Das TAG-RAM hat die Funktion, Adressen zu Speichern deren Daten sich
im Cache befinden.
Cachebereich beim HX-Chipsatz
Der cachefähiger Speicherbereich ist bei dem HX-Chipsatz von der Bitbreite
und Größe des TAG-RAMs und und der Größe des Cachespeichers
abhängig. Der HX-Chipsatz kann entweder 64 MB oder 512MB cachen.
|
Cachegröße
|
TAG Größe
|
Cacheable area bei TAG-Bitbreite von:
|
|
8 Bit
|
9 Bit
|
10 Bit
|
11 Bit
|
|
256 kB
|
8096 Cachelines
|
64 MB
|
128 MB
|
256 MB
|
512 MB
|
|
512 kB
|
16384 Cachelines
|
Die Zahlen ergeben sich aus der Konfiguration des Cachespeichers:
Der Cachespeicher ist in Blöcke (sogenannte Cachelines) unterteilt.
Je nach TAG-RAM-Größe gibt es 8096 (8k) oder 16384 (16k) Cachelines.
Eine Cacheline stellt die kleinste erreichbare Einheit aus dem Cache und
ist das Ergebnis der Teilung des Cachspeichers und der TAG-RAM-Größe
und beträgt sowohl bei 512kB als auch bei 256kB Cache 32 Bytes (siehe
Tabelle: Cachegröße / TAG-Größe = 32).
Der Hauptspeicher ist entsprechend der Anzahl der Cachelines in Blöcke
eingeteilt, die eindeutig jeweils einer Cacheline zugeordnet werden (direct
mapped cache). Jeder dieser Speicherblöcke ist in kleinere Abschnitte
von der Größe einer Cacheline (32Bytes) geteilt, deren Anzahl
bei 256kB Cache 256 (=2^8) und bei 512kB Cache 1024 (=2^10) beträgt.
Bei 512kB wird zusätzlich ein Bit für Dirty-TAG benutzt, somit
beträgt die Bitbreite des TAGs in diesem Fall 10+1=11Bit. Durch diese
Einteilung wird klar, daß der cachfähiger Speicherbereich von
allen 3 Faktoren wie TAG-RAM-Größe, TAG-RAM-Bitbreite und Cachegröße
abhängt, letztendlich ist immer entscheidend mit welcher Kombination
der Chipsatz etwas anfangen kann.
COAST Cache-Module
COAST ist ein Standard für Cache-Module. Es gibt auch Herstellereigene
Cache-Module die aber nicht mit dem COAST Standard übereinstimmen
und unter Umständen in anderen Boards nicth mehr funktionieren. Der
Standard sieht auch vor, daß die Cache-Module abwärtskompatibel
sein müssen. So wird bei den 256kB Modulen ein zB: ein TAG-RAM bestückt,
das so beschaltet ist, daß es in einem Board ohne eigenem Cache die
Funktion des ersten TAGs übernehmen kann. Hierfür werden die
Datenleitungen mit den TAG-Signalen TIO0-TIO7 verbunden. Falls auf dem
Board bereits ein TAG-RAM (auch an TIO0-TIO7 angeschlossen) vorhanden ist,
muss eins von beiden deaktiviert werden, da beide TAG-RAMs die Daten gleichzeitig
auf dem selben Bus liefern würden was zu Kollisionen und folglich
zum Systemabsturz führen würde.
Zum Sicherstellen, daß nur eins der TAG-RAMs aktiv ist, kann
es entweder durch ein festes Signal (zB: /CE des ersten auf logisch 1 und
/CE des zweiten auf logisch 0 setzen) oder durch ein sich änderndes
Signal (zB: einen Inverter auf eine Adressleitung anschliessen, /CE des
ersten auf einen Eingang eines Inverters und /CE des zweiten auf den Ausgang
des Inverters schalten) gelöst werden.
Im ersten Fall wird ein TAG komplett und dauerhaft deaktiviert, es
wird nur das eine TAG-RAM aktiv sein, dessen /CE Anschluss bei logisch
0 liegt. Im zweiten Fall wird je nach Adressenbereich abwechselnd nur ein
TAG aktiv. So wurde das Problem auch bei dem P5HX-B Board gelöst.
Das bedeutet, obwohl 2 TAG-RAMs vorhanden sind, wird nur eines davon zur
Zeit benutzt. Das ist schaltungstechnisch sicherlich einfacher wenn der
Hersteller nur 256kB Cache onboard intergrieren möchte.
P5HX-B Motherboard
Das Motherboard erlaubt den cachefähigen Speicherbereich im BIOS von
64MB auf 512MB zu schalten. Um jedoch den cachefähigen Bereich von
512MB nutzen zu können, müssen mehr als 64MB Hauptspeicher und
ein 512kB COAST-Modul (unabhängig davon ob 256kB bereits onboard bestückt
sind) installiert werden. Dies hat zu Folge, daß das bereits gekaufte
256kB Modul nicht mehr weiterbenutzt werden kann. Auch der "onboard" Cachespeicher
wird in diesem Fall abgeschaltet, da auf dem 512kB bereits das komplette
Cache samt TAG-RAMs enthalten ist. Hinzu kommt noch die Tatsache, daß
512kB Module sehr selten sind und zu jetztigen Zeit so gut wie vom Markt
verschwunden sind.
Es lässt sich jedoch mit ein wenig Lötkönnen und 2 SMD
TAG-RAMs das COAST Modul und das P5HX-B Board so umbauen, daß das
bereits vorhandene 512kB Cache (256kB onboard + 256kB auf dem Modul) eine
vollwertige 512kB Konfiguration darstellen.
Schaltungsbeschreibung
Ohne ein eingestecktes Cache Modul, liegt die ECS2 Leitung dauerhaft
auf H (=high, dh. logisch "1"), dieses Signal gelangt auch an die CS (chip
select, high-Aktiv) Eingänge der beiden Cachespeicher-Chips. Durch
den Inverter wird H zu L (=low, logisch "0") und gelangt zum /CS (chip
select, low-Aktiv) Eingang des onboard vorhandenen TAG-RAMs und aktiviert
es. Somit sind 256kB Cachebausteine und das interne TAG-RAM betriebsbereit.
Wird jetzt ein 256kB Modul (mit einem TAG-RAM) eingesteckt, dann wird
wie auf der Zeichnung der ECS1 mit ECS2 verbunden und per Jumper 15 das
Signal A18 (Adressenleitung) raufgeschaltet. Diese Leitung steuert wann
welche Bausteine aktiv werden sollen: wenn die A18 Leitung auf L liegt,
wird das onboard Cache-PBRAM über den CS2 Eingang mit dem L Signal
deaktiviert, das TAG-RAM dagegen bekommt das invertierte L also ein H Signal
an den Eingang /CS und wird ebenfalls deaktiviert. Die Cache-PBRAMs und
das TAG-RAM des COAST Moduls liegen jetzt mit den Eingängen /CS2 und
/CE direkt an L und werden dadurch aktiviert.
Geht jetzt die A18 Leitung auf den H-Pegel, dann dreht sich der Spieß
um. Dem zufolge sind je nach der gewählten Adresse etweder das onboard
Cache mit dem dazugehörigen TAG-RAM oder das Cache und TAG-RAM auf
dem COAST Modul zur Zeit aktiv.
Wird jetzt ein 512kB Modul eingesteckt, wird ECS2 auf dem Modul mit
einem Widerstand dauerhaft auf L gelegt und damit die onboard Cache- und
TAG-RAMs deaktiviert. Damit wird es gesichert, daß nur das Cache
und die TAG-RAMs auf dem Modul aktiv sind.
Die Anleitung
Die Vorgehensweise wurde so gewählt, damit keine Leiterbahnen durchtrennt
werden müssen und daß das Board ohne große Mühe in
den Urzustand zurückversetzt werden kann.
An zusätzlichem Material werden:
-
1 TAG-RAM in dem entsprechenden Gehäuse (SOJ28), Typenbezeichnung:
61256-15 oder 24257-15 oder kompatible
-
Lötkolben
-
feiner Seitenschneider
-
Pinzette
-
Lötzinn
-
Auslötlitze und ein DIL28 Sockel (nach Bedarf)
benötigt. Löterfahrung ist eine Vorraussetzung !
Diese Anleitung erfordert, daß auf dem Modul eine Lötstelle
für ein zweites TAG-RAM vorhanden ist.
Die Änderungen gegenüber der Originalschaltung (siehe oben)
sind in der folgendenden Schaltung rot eingezeichnet.
Die Vorbereitung:
-
Zuerst sind alle Steckkarten aus dem Rechner zu entfernen. Dann ist das
Board säurberlich aus dem Rechner auszubauen und alle zusätzlichen
Komponenten wie Speicher, Prozessor und das Cache-Modul zu entfernen.
-
Dann wird das TAG-RAM ausfindig gemacht: es befindet sich oberhalb der
COAST Steckerleiste, es ist ein schmales IC im DIL28 Gehäuse mit 28
Beinchen. Es trägt eine Nummernaufschrift wie zB: "24257".
Die Änderungen auf dem Motherboard beschränken sich auf das Entfernen
des TAG-TAMs:
-
Jetzt sind alle Beinchen des TAG-RAMs vorsichtig mit einem
feinen Seitenschneider am IC durchzutrennen, das IC zu entfernen und die
Beinchenreste mit einem feinen Lötkolben und einer Pinzette auszulöten.
-
Je nach Bedarf, können die Lötstellen jetzt sehr vorsichtig mit
einer Auslötlitze vom Lötzinn befreit werden und ein DIL28S Sockel
eingelötet werden, damit später durch das Einsetzen eines (neuen)
TAG-RAMs der Urzustand wiederhergestellt werden.
Es ist peinlichst auf Kurzschlüsse zu achten, die sofort entfernt
werden müssen !!!
Der Jumper 15 muss gesetzt werden und der Jumper 16 muss ganz normal
auf 256kB+256kB (256kB onboard + 256kB auf dem Modul) konfiguriert werden.
Das COAST-Modul erfährt die meisten Änderungen, hier werden
2 SMD 0Ohm Widerstände (Brücken) ausgelötet und an einer
anderen Stelle wieder eingelötet und zusätzlich ein neues TAG-RAM
und eine Brücke eingelötet (der oben gezeigten Änderungsschaltung
nach):
Nach einer kompletten und genauen Sichtkontrolle können alle Komponenten
wieder zusammengebaut werden.
Nach dem Einschalten müsste sich der Rechner melden wie gewohnt,
tut er das nicht, so ist der SOFORT auszuschalten und alle Lötstellen
müssen auf evtl. Kurzschlüsse und Unterbrechungen überprüft
werden.
Läuft der Rechner hoch, so kann man jetzt im BIOS "cacheable area"
auf 512MB hochschalten und der Rechner kann jetzt mit mehreren gleichzeitig
geöffneten Anwendungen auf "Leber und Nieren" getestet werden. Es
dürfen keine Abstürze die nicht auf sonstige Ursachen zurückzuführen
sind auftretten.
Es gibt sicherlich eine elegantere Methode als das auf dem Motherboard
befindliche TAG-RAM zu entfernen, nur leider gestattet mir der Zeitmangel
diese herauszufinden und zu erproben. Die oben genannte Verfahrensweise
ist durch den Aothor erfolgreich durchgeführt worden und funktioniert
seit ca. einem halben Jahr einwandfrei.
|