Forum: Mikrocontroller und Digitale Elektronik Geschwindigkeit von EEPROM Operationen


von Ralf Engel (Gast)


Lesenswert?

Hallo,

sollte man Parameter aus Geschwindigkeitsgründen besser im RAM halten
oder sind die Performanceverluste vernachlässigbar, wenn man die
Parameter erst bei Bedarf aus dem EEPROM liest?

Schreiben dauert ja in jedem Fall deutlich länger als Lesen. Da ich den
ganzen EEPROM-Bereich ausfülle hätte ich ziemliche Einbußen an RAM beim
Spiegeln der Werte. Mein Arbeitsprozessor ist ein ATmega16.


Gruß    R A L F

von Florian Pfanner (Gast)


Lesenswert?

EEPROM-Zugriffe dauern auf jedemfall länger als RAM-Zugriffe. Jedoch
soltest du das EEPROM nicht als RAM misbrauchen, denn das EEPROM mag
nur 1000000 schreibzugriffe. Wenn du dann ständig liest und schreibst,
so ist das EEPROM bald im Eimer!


Gruß, Florian

von crazy horse (Gast)


Lesenswert?

kann man nicht so pauschal sagen, kommt auf das Programm an. Ein
Lesezugriff auf das EEPROM kostet natürlich etliche Takte, und wird zum
Beispiel in einer Schleife die Variable immer wieder aus dem EEPROM
gelesen, kann das deutliche Verluste bringen.
Der Einsatz von lokalen Variablen schafft hier Abhilfe, die im
Teilprogramm benötigten Variablen werden in die Register oder SRAM
gespiegelt und dann damit arbeiten.

von Ralf Engel (Gast)


Lesenswert?

Hallo,

vielleicht habe ich mich falsch ausgedrückt:

ich will das EEPROM nicht als RAM mißbrauchen. Ins EEPROM sollen eine
große Steuertabelle, die sich hin und wieder ändert - entweder per
Upload oder programmgesteuert. Allerdings greift das Programm ständig
lesend auf diese Tabelle zu, und da frage ich mich, ob das stark bremst
gegenüber RAM-Zugriffen.

Da die Tabelle das gesamte EEPROM belegt und eine Spiegelung ins RAM
den halben RAM-Speicher kosten würde. Die Zugriffe sind ziemlich
willkürlich und immer nur Einzelzugriffe, so dass auch ein Puffern
häufiger benötigter Bereiche nicht so viel bringt.

Gruß    R A L F

von Peter D. (peda)


Lesenswert?

Nur fürs Lesen lohnt sich nicht das Kopieren ins RAM, das geht fast
genauso schnell.

Bei 16MHz dauert das Lesen etwa 250ns (4Takte), dürfte also kaum ins
Gewicht fallen.


Peter

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
Noch kein Account? Hier anmelden.