[Sammelthread] AMD K7 - Sockel A (462)

Kleiner Fun Fact am Rande:
Laut AMD Datenblatt ist der kleinste Multiplikator 5x. Allerdings geht je nach Board auch weniger...
Auf dem obigen ECS LVMM2 sind 3x und 4x möglich. Auf meinem Tyan Tiger MP dagegen geht nur 4x.
Auf allen Nforce 2 kann man weniger als 5x nicht booten und Multi Verstellung im OS ist nicht möglich.

Leider schmiert das ECS ab, wenn an den FSB nach dem Start senkt (erhöhen klappt...) und das Tyan kann nicht weniger als 90Mhz FSB einstellen, weil der Taktgenerator da begrenzt.

Asrock K7NF2-RAID bootet nicht mit 4x oder 3x. A7N8X bootet zwar mit 5x, aber FSB steigt (bei mir mit Modbios) bei 66Mhz aus.

Und bevor jetzt einer fragt warum man das macht:

1737824528624.png

Wobei der Rekord echt nicht einfach zu erreichen ist…

:fresse2:
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Soltek war damals recht bekannt
Also 2001 habe ich mit PCs angefangen und mich beraten lassen, da wurde gesagt das ASUS das non Plus Ultra wäre.
Meinen ersten PC selbst habe ich 2004 zusammengebaut, und da war mir Soltek nicht in den Sinn gekommen und ich kannte auch keinen der das hatte.
Ich habe eben Test gelesen, das soll sehr gut zum übertakten sein, und ist bei ebay zuletzt für 136€ über die Theke gewandert.
 
Die Sache mit den SIPs und Nforce2

1. Einleitung

Moin zusammen. Ich möchte einen Laberpost absetzen und glieder das Ganze mal, damit es etwas übersichtlicher wird. Grob gesprochen soll der Post um einen Messversuch gehen wo wir die SIP Werte vom Front-Side-Bus ermitteln.

