PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DDR1/2 bzgl. Initialisierung beim Rechnerstart (war: Intel mit Umsatzwarnung)


GloomY
2006-03-09, 00:59:53
wie man an grafikkarten sieht wäre es durchaus möglich mit einem speichercontroller DDR1 und DDR2 zu unterstützen.Etwas fest zu verbauen und das irgendwo fest zu codieren ist etwas anderes als einen austauschbaren Sockel für eine CPU zu bauen, wo die CPU nach dem Einschalten keinen blassen Schimmer hat, was für Speicher verbaut ist und wie sie diesen ansteueren soll...
problematisch wäre es dann nur wenn man versuchen würde eine alte cpu mit DDR1-only-speichercontroller in ein neues mainboard mit DDR2-sockeln einzubauen.Um das zu verhindern wird der Sockel eben mechanisch inkompatibel gemacht.
umgekehrt sollte es aber technisch eigentlich realisierbar sein.Und wie soll die CPU dann erkennen, ob es sich um DDR1-Speicher oder um DDR2-Speicher handelt? Ausprobieren ist nicht drin, dafür sind die elektrischen Eigenschaften zu unterschiedlich (unterschiedliche Spannung, differentielle Data Strobes etc.).

stickedy
2006-03-09, 09:49:13
Ach komm, do kompliziert kann das ja net sein. Es gab ja auch genug Chipsätze die SDR-SDRAM und DDR-SDRAM unterstützt haben und es gibt auch einige die DDR1 und DDR2 unterstützen.
Und ob der Speichercontroller in der CPU oder in der Northbrdige sitzt macht da imho keinen Unterschied. Also wo ein Wille da ein Weg...

Gast
2006-03-09, 13:07:34
Und wie soll die CPU dann erkennen, ob es sich um DDR1-Speicher oder um DDR2-Speicher handelt? Ausprobieren ist nicht drin, dafür sind die elektrischen Eigenschaften zu unterschiedlich (unterschiedliche Spannung, differentielle Data Strobes etc.).

du willst doch nicht behaupten dass das nicht möglich wäre.

für die spannungsversorgung ist das mainboard zuständig und nicht die cpu, also kann es hier schon mal kein problem geben und ein mainboard-bios kann multiplikator, NX-bit, hyperthreading, 64bit-erweiterung etc. ein- und ausschalten wenn es die cpu zulässt, was soll denn daran so schwierig sein der cpu mitzuteilen welcher speicher verbaut ist.

klar ist was fest verbautes immer einfacher, aber auch bei fest verbauten grafikchips ist das pin-layout das gleiche, egal welche der unterstützten speicherarten verbaut werden.

GloomY
2006-03-09, 14:29:10
du willst doch nicht behaupten dass das nicht möglich wäre.Ich sehe zumindest einige technische Probleme, die dir wohl nicht bewusst sind.
für die spannungsversorgung ist das mainboard zuständig und nicht die cpu, also kann es hier schon mal kein problem gebenLol. Mit welcher Spannung soll die CPU denn die Datenleitungen betreiben, die von ihr direkt zum Speicher führen? DDR1 will hier 2,6V, DDR2 aber 1,8V. Ohne dass die CPU weiss, was für Speicher verbaut ist, kann sie weder die vom Speicher kommenden Signale richtig interpretieren noch selbst sicher sein, dass der Speicher die von ihr gewählten Spannungspegel richtig interpretiert.

Das gleiche Problem gilt für das Betreiben der Data Strobes. Bei DDR1 werden die Daten gesampled, wenn die Signale der Data Strobes auf Vdd bzw. Ground sind, bei DDR2 hingegen beim Schnitt beider differentieller Signale - also genau in der Mitte zwischen Vdd und Ground.

