Wo werden Variablen gespeichert im RAM oder ROM

Gast #2821629
Lesenswert?

>>wo werden Variablen gespeichert

das liegt in deiner Hand wo du eine Variable speicherst. Du kannst sie 
in einer anderen Variablen speichern also im RAM, im EEPROM oder sie 
auch ins ROM programmieren.



Hannes
Gast #2821638
Lesenswert?

...wo ich den Inhalt einer Variablen speichere liegt doch zu jedem 
Zeitpunkt in meiner Hand. Da manche Controller sich selbst flashen 
können, kann ich doch den Momentanwert einer Variablen auch ins "ROM" 
oder "Flash" speichern. Wenn wirklich ein ROM gmeint war, was ich 
bezweifle - ich denke es war das "flash" gemeint...also der 
Programmspeicher...

Hannes
#2821693
Lesenswert?

Die Ursprüngliche Frage zielte sicher auf gewöhnliche Variablen in C 
oder Basic ab. Die liegen im RAM. Wenn sie allerdings einen Initialen 
Wert haben, dann liegen sie im RAM und im ROM. Beim Programmstart wird 
der initiale Wert aus dem ROM ins RAM kopiert. Erst dann startet das 
eigentliche Programm (die main() Funktion).

int i=1;

i liegt im RAM
1 liegt im ROM.
#2822231
Lesenswert?

Manuel Findig schrieb:
> Was ist der unterschied zwischen ROM und Flash-ROM oder auch nur Flash?

ROM ist wie der Name schon sagt, nicht beschreibbar. Er wird ab Werk mit 
dem Programm versehen.
Eine Abart ist OTP, den kannst Du selber beschreiben, aber nur einmal.
Dann gibt es noch EPROM, der ist mit UV-Licht löschbar und kann dann 
wieder beschrieben werden.
Flash ist elektrisch schreib und löschbar (einige male).

All diese sind für Variablen schreiben völlig ungeeignet.


Peter
Gast #2822245
Lesenswert?

Hi
Du solltest dir die Antworten vielleicht noch mal durchlesen "ROM" = 
"Read only Memory" ein "nur Lese Speicher"
Stell dir vor, du hast 8 Leitungen an eine Batterie geklemmt, dann ist 
klar, die Enden tragen einen logischen Pegel. Nehmen wir an, alles ist 
auf Plus, dann hast du an jedem Drahtende eine "1", also "11111111"
Nun programmierst du das Bündel in dem du einige Leitungen 
durchschneidest.  Da ergibt sich dann vielleicht "11011001". Diese Folge 
wird nie wieder zusammengefügt, um ein neues Bitmuster zu 
"programmieren". Aber man kann immer wieder die Bitfolge "11011001" 
ablesen.
Ein Flash hingegen hat einen kleinen Elektriker drin, der immer wieder 
die Leitungen zusammenbringt. Das geht nicht ohne Verluste, denn 
irgendwann ist soviel Draht abgeschnitten, das er sie nicht mehr 
zusammen bringen kann. Dann ist der Flash auch kaputt. Aber so ca. 10 
000 mal schaft eer die "Reparatur"
Auch ein EEProm oder EPRom funktioniert ähnlich. Der Vorteil, die 
Information geht beim Wegfall der Spannung nicht verloren. Anders beim 
Ram. Er besteht aus kleinen Speicherzellen, die solange Spannung 
anliegt, auch die Information merken. Aber diese Information kann durch 
"beschreiben" auch jederzeit verändert werden. Die Speicherzellen sind 
halt bistabile Kippstufen aus Transistoren. Nur wenn die Spannung 
ausfällt und dann irgendwann einmal wiederkommt, dann ist die Lage der 
Kippstufe "zufällig" und hat mit der ursprünglichen Information nix mehr 
zu tun. Durch einen entsprechenden Aufbau dieser Kippstufen kann man 
erreichen, das sie in eine Vorzugslage schalten. So das sollte ein wenig 
weiterhelfen.
Gruß oldmax

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren