-
Mikrocomputer
-
Stand der Technik Die Erfindung geht aus von einem Verfahren und Vorrichtung
nach der Gattung des Hauptanspruchs. Es ist bereits allgemein bekannt, Mikroprozessorbausteine
mit einer Wortbreite von 16 Bit mit Speicherbausteinen zu verknüpfen, die eine geringere
Bitzahl aufweisen, beispielsweise Speicherbausteine mit 4 oder 8 Bit. Damit nunmehr
die Daten vollständig abgeepeichert oder gelesen werden können, werden bei den bekannten
Schaltungsanordnungen soviele Bausteine in Reihe geschaltet, so daß das vom Mikroprozessor
einzulesende Datenwort aus den verschiedenen Speichern gleichzeitig entnommen werden
kann. Finden beispielsweise 8-Bit-Speicher Verwendung, so bedient der eine Speicher
die untere Datenbushälfte, während der andere die obere Datenbushälfte bedient.
Bei den heutigen Mikroprozessorsystemen werden die Daten und die Adressen im Multiplexverfahren
über einen Datenbus übertragen. Die Adressen müssen daher in sogenannten Latches
zwischengespeichert werden, bis die Daten aus den beiden Datenbausteinen ausgelesen
sind. Solchermaßen aufgebaute Schaltungen erfordern einen hohen Verdrahtungsaufwand
und
eine Vielzahl von Speicherbausteinen, selbst dann, wenn die abgespeicherten Programme
nur kurz sind.
-
Die Speicherbausteine, beispielsweise PROMs oder EPROMs müssen getrennt
codiert werden, so daß bei Änderungen jeweils zwei Speicherbausteine zu verändern
sind, was die Kosten für ein Gerät in die Höhe treibt, insbesondere, wenn neue Masken
zu erstellen sind.
-
Vorteile der Erfindung Das erfindungsgeäße Verfahren mit den kennzeichnenden
Merkmalen des Hauptanspruchs hat demgegenüber den Vorteil, daß nur ein Speicherbaustein
verwendet werden muß.
-
Hierdurch verringert sich der Verdrahtungsaufwand. Vorteilhaft ist
auch, daß bei einer Änderung von Daten oder Programmen nur ein Speicherbaustein
umprogrammiert werden muß. Günstig ist es schließlich, daß sich der gesamte Schaltungsaufwand
auf Latches und einige wenige zusätzliche Bauelemente konzentriert, die leicht integrierbar
sind und als Option bereits im Mikroprozessor realisierbar sind. Auf diese Art und
Weise ist eine gute Aufwärts- und/oder Abwärtskompatibilität zwischen Mikroprozessor
und Speicherbausteinen gegeben.
-
Durch die in den Unteransprüchen aufgeführten Maßnahmen sind vorteilhafte
Weiterbildungen und Verbesserungen des im Hauptanspruch angegebenen Verfahrens möglich.
Damit die Datenzugriffszeit für beide Speicherplätze gleich ist, ist es zweckmäßig,
das Adresssignal so zu schalten, daß während der Speicherzugriffszeit für jeden
Adressaufruf etwa die gleiche Zeit zu Verfügung steht. Dadurch wird
erreicht,
daß ein sicheres Übertragen der Daten gewährleistet ist. Günstig ist es auch, nur
das niederwertigste Adresssignal umzuschalten. Hierdurch wird die Aufrufzeit verkürzt,
und es können die vom Mikroprozessor abgegebenen Signale verwendet werden, um die
Adreßsignalumschaltung zu erzielen. Die benötigten Zykluszeiten zum Umschalten sind
dann besonders gering. Zur Realisierung des Verfahrens ist es besonders günstig,
wenn die zuerst abgerufenen Daten in Latches zwischengespeichert werden und mit
den zuletzt abgerufenen Daten gemeinsam zum Mikroprozessor geführt werden. Diese
Maßnahme bedingt einen besonders geringen Schaltungsaufwand und keine zusätzliche
Programmierarbeit, da die Daten am Datenbus geschlossen anliegen und nach Ablauf
der Speicherzugriffzeit in die Recheneinheit übernommen werden. Die Umschaltung
der niedrigstwertigen Bits erfolgt zweckmäßigerweise durch Flip-Flops, die von Steuersignalen
des Mikroprozessors geschaltet sind. Dadurch wird die Realisierung besonders einfach,
zusätzliche Steuersignale werden nicht benötigt.
-
Zeichnung in Ausführungsbeispiel der Erfindung ist in der Zeichnung
dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigen Figur
1 ein Schaltungsbeispiel nach der Erfindung und Figur 2 ein Impulsdiagramm zur Erläuterung
der Funktionsweise der Schaltung nach Figur 1.
-
Beschreibung des Ausführungsbeispiels Figur 1 zeigt mit 1 einen Mikroprozessor,
der als 16-Bit-Mikroprozessor ausgebildet ist. Solche Mikroprozessoren sind beispielsweise
unter der Bezeichnung 8096 von der Firma Intel erhältlich. Dieser Mikroprozessor
weist einen 16-Bit-Datenbus auf, der in der Figur in zwei Datenbusse 2 und 3 aufgespalten
ist. Der Datenbus 2 führt die Leitungen 8 bis 15, der Datenbus 3 die Leitungen 0
bis 7. Über die Datenbusse 2 und 3 werden im Multiplexverfahren sowohl Daten als
auch Adressen übertragen. An den Datenbus 2 ist ein Latch 5 angeschlossen, während
der Datenbus 3 zu einem Latch 4 führt. Zwischen dem Datenbus 2 und 3 ist ein Latch
6 angeordnet. Der Datenbus 2 und der Datenbus 3 stehen nunmehr über die Latches
4 und 5 mit Adresseingängen eines Speichers 7 in Verbindung. Als Speicher ist beispielsweise
der integrierte Schaltkreis 27256 der Firma Intel zu verwenden. Von dem Speicher
7 führen Datenleitungen DO bis D7 sowohl zum Datenbus 3 als auch zum Latch 6. Vom
Mikroprozessor 1 führen Schaltleitungen zu einem aus den Flip-Flops 8 und 9 bestehenden
Schaltnetzwerk, durch das das niedrigste Bit AO des Adresseingangs eines Speichers
7 umschaltbar ist. Im einzelnen steht die Leitung CLK mit dem Takteingang des D-Flip-Flops
8 in Verbindung und über einen Inverter 11 mit dem Takteingang des D-Flip-Flops
9. Die Leitung RD ist mit einem Eingang OE des Speichergliedes 7 verbunden und führt
andererseits zu einem Eingang eines ODER-Gliedes 10.
-
Die Leitung ALE führt über einen Inverter 12 zum Rücksetzeingang des
Flip-Flops 9. Der Ausgang Q des Flip-Flops 9 führt sowohl zu einem weiteren Eingang
des ODER-Gliedes 10 als auch zu einem Rücksetzeingang des Flip-Flops 8.
-
Der Ausgang des ODER-Gliedes führt zum Readyeingang des Mikroprozessors
1. Die Enableeingänge der Latches 5 und 4 sind mit der Leitung ALE verbunden, während
der Enableeingang des Latch 6 mit der Adresseingang AO verbunden ist.
-
Die Beschreibung der Funktionsweise des Ausführungsbeispiels nach
Figur 1 ist auf das konkrete Beispiel des Mikroprozessors 8096 von Intel abgestellt.
Die Funktionsweise der Taktsignale CLK (Clock), RD (Read), ALE (Adress-Latch-Enable)
und Ready sind durch den speziellen Mikroprozessortyp festgelegt. Jedoch beschränkt
sich die Schaltungsanordnung nicht auf diesen Mikroprozessortyp. Durch eine andere
logische Verknüpfung der Flip-Flops 8 und 9 ist es möglich, das Schaltnetz an jeden
beliebigen Mikroprozessor anzupassen. Die Funktionsweise der Schaltungsanordnung
sei anhand des Diagramms nach Figur 2 naher erläutert. Soll vom Speicherglied 7
ein Datenwort in den Mikroprozessor 1 gelesen werden, so geschieht dies im Rahmen
eines Speicherzugriffs während einer Speicherzugriffszeit. Diese Speicherzugriffs
zeit ist in Figur 2 durch strichlierte Linien gekennzeichnet. Mit der negativen
Flanke eines Taktimpulses CLK, der vom Mikroprozessor abgegeben wird, wird auf den
Bus 2 und 3 ein 16-Bit-Wort ausgegeben, das die Adresse für die Speichereinheit
7 darstellt. Diese Adresse wird in Latches 4 und 5 gespeichert, da zu diesem Zeitpunkt
das Signal ALE eine logische 1 hat. Das Signal RD hat eine logische 1, so daß gekennzeichnet
ist, daß zu diesem Zeitpunkt keine Daten lesbar sind. Mit Beginn des nächsten Taktimpulses
müssen die Adressen in den Latches 4 und 5 abgelegt sein und am Speicherglied 7
anstehen, denn mit Beginn des nächsten Taktes wird auf Lesen umgeschaltet, was sich
dadurch bemerkbar macht,
daß das Signal RD vom Mikroprozessor auf
0 gesetzt wird. Über die Datenleitung DO bis D7 werden nunmehr die 8 Bit des ersten
Speicherplatzes des Speichergliedes 7 ausgelesen und in das Latch 6 eingeschrieben.
Dies geschieht deshalb, da zu diesem Zeitpunkt das niedrigstwertige Byte der Adresse,
AO, eine logische 1 aufweist.
-
Die Flip-Flops 8 und 9 sind mit den Invertern 11 und 12 und den ODER-Gliedern
so geschaltet, daß nach Ablauf von in etwa der Hälfte der Speicherzugriffszeit das
niedrigstwertige Bit AO umgeschaltet wird. Durch die logische 0 von AO wird nunmehr
das Latch 6 gesperrt, so daß es keine weiteren Daten aufnehmen kann. Weiterhin wird
dadurch eine andere Adresse im Speicher 7 aufgerufen, so daß deren Daten am Datenbus
DO bis D7 zur Verfügung stehen. Nach diesem Vorgang liegen daher am Datenbus 2 die
im Latch 6 eingespeicherten Daten an, während am Datenbus 3 die am Speicherausgang
anliegenden Daten zu Verfügung stehen. Zum Ende der Speicherzugriffszeit werden
durch den Mikroprozessor 1 die an den Datenbusleitungen 2 und 3 anstehenden Daten
als 16-Bit-Wort übernommen und weiter verarbeitet. Durch die in Figur 1 gezeigte
Einrichtung ist es daher möglich, durch den Aufruf zweier benachbarter Adressen
im Speicherglied 7 aus einem 8-Bit-Speicher eine 16-Bit-Information zu holen und
dem Mikroprozessor 1 zur Verfügung zu stellen. Als Zykluszeit wird hierbei eine
Zeit von 3 Zyklen benötigt, wie dies der Figur 2 zu entnehmen ist. Das Signal Ready
dient im wesentlichen dazu, die vorgegebene Zykluszeit von 2 Zyklen für die Speicherzugriffszeit
um einen Zyklus zu verlängern, um für die notwendigen Operationen die nötige Zeit
zur Verfügung zu haben. Es ist ohne weiteres ersichtlich, daß das gleiche Verfahren
mit einem allerdings etwas höheren Aufwand auch für andere Konfigurationen einsetzbar
ist.
-
So sind beispielsweise 32-Bit-Mikroprozessoren ebenfalls mit 8-Bit-Speichern
zu verknüpfen, wobei jedoch dann drei Latches zur Zwischenspeicherung verwendet
werden müssen und zwei Adressbits zu ändern sind, um die nötigen 4 Zugriffe zum
Speicher zu bewerkstelligen. Die aufgezeigte Schaltung ist ohne weiteres dann zu
übernehmen, wenn ein 32-Bit-Mikroprozessor mit 16-Bit-Speichern betrieben werden
soll.
-
Durch die gezeigte Schaltungsanordnung ist es möglich, mittels eines
einzigen Speicherbausteins eine Recheneinheit zu betreiben, obwohl die Recheneinheit
eine größere Bitbreite aufweist. Dadurch ist es möglich, sich die schnelle Datenverarbeitung
der höher integrierten Mikroprozessoren zunutze zu machen, ohne dabei bei den Speicherbausteinen
einen größeren Aufwand betreiben zu müssen. Dadurch wird nicht nur der Verdrahtungsaufwand
auf der Leiterplatte verringert, sondern auch bei der Programmierung ergeben sich
Vereinfachungen und Erleichterungen, da ein Ändern von Daten und Programmen nur
auf einem Speicherbaustein ausgeführt werden muß.