2. Was sind SIPs ?
Ich möchte nur grob einmal wiederholen was romSIPs sind. Einen ausführlicheren Post dazu hatte ich schon mal gemacht (#1.704, wird noch aktualisiert). Romsips oder nur SIPs [Serial Initialization Packet] sind im Grunde Parameter (timings) vom Front-Side-Bus damit die Northbride mit der CPU komunizieren kann. Je nach Multiplikator und der Bus-Geschwindigkeit muss man andere Timings setzen damit die Kommunikation zwischen der CPU und Northbridge erfolgen kann. Die Angabe der SIP Werte erfolgt bei dem Nforce2 Chipsatz in Form einer Tabelle.
1741618745185.png

Wir wissen welcher Multiplikator welche Position hat, kennen jedoch keine direkte Zuordnung der SIP Werte zu den Werten in dieser Tabelle. Darum soll dieser Test durch Messen der einzelnen Multis die genauen Werte / Bit-Zuordnung helfen.

3. Wo erfolgt der Transfer?
Laut dem AMD Datenblatt erfolgt der Transfer der SIP Werte bei jedem CPU-Reset Befehl, damit neue Werte gesetzt werden können. Das braucht man zum Beispiel auch wenn mann im Betrieb bei einer XP-M CPU den Multiplikator wechselt. Dann muss jedesmal die SIP Werte neu gesetzt werden. Der Transfer erfolg jedesmal über den Connect PIN. Hier müssen wir messen.

socket462_pin_diagram.gif

Damit wir die einzelnen Bits auch zuordnen können, müssen wir dazu parallel auch am benachbarten K7CLKOUT Pin die Frequenz des Front-Side-Busses messen. Laut dem AMD Datenblatt sollte das Ergebnis in Etwa so aussehen:

1741619367025.png


4.Wie messen wir?
Gemessen wird an einem ASUS A7N8X 2.00 Deluxe. Damit wir die Messpunkte erfassen können hat das board rückseitig ein paar Ösen bekommen. Dazu wurde das BIOS angepasst und bestimmte und verschiedene (!) Multis haben bestimmte SIP Werte zum messen bekommen. Damit wir eine Zuordnung bekommen zwischen SIP Werte BIOS [z.B. 2141 2500 00ED 2618] und den gemessenen Werten.

Messpunkte.JPG


5. Die Messung
Ich bin bezüglich der Messinstrumente ein Noob. Deshalb sieht es mir nach, wenn ich was falsches schreibe.
Der Anfang war nicht so leicht wie es schien. Den genauen Punkt getriggert zu bekommen war die Schwierigkeit. Dennoch haben wir positive Ergebnisse hinbekommen. Im Laufe der Messungen wurde der Tastkopf des Oszillators gegen eine kürzere Masse Verbindung getauscht. Durch die kleine Feder war das Signal deutlich sauberer und konnten unsere Testreihe sauber durchmessen. Hier ein Messbild als Beispiel.

SCR10.PNG


Bei der Sichtung der einzelnen Messungen ist uns recht schnell aufgefallen, dass alle Messungen gleich waren! Egal welchen Multi und welche SIP Werte auch gesetzt hatten. Wir hatten immer das selbe Bild. Mehr dazu weiter unten.

6. Auswertung
Die "High" Werte des connect Pins stellt immer eine 1 dar, ein "Low" dementsprechend eine 0. Ein Zahlenwert ist immer von peak to peak beim K7CLKOut Pin. Somit müssen wir nur noch zuordnen und optisch ablesen:

SIP_measurement_1.png


Die SIP Zahlenfolge ist immer 33Bit lang. Der gemessene Wert ist hier: 1 0 0 001 001 00 000 1 0 1010 0 1 00 00 00 000 000
Jetzt brauchen wir die Definition der SIP Werte aus dem AMD Datenblatt:
Code:
Start bit [0]
ResetClkRatio [1]
BitTimePerSysClk [2]
SysAddRecMuxPreload [5:3]
SysDataMuxPreload [8:6]
SysResetClOffset [10:9]
SysAddClkDLy [13:11]
SysAddPage [14]
SysAddWide [15]
SysDCDelay [19:16]
DECSysComp [20]
SysPushPull [21]
SysAddDly [23:22]
SysDataOddDly [25:24]
SysDataEvenDly [27:26]
SysDataOddClkDly [30:28]
SysDataEvenClkDly [33:31]
[]= #Bits

Dann in rückwertigen Reihenfolge einsetzen.
Code:
SysDataEvenClkDly  =  000
SysDataOddClkDly  =  000
SysDataEvenDly  =  00
SysDataOddDly  =  00
SysAddDly  =   00
SysPushPull  =  1
DECSysComp  = 0
SysDCDelay  =  0101
SysAddWide  =  0
SysAddPage  =  1
SysAddClkDLy  =  000
SysResetClOffset  =  00
SysDataMuxPreload  =  100
SysAddRecMuxPreload =  100
BitTimePerSysClk=  0
ResetClkRatio  = 0

Die Werte scheinen plausibel zu sein. PushPull muss bei allen Sockel A CPUs immer 1 sein. Aus dem SysDCDelay Wert kann ich den Multiplikator auslesen. Der Wert 0101 entspricht der Zahl 5 und laut der AMD Tabelle entpricht das dem Multi 6! Halt! Wir hatten diesen Multi nicht bei unserer Messreie dabei! Wir hatten nur Multiplikatoren 7, 8 und 9 verwendet. Wie kann das sein? Warum der Multiplikator 6? Bei dem Postscreen sind bei der Messung immer der richtige Multiplikator angezeigt worden. Die Multis sind also immer richtig gesetzt worden. Die Messung sagt aber Multiplikator 6.
Nach dieser Sichtung haben wir das Messfeld erweitert und siehe da, im Verlauf des Startprozesses wird der SIP Prozess drei mal ausgefürt. Der dritte wird bei ca. 1 Sekunde nach dem ersten ausgefürt! Mangels Zeit konnten wir keine Weiteren Messungen machen.

7. Mein Fazit
Auch wenn die Messreihe nicht das wiedergegeben hat was wir messen wollten, kann man ein Fazit ziehen.
Der NF2 Chipsatz ist ja allgemein dafür bekannt, dass dieser keine Multiplikatoren im laufenden Betrieb mit einem Athlon XP-M Prozessor ändern kann. Dennoch wird beim Start zuerst der Startmulti (Bei allen XP-M CPUs = Multi 6) der XP-M CPU verwendet um danach den richtigen Multi zu setzen. Also rein technisch geht es scheinbar dann doch. Fragt sich nur wie.
Der zweite Punkt ist etwas komplexer. Warum wurde nicht die richtige SIP Tabelle geladen? Die überwiegende Mehrheit der NF2 Mainboards nutzen ein AWARD BIOS mit SIP Tabellen, die in dem kompromierten System Modul beheimatet sind. Diese Tabellen werden beim Betrieb auch 100%ig genutzt. Alle AWARD NF2 BIOSe haben darüber hinaus noch weitere SIP Tabellen, die im BOOT Block des BIOSes gesichert sind. Ich gehe nun davon aus, dass eine dieser Tabellen beim System Start geladen werden um dann auf die anderen Tabellen im System Modul zu wechseln. Das zu prüfen könnte das nächste Ziel sein. :)

