<< Inhalt >> Workshops

Workshops / Hintergrundberichte / Buchvorstellungen

1. Workshop: Erweiterung der CyberstormPPC um ZIF-Sockel (von Dirk Wenk)

[Achtung: Die Durchführung der im Folgenden beschriebenen Arbeiten erfolgt auf eigene Gefahr!]

Dies ist momentan NUR eine theoretische Überlegung. Das heißt, so müsste/könnte der Umbau vonstatten gehen. Es heißt nicht, dass es dann tatsächlich funktioniert.

Es ist dringend davon abzuraten, nach diesem Artikel irgendwelche Veränderungen an seiner CSPPC Karte vorzunehmen!

Sollte trotzdem jemand so dumm sein? Dann weiß ich von nix!

1. Die Idee...

Mann, ist "Quake" wieder laaaanngsam! Jetzt hab ich schon einen 604er und trotzdem ist das Spiel so lahm. Also mal schauen, was man da machen kann. Schnell hat man die Übertaktungsseiten überflogen, hat sich alles ausgerechnet und ist zu dem Schluß gekommen: Übertakten bringt's nicht... Z.B. eine 150-MHz-PPC auf 170 Mhz takten? Bringt 10% mehr, macht statt 20 FPS satte 22 FPS... na toll! Das fällt nicht mal auf! Also muss ein anderer Prozessor drauf auf das Board. Nix wie hin zur www.mot.com-Seite und ... aaah ja, da sind die 604e mit 350 Mhz! Das ist doch eine ordentliche Geschwindigkeit.

Also erstmal die PDF-Dokumente runterladen und studieren, ob das Ding auch schön Pin-kompatibel ist. Und ja, das ist er auch... doch was ist das? "NOT 5 VOLT TOLERANT" ... OOH OHHH! Schnell stellt sich heraus, dass alle PPC Prozessoren über 233 MHz nur noch einen Pegel von maximal 3,45 Volt vertragen. Bekommt so ein Prozessor mehr auf seine Anschlüsse, dann kann man ihn gleich wegschmeißen. Voller Frust schau' ich mir die andern PPC Prozessoren an. Auch dort das gleiche Trauerspiel. Doch was mir auffällt ist, dass die Prozessoren nicht nur Software-, sondern größtenteils auch Hardware-kompatibel sind! (außer dem 740er). Schnell schau ich mir auch die Pin-Belegungen durch und siehe da, sie sind (fast) identisch!

2. Die Überlegung

Nur, wie baue ich jetzt so einen Prozessor auf meine CSPPC-Karte? Zuerst einmal brauche ich eine Pegelanpassung. Für jeweils die Eingänge und die Ausgänge ist schnell eine aus alten Bauteilen bestehende Schaltung zurecht gezeichnet. Allerdings sind die Signallaufzeiten extrem lang und die Zahl der notwendigen Bauteile liegt bei etwas mehr als 500. Nicht akzeptabel! Und noch ein Problem taucht auf. Diese neueren Prozessoren ab G3 brauchen so genannten Level-2-Cache. Aber nach etlichen Nachforschungen habe ich auch dafür eine Lösung gefunden... oder besser gesagt abgeguckt! Denn beim PowerMac werden schon seit einiger Zeit so genannte ZIF-Sockel verwendet, in die dann eine Platine eingesetzt wird. Auf dieser Platine ist neben dem Prozessor auch der L2-Cache untergebracht. Außerdem wird über bestimmte Kontakte auch gleich dem Motherboard gesagt, mit wieviel Takt und Volt die Platine gerne versorgt werden möchte. Also ideal für dieses Projekt.

Als Weiteres fällt auf, dass der Startprozess anders ist als bei dem 604- Prozessor. Mit ihm wird bestimmt, wo zuerst Strom anliegen darf, damit der Prozessor nicht getoastet wird. Klingt etwas seltsam, ist aber nachvollziehbar.

Damit haben wir jetzt also zusammen, was gebraucht wird: Erstmal einen ZIF- Sockel, eine passende Prozessorplatine, die Stromversorgung inkl. PowerUp und zum Schluss natürlich noch die Signalanpassung.

3. Die Grundstruktur

Auf einer Amiga-Messe wurde einmal von einem Hersteller der Prototyp einer G3-Turbokarte für den A1200 gezeigt, die ohne 68k-Prozessor auskommt. Wenn man genau hingesehen hat, erkannte man sofort, wie die Leute das geschafft haben. Auf dem Board befinden sich neben dem Prozessor, dem L2-Cache und einem Flash-Speicher für den Bootvorgang und die 68k-Emulation auch noch zwei Bausteine, damit der Prozessor bei der Kommunikation mit den 5 Volt vom Amiga nicht verkokelt wird. Diese zwei Chips sind ganz einfache, aber superschnelle Pegelwandler, die auch für dieses Projekt ideal sind. Weitere Daten zu den Chips findet ihr am Ende dieses Artikels unter "Bauteile". Im Prinzip sollte es so aussehen: Der 604-Prozessor wird abgelötet, die Signale auf eine andere Platine weitergeführt, wo sich unsere Schaltung befindet. Diese Schaltung besteht jetzt aus der Stromversorgung, dem Powerup und den Signalkonvertern. Und natürlich ist der ZIF-Sockel auch mit drauf. Was jetzt noch fehlt, ist die Durchführung.

4. Die nächste Überlegung

