-
Gebiet der
Erfindung
-
Die
Erfindung bezieht sich auf das Gebiet der Telekommunikation und
im Besonderen auf eine Paketvermittlungseinrichtung für eine Übertragung
von Daten in einem asynchronen Modus in einem digitalen Übertragungsnetz,
die im Besonderen in einem integrierten Datendienstnetz verwendet
werden kann, das für
die Übertragung
von Daten verschiedenen Ursprungs und bei sehr verschiedenen Durchsatzraten
konstruiert ist, wobei die verschiedenen Dienste in der Lage sind,
Datendurchsatzraten zu verwenden, die in einem breiten Bereich variieren. Ein
solches System ist allgemein als das "Breitband-ISDN-System" bekannt.
-
Der
asynchrone Übertragungsmodus
(ATM) ist durch Normenausschüsse
als eine grundlegende Transporttechnologie in vielen Digitalnetzprotokollstapelspeichern
von integrierten Breitbanddiensten gewählt worden. Eine Beschreibung
des standardisierten ATM-Telekommunikationskonzeptes kann in einer
Veröffentlichung
des ATM-Forums mit dem Titel "ATM
user-network interface specifications", 1993, veröffentlicht durch PTR Prentice
Hall, gefunden werden.
-
ATM-Vermittlungssysteme
sind erforderlich, um laufende Zählungen
der Zellen aufrecht zu erhalten, die auf jeder virtuellen Verbindung
verarbeitet werden. ATM-Vermittlungssysteme
speichern normalerweise auch Hinweise auf verschiedene Ereignisse,
die durch das Verarbeiten des Zellenflusses der virtuellen Verbindungen
detektiert werden. Die Zahl von virtuellen Verbindungen, die eine
einzelne physikalische Verbindung verwenden, beläuft sich typischer Weise auf
in die Zehntausende.
-
1 zeigt
ein ATM-Zellenverarbeitungssystem 100 nach dem Stand der
Technik, das über die
Chipauswahllogik 104 mit dem Verbindungsspeicher 102 gekoppelt
ist. Das ATM-Zellenverarbeitungssystem 100 umfasst
einen Mikroprozessor 106, der die Etablierung virtueller
Verbindungen über
die Eingangsleitungen 108 und die Ausgangsleitungen 110,
die mit dem ATM-Zellenverarbeitungssystem 100 gekoppelt
sind, steuert. Der Detektor 106 detektiert verschiedene
Ereignisse, während
er den Zellenfluss der virtuellen Verbindungen verarbeitet, wie z.
B. laufende Zählungen
oder andere Informationen, die für
Abrechnungszwecke benötigt
werden. Da es eine sehr hohe Zahl von virtuellen Verbindungen gibt, die
eine einzelne physikalische Verbindung verwenden, müssen die
durch den Prozessor detektierten Ereignishinweise und die laufenden
Zählungen
in dem Verbindungsspeicher 102, der als ein Schreib-/Lesespeicher
(RAM) organisiert ist, gespeichert und erhalten werden. Der Prozessor 106 verwendet
den Verbindungsspeicher 102 als seinen privaten Speicher.
Da eine einzelne physikalische Speicherkomponente nicht genug Speicherkapazität für alle die
Informationen hat, die durch den Prozessor 106 gespeichert
werden müssen,
wird der Verbindungsspeicher 102 in die vier Speicherbanken 110, 112, 114 und 116 aufgespaltet.
-
Die
Speicherbanken 110–116 sind über den Adressenbus 118 mit
dem Mikroprozessor 106 verbunden. Die Chipauswahllogik 104 ist
ebenfalls mit dem Adressenbus 118 verbunden. Der Einfachheit halber
wird der Datenbus, der für
Datenübertragungen
von dem Mikroprozessor 106 zu dem Verbindungsspeicher 102 und
umgekehrt in der Zeichnung nicht gezeigt. Die Chipauswahllogik 104 ist über die Bankauswahlleitungen 120, 122, 124 und 126 jeweils mit
den individuellen Speicherbanken 110, 112, 114 und 116 gekoppelt.
-
Wenn
der Mikroprozessor 106 auf den Verbindungsspeicher 102 zugreifen
möchte,
gibt er auf dem Adressenbus 118 eine 20 Bit breite Adresse aus.
Die Bitpositionen 0–17
auf dem Adressenbus 118 dienen direkt dazu, auf einen spezifischen
Speicherplatz in einem der Speicherbanken 110–116 zuzugreifen.
Alle Speicherbanken 110–116 empfangen über den
Adressenbus 118 die selbe Adresse. Die zwei signifikantesten
Bits, d. h. die Bitpositionen 18 und 19, des Adressenbus 118 werden
in der Chipauswahllogik 104 verwendet, um eine der Speicherbanken 110–116 auszuwählen, die
der Adresse der Zugriffsanfrage des hier berücksichtigten Mikroprozessors 106 entspricht.
-
Der
20 Bit breite Adressenraum, auf den durch den Mikroprozessor 106 zugegriffen
werden kann, wird in vier Abschnitte mit der selben Größe unterteilt.
Jeder Abschnitt des Adressenraums gehört zu einem der Speicherbanken 110–116.
Somit hat jeder Abschnitt des Speicherraums seine eigene Speicherbank.
Wenn die zwei signifikantesten Bitposi tionen 18 und 19 logisch "11" sind, bedeutet dies, dass
auf die Speicherbank 110, die den obersten Standort des
Speicherraums einnimmt, zugegriffen werden soll.
-
Als
eine Konsequenz hebt die Chipauswahllogik 104 die Bankauswahlleitung 120 an,
um die Speicherbank 110 freizugeben. Die anderen Bankauswahlleitungen 122, 124 und 126 verbleiben
logisch niedrig, so dass die entsprechenden Speicherbanken 112, 114 und 116 gesperrt
bleiben. Somit wird die Adresse, die sich auf dem Adressenbus 118 befindet,
durch die gesperrten Speicherbanken 112, 114 und 116 ignoriert,
während
die Bit-Positionen 0–17
der Adresse, die sich auf dem Adressenbus 118 befindet,
in der Speicherbank 110 verwendet werden, um auf einen
spezifischen Speicherplatz zu Lese- und/oder Schreibzwecken zuzugreifen.
Genauso werden, wenn durch den Mikroprozessor 106 auf andere
Abschnitte des Speicherraums zugegriffen wird, andere Speicherbanken
ausgewählt,
um Zugriffsoperationen durchzuführen.
-
Solche
Zugriffsoperationen können
nur ausgeführt
werden, wenn es in dem Zellenfluss ein "Loch" gibt.
Solche Löcher
in dem Zellenfluss werden in dem ATM-Zellenverarbeitungssystem 100 periodisch
zur Verfügung
gestellt. Dies wird durch Verarbeiten der ATM-Zellen in dem ATM-Zellenverarbeitungssystem 100 bei
einer Rate erreicht, die über
der Übertragungsrate
der physikalischen Eingangs- und Ausgangsleitungen 108 und 110 liegt.
-
Die
EP-A-0 320 772 offenbart ein Sortiermodul in einem ATM-Netzwerk,
in dem Daten in einem Speichermodul gespeichert werden.
-
"The IBM PS/2 From
the Inside Out",
Dezember 1990, Addison-Wesley, 12.1990 XP002023813 19406 offenbart
ein Da tenverarbeitungssystem, das Speicherbanken zum Speichern von
Daten verwendet.
-
Die
Erfindung ist darauf ausgerichtet, ein verbessertes ATM-Zellenverarbeitungssystem
und ein verbessertes Verfahren zum Zugreifen auf einen Verbindungsspeicher
eines solchen Systems zur Verfügung
zu stellen.
-
Zusammenfassung
der Erfindung
-
Die
Ziele der Erfindung werden grundsätzlich durch Anwenden der in
den unabhängigen
Ansprüchen
dargelegten Merkmale erreicht. In den abhängigen Ansprüchen werden
weitere bevorzugte Ausführungsformen
dargelegt.
-
Die
Erfindung erlaubt es, die Löcher
in dem Zellenfluss effektiver zu Erhaltungszwecken auszunutzen,
da die Zeit, die für
eine Zugriffsoperation von dem Mikroprozessor auf den Verbindungsspeicher benötigt wird,
verringert wird.
-
Die
Erfindung ist in sofern vorteilhaft, als sie erlaubt, einen Verbindungsspeicher
an ein ATM-Zellenverarbeitungssystem
ohne irgend eine Verbindungslogik zu koppeln. Da alles Decodieren,
um auf die Speicherbanken zuzugreifen, innerhalb des ATM-Zellenverarbeitungssystems
durchgeführt
wird, wird eine flexible Schnittstelle zur Verfügung gestellt, die die Beschränkungen
und Erfordernisse für
die externen Speicherkomponenten, die verwendet werden, um die Speicherbanken
zu realisieren, minimiert. Somit ist es möglich, einen weiten Bereich
von relativ kostengünstigen
Speichervorrichtungen für die
Speicherbanken zu verwenden.
-
Weiterhin
erlaubt die Erfindung, die Zugriffszeiten auf den Verbindungsspeicher
zu minimieren. Dies beruht auf der Tatsache, dass keine Verbindungslogik
mehr erforderlich ist und daher die Steuer- und Adressensignalleitungen
kürzer
und weniger belastet sind. Es gibt keine Notwendigkeit mehr, die Signalleitungen
zu puffern, um die Last zu treiben. Außerdem wird die Verzögerung aufgrund
eines Bankdecodierens in der externen Chiplogik nach dem Stand der
Technik minimiert, da das Decodieren effizienter in den Grenzen
des ATM-Zellenverarbeitungssystems durchgeführt wird und sogar auf dem selben
Chip wie der Mikroprozessor des Systems implementiert werden kann.
Das interne Durchführen des
Bankauswahldecodierens beseitigt die Unsicherheit der Decodierungsverzögerung von
der Schnittstellenkonstruktion.
-
Gemäß einer
bevorzugten Ausführungsform der
Erfindung umfasst der Adressenraum zwei Sätze von Bitpositionen: einen
zum Zwecke des Erzeugens eines Bankauswahlsignals und den anderen
zum Adressieren eines Speicherplatzes in einem der Speicherbanken.
Ein Zeiger kann verwendet werden, um die zwei Sätze von Bitpositionen für das Decodieren
der Adresse zu trennen, um das Bankauswahlsignal zu erzeugen und
um einen Speicherplatz zu adressieren. Es gibt keine Beschränkung hinsichtlich der
Platzierung der Bitpositionen, die einen Teil von verschiedenen
Sätzen
von Bitpositionen bilden. Der Satz von Bitpositionen jedoch, der
dazu dient, das Bankauswahlsignal zu erzeugen, besetzt vorzugsweise
die signifikantesten Bitpositionen der Adresse.
-
Es
ist auch möglich,
nur eine Speicherbank zu verwenden, um den Verbindungsspeicher zu
implementieren, der durch eine Reihe von verschiedenen Speicherkomponenten
realisiert wird. In diesem Fall dient jede Speicherkomponente dazu,
ein spezifisches Bitelement eines Datenwortes zu speichern. Wenn
es mehr als eine Bank gibt, ist es auch möglich, jeden der Banken durch
eine Mehrzahl von Speicherkomponenten zu realisieren, von denen
jede ein Bitelement speichert.
-
Kurze Beschreibung
der Zeichnungen
-
Aus
der folgenden Beschreibung, die mit Bezug auf die angehängten Zeichnungen
gegeben wird, wird die Erfindung besser zu verstehen sein und weitere
Merkmale werden erscheinen.
-
1 ist
ein Blockdiagramm eines ATM-Zellenverarbeitungssystem
nach dem Stand der Technik und eines daran gekoppelten Verbindungsspeichers;
-
2 ist
ein schematisches Blockdiagramm eines ATM-Zellenverarbeitungssystems gemäß der Erfindung
und eines daran gekoppelten Verbindungsspeichers;
-
3 ist
ein Blockdiagramm einer zweiten bevorzugten Ausführungsform der Erfindung;
-
4 umfasst
zwei Tabellen, die verschiedene Optionen darstellen, um eine Adresse
in zwei Sätzen
von Bitpositionenn zu trennen; und
-
5 zeigt
ein Flussdiagramm des Verfahrens zum Zugreifen auf den Verbindungsspeicher.
-
Im
Folgenden wird nun mit Bezug auf 2 eine erste
bevorzugte Ausführungsform
der Erfindung beschrieben. 2 zeigt
das ATM-Zellenverarbeitungssystem 200 und den Verbindungsspeicher 202.
Das ATM-Zellenverarbeitungssystem 200 umfasst den Mikroprozessor 206,
den Decodierer 204, sowie die Register 212 und 214.
Das ATM-Zellenverarbeitungssystem 200 verfügt über die
Eingangsleitungen 208 und die Ausgangsleitungen 210,
die dazu dienen physikalische Verbin dungen zu etablieren. Über jede
physikalische Verbindung wird eine sehr hohe Zahl von virtuellen
logischen Verbindungen unter der Steuerung des Mikroprozessors 206 etabliert. Wie
im Prinzip nach dem Stand der Technik bekannt, geschieht die Verarbeitung
in dem ATM-Zellenverarbeitungssystem 200 durch
den Mikroprozessor 206 bei einer Rate, die etwas oberhalb
der physikalischen Übertragungsrate
auf den Eingangs- und Ausgangsleitungen 208 und 210 liegen,
so dass in regelmäßigen Intervallen "Löcher" in dem Zellenfluss zur Verfügung gestellt
werden. Die Zeitintervalle, in denen solche Löcher vorkommen, werden für Erhaltungszwecke
verwendet, die einen Zugriff auf den Verbindungsspeicher 202 erfordern.
-
Der
Mikroprozessor 206 ist über
den Adressenbus 216 an den Decodierer 204 gekoppelt.
In dem hier berücksichtigten
Beispiel ist der Adressenbus 20 Bit breit. Weiter ist der Mikroprozessor 206 über die
Leitungen 218 und 220 jeweils an die Register 212 und 214 gekoppelt.
Die Register 212 und 214 sind jeweils über die
Leitungen 222 und 224 an den Decodierer 204 gekoppelt.
-
Der
Verbindungsspeicher 202 hat die vier Speicherbanken 226, 228, 230 und 232.
Der Verbindungsspeicher 202 ist äquivalent zu dem in 1 gezeigten
Verbindungsspeicher 102. Die Speicherbanken 226–232 sind
jeweils mit den Bankauswahlleitungen 234, 236, 238 und 240 verbunden.
Die anderen Seiten der Bankauswahlleitungen 234–240 sind
mit dem Decodierer 204 verbunden. Der Adresseneingang einer
jeden der Speicherbanken 226–232 ist mit dem Adressenbus 242 verbunden,
der auch mit dem Decodierer 204 verbunden ist.
-
Das
Register 212 dient als ein Speichermittel zum Speichern
von Daten, die die Zahl der Speicherbanken anzeigen, die in dem
hier berücksichtigten Beispiel
vier ist. Das Register 214 dient als ein weiteres Speichermittel
zum Speichern eines Zeigers zu einem ersten Satz von Bitpositionen,
die als eine Basis dienen, um Bankauswahlsignale zu erzeugen, oder
um alternativ, den signifikantesten Bitstandort (MSB) in einer Adresse
anzuzeigen. Durch Kombinieren der in den Registern 212 und 214 gespeicherten
Informationen wird ein Fenster definiert, das die Bitpositionen
in den durch den Mikroprozessor 206 ausgegebenen Adressen
abdeckt, die den ersten Satz von Bitpositionen ausmachen. Den zweiten Satz
von Bitpositionen macht die Adresse aus, die über den Adressenbus 242 tatsächlich zugeführt wird.
-
Wenn
das ATM-Zellenverarbeitungssystem 200 eingeschaltet wird,
werden die Register 212 und 214 durch den Mikroprozessor 206 initialisiert.
Der Mikroprozessor 206 schreibt die Zahl von Speicherbanken,
die an das ATM-Zellenverarbeitungssystem 200 gekoppelt
sind, über
die Signalleitung 218 in das Register 212. Der
Mikroprozessor 206 schreibt außerdem einen Zeiger über die
Signalleitung 220 in das Register 214. Der Zeiger
zeigt zu dem ersten Satz von Bitpositionen in einer Adresse einer
Zugriffsanfrage des Mikroprozessors 206. Dieser Satz von
Bitpositionen dient als eine Basis, um ein Bankauswahlsignal zu
erzeugen, um eine der Speicherbanken 226 bis 232 jeweils über eine
der Bankauswahlleitungen 234–240 auszuwählen.
-
In
dem hier berücksichtigten
Beispiel gibt es die vier Speicherbanken 226–232.
Somit sind zwei Bitpositionen eines zwanzig Bit breiten Adressenwortes
erforderlich, um das Bankdecodieren durchzuführen. Im Prinzip können zwei
belie bige Bitpositionen von der Gesamtzahl von 20 Bitpositionen
einer Adresse diesem Zweck dienen. Der in dem Register 214 gespeicherte
Zeiger zeigt an, welcher der Bitpositionen einer Adresse die Bankauswahlinformationen
trägt.
Wenn definitionsgemäß dieser
Satz von Bitpositionen immer in einer kohärenten Zeile in der Adresse
angeordnet ist, reicht ein in dem Register 214 gespeicherter
Zeiger aus, um diesen Satz von Bitpositionen zu identifizieren.
-
Ein
Adressenwort enthält
die Bitpositionen B0 bis B19, wo B19 der signifikanteste Bitstandort
ist. Wenn die Bitpositionen B19 und B18 den Satz von Bitpositionen
ausmachen, die die Bankauswahlinformationen tragen, zeigt der in
dem Register 214 gespeicherte Zeiger zu dem Bitstandort
B19. Da in dem hier berücksichtigten
Beispiel die Zahl von Speicherbanken N = 4 ist, versteht der Decodierer 204,
dass es zwei Bitpositionen (= log2N) geben
muss, um die Bankauswahlinformationen zu codieren. Somit identifiziert
der Decodierer 204 den Bitstandort B19, zu dem der Zeiger
des Registers 214 zeigt, und zusätzlich den nachfolgenden Bitstandort
B18. Wenn es mehr als vier Banken gibt, z. B. acht Speicherbanken, geht
der Decodierer 204 entsprechend davon aus, dass der Bitstandort
B17 ebenfalls zu dem Satz von Bitpositionen gehört, die die Bankauswahlinformationen
tragen.
-
Wenn
die Bitpositionen, die zu dem Satz von Bitpositionen gehören, die
die Bankauswahlinformationen tragen, nicht in einer kontinuierlichen
Zeile angeordnet sind, speichert das Register 214 einen
Zeiger für
jeden zu dem Satz gehörigen
Bitstandort. In dem hier berücksichtigten
Fall von vier Speicherbanken kann das Register 214 2 Zeiger
speichern, die jeweils zu den Bitpositionen B17 und B9 zei gen. Der Decodierer 204 versteht
diese Informationen so, dass er anzeigen soll, dass die Bitpositionen
B17 und B9 die Bankauswahlinformationen tragen. In diesem Fall sind
die in dem Register 212 gespeicherten Informationen redundant,
weil jeder Bitstandort, der zu dem Satz von Bitpositionen gehört, der
die Bankauswahlinformationen trägt,
seinen eigenen Zeiger in dem Register 214 gespeichert hat.
In diesem alternativen Fall ist das Register 214 adaptiert,
um eine Mehrzahl von Zeigern zu speichern.
-
Alternativ
kann der Mikroprozessor 206 in dem Register 214 Informationen
speichern, um anzuzeigen, welches der Bitpositionen B0–B19 am
signifikantesten ist. In einigen Fällen wird der ganze Adressenraum
von 20 Bits nicht benötigt.
In einem solchen Fall kann der signifikanteste Bitstandort einer
der weniger signifikanten Bitpositionen in dem 20 Bit breiten Adressenwort
sein. Wenn z. B. der Mikroprozessor 206 einen Zeiger zu
dem Bitstandort B18 in den Register 214 speichert, bedeutet
dies, dass der Bitstandort B18 als der signifikanteste Bitstandort
definiert wird und der Bitstandort B19 "nicht kümmern" ("don't care") ist.
-
Wenn
die Zahl von Speicherbanken Eins ist, wird der ganze Adressenbereich
von dem Bitstandort B0–B18
als eine physikalische Adresse für
einen Speicherplatz in dem Verbindungsspeicher 202 verwendet.
Wenn die Zahl von Speicherbanken Zwei ist, wird ein Bit für die Bankauswahl
benötigt.
Dies ist das signifikanteste Bit B18. Genauso werden, wenn drei oder
vier Speicherbanken vorhanden sind, zwei Bitpositionen benötigt, um
die Bankauswahlinformationen zu codieren. Diese Informationen werden
durch die Bitpositionen B18 und B17 getragen. Die weiteren Bitpositionen
B16–B0
dienen als eine physikalische Adresse zum Adressieren eines spezifischen
Speicherplatzes in der ausgewählten
Speicherbank.
-
Die
in 3 gezeigte bevorzugte Ausführungsform unterscheidet sich
von 2 insofern, als es nur eine logische Speicherbank 302 gibt.
Die logische Speicherbank 302 wird durch die physikalischen
Speicherbanken 303 bis 310 realisiert, von denen
jede ein getrennter Speicherchip ist. Jede der physikalischen Speicherbanken 303–310 speichert ein
Bitelement von drei Bits eines 24 Bit breiten Datenwortes. Als eine
Konsequenz sind alle 20 Bits des entsprechenden Adressenwortes nötig, damit
jede individuelle Speicherbank das geeignete Bitelement adressieren
kann. Somit sind alle Speicherbanken 303–310 mit
dem 20 Bit breiten Adressenbus 342 verbunden. Außerdem sind
die Speicherbanken 303–310 über ihre
jeweiligen Bankauswahlleitungen 334–341 an den Decodierer 204 gekoppelt.
Da es nur eine logische Speicherbank gibt, sind alle Bankauswahlleitungen 334–341 logisch äquivalent
und empfangen das selbe Auswahlsignal.
-
Wenn
das ATM-Zellenverarbeitungssystem von 3 initialisiert
wird, speichert der Prozessor 206 über die Leitung 218 "1" in das Register 212, um anzuzeigen,
dass es nur eine logische Speicherbank gibt. In diesem Fall ist
die in das Register 214 gespeicherte Information "nicht kümmern", da kein Bankdecodieren
erforderlich ist. Wenn der Mikroprozessor 206 auf den Verbindungsspeicher 302 zugreifen möchte, gibt
er ein Adressenwort von 20 Bits aus, das über den Adressenbus 342 durch
den Decodierer zu jeder der Speicherbanken 303 bis 310 geführt wird.
Da die in dem Register 212 gespeicherte Zahl "1" ist, zeigt dies dem Decodierer an,
dass es nur eine logische Speicherbank gibt, so dass ein Bankauswahlsignal
durch den Decodierer 204 ausge geben und über alle
Bankauswahlleitungen 334–341 an die entsprechenden
Speicherbanken 303–310 übertragen
wird.
-
Das
Vorhandensein einer Mehrzahl von Bankauswahlleitungen für eine logische
Speicherbank hat den Vorteil, dass die Last der Leitungen zwischen
verschiedenen Treibern, die in dem Decodierer 204 inkorporiert
sind, aufgespalten wird, so dass die Zugriffszeit auf den Verbindungsspeicher 302 weiter
verringert wird. Es ist zu beachten, dass das ATM-Zellenverarbeitungssystem 200 von 2 und 3 einfach
durch Programmieren der Register 212 und 214 mit
verschiedenen Anordnungen von Verbindungsspeichern verbunden werden
kann. Da eine gut definierte Schnittstelle zur Verfügung gestellt wird,
kann eine breite Vielfalt verschiedener physikalischer Speicherkomponenten
verwendet werden, um einen Verbindungsspeicher zu realisieren.
-
Außerdem können relativ
kostengünstige Speichervorrichtungen
eingesetzt werden, da keine externe Verbindungslogik erforderlich
ist, um die physikalischen Speicherbanken an das ATM-Zellenverarbeitungssystem
zu koppeln, so dass es im Vergleich zu den bevorzugten Ausführungsformen
von 2 und 3 keine zusätzliche Zugriffsverzögerung aufgrund
des Decodierens der Bankauswahlinformationen in den externen Komponenten
gibt. Außerdem
verringert die Verringerung der Last, die getrieben werden muss,
wenn auf den Verbindungsspeicher zugegriffen wird, das Erfordernis
von Hochleistungsspeichervorrichtungen mit einer sehr kurzen Zugriffszeit.
-
4 zeigt
zwei Beispiele für
das Programmieren der Register 212 und 214. In
der Tabelle 400 von 4 werden
die Adressenbitpositionen 23 bis 8 angezeigt. Die Adressenbitpositionen
7 bis 0 werden der Einfachheit halber nicht gezeigt. In dem in 4 gezeigten
Beispiel ist die maximale Breite eines Adressenwortes 24 Bits. Somit
muss in einem entsprechenden ATM-Zellenverarbeitungssystem der Erfindung
der Adressenbus zwischen dem Mikroprozessor und dem Decodierer 24
Bits-breit sein, wenn der volle Adressenbereich verwendet werden
soll.
-
Die
Tabelle 400 bezieht sich auf eine bevorzugte Ausführungsform,
wo zwei logische Speicherbanken vorhanden sind. Entsprechend trägt das Register 212 die
binäre
Information "010", die die Zahl von
logischen Speicherbanken ist. Das Register 214 speichert
einen Zeiger zu dem signifikantesten Bit in einem Adressenwort.
Wenn der in dem Register 214 abgespeicherte Zeiger "000" ist, zeigt er zu
dem Bitstandort B23. Genauso zeigt der Zeiger, wenn er "001" ist, zu dem weniger
signifikanten Bitstandort B22, so dass der Bitstandort B23 "nicht kümmern" wird. Alternativ
sind, wenn das Register 214 einen der Zeiger "010", "011", "100" oder "101" hat, die entsprechenden
signifikantesten Bitpositionen B21, B20, B19 und B18.
-
Mit
anderen Worten, für
jedes Adressenwort, das durch den Mikroprozessor 206 ausgegeben
wird, wird ein Fenster mit der Länge
eines Bitpositions definiert, das den Satz von Bitpositionen, die
die Bankauswahlinformationen tragen, abdeckt. In dem hier berücksichtigten
Beispiel enthält
dieser Satz nur einen Bitstandort, der der signifikanteste Bitstandort
in dem Adressenwort ist, wie durch den Zeiger des Registers 214 definiert.
Dieses Schiebefenster wird in der Tabelle 400 mit W1 bezeichnet.
-
Die
Tabelle 410 von 4 zeigt das Programmieren der
Register 212 und 214 für den Fall von vier logischen
Speicherbanken. In diesem Fall trägt das Register 212 die
binä re
Information "100" und das Register 214 kann
in der gleichen Weise programmiert werden, wie in Tabelle 400 dargestellt.
Somit gibt es in dem in der Tabelle 410 gezeigten Beispiel
vier logische Speicherbanken anstatt zwei logische Speicherbanken.
Zwei Bitpositionen werden benötigt,
um die Bankauswahlinformationen zu tragen. Somit muss das Schiebefenster
einen Satz von zwei Bitpositionen tragen. Dieses Schiebefenster
wird in der Tabelle 410 mit W2 bezeichnet.
-
Wenn
der in dem Register 214 gespeicherte Zeiger "000" ist, zeigt dies
an, dass der Bitstandort B23 der signifikanteste Bitstandort ist.
Als eine Konsequenz geht der Decodierer davon aus, dass dieser Bitstandort
B23 und der folgende Bitstandort B22 den Satz von Bitpositionen
ausmachen, die die Bankauswahlinformationen tragen. Genauso gilt,
dass, wenn der in dem Register 214 gespeicherte Zeiger "001", "010", "011", "100" oder "101" ist, dies dem Satz
von Bitpositionen B22, B21; B21, B20; B20, B19; B19, B18; und B18,
B17 entspricht.
-
Im
Folgenden wird eine Ausführungsform des
Verfahrens der Erfindung mit Bezug auf 5 beschrieben.
In dem Schritt 500 erzeugt der Mikroprozessor 206 eine
Adresse, die über
den Adressenbus 216 ausgegeben wird. In Reaktion auf den
Empfang der Adresse durch den Decodierer 204 schlägt der Decodierer 204 in
dem Schritt 502 in den Registern 212 und 214 nach.
Die in den Registern 212 und 214 gespeicherten
Informationen bestimmen den ersten Satz von Bitpositionen, der die
Bankauswahlinformationen trägt.
Diese Bitpositionen werden durch das Schiebefenster W abgedeckt,
wie in 4 gezeigt.
-
Der
erste Satz von Bitpositionen wird durch den Decodierer 204 in
dem Schritt 504 decodiert. Parallel dazu wird auch der
zweite Satz von Bitpositionen, der die Informationen trägt, um einen
spezifischen Speicherplatz in einer von den physikalischen Speicherbanken
des Verbindungsspeichers 202 zu adressieren, in dem Schritt 506 durch
den Decodierer 204 decodiert.
-
Daraufhin
wird in dem Schritt 508 ein Bankauswahlsignal erzeugt und
die geeignete Bankauswahlleitung oder die geeigneten Bankauswahlleitungen
werden entsprechend getrieben. Im Anschluss an den Schritt 506 wird
die physikalische Adresse, um auf einen spezifischen Speicherplatz
zuzugreifen, in dem Schritt 510 ausgegeben. Als ein Ergebnis kann
der Mikroprozessor 206 in dem Schritt 512 Daten
in den gewünschten
Speicherplatz lesen und/oder schreiben.
-
Obwohl
die verschiedenen Aspekte der Erfindung mit Bezug auf bevorzugte
Ausführungsformen
beschrieben worden sind, ist klar, dass die Erfindung den vollen
Anspruch auf Schutz in dem vollen Umfang der angehängten Ansprüche erhebt.