Forum: Mikrocontroller und Digitale Elektronik Bauteile für einfache MMU gesucht


von Eric (Gast)


Lesenswert?

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?

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

74LS138
74HC138

von Eric (Gast)


Lesenswert?

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.)

von Sascha (Gast)


Lesenswert?

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

von Peter D. (peda)


Lesenswert?

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
Noch kein Account? Hier anmelden.