Navigation
« 

Anonymous




Register
Login
« 
« 

Amiga Future

« 

Community

« 

Knowledge

« 

Last Magazine

The Amiga Future 167 was released on the March 5th.

The Amiga Future 167 was released on the March 5th.
The Amiga Future 167 was released on the March 5th.

The Amiga Future 167 was released on the March 5th.
More informations

« 

Service

« 

Search




Advanced search

Unanswered topics
Active topics
« 

Social Media

Twitter Amigafuture Facebook Amigafuture RSS-Feed [german] Amigafuture RSS-Feed [english] Instagram YouTube Patreon WhatsApp
« 

Advertisement

Amazon

Patreon

« 

Partnerlinks

Erweiterung der CyberstormPPC um ZIF-Sockel

Description: Amiga Aktuell Ausgabe 3,4/2001

Categories: [DE] Workshops

Link to this article: Select all

[url=https://amigafuture.de/app.php/kb/viewarticle?a=1683&sid=0d56f4da2c0becd738619ecefbaf0d05]Artikeldatenbank - Erweiterung der CyberstormPPC um ZIF-Sockel[/url]

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:

Code: Select all

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:

Was passiert, wenn die PPC-Switch-Programme beendet werden? Schaltet der PPC um?

Welche Signale werden wo gebraucht?

Stimmt das Timing durch Einsatz der Pegelanpassung?

Welche Signale werden vom PPC-Prozessor gebraucht?

Welche Unterschiede gibt es zwischen den Prozessoren? Vom 604 bis zum 7450EC!

Und weitere Sachen, die mir noch einfallen werden :)


Dirk Wenk



Erweiterung der CyberstormPPC um ZIF-Sockel - Teil 2 (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!

.......Teil 2

So, da sind wir wieder mit unserem Workshop, der hiermit sein noch offenes Ende finden wird ... (leider). Übrigens entsteht dieser Text in der S-Bahn Richtung MG. Mobil auf einem Palm mit Tastatur! Das nur so am Rande ;)

Aber nun weiter im Text.

In der Zwischenzeit haben mich ein paar sehr interessante Emails zu diesem Projekt erreicht und ich möchte diesen Personen nochmals herzlich dafür danken.

Wie schon gesagt gibt es 2 Möglichkeiten, die neue CPU anzuschließen:

1. Wir entfernen den originalen Prozessor und verbinden die Leitungen mit unserer ZIF-Platine

oder

2. Wir entwerfen eine Karte, die wir in den Erweiterungsport der CSPPC stecken können. Zu Letzterem fehlen mir allerdings die Informationen, sodass ich dort nicht weiter komme. Allerdings wäre folgendes auch sehr nett:

Wir nehmen eines dieser neuen PCI-Erweiterungsboards mit Steckplatz und stecken dort eine vom Mac bekannte G3/G4 Karte ein.

Vorteil: Weniger Entwicklungskosten, stabiler Halt und keine Eingriffe in die CSPPC-Hardware.

Nachteile: Man muss eine Anpassung des PowerUp/WarpUp-Treibers vornehmen, damit diese CPU richtig angesprochen werden kann. Und natürlich muss man erst mal so eine Karte finden, auf der der PPC Prozessor nicht fest aufgelötet ist! Klingt irgendwie wie nach der SharkPPC? Ja, und es besteht auch kein so großer Unterschied.

Seit der 604-CPU wurden bei der neuesten Prozessor-Generation neue Anschlüsse dazugetan, aber auch einige wieder eingespart bzw. verändert. Zum einen kommen die L2-Cache-Leitungen dazu. Aber zum Glück brauchen wir uns darum keine Sorgen zu machen, da auf dem ZIF- Board bereits alles richtig mit dem dazu gehörigen Cache installiert ist. Aber die weggelassenen Signale könnten Probleme bereiten. Es sind davon so interessant klingende Signale wie "Halt", "Stop" und "Databus Ready" betroffen!

Dazu kommt noch die Ungewissheit, welche Leitungen auf der 604-CPU überhaupt in Gebrauch sind!

Aber nun weiter zu dem Problem der Pegel-Anpassung.

