-
Technisches Gebiet
-
Die
vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung
zur Steuerung der digitalen Vermittlung von Telekommunikationssignalen.
-
Problem
-
Die
digitale Revolution war am deutlichsten in ihren Auswirkungen auf
Computer und auf Telekommunikationssysteme zu sehen. Auf dem letzteren
Gebiet hat es sich erwiesen, daß durch Übertragen
von Kommunikationssignalen in digitaler Form die Wiedergabetreue
des Signals verbessert wird und, was wichtig ist, viele Arten von
Datenübermittlungen über durch
digitale Vermittlungen vermittelte digitale Übertragungseinrichtungen durchgeführt werden
können.
-
In
solchen digitalen Vermittlungen ist eine der Haupteinheiten zur
Durchführung
der digitalen Vermittlungsfunktion eine Einheit für Zeitlagenwechsel
(TSI). Diese Einheit vermittelt durch Ändern der Position eines eine
bestimmte Übermittlung
repräsentierenden
Digitalsignals von einer Position in einem ersten digitalen Bitstrom
zu einer anderen Position in demselben oder in einem zweiten digitalen
Bitstrom. Ein solcher Zeitlagenwechsel führt einen Hauptteil der zur
Implementierung einer digitalen Telekommunikationsvermittlung erforderlichen
Vermittlung aus. Eine andere Haupteinheit ist eine zeitlich gemultiplexte
Vermittlung (TMS), die die Position eines Digitalsignals von einer
Raumposition zu einer anderen in derselben Zeitschlitzperiode ändert.
-
H.
G. Alles: „An
intelligent network processor for a digital central Office", International Seminar
on Digital Communications, 7-9.3.1978, Seiten A5.1–A5.6 (XP002071430),
beschreibt Anordnungen zur Steuerung der Übertragung von Zeitschlitzen
von ankommenden zu abgehenden Ports. Die Steuerung wird durch einen
Prozessor ausgeführt.
-
Ein
Problem des Standes der Technik besteht darin, daß solche
digitalen Vermittlungen begrenzte Flexibilität aufweisen, weil die Hardwareverbindungen
in den Vermittlungseinheiten genau definieren, welche Funktionen
durch diese Einheiten erreicht werden können. Wenn neue Notwendigkeiten entstehen,
begrenzen solche Beschränkungen
die Fähigkeit,
neue Arten digitaler Kommunikationsdienste anzubieten.
-
Lösung
-
Eine
Telekommunikations-Zeitvermittlung gemäß der Erfindung wird in Anspruch
1 definiert. Bevorzugte Formen werden in den abhängigen Ansprüchen definiert.
-
Das
obige Problem wird wesentlich abgeschwächt und ein Fortschritt gegenüber den
Lehren des Standes der Technik gemäß der Erfindung des Anmelders
erreicht, wobei die Steuerung des Vermittelns einzelner Zeitschlitze
oder anderer grundlegender Datenentitäten direkt durch einen programmgesteuerten
Prozessor ausgeführt
wird. Bei der bevorzugten Ausführungsform
der Erfindung des Anmelders ist dieser Prozessor ein Mikroprozessor,
wie zum Beispiel der 604e-RISC-Mikroprozessor
von Motorola/IBM, der in der Telekommunikationsindustrie vielfach
eingesetzt wird. Dieser Prozessor steuert das Laden eines Speichers,
bei der bevorzugten Ausführungsform
des Cache-Speichers des Mikroprozessors, um serielle Eingangssignale
der Vermittlung anzunehmen, und stellt aus den empfangenen Signalen
selektiv gemäß den gewünschten
Verbindungen, die zu einem beliebigen gegebenen Zeitpunkt von der
Zeitlagenwechseleinheit erfordert werden, Ausgangssignale zusammen.
Vorteilhafterweise sind die Algorithmen zum Umordnen der Zeitschlitze und
anderen Datenentitäten
nicht darauf beschränkt, einfach
jedes Ausgangsbyte gemäß dem Inhalt
eines Steuerspeichers abzuliefern, sondern können an andere Anwendungen
angepaßt
werden. Wenn zum Beispiel eine digitale Vermittlung wie etwa die 5ESS®-Vermittlung
von Lucent Technologies den 8- oder 16-Kilobit/Sekunde-GSM-Sprachstandard für drahtloses
Fernsprechen versorgen soll, ist im Stand der Technik eine andere
TSI erforderlich; durch Verwendung der Erfindung des Anmelders ist
es nur notwendig, die Software in der TSI zu ändern.
-
Kurze Beschreibung der
Zeichnung
-
1 ist
ein Blockschaltbild einer Vermittlung gemäß der Erfindung des Anmelders;
-
2 ist
ein Blockschaltbild eines Mikroprozessors zur Verwendung in dieser
Vermittlung;
-
3 ist
ein Layout von Speicher und Registern, das in dieser Vermittlung
verwendet wird;
-
4 und 6 sind
Flußdiagramme
von Programmen zur Steuerung der Vermittlung; und
-
5 ist
ein Blockschaltbild einer großen Vermittlung.
-
Ausführliche Beschreibung
-
1 ist
ein Blockschaltbild, das die Eingangs- und Ausgangsdatenströme einer
Zeitschlitzwechseleinheit gemäß der Erfindung
des Anmelders zeigt. Bei einer bevorzugten Ausführungsform der Erfindung des
Anmelders kann ein 100-MHz-PowerPC 128 serielle Eingangs-
und Ausgangsströme
vermitteln, die jeweils aus 32 Zeitschlitzen mit einer Bitrate von
2,048 MBit pro Sekunde bestehen. Die Eingabe besteht aus n seriellen
Eingangsströmen,
wobei Strom Null mit Eingangspuffer 101 verbunden ist,
..., und der serielle Eingangsstrom n minus eins mit Eingangspuffer 102 verbunden
ist. Der erste Eingangsstrom wird in einem Schieberegister des Eingangspuffers 101 gesammelt
und dann parallel sequentiell zu einem vierstufigen, vierundsechzig-Bit-pro-Stufe-Puffer übertragen.
Die letzte Stufe dieses Puffers ist mit einer Reihe von vierundsechzig
Tristate-Bustreibern zur Ansteuerung des parallelen Busses 105 verbunden.
Außerdem
sind mit dem parallelen Bus 105 n Ausgangspuffer 111,
..., 112 verbunden. Diese Ausgangspuffer umfassen ebenfalls
vierstufige, vierundsechzig-Bit-Register, deren Eingangsstufe mit vierundsechzig
mit dem Bus 105 verbundenen Busempfängern verbunden ist, und deren
Ausgangsstufe mit einem Schieberegister zur Erzeugung eines seriellen
Ausgangsstroms verbunden ist. Außerdem ist mit dem Bus 105 der
Mikroprozessor 120 verbunden, der Eingangssignale in Bursts
von 256 Bit als vier assoziierte 64-Bit-Datenbusleseoperationen
aus jedem der n Eingangspuffer 101, ..., 102 unter
der Steuerung des in dem Mikroprozessor gespeicherten Programms
annimmt. Ähnlich
liefert der Mikroprozessor Bursts von 256 Bit als vier assoziierte
64-Bit-Datenbusschreiboperationen
an jeden der n Ausgangspuffer ab, nachdem der Ausgangsburst durch
Lesen der Eingangssignale unter der Steuerung einer Steuerabbildung
und des Programms des Mikroprozessors gelesen wurde.
-
Eine
E/A-Decodereinheit 130 dient unter der Steuerung des Mikroprozessors
zum Torschalten der Tristate-Ausgangssignale
der Eingangspuffer auf den Bus und zum Torschalten des Ausgangssignals des
Busses in die n Ausgangspuffer 111, ..., 112.
Der E/A-Decoder empfängt
Eingangssignale von dem Mikroprozessoradreßbus.
-
Mit
dem Bus 105 ist außerdem
ein Speicher 122 verbunden zum Speichern von selten benutzten Daten
und selten benutztem Programmtext, wie zum Beispiel zur Durchführung von
Tests oder Diagnose erforderlichen Daten oder anderer nicht cachegespeicherter
TSI-Code, und als Sicherung für
in dem Mikroprozessor-Cache gespeicherte Daten wie zum Beispiel
Mikroprozessorprogrammtext und der Wegspeicher. Mit dem Bus 105 ist
außerdem
das Steuerregister 124 verbunden, das eine Schnittstelle mit
einer Verbindungsbearbeitungssteuerung oder anderen Vermittlungen
des Telekommunikationsnetzwerks aufweist, und Steuernachrichten
empfängt und
sendet.
-
2 ist
ein Blockschaltbild der wesentlichen Teile des Mikroprozessors,
die für
das Verständnis
der Erfindung des Anmelders relevant sind. Der Mikroprozessor enthält einen
Programm Cache 201 zum Speichern des Steuerprogramms, das
die Operationen der Zeitschlitzwechseleinheit steuert. Die Ausgabe
des Programm-Cache wird zu einer Anweisungswarteschlange 203 zum
Speichern mehrerer Anweisungen geleitet, um die schnelle Ausführung einfacher
Schleifen zu ermöglichen,
die durch Pipeline-Techniken möglich
wird. Die Anweisungswarteschlange tritt mit dem Anweisungssteuerblock 205 in
Wechselwirkung, um die entsprechenden Anweisungen an die Arithmetik-
und Logikeinheit (ALU) 207 abzuliefern. Die ALU führt ihre
empfangenen Anweisungen aus und operiert zur Durchführung der von
der Anweisung erforderten Schritte durch Steuern der Lade-Speicher-Einheit 213,
die ihrerseits auf einen Daten-Cache 211 zugreift. Die
ALU 207 steuert außerdem
eine Gruppe interner Register 215 zur Kurzzeitspeicherung
und zur Steuerung des Mikroprozessors. Eine Busschnittstelle 217 kommuniziert mit
dem Daten-Cache 211 und kommuniziert für Änderungen in der Software außerdem mit
dem Programm-Cache 201.
-
3 zeigt
betreffende Speicherdaten, die in dem Daten-Cache 211 des
Mikroprozessors 120 gespeichert sind. Der Inhalt des Daten-Cache
ist in 3 expandiert und enthält u.a. die aus den Eingangspuffern 101,
..., 102 empfangenen Daten und die an die Ausgangspuffer 111,
..., 112 abgelieferten Daten. Aus den Eingangspuffern 101,
..., 102 empfangene Daten werden in dem TSI-Puffer 301 oder 303 gespeichert.
Die Daten aus den verschiedenen Eingangspuffern werden bei der bevorzugten
Ausführungsform
des Anmelders sequentiell in einem dieser Puffer gespeichert. Um
Verbindungen mit n × 64
Kilobit pro Sekunde abzuwickeln, enthält der TSI-Puffer einen Puffer 301 und
einen zweiten Puffer 303 zum Speichern eines weiteren Rahmens dieser seriellen
Eingangsdaten. Die Puffer 301 und 303 werden abwechselnd
verwendet. Die Steuerabbildung 311 dient zur Steuerung
des Lesens des Inhalts der TSI-Puffer 301 oder 303,
um eine Ausgabe zur Speicherung in dem TSI-Ausgangspuffer 321 zur Übertragung
zu einem der Ausgangspuffer 111, ..., 112 zu erzeugen.
Der TSI-Schreibzeiger 315 dient
zum Mitverfolgen, wo die nächste
Eingabe aus einem der Eingangspuffer 101, ..., 102 in
dem TSI-Puffer 301 oder 303 gespeichert werden
soll. Ähnlich
dient der Steuerzeiger 313 zum Zeigen auf den entsprechenden Teil
der Steuerabbildung 311, um den Zugriff auf den TSI-Puffer
zu steuern, um die Zeitschlitze zu erhalten, die zum Füllen des
TSI-Ausgangspuffers 321 erforderlich
sind. Der Eingangspufferzählwert 331 dient zum
Steuern des Zyklierens zur Annahme von Eingaben aus dem entsprechenden
der n Eingangspuffer 101, ..., 102, der durch
das Eingangspufferadressenregister 332 gewählt wird,
und der Ausgangspufferzähler 333 dient
zur Steuerung der Verteilung einer in dem TSI-Ausgangspuffer 321 gesammelten
Ausgabe auf einen der n Ausgangspuffer 111, ..., 112,
der durch das Ausgangspufferadressenregister 334 gewählt wird.
Der Verknüpfungsstatusspeicher 341 dient
zur Identifizierung einer beliebigen der n Eingangsverknüpfungen
oder einer beliebigen der n Ausgangsverknüpfungen, die außer Betrieb
sind. Dieser Status kann vor der Annahme einer Eingabe von einem
der n Eingangspuffer 101, ..., 102 oder vor dem
Senden einer Ausgabe zu einem der Ausgangspuffer 111, ..., 112 geprüft werden.
-
Die
Steuerabbildung wird unter der Steuerung des Pro gramms des Mikroprozessors
abgeändert,
wenn der Mikroprozessor eine Steuernachricht von dem Verbindungsanforderungsregister 351 in dem
Steuerregister 124 von 1 erhält, wobei
die Steuernachricht eine Anforderung repräsentiert, eine Verbindung in
der Zeitschlitzwechseleinheit herzustellen oder zu trennen. Der
Prozeß des
Steuerns der Steuerabbildung ist im Stand der Technik wohlbekannt.
-
4 ist
ein Flußdiagramm
der Funktionsweise des Programms zur Implementierung eines Zeitvielfachs
(TSI) gemäß der Erfindung
des Anmelders. Der Prozeß startet
damit, daß der
Mikroprozessor auf einen Rahmensynchronisationsimpuls wartet (Block 401).
Wenn der Rahmensynchronisationsimpuls ankommt, signalisiert er den
Anfang des synchronisierten Ladens der Eingangspuffer 101,
..., 102 aus den seriellen Eingangsströmen und löst mehrere Initialisierungsschritte
aus. Die Speicherschreibadresse, die der TSI-Schreibzeiger 315 ist,
wird initialisiert (Aktionsblock 402), so daß die korrekte
Speicherstelle in dem TSI-Puffer 301 und 303 für das Schreiben
der Informationen aus den Eingangspuffern 101, ..., 102 eingerichtet
wird. Das Doppelpufferoffset wird umgeschaltet (Aktionsblock 403),
um entweder den Rahmenspeicher 301 oder 303 in
dem TSI-Puffer zum Speichern der Eingangsdaten abwechselnder Rahmen
zu wählen.
Der Mikroprozessor wartet dann auf ein Eingangspuffer-geladen-Signal
(Aktionsblock 404), das festlegt, daß die Puffer 101,
..., 102 voll sind, und dann wird die Eingangspufferadresse
initialisiert (Aktionsblock 405), um auf den ersten Eingangspuffer 101 zu
zeigen. Um zu garantieren, daß der
Aktionsblock 406 neue Daten aus dem Eingangspuffer liest,
und nicht abgestandene Cachegespeicherte Daten aus einem vorherigen
Zyklus, invalidiert der Aktionsblock 406 die mit der Eingangspufferadresse
assoziierten Cache-Daten vor der Einleitung des Lesevorgangs. Der
Eingangspuffer, auf den die Eingangspufferadresse zeigt, wird dann
in einem Burst als vier verbundene 64-Bit-Datenbusoperationen gelesen
(Aktionsblock 406) und in dem Mikroprozessor-Cache-Speicher entweder
in dem TSI-Puffer 301 oder 303 abhängig von
dem Doppelpufferoffset gespeichert. Die Prüfung 407 bestimmt
dann, ob alle Eingaben für
diesen Rahmen geschrieben wurden. Wenn nicht, wird die Pufferadresse
inkrementiert (Aktionsblock 409) und der nächste Puffer
wird in den TSI-Puffer eingelesen (zuvor beschriebener Aktionsblock 406).
Diese Schleife wird fortgesetzt, bis die Ergebnisse der Prüfung 407 anzeigen,
daß alle
Eingaben für
diesen Rahmen geschrieben wurden.
-
An
diesem Punkt beginnt der TSI-Lesezyklus. Die Ausgangspufferadresse 334 wird
initialisiert (Aktionsblock 421), die TSI-Ausgangspufferadresse wird
initialisiert (Aktion 423) und der Steuerabbildungszeiger 313 wird
initialisiert, um auf die oberste Position der Steuerabbildung zu
zeigen (Aktionsblock 425). Der Inhalt der Steuerabbildung
wird in ein Indexregister eingelesen (Aktionsblock 427),
und das Indexregister wird zum Lesen des Acht-Bit-Zeitschlitzes
aus dem TSI-Puffer verwendet (Aktionsblock 429) (abhängig von
dem in dem Aktionsblock 403 festgelegten Doppelpufferoffset
wird entweder auf Rahmen 301 oder auf 303 zugegriffen).
Das gelesene Byte wird dann in den TSI-Ausgangspuffer in dem Cache
an dem entsprechenden Offset (TSI-Ausgangspuffer 321) geschrieben
(Aktionsblock 431), das dadurch bestimmt wird, welches
der 32 Byte geschrieben wird. Prüfung 433 dient
zur Bestimmung, ob 32 Byte geschrieben wurden; wenn nicht, wird wieder
in den Aktionsblock 427 eingetreten und die Schleife wiederholt
die Aktionsblöcke 427, 429, 431. Wenn
32 Byte geschrieben wurden, wie durch ein positives Ergebnis der
Prüfung 433 angezeigt
wird, werden dann 32 Byte aus dem Cache durch eine Daten-Cache-Block-F1ush-Operation
geschrieben (Aktionsblock 441), und zwar in einem Burst
von vier verbundenen 64-Bit-Datenbus-Schreibvorgängen in
den Ausgangspuffer 111, ..., 112, der durch die
Ausgangspufferadresse 334 spezifiziert wird. Die Prüfung 443 bestimmt,
ob alle Ausgaben geschrieben wurden. Wenn nicht, wird die TSI-Ausgangspufferleseadressse
neu initialisiert (Aktionsblock 445). Die Ausgangspufferadresse
(Ausgangspufferadresse 334) wird dann inkrementiert (Aktionsblock 447),
und es wird wieder in die Schleife zum Schreiben in den Ausgangspuffer
eingetreten (Aktionsblock 427). Wenn die Prüfung 443 anzeigt,
daß alle
Ausgaben geschrieben wurden, wird die Arbeit für diesen Rahmen dann beendet
und der Prozessor kehrt zum Block 401 zurück, um auf
den nächsten
Rahmensynchronisationsimpuls zu warten.
-
Das
obige Flußdiagramm
beschreibt einen Acht-Bit-Zeitschlitz,
wo eine Bytegröße in den
Aktionsblöcken 429 und 431 gelesen
und geschrieben wird. Mit einer einfachen Substitution von Halbwort- oder
Vollwort-Mikroprozessoranweisungen
für die entsprechenden
Lade- und Speicher-Byte-Anweisungen
könnten
leicht Sechzehn- und
32-Bit-Zeitschlitze untergebracht werden. Die Zeitschlitzbreite kann
weiter generalisiert werden, um Gruppenvermittlung zu enthalten,
wobei zusammenhängende Zeitschlitze
unter Verwendung von Lade-/Speicher-String-Anweisungen in Aktionsblöcken 429 und 431 als
Gruppe vermittelt werden, um eine Sequenz von Zeitschlitzen zu transferieren.
Die Gesamtzahl der Byte vermittelter Informationen pro Zeiteinheit nimmt
mit zunehmender Zeitschlitzbreite oder Gruppengröße zu, da das Schleifenoverhead
der Aktionsblöcke 427 bis 433 proportional
relativ zu dem eines Byte-breiten Zeitschlitzes reduziert ist. Dies
ist zur Vermittlung einer Einrichtung für 32-Zeitschlitz-PCM (E1) zur
Implementierung eines Crossconnect sehr effizient. Bestimmte Gruppengrößen, wie
zum Beispiel die einer T1-Einrichtung
von 24 Byte breiten Gruppen könnte
am effizientesten durch Stopfen der 24 Zeitschlitze zu einer 32-Byte-Gruppe
vermittelt werden. Man kann Gruppen zusammenhängend verketten, um Raten höherer Bandbreite
wie zum Beispiel DS3 am Ausgang der Ausgangspuffer zu bilden; dies
ist besonders zur Durchführung
der Funktion einer digitalen Zugangs- und Crossconnect-Vermittlung,
wie zum Beispiel der von Lucent Technologies Inc. hergestellten
Vermittlung DACS-4, nützlich.
-
Das
obige Flußdiagramm
liefert Doppelpufferung für
alle Zeitschlitze, gleichgültig,
ob sie Signale mit n × 64
Kilobit pro Sekunde oder einen einzigen Sprach- oder Datenzeitschlitz
mit 64 Kilobit pro Sekunde repräsentieren.
Wenn die durch die Doppelpufferung eingeführte zusätzliche Rahmenverzögerung für den einzelnen
64-kbit/s-Sprach-
oder Datenzeitschlitz nicht erwünscht
ist, kann das Flußdiagramm,
modifiziert werden, um selektive Doppelpufferung bereitzustellen,
d.h. der einzelne Sprach- oder Datenzeitschlitz wird nicht doppelt
gepuffert. Solche einzeln gepufferte Zeitschlitze werden in der
Steuerabbildung 311 markiert, wodurch bewirkt wird, daß der Zeitschlitz
aus dem anderen der beiden TSI-Pufferrahmen 301 und 303 gelesen
wird, indem der Effekt des Doppelpufferoffsets negiert wird. Somit
werden einzelne gepufferte Zeitschlitze aus dem entgegengesetzten
Rahmen aus den doppelt gepufferten Zeitschlitzen ausgelesen.
-
Generalisierter TSI-Fluß
-
Das
in 4 gezeigte Flußdiagramm wird nur einmal pro
Rahmen durchquert, weil angenommen wurde, daß jeder der seriellen Eingangsströme aus 32
Zeitschlitzen besteht, was bei der vorliegenden Implementierung
in einem einzigen 32-Byte-Burst in den Mikroprozessor-Cache geschrieben
wird, wie bei der Besprechung von Aktionsblock 406 beschrieben
wurde.
-
Es
ist eine relativ einfache Modifikation von 4 erforderlich,
um serielle Strecken mit höherer Bandbreite
zu berücksichtigen:
1) Nach dem „Ja"-Ausgang des Entscheidungszustands 443 in 4 ist
ein weiterer Entscheidungszustand erforderlich. Dadurch wird bestimmt,
ob der gesamte Rahmen von Zeitschlitzen verarbeitet wurde. Im Fall „Ja" kehrt man zu dem
Wartezustand von Block 401 zurück. Im Fall „Nein" kehrt man zu dem
Warten-auf-Eingangspuffer-geladen-Block 404 für den nächsten Burst
von 32 Zeitschlitzen zurück.
2) Der Block 425 zum Initialisieren des Lesesteuerabbil dungszeigers
wird aus der TSI-Leseschleife zu dem Anfang des TSI-Schreibzyklus
verlagert (nach dem Aktionsblock 402 des Initialisierens
der Speicherschreibadresse), da noch nicht der gesamte Rahmen geschrieben
wurde.
-
5 zeigt
eine Anordnung zur Erhöhung der
Größe des TSI
von 1. 5 zeigt eine Implementierung,
die auf eine beliebige Anzahl n von Eingangssignalen, eine beliebige
Anzahl k von Mikroprozessorkomplexen und eine beliebige Anzahl n über k, die
durch die Geschwindigkeit und Speicherkapazität dieser Komplexe untergebracht
werden kann, angewandt werden kann. Bei der spezifischen Ausführungsform
von 5 ist n gleich 32, k ist 8 und n über k ist
4. Jeder der Eingangsströme,
die an den Pufferverstärkern 521-1,
..., 521-32 enden, wird mit einem dem Eingangspuffer 101 ähnlichen
Schieberegistereingangspuffer verbunden. Für den Mikroprozessorkomplex 501-1 werden
die Schieberegister 511-1, ..., 511-32 mit dem
lokalen Bus 541-1 verbunden, von dem der Mikroprozessorkomplex 501-1 Eingaben
annimmt. Dieselbe Anordnung ist für jeden der 7 anderen Mikroprozessorkomplexe 501-2,
..., 501-8 verfügbar.
Jeder Mikroprozessorkomplex speist nur vier der insgesamt 32 Ausgangspuffer.
Zum Beispiel speist der Mikroprozessorkomplex 501 die Ausgangspuffer 531-1 ..., 531-4.
Die Kapazität
jedes Mikroprozessorkomplexes muß ausreichen, um Eingaben von
dem vollen Umfang der Eingangsschieberegister anzunehmen, muß aber nur
1 über
k der Ausgangsströme
ansteuern. Zum Glück
erfolgt die Absorption der Eingaben parallel, da Eingangssignale
in sequentielle Speicherstellen in dem TSI-Puffer 301, 303 jedes
Mikroprozessors geladen werden. Somit können sehr große Mengen
an Eingangsdaten pro Zeiteinheit in den Mikroprozessor-Cache-Speichern absorbiert
werden. Lediglich die Ausgangsdaten erfordern sequentielle zeitschlitz-
oder gruppenweise Verarbeitung durch den Mikroprozessor.
-
Die
Anordnung lokaler Schieberegister pro Mikroprozessorkomplex hat
den Vorteil, Verbindungen hoher Bandbreite auf die nächste Umgebung
jedes Mikroprozessors zu beschränken,
mit dem entsprechenden Nachteil, daß für jeden Mikroprozessor duplizierte
Schieberegister erforderlich sind. Bei einer anderen Anordnung,
die manchmal vorteilhaft sein könnte,
könnte
man eine einzige globale Menge von Schieberegistern verwenden, wobei
jeder Mikroprozessor im Gleichschritt dieselben Eingangsdaten gleichzeitig
absorbiert. In diesem Fall würden
die Komplexität
von globalen Verbindungen hoher Bandbreite und die globale Mikroprozessorsynchronisierung
gegen die Ersparnisse einer Menge von Schieberegistern für alle außer einem
der Mikroprozessoren eingehandelt.
-
Theoretisch
ist es möglich,
Eingangsdaten zu nehmen und die Eingangsdaten seriell zu verarbeiten,
um vorgeordnete Ausgangsdaten zu erzeugen. Die Anordnung von 5 arbeitet
für diese
Art von Anordnung nicht zufriedenstellend (serielle Verarbeitung
von Eingaben zur Erzeugung paralleler Ausgaben), weil für jedes
Eingangswort, das parallel empfangen wird, verschiedene Mikroprozessoren
erforderlich sind, um verschiedene Mengen an Verarbeitung durchzuführen, da
jeder Prozessor möglicherweise
eine verschiedene Anzahl von Byte verarbeitet, um Ausgangsströme für seine
Ausgaben zu erzeugen.
-
Implementierung einer
Zeitmultiplexvermittlung (TMS)
-
Die
RISC-Mikroprozessorhardware von 1, das Blockschaltbild
von 2 und das Programmiererdatenmodell von 3 können auch
zur Implementierung einer TMS verwendet werden. Der Grundunterschied
besteht darin, daß eine
TSI-Anwendung erfordert, einen oder zwei Rahmen von Zeitschlitzen
(einzel- oder doppeltgepufferte Anwendungen) zu speichern und im
Speicher zu halten, während
eine TMS-Anwendung eine Vermittlung der Zeitschlitze so bald wie
möglich,
nachdem sie am Eingang der TMS erscheinen, erfordert. Dies bedeutet,
daß, nachdem
die an 101, ..., 102 erscheinenden seriellen Eingangsströme (die
in den TSI-Puffer von 3 geschrieben wurden) auf die
seriellen Ausgangsströme 111,
..., 112 ausgelesen wurden, ihre Speicherung in dem TSI-Puffer
nicht mehr notwendig ist. Nachfolgende Schreib-Bursts in diesen
Puffer während
des Rahmenintervalls können
deshalb die alten Daten überschreiben.
Dies bedeutet, daß weniger
Speicher für
die TMS-Anwendung als für
die TSI-Anwendung erforderlich ist, da nur 32 Byte (die Schreib-Burst-Größe) pro
serieller Eingabe anstatt eines oder zweier Rahmen Speicher erforderlich sind.
Außerdem
ist für
n × 64
kbit pro Sekunde keine Doppelpufferung erforderlich, weil die Zeitschlitze
sofort ausgelesen werden und somit keine Möglichkeit besteht, daß die Zeitschlitze
außerhalb
ihrer Sequenz geraten.
-
6 ist
ein Flußdiagramm
zur Implementierung einer TMS. Es ist dem TSI-Grundflußdiagramm (4)
sehr ähnlich
und enthält
die zuvor beschriebenen Änderungen
für generalisierten
TSI-Fluß sowie
die oben beschriebenen Unterschiede für eine TMS. Als Hilfe für den Leser
wird derselben Aktion dieselbe Nummer wie in 4 gegeben.
-
Für eine TMS
werden Einrichtungen hoher Bandbreite von wesentlich mehr als den
für das grundlegende
TSI-Flußdiagramm
angenommenen 2048 Mbit pro Sekunde benötigt. Dies erfordert den Zusatz
der Prüfung 449 in 6,
um den gesamten Rahmen abzuwickeln und das Verlagern des Aktionsblocks
(425) zum Initialisieren des Lesesteuerzeigers von dem
TSI-Lesezyklus zu dem Rahmeninitialisierungsteil in der Nähe des Anfangs
des TMS-Schreibzyklus von 6. Diese
beiden Schritte sind dieselben wie die für einen generalisierten TSI-Fluß beschriebenen.
-
Zur
Implementierung von TMS-Funktionalität sind die einzigen beiden Änderungen
des Flußdiagramms
wie folgt:
- 1) Verlagern des Aktionsblocks 402 aus
dem Rahmeninitialisierungsteil des TSI-Schreibvorgangs zu der inneren
Puffer-geladen-Schleife, so daß er den
vorherigen Burst überschreiben
kann, da wie in dem vorausgehenden Absatz beschrieben diese Daten
bereits ausgegeben wurden, und
- 2) Beseitigen des Aktionsblocks 403, mit dem die Doppelpufferung
implementiert wird. Das TMS-Flußdiagramm
von 6 implementiert die zeitlich gemultiplexte Vermittlungsfunktion.
-
Eine
Variante des Schreibens der Eingangspuffer 101, ..., 102 sequentiell
in den Cache-Speicher besteht darin, daß statt einen 32-Byte-Burst
aus einem einzigen Eingangspuffer zu nehmen, 8 Byte aus jedem von
vier Eingangspuffern geschrieben werden können. Dies hat den Vorteil,
die Anzahl der Byte der von den Eingangspuffern 101, ..., 102 erforderlichen Pufferung
von 32 Byte auf 8 Byte pro Puffer zu reduzieren. Es kann auch implementiert
werden, jedem von zwei Puffern 16 Byte zu entnehmen.
-
Obwohl
die bevorzugte Ausführungsform eine
sequentielle Speicherung von Eingangszeitschlitzen und Auslesen
auf der Basis des Steuerspeicherinhalts zeigt, ist es auch möglich, Speicherung auf
der Basis von Steuerspeicherinhalt in Verbindung mit sequentiellem
Auslesen zu verwenden, obwohl eine solche Anordnung Broadcast-Verbindungen weniger
effizient behandelt. Die Anordnung von 5 arbeitet
bei der nicht bevorzugten Anordnung (Speicherung auf der Basis von
Steuerspeicher und sequentielles Auslesen) für Broadcasting nicht zufriedenstellend,
weil für
jedes Eingangswort, das empfangen wird, verschiedene Mikroprozessoren
verschiedene Mengen an Verarbeitungen ausführen müssen.
-
Die
obige Beschreibung gilt für
eine bevorzugte Ausführungsform
der Erfindung des Anmelders. Fachleute können viele andere Ausführungsformen
entwerfen, ohne vom Schutzumfang der Erfindung des Anmelders abzuweichen.
Der Schutzumfang der Erfindung wird nur durch die Ansprüche begrenzt.