[ lamepage · Hardware · Cache P5HX-B ]

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:

Cache

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

P5-Cache

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. 1 TAG-RAM in dem entsprechenden Gehäuse (SOJ28), Typenbezeichnung: 61256-15 oder 24257-15 oder kompatible
  2. Lötkolben
  3. feiner Seitenschneider
  4. Pinzette
  5. Lötzinn
  6. 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.

P5-Anleitung

Die Vorbereitung:

  1. 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.
  2. 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:
  1. 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.
  2. 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):

Coast

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.