Anmelden | Registrieren

Speicher

Wir haben nun einen Rechner, der schön Zahlen in Register schreiben kann, von dort Lesen und einfache Additionen und Subtraktionen kann.

Ansich noch nicht wirklich nützlich.

Das wird sich nun langsam ändern durch die nächste Komponente bzw. Komponentengruppe:
Der Speicher.

 

Es gibt 2 grundsätzliche Arten des Speichers:

Flüchtiger Speicher und Nicht-Flüchtiger Speicher.

Das ist das, was wir typischerweise als RAM bezeichnen oder auch Random Access Speicher. Speicher auf den wir mit zufälligen Mustern zugreifen können.
Wir sagen dem Speicher: Geb uns Inhalt von Speicherzelle 5 und eine gewisse Zeit später können wir die Daten abrufen. Dabei ist es egal, in welcher Reihenfolge
wir welche Daten anfragen, die Antwortzeit ist immer die gleiche.
Ein anderer nicht-zufälliger zugreifbarer Speicher ist z.B. eine Kassette. Die kann nur von vorne nach hinten gelesen werde oder gespult werden. Also ein quasi-
zufällig zugreifbarer Speicher mit sehr langer Zeit von der Anforderung bis Datenlieferung. Allerdings ist die Kassette nicht-flüchtig.

Was ist nun flüchtig? Flüchtig bedeutet, nach abschalten der Spannungsversorgung bleiben die Daten nicht erhalten, nach wenigen Millisekunden sind die Daten weg.
(Theoretisch, praktisch wäre eine sehr interessante Artikelreihe wert, aber nicht hier und jetzt).
Nicht flüchtig sind Daten auf z.B. obigen Kassetten, Festplatten, SDD etc. Klar, mit genug Einfluss gehen auch diese Daten kaputt...

Man unterscheidet noch weiter zwischen

Lese und beschreibbaren (RAM), Nur-Lesbaren Speicher (ROM) und Sonderformen wie WORM (Write once, read many)

RAM bzw. wiederbeschreibbare Speicherformen kennt ja jeder, ROMs sind hingegen einmal beschreibbar, wie z.B. CD/DVD-Rohlinge. oder gepresste CD/DVD oder ROM-Chips (später mehr dazu).
Eine Sonderform ist WORM, das ist z.B. technisch ein RAM, das per Soft bzw. Hardware nach dem erstbeschreiben nach dem einschalten schreibgeschützt wird.

Dies wird z.B. für das BIOS / UEFI am PC verwendet. Das "Original" liegt auf einem vergleichsweise langsamen Flash Speicher mit langsamer Datenrate (ein paar hundert KB/s Leserate und
relativ hoher Zugriffszeit). Beim Einschalten des PCs wird das eingelesen und in einen Teil des schnellen Hauptspeichers (RAM) geladen und von dort aus ausgeführt.
Das dauert nur einen kleinen Moment, weil vergleichsweise klein. Und man kann ein paar Cent kosten einsparen, weil langsamerer Flash-Speicher verwendet werden kann.
Einige frühere Computer haben deren BIOS äquivalent oder teilweise das komplette Betriebssystem von Diskette geladen, dann war es im RAM und konnte schnell ausgeführt werden.
Frühere Amiga 1000 hatten sowas zum Beispiel.

ROM-Chips

Die kann man sich im Prinzip wie langsamerer RAM-Chips vorstellen, ebenfalls mit zufälligen Zugriffsmuster, aber deren Inhalt bleibt beim ausschalten vorhanden.
Einmal beschrieben, waren diese unveränderbar.

EPROM Chips(Erasable Programmable Read-Only Memory)

Diese Chips erlauben das löschen und neu-beschreiben, allerdings benötigt man zum Schreiben spezielle Geräte, sogenannte "Brenner". Zusätzlich müssen die ROM Bausteine vor dem beschreiben gelöscht werden.

Dazu gibt es verschiedene Varianten. Die "Klassiker" hatten einen transparenten Teil im Gehäuse, was man mit UV-Licht für einige Minuten belichten musste. Damit haben die ihre Daten verloren.


TheBug / CC BY-SA (http://creativecommons.org/licenses/by-sa/3.0/)

So eine Runde löschen und neuschreiben kann schon mal eine halbe Stunde oder auch mehr dauern.

EEPROM (Erasable Programmable Read-Only Memory)

Das ist die Weiterentwicklung der EPROMs, das löschen kann nun elektronisch erfolgen. EEPROMs können auch Byte-Weise geändert werden, sind aber langsamer als EPROMS oder Flash.

Flash-Chips

Das ist die aktuelle Generation, die z.B. in diversen Varianten eingesetzt wird. Z.B. für oben genanntes BIOS/UEFI am PC, aber auch als zugrundeliegende Elemente in SSD Laufwerken.

Einer der größten Unterschiede ist die teilweise Löschbarkeit. Anstelle den kompletten Inhalt oder einzelne Bytes zu löschen, müssen Blöcke, z.B. 4KB gelöscht werden. Diese müssen dann neu beschrieben werden. Ebenso
ist das Schreiben deutlich schneller geworden.

Fazit

Nun, was hat das alles mit unserem 8-Bit Computer zu tun?

Damit wir etwas sinnvolles machen können brauchen wir nun ein bisschen Speicher (RAM) nutzbar für unser Programm, aber auch ein wenig ROM (in einer der obigen Varianten) für unser Programm selbst.

Damit unserer Computer darauf zugreifen kann, muss beides
a) definiert

b) gebaut

c) eingebunden

werden.

Das erfolgt in den nächsten Artikeln.

Ebenso werden wir ein wenig ROM für den Prozessor selbst brauchen.

 

Als erstes definieren wir den Adressraum, d.h. welche Speicherarten wie zu erreichen sind.

Unser Algorithmus glaubt, diese Artikel sind relevant: