Hi, Was ich verwirrend finde ist: In der Mikrokontroller-Beschreibung redet man immer von ROM und RAM. RAM ist ja verständlich: Arbeitsspeicher. Aber nennt man den externen Flash-Speicher ROM. ROM bedeutet ja Read-Only-Memory. Der Flash ist aber in Wirklichkeit doch kein ROM. gruß
Ludwig schrieb: > Was ich verwirrend finde ist: In der Mikrokontroller-Beschreibung redet > man immer von ROM und RAM. RAM ist ja verständlich: Arbeitsspeicher. > Aber nennt man den externen Flash-Speicher ROM. ROM bedeutet ja > Read-Only-Memory. Der Flash ist aber in Wirklichkeit doch kein ROM. Konvention. EPROM ist beispielsweise wörtlich ein löschbarer programmierbarer nur lesbarer Speicher. Wenn dir das widersinnig erscheint: gewöhn dich dran. Es läuft darauf raus, dass ROM zwar heute oft in begrenztem Umfang beschreibbar ist, aber nicht als normaler Arbeitsspeicher genutzt wird und wenn ein Programm diesen Speicher doch mal ab und zu schreibt, dann für permanent zu erhaltende Daten.
An dieser Stelle darf natürlich auch das Gegenteil, der WOM (Write-Only-Memory) nicht vergessen werden: http://www2.vmi.edu/Faculty/squirejc/Research/IC_Datasheets/digital_cmos/Write%20Only%20Memory.pdf Unerlässlich für den Bau von FINO-Puffern. gruß cyblord
RAM ist vom Begriff her auch nicht sinniger: Random Access Memory. Das gilt dem Wortsinn nach für NOR-Flash, also dem üblichen Programmspeicher von Mikrocontrollern.
Flashspeicher (NOR-Flash) ist sehr wohl ein ROM. Im Normalfall ist der Microcontroller nicht in der Lage den Flash im normalen Programm-Ablauf zu ändern. Selbstprogrammierende Mikrocontroller sind aber in der Lage mit der Einhaltung eines vorgegebenen Ablaufs den Flash-ROM seitenweise zu löschen und neu zu brennen. Mit jedem Brennzyklus altert der FlashROM was das Löschen-Brennen auf rund 10-100tausend Lösch-Schreibzyklen pro Seite eingrenzt.
Random Access Memory bezieht sich auch auf den Schreibenden Zugriff. Das ist bei FlashROMs dann wohl nicht ohne Zwischenpuffern & Löschen einer Seite möglich. Das Löschen und Programmieren braucht dann ja auch noch beträchtlich Zeit.
EEPROM braucht aber gefühlte 10 ms zum Löschen eines Bytes. (Die Schreibzyklen-Begrenzung gilt auch hier)
Dennis Heynlein schrieb: > EEPROM braucht aber gefühlte 10 ms zum Löschen eines Bytes. > (Die Schreibzyklen-Begrenzung gilt auch hier) Na und? Der Begriff RAM sagt wörtlich verstanden nichts über das Zeitverhalten aus, sondern nur darüber, ob der Zugriff direkt oder in irgendeiner sequentiellen Form erfolgt.
Nach 10000 Schreibzyklen ist aber beim EEPROM Sense. Das heißt die Hauptaufgabe besteht in Read Only.
Interessant wäre noch, wenn diese Auslegung von RAM und ROM hier eine Grundsatzdiskussion auslöst.
>Nach 10000 Schreibzyklen ist aber beim EEPROM Sense.
Kommt auf das EEPROM an. Kann auch schon mal 1000000 sein.
A. K. schrieb: > Na und? Bei FeRAM ist nach 10^10 bis 10^14 Schreibzyklen auch Sense. Wikipedia sei dank: 10^10–10^14 Schreib- und Lesezyklen garantiert (ja nach Typ und Hersteller) Die Lebensdauer wird auch durch Lesen eingeschränkt.
Dennis Heynlein schrieb: > Das heißt die Hauptaufgabe besteht in Read Only. Ich habe EEPROMs verbaut, die fast nur geschrieben und kaum jemals gelesen werden (Protokollspeicher).
Es heißt aber doch auch, daß FlashROM/EEPROM sich nur Bedingt für Schreibenden Zugriff eignen und die üblichen RAM-Funktionen wie Zwischenpuffern von Daten nur zeitlich anspuchsvoll ausgeführt werden können.
Dass es langsam ist - na und? Hauptsache es erfüllt seinen Zweck. SRAM-Inhalt ist nach Stromausfall futsch, was bei einem Protokollspeicher ungünstig ist.
A. K. schrieb: > Dass es langsam ist - na und? Hauptsache es erfüllt seinen Zweck. > SRAM-Inhalt ist nach Stromausfall futsch, was bei einem > Protokollspeicher ungünstig ist. Lagen deine Variablen des Programmes im EEPROM ?
>SRAM-Inhalt ist nach >Stromausfall futsch, was bei einem Protokollspeicher ungünstig ist. Wobei wir dann noch zu einem anderen Speichertyp kommen könnten: NVRAM. Meistens Batteriegepuffert. Da is es dann nicht futsch.
Dennis Heynlein schrieb: > Lagen deine Variablen des Programmes im EEPROM ? Ich schrieb expressis verbis von Protokollspeicher.
holger schrieb: > Wobei wir dann noch zu einem anderen Speichertyp kommen > könnten: NVRAM. Meistens Batteriegepuffert. Da is es > dann nicht futsch. Yep. Aber nicht annähernd zu klein wie 8-Pin EEPROMs - oder FeRAMs.
Warum hast du aber den EEPROM nicht als RAM benutzt ? Wenn doch die Zeit keine Rolle spielt.
Dennis Heynlein schrieb: > Warum hast du aber den EEPROM nicht als RAM benutzt ? Wenn doch die Zeit > keine Rolle spielt. PLONK.
>Dein EEPROM war ja auch zu dem seriell (Nicht-RAM).
Es gibt auch serielles RAM. Bei RTCs zum Bleistift.
Aber ist der Bezugspunkt dann nicht der RTC-Controller und nicht der Prozessor der sich das seriell Organisiert ?
Für Liebhaber des Skurrilen: Es gab einen sehr erfolgreichen Rechner, der zwar schreibbaren Arbeitsspeicher hatte, aber kein RAM.
>Aber ist der Bezugspunkt dann nicht der RTC-Controller und nicht der >Prozossor der sich das seriell Organisiert ? Alles eine Frage des Bezugspunktes. Es gibt auch SPI RAM ohne RTC. Wie ein Speicher angeschlossen ist ist doch zweitrangig. Er muss adressiert werden um die Daten an die richtige Stelle zu schreiben. Das ist bei allen Speichern so. Wie das Interface dazu aussieht, und wie lange es dauert ist auch zweitrangig. Man nimmt den Speicher der die Anforderungen erfüllt.
Also alles ist RAM. Selbst ein PROM (da man ja da sicher immer noch ein paar Sicherungen hat zum schmelzen). MaskenROM bleibt über. ist das die Kernaussage ? R - Random steht dann für zufällig. Betreffs Zugriff als auch Ergebnis als Konsequenz des FlashRAM/EEPRAM-Schreibens über die Altersgrenze.
>Also alles ist RAM. Selbst ein PROM (da man ja da sicher immer noch ein >paar Sicherungen hat zum schmelzen). Geht beim EPROM, EEPROM und Flash auch;) >ist das die Kernaussage ? Nö. Als RAM bezeichnet man nur Speicher der nach ausschalten des Gerätes seinen Inhalt verliert.
holger schrieb: > Nö. Als RAM bezeichnet man nur Speicher der nach ausschalten > des Gerätes seinen Inhalt verliert. Nö. Das gilt nur für SRAM und DRAM, nicht aber für FeRAM und MRAM und nicht für eine der ersten RAM-Techniken: Ringkernspeicher.
Man muß das ganze sicherlich im historischen Sinne sehen, denn da gab es noch nicht so viele RAM/ROM-Varianten. RAM ist einfach beliebig ohne größeren Aufwand an jeder Stelle schreibend/lesend zugreifbar. Ob der Dateninhalt bei Stromausfall pfutsch ist, wird mit dem Begriff RAM nicht ausgedrückt (s/DRAM auf der einen Seite, FeRAM auf der anderen Seite). ROM dagegen ist ursprünglich nur fürs lesen gedacht, nachdem er einmal programmiert wurde. Es ist essentiell, daß bei Stromausfall der Dateninhalt nicht verloren geht, denn sonst hätte man die ROMs/PROMs jedesmal auswechseln müssen. Liegt also in der Natur der Sache, daß nur stromausfallresistente ROMs/PROMs Sinn machen. Mit den neueren Varianten (EPROMs) wäre das nicht mehr so kritisch in dem Sinne, da man diese löschen und neu beschreiben kann. Aber man kann einzelne Zellen nicht einfach so mal überschreiben, sondern müssen erstmal explizit gelöscht werden. Auch beim EEPROM, der aber zellenweise gelöscht werden kann. Ohne dieses explizite Löschen kannste diese EPROMs nicht beliebig neu beschreiben. Das unterscheidet einen RAM vom EPROM. Daß es auch heute wohl keine EPROMs gibt, die bei Stromausfall ihre Daten verlieren könnten, liegt wohl einfach daran, daß die keinen Sinn machen würden, da man ja sonst gleich die einfacher handhabbaren RAMs nehmen könnte.
holger schrieb: >>Also alles ist RAM. Selbst ein PROM (da man ja da sicher immer noch ein >>paar Sicherungen hat zum schmelzen). > > Geht beim EPROM, EEPROM und Flash auch;) > >>ist das die Kernaussage ? > > Nö. Als RAM bezeichnet man nur Speicher der nach ausschalten > des Gerätes seinen Inhalt verliert. Das ist eine Unendlicheit. PROM war mir dann das simpelste Programmierbare ROM als Beispiel. Aber, was ist mit dem Eingeschränkten Datenerhalt bei EPROM/EEPROMs ? Früher (tm) ging man von 10 Jahren bis zum Ersten Verlust aus. Also doch (E)EPRAMs. Ich werd mich wohl weiterhin an die erste Antwort von A.K. halten, wenns mir auch nicht einleuchtet warum er sich später revidieren muß.
>> Nö. Als RAM bezeichnet man nur Speicher der nach ausschalten >> des Gerätes seinen Inhalt verliert. Was bei FRAM und NVRAM wieder nicht stimmt. Da suggeriert das RAM nur eine beliebige Schreibbarkeit. Von Geschwindigkeit ist da erst mal nicht die Rede. >Das ist eine Unendlicheit. Ein paar Begriffe haben sich halt so eingemogelt. >PROM war mir dann das simpelste Programmierbare ROM als Beispiel. > >Aber, was ist mit dem Eingeschränkten Datenerhalt bei EPROM/EEPROMs ? >Früher (tm) ging man von 10 Jahren bis zum Ersten Verlust aus. >Also doch (E)EPRAMs. Maskenprogrammiertes ROM verliert nie seinen Inhalt.
holger schrieb: >>> Nö. Als RAM bezeichnet man nur Speicher der nach ausschalten >>> des Gerätes seinen Inhalt verliert. > > Was bei FRAM und NVRAM wieder nicht stimmt. Da suggeriert > das RAM nur eine beliebige Schreibbarkeit. Von Geschwindigkeit > ist da erst mal nicht die Rede. > >>Das ist eine Unendlicheit. > > Ein paar Begriffe haben sich halt so eingemogelt. > Wir haben dann schon den selben Standpunkt. Wenn auch mit unterschiedlich großem Schuhwerk.
>Wir haben dann schon den selben Standpunkt. Wenn auch mit >unterschiedlich großem Schuhwerk. Wenn dein RAM verrottet ist, ist es auch nur ein ROM;) Die Tendenz geht also klar zum ROM.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.