Tja, theoretisch haben wird jetzt alles zusammen, was man eigentlich brauchen sollte. Doch so einfach ist es nicht. Denn der Prozessor auf der CSPPC ist eine BGA-Ausführung. D.h., die Anschlüsse des Prozessors liegen unter diesem. Will man nun den Prozessor entfernen, braucht man eine BGA- Lötmaschine, ansonsten wird die Platine beschädigt und wir können uns eine neue CSPPC suchen. Und selbst wenn wir nun so eine Maschine in Reichweite haben und mit dieser den Prozessor entfernen sollten, haben wird noch ein recht offensichtliches Problem. Die Anschlüsse sind nämlich winzig. Es sollte eine echte Herausforderung sein, diese winzigen Pins nun mit unserer selbstgebauten Platine zu verbinden. Aber einmal etwas zu stark dran gezogen und die CSPPC-Platine ist im Eimer. Aber wird sind mit unserer Weisheit noch nicht am Ende.

Zwar haben wir kaum bzw. keinerlei Unterlagen über die CSPPC-Karte noch irgend welche Möglichkeiten, an sie heran zu kommen, aber wir können ja versuchen, es herauszufinden. Die CSPPC hat allerdings einfach zu viele Layers (Schichten), um es uns einfach zu machen. Es sei denn, jemand stellt uns eine defekte CSPPC zur Verfügung, die wir dann Stück für Stück auseinander nehmen, um so einen Schaltplan der Karte zu rekonstruieren. Oder jemand bei einer gewissen Firma unterstützt uns mit gewissen Unterlagen (Wink mit dem Zaunpfahl). :)

Eine weitere Möglichkeit, an die Signale des Prozessors zu gelangen, ist der Expansion-Port der CSPPC. Dort müssten theoretisch alle wichtigen Daten anliegen. Die restlichen Leitungen kann man sich dann immer noch zur Not heraus suchen. Eventuell sogar so, dass man dann zwischen der Original-PPC- CPU und unserer Bastelplatine umschalten kann. Bestimmt haben sich jetzt auch einige gesagt: Mann, die 604 läuft mit 150 - 233 MHz und diese neue Karten mit bis zu 750 MHz, wie soll das die CSPPC-Hardware schaffen? Dazu sei nur gesagt, dass der PPC-Bus des 604 bis zu etwa 75 MHz läuft. Und die neuen G4-Prozessoren haben auch einen Bus, der irgendwo zwischen 60 und 70 MHz liegt. Es kommt natürlich auch immer noch darauf an, wie die Takt- Teiler eingestellt sind. Z.B. läuft der 604e/150 MHz mit einer Busgeschwindigkeit von 60 MHz und einem Teiler von 2,5. Die 750-MHz-G4- Variante könnte dann so aussehen: 62 MHz Bustakt, Teiler auf 12, oder 75 MHz Bus und Teiler auf 10. Je kleiner der Teiler, um so höher der Speicherdurchsatz. Aber auch mehr Wärmeentwicklung... es empfiehlt sich bei 75 MHz ein zusätzlicher Lüfter für den Speicher...

5. Die Grundstruktur der CSPPC

Jetzt begebe ich mich auf Glatteis! Denn was wissen wir überhaupt über die CSPPC? Wie ist sie aufgebaut und wie funktioniert sie? Um ehrlich zu sein, kann ich da nur Vermutungen anstellen, denn Unterlagen habe ich zu der Hardware leider keine (außer dem Handbuch). Zuerst mal muss ja der 64-Bit- Bus des 604e an den 32-Bit-Bus des 68k-Prozessors angepasst werden. Also brauchen wir etwas, was speichert und genügend Ein-/Ausgänge hat. Wenn wir uns jetzt die CSPPC anschauen, fallen uns ganz viele 74FTC543-Bausteine auf (auf Anfrage unter dw@teleservice.com 74FTC543_DS_30937.pdf). Und genau diese Bausteine sind dazu da, den Bus an 64bit bzw. 32bit anzupassen. In dem PDF-Dokument (AN1271.pdf) sieht man auf Seite 8 ein kleines Anschlussbeispiel, das zwar mit einem 74F646 realisiert ist, aber doch sehr schön verdeutlicht, wie so etwas auszusehen hat.

Beispiel:


            32bit  ____   64bit
    A0-32   ___ __|    |------  A0-32
    68k Bus    Y  | 74 |        60X Bus
               \--| 646|------  A33-64
                  |    |
                   ŻŻŻŻ

Des Weiteren sieht man in der Beispielschaltung (PDF-Dokument), dass zur Steuerung der 74FTC543-Bausteine ein Mach210 eingesetzt wird. Auch diesen finden wir auf der CSPPC wieder.

Theoretisch müsste also der ganze Adressbus umgeschaltet werden. Was natürlich auch bedeutet, dass das ganze 68k-System dadurch hängen bleibt. Um das zu überprüfen, habe ich das System gestartet und einfach den Takt des PPC-Prozessors unterbrochen. Das Ergebnis war, dass tatsächlich alles anhielt inkl. Mauszeiger. Sobald der Takt wieder zugeführt wurde, lief das System weiter, als wäre nichts geschehen. Versucht man dasselbe im Early- Startup-Menü, passiert das nicht. Was bedeutet, dass es sich um ein separates Programm handelt, das nach dem Start des Rechners automatisch ausgeführt wird, um den Mach210 anzusteuern, der daraufhin umschaltet. Nur auf welchem Prozessor das Programm läuft, kann ich nicht genau bestimmen. Ich nehme aber an, dass es auf dem 68k-Prozessor läuft, da eine Task mit dem Namen "PPC Early-Startup" oder so ähnlich läuft.

Im 2. Teil lesen Sie dann:

Dirk Wenk <wax@topmail.de>

<< >>