|
Pufferplatine für PAK68/3 und Panther/2
|
Was ist eine Pufferplatine? |
Die Pufferplatine, auch nur kurz PuPla
genannt, trennt den PAK-Bus vom Mainboardbus ab. Dabei wird
der komplette Adress- und Daten-Bus, sowie einige Steuersignale
gepuffert.
|
Wozu brauche ich eine Pufferplatine? |
Es gibt zwei Hauptgründe für
eine Pufferplatine:
Stabilitätsprobleme
|
-
unvorhersehbare (auch unter Umständen häufigere)
Abstürze; einfach so oder nachdem der PAK-Takt
erhöht wurde, eine FRAK/? hinzugekommen ist, nach
längerem Betrieb oder erhöhten Umgebungstemperaturen,
nachdem der Mainboardtakt erhöht wurde
-
11-Bomben-Abstürze in Programmen mit
FPU-Unterstützung
-
Probleme im DMA-Bereich
|
Panther/2 und Netzwerkkarte
(nur PuPla/2)
|
Der Panther/2-ISA-Adapter enthält lediglich die
ISA-Interruptlogik, kann also nur einen anliegenden
ISA-Interrupt melden, aber nicht auf dem Mainboard
auslösen. Die neue PuPla/2 enthält nun die
nötige Schaltung, um einen Mainboard-Interrupt
auszulösen und den ausgelösten Interrupt
zu quittieren. Der Busadapter des Panther/2
kann das leider nicht alles selbst übernehmen,
weil die nötigen Leitungsunterbrechungen nicht auf
der Platine vorhanden sind. Wären diese
Unterbrechungen vorhanden, könnte man den Busadapter
des Panther/2 aber nicht mehr als Aufstecklösung
auf einen DIL-68000er Prozessor verwenden, wenn man die
CPU nicht auslöten will. Außerdem ist die
Logikkapazität der GALs auf dem Busadapter des
Panther/2 dafür nicht mehr ausreichend.
|
|
Technisches: Hintergrund der Stabilitätsprobleme |
Die PuPla wurde entwickelt um zwei
grundsätzliche Probleme einer PAK mit dem (langsamen)
Mainboard zu beheben:
-
Buslast
Da die CPU der PAK, wie alle Prozessoren auch, eine relativ
geringe Treiberleistung hat, wirkt sich die erhöhte
Last auf den Adress- und Datenleitungen (PAK-Peripherie,
optionale FRAK/? und Mainboard) nachteilig auf die
Erwärmung des Chips aus. Dazu kommt noch, daß
die CPU bei höheren Takten sowieso schon
größeren thermischen Belastungen ausgesetzt ist.
Irgendwann wird es dann einfach zu warm, und der
Rechner stürzt ab.
-
Timingprobleme
Die PAK kennt zwei grundsätzlich verschiedene Buszyklen:
-
lokale Buszyklen, die nur PAK-intern ablaufen, von
denen also im besonderen das Mainboard nichts
mitbekommt, und
-
Mainboardzyklen, bei denen Daten vom Mainboardbus
gelesen oder auf den Mainboardbus geschrieben werden.
Dabei sind die Daten- und Adressbusse aber identisch, das
Busprotokoll wird lediglich über einige Steuersignale
abgewickelt. Deshalb kann es bei den Mainboardzyklen zu
einem Problem kommen, wenn Daten aus dem Mainboard gelesen
wurden und direkt anschließend ein lokaler PAK-Zyklus
folgt. Die PAK gibt nämlich sofort nach dem (für
sie abgeschlossenen) Mainboardzyklus wieder "Gas",
um keine Zeit zu verlieren. Es kann nun passieren - gerade
bei höheren PAK-Takten - daß die Bustreiber des
(langsamen) Mainboards noch eingeschaltet sind, wenn der
lokale PAK-Zyklus beginnt. Das Mainboard stört damit
also den Datentransfer auf der PAK. So kann es zu einem
Absturz kommen (in der Regel 2-4 Bomben); falls der PAK-Zyklus
ein FPU-Befehl war, gibt es die berüchtigten 11-Bomben,
das heißt das FPU-Problem ist ein Sonderfall des
Mainboardtiming-Problems.
Um diese beiden Probleme in den Griff
zu bekommen, wurde die Pufferplatine entwickelt. Zum einen
entlastet sie die CPU, weil sie wie ein Verstärker der
Bussignale wirkt, zum anderen entkoppelt die PuPla den
PAK-Bus vollständig vom Mainboardbus. Nach einem
Mainboardzyklus schließt die PuPla einfach ihre
"Tore" und so kann das Mainboard nicht mehr den
PAK-Bus beeinträchtigen.
|
PuPla/1, PuSTE und PuPla/2 |
Es gibt mittlerweile drei Versionen
der Pufferplatine:
-
Die PuPla/1, welche jetzt nach Erscheinen der neuen
Pufferplatine den Zusatz "/1" bekommen hat,
um sie besser unterscheiden zu können. Diese erste
Version der Pufferplatine wurde noch von MW electronic
produziert und ist mit DIL-Treiber-ICs und einem 16v8-GAL
bestückt. Leider sind die frühen Logikgleichungen
der PuPla/1 noch nicht so gut gewesen, wie sie hätten
sein können. Auch die Platinenqualität ließ
streckenweise zu wünschen übrig, so daß
hier leider häufig so große Probleme auftraten,
daß der Einsatz einer PuPla/1 keine Besserung brachte.
Mittlerweile ist aber auch die PuPla/1 mit der aktuellen
GAL-Gleichung und den zugehörigen Modifikationen zu
einem brauchbaren Hilfsmittel geworden.
-
Die PuSTE ist eine Spezialversion der PuPla/1, die einen
integrierten PLCC-DIL-Adapter besitzt, so daß der
Einsatz in den "E"-Modellen der ST-Serie ohne
einen separaten CPU-Bauformadapter möglich ist. Die
PuSTE wurde von Robert Rohlfing ebenfalls für MW
electronic entwickelt und hat sogar ein paar kleine Vorteile
gegenüber der PuPla/1, da sie ein 20v8-GAL zur
Steuerung besitzt. Aber auch hier sind noch DIL-Treiber-ICs
verwendet worden und um eine Möglichkeit zu schaffen,
die Platine im Rechner (MSTE) anschrauben zu können,
ist die Platinengröße recht beachtlich
ausgefallen. Leider hat die PuSTE aber trotz Verschraubung
meistens so immense Kontaktprobleme im PLCC-Sockel des
Mainboards, daß mit der PuSTE in den meisten
Fällen kein befriedigendes Ergebnis erzielt wird.
Deshalb raten wir bei Verwendung eines Mainboards mit
PLCC-CPU-Sockel zu einer Radikalkur: Entfernen des Sockels,
einlöten von SIL-Sockelstreifen und Verwendung eines
PLCC-DIL-Adapters mit IC-Adapterstiften (Vorsicht!
Dieser Umbau sollte aber nur von erfahrenen
Lötkolbenakrobaten durchgeführt werden!).
-
Die PuPla/2 ist eine komplette Neuentwicklung auf der
Basis der PuPla/1. Die CPU-Bauform ist auch hier wieder
DIL. Aber die Bestückung erfolgt in SMD-Technik,
lediglich die beiden 20v8-GALs liegen in DIL-Bauform vor.
So ist eine erstaunlich kleine Platine entstanden: die
PuPla/2 ist nur knapp größer als ein DIL-68000er
Prozessor! Auch die Platinen sind wie schon beim Panther/2
und GABI in der gewohnten, ausgezeichneten Qualität der
Jenaer Leiterplatten GmbH (die übrigens auch das Milan-Mainboard
fertigen). Aber es hat sich nicht nur mechanisch etwas getan,
auch "unter der Haube" ist einiges passiert. So
hat die PuPla/2 jetzt zwei 20v8-GALs, eines für die Steuerung
der Pufferfunktionen und eines für die Interruptlogik. So ist
es jetzt möglich geworden, das Adresslatch der PuPla/2,
anders als bei der PuPla/1, über einen Mainboardzyklus
hinaus bis zum nächsten Mainboardzyklus zu halten. Die
PuPla/1 hat zwischen zwei Mainboardzyklen die Adressleitungen
nicht gelatched gehalten (für die nicht-Elektrotechniker:
"latchen" nennt man den Vorgang ein Signal, das durch einen
Treiber geleitet wird, "festzuhalten", so daß es nicht mehr
auf Änderungen am Treibereingang reagiert sondern konstant
bleibt). So sind die Adresswechsel der lokalen PAK-Buszyklen
auch im Mainboard "zu sehen" gewesen. Dieses Verhalten führt
natürlich durch die völlig überflüssigen
Signalwechsel zu ebenso überflüssigen Störungen im
Mainboard. Die PuPla/2 stellt diesen Zustand nun ab. Weiterhin ist an
Neuerungen zu verzeichnen, daß die PuPla/2 nun komfortabel
über Jumper konfiguriert wird. Auch das vom Panther/? kommende
Signal "vadr", das nötig war, wenn
eine PuPla/1 unter dem Panther/? betrieben wird, ist bei der
PuPla/2 nicht mehr nötig. Hier wird nun einfach über einen
Jumper der PuPla/2 eingestellt, ob ein Panther/? ober- oder
unterhalb der PuPla/2 arbeitet. Der Betrieb nur mit 68000er-CPU
ist nun ebenfalls möglich, um die Interruptbestätigungslogik
für den Panther/2 und Netzwerkkarten auch den Nutzern ohne
PAK zur Verfügung zu stellen.
|
|
Zuletzt geändert am 08.03.2007, RS
|