Wie man aus den PDF-Dateien (auf Anfrage) zu den 74xxx234 Chips entnehmen kann, gibt es schnelle und langsamere und die Operationsspannung ist auch variabel. Allerdings ist die Ausgangsspannung nie höher als die Versorgungsspannung. Na... ahnt ihr schon, worauf ich hinaus will? Genau ... zum Datenempfang schalten wir die 74er Bauteile einfach runter auf 3,3 Volt und umgekehrt zurück auf 5 Volt!

Allerdings ist das wieder viel Fummelarbeit, so viele 74er Chips neu zu verdrahten. Und dann fehlen uns natürlich noch die Adressleitungen. Habt ihr schon mal gesehen, wie seltsam die 74er Chips zwischen den beiden SIMM-Sockeln miteinander verbunden sind? Vom Ausgang des ersten Chip an den Eingang des zweiten Chip und von dessen Ausgang an den Eingang von Chip 3. Was genau das jetzt bezwecken soll, weiß ich leider auch nicht. Aber vielleicht fällt euch etwas dazu ein ...? (Ich warte auf eure Mail :)

Jetzt kommen wir zum Anschließen des ZIF-Sockels. Wenn wir uns die Infos zum ZIF-Sockel ansehen, werden wir feststellen, dass sogar die Pin-Belegung fast identisch ist mit der des 60x-Busses. So können wir recht einfach diesen Sockel anschließen. Wir müssen nur die Pins von der CSPPC-Seite mit denen des ZIF-Sockels vergleichen und anschließen. (Aber die Pegel-Anpassung nicht vergessen!).

Der einzige Unterschied ist, dass wir beim ZIF-Sockel noch ein paar Pins übrig haben, die zum Einstellen der MHz-Zahl da sind. Wenn wir also auf unserer Adapterplatine einen Dip-Schalter installieren bzw. einen elektrischen Schalter, der dann vom ZIF-Board aus angesteuert wird, so können wir die MHz-Zahl bzw. die Takt-Teilung einstellen. Wichtig für kommende ZIF-Karten ist die Verfügbarkeit auch von hohen Teilern, da die mögliche Busfrequenz auch immer mehr ansteigt.

Bei den heutigen Prozessoren sind Busgeschwindigkeiten von 33 MHz bis 133 MHz möglich. Und je höher die Busgeschwindigkeit, um so höher auch der Speicherdurchsatz. Leider sind wir aber auf Grund der CSPPC-Architektur und dem verwendetem Speicher auf max. 75 MHz beschränkt. Obwohl mir auch von Leuten berichtet wurde, die den Bus auf 80 MHz getrieben haben, und zwar durch den Einsatz von leider recht seltenen 50-ns-Speicherbausteinen. Natürlich muss man bei einer solchen Extrembelastung ordentlich kühlen.

Fassen wir nun noch mal alle Möglichkeiten zusammen, damit wir uns nicht verirren.

1. Möglichkeit: Wir entfernen die 604-CPU, verbinden alle Anschlüsse mit unserer Adapterplatine, von wo aus die Signale durch Bausteine zur Pegelanpassung auf 3,3 Volt und umgekehrt angepaßt werden (übrigens brauchen wir auf das Timing auf Grund der sehr schnellen Pegelanpassung von ca. 2,2 ns bei diesen Bausteinen nicht zu achten). Von der Pegelanpassung aus geht es direkt zum ZIF-Sockel. Zusätzlich installieren wir noch die Stromversorgung.