Ich möchte hier mich auch herzlich für diese Messungen beim @P4schissel bedanken! Es hat Spaß gemacht! :)
 
Zuletzt bearbeitet:
Vermutung:
Damit die CPU überhaupt rechnen kann und I/O vorhanden ist, muss der FSB mit irgendwelchen defaults geladen werden. Danach lädt NVIDIA ggf. Die fail-safe Werte (die sind unkomprimiert im Bios hinterlegt) und zum Schluss dann die korrekten Sips des entsprechenden Multis.

Sehe ich das richtig, das der Intervall vom K7Clkout 10ns, also 100Mhz sind? War eure Messung bei 100Mhz FSB oder ist das nur wegen Fail-Safe?

So oder so ein tolles Ergebnis, danke an euch beide fürs basteln! Hoffentlich findet sich so eine Gelegenheit nochmals :bigok:

Und hui, ist das DSO äh… “preiswert”. Leider für mich aktuell unerschwinglich, aber vielleicht bekommt man das auch mit einem kleinen Logic Analyzer hin?
 
Ja korrekt wir haben bei 100Mhz getestet. Wir hätten auch mit mehr testen können. Hätte hier keinen Untschied gemacht.
Kann gut sein, dass die FailSafe Tabelle geladen wurde. Wir haben die aber nicht getriggert. Sprich den Multi im BIOS setzen, speichern. Dann das board mit dem gewollten Multi starten. Was es auch gemacht hat.
Interessant jedenfalls, dass die SIPs drei mal geladen wurden.

Und hui, ist das DSO äh… “preiswert”. Leider für mich aktuell unerschwinglich, aber vielleicht bekommt man das auch mit einem kleinen Logic Analyzer hin?
Da habe ich keine Ahnung von. 😅

So oder so ein tolles Ergebnis, danke an euch beide fürs basteln! Hoffentlich findet sich so eine Gelegenheit nochmals :bigok:
Hoffe ich auch!
 
Kann gut sein, dass dir FailSafe Tabelle geladen wurde. Wir haben die aber nicht getriggert.
Ne, ich meinte das die generell immer geladen wird… quasi chipsatz defaults, dann fail-safe und dann richtiger Wert. Ergibt dann 3x SIPs. Oder waren die alle drei gleich?

Aber gut zu wissen, das die sips bei vollem Takt über den FSB gehen.
 
Ne, ich meinte das die generell immer geladen wird… quasi chipsatz defaults, dann fail-safe und dann richtiger Wert. Ergibt dann 3x SIPs. Oder waren die alle drei gleich?
Ich habe für den Test alle SIPs im Systemmodul gleich gemacht. Nur die Tabellen Interface off / on unterschiedlich gemacht.
Für den nächsten Test könnte man auch die Tabellen im BootBlock ändern. Dann alle vier.
Die NF2 boards mit AMI BIOS wäre vielleicht auch eine Möglichkeit. Die haben ja nur die Tabellen im Bootblock.

Aber gut zu wissen, das die sips bei vollem Takt über den FSB gehen.
Das weiß ich nicht. Meinte eher, dass wir es messen könnten. Ob das board zuerst immer mit FSB100MHz startet oder mit vollem FSB haben wir nicht geprüft.
 
Sehr schön erklärt!

Ich habe von @digitalbath auch zwei Test Biose / CPUs für mein A7N8X bekommen!

Heute Abend habe ich herausgefunden, dass das Scope RTB2004 auch die Option „segmentierter Speicher“ hat. Das war wohl die Variante „all in“ :d

Damit sollte ich auch die folgenden SIPs lesen können. Nächste Woche komme ich hoffentlich dazu!

Jetzt noch ne doofe Frage: Die non nForce Boards können mit einem Tool den Multi ändern. Ist das dann die gleiche Vorangehensweise, nur unter Windows? CPU Reset Befehl und anschließend die SIP Übertragung?
 
