Speichererweiterung
Eine Speichererweiterung erweitert den Arbeitsspeicher (RAM) eines Computersystems oder eines Gerät der Computertechnik wie z.B. Drucker.
Intern oder Extern[Bearbeiten | Quelltext bearbeiten]
Es wird unterschieden zwischen interne und externe Speichererweiterungen:
- Interne Speichererweiterungen werden durch Öffnen des Geräts auf der Hauptplatine auf entsprechend vorgesehene Sockel oder über Zwischenplatinen eingebaut. Bei älteren Geräten, wie auch bei den Heimcomputern oder früheren PCs, werden üblicherweise RAM-Chips durch solche größerer Kapazität ausgetauscht, was mehr oder weniger aufwändig ist (Lötarbeiten, Anpassungen von Lötbrücken oder Jumper bzw. fliegende Verdrahtung und ergänzende Schaltungslogik, Zwischenplatinen usw.).
- Externe Speichererweiterungen werden als Steckmodul über eine entsprechende Erweiterungsschnittstelle mit dem Gerät verbunden.
Beim C64[Bearbeiten | Quelltext bearbeiten]
Für den C64/128 gibt es eine Vielzahl von Speichererweiterungen.
Zu den bekannteren externen, also als Steckmodul ausgeführten Speichererweiterungen gehören die REU von Commodore (ab 1985), das GeoRAM von Berkeley Softworks (ab 1989) oder das RAMLink von CMD (ab 1990). Da in den 1980er-Jahren externe Speichererweiterungen relativ teuer und für einfache Anwender nicht einfach zu nutzen waren, fanden sie nur in geringen Stückzahlen Verbreitung.
Auch einige Steckmodule für Anwendungen sowie Freezer beinhalten (eine dann meist kleine) Speichererweiterung. So beinhaltet z.B. das Pagefox-Modul ein 32-KByte-RAM, mit dem einige Funktionen erst möglich wurden. Ebenso enthält das Action Replay-Modul einen RAM-Chip, der dessen Freezer einige Funktionalitäten wie den im Freezer nutzbaren Monitor erlaubt, die z.B. beim Final Cartridge 3 (das kein weiteres RAM hat) fehlen.
Ferner gab es einige interne RAM-Erweiterungen für den C64, die teilweise auch schnelles Bankswitching erlauben. Da diese Erweiterungen jedoch als Zwischensockel ausgelegt werden mussten und die ICs beim C64 normalerweise direkt verlötet sind, haben diese Erweiterungen keine große Verbreitung erfahren.
Während bei aktuellen Geräten wie PCs Speichererweiterungen weitgehend automatisch erkannt werden und entsprechend nutzbar sind, war dies bei den früheren Systemen nicht immer der Fall. Beim C64 unterstützt der eingebaute KERNAL keinerlei Speichererweiterungen von Haus aus. Zur Nutzung des erweiterten Speichers bringt z.B. die RAMLink eine eigene Firmware mit, die eine Ramdisk zur Verfügung stellt. Die REU und die GeoRAM währenddessen kommen ohne eigene Firmware und sind entsprechend auf spezielle Unterstützung der jeweiligen ausgeführten Software angewiesen. Für GEOS sind entsprechende Treiber verfügbar; außerdem gibt es für die meisten Erweiterungen passende mehr oder weniger gute Ramdisk-Implementierungen. Ferner ist natürlich die Nutzung in eigenen Programmen für den entsprechend geneigten Programmierer möglich.
Speichererweiterungen benötigten zu ihrer Steuerung einige Register (typischerweise im I/O-Bereich). In seltenen Fällen kann es dazu kommen, dass bestehende Software diese Register unzulässig beschreibt und dann abstürzt.
Speichererweiterungen für den C64
Speichererweiterungen können dem C64 den erweiterten Speicher auf unterschiedliche Weise bereitstellen.
- Einblenden eines kleinen wählbaren "Fensters" in ihr RAM im I/O-Bereich des C64 (u.a. GeoRAM). Mit dieser Methode werden Datentransferraten von einigen dutzend KBytes/Sekunde erreicht.
- Datentransfer von oder in das interne RAM des C64 via DMA (REU). Erreicht fast 1MByte/Sekunde.
- Bankswitching von größeren Bereichen des internen RAMs (nur interne RAM-Erweiterungen). Der gewählte Speicherbereich steht Programmen instantan zur Verfügung.
- Einige der aufwendigeren Steckmodule stellen einen eigenen Prozessor bereit, der einen größeren Program Counter als der 16-bittige des 6510 im C64 bereitstellt und so weiteres RAM direkt ansprechen kann (u.a. SuperCPU).
Aufgrund der inneren Architektur und den am Expansionsport verfügbaren Leitungen ist ein Austausch oder echtes Bankswitching von größeren Bereichen des für die CPU des C64 sichtbaren RAMs für ein Expansionsport-Modul nicht mit guter Kompatibilität mit bestehenden Programmen möglich.
Tabelle 1 - Speichererweiterungen | ||||||
---|---|---|---|---|---|---|
Name | Firma | Veröffentlichung | Rechner | Speicher | Datentransfer-Methode | Erweiterungstyp |
1700 REU | CBM (Commodore Business Machines) | 1985 | C64/C128 | 128 KByte | DMA mittels REC-Chip | Steckmodul |
1750 REU | CBM (Commodore Business Machines) | 1985 | C64/C128 | 512 KByte | DMA mittels REC-Chip | Steckmodul |
1764 REU | CBM (Commodore Business Machines) | 1985 | C64/C128 | 256 KByte | DMA mittels REC-Chip | Steckmodul |
256-KByte-RAM-Erweiterung | Peter Engels, 64'er 07/1987[1] | 1987 | C64 | 256 KByte | Bank Switching | intern |
C64 256K | Marko Mäkelä[2] | 1987 | C64 | 256 KByte | Bank Switching | intern |
c't816 | Michael Flamm, René Schneider, c't 06/1987[3] | 1987 | C64 | 256 KByte | RAM-Disk, direkte Adressierung durch 16-Bit-Prozessor | intern |
GeoRAM | Berkeley Softworks | 1989 | C64/C128 | 512 KByte | I/O-Bereich | Steckmodul |
RAMDrive | CMD (Creative Micro Designs) | C64/C128 | 1 oder 2 MByte | I/O-Bereich, RAM-Disk | Steckmodul | |
RAMLink | CMD (Creative Micro Designs) | 1990 | C64/C128 | 1 oder 2 MByte | I/O-Bereich, RAM-Disk | Steckmodul |
Super 1750 Clone | CLD (Chip Level Designs) | 1991 | C64/C128 | 512 KByte | DMA mittels REC-Chip | Steckmodul |
BBGRAM | PPI (Performance Peripherals Incorporated) | C64/C128 | 1 oder 2 MByte | I/O-Bereich | Steckmodul | |
Flash 8 | Roßmöller | 1994 | C64 | 256 KByte oder 1 MByte | Direkte Adressierung durch externen Prozessor | Steckmodul |
SuperCPU64 | CMD (Creative Micro Designs) | 1996 | C64 | 16 MByte | Direkte Adressierung durch externen Prozessor | Steckmodul |
SuperCPU128 | CMD (Creative Micro Designs) | 1996 | C128 | 16 MByte | Direkte Adressierung durch externen Prozessor | Steckmodul |
CMD 1750/1750XL | CMD (Creative Micro Designs) | 1997 | C64/C128 | 512 KByte oder 2 MByte | DMA mittels REC-Chip | Steckmodul |
+60K | Mr.Fiz/Samar | 1997 | C64 | 60 KByte | Bank Switching | intern |
+256K | Soci/Singular[4] | 1999 | C64 | 256 KByte | Bank Switching (kompatibel zu +60K-Erweiterung) | intern |
NeoRAM | Nicolas Welte | 2006 | C64/C128 | 2 MByte | I/O-Bereich | Steckmodul |
Die Funktionalität einer REU befindet sich auch in aktuelleren Erweiterungen wie der 1541 Ultimate oder dem Chameleon 64.
Speichererweiterungen für Diskettenlaufwerke[Bearbeiten | Quelltext bearbeiten]
Zahlreiche Hardware-Schnelllader für die Diskettenlaufwerke hatten als zentralen Bestandteil eine RAM-Erweiterung des Laufwerks, um eine komplette Spur im Speicher halten zu können.
Speichererweiterungen für andere CBMs[Bearbeiten | Quelltext bearbeiten]
Quellen[Bearbeiten | Quelltext bearbeiten]
- ↑ 256-KByte-RAM-Erweiterung von Peter Engels, 64'er 07/1987 S. 34
- ↑ 256 kB memory expansion for the Commodore 64 von Marko Mäkelä
- ↑ Thema: c't816 - C64 mit 4-MHz-Takt und 16-Bit-CPU - Bastelanleitung in der "c't" (Ausgabe 6/1987) auf Forum64.de
- ↑ +256k VCS von Soci/Singular
Weblinks[Bearbeiten | Quelltext bearbeiten]
Wikipedia: Speichererweiterung |