Dazu noch ein Tipp: Sollte man einen guten, starken Chip installiert haben, der wohl die gewünschte Leistung jedoch mit zuviel Volt liefert, kann man am einfachsten die Spannung durch in Reihe geschaltete Dioden senken. (Dieser Tipp stammt übrigens von der Motorola-Seite im Internet http://www.mot.com). Hat man zum Beispiel eine Core-Spannung von 2,7 Volt, aber der Spannungs-IC liefert 3,3 Volt, so schließen wir dazwischen eine Diode an und schon haben wir durch den Spannungsabfall an der Diode (0,7 Volt bzw. 0,5 Volt je nach Typ) unsere gewünschte Spannung. Übrigens sollte man beachten, dass die Core-Spannung in letzter Zeit immer weiter abnimmt. Waren es am Anfang noch 3,3 Volt Core-Spannung (060 und 603/604) sind es heute nur noch 1,8 Volt!

Jetzt, da wir die Spannung haben, fehlt nur noch die Einstellung des Bustaktes, die wir mit einem Dip-Schalter schnell erledigt haben. In der ZIF-PDF-Datei ist genau beschrieben, wo diese Schalter anzuschließen sind.

Was jetzt noch zu tun ist, sollte nicht mehr so schwer sein.

Prozessorkarte in den ZIF-Sockel und einschalten (Finger kreuzen nicht vergessen!)

2. Möglichkeit: Wir erledigen einen Teil der Pegelanpassung durch Ändern der Versorgungsspannung der 74er-Bausteine auf der CSPPC. Der Rest dürfte dann mit nur einem Pegelanpassungs-Chip zu erledigen sein wie bei Lösung Nummer 1. Zu beachten ist allerdings, dass, sobald die Signale nicht zur PPC wandern, der Pegel in Richtung 68k wieder auf 5 Volt gesetzt wird. Aber Vorsicht, nicht für die 74er-Bausteine, die jetzt die Signale für die PPC-CPU gespeichert haben! Realisieren könnte man das durch die "Databus Ready"-Signale des PPC-Prozessors (ohne Gewähr). Allerdings weiß ich nicht genau, wie das funktionieren kann. Der Rest bleibt allerdings gleich wie bei Lösung Nummer 1.

Bei der 3. Lösung nehmen wir nicht mehr die Signale direkt von den empfindlichen Kontakten der CSPPC-Karte, sondern vom Erweiterungsanschluss der CSPPC.

Dort sollten jedenfalls alle wichtigen Signale anliegen, die wir brauchen. Die ein oder zwei Signale, die dort nicht anliegen, können wir dann immer noch direkt von der Platine abnehmen. Und unsere Adapterplatine können wir bei dieser Lösung dann auch direkt in diesen Erweiterungssteckplatz einstecken. Das bedeutet mehr Stabilität. Leider weiß ich nicht, wie der Bus dort beschaltet ist. Aber das hatte ich ja schon erwähnt.

Nun kommen wir zur 4. und einfachsten Lösung: Wir nehmen einfach einen PCI-Board-Adapter, den wir in den Erweiterungsslot einbauen, um darauf die PCI-G4-Karten, wie sie vom Mac her bekannt sind, einzusetzen. Ein großer Vorteil hierbei ist wie anfangs schon mal erwähnt, dass wir die Bastelei sparen, allerdings brauchen wir dann angepasste Treiber, um diese CPU überhaupt ansprechen zu können (wie bei der SharkPPC, wo dann auch Treiber nötig sind). Darüber hinaus kann es von Vorteil sein, wenn man diese Karte mit eigenem Speicher bestücken kann. Hier sei nur die Begrenzung der Busgeschwindigkeit auf der CSPPC erwähnt. Allerdings sind hierbei auch die meisten PPC-Prozessoren nicht in einem ZIF-Sockel untergebracht, sondern sind direkt fest aufgelötet.

Wenn ihr noch mehr Infos braucht, schreibt mir einfach.

Besonders enttäuschend sind manche PPC-Programme, wenn man sieht, dass ihre PPC-Leistung schlechter ist als bei einem 060 Prozessor. Und das nur, weil die Software nicht optimiert ist. Bestes Beispiel ist hier wohl die PPC-Version von LHA!

Daran merken wir, dass Prozessor-Speed allein nicht ausreicht, um wirklich schnell zu sein!

Da ich beruflich viel zu tun habe, werde ich die Weiterentwicklung dieses Projektes leider auf unbefristete Zeit einstellen müssen. Im Moment ist der Job einfach wichtiger als private Hobbys, ich hoffe ihr versteht das. Allerdings würde ich mich freuen von euch zu hören, wie ihr diese Dinge vorantreibt ... falls jemand Lust hat weiterzumachen. Alle Dokumente, die ich habe, sende ich euch gerne zu.

Die Dateien bestehen überwiegend aus PDF-Dateien. Die interessantesten stammen natürlich von der www.mot.com-Seite ;)

Dirk Wenk