Jetzt noch ne doofe Frage: Die non nForce Boards können mit einem Tool den Multi ändern. Ist das dann die gleiche Vorangehensweise, nur unter Windows? CPU Reset Befehl und anschließend die SIP Übertragung?
Ich denke so sollte es sein. Die Windows tools setzen die Multis indem die der CPU die MSR Register schreiben (#8.647). Ich gehe davon aus, dass dabei der Reset Befehl kommt und dann die neuen Werte in der CPU übernommen werden. Wenn ich das Datenblatt richtig verstehe wird der Reset Befehl sogar gesetzt wenn die CPU schlafen geschickt wurde (Halt Befehl).
Genauer sollte man auch den Start Prozess ansehen. Das hier grade gefunden.
1741644038254.png

Das soll die powerup sequenz sein. Genauer habe ich das aber nicht nachgelesen. Ich denke ich muss die Datenblätter mal besser studieren.
 
Die non nForce Boards können mit einem Tool den Multi ändern. Ist das dann die gleiche Vorangehensweise, nur unter Windows? CPU Reset Befehl und anschließend die SIP Übertragung?
Ich tippe das läuft so ähnlich. AMD hat so genannte “Special Cycles” implementiert. Der Multi Wechsel sollte die CPU vom FSB abkoppeln, alles nötige für den Wechsel vorbereiten und dann muss die CPU wieder angekoppelt werden. Bei den anderen Herstellern klappt das, bei NVIDIA leider nicht. Die Frage ist hier, ob der Chipsatz das in Hardware unterstützen muss (aka wir können nichts machen, weil das Feature schlicht fehlt) oder ob es "nur" ein Softwareproblem ist, sprich Nvidia hat gewisse Specialcycles bzw. das Powermanagement nicht im Bios implementiert (hier könnten wir was machen, sofern wir über genug Wissen und Können verfügen :d ).

So ganz generell finden sich Informationen zu dem Thema im Bereich Power Management der AMD Datenblätter. Zum Beispiel in Kapitel 11.1 von der FSB Spezifikation (21902.pdf - "AMD Athlon System Bus Specification"):
AMD Athlon system bus disconnects are always initiated by the processor interface in response to either the execution of the Halt instruction or a STPCLK# assertion. Reconnections are initiated by the processor in response to an interrupt or STPCLK# deassertion, or by the system to notify the processor of an incoming probe.

1741669103126.png


---------------------------------------------------------------------------

Ich meine es gab auch noch Doku zum Powermanagement von mobilen Cpus, wo gewisse Sachen drin standen. Es scheint 25264.pdf ist dafür gedacht "BIOS Requirements for AMD PowerNow! ™ Technology Application Note". Glücklicherweise ist die dank xDevs frei verfügbar :d
Zitat aus der PDF, Seite 11. Der erste und der letzte Satz sind seeehr interessant:

3.1 BIOS-Based PSB and Processor Initialization
The Performance State Block (PSB) is basically a set of tables that are stored in the BIOS ROM. These individual tables within the PSB are called Performance State Tables (PSTs). Each of the PSTs holds all supported frequency and voltage combinations for a given speed grade of a given processor design that is manufactured in a given silicon process. A complete description of this table is given later in this document. In addition to this table, some simple initialization of the processor is required during POST in order to support the AMD PowerNow! technology. This initialization is also detailed in a later section of this document.

3.2 AMD PowerNow! Technology Driver
AMD provides the AMD PowerNow! driver and this driver is part of the OEM-installable software package for AMD PowerNow! technology support. Its main function is to provide access to mobile-specific processor hardware for which ring 0 privilege is required. The driver is also responsible for finding the PSB in the BIOS image and for selecting the correct PST for the installed processor. The driver feeds the table data back to the AMD PowerNow! daemon (see section 3.3 on page 12 for more information). All performance state changes after BIOS POST are handled by the AMD PowerNow! technology driver.
 
Zuletzt bearbeitet:
The Performance State Block (PSB) is basically a set of tables that are stored in the BIOS ROM.
Like P-states?
All performance state changes after BIOS POST are handled by the AMD PowerNow! technology driver.
I think this one means nothing more than that the PowerNow! driver sets MSR for new VID/FID like CPUMSR/CrystalCPUID/RMClock.
Some more on the Powernow! case (Russian) - https://overclockers.ru/blog/xKVtor/show/903/Privivaem_PowerNow_desktopnym_materinskim_platam
The guy emulated Powernow driver with ACPI.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Tzk
Yup, i guess these are early P-States. The link is interesting, the author stated that there's two possibilities to implement clock switching: via the mentioned tables and through ACPI. The former is handled by the AMD driver and the latter is done through the MS driver and the ACPI tables stored in bios. Afaik nvidia didn't implement the PSB/PST block, but i don't know if the DSDT table inside the nforce 2 ACPI block is PowerNow! compatible. My guess is it isn't.

In general it boils down to:
1. What does NVIDIA miss in the bios to support Power now?
2. Can we mod the support into the bios or is the feature missing in hardware?
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh