WikiDer > Bankwechsel

Bank switching
Speicherkarte für hypothetische 64k bankumgeschaltet System, bei dem verschiedene Speicherbänke für verschiedene Benutzer verwendet werden

Bankwechsel ist eine Möglichkeit, einen Prozessor dazu zu bringen, mehr Speicher als den Wortbreite des Adressfeld kann adressiert werden. Konzeptionell wird der gesamte vorhandene Speicher in zwei oder mehr Teile (Speicherbank), die einzeln ausgewählt werden können.

Ein Prozessor mit einem 16-Bit-Adressbus (z. B. a Z-80) kann maximal 64 kB Speicher adressieren, was 65536 Speicherzellen entspricht. Da dies in manchen Fällen zu wenig ist und ein Prozessor mit mehreren Adressleitungen nicht verfügbar oder zu teuer ist, können mit zusätzlicher Hardware eine (oder mehrere) zusätzliche Adressleitungen simuliert werden. Jede zusätzliche "Adresszeile" verdoppelt den Adressbereich.

Die zusätzlichen Adressleitungen können nicht direkt in eine interne Adresse kodiert werden, sondern erfordern einen I/O-Befehl, um die simulierte Adressleitung „hoch“ oder „niedrig“ zu machen. Diese Aktion wird Bankwechsel angegeben.

Vor-und Nachteile

Wie oben beschrieben, kann mit einem relativ kleinen Prozessor ein relativ großer Speicherbereich realisiert werden. Dies kann von Vorteil sein, wenn größere Prozessoren aufgrund ihrer Verlustleistung oder ihres Preises nicht eingesetzt werden können. Besonders der letzte Grund ist für Hobby-Computer, wie z ZX-81, das MSX oder der Philips P-2000 oft entscheidend und diese Technik findet sich relativ häufig in den mikroprozessorbasierten Hobbycomputern der 1980er Jahre.

Da die verschiedenen Bänke nicht gleichzeitig verwendet werden können und der Wechsel zusätzliche Anweisungen erfordert, ist das Verschieben von Inhalten von einer Bank zur anderen eine (relativ) zeitaufwändige Angelegenheit. Auch Daten oder Unterprogramme in einer Bank, nicht verfügbar für Prozesse, die eine andere Bank verwenden. Aus diesem Grund ist es üblich, auf diese Weise nicht den gesamten Speicherbereich zu adressieren, sondern nur einen Teil, damit ein Teil des Speichers für gemeinsame Daten und Routinen genutzt werden kann.

Der Hauptnachteil besteht jedoch darin, dass die verwendete Software speziell für die spezifischen BankwechselMechanismus, damit Portabilitätdh die Übertragbarkeit von Software von einem System auf ein anderes wird zum Problem.