Amiga Patent Story
   Previous: Amiga    Up: Index    Next: Agnus

II. Hardware

2. Hardware Design: DMA und Custom-Chips (US-Patent 4,777,621)

 

Einige Worte zur Einstimmung: Es versteht sich, dass ein solcher Artikel fachspezifische Begriffe enthalten muss. Soweit eine Erläuterung für Nichtfachleute zweckdienlich erscheint, erfolgt dies beim jeweils ersten Auftauchen eines solchen Begriffes im Text. Wer keine Probleme mit dem Verständnis der Materie hat, kann die entsprechenden Textabschnitte einfach ignorieren. Desweiteren sollte bedacht werden, dass eine Technik auf dem Stand des Jahres 1985 beschrieben wird. Die Fachausdrücke entsprechen denen, die in der Patentschrift verwendet wurden und können von später eingeführten Bezeichnungen abweichen. Die Namen AGNUS, DENISE, PAULA, COPPER, BLITTER und Chip-RAM sind den entsprechenden Funktionseinheiten erläuternd zur Seite gestellt worden. Sie werden in der Patentschrift US 4,777,621 nicht verwendet.

Tipp: Der Ausdruck der Patentzeichnungen (TIF-Format) erspart nervtötende Scrollorgien.

 

***************************************

 

Die Figuren 1 bis 3 der US 4,777,621 zeigen verschiedene herkömmliche Computerarchitekturen, die durch das Konzept der Erfindung nach Bild 1 (Fig. 4) verbessert werden sollen. Ganz oben im Pflichtenheft steht dabei die Schaffung eines preiswerten Computersystems mit hoher Grafikleistung. Dazu bedienen sich die Entwickler einer fortgeschrittenen DMA- und Custom-Chip-Technik.
   Custom-Chip: Kundenspezifischer Schaltkreis. Ein solcher Schaltkreis ist speziell auf die Anforderungen eines meist industriellen Kunden zugeschnitten. Die Custom-Chips des Amiga werden bei MOS Technologies / CSG Commodore Semiconductor Group gefertigt, dem Commodore eigenen Chip-Hersteller.
   DMA: Direct Memory Access. Direkter Speicherzugriff eines Busteilnehmers auf den Systemspeicher, und zwar direkt in dem Sinne, dass der Zugriff nicht vom Mikroprozessor durchgeführt wird, sondern der jeweilige Busteilnehmer selbst die erforderliche Kommunikation mit dem Speicher übernimmt, so dass der Mikroprozessor unterdessen für andere Aufgaben frei ist.

DMA- und Custom-Chip-Technik sind zu Beginn der Entwicklung 1982 an sich bekannt (siehe: Atari). Beim Amiga jedoch erfolgt eine besonders komplexe Verzahnung der in den Custom-Chips untergebrachten Funktionseinheiten durch eine Interrupt gesteuerte DMA-Technik. Register erfahren eine neuartige Verwendung. Zudem ist einem der Custom-Chips ein Coprozessor mit einem eigenen Befehlssatz zugeordnet, der den Mikroprozessor entlastet. Dies alles wird vollständig und transparent durch das Betriebssystem (Intuition) unterstützt.

 

 

Die Funktionseinheiten des Amiga

Bild 1: Die Funktionseinheiten des Amiga

High Resolution TIF Image ( 30,4kB )

 

 

Die Zeichnung nach Bild 1 (Fig. 4) zeigt die logischen Funktionseinheiten des Amiga ohne Berücksichtigung ihrer Aufteilung auf die Custom-Chips. Die Anordnung enthält einen Mikroprozessor 11, z.B. einen Motorola 68000 Mikroprozessor. Dieser Mikroprozessor 11 ist über Leitungen 15 mit einer Anzahl von Ports 13 verbunden, wodurch ein direkter Zugriff auf den Mikroprozessor 11 durch ein Peripheriegerät erfolgen kann. Das System umfasst Speicher 25, der als RAM-Speicher ausgelegt ist und eine Größe im Bereich von 128 kByte bis 512 kByte aufweist. DMA-Kanäle 23 verbinden den Speicher 25 mit dem Display-Generator 35. Der Display-Generator 35 seinerseits ist mit dem Video-Port 19 verbunden.

Eine Audio-Generatorschaltung 37 treibt einen Audio-Port 39 und die Disk-Steuerlogik kommuniziert mit einem Disketten-Port 43.

Die Schaltung enthält einen zweiten Mikroprozessor 45 (Coprozessor). Der zweite Mikroprozessor umfasst einen Befehlssatz, der wesentlich kleiner ist als der des Mikroprozessors 11. Dieser zweite Mikroprozessor 45 enthält einen fest verdrahteten Befehlssatz, der folgendes aufweist: WAIT UNTIL, MOVE DATA, SKIP IF und JUMP.

Weiterhin enthält die Schaltung eine Busarchitektur und arbeitet mit DMA-Technik (DIRECT MEMORY ACCESS). Diese Technik gestattet eine Aufteilung des Buszyklus zwischen den verschiedenen Komponenten des Subsystems, wobei ein gemeinsamer Adress-Bus und ein gemeinsamer Daten-Bus genutzt wird und wobei der Speicherzugriff durch die verschiedenen Komponenten des Subsystems sequenziell erfolgt.

Die Schaltung nach Bild 1 arbeitet im Bitmap-Modus. Dabei existiert eine feste Zuordnung eines jeden Pixels des Bildschirmobjektes zu dem entsprechenden Bit im Abbild des Speichers 25. Um eine Anzeige zu erzeugen, wird dieses Bitmap von Datenworten aus dem Speicher 25 zum Display-Generator 35 übertragen. Um ein Objekt auf dem Bildschirm zu bewegen, werden einfach die korrespondierenden Daten des Objekts an eine andere Stelle des Speichers verschoben.
   Bitmap: Darstellungsform eines digitalen Bildes, bei der jedem Bit im Speicher eines Computers genau ein Bildpunkt auf dem Bildschirm zugeordnet ist. Die Daten sind in einem zweidimensionalen Array abgelegt, welches exakt der Zahl der horizontalen und vertikalen Pixel des Bildes auf dem Bildschirms entspricht.
   Bitplane: Dieser Begriff bezieht sich auf die Farbauflösung eines Bildpunktes bzw. eines Bildes. Mit einer Bitmap lassen sich nur zwei Farben darstellen. Beim Amiga werden bis zu 5 Bitmaps für eine Bitplane verwendet, woraus sich eine maximale Farbtiefe von 2 hoch 5, d.h. 32 Farben ergibt, die aus einer Palette von 4096 Farben ausgewählt werden. Dabei sind die Bitmaps quasi hintereinander in einem dreidimensinalen Array angeordnet. Eine trickreiche Technik gestattet unter Nutzung einer sechsten Bitmap die Darstellung von 4096 Farben gleichzeitig (HAM-Modus). Dazu in einem späteren Kapitel mehr.

Ein Bitmap-Image-Manipulator 47 (BLITTER) ist vorgesehen, um bestimmte logische Operationen wie AND, OR, EXCLUSIVE OR und SHIFT an den Bitmap-Daten im Speicher 25 vorzunehmen. Durch diese Bearbeitung werden die Daten des Speicherabbildes für eine kontinuierliche Bildschirmanzeige aufbereitet.

Eine Busarchitektur wird benutzt, um sowohl Befehle als auch Daten zu übertragen. Alle Systemkomponenten wie der Mikroprozessor 11, der Coprozessor 45, (COPPER) Speicher 25, der Display-Generator 35, der Audio Generator 37, die Disk-Steuerlogik 41 und der Bitmap-Image-Manipulator 47 (BLITTER) sind mit der Busarchitektur verbunden. Eine Bus-Steuerlogik 49 steuert den Zugriff aller Komponenten auf die Busarchitektur. Diese Bus-Steuerlogik wird wiederum gesteuert von einer übergeordneten Prioritäts-Control-Logic 51. Die Prioritäts-Control-Logic 51 bezieht prioritätsabhängige Anforderungen vom Mikroprozessor 11, dem Coprozessor 45 (COPPER), dem Display-Generator 35, dem Bitmap-Image-Manipulator 47 (BLITTER), dem Audio-Generator 37 und dem Disk-Steuerlogik 41. Die Bus-Steuerlogik 49 steuert dabei die folgende Signaltransfers und den Zugriff auf die DMA-Kanäle 23:

 

  1. Steuersignale vom Mikroprozessor 11 zum Audio-Generator 37
  2. Steuersignale vom Coprozessor 45 (COPPER) zum Audio-Generator 37
  3. Steuersignale vom Mikroprozessor 11 zur Disk-Steuerlogik 41
  4. Steuersignale vom Coprozessor 45 (COPPER) zur Disk-Steuerlogik 41
  5. Steuerung des DMA-Datentransfers vom Speicher 25 zum Audio-Generator 37
  6. Steuerung des DMA-Datentransfers zwischen Speicher 25 und Disk-Steuerlogik 41
  7. Steuerung der Informationen vom Mikroprozessor 11 zum Bitmap-Image-Manipulator 47 (BLITTER)
  8. Steuerung der Informationen vom Coprozessor 45 (COPPER) zum Bitmap-Image-Manipulator 47 (BLITTER)
  9. Steuerung des DMA-Datentransfers zwischen Speicher 25 und Bitmap-Image-Manipulator 47 (BLITTER)
  10. Steuerung der Befehle und Daten zwischen Mikroprozessor 11 und Speicher 25
  11. Steuerung der Befehle und Daten zwischen Coprozessor 45 (COPPER) und Speicher 25
  12. Steuerung der Display-Steuersignale vom Mikroprozessor 11 zum Display-Generator 35 und
  13. Steuerung der Display-Steuersignale vom Coprozessor 45 (COPPER) zum Display-Generator 35.

 

***************************************

 

Bild 2 (Fig. 5) zeigt die Umsetzung der Funktionseinheiten nach Bild 1 in einer Chip-Architektur. Der Motorola 68000 Mikroprozessor 11 kommuniziert mit dem Bus 53 zur Übertragung der neun niederwertigen Bits und dem Bus 55 zur Übertragung der neun höherwertigen Bits eines Adresswortes. Die Busse 53 und 55 sind mit dem Multiplexer 59 verbunden.
   Muliplexer: Logik-Schaltung, die die mehrfache Ausnutzung einer Leitung gestattet. Hier wird der Multiplexer verwendet, um ein 18-Bit-Wort über einen 9-Bit-Bus zu übertragen. Dazu wird das 18-Bit-Wort in zwei 9-Bit-Worte zerlegt und nacheinander über den Bus transportiert.

Zusätzlich sind die niederwertigen acht Bit eines Adresswortes des Busses 53 zum Tri-State-Buffer 57 geführt. Der Bus 55 zur Übertragung der neun höherwertigen Bits eines Adresswortes ist zusätzlich zur Bus-Steuerlogik 49 (BUS CONTROL LOGIC) geführt.
   Tri-State-Buffer: Neben den üblichen logischen Zuständen "0" und "1" bzw. "L" und "H" kann der Tri-State-Ausgang des Puffers einen dritten Zustand einnehmen: "OFFEN" oder "Z". In diesem Zustand ist der Ausgang hochohmig. Bei Busarchitekturen ist dies erforderlich, da mehrere Bus-Teilnehmer unterschiedliche Logikpegel auf den Bus legen könnten, wodurch die Ausgänge der Schaltkreise durch Kurzschluss zerstört würden. Erst nach Aufforderung nimmt der Ausgang wieder einen definierten Logikpegel an.

Der Tri-State-Buffer 57 wertet die acht niederwertigen Bits eines Adresswortes aus, um die Custom-Chips 61, 63 und 65 zu adressieren, die in NMOS-Technik gefertigt und in 48-poligen Gehäusen untergebracht sind. Der erste dieser Custom-Chips 61 (AGNUS) enthält sowohl den Coprozessor 45 (COPPER) als auch die Bitmap-Manipulatorschaltung 47 (BLITTER) nach Bild 1. Der zweite Custom-Chip 63 (DENISE) beinhaltet den Display-Generator 35 nach Bild 1, während der dritte Custom-Chip 65 (PAULA) die Audio-Generator-Schaltung 37, den Disk-Steuerlogik 41 und weitere I/O-Schaltungen 13 nach Bild 1 enthält.

 

Die Systemarchitektur des Amiga

Bild 2: Die Systemarchitektur des Amiga

High Resolution TIF Image ( 28,2kB )

 

 

Die Schaltungen, die in den Custom-Chips 61, 63 und 65 untergebracht sind, werden später ausführlich diskutiert werden. In diesem Kapitel geht es vorrangig um das Zusammenspiel der im Bild 1 darstellten Funktionseinheiten und deren Aufteilung auf die Custom-Chips.

Der Zugriff zwischen dem Register-Adressbus 53 und dem ersten Custom-Chip 61 (AGNUS) ist bidirektional, d.h., dass einerseits der Bus 53 auf die Register des Custom-Chips 61 und andererseits die Register des Custom-Chips 61 auf den Register-Adress-Bus 53 zugreifen können. Der Zugriff des Register-Adress-Bus 53 hinsichtlich der Custom-Chips 63 und 65 (DENISE und PAULA) hingegen ist unidirektional, d.h., dass diese Chips keinen Zugriff auf den Register-Adress-Bus 53 haben. Der Custom-Chip 65 (PAULA) überträgt Audio-Signale zu den Audio-Ports 39 und hat eine bidirektionale Verbindung zu den Disketten-Ports 43.

Weitere I/O-Ports 13 nach Bild 1 sind ein UART-Port 67 und ein Port 69 (Pot Port). Die Signalübertragung zwischen dem Custom-Chip 65 (PAULA) und den Ports 67 und 69 ist bidirektional ausgelegt. Ein anderer Port, der zur Gruppe der Ports 13 nach Bild 1 gehört, ist der Maus-Port 71, der Signale zum zweiten Custom-Chip 63 (DENISE) überträgt. Der Video-Port 19 ist ebenfalls mit dem zweiten Custom-Chip 63 (DENISE) verbunden, um von diesem Daten zu empfangen.
   UART: Universal Asynchronous Receiver/Transmitter. Schnittstellenbaustein für die asynchrone Übertragung über die serielle Schnittstelle des Rechners.

Im ersten Custom-Chip 61 (AGNUS) sind die Prioritäts-Control-Logic für den Buszugriff 51, der Coprozessor 45 (COPPER), der Bitmap-Image-Manipulator 47 (BLITTER) und der vertikale Positions-Steuerlogik für bewegte Objekte (Sprites) untergebracht. Weiterhin enthält dieser Chip die Adress-Register für die DMA-Kanäle 23 nach Bild 1.

Der Display-Generator 35 nach Bild 1 ist im zweiten Custom-Chip 63 (DENISE) untergebracht und umfasst den Bitplane-Register-Speicher zur Erzeugung einer Vielzahl verschiedener Playfields und fester Objekte. Weitere Funktionseinheiten im zweiten Custom-Chip 63 (DENISE) sind die Video-Farbauswahl-Register und der Display-Prioritäts-Steuerlogik. Die Display-Prioritäts-Steuerlogik überwacht die Priorität der Kollisionserkennung zwischen festen und bewegten Objekten (Sprites). Der Display-Generator 35 enthält auch eine horizontalen Positions-Steuerlogik für bewegte Objekte (Sprites), der Register für die horizontale Position und eine Vielzahl von Datenspeichern für bewegte Objekte (Sprites) aufweist, die mit der horizontalen Positions-Steuerlogik verbunden sind.

Der Mikroprozessor 11 verarbeitet intern 32-Bit-Worte. Die Datenbusanbindung erfolgt über den 16-Bit-Datenbus 67. Über einen bidirektionalen Tri-State-Latch 69 ist der Mikroprozessor 11 sowohl mit den Dateneingängen des ersten Custom-Chips 61 (AGNUS), des zweiten Custom-Chips 63 (DENISE) und des dritten Custom-Chips 65 (PAULA) als auch mit dem RAM-Speicher 25 verbunden. Sowohl die Custom-Chips 61, 63 und 65 als auch der RAM-Speicher 25 sind bidirektional an den 16-Bit-Datenbus 67 angebunden.
   Bidirektionaler Tri-State-Latch: Was ein Tri-State-Buffer ist, wurde bereits oben erläutert. Ein bidirektionaler Tri-State-Latch überträgt jedoch Daten in beide Richtungen, da die Busteilnehmer lesend und schreibend auf den Datenbus zugreifen müssen. Im Unterschied zum Buffer werden die jeweils letzten Daten durch eine Flip-Flop-Schaltung (Latch) zwischengespeichert. Die Dateneinschreibung wird durch ein Taktsignal gesteuert.

Der Systemtakt wird von der Oszillator-Schaltung 69 (?) erzeugt, die die Bus-Steuerlogik 49 (BUS CONTROL LOGIC) mit einem Taktsignal 71 (CLOCK PULSES) versorgt. Die Bus-Steuerlogik 49 leitet daraus das Taktsignal 73 (CLOCK) für den Mikroprozessor 11 ab.

Der erste Custom-Chip 61 AGNUS erzeugt eine dynamische 18-Bit-RAM-Adresse, die gemultiplext über den 9-Bit-Bus 75 mit dem Multiplexer 59 verbunden ist. Der Multiplexer 59 wählt unter Maßgabe einer Zeitvorgabe die jeweiligen 9-Bit-Daten eines der 9-Bit-Busse 53, 55 und 75 aus, um den RAM-Speicher 25 über den 9-Bit-Bus 77 zu adressieren.

Eine 2-Bit-Steuerleitung 79 verbindet die Bus-Steuerlogik 49 mit dem Multiplexer 59, um dessen Zustand zu steuern. Der Multiplexer 59 wählt - gesteuert über die Steuerleitung 79 - die höherwertigen 9 Bit des Adress-Busses 55 und nachfolgend die niederwertigen 9 Bit des Adress-Busses 53 aus, um die 18-Bit-Adresse des Mikroprozessors 11 an den RAM-Speicher 25 zu legen. Alternativ erfolgt die 18-Bit-Adressierung des RAM-Speicher 25 , des sogenannten Chip-RAM, durch den ersten Custom-Chip 61 AGNUS über den 9-Bit-Bus 75 durch das gemultiplexte DRA-Signal.
   Chip-RAM: RAM-Speicher, der sowohl vom Mikroprozessor 11 als auch vom Custom-Chip 61 (AGNUS) adressiert werden kann. Mit der 18-Bit-Adresse lassen sich 2 hoch 18, also 262144 Adresskombinationen erzeugen, das entspricht wegen des 16-Bit-Datenbus 67 genau 256 k (Tausend) 16-Bit-Datenworten oder 512 kByte. Der 24-Bit-Adressbus des 68000 erlaubt die Adressierung von 16 MByte Speicher. RAM-Speicher oberhalb dieser unteren 512 kByte wird beim Amiga als Fast-RAM bezeichnet wegen des exklusiven Zugriffs durch den Microprozessor 11.

Der Mikroprozessor 11 besitzt einen DTACK-Eingang, über den ihm mitgeteilt wird, wenn er Zugriff auf den Datenbus 67 erhält. Dieses Signal wird von der Bus-Steuerlogik 49 über die DTACK-Leitung 79 an den Mikroprozessor 11 gelegt. Zusätzlich existiert eine Verbindung 81 (ADDRESS STROBE SIGNAL) zwischen dem Mikroprozessor 11 und der Bus-Steuerlogik 49. Desweiteren existiert die Verbindung R/W 83, die eine Lese-/Schreibanforderung vom Mikroprozessor 11 an die Bus-Steuerlogik 49 sendet.
   ADDRESS STROBE SIGNAL: Mit diesem Signal zeigt der Mikroprozessor der Bus-Steuerlogik 49 an, dass eine gültige Adresse am Adressbus anliegt und ein Buszyklus stattfinden kann.

Wenn der Mikroprozessor 11 über die Adressbusse 53, 55 und den Datenbus 67 Zugriff auf den RAM-Speicher 25 hat, wird das Lese-/Schreibsignal R/W 83 von der Bus-Steuerlogik 49 an den RAM-Speicher 25 gelegt.

