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)