Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: Re: RAM size: 8MB (who uses less than that?)
From: Matthias Wächter (matthias_at_waechter.wiz.at)
Date: 2003-01-17


On Fri, 17 Jan 2003, Uwe Freese wrote:

> Ich dachte schon, das würde nix mehr werden mit deiner weiteren Doku..
> ;)

Zeit, Zeit, Zeit. Mein erstes Kind kommt irgendwann im April, wenn's wahr
ist, und meine Verlobte kriegt langsam den Rappel, weil die Wohnung noch
hergerichtet gehört (Das Bad ist eine Baugrube, bei der Küche fehlt das
noch, und Wohnzimmer und Kinderzimmer kommen völlig neu: Wand versetzen,
Decke reparieren, Boden erneuern (alles Altbau). Du siehst, es bleibt
wenig Zeit, wenn daneben auch noch ein Netzwerk-Chip-Design und meine
Diplomarbeit fertig werden soll ... :-)

> Ich habe mir nämlich schon Speicher bestellt, bei einer Firma "Micron
> 50ns EDO" für 5€ + MWSt (+Porto), bei einer anderen Hynix 60ns EDO
> 9€+MWSt+Porto. Die Micron werden wohl morgen oder übermorgen ankommen,
> hoffe ich. Mit etwas Glück kann ich also am Wochenende die Mod
> durchführen.

Cool! Bin schon auf Deine Ergebnisse gespannt!

> Wenn ich noch Fragen habe, schreib' ich dir vielleicht zwischendurch
> nochmal. Zwei Fragen hab' ich jetzt schon:

> Ich habe bei der Suche nach Speicher den "Refresh-Wert" gesehen, und das
> ist das einzige, was ich nicht ganz kapiere. Es gibt 4k und 8k Refresh
> bei 8MByte-Rams, der eingebaute 2MByte hat 1k refresh.

Das ist relativ einfach. Du hast n Adressleitungen am RAM, die nicht
ausreichen, um die gesamt m Adressleitungen für 4M bzw. 1M (x 16) zu
adressieren. Bei 4M x 16 ist m = 22, bei 1M x 16 ist m = 20. Diese m
Adressleitungen werden nämlich auf den n Adressleitungen des DRAM
gemultiplext, zum Multiplexen benötigt man RAS und CAS (zumindest bei
den meisten DRAMs). Die Frage ist jetzt: Wie werden die m Adressleitungen
zwischen RAS und CAS aufgeteilt? Beim derzeitigen 1M x 16 mit n=10 und
m=20 ist die Sache recht klar: RAS bekommt auf allen 10 Adressleitungen
was rein, genauso CAS. Beim 4M x 16 gibt's jetzt verschiedene Ansätze. Ich
dachte zuerst, ein 4M x 16 hätte n=11 Adressleitungen und übermittelt
daher bei RAS und CAS je 11 der m=22 Adressbits. Doch gefehlt - würde mit
dem SH-1 auch nicht gehen (siehe Doku): Der kann nämlich zwischen RAS und
CAS die Adressleitungen nur um 8, 9 oder 10 verschieben (lt. Doku). Wäre
also fatal, so ein RAM zu nehmen (das es m.W. auch nicht gibt),
stattdessen muss man sich RAMs aussuchen, die eben für RAS die ersten 12
Adressen entgegen nehmen und für CAS die restlichen 10. Benötigt werden
natürlich insgesamt 12 Adressleitungen, der größere der beiden Werte also.

> Irgendwie heisst das wohl, x.000 mal pro y ms muss refreshed werden. Bei
> größerem Speicher ist der Wert auch immer größer. Meine beiden
> bestellten Typen haben 4k refresh, was lt. deiner Beschreibung auch ok
> ist. Was würde denn passieren, wenn der DRAM 8k refresh hätte? Wie wird
> er überhaupt angesteuert von der CPU?

Aus der Aufteilung ergibt sich dann auch die Anzahl der Refresh-Zyklen:
Üblicherweise gibt's die RAS-only-Refreshs (die anderen sind dann
kompatibel dazu), was ganz grob heißt, für einen Refresh-Zyklus wird nur
der RAS-Teil durchgeführt, wodurch die DRAM-Zellen aufgefrischt aber nicht
weiter nach außen geführt werden, da kein CAS-Zyklus erfolgt. Werden für
RAS 12 Adressleitungen verwendet, sind das 4k Refresh-Zyklen für den
ganzen Speicher, für den dann üblicherweise auch eine maximale Zyklusdauer
im Datenblatt angegeben ist. Beim ursprünglich eingebauten RAM sind RAS
und CAS je 10 Bit, was 1k Refresh bedeutet. Hast Du ein 4Mx16-RAM mit 8k
Refresh sollte das bedeuten, dass das RAM in Wahrheit nicht 12 sondern 13
Adressleitungen hat (im Datenblatt nachschauen!) und dass bei RAS 13 und
bei CAS nur 9 der insgesamt wieder 22 Adressleitungen übertragen werden.
Frag mich bitte nicht, ob es funktioniert, wenn man so ein RAM in eine der
Archos-Dinger einbaut (natürlich muss sich dann am Pinning was ändern) -
jedenfalls müsste man in Rockbox, so es sich überhaupt vom BIOS laden und
starten lässt, den DRAM-Controller umprogrammieren, sodass er nur 9 Bit
Verschiebung durchführt, damit man schlussendlich den ganzen Speicher
richtig adressieren kann.

So, das war's mal in Kürze. :-)

> Du schreibst "The address shift for CAS access must be 10 bit.". Hä? ;-)

Wird vielleicht mit obiger Ausführung klarer, ich werd schauen, dass ich
die Page ein wenig in die Richtung frisiere.

> Ist das bei dem Micron gegeben (s. Anhang)?

Traumhaftes Datenblatt, verglichen mit meinem! Steht eh genau dabei, wie
viele Adressleitungen für RAS und CAS verwendet werden und wie sich daraus
die Refresh-Zyklen ergeben.

Übrigens: Vorteil von wenigen Refresh-Zyklen: Weniger Performance-Verlust
für den DRAM-Controller durch Refresh. Nachteil: große Speicherblöcke
werden gleichzeitig refresht, was den punktuellen Stromverbrauch in die
Höhe treibt.

> Wenn alles klappt, werde ich am Ende noch ein paar Fotos machen und die
> passende zusätzliche Beschreibung für den Umbau beim Recorder.

Ja, gut so. Ich werde dann natürlich auf Dich verlinken.

> P.S. Hast' meine Alarm-Mod schon gesehen? :-)
> http://www.uwe-freese.de/rockbox/

Hab's in der ML mitbekommen. Hab beim Player leider keine RTC - überhaupt
denke ich stark an die Anschaffung eines neueren Modells. Weißt Du: Hat
der FM Recorder auch eine RTC?

Überhaupt wäre ich dafür, die HW-Mods deutlich zu erweitern. Kleinere
Patches um z.B. auch die OFF-Funktion key-lock-bar zu machen. Auch würde
ich mich gerne an das Patchen des Flash machen, dann hat die
Jukebox-Firmware endgültig ausgepfiffen :-)

Sehr Wus,
- Matthias

-- 
                    "To get control over people, make them trust you.
                                            To make people trust you
                      don't try to tell them the truth about history
                 but make happen what you told them about the future."



Page was last modified "Jan 10 2012" The Rockbox Crew
aaa