Übungsaufgaben zu Halbleiterspeichern: RAM, ROM, EEPROM, Flash und Speicherorganisation
https://bildung.social/@oerinformatik/
https://oer-informatik.de/halbleiterspeicher-uebungsaufgaben
Halbleiterspeicher, RAM, SRAM, DRAM, EEPROM, Flash, SSD, Speicherkapazität, Adressbereich, Adressdecoder, Übungsaufgaben, Prüfungsvorbereitung
tl/dr; (Bearbeitungszeit insgesamt 56 min, mehrere Aufgaben): Vier Übungsaufgaben zu Halbleiterspeichern – von Arbeits- und Massenspeicher, Speichermodulen, SSD und Festplatte über flüchtige und nichtflüchtige Speicher, SRAM, DRAM und Refresh bis zur Speicherkapazität aus Adress- und Datenleitungen, dem Speicherbelegungsplan mit Adressdecoder, der Auswahl von Flash, EEPROM und RAM für eine Anwendung und dem Blockschaltbild eines Mikrocontrollers. Zu jeder Teilaufgabe lässt sich eine Beispiellösung einblenden [AI-Assisted]. (Zuletzt geändert am 11.11.2026)
Diese Übungsaufgaben gehören zum Artikel Halbleiterspeicher: RAM, ROM, EEPROM, Flash und Speicherorganisation. Wie Du zwischen dual, dezimal und hexadezimal umrechnest, zeigt der Artikel Zahlensysteme und Codes.
Hinweise zur Bearbeitung: Bis zur Teil-1- bzw. Zwischenprüfung der Elektroberufe solltest Du die Basiskompetenz beherrschen, also Aufgabe 1.1 und Aufgabe 1.2. Als EGS oder IEGS musst Du zur Teil-2- bzw. Abschlussprüfung Aufgaben auf Kernkompetenz-Ebene lösen können, das sind Aufgabe 2.1 und Aufgabe 2.2. Die Beispiellösungen sind immer gleich aufgebaut: Unter Geg. steht, was gegeben ist (bei mehreren Teilaufgaben gemeinsam in der ersten), unter Ges., was gesucht ist. Jede Formel steht zuerst in ihrer Grundform; Umstellungen sind Äquivalenzumformungen, deren Rechenschritt grau rechts neben dem senkrechten Strich steht (Division mit „:“). Einfache Formeln werden römisch nummeriert und ineinander eingesetzt („I in II“), längere Rechnungen nacheinander mit drei signifikanten Stellen. Ergebnisse stehen mit drei signifikanten Stellen doppelt unterstrichen, gerundete mit \approx; wurde mit gerundeten Zwischenergebnissen gerechnet, steht das Ergebnis ohne Rundung darunter. Rechne selbst ebenso mit Formel, eingesetzten Werten und Einheit. Adressen schreibst Du hexadezimal mit vier Stellen (z. B. 0x1A00); Speichergrößen in Byte gibst Du mit Zweierpotenzen an (1\ \mathrm{KiB} = 1024 Byte). Bei „nennen“ genügen Stichworte, bei „beschreiben“, „erklären“ und „begründen“ antwortest Du in ganzen Sätzen. Schreib Deine Lösung zuerst vollständig auf, bevor Du die Beispiellösung einblendest.
Du möchtest eigene Aufgaben zum Üben von einem KI-Sprachmodell generieren lassen?
Kopiere den Text in ein KI-Sprachmodell Deiner Wahl und passe Kompetenzstufe, Anzahl, Bearbeitungszeit und Szenario bei Bedarf an. Wie die Aufgaben aufgebaut sind, beschreibt der Artikel Wie sind die Aufgaben aufgebaut?. Prüfe die Ergebnisse mit dem Lehrartikel: KI-Sprachmodelle machen Fehler.
Erstelle neue Übungsaufgaben zum Thema „Halbleiterspeicher: RAM, ROM,
EEPROM, Flash und Speicherorganisation“.
Bauplan: Halte Dich an Aufbau, Kompetenzstufen, Operatoren,
Anforderungsbereiche, Punkte und Zeitschätzung, die im Artikel
https://oer-informatik.de/aufgaben-aufbau beschrieben sind.
Fachliche Grundlage:
- https://oer-informatik.de/halbleiterspeicher
- https://oer-informatik.de/zahlensysteme-codes
- https://oer-informatik.de/mcu-aufbau
- Stilbeispiel: https://oer-informatik.de/halbleiterspeicher-uebungsaufgaben
Die Aufgaben sollen Inhalte zu diesen Schlagwörtern abdecken:
- Halbleiterspeicher
- RAM
- SRAM
- DRAM
- EEPROM
- Flash
- SSD
- Speicherkapazität
- Adressbereich
- Adressdecoder
Kompetenzstufe: Basiskompetenz (alternativ: Kernkompetenz, Profilkompetenz, Expertise)
Anzahl: 1 Aufgabe mit Teilaufgaben
Bearbeitungszeit in Minuten ca.: <5 bis 30 min>
Szenario: eines der Szenarien aus dem Bauplan
Vorgehen:
1. Lies zuerst die verlinkten Artikel. Kannst Du keine Webseiten
abrufen, sag mir das, statt zu raten.
2. Steht bei einer Angabe noch ein Platzhalter in <…>, frag mich
zuerst danach. Richte Punkte und Zahl der Teilaufgaben nach der
Bearbeitungszeit (ca. 0,9 min je Punkt).
3. Gib je Aufgabe Titel mit Kompetenzstufe, Ausgangssituation und
Teilaufgaben mit Operator und Punktzahl aus, dazu die geschätzte
Bearbeitungszeit.
4. Gib die Beispiellösungen mit Punkteverteilung erst aus, wenn ich
danach frage.
Aufgabe 1.1: Bedien-PC für eine Stanzpresse (Basiskompetenz)
(ca. 13 min Bearbeitungszeit)
Für eine Stanzpresse in der Blechbearbeitung wird ein neuer Bedien-PC beschafft. Er läuft im Schichtbetrieb direkt neben der Presse; bei jedem Hub vibriert der Boden spürbar. Das Angebot des Lieferanten nennt unter anderem:
| Komponente | Angebot |
|---|---|
| Arbeitsspeicher | 2 × 16 GB DDR5-5600 (SO-DIMM) |
| Massenspeicher Variante A | 1 TB SSD (NVMe) |
| Massenspeicher Variante B | 2 TB Festplatte, 7200 min⁻¹ |
a) Wähle die richtige Aussage zu Arbeits- und Massenspeicher aus. (2 Punkte)
- Der Arbeitsspeicher bewahrt Programme und Dokumente dauerhaft auf; der Massenspeicher nimmt nur die Daten auf, die der Prozessor gerade bearbeitet.
- Der Prozessor greift direkt auf den Arbeitsspeicher zu; Programme und Daten vom Massenspeicher werden zum Bearbeiten erst in den Arbeitsspeicher geladen.
- Arbeits- und Massenspeicher sind beide nichtflüchtig; sie unterscheiden sich nur in der Speicherkapazität.
- Der Massenspeicher ist schneller als der Arbeitsspeicher, weil er direkt am Prozessor sitzt.
Geg.: Bedien-PC mit Arbeitsspeicher (DDR5) und Massenspeicher (SSD oder Festplatte)
Ges.: richtige Aussage
Richtig ist Aussage 2 (2 Punkte): Der Arbeitsspeicher ist über den Adressbus direkt mit dem Prozessor verbunden; Programme und Daten liegen dauerhaft auf dem Massenspeicher und werden zum Bearbeiten in den Arbeitsspeicher geladen.
- Aussage 1 ist falsch: Es ist umgekehrt – der Massenspeicher bewahrt dauerhaft auf, der Arbeitsspeicher hält die gerade bearbeiteten Daten.
- Aussage 3 ist falsch: Der Arbeitsspeicher (DRAM) ist flüchtig und verliert seinen Inhalt ohne Spannung.
- Aussage 4 ist falsch: Der Massenspeicher ist deutlich langsamer und wird über einen Controller und eine Schnittstelle angesprochen, nicht direkt.
b) Deute die Angabe „2 × 16 GB DDR5-5600“ (Modulanzahl, Gesamtkapazität, Speichertyp, Datenrate) und berechne die Übertragungsrate eines Moduls in MB/s. (4 Punkte)
Ges.: Bedeutung der Angabe; Übertragungsrate eines Moduls
- 2 ×: zwei Module (Dual Channel möglich) (0,5 Punkte)
- 16 GB: je Modul 16 GB, zusammen 2 \cdot 16\ \mathrm{GB} = 32\ \mathrm{GB} (0,5 Punkte)
- DDR5: Speichertyp DDR-SDRAM der fünften Generation, überträgt an steigender und fallender Taktflanke (0,5 Punkte)
- 5600: Datenrate 5600\ \mathrm{MT/s} (Millionen Übertragungen je Sekunde), Takt 2800\ \mathrm{MHz} (0,5 Punkte)
Ein Modul überträgt 64 Bit = 8 Byte je Übertragung (1 Punkt):
\def\arraystretch{2.3} \begin{array}{rcl|l} r & = & f_\mathrm{D} \cdot b & \\ r & = & 5600 \cdot 10^6\ \tfrac{1}{\mathrm{s}} \cdot 8\ \mathrm{Byte} & \\ r & = & \underline{\underline{44\,800\ \tfrac{\mathrm{MB}}{\mathrm{s}}}} & \end{array}
(1 Punkt) Auf dem Modul steht dafür die Bezeichnung PC5-44800.
c) Vergleiche die Varianten A und B hinsichtlich Speicherverfahren, Geschwindigkeit und Robustheit und entscheide begründet, welche Variante für den Bedien-PC an der Presse geeignet ist. (4 Punkte)
Ges.: Vergleich SSD/Festplatte; Entscheidung
| Merkmal | Variante A: SSD | Variante B: Festplatte |
|---|---|---|
| Speicherverfahren | elektrische Ladung in Flash-Zellen | magnetisch auf rotierenden Scheiben |
| Geschwindigkeit | Zugriff unter 0,1 ms, mehrere GB/s (NVMe) | Zugriff einige ms, etwa 100 bis 250 MB/s |
| Robustheit | keine bewegten Teile, unempfindlich gegen Vibration | Kopf und Spindel empfindlich gegen Stöße im Betrieb |
(je Zeile 1 Punkt) Entscheidung: \underline{\underline{\text{Variante A (SSD)}}}, weil die Vibrationen der Presse bei der Festplatte zu einem Kopfaufsetzer und Datenverlust führen können und die SSD außerdem schneller startet und arbeitet. Die größere Kapazität der Festplatte wird für einen Bedien-PC nicht gebraucht (1 Punkt).
d) Erkläre, wie die SSD ein Bit speichert, sodass es ohne Versorgungsspannung erhalten bleibt. (2 Punkte)
Ges.: Speicherverfahren der SSD
Die SSD besteht aus NAND-Flash-Zellen. Jede Zelle ist ein Transistor mit einem rundum isolierten Floating Gate. Beim Schreiben werden mit erhöhter Spannung Elektronen auf das Floating Gate gebracht; sie bleiben dort wegen der Isolation auch ohne Versorgungsspannung jahrelang eingeschlossen (1 Punkt). Die eingeschlossene Ladung verschiebt die Schwellspannung des Transistors; beim Lesen erkennt der Controller daran, ob eine 0 oder eine 1 gespeichert ist (1 Punkt).
e) Ein Bediener ergänzt gerade ein Prüfprotokoll, das er vor einer Stunde zuletzt gespeichert hat, als die Spannung ausfällt. Beschreibe, welche Daten verloren sind und welche erhalten bleiben. (2 Punkte)
Ges.: verlorene und erhaltene Daten
Verloren sind alle Änderungen der letzten Stunde, weil sie nur im flüchtigen Arbeitsspeicher (DRAM) standen (1 Punkt). Erhalten bleibt die vor einer Stunde gespeicherte Fassung des Prüfprotokolls sowie Betriebssystem und Programme, weil sie auf dem nichtflüchtigen Massenspeicher liegen (1 Punkt).
Aufgabe 1.2: Speicher im Zugangsterminal einer Werkhalle (Basiskompetenz)
(ca. 11 min Bearbeitungszeit)
An den Toren einer Werkhalle prüfen Zugangsterminals die Mitarbeiterausweise. Im Terminal arbeitet ein kleiner Mikrocomputer mit mehreren Speichern; ein älteres Terminal im Lager ist noch mit einem Baustein bestückt, der ein kleines Glasfenster im Gehäuse hat.
a) Vervollständige die Tabelle. Ordne dabei jedem Speicher eine Aufgabe aus der Liste zu (Buchstabe). (5 Punkte)
- A: Programm des Terminals, das per Update über die Netzwerkschnittstelle erneuert wird
- B: Liste der berechtigten Ausweise, in der der Pförtner täglich einzelne Einträge ergänzt oder löscht
- C: gerade gelesene Ausweisnummer und Zwischenwerte der Prüfung
- D: Startprogramm, das der Hersteller in sehr großer Stückzahl unveränderbar einbaut
- E: Programm des älteren Terminals, das nur mit einem Programmiergerät erneuert werden kann
| Speicher | Datenerhalt ohne Spannung | Löschen | Aufgabe |
|---|---|---|---|
| RAM | |||
| Masken-ROM | |||
| EPROM | |||
| EEPROM | |||
| Flash |
Geg.: Speicher im Zugangsterminal, Aufgaben A bis E
Ges.: Datenerhalt, Löschverfahren, Aufgabe
| Speicher | Datenerhalt ohne Spannung | Löschen | Aufgabe |
|---|---|---|---|
| RAM | nein (flüchtig) | Überschreiben | C |
| Masken-ROM | ja | nicht möglich | D |
| EPROM | ja | UV-Licht durch das Glasfenster, ganzer Baustein | E |
| EEPROM | ja | elektrisch, jede Adresse einzeln | B |
| Flash | ja | elektrisch, blockweise | A |
Je richtig ausgefüllter Zeile 1 Punkt. Das ältere Terminal mit Glasfenster enthält ein EPROM.
b) Der Arbeitsspeicher des Terminals ist ein statisches RAM, der Büro-PC des Pförtners hat dynamisches RAM. Unterscheide SRAM und DRAM nach Speicherzelle, Zugriffsgeschwindigkeit und Speicherdichte. (3 Punkte)
Ges.: Unterschiede SRAM/DRAM
| Merkmal | SRAM | DRAM |
|---|---|---|
| Speicherzelle | Flipflop (meist 6 Transistoren) | 1 Transistor und 1 Kondensator |
| Zugriffsgeschwindigkeit | sehr schnell | langsamer |
| Speicherdichte | gering, teuer je Bit | hoch, günstig je Bit |
Je Zeile 1 Punkt.
c) Erkläre, warum das DRAM des Büro-PCs einen Refresh benötigt, und beschreibe, was ohne Refresh mit einer gespeicherten 1 geschieht. (2 Punkte)
Ges.: Grund für den Refresh; Folge ohne Refresh
Im DRAM steht eine 1 als Ladung in einem sehr kleinen Kondensator. Über Leckströme entlädt er sich innerhalb von Millisekunden; deshalb muss jede Zeile regelmäßig (z. B. alle 64 ms) ausgelesen und mit voller Ladung zurückgeschrieben werden (1 Punkt). Ohne Refresh sinkt die Spannung der Zelle unter die Leseschwelle, und die gespeicherte 1 wird als 0 gelesen – die Daten sind verfälscht (1 Punkt).
d) Beschreibe, wie die Arbeitsregister des Mikrocomputers ihre Bits speichern und warum sie keinen Refresh brauchen. (2 Punkte)
Ges.: Speicherung in den Registern
Jedes Bit eines Registers steht in einem Flipflop aus zwei rückgekoppelten Invertern (statisches RAM); acht Flipflops nebeneinander bilden ein 8-Bit-Register (1 Punkt). Die Rückkopplung hält den Zustand 0 oder 1 aktiv fest, solange die Versorgungsspannung anliegt; es gibt keine Ladung, die abfließen könnte, deshalb ist kein Refresh nötig (1 Punkt).
Aufgabe 2.1: Speichererweiterung einer Prüfstandsteuerung (Kernkompetenz)
(ca. 15 min Bearbeitungszeit)
Eine Prüfstandsteuerung arbeitet mit einem 8-Bit-Prozessor mit 16 Adressleitungen A_0 \dots A_{15} und 8 Datenleitungen. Sie wird um drei parallele Speicherbausteine erweitert; die serielle Schnittstelle puffert empfangene Zeichen in einem FIFO.
| Baustein | Adressanschlüsse | Datenanschlüsse | Lage im Adressraum |
|---|---|---|---|
| EEPROM | A_0 \dots A_{10} | D_0 \dots D_7 | ab Adresse 0x0000 |
| SRAM | A_0 \dots A_{13} | D_0 \dots D_7 | ab Adresse 0x4000 |
| Flash (256 Kibit) | ? | D_0 \dots D_7 | am oberen Ende des Adressraums |
a) Ordne EEPROM, SRAM, Flash und den FIFO der Schnittstelle den Gruppen Schreib-Lese-Speicher, Festwertspeicher und serielle Speicher zu. (2 Punkte)
Geg.: 8-Bit-Prozessor, 16 Adressleitungen; EEPROM A_0 \dots A_{10} ab 0x0000, SRAM A_0 \dots A_{13} ab 0x4000, Flash 256 Kibit am oberen Ende, je 8 Datenleitungen; FIFO der Schnittstelle
Ges.: Zuordnung zu den Gruppen
- Schreib-Lese-Speicher: SRAM (0,5 Punkte)
- Festwertspeicher: EEPROM und Flash (1 Punkt)
- serielle Speicher: FIFO, weil die Zeichen der Reihe nach hineingeschoben und in derselben Reihenfolge wieder entnommen werden, ohne Adresse (0,5 Punkte)
b) Berechne die Speicherkapazität des SRAM in bit und in KiB und gib seine Organisation an. (3 Punkte)
Ges.: Kapazität des SRAM in bit und KiB; Organisation
A_0 \dots A_{13} sind n = 14 Adressleitungen, D_0 \dots D_7 sind m = 8 Datenleitungen.
\def\arraystretch{2.3} \begin{array}{rcl|l} K & = & 2^n \cdot m & \\ K & = & 2^{14} \cdot 8\ \mathrm{bit} = 16\,384 \cdot 8\ \mathrm{bit} & \\ K & = & \underline{\underline{131\,072\ \mathrm{bit}}} = 128\ \mathrm{Kibit} & \\ K & = & \tfrac{131\,072}{8}\ \mathrm{Byte} = 16\,384\ \mathrm{Byte} = \underline{\underline{16\ \mathrm{KiB}}} & \end{array}
(2 Punkte) Organisation: \underline{\underline{16\mathrm{K} \times 8}}, also 16 384 Speicherplätze zu je 8 Bit (1 Punkt).
c) Berechne, wie viele Adressleitungen der Flash-Baustein hat. (2 Punkte)
Ges.: Anzahl der Adressleitungen n des Flash
K = 256\ \mathrm{Kibit} = 256 \cdot 1024\ \mathrm{bit} = 262\,144\ \mathrm{bit}, m = 8:
\def\arraystretch{2.3} \begin{array}{rcl|l} K & = & 2^n \cdot m & \color{gray}{:m} \\ 2^n & = & \frac{K}{m} = \frac{262\,144\ \mathrm{bit}}{8\ \mathrm{bit}} = 32\,768 & \color{gray}{\log_2} \\ n & = & \log_2 32\,768 = \underline{\underline{15}} & \end{array}
(2 Punkte) Der Flash-Baustein hat 15 Adressleitungen A_0 \dots A_{14} und ist als 32K × 8 organisiert (32 KiB).
d) Vervollständige den Speicherbelegungsplan. (4 Punkte)
| Baustein | Größe | Anfangsadresse | Endadresse |
|---|---|---|---|
| EEPROM | 0x0000 |
||
| SRAM | 0x4000 |
||
| Flash | 0xFFFF |
Ges.: Größen, Anfangs- und Endadressen
Größe = 2^n Byte bei n Adressleitungen; Endadresse = Anfangsadresse + Größe - 1. Hexadezimal: 2\ \mathrm{KiB} = 2^{11} = \mathrm{0800}_{16}, 16\ \mathrm{KiB} = 2^{14} = \mathrm{4000}_{16}, 32\ \mathrm{KiB} = 2^{15} = \mathrm{8000}_{16} (Teilaufgabe c).
- EEPROM: \mathrm{0000}_{16} + \mathrm{0800}_{16} - 1 = \mathrm{07FF}_{16}
- SRAM: \mathrm{4000}_{16} + \mathrm{4000}_{16} - 1 = \mathrm{7FFF}_{16}
- Flash: endet bei \mathrm{FFFF}_{16}; Anfang \mathrm{FFFF}_{16} - \mathrm{8000}_{16} + 1 = \mathrm{8000}_{16}
| Baustein | Größe | Anfangsadresse | Endadresse |
|---|---|---|---|
| EEPROM | 2 KiB | 0x0000 |
0x07FF |
| SRAM | 16 KiB | 0x4000 |
0x7FFF |
| Flash | 32 KiB | 0x8000 |
0xFFFF |
Je richtiger Größe 0,5 Punkte (zusammen 1,5 Punkte), je richtiger Adresse 0,5 Punkte (zusammen 1,5 Punkte), Rechenweg 1 Punkt. Der Bereich 0x0800 bis 0x3FFF bleibt frei.
e) Ein Adressdecoder erzeugt die Chip-Select-Signale. Erkläre seine Aufgabe und bestimme für jeden Baustein, welche Adressleitungen direkt an den Baustein gehen und welche Pegel die übrigen Adressleitungen haben, wenn der Baustein angesprochen wird. (4 Punkte)
Ges.: Aufgabe des Adressdecoders; direkte Adressleitungen und Pegel je Baustein
Der Adressdecoder wertet die oberen Adressleitungen aus und erzeugt für jeden Baustein ein eigenes \overline{\mathrm{CS}}-Signal. So ist bei jeder Adresse genau der Baustein freigegeben, in dessen Bereich sie liegt; alle anderen halten ihre Datenausgänge hochohmig, und es entsteht kein Buskonflikt (1 Punkt).
| Baustein | direkt am Baustein | Pegel der übrigen Adressleitungen |
|---|---|---|
| EEPROM | A_0 \dots A_{10} | A_{15} = A_{14} = A_{13} = A_{12} = A_{11} = 0 |
| SRAM | A_0 \dots A_{13} | A_{15} = 0, A_{14} = 1 |
| Flash | A_0 \dots A_{14} | A_{15} = 1 |
(je Baustein 1 Punkt) Begründung im Dualsystem: 0x4000 = 0100 0000 0000 0000 und 0x7FFF = 0111 1111 1111 1111 – beim SRAM sind nur die oberen zwei Bits fest 01. Beim EEPROM (0x0000 bis 0x07FF = 0000 0111 1111 1111) sind die oberen fünf Bits fest 00000. Wertet der Decoder für das EEPROM nur A_{15} und A_{14} aus, erscheint es im freien Bereich bis 0x3FFF achtmal gespiegelt; das ist zulässig, solange dort kein anderer Baustein liegt.
f) Der Adressdecoder soll nicht aus einzelnen Gattern, sondern mit einem programmierbaren Logikbaustein aufgebaut werden. Nenne zwei geeignete Bausteinarten. (1 Punkt)
Ges.: zwei programmierbare Logikbausteine
Geeignet sind z. B. GAL (Generic Array Logic) und CPLD (Complex Programmable Logic Device); auch PAL oder FPGA sind möglich (je Baustein 0,5 Punkte). Für einen einfachen Adressdecoder genügt ein GAL.
Aufgabe 2.2: Programm und Kalibrierwerte eines Durchflussmessers (Kernkompetenz)
(ca. 17 min Bearbeitungszeit)
Ein magnetisch-induktiver Durchflussmesser für eine Kläranlage soll eine neue Elektronik bekommen. Sie misst den Durchfluss, summiert die Gesamtmenge und zeigt beides an. Vorgesehen ist ein Mikrocontroller, dessen Datenblatt das folgende Blockschaltbild und diese Merkmale (features) nennt:
- 256 KB in-system self-programmable Flash
endurance: 10,000 write/erase cycles, erase granularity: 256-byte page
- 4 KB EEPROM
endurance: 100,000 write/erase cycles, byte-wise erase and write
- 32 KB internal SRAM
- data retention: 20 years at 85 °C
a) Bestimme aus Blockschaltbild und Merkmalen die Größe von Programmspeicher, Datenspeicher (SRAM) und EEPROM in Byte. Nenne außerdem die E/A-Bausteine und beschreibe, welche Bus-Architektur das Blockschaltbild zeigt. (4 Punkte)
Geg.: Blockschaltbild und Merkmalsliste: Flash 256 KB (10 000 Zyklen, 256-Byte-Seiten), EEPROM 4 KB (100 000 Zyklen, byteweise), SRAM 32 KB; KB = 1024 Byte
Ges.: Speichergrößen in Byte; E/A-Bausteine; Bus-Architektur
\def\arraystretch{2.3} \begin{array}{rcl|l} \text{Programmspeicher (Flash)} & = & 256 \cdot 1024\ \mathrm{Byte} = \underline{\underline{262\,144\ \mathrm{Byte}}} & \\ \text{Datenspeicher (SRAM)} & = & 32 \cdot 1024\ \mathrm{Byte} = \underline{\underline{32\,768\ \mathrm{Byte}}} & \\ \text{EEPROM} & = & 4 \cdot 1024\ \mathrm{Byte} = \underline{\underline{4\,096\ \mathrm{Byte}}} & \end{array}
(1,5 Punkte) E/A-Bausteine: I/O Ports, Timer/Counter, ADC, USART und SPI/TWI (1 Punkt).
Bus-Architektur: Der Flash ist über einen eigenen Programmbus (program bus) mit der CPU verbunden, SRAM, EEPROM und Peripherie über den 8-Bit-Datenbus (data bus). Getrennte Busse für Programm und Daten kennzeichnen die Harvard-Architektur; die CPU kann gleichzeitig einen Befehl holen und auf Daten zugreifen (1,5 Punkte).
b) Wähle für die folgenden Daten jeweils den passenden Speicher des Mikrocontrollers aus und begründe Deine Wahl: das Programm, die aktuellen Durchflusswerte der letzten Sekunde, die Kalibrierwerte (Nullpunkt und Steigung, einmal im Jahr neu eingestellt) und den Gesamtmengenzähler, der einen Spannungsausfall überstehen muss. (4 Punkte)
Ges.: passender Speicher je Datenart mit Begründung
- Programm → Flash: nichtflüchtig, nach dem Einschalten sofort verfügbar und für Updates in der Schaltung neu programmierbar; groß genug für das Programm (1 Punkt).
- aktuelle Durchflusswerte → SRAM: ändern sich ständig, müssen schnell und beliebig oft geschrieben werden und dürfen bei Spannungsausfall verloren gehen (1 Punkt).
- Kalibrierwerte → EEPROM: müssen den Spannungsausfall überstehen, sind nur wenige Bytes und werden selten einzeln geändert (1 Punkt).
- Gesamtmengenzähler → EEPROM: muss nichtflüchtig gespeichert werden und wird als einzelner Wert geändert; im Betrieb wird er im SRAM hochgezählt und nur gezielt ins EEPROM übernommen (Teilaufgabe d) (1 Punkt).
c) Beschreibe die Eigenschaften des Flash-Speichers und erkläre, warum er als Programmspeicher eingesetzt wird. Gib außerdem an, welcher Speicher des Mikrocontrollers sich für das Ändern einzelner Bytes eignet, und begründe das mit seinem Löschverfahren. (3 Punkte)
Ges.: Eigenschaften von Flash; Grund für den Einsatz als Programmspeicher; Speicher für einzelne Bytes
Flash ist nichtflüchtig, elektrisch mehrfach umprogrammierbar (hier 10 000 Zyklen) und wird nur blockweise gelöscht, hier in Seiten zu 256 Byte (1 Punkt). Als Programmspeicher eignet er sich, weil das Programm nach dem Einschalten sofort bereitsteht, sich in der fertigen Schaltung über die Programmierschnittstelle oder einen Bootloader aktualisieren lässt und als Ganzes geschrieben wird, sodass die blockweise Löschung nicht stört; außerdem ist Flash günstig und dicht (1 Punkt). Für das Ändern einzelner Bytes eignet sich das \underline{\underline{\text{EEPROM}}}: Es wird byteweise gelöscht und beschrieben (byte-wise erase and write), sodass ein einzelner Wert geändert werden kann, ohne eine ganze Seite neu zu schreiben (1 Punkt).
d) In einem ersten Programmentwurf wird der Gesamtmengenzähler jede Sekunde an dieselben EEPROM-Adressen geschrieben. Berechne, nach welcher Zeit die zulässigen Schreibzyklen erreicht sind, und schlage eine bessere Lösung vor. (4 Punkte)
Geg.: zulässige Schreibzyklen N = 100\,000, Schreibabstand \Delta t = 1\ \mathrm{s}
Ges.: Zeit t bis zum Erreichen der Schreibzyklen; bessere Lösung
\def\arraystretch{2.3} \begin{array}{rcl|l} t & = & N \cdot \Delta t & \\ t & = & 100\,000 \cdot 1\ \mathrm{s} = 100\,000\ \mathrm{s} & \\ t & \approx & 27{,}8\ \mathrm{h} \approx \underline{\underline{1{,}16\ \mathrm{Tage}}} & \end{array}
(2 Punkte) Schon nach gut einem Tag ist die garantierte Zahl der Schreibzyklen dieser Zellen erreicht.
Bessere Lösung (2 Punkte, Varianten sind möglich):
- Den Zähler im SRAM führen und nur bei Bedarf ins EEPROM schreiben, z. B. einmal stündlich: 100\,000\ \mathrm{h} \approx 11{,}4 Jahre.
- Zusätzlich einen drohenden Spannungsausfall erkennen (Spannungsüberwachung, Stützkondensator) und den letzten Stand dann sichern; so geht höchstens die Menge seit dem letzten Speichern verloren.
- Die Schreibzugriffe reihum auf mehrere EEPROM-Adressen verteilen (Ringpuffer); jede Adresse wird dadurch seltener beschrieben.
- Nur schreiben, wenn sich der Wert geändert hat, und beim Einschalten den gespeicherten Wert auf Plausibilität prüfen (Prüfsumme).
e) Gib Anfangs- und Endadresse des EEPROM-Adressbereichs hexadezimal an und bestimme, wie viele Bits das EEPROM-Adressregister mindestens haben muss. (3 Punkte)
Ges.: Anfangs- und Endadresse des EEPROM; Mindestbreite des Adressregisters
Größe 4\ \mathrm{KB} = 4096\ \mathrm{Byte} = \mathrm{1000}_{16}; das EEPROM hat einen eigenen Adressraum ab 0.
- Anfangsadresse: \underline{\underline{\texttt{0x0000}}}, Endadresse: \mathrm{0000}_{16} + \mathrm{1000}_{16} - 1 = \underline{\underline{\texttt{0x0FFF}}} (1 Punkt)
\def\arraystretch{2.3} \begin{array}{rcl|l} 2^n & \geq & 4096 & \color{gray}{\log_2} \\ n & = & \log_2 4096 = \underline{\underline{12\ \mathrm{Bit}}} & \end{array}
(2 Punkte) Das Adressregister braucht mindestens 12 Bit; ein 8-Bit-Mikrocontroller verteilt sie auf zwei Register (oberes Register Bit 8 bis 11, unteres Bit 0 bis 7).
Links und weitere Informationen
Grundlagenartikel: Halbleiterspeicher: RAM, ROM, EEPROM, Flash und Speicherorganisation
Voraussetzung: Zahlensysteme und Codes
zum Vertiefen: Aufbau eines Mikrocontrollers
als Nachschlagewerk: Wikipedia: Halbleiterspeicher
Hinweis zur Nachnutzung als Open Educational Resource (OER)
Dieser Artikel und seine Texte, Bilder, Grafiken, Code und sonstiger Inhalt sind - sofern nicht anders angegeben - lizenziert unter CC BY 4.0. Nennung gemäß TULLU-Regel bitte wie folgt: “Übungsaufgaben zu Halbleiterspeichern: RAM, ROM, EEPROM, Flash und Speicherorganisation” von oer-informatik.de (H. Stein), Lizenz: CC BY 4.0. Der Artikel wurde unter https://oer-informatik.de/halbleiterspeicher-uebungsaufgaben veröffentlicht, die Quelltexte sind in weiterverarbeitbarer Form verfügbar im Repository unter https://gitlab.com/oer-informatik/elektrotechnik/digitaltechnik. Erstellt mit KI-Assistenz; von mir umfassend redaktionell überarbeitet, geprüft und freigegeben. Stand: 11.11.2026.
[Kommentare zum Artikel lesen, schreiben] / [Artikel teilen] / [gitlab-Issue zum Artikel schreiben]
