Chip-RAM und Fast-RAM sind bestimmte RAM-Bereiche im Amiga-Computersystem von Commodore. Der Chipsatz des Amigas kann nur auf das Chip-RAM zugreifen, um daraus unter anderem Video- und Sounddaten zu holen. Für Details siehe Original Chip Set.
Chip-RAM
Auf das Chip-RAM kann neben dem Amiga-Chipsatz ebenfalls der Hauptprozessor des Amigas zugreifen. Dort können daher auch normale Programme oder Daten gespeichert und abgearbeitet werden. Zum Zugriff werden Prozessorbus und Chipsatzbus synchronisiert und zusammengeschaltet. Daher muss Prozessorseitig beim Zugriff auf den Chipsatz gewartet werden, während beim Zugriff des Prozessors auf andere Speicherbereiche beide Bussysteme getrennt werden, diese Zugriffe daher ungebremst vom Chipsatz erfolgen können (siehe unten). Daher nennt man diese anderen Speicherbereiche auch Fast-RAM.
Die Mischfunktion des Chip-RAMs für Programm- und Videodaten ähnelt dem UMA-Prinzip im PC-Bereich.
Hardwaremäßig ist das Chip-RAM mit dynamischem RAM ausgeführt. Die notwendigen Refresh-Zyklen werden – im Gegensatz zu denen des (echten) Fast-RAMs – ebenfalls vom Chipsatz ausgeführt. Das Chip-RAM ist bei vielen Amiga-Modellen fest auf der Amiga-Hauptplatine eingelötet, dort also auch nicht steckbar ausgeführt. (Ausnahmen: beim Amiga 1000 sind 256 KB eingebaut und weitere 256 KB als Speichererweiterung an der Frontklappe einsteckbar; beim Amiga 500 werden 512 KB über eine Steckkarte hinzugefügt; beim Amiga 3000 ist 1 MB gesockelt und beim Amiga 4000 ist es als 72-poliges SIMM ausgeführt.)
Das Chip-RAM liegt immer ganz am Anfang des Adressbereichs, also ab Speicheradresse $00000000. Zum Boot-Zeitpunkt muss beim 68xxx-Prozessor dort das Boot-ROM liegen, welches daher durch den Reset dort eingeblendet („gespiegelt“) wird. Es erfolgt allerdings sofort ein Sprung an die eigentlich für das ROM vorgesehene Adresse, wo dann im Zuge der Initialisierung des Systems die Spiegelung des ROMs ab Adresse $00000000 deaktiviert wird.
Die Größe des adressierbaren Chip-RAMs ist durch den Agnus-Chip des Amiga-Chipsatzes bestimmt:
- beim OCS bis zu 512 KB;
- beim ECS bis zu 1 bzw. 2 MB (mit Fat Agnus);
- bei AGA/AA bis zu 2 MB (mit Alice statt Agnus).
Die meisten Amiga-Modelle (A500(+), A600, A1200, CDTV, CD32) wurden von Commodore werksseitig ausschließlich mit Chip-RAM ausgestattet.
Das Timing des Chip-RAMs ist komplett durch die Video-Funktionalität und deren TV-Kompatibilität bestimmt. Damit gibt es auch signifikante Unterschiede der Daten für die PAL- und NTSC-Versionen der Chips und der mit ihnen ausgestatteten Amiga-Modelle. Insbesondere der Agnus-Chip mit seinen DMA-Zugriffen auf verschiedene Arten von Daten ist auf ein festes Raster eingerichtet, wie viele Bytes pro Anzeigezeile zu welchem Zeitpunkt für welchen Zweck aus dem Chip-RAM geholt werden müssen. Das führt dazu, dass die Geschwindigkeit nicht einfach durch Takterhöhung des Hauptprozessors gesteigert werden kann, solange dieser auf das Chip-RAM zugreift; dann würde das Video-Timing nicht mehr stimmen. Beschleunigungen wären nur durch komplette, die Rückwärtskompatibilität gefährdende Neukonstruktion des Chipsatzes zu erreichen. Entsprechend hat dieser Schritt in der Amiga-Geschichte zu Zeiten von Commodore nicht stattgefunden. Das Chip-RAM wurde so mit der Zeit zu einem ernsthaften Performance-Flaschenhals für das ganze Amiga-System. Schon zu Commodore-Zeiten begann aber auch das Zeitalter der einsteckbaren Grafikkarten, die solche Beschränkungen nicht kennen und wesentlich mehr Auflösungen und Farbtiefen generieren konnten.
Fast-RAM
Neben dem Chip-RAM kann es im Amiga-System außerdem Fast-RAM geben, auf das ausschließlich der Hauptprozessor zugreifen kann, nicht jedoch der Chipsatz. Hier kann der Prozessor seine Geschwindigkeit ungebremst ausspielen. Das Betriebssystem AmigaOS legt Programme daher bei Vorhandensein von Fast-RAM vorzugsweise in diesen Bereich. Erst wenn das Fast-RAM erschöpft ist, wird auf Chip-RAM als Programm- und Datenspeicher zurückgegriffen. So bleibt der (geringe) Chip-RAM weitgehend für Video- und Sound-Daten frei.
Es gibt mehrere verschiedene Arten von Fast-RAM (mit absteigender Geschwindigkeit):
- 32 Bit:
- Es ist auf einer Prozessor-Steckkarte (Turbokarte) angeordnet (soweit vorhanden) und direkt und optimal schnell an den lokalen Bus dieses Prozessors angebunden.
- Es steckt in Sockeln auf der Hauptplatine des Rechners (nur bei den größeren Modellen der A3000- und A4000-Serie). Der RAM-Controller Ramsey bindet den Speicher mit der Geschwindigkeit des ursprünglichen Prozessors an.
- Beim Amiga 1200 können bis zu 8 MB Fast-RAM über eine Erweiterungskarte im unteren Schacht hinzugefügt werden.
- Es ist über eine 32-Bit-Zorro-III-Erweiterungssteckkarte angebunden (A3000/T, A4000/T), auf die eine 32-Bit-CPU mit voller Busbreite aber evtl. nur reduzierter Geschwindigkeit zugreifen kann.
- 16 Bit:
- Bis zu 1 MB Fast-RAM sind beim ersten Amiga 2000A über eine Karte im Prozessorslot angebunden.
- Es ist über eine 16-Bit-Zorro-II-Erweiterungssteckkarte (A2000, auch A3000, A4000) eingebunden (max. 8 MB). RAM auf Zorro-II-Karten kann von Prozessoren mit 32-Bit-Datenbus im A3000 und A4000 nur mit 16-Bit-Zugriffen erreicht werden, wodurch nur geringe Geschwindigkeit erreicht wird. Sinnvoller ist eine Zorro III-Karte, die auch 32-Bit-Zugriffe erlaubt.
- Es ist beim Amiga 600 oder Amiga 1200 auf einer PCMCIA-Steckkarte angeordnet. Diese Schnittstelle ist nur 16 Bit breit, so dass solches RAM beim A1200 nicht die volle Geschwindigkeit erreicht.
Hardwaremäßig liegt das Fast-RAM bei sehr verschiedenen Speicheradressen, je nach Modell, Erweiterungsart (s. o.) und Prozessorgröße. Am Zorro-Bus wird seine Adresslage sogar dynamisch zum Boot-Zeitpunkt konfiguriert, so dass man auch mehrere RAM-Karten parallel in Zorro-Slots stecken kann. Das Betriebssystem ist flexibel genug, um all diese möglichen Konfigurationen korrekt berücksichtigen zu können.
„Ranger Memory“
Neben Fast-RAM und Chip-RAM gibt es noch eine dritte Art von Speicher – gelegentlich Ranger Memory, unechtes Fast-RAM oder Slow RAM genannt. Er befindet sich auf Speichererweiterungskarten für den internen Erweiterungsplatz im Boden des A500 bzw. auf dem Mainboard des A2000. Dieser Speicher wird wie das Chip-RAM über den Chipsatz angesteuert und aufgefrischt, kann von diesem jedoch nicht selbst adressiert werden (die Register des ursprünglichen Agnus wurden nicht erweitert). Als kostengünstig herzustellende Speichererweiterung – sie enthält praktisch nur die Speicherbausteine und benötigt keine wesentlichen zusätzlichen Bauteile wie eine Zorro-Speichererweiterung – vereint es die Nachteile von Fast-RAM und Chip-RAM – es findet keine Erweiterung des Chipsatz-Speichers für Video- und Sound-Daten statt, trotzdem werden die Speicherzugriffe des Prozessors wie die auf Chip-RAM vom Chipsatz ausgebremst. Allerdings ist der Geschwindigkeitsunterschied zwischen Chip- und echtem Fast-RAM beim A500 mit seinem mit knapp acht Megahertz getakteten Standard-68000 zwar spürbar, aber meistens nicht sehr groß.
Literatur
- The Amiga ROM Kernel Manual: Libraries. ISBN 0-201-56774-1