Zusätztlich werden ein ROW ADDRESS STROBE (RAS)-Signal 85 und ein COLUMN ADDRESS STROBE (CAS)-Signal 87 von der Bus-Steuerlogik 49 an den RAM-Speicher 25 gelegt. Eine Datenquellenauswahl-Leitung 89, angesteuert durch die Bus-Steuerlogik 49, ist zuständig für die Richtung der Datenübertragung des bidirektionalen Tri-State-Latch 69.
   RAS und CAS: Steuersignale für dynamische RAM-Speicherbausteine: RAS = Freigabe der Reihenadresse und CAS = Freigabe der Spaltenadresse.

Eine Busanforderungs-Leitung 93 für die Anforderung eines Bus-Zugriffs verbindet den ersten Custom-Chip 61 (AGNUS) mit der Bus-Steuerlogik 49 . Eine DMA-Anforderungs-Leitung 95 verbindet den Custom-Chip 65 (PAULA) mit der Bus-Steuerlogik 49 und zeigt dieser an, dass der erste Custom-Chip 61 (AGNUS) einen Buszugriff anfordert.

Das Zusammenwirken des bidirektionalen Tri-State-Latch 69 und des Tri-State-Buffers 57 wird durch die Bus-Steuerlogik 49 gesteuert. Wenn der Mikroprozessor 11 Zugriff auf den Datenbus hat, bestimmt die Bus-Steuerlogik 49, ob einer der Custom-Chips 61, 63 und 65 oder aber der RAM-Speicher 25 angesprochen wird.

Die neun höherwertigen Bits der 18-Bit-Adresse des Mikroprozessors 11 werden über den Bus 55 (HIGH BIT ADDRESS BUS) zur Bus-Steuerlogik 49 übertragen. Dort werden sie decodiert, um ein Register-Adress-Auswahl-Signal 91 (REGISTER ADDRESS SELECT) zur Steuerung des Tri-State-Buffer 57 zu erzeugen, der es dem 8-Bit-Adresswort des LOW BIT ADDRESS BUS über den Register-Adress-Bus 53 gestattet, zu den Custom-Chips 61, 63 und 65 durchgeschaltet zu werden. Die Adresse der niederwertigen Bits auf dem Bus 53 bestimmt dabei, welches Register welches Custom-Chips 61, 63 und 65 Daten vom Datenbus 67 empfängt.

Alle Custom-Chips 61, 63 und 65 empfangen die Daten vom Datenbus gleichzeitig und enthalten einen Adress-Decoder für jedes Daten-Register. Wenn eine gültige Register-Adresse am Register-Adress-Bus 53 anliegt, können Daten vom Datenbus 67 in das zugehörige Register geschrieben oder aus diesem Register gelesen werden. Jedem Datenregister ist eine eindeutige Adresse zugeordnet.

Das Bus-System überträgt sowohl Ziel- als auch Quelladressen. Mit wenige Ausnahmen ist dabei die RAM-Adressierung (DRA-Wort) des ersten Custom-Chip 61 (AGNUS) immer eine Quelladresse. Die Register-Adresse auf dem Register-Adress-Bus 53, die ebenfalls vom ersten Custom-Chip 61 (AGNUS) erzeugt wird, selektiert eine Ziel-Register-Adresse für die DMA-Daten, die über den Datenbus 67 übertragen werden.

Die Verwendung von Speicher-Registern für die Ein-und Ausgänge von Schaltungen zur zeitweisen Speicherung von Adress-oder Datenworten ist den Enwicklern natürlich bekannt. Das betrifft auch die getaktete Abarbeitung von Signalen durch solche Speicher-Register. Die Art ihrer Benutzung sowie ihre Verwendung heben sich jedoch vom Bekannten, dem sogenannten Stand der Technik, ab.

Während eines DMA-Datentransfers generiert der erste Custom-Chip 61 (AGNUS) eine Register-Adresse (RGA-Signal) auf dem Bus 53, welche die Richtung der Datenübertragung bestimmt. Gleichzeitig erzeugt er eine RAM-Adresse auf dem Bus 75, die den Ort der Daten im RAM-Speicher 25 auswählt.

Der Bitmap-Image-Manulator 47 (BLITTER) kommuniziert bidirektional mit dem RAM-Speicher 25, um Zugriff auf dort abgelegte Bitmap-Informationen zu erhalten und diese mit logischen Operationen (AND, OR, SHIFT and EXCLUSIVE OR) zu bearbeiten. Die Mikroprozessoren beinflussen dies durch Steuersignale. Diese Steuersignale sind in den Steuer-Registern des ersten Custom-Chip 61 (AGNUS) gespeichert und werden durch den Datenbus 67 in Abhängigkeit vom Register-Adress-Wort auf dem Bus 53 geladen.

Während einer Anzeige-Operation empfängt der Display-Generator 35 nach Bild 1, der im ersten Custom-Chip 61 (AGNUS) untergebracht ist, Bitmap-Daten aus dem RAM-Speicher 25 über den Datenbus 67. Dieser Vorgang wird durch Steuersignale beeinflusst, die in den Steuerregistern des zweiten Custom-Chip 63 (DENISE) gespeichert sind und ihre Daten vom Mikroprozessor 11 oder vom Coprozessor 45 beziehen, der ebenfalls im ersten Custom-Chip 61 (AGNUS) untergebracht ist.

Der Buszyclus des Datenbus 67 wird gesteuert durch das DTACK-Signal 79 und das Signal 81 (ADDRESS STROBE SIGNAL). Diese spezifische Arbeitsweise gestattet dem Mikroprozessor 11, den Datenbus 67 nur etwa in der Häfte der zur Verfügung stehenden Zeit zu benutzen. In der übrigen Zeit haben die Custom-Chips 61, 63 und 65 Zugriff auf den Datenbus 67. Damit wird eine wesentliche Verbesserung in der Nutzung der Busarchitekur erreicht und zugleich der Schaltungsaufwand verringert. Möglichen Konflikten beim Zugriff auf den Datenbus 67 wird durch Verwendung einer Prioritätslogik 51 nach Bild 1 begegnet, die im ersten Custom-Chip 61 (AGNUS) untergebracht ist und die die Bus-Steuerlogik 49 ansteuert.

Der Coprozessor 45 nach Bild 1 kann programmiert werden, um Display-Funktionen auszuführen, die andernfalls der Mikroprozessor 11 bearbeiten müsste. Der Coprozessor 45 ist wegen seines beschränkten Befehlssatzes kleiner als der Mikroprozessor 11 und somit leichter zu implementieren. Durch seine Unterbringung in einem LSI-Chip zusammen mit anderen Funktionseinheiten verringert sich der Schaltungsaufwand dramatisch.
   LSI: Large Scale Integration. Hochintegrierter Schaltkreis.

Die Systemarchitektur nach Bild 2 ist realisiert durch die Aufteilung der in Bild 1 beschriebenen Funktionseinheiten auf drei LSI-Chips 61, 63 und 65, die jeweils in 48-poligen Gehäusen untergebracht sind. Vervollständigt wird das System durch handelsübliche Komponenten: einem Mikroprozessor 11, RAM-Speicher 25 und Tri-State-Buffer 57. Der bidirektionalen Tri-State-Latch 69, der Multiplexer 59 und die Bus-Steuerlogik 49 sind ebenfalls aus handelsübliche Komponenten aufgebaut.

Der Mikroprozessor 11 ist ein 68000 der Motorola Corporation. Der Multiplexer 59 ist in Standard-TTL-Logik aufgebaut und besteht aus einem Oktal Latch 74F374 und einem Multiplexer 74F257. Als Tri-State-Buffer 57 wird ein Tri-State-Treiber 74LS244 verwendet. Der bidirektionale Tri-State-Latch 69 wird aufgebaut aus einem Tri-State-Treiber 74LS244 und einem Octal-Latch mit Tri-State-Ausgängen vom Typ 74LS273. Die Bus-Steuerlogik 49 ist in einem programmierbaren PAL-Schaltkreis vom Typ 16L8 untergebracht und wird von einer Anzahl von NAND-Gattern und Flip-Flops ergänzt. Der RAM-Speicher 25 wird aufgebaut mit dynamischen RAM-Schaltkreisen der Organisation 256k * 1, z.B. D41256 der NEC Corporation.

 

(Thomas Unger)


   Previous: Amiga    Up: Index    Next: Agnus

Copyright © Thomas Unger 2000-2005. Alle Rechte vorbehalten. Hinweise an: kickstart@arcor.de

Letzte Veränderung: 26. Oktober 2004