DE69634295T2 - ATM-Zellenverarbeitungssystem und Methode zum Zugriff auf einen Verbindungsspeicher - Google Patents

ATM-Zellenverarbeitungssystem und Methode zum Zugriff auf einen Verbindungsspeicher Download PDF

Info

Publication number
DE69634295T2
DE69634295T2 DE1996634295 DE69634295T DE69634295T2 DE 69634295 T2 DE69634295 T2 DE 69634295T2 DE 1996634295 DE1996634295 DE 1996634295 DE 69634295 T DE69634295 T DE 69634295T DE 69634295 T2 DE69634295 T2 DE 69634295T2
Authority
DE
Germany
Prior art keywords
memory
address
bit positions
processing system
cell processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE1996634295
Other languages
English (en)
Other versions
DE69634295D1 (de
Inventor
Ronen Shtayer
Igor Elkanovitch
Ron Eliyahu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP USA Inc
Original Assignee
Freescale Semiconductor Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of DE69634295D1 publication Critical patent/DE69634295D1/de
Application granted granted Critical
Publication of DE69634295T2 publication Critical patent/DE69634295T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5625Operations, administration and maintenance [OAM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5636Monitoring or policing, e.g. compliance with allocated rate, corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • 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 110116 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 110116 zuzugreifen. Alle Speicherbanken 110116 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 110116 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 110116. 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 226232 sind jeweils mit den Bankauswahlleitungen 234, 236, 238 und 240 verbunden. Die anderen Seiten der Bankauswahlleitungen 234240 sind mit dem Decodierer 204 verbunden. Der Adresseneingang einer jeden der Speicherbanken 226232 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 234240 auszuwählen.
  • In dem hier berücksichtigten Beispiel gibt es die vier Speicherbanken 226232. 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 303310 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 303310 mit dem 20 Bit breiten Adressenbus 342 verbunden. Außerdem sind die Speicherbanken 303310 über ihre jeweiligen Bankauswahlleitungen 334341 an den Decodierer 204 gekoppelt. Da es nur eine logische Speicherbank gibt, sind alle Bankauswahlleitungen 334341 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 334341 an die entsprechenden Speicherbanken 303310 ü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.

Claims (7)

  1. ATM-Zellenverarbeitungssystem (200), wobei das Zellenverarbeitungssystem adaptiert ist, um mit einem Verbindungsspeichermittel (202, 302) gekoppelt zu werden, wobei das Verbindungsspeichermittel (202, 302) in einer oder mehreren Speicherbanken organisiert ist; wobei das Zellenverarbeitungssystem (200) umfasst: Verarbeitungsmittel (206) gekennzeichnet durch; Speichermittel (212) zum Speichern von Daten, die die Anzahl der Speicherbanken anzeigen; und einen Decodierer (204), der geeignet ist, um eine Adresse einer Zugriffsanfrage des Verarbeitungsmittels (206) auf das Verbindungsspeichermittel (202, 302) zu decodieren, um Bankauswahlinformationen abzuleiten und ein Bankauswahlsignal für eine Speicherbank basierend auf den erlangten Bankauswahlinformationen zu erzeugen, wobei die Daten, die die Anzahl der in dem Speichermittel (212) gespeicherten Speicherbanken anzeigen, als eine Basis zum Ableiten der Bankauswahlinformationen verwendet werden.
  2. ATM-Zellenverarbeitungssystem (200) gemäß Anspruch 1, wobei die Adresse einen ersten Satz von Bitpositionen umfasst, um das Bankauswahlsignal zu erzeugen, und einen zweiten Satz von Bitpositionen umfasst, um einen Speicherort in einer der Speicherbanken zu adressieren.
  3. ATM-Zellenverarbeitungssystem (200) gemäß Anspruch 2, das weiter ein zweites Speichermittel (214) zum Speichern eines Zeigers zu dem ersten Satz von Bitpositionen oder zum Anzeigen der signifikantesten Bitposition in der Adresse umfasst.
  4. ATM-Zellenverarbeitungssystem (200) gemäß Anspruch 2, wobei der erste Satz von Bitpositionen die signifikantesten Bitpositionen der Adresse besetzt.
  5. ATM-Zellenverarbeitungssystem (200) gemäß Anspruch 2, das weiter Mittel zum Definieren eines Fensters in der Adresse umfasst, wobei das Fenster eine oder mehrere Bitpositionen abdeckt, um das Bankauswahlsignal zu erzeugen.
  6. ATM-System (200) gemäß Anspruch 1, wobei mindestens eine der Speicherbanken eine Mehrzahl von Speicherkomponenten umfasst, wobei jede der Speicherkomponenten geeignet ist, um ein oder mehrere Bit-Slices zu speichern.
  7. Verfahren zum Zugreifen auf ein Verbindungsspeichermittel (202, 302) aus einem ATM-Zellenverarbeitungssystem (200), wobei das Speichermittel (202, 302) in einer oder mehreren Speicherbanken organisiert ist, wobei das Verfahren die folgenden Schritte umfasst: Erzeugen, in dem ATM-Zellenverarbeitungssystem (200), einer Adresse zum Zugreifen auf einen Speicherort in dem Verbindungsspeichermittel (202, 302), wobei die Adresse ei nen ersten Satz von Bitpositionen zum Auswählen einer der Speicherbanken und einen zweiten Satz von Bitpositionen zum Adressieren des Speicherortes in der auszuwählenden Speicherbank hat; gekennzeichnet durch ein Decodieren des ersten Satzes von Bitpositionen, um ein Bankauswahlsignal in dem ATM-Zellenverarbeitungssystem (200) durch Verwenden von Daten zu erzeugen, die die Anzahl der in dem Speichermittel (212) gespeicherten Speicherbanken als eine Basis zum Ableiten des Bankauswahlsignals anzeigen; Zuführen des zweiten Satzes von Bitpositionen der Adresse zu allen Speicherbanken.
DE1996634295 1996-06-19 1996-06-19 ATM-Zellenverarbeitungssystem und Methode zum Zugriff auf einen Verbindungsspeicher Expired - Fee Related DE69634295T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP19960109860 EP0814630B1 (de) 1996-06-19 1996-06-19 ATM-Zellenverarbeitungssystem und Methode zum Zugriff auf einen Verbindungsspeicher

Publications (2)

Publication Number Publication Date
DE69634295D1 DE69634295D1 (de) 2005-03-10
DE69634295T2 true DE69634295T2 (de) 2005-06-09

Family

ID=8222906

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1996634295 Expired - Fee Related DE69634295T2 (de) 1996-06-19 1996-06-19 ATM-Zellenverarbeitungssystem und Methode zum Zugriff auf einen Verbindungsspeicher

Country Status (2)

Country Link
EP (1) EP0814630B1 (de)
DE (1) DE69634295T2 (de)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3742939A1 (de) * 1987-12-18 1989-07-06 Standard Elektrik Lorenz Ag Verfahren zur hybriden paketvermittlung und einrichtungen hierzu
JPH03220836A (ja) * 1990-01-25 1991-09-30 Nec Corp 非同期伝送モード交換装置

Also Published As

Publication number Publication date
DE69634295D1 (de) 2005-03-10
EP0814630B1 (de) 2005-02-02
EP0814630A1 (de) 1997-12-29

Similar Documents

Publication Publication Date Title
DE69631055T2 (de) Speicherschnittstelleneinheit, vermittlungssystem mit gemeinsamem speicher und verfahren dazu
DE60130079T2 (de) Verfahren und vorrichtung zur paketvermittlung mittels eines geteilten pufferspeichers
DE69919137T2 (de) Datenspeichersystem
DE60203057T2 (de) Effizienter Optimierungsalgorithmus für Speichergebrauch in Netzwerkanwendungen
DE2948159C2 (de) Integrierter Speicherbaustein mit wählbaren Betriebsfunktionen
DE19961138C2 (de) Multiport-RAM-Speichervorrichtung
DE3438869C2 (de)
DE3728805C2 (de)
EP0908893B1 (de) Speicherarchitektur mit Mehrebenenhierarchie
DE60205231T2 (de) Vorrichtung und verfahren zur effizienten zuteilung von speicherbandbreite in einem netzwerkprozessor
DE202004020948U1 (de) Kodierte Schreibmaske
DE3906497A1 (de) Selbstkonfigurierendes speichersystem
DE2803989A1 (de) Wahlfreie zugriffsspeichervorrichtung fuer digitale daten
DE3618136C2 (de)
DE19822776A1 (de) Datenverarbeitungsvorrichtung
EP0692893B1 (de) Vorrichtung zur Vermittlung in digitalen Datennetzen für asynchronen Transfermodus
DE4230195A1 (de) Fifo-anordnung
DE112004000140T5 (de) Kodierte Schreibmaske
DE2758829A1 (de) Multiprozessor-datenverarbeitungssystem
DE2703559A1 (de) Rechnersystem
DE4417594C2 (de) Seriell-Zugriffsspeichervorrichtung
DE69729818T2 (de) Sortier- und Mischprozessor und Sortier- und Mischprozessanlage
DE60203785T2 (de) Netzschnittstelle
EP0060332B1 (de) Zeitmultiplexkoppelfeldeinheit zur Raumvermittlung
DE69831308T2 (de) Verfahren zur übersetzung eines atm-zellenkopfs

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee