<< Inhalt >> PowerUp-to-date

5. Änderungen bei den Escena-G3-Karten / Auslieferung verzögert sich

»Braunschweig, den 12. März 1999

Änderungen führen zu einer verzögeren Auslieferung

Der Bedarf bzgl. der beiden Punkte ZorroII-Kompatibiltät und einer PCI- artigen Erweiterungsmöglichkeit war uns schon seit einiger Zeit bewußt. Allerdings führten bisherige Konzepte, diese Punkte mit in das Projekt zu integrieren stets zu stark ansteigenden Bauteilkosten und Entwicklungszeiten. Daher wollten wir dieses erste G3-Projekt nicht damit belasten.

Ende Dezember haben wir dann allerdings eine Lösung gefunden, die Problematik unter einen Hut zu bringen; PCI stellte sich als geeignet heraus, nicht nur als Anschluß für Peripheriegeräte zu dienen, sondern auch als ein 'Zwischen-Bus' zu fungieren.

Da dies nicht unser erstes PCI-Design war, hofften wir, die Entwicklungszeit für diese Implementation auf sechs Wochen drücken zu können. Das hat sich aber als nicht realistisch herausgestellt. Derzeit sind noch ein paar kleinere Teile übrig, von denen wir erwarten, sie Anfang der nächsten Woche komplettieren zu können.«

»Technische Details

Eine der größten Aufgaben war das Design des Speicher-Schnittstelle. Die im folgenden beschriebene Geschwindigkeit wird vom Bustakt von 66MHz bestimmt. Die tatsächliche Bandbreite kann, wenn der Bustakt höher oder niedriger ist, entsprechend variieren.

Die Bus-Schnittstelle wurde für eine Bandbreite von 427 MB/s entworfen. Dies kann bei gepufferten Speicherzugriffen erreicht werden. Die nicht pufferbaren werden als Einzelzugriffe durchgeführt und reduzieren damit die Bandbreite auf 267 MB/s während des Transfers. Die Speicherbandbreite kann bis auf 217 MB/s (88 MB/s ungepuffert) zurückgehen, aber das sollte nur bei einer Blockierung auftreten.

Allerdings hat beim PPC eine Adreßübertragung eine Mindestdauer von 3 Taktzyklen. Solche Ein-Prozessor-Speicher-Einzelzugriffe liefern nur einen maximale Datenrate von 178 MB/s. Dabei darf der kleine Unterschied zwischen Bandbreite und Datenrate nicht verwechselt werden. All dies ist nicht für den Burst-Modus relevant, da diese eine Länge von 5 Taktzyklen, innerhalb derer 32 Bytes übertragen werden, haben, in denen die 3 Takte für die Adressübertragung enthalten sind.

Da die vom PPC angeforderte Datenrate normalerweise niedriger als die verfügbare Bandbreite ist, ergibt sich eine Leerlaufzeit auf dem Bus, die es erlaubt, Zugriffe eines zweiten Prozessors oder DMA-Kontrollers einzustreuen.

Dies hängt jedoch in hohem Maße von der Anwendung ab. Tasks, die nur Daten herumschieben, verbrauchen mehr Bandbreite als z.B. ein Raytracer mit reinen Berechnungen.

Diese hohe Bandbreite wird durch den ausgiebigen Einsatz von Adress- Pipelining ermöglicht. Der PPC unterstützt dies durch separate Arbitrierung für den Adreß- und den Datenbus, so daß (Speicher) Zyklen, die eine Latenzzeit erfordern, nicht den Bus durch Waitstates belegen.

Übertragungsanforderungen werden in der Adress-Pipeline abgelegt und daraus Microcode generiert. Nur wenn der Datenbus im Wartezustand ist, wird die Adress-Pipeline übergangen und die Anforderung direkt an die folgenden Schaltungsteile weitergereicht.

SDRAMs können eine maximale Bandbreite von 533 MB/s erreichen, aber da sie intern DRAMS sind, benötigen sie manchmal etwas Zeit um Daten liefern oder zu erhalten. Die benötigten Taktzyklen hierfür nennt man Latenzzeit. Um nicht den Datenbus während eines Kommandos komplett zu belegen, berechnet die 'Datenbus-Voraussage-Einheit' die Latenzzeit aufgrund der Informationen des Microcodes, und kann so vorhersagen, wann der Datenbus frei werden wird. Die Speicher-Kontroller verteilen die Speicherkommandos gemäß diesen Informationen. Das Board bietet maximal acht Speicherbänke (zwei DIMM- Plätze), so das eine Blockierung nicht allzu oft auftreten sollte.

Das PowerPC-Karte sitzt direkt im Zorro-Bus. Damit wird eine schnelle Verbindung zu Grafikkarten und SCSI-Kontrollern auf diesem Bus gewährleistet, ohne daß man an dem Engpaß (Fat/"Super"-)Buster vorbei muß. Damit wird die Bandbreite nur von der Zorro Backplane und den teilnehmenden Devices bestimmt.

Das Board unterstützt nur das Zorro-III-Protokoll, da nur dieses die richtige Geschwindigkeit über DMA und Burst-Modus zur Verfügung stellen kann. Zorro-II zeigt seine schwerwiegende Beschränkung besonders bei der Übertragung von Grafikdaten. Damit ist zwar noch nicht das letzte Wort über den Zorro-II-Bus gesprochen, doch derzeit kann man nicht mehr dazu sagen.

Es gibt keine Möglichkeit mehr, EDO oder FPM DRAMS einzusetzen, da dies alle Vorteile des Pipelining-Konzepts zerstören würde und andererseits wurden solche RAMS in DIMM-Bauform bisher ohnehin nicht bei Amigas eingesetzt, so daß hier keine größeren Speicherkapazitäten verschwendet werden müßten.

Änderungen

Ursprünglich bestand das Design aus einem zentralen Kontrollerchip, der auf der einen Seite die Kontrolle über das Prozessor/Speichersystem übernahm und auf der anderen Seite ein direktes ZorroIII-Interface vorsah.

Die Spezifikationen auf der Seite des Prozessor/Speichersystem haben sich nicht geändert. Auf der Interface-Seite dagegen wurde das ZorroIII- Interface nun gegen ein vollständiges Master/Slave(Target) PCI-Interface ersetzt.

Die Funktion dieses Bausteins ist somit nun mit einer 'North Bridge' eines PC-Chipsatzes vergleichbar, natürlich angepaßt auf PowerPC/Amiga Verhältnisse.

Das Zorro-Interface befindet sich nun in einem zusätzlichem Baustein, der PCI-Zorro-Bridge. Auch diese Interface ist voll Master/Slave-fähig.

Da es sich bei PCI um ein Bussystem mit niedriger Latenz handelt, sind hier keine wesentliche Performance-Abstriche (gegenüber einem direkten ZorroIII- Interface) zu erwarten. Unterstützt wird dies durch den Einsatz chipinterner Puffer.

Damit läßt sich die über den 32-bit, 33MHz PCI-Bus zu erwartende maximale Bandbreite aus dem Design mit etwa 96 MB/s abschätzen.

Errungenschaften

Diese recht grundlegende Änderung eröffnet zwei wesentliche Vorteile.

Zum einen ist es nun möglich, über einen Steckverbinder eine Karte vorzusehen, die mit Standard-PCI Bausteinen bestückt ist. Solche Bausteine exitstieren zum Beispiel für SCSI, Grafikausgabe und USB.

Eine Karte, die in einem Zorro-Slot sitzt, kann aus mechanischen Gründen keinen 'echten' PCI-Slot bieten. Da es sich aber nur um einen Steckverbinder handelt, sollte es technisch möglich sein, mehrere PCI- Komponenten auf einer Karte zu integrieren. Welche Bausteine dafür ausgewählt werden sollten, wird zu gegebener Zeit noch zu entscheiden sein.

Zum anderen bietet uns der zusätzliche Chip (die PCI-Zorro Bridge) nun die bisher fehlenden Pin-Ressourcen, um auch ein ZorroII Interface implementieren zu können. Durch das oben beschriebene PCI-Interface macht es zudem jetzt deutlich mehr Sinn als zuvor, eine Prozessorkarte in einem ZorroII-Slot zu betreiben, wenn bandbreitenintensive Daten nicht mehr über den ZorroII-Bus müssen.

Dadurch sollte es machbar werden, die Brainstormer-Karte auch ein einem A2000 zu betreiben. Allerdings kann durch die Vielfalt der sich im Markt befindlichen Beschleunigerkarten derzeit schlecht abgeschätzt werden, ob es kompatibilitäsbedingt (insbesondere im DMA-Betrieb) zu eventuellen Einschränkungen kommen kann.«

(Quelle: Escena)

<< >>