DDR1 und 2 sind lediglich kompatibel was ihren Befehlssatz angeht. Das ist aber auch alles. Die elektrischen Details sind unterschiedlich. Siehe auch hier (http://www.lostcircuits.com/memory/ddrii/6.shtml):

("Depending on who is talking, DDR II will be either compatible or incompatible with DDR I. To make it short, compatibility is limited to the basic command set, that is, the codes for read, write or similar commands have not been altered. Likewise, the basic device timings remain the same. However, this is as far as compatibility goes, meaning that aside from hypothetically understanding the same commands, there is no practical compatibility.

As we mentioned on the first page of this review, DDR II DIMMs will feature 240 pins instead of 184 pins in DDR I, also, there are new functions that are not supported in DDR I but without which DDR II devices will not function (ODT, OCD-calibration, Posted CAS and AL, variable write latency). Moreover, the voltage interface is different, 1.8V will not drive a 2.5V DIMM and vice versa it might become a substitute for a cold cathode case lighting. Briefly, that is.")

und ein mainboard-bios kann multiplikator, NX-bit, hyperthreading, 64bit-erweiterung etc. ein- und ausschaltenDas sind alles Dinge, die ausschließlich die CPU angehen und die in den internen Mode-Registern der CPU gesetzt oder eben nicht gesetzt werden. Um genau zu sein wird durch das Ausführen des BIOS-Programms diese Dinge bei jedem Anschalten des Rechners neu in die CPU einprogrammiert. Dass man da nicht die Speicherart reinprogrammieren kann, ist wohl offensichtlich, denn zum Ausführen des BIOS-Programms braucht man Speicher, den man aber erst ansprechen kann, wenn bekannt ist, um welchen Speichertyp es sich handelt, was aber wiederum erst nach dem Ausführen des BIOS-Programms feststeht...

Das ist ein Henne-und-Ei Problem.

edit: Nicht korrekt, anscheinend geht das doch. Siehe hier (http://www.forum-3dcenter.org/vbulletin/showthread.php?p=4065639#post4065639).
wenn es die cpu zulässt, was soll denn daran so schwierig sein der cpu mitzuteilen welcher speicher verbaut ist.Die Frage ist, wo und wie du das der CPU mitteilen willst. Ich bin für Vorschläge offen.
klar ist was fest verbautes immer einfacher, aber auch bei fest verbauten grafikchips ist das pin-layout das gleiche, egal welche der unterstützten speicherarten verbaut werden.Bei einem Grafikchip kannst du z.B. einen eigenen Pin benutzen, der vom Boardhersteller entweder auf Vdd oder Ground gezogen wird, je nachdem was für Speicher verwendet wird. Bei einem Sockel, der schon alle Pins belegt hat (*), ist es etwas schwierig, im Nachhinein noch so einen Pin hinzuzufügen und gleichzeitig pin-kompatibel zu bleiben... :conf:

Von dem Problem mal abgesehen, dass die differentiellen Data Strobes von DDR2 auch noch mindestens eine Leitung mehr als die DS von DDR1 benötigen (DDR1 braucht nur DQS, DDR2 braucht DQS und /DQS). Wie du da Pin-kompatibel bleiben willst, ist mir ein Rätsel. Aber bitte, anscheinend ist das ja alles kein Problem... :|



(*) Anders als bei einigen Intel-Sockeln sind alle 939 Pins des Sockel 939 schon belegt. Hier (http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/31411.pdf) kannst du die Pin-Belegung nachschauen, falls du mir nicht glaubst (Seite 28 & 29). Die Leerstellen sind genau die Leerstellen, bei denen im Sockel keine Pins vorhanden sind (kann man sehr gut mit z.B. diesem Bild (http://www.driverheaven.net/reviews/athlon939/64/64%20012.jpg) vergleichen).


edit: Welche Grafikkarten unterstützen denn DDR1 und DDR2?

Bokill
2006-03-09, 19:18:08
Ich sehe zumindest einige technische Probleme, die dir wohl nicht bewusst sind.
Lol. Mit welcher Spannung soll die CPU denn die Datenleitungen betreiben, die von ihr direkt zum Speicher führen? DDR1 will hier 2,6V, DDR2 aber 1,8V. Ohne dass die CPU weiss, was für Speicher verbaut ist, kann sie weder die vom Speicher kommenden Signale richtig interpretieren noch selbst sicher sein, dass der Speicher die von ihr gewählten Spannungspegel richtig interpretiert. ... @GloomY is ja alles technisch richtig.

Aber es gibt ja schon Prozessoren, die mehrere Speicherinterfaces on Die haben:
Power5
Cavium CN3860
RMI XLR
...

Gandharva
2006-03-09, 19:40:35
@GloomY is ja alles technisch richtig.

Aber es gibt ja schon Prozessoren, die mehrere Speicherinterfaces on Die haben:
Power5
Cavium CN3860
RMI XLR
...Das bedeutet aber overhead an Transistoren und das BIOS muss der CPU erstmal mitteilen welche Controllerart verwendet werden muss, respektive in welcher Umgebung sich die CPU befindet (DDR-I oder DDR-II).

/edit

Im Desktopmarkt ist denke ich die Luft aber zu dünn als das man für solche Spielereien mehr Transistoren investieren würde. Zudem hängt da ein ganzer Rattenschwanz (neue CPUs, Chipsätze, Speicher, etc...) hinten dran bei dem die Hersteller durch eine solche Lösung weniger Einnahmen hätten.

Bokill
2006-03-09, 19:48:52
Das bedeutet aber overhead an Transistoren und das BIOS muss der CPU erstmal mitteilen welche Controllerart verwendet werden muss, respektive in welcher Umgebung sich die CPU befindet (DDR-I oder DDR-II). Dann "korrigiere" doch Cavium, IBM, RMI, da sie vermeindlich "Falsches" gemacht haben ...

Gandharva
2006-03-09, 19:50:58
Schau dir meinen edit an. Ich dachte mir schon das da wieder Missverständnisse aufkommen würden. :)

stickedy
2006-03-09, 23:33:34
Ich sehe zumindest einige technische Probleme, die dir wohl nicht bewusst sind.
Lol. Mit welcher Spannung soll die CPU denn die Datenleitungen betreiben, die von ihr direkt zum Speicher führen? DDR1 will hier 2,6V, DDR2 aber 1,8V. Ohne dass die CPU weiss, was für Speicher verbaut ist, kann sie weder die vom Speicher kommenden Signale richtig interpretieren noch selbst sicher sein, dass der Speicher die von ihr gewählten Spannungspegel richtig interpretiert.

Wie gesagt, diverese Chipsätze können das ja auch und ich sehe da keinen technischen Unterschied ob der Speichercontroller in der CPU oder in der Northbridge integriert ist...

GloomY
2006-03-10, 01:12:12
Hmm, da mich anscheinend einige Leute missverstanden haben, will ich noch mal kurz zusammenfassen, was ich oben ausführlicher geschrieben habe:

Ich habe nicht gesagt, dass es nicht möglich sei einen Speichercontroller zu bauen, der beide Speicherarten unterstützt. Sondern: Dass ohne dass der Controller weiss, welchen Speicher er ansteuern soll, es nicht möglich ist diesen einfach so zu betreiben.

Und das ist auch der Punkt, den ich zum hier diskutierten Sockelthema betragen möchte. Wenn man eine CPU baut, die beide Speicherarten unterstützt, aber keinerlei Möglichkeit hat rauszufinden, welcher Speicher verbaut ist, dann wird diese CPU nicht funktionieren!

Und nicht zu vergessen die Problematik mit der Pin-Anzahl. Ich habe jetzt mal in den Speicherspecs nachgeschaut und die sagen, dass pro Byte eine Leitung für Data Strobes gebraucht wird, also bei 64 Bit sind das acht Leitungen und damit bei DDR2 acht Leitungen mehr als bei DDR1 (wie erwähnt braucht man eben jeweils noch das invertierte Signal). Bei einem Sockel, der keine freien Pins mehr zur Verfügung hat, ist es also unmöglich eine CPU zu bauen, die statt DDR1 nun DDR2 (oder beides) unterstützt und gleichzeitig pin-kompatibel ist!

stickedy
2006-03-10, 02:52:26
Ich habe nicht gesagt, dass es nicht möglich sei einen Speichercontroller zu bauen, der beide Speicherarten unterstützt. Sondern: Dass ohne dass der Controller weiss, welchen Speicher er ansteuern soll, es nicht möglich ist diesen einfach so zu betreiben.
Auch auf die Gefahr hin, mich zu blamieren, aber könntest du mir bitte erläutern, wo der Unterschied ist, ob der Speichercontroller in der CPU oder in der Nortbridge integriert ist?

GloomY
2006-03-10, 12:51:55
Auch auf die Gefahr hin, mich zu blamieren, aber könntest du mir bitte erläutern, wo der Unterschied ist, ob der Speichercontroller in der CPU oder in der Nortbridge integriert ist?Da gibt es keinen Unterschied. Allerdings gibt es keine auswechselbaren Chipsätze. Insofern muss man nicht umbedingt pin-kompatibel bleiben.

Übrigends: Der Unterschied zu einem Speichercontroller in einem Grafikchip ist, dass dieser nicht zum funktionieren des Systems zwingend erforderlich ist. Den Speichercontroller des Grafikchips kann irgend jemand erst später (Graka-BIOS, prinzipiell auch erst der Treiber des Betriebssystems) initialisieren. Das ist ein Unterschied zum Hauptspeicher des Rechners, ohne den nichts geht.

GloomY
2006-03-10, 12:59:05
Ich muss mich im Übrigen korrigieren. Ich habe in den Datenblättern des i915PM/GM/GMS gewühlt, welcher sowohl DDR1 als auch DDR2 unterstützt. Dieser besitzt tatsächlich ein internes Register, in dem man die Speicherart auswählen kann (siehe Anhang). Das BIOS muss also nach dem Anschalten des Rechners erst mal komplett ohne Speicher auskommen, dann den Speichercontroller konfigurieren, so dass dieser einsatzbereit ist und kann erst danach sich anderen Aufgaben widmen (Graka-BIOS kopieren, POST etc.), zu denen es Hauptspeicher (zwingend) benötigt.


http://img55.imageshack.us/img55/3079/ddr1ddr26hs.pngQuelle: i915PM/GM/GMS and i910GML Chipset Datasheet (http://www.intel.com/design/mobile/datashts/305264.htm) (Seite 115)

Coda
2006-03-10, 13:00:01
Die Frage ist, wo und wie du das der CPU mitteilen willst. Ich bin für Vorschläge offen.Einen speziellen Pin auf VCore oder Masse legen. Was anderes fällt mir dazu auch nicht ein.

Ich muss mich im Übrigen korrigieren. Ich habe in den Datenblättern des i915PM/GM/GMS gewühlt, welcher sowohl DDR1 als auch DDR2 unterstützt. Dieser besitzt tatsächlich ein internes Register, in dem man die Speicherart auswählen kann (siehe Anhang). Das BIOS muss also nach dem Anschalten des Rechners erst mal komplett ohne Speicher auskommen, dann den Speichercontroller konfigurieren, so dass dieser einsatzbereit ist und kann erst danach sich anderen Aufgaben widmen (Graka-BIOS kopieren, POST etc.), zu denen es Hauptspeicher (zwingend) benötigt.Kann ein Programm wirklich direkt aus dem BIOS-EEPROM raus laufen? :|

GloomY
2006-03-10, 13:42:56
Kann ein Programm wirklich direkt aus dem BIOS-EEPROM raus laufen? :|Ich hatte das eigentlich auch nicht gedacht, aber anscheinend muss das wohl so sein. Wenn der Rechner angeschaltet ist, weiss der Chipsatz nicht, was für Speicher verbaut ist. Wer sonst als das BIOS sollte den Speichercontroller konfigurieren?

Dabei geht es nicht umbedingt um Taktfrequenz und Timings. Das kann man später immer noch verändern sondern wirklich darum, das Ding irgendwie zum Laufen zu bringen, so dass man überhaupt auf den Speicher zugreifen kann...

stickedy
2006-03-10, 16:51:45
Wir schweifen hier ganz schön ab, evtl. wäre da ein Split angebracht?

Ich muss sagen, so fit bin ich der Materie nicht, aber nach meinem bisherigen Kenntnissen und Vorstellungskraft stelle ich mir das so vor:

# Der PC wir eingeschalten
# Die CPU initialisiert sich und läd direkt das BIOS
# Das BIOS initialisiert zuerst grundlegendes wie den Speichercontroller, Interrupt-Controller, Tastaturcontroller etc.
# und dann wird der Rest nachgeladen (Initiliasierung der Grafikkarte, Testen des RAMs etc.)

So oder so ähnlich sollte das wohl ablaufen. Und imho ist es da unerheblich ob der Speichercontroller in der CPU oder in Northbridge sitzt, die Vorgehensweise sollte gleich sein. Wie allerdings das BIOS erkennt, dass da jetzt DDR2 statt DDR1 verbaut ist, weiss ich auch nicht, aber wenn das bei nem Intel Chipsatz bestimmbar ist, wäre es wohl auch bei einem AMD-Speichercontroller bestimmbar (wenn man denn wollte).

GloomY
2006-03-10, 22:00:02
Kann ein Programm wirklich direkt aus dem BIOS-EEPROM raus laufen? :|Ich habe da jetzt sicher einige Stunden im Web gesucht und immerhin folgendes gefunden:
The x86 microprocessor begins executing code in 16-bit mode at 16 bytes short of the end of the address space, with the CS register pointing to 64K below the end of the address space. On the 8086 this is at address 0xf000:0xfff0 == 0xffff0, just below 1MB. On the 80286 the address is 0xfffff0, just below 16MB. And on the 80386 and above, this space is at 0xfffffff0, just below 4GB. For the 286 and later Intel processors, the value in CS is not one that you can ever load again. To compensate for this, the hardware maps the ROM chip at both 0xffff0000 and 0xf0000.

Unlike the Alpha, x86 processors fetch instructions one at a time from the ROM chip. As ROM chips are essentially ISA devices, this leads to some interesting consequences, [...](Quelle (http://www.linuxjournal.com/article/4888))

und:
Our decision was to have LinuxBIOS make a transition to 32-bit mode immediately. The transition is actually a fairly simple process: the processor has to load a segment descriptor table (the so-called “global descriptor table” – GDT) and enable memory protection. To load the GDT the processor must execute an LGDT instruction, and supply a pointer to a table descriptor in addressable memory.
Fortunately there is no problem with having this table in NVRAM, so moving to protected mode in the first few instructions is no problem. In fact the sequence takes about 10 instructions. Once the processor is in 32-bit mode it must do basic chipset initialization. While one might expect that chipset initialization would require reams of assembly code, in actuality assembly code is only needed to turn DRAM on. Once DRAM is on, C code can be used. [...](Quelle (http://www.linuxbios.org/data/papers/als00/linuxbios.pdf))

Man kann also durchaus Code ausführen, ohne auch nur ein einziges Byte Hauptspeicher zur Verfügung zu haben. :eek: Krasse Sache :O

edit: Ich habe Madkiller jetzt mal eine PM geschrieben, dass er das bitte raussplitten soll.

Gast
2006-03-10, 22:41:39
Und nicht zu vergessen die Problematik mit der Pin-Anzahl. Ich habe jetzt mal in den Speicherspecs nachgeschaut und die sagen, dass pro Byte eine Leitung für Data Strobes gebraucht wird, also bei 64 Bit sind das acht Leitungen und damit bei DDR2 acht Leitungen mehr als bei DDR1 (wie erwähnt braucht man eben jeweils noch das invertierte Signal). Bei einem Sockel, der keine freien Pins mehr zur Verfügung hat, ist es also unmöglich eine CPU zu bauen, die statt DDR1 nun DDR2 (oder beides) unterstützt und gleichzeitig pin-kompatibel ist!

hm, dass alle pins belegt sind hätte ich ehrlich gesagt nicht gedacht.

aber wäre es nicht möglich einen (aktuellen) ground-pin zur identifikation zu verwenden (ground->DDR1, vcc->DDR2), und weitere 8 ground-pins für das invertierte signal zu verwenden. ist der prozessor in einem alten mainboard liegt an diesen einfach ground an und nichts passiert.

GloomY
2006-03-10, 23:03:06
So oder so ähnlich sollte das wohl ablaufen. Und imho ist es da unerheblich ob der Speichercontroller in der CPU oder in Northbridge sitzt, die Vorgehensweise sollte gleich sein.Jep.
Wie allerdings das BIOS erkennt, dass da jetzt DDR2 statt DDR1 verbaut ist, weiss ich auch nichtDas BIOS gehört ja zu einem ganz konkreten Board, welches entweder DDR1- oder DDR2-Sockel verbaut hat. D.h. dass man die Speicherart im Code des BIOS als Konstante festhalten und den Speichercontroller dann mit dem entsprechenden Wert füttern kann, so dass dieser den Speicher richtig ansteuern kann.
aber wenn das bei nem Intel Chipsatz bestimmbar ist, wäre es wohl auch bei einem AMD-Speichercontroller bestimmbar (wenn man denn wollte).Es ist nicht bestimmbar. Zumindest nicht von der CPU aus. Das muss irgendwo fest codiert sein. Dann klappt das auch. Die CPU kann das aber nicht alleine feststellen.

stickedy
2006-03-11, 01:55:17
Das BIOS gehört ja zu einem ganz konkreten Board, welches entweder DDR1- oder DDR2-Sockel verbaut hat. D.h. dass man die Speicherart im Code des BIOS als Konstante festhalten und den Speichercontroller dann mit dem entsprechenden Wert füttern kann, so dass dieser den Speicher richtig ansteuern kann.
Es ist nicht bestimmbar. Zumindest nicht von der CPU aus. Das muss irgendwo fest codiert sein. Dann klappt das auch. Die CPU kann das aber nicht alleine feststellen.
Es gibt aber auch Boards, die beide Speicher-Sockel besitzen. Also muss es doch irgendwie erkennbar sein. Komplizierte Sache das...

Und ganz derb: Irgendein Gigabyte oder MSI Board (afair) kann DDR1 in den DDR2-Sockeln mit einem Adapter betreiben weil der Chipsatz (VIA PT880 afair) mit beiden Speicherarten umgehen kann.

GloomY
2006-03-19, 02:52:29
Sorry, ich hatte in letzter Zeit viel zu tun. Aber besser spät als nie...
Es gibt aber auch Boards, die beide Speicher-Sockel besitzen. Also muss es doch irgendwie erkennbar sein. Komplizierte Sache das...Aber diese beiden Sockel-Typen verwenden doch nicht den gleichen Bus sondern haben jeweils getrennte Busse, oder? Ich kann mir nicht vorstellen, dass DDR1 und DDR2 auf einem gemeinsamen Bus funktionieren würden. Wie soll das denn mit den unterschiedlichen I/O-Spannungen beider Speicherarten funktionieren? Außerdem könnte man die DDR2-Speicher sicher nicht mit der vollen Geschwindigkeit betreiben, weil sich ja auch die Terminierung geändert hat. DDR1 hat eine Terminierung auf dem Board, während bei DDR2 jeder Speicherchip terminiert ist und je nachdem, ob die eigene Row gerade aktiv ist, seine eigene Terminierung selbstständig an- und ausschaltet. Ein DDR1-Modul auf einem DDR2-Bus stört mit seinen Reflexionen auf Grund der fehlenden On-Die Terminierung den Betrieb der DDR2-Module auf dem gleichen Bus - zumindest bei hohen Frequenzen.

Und dann ist da ja noch die Sache mit den unterschiedlichen Data Strobes...

Und ganz derb: Irgendein Gigabyte oder MSI Board (afair) kann DDR1 in den DDR2-Sockeln mit einem Adapter betreiben weil der Chipsatz (VIA PT880 afair) mit beiden Speicherarten umgehen kann.Höchstens so rum, aber nicht umgekehrt.

Bleibt jetzt nur die Frage, wie der Chipsatz erkennt, ob denn nun DDR1 oder DDR2 verbaut ist. Steht das im SPD-EEPROM drin? :confused:
Wenn das der Chipsatz wirklich selbstständig erkennen kann, dann stimmt natürlich meine obige Aussage nicht. Schande über mich ;(

Bokill
2006-03-19, 09:23:41
... Ein DDR1-Modul auf einem DDR2-Bus stört mit seinen Reflexionen auf Grund der fehlenden On-Die Terminierung den Betrieb der DDR2-Module auf dem gleichen Bus - zumindest bei hohen Frequenzen. Wenn DDR1 genutzt wird, dann dürfen parallel keine DDR2 Module eingesetzt werden (und umgekehrt).

... Bleibt jetzt nur die Frage, wie der Chipsatz erkennt, ob denn nun DDR1 oder DDR2 verbaut ist. Steht das im SPD-EEPROM drin? :confused:
Wenn das der Chipsatz wirklich selbstständig erkennen kann, dann stimmt natürlich meine obige Aussage nicht. Schande über mich ;( Frage doch die einschlägigen Hersteller, wie sie das gelöst haben. Irgend Jemand von IBM, RazaMicroelctronic, Sun ... wird sich doch finden oder?

MFG Bobo(2006)

GloomY
2006-03-19, 23:21:48
Sorry, ist schon etwas länger her, hab' das irgendwie überlesen.
hm, dass alle pins belegt sind hätte ich ehrlich gesagt nicht gedacht.

aber wäre es nicht möglich einen (aktuellen) ground-pin zur identifikation zu verwenden (ground->DDR1, vcc->DDR2)Weisst du, was passiert, wenn man dann einen nur-DDR1-fähigen Prozessor in ein Board steckt, auf dem DDR2-Speicher verbaut ist? An dem Pin, an dem eigentlich Ground anliegen sollte, liegt dann Vcc an. Die Ground-Pins sind intern alle miteinander verbunden, so dass es dortdrüber eine leitende Verbindung zwischen Vcc und Ground gibt - sprich: einen Kurzschluss.

Ich finde das keine gute Lösung, insbesondere weil die beiden Sockel mechanisch gleich sind, aber eben nicht elektrisch kompatibel.

und weitere 8 ground-pins für das invertierte signal zu verwenden. ist der prozessor in einem alten mainboard liegt an diesen einfach ground an und nichts passiert.Das würde wohl gehen.

GloomY
2006-03-19, 23:28:59
Und ganz derb: Irgendein Gigabyte oder MSI Board (afair) kann DDR1 in den DDR2-Sockeln mit einem Adapter betreiben weil der Chipsatz (VIA PT880 afair) mit beiden Speicherarten umgehen kann.Scheisse, dass das umbedingt VIA sein muss :( Bei denen gibt es quasie Null öffentliche Dokumentation zu ihren Chipsätzen ;(
Bleibt jetzt nur die Frage, wie der Chipsatz erkennt, ob denn nun DDR1 oder DDR2 verbaut ist. Steht das im SPD-EEPROM drin? :confused:Aaah, Mist. Das geht doch gar nicht. Das SPD-EEPROM sitzt doch auf dem Modul und ohne dass der Speichercontroller weiss, wie er den Bus elektrisch ansteuern soll, kommt er ja auch nicht an das EEPROM auf dem Modul dran ;(
Frage doch die einschlägigen Hersteller, wie sie das gelöst haben. Irgend Jemand von IBM, RazaMicroelctronic, Sun ... wird sich doch finden oder?

MFG Bobo(2006)Tja, wen sollte ich denn da fragen? Ganz normaler Support von z.B. Mainboard-Herstellern wird mir da nicht weiterhelfen können. Ich müsste schon irgendwie an die technischen Ingenieure drankommen und die haben üblicherweise nicht einfach eine Mail-Addi irgendwo rumfliegen...

btw: Bokill, kannst du mir konkrete Produkte nennen, die die Speicherart (anscheinend) selbstständig erkennen?

stickedy
2006-03-20, 01:58:06
Scheisse, dass das umbedingt VIA sein muss :( Bei denen gibt es quasie Null öffentliche Dokumentation zu ihren Chipsätzen ;(
Ja, wem sagst du das...

Hab übrigens den Adapter gefunden: http://www.tweakpc.de/?news_id=8152&rdf=1

http://www.hkepc.com/hwdb/ddr21-gigabyte-1.htm

Also muss es irgendwie erkennbar sein, weil der CHipsatz ja nicht weiss, ob der/die komischen Adapter im Board sind oder nicht...

Bokill
2006-03-20, 08:14:44
... Tja, wen sollte ich denn da fragen? Ganz normaler Support von z.B. Mainboard-Herstellern wird mir da nicht weiterhelfen können. Ich müsste schon irgendwie an die technischen Ingenieure drankommen und die haben üblicherweise nicht einfach eine Mail-Addi irgendwo rumfliegen...

btw: Bokill, kannst du mir konkrete Produkte nennen, die die Speicherart (anscheinend) selbstständig erkennen? Wie wärs mit dem Power 5?

IBM hat sogar prima Dokumantationen dazu und ein eigenes Firmenmagazin.

Ansonsten sind technischer Support hin und wieder hilfreich, da muss man nur hartnäckig fragen.

Auch Firmen wie Xilinx oder Rambus könnten weiterhelfen, denn diese haben Libaries und Lösungen für die Designs von Speicherkontrollern.

MFG Bobo(2006)

Gast
2006-03-21, 12:06:28
Das SPD-EEPROM sitzt doch auf dem Modul und ohne dass der Speichercontroller weiss, wie er den Bus elektrisch ansteuern soll, kommt er ja auch nicht an das EEPROM auf dem Modul dran ;(

Das EEPROM hat mit dem Speicherbus nichts zu tun, es haengt an einem I2C Bus. Das BIOS kann also sehr wohl auf das EEPROM zugreifen bevor der Speichercontroller konfiguriert wird. Was anderes passiert ja auch nicht, wenn das BIOS die Timings des Speicherbusses anhand des SPD EEPROM einstellen soll.

GloomY
2006-03-22, 23:37:18
Das EEPROM hat mit dem Speicherbus nichts zu tun, es haengt an einem I2C Bus. Das BIOS kann also sehr wohl auf das EEPROM zugreifen bevor der Speichercontroller konfiguriert wird. Was anderes passiert ja auch nicht, wenn das BIOS die Timings des Speicherbusses anhand des SPD EEPROM einstellen soll.Du hast vollkommen Recht. Ich hab's auch in der aktuellen C't gelesen, dass das ein SMBus ist (also wie du richtig sagtest eine Implementation des I²C Busses). Insofern ist meine Aussage natürlich falsch, dass man die Speicherart nicht rausfinden könnte. ;(

Nach etwas längerem Suchen habe ich sogar das passende (eigentlich mehrere; für jede Speichertechnologie ein eigenes) JEDEC Dokument gefunden. Hier die SPD-Dokumente für: DDR2 (normale DIMMs) (http://www.jedec.org/download/search/4_01_02_10R14.pdf) DDR2 (FB-DIMMs) (http://www.jedec.org/download/search/N05-NM1.pdf) DDR1: Ist leider auf mehrere PDFs aufgeteilt (in JESD21-C; z.B. das hier (http://www.jedec.org/download/search/4_01_02_00R9.PDF))Byte Nummer 2 ist immer der Speichertyp. Davon abhängig ist dann, wie der Rest des SPDs aufgebaut ist. An irgend einer Stelle steht dann aber auch, wie viel Spannung benötigt wird usw.

Kinman
2006-03-23, 15:50:32
Sorry, ist schon etwas länger her, hab' das irgendwie überlesen.
Weisst du, was passiert, wenn man dann einen nur-DDR1-fähigen Prozessor in ein Board steckt, auf dem DDR2-Speicher verbaut ist? An dem Pin, an dem eigentlich Ground anliegen sollte, liegt dann Vcc an. Die Ground-Pins sind intern alle miteinander verbunden, so dass es dortdrüber eine leitende Verbindung zwischen Vcc und Ground gibt - sprich: einen Kurzschluss.

Ich finde das keine gute Lösung, insbesondere weil die beiden Sockel mechanisch gleich sind, aber eben nicht elektrisch kompatibel.


Das ist ja mal das kleinste Problem ;)

Man zwickt bei der neuen Alleskönne CPU noch eine Ecke ab, oder passt sonst etwas an, das sie in den "DDR2" Sockel reinpasst, die alte jedoch net.

mfg Kinman

avalanche
2006-03-24, 14:56:34
Ist jetzt vielleicht 'n bisschen banal, aber zur Erkennung des RAMs koennte man auf Boards, die unterschiedliche RAMs unterstuetzen wollen und sich den SPD-Quatsch sparen, "einfach" 'nen Jumper anbringen... Das waere dann eine etwas primitive Loesung, aber es waere eine, bei der eigentlich wenig passieren sollte.

Gast
2006-03-24, 20:18:43
Das waere dann eine etwas primitive Loesung, aber es waere eine, bei der eigentlich wenig passieren sollte.

und wenn jemand vergisst den jumper richtig einzustellen ;)

Kinman
2006-03-24, 23:01:08
Dann wird der falsche RAM Slot angesprochen und das Ding tut so als hätte es keinen Ram.

mfg Kinman