[TUNING] Mainboard / Chipsatz Features / fehlende BIOS-Einträge per Batch setzen [DOS/Win9X]

  • Hallo Leute,


    vielleicht geht es euch manchmal wie mir, dass ihr ein paar Features im BIOS vermisst, sei es das aggressivste RAM-Timing, ein schlaffer ISA-Bus Clockteiler oder nicht setzbarer Latency-Timer und und und. Vermeintlich gleiche Mainboards ( gleicher Chipsatz ) schneiden in den Benchmark Ergebnissen unterschiedlich ab und das ist allein durch leicht unterschiedliche Takte nicht zu erklären. Man kann versuchen ein aktuelleres BIOS zu bekommen, oder von einem anderen Mitbewerber mit gleicher Ausstattung, aber wenn das nicht hilft, hilft möglicherweise ein Blick auf die Chipsatz-Register und das Datenblatt des Chipsatzes.


    Der/Die eine oder andere wird es sicherlich schon kennen, aber ich wollte es auch für mich mit aufschreiben, damit ich es nicht wieder vergesse.


    Zur Verwendung kommt das Chipsetter Tool(s) PCI-Set ( unter Dos ) vom Uwe Sieber ( 1999 ).


    In dem Pack sind drei Tools enthalten. Das erste nennt sich PCI2ERRL, und ist dabei behilflich das Vorhandensein des gewünschten PCI-Devices vom Hersteller xxxx Typ yyyy abzuklären.


    Beispiel: Intel BX440 Host Bridge


    Schaut man in das Datenblatt des 82443BX Chipsatzes, findet man dort eine Register-Map. Die ersten beiden 16-Bit Werte sind die Vendor-ID ( in unserem Fall die 8086h ) und die Device ID ( 7190h ), die wir hierfür benötigen.


    Testen wir also das Tool mit:

    Code
    C:\PCISET>PCI2ERRL 7190 8086
    Device 7190h found

    Ein gutes Zeichen, also sollte das Datenblatt zu unserer Host-Bridge passen.



    Das nächste Tool ALLREGS hilft dabei einen Snapshot aller 256 PCI-Register zu erstellen. Ohne weitere Angabe eines Parameters werden automatisch alle Register der Host-Bridge ausgegeben. Man kann aber auch jedes andere beliebige PCI-Device ansprechen und mit der hier verwendeten Syntax auslesen.

    Code
    C:\PCISET>ALLREGS 7190 8086 >bios.txt

    Die neu erstellte Datei bios.txt enthält dann folgendes (u.A. unsere Einstellungen aus dem BIOS und durch dieses gesetzten Chipsatz-Register):

    Zu erwähnen ist, dass hier der Offset-0 verschwiegen wird. Die DeviceID (7190h) ist in Offset-3 (71h) und OffSet-2(90h) zu finden, von der VendorID sehen wir nur den Offset-1(80h). Falls jemand trotzdem Wert drauf legt, das Low-Byte der VendorID auszulesen, so kann er das mit dem dritten Tool tun.



    Beispiel Memory-CL-Rate:


    Mit dem Tool PCISET ist es möglich, gezielt Register in der Host-Bridge auszulesen und ggf. zu manipulieren.

    Werfen wir wieder einen Blick ins Datenblatt des BX440 Chipsatzes. Da finden wir ein sogenanntes SDRAM Control Register. ( 76h - 77h ).


    Es interessieren uns hier die ersten drei Bits.


    Schauen wir uns also den Istzustand an mit:

    Code
    C:\PCISET>PCISET 7190 8086 76 00000000 00000000

    Die Argumenet nochmal im einzelnen

    PCISET .. das auszuführende Programm :crazy

    7190 .. die Device-ID

    8086 .. die Vendor-ID

    76 .. das gewünschte Register ( hexadezimal )

    00000000 .. Maske der zu ändernden Bits ( alles '0' bedeutet keine Änderung an den Bits )

    00000000 .. Wert der zu ändernden Bits ( in diesem Fall hier egal )


    Die Ausgabe sieht nun wie folgt aus:

    Code
    Chip-Setter zu direkten Änderung von PCI-Registern der Host-Bridge
    (c) 1998-99 Uwe Sieber
    Know How aus c't magazin für computertechnik
    
    vorher :      76h: 0001.0100
    nachher:      76h: 0001.0100

    Fangen wir mit der ganz rechten '0' an. Dies ist in dieser Darstellung die Bit-Position 0 und laut Datenblatt steht dort die Einstellung für das SDRAM RAS# Precharge.

    Die nächste 0 ist dann also das RAS to CAS Delay. Dann kommt eine '1' für die CAS Latency.


    Aha, überprüfen wir das mal mit SiSoftSandra2002.


    Nun ändern wir mal die Bits0/1 auf 1, um den Speicher zu beschleunigen, was mir im BIOS nicht gelungen ist.


    Code
    C:\PCISET>PCISET 7190 8086 76 00000011 00000011

    Als Maske, setze ich auch wirklich nur die untersten beiden Bits, damit die anderen Settings unangetastet bleiben.

    Die Ausgabe wird mir mit diesem hier quittiert:

    Code
    Chip-Setter zu direkten Änderung von PCI-Registern der Host-Bridge
    (c) 1998-99 Uwe Sieber
    Know How aus c't magazin für computertechnik
    
    vorher :      76h: 0001.0100
    nachher:      76h: 0001.0111

    Es scheint geklappt zu haben. Schauen wir zu SiSoft Sandra.


    SiSoft Sandra bestätigt mir die neuen Einstellungen auch mit einem höheren Speicherdurchsatz.

    Um das Register wieder auf den alten Wert zu bringen müsste man also folgendes machen:


    Code
    C:\PCISET>PCISET 7190 8086 76 00000011 00000000

    Wieder mit den zwei Einsen die entsprechenden beiden Bits maskieren und den Wert auf 0 zurücksetzen. Aber wer will das schon, außer zum Test :Bier

    Ich bin ja immer ein Fan von Kommandozeilen-Tools. So ist es möglich, seine eigenen Settings per AUTOEXEC zu laden oder später eben erst im Windows.

    Vielleicht gibts es ja noch andere Ideen, welche PCI-Devices wir damit manipulieren können.


    Bzw. sieht man auch was andere TweakTools im Chipsatz verleiern, in dem man vor dem TweakTool-Start einen Snapshot generiert und natürlich danach. Danach einfach ein FC und man sieht schön die veränderten Register.


    Vielleicht hilft es ja dem ein oder anderen.

    Zitat

    Ohne Ketchup schmeckt einfach alles gleich!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!