Digital Emotion
[ARL] Aufbau und Funktionsweise des Amiga's - Druckversion

+- Digital Emotion (https://www.digitalemotion.de)
+-- Forum: AmiReLe (https://www.digitalemotion.de/forumdisplay.php?fid=19)
+--- Forum: Einleitung (https://www.digitalemotion.de/forumdisplay.php?fid=20)
+--- Thema: [ARL] Aufbau und Funktionsweise des Amiga's (/showthread.php?tid=136)



Aufbau und Funktionsweise des Amiga's - DigitalKeeper - 17.01.2024

Unerlässlich (wie vieles andere ebenfalls!) Angel ist es, etwas über die Funktionsweise des Amiga's zu wissen.

Wir werden an dieser Stelle "NUR" die Grundlegende Funktionsweise erklären, und das Ganze möglichst "Laienhaft", sodass jeder in der Lage sein sollte, "seinen" Amiga bei einer Reparatur wieder zum Funktionieren zu überreden. Dafuer

Für Tiefergehende Erkenntnisse ist es ein MUSS - sich die passende Literatur zuzulegen, wie zB Das "Amiga Intern" Buch von Data Becker, sowie weitere CLogo Bücher - i.e "Amiga Hardware-Reference-Manual".
-----

Blockschaltbild

   
-----

Wie man aus dem Blockschaltbild ersehen kann, weicht der Aufbau des Amiga etwas vom "Standard" ab. Auf der linken Seite sehen wir den 68000-Mikroprozessor, dessen Daten- und Adreßleitungen direkt mit den beiden CIAs vom Typ 8520 und dem Kickstart-ROM verbunden sind. Dieser Teil des Amiga-Systems ist also konventionell aufgebaut, nur der Prozessor hat Zugriff auf die beiden CIAs und das ROM. Wie sieht es nun auf der rechten Seite aus? Hier befinden sich die drei Custom-Chips Agnus, Denise und Paula und das Chip-RAM, die alle direkt mit demselben Datenbus verbunden sind, welcher aber vom Prozessordatenbus durch einen Puffer getrennt ist, der wahlweise den Prozessordatenbus mit dem Chip-Datenbus verbinden oder von ihm trennen kann. Die drei Custom-Chips sind untereinander auch noch durch den Registeradreßbus verbunden, der wie der Datenbus wahlweise mit dem Prozessoradreßbus verbunden werden kann oder nicht. Da das Chip-RAM einen weitaus größeren Adreßbereich hat als die Custom-Chips und außerdem gemultiplexte Adressen benötigt, existiert noch ein Chip-RAM-Adreßbus. Für diejenigen, denen der Begriff "gemultiplexte Adressen" nichts sagt, nur soviel: die RAM-Chips, die im Amiga (A 1000) verwendet werden, haben einen Adreßbereich von 2 1 6 Adressen (65536). Um alle Adressen eines Chips ansprechen zu können, benötigt man also 16 Adreßleitungen. Da die eigentlichen Chips aber sehr klein sind, hätte eine solch große Anzahl von Adreßleitungen ein unverhältnismäßig großes Gehäuse zur Folge. Um dieses Problem zu beseitigen, hat man eine sogenannte gemultiplexte Adressierung eingeführt. Das Gehäuse hat dabei lediglich acht Adreßleitungen, auf denen hintereinander erst die oberen acht Adreß-Bits und danach die unteren acht übertragen werden. Das Chip speichert die oberen acht und hat dann, wenn die unteren an den Adreßleitungen anliegen, alle 16 Adreß-Bits, die es benötigt. Wieder zum Amiga: Warum diese Trennung der beiden Busse? Nun, der Grund dafür ist, daß die verschiedenen Ein-/Ausgabegeräte eine kontinuierliche Versorgung mit Daten benötigen. So müssen z.B. die Daten für die einzelnen Bildpunkte auf dem Monitor fünfzigmal in der Sekunde aus dem RAM gelesen werden, da ein Fernsehbild nach der deutschen Pal-Fernsehnorm fünzigmal in der Sekunde neu aufgebaut wird.
-----

Eine hochauflösende Grafik kann auf dem Amiga über 64 KB Bildschirmspeicher benötigen. Dies bedeutet, daß pro Sekunde 50 * 64 KB aus dem Speicher geholt werden müssen. Dies sind etwas über 1.5 Millionen Speicherzugriffe in jeder Sekunde! Müßte der Prozessor diese Aufgabe erledigen, wäre er hoffnungslos überfordert. Eine so hohe Datenrate schafft auch ein 68000 nicht. Und dabei ist der Amiga auch noch in der Lage, neben der Grafik digitalisierte Tonausgabe und Diskettenzugriffe durchzuführen, ohne den 68000 zu verwenden. Die Lösung liegt in einem zweiten Prozessor, der all diese Speicherzugriffe selbständig ausführt. Einen solchen Prozessor nennt man auch DMA-Controller (Direct Memory Access/Direkter Speicherzugriff). Er ist beim Amiga in Agnus untergebracht. Aus diesem Grund ist Agnus auch mit dem Chip-RAM-Adreßbus verbunden.
-----

Die übrigen beiden Chips, Denise und Paula, und der Rest von Agnus sind wie herkömmliche Peripherie-Chips aufgebaut. Sie besitzen eine gewisse Anzahl von Registern, die vom Prozessor (oder dem DMAController) gelesen oder beschrieben werden können. Die einzelnen Register werden über den Registeradreßbus ausgewählt. Er hat acht Leitungen, kann also 256 verschiedene Zustände annehmen. Es gibt keine spezielle Auswahl der einzelnen Chips. Hat der Adreßbus den Wert 255 oder $FF, sind also alle Leitungen High, ist kein Register ausgewählt. Liegt aber eine gültige Registernummer an, erkennt dies das Chip, welches das gewählte Register enthält, und aktiviert dieses. Diese Aufgabe wird in den einzelnen Chips von dem Register-Adreßdecoder ausgeführt. Dadurch, daß die Auswahl eines Registers nur von seiner Registeradresse abhängt und nicht von dem Chip, in dem es sich befindet, können auch zwei Register in zwei verschiedenen Chips gleichzeitig mit demselben Wert beschrieben werden, wenn diese auch dieselbe Registeradresse haben. Von dieser Möglichkeit wird bei einigen Registern Gebrauch gemacht, die Daten enthalten, die von mehreren Chips benötigt werden.
-----

Jedes Chip-Register kann entweder ein Leseregister oder ein Schreibregister sein. Eine Umschaltung zwischen Lesen und Schreiben mittels einer speziellen R/W-Leitung, wie z.B. beim 8520, gibt es nicht. Die Registeradresse bestimmt gleichzeitig, ob ein Lese- oder Schreibzugriff stattfindet. Register, die sich sowohl lesen als auch beschreiben lassen, sind so realisiert, daß der Schreibzugriff auf einer und der Lesezugriff auf einer anderen Registeradresse stattfindet. Dieser Sachverhalt spiegelt sich deutlich" in der Liste der Chip-Register wieder.
-----

Da Agnus den DMA-Controller enthält, kann er auch selber auf Register der Custom-Chips zugreifen, d.h. eine Adresse auf dem Registeradreßbus ausgeben.
-----

Ein offensichtliches Problem ist aber noch ungelöst. Es gibt nur einen Daten- und einen Adreßbus, auf den sowohl der Prozessor als auch der DMA-Controller zugreifen wollen. Einen Bus kann aber immer nur ein Bus-Controller steuern. Würden zwei Chips gleichzeitig versuchen, eine Adresse auf den Bus zu legen, würde es zu einer Datenkollision, gefolgt von einem Systemzusammenbruch, kommen. Also müssen sie sich die Buszugriffe teilen und dürfen nur noch abwechselnd auf den Bus zugreifen, wobei natürlich jeder möglichst oft den Bus für sich haben möchte. Dieses Problem wurde beim Amiga auf elegante Art in drei Stufen gelöst:

Als erstes hat man im Amiga die beiden normalerweise durchgehenden Busse in zwei Teile geteilt. Der eine (in der Abbildung links) verbindet all die Bausteine, die nur vom Prozessor angesprochen werden. Bei einem Zugriff des 68000 auf einen dieser Bausteine unterbrechen die beiden Puffer (in der Mitte der Abbildung) die Verbindungen des Prozessordaten- und des Prozessoradreßbus mit dem Chip-Daten- und Chip-Adreßbus. Dadurch können sowohl der Prozessor auf seiner Seite und Agnus auf der anderen ungestört auf den Bus zugreifen. Der Prozessor hat dadurch einen ungestörten Zugriff auf das Betriebssystem und eventuelle RAM-Erweiterungen, die am Expansion-Port angeschlossen werden. Dieses Erweiterungs-RAM wird deshalb auch Fast RAM genannt, da der Prozessor immer ohne Geschwindigkeitsverlust darauf zugreifen kann. (Die RAM-Erweiterungen, die beim A1000 vorne und beim A500 an der Gehäuseunterseite eingesteckt werden, gehören allerdings noch zum Chip-RAM.)

Als zweites hat man die Buszugriffe vom Prozessor und von Agnus ineinander verschachtelt, so daß normalerweise auch bei Zugriffen auf das Chip-RAM oder die Chip-Register der 68000 nicht gebremst werden muß. Bei einem solchen Zugriff verbinden die Puffer die beiden Bussysteme wieder.

Erst als dritter und letzter Ausweg werden die Zugriffe des Prozessors verzögert, d.h. der Prozessor muß warten, bis Agnus seine DMA-Zugriffe beendet hat und der Bus wieder frei ist. Dieser Fall tritt allerdings nur dann ein, wenn entweder sehr hohe Grafikauflösungen gewählt wurden oder der Blitter in Betrieb war.
-----

.