Hallo, ich hatte vor einen 64KB Adressraum (Z80) auf 1MB zu erweitern, indem ich die 4 höchstwertigen bits der Adresse an einen 16x8 bit RAM anlege (ähnlich wie hier beschrieben: MMU). In der Theorie soweit kein Problem, aber es scheitert an den passenden Bauteilen: fast alle in frage kommenden Chips der 74er Reihe werden inzwischen nichtmehr hergestellt und sind nirgens erhältlich. Ich möchte möglichst auch keinen wesentlich größeren Chip benutzen, wo dann alles bis auf die ersten 16byte ungenutzt bleibt. Der einzige noch verfügbare Chip in der Richtung den ich bis jetzt gefunden hab, ist der 74HC 670 (4x4bit register file) und die getrennten Daten Ein- und Ausgänge vereinfachen sogar die Ansteuerung, allerdings wären 8 davon + Kontrollschaltung für die 16x8bit nötig, doch etwas zu viel. Hat jemand Ideen/Vorschläge, wie sich das möglichst elegant umsetzen lässt?
Nicht wirklich das was ich gesucht hab. Zumindest wüsste ich nicht, wie ich das damit umsetzen sollte (Anhand der Adresse verschiedene Chips auswählen kann ich damit, aber es fehlt das eigentliche Problem: die Tabelle um die logische Adresse in eine physikalische umzusetzen.)
Hallo, sollte es für deinen Zweck nicht einfacher sein die zusätzlichen Adressbits über OUT .. an einen Treiber mit Latch auszugeben, und so verschiedene Pages zu realisieren. Sascha
Die übliche Methode ist ein CPLD, z.B. GAL20V8 als Adreßdekoder. Damit wird alles in 32kB-Häppchen aufgeteilt. Die unteren 32kB bleiben immer gleich, für Stack, Interrupts usw. Und in die oberen 32kB wird dann über ein IO-Register eines der restlichen Häppchen eingeblendet. Man muß also vor jedem Zugriff auf die oberen 32kB immer erstmal die richtige Page auswählen. Es könnte allerdings schwer werden, nen C-Compiler zu finden, der Banking überhaupt unterstützt. Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.