DE60316363T2 - Multisektionsbus in einer funkbasisstation und methode zur verwendung einer solchen funkbasisstation - Google Patents

Multisektionsbus in einer funkbasisstation und methode zur verwendung einer solchen funkbasisstation Download PDF

Info

Publication number
DE60316363T2
DE60316363T2 DE60316363T DE60316363T DE60316363T2 DE 60316363 T2 DE60316363 T2 DE 60316363T2 DE 60316363 T DE60316363 T DE 60316363T DE 60316363 T DE60316363 T DE 60316363T DE 60316363 T2 DE60316363 T2 DE 60316363T2
Authority
DE
Germany
Prior art keywords
bus
resources
communication system
task
memory
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 - Lifetime
Application number
DE60316363T
Other languages
English (en)
Other versions
DE60316363D1 (de
Inventor
Halbe Hageman
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of DE60316363D1 publication Critical patent/DE60316363D1/de
Application granted granted Critical
Publication of DE60316363T2 publication Critical patent/DE60316363T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Radio Relay Systems (AREA)

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf Verbesserungen in Funkbasissystemen. Während sich die vorliegende Anmeldung auf Busse in Funkbasisstationen richtet, werden andere Aspekte der Erfindung in gemeinsam anhängigen Anmeldungen beansprucht:
    • 1. XML controlled radio base station and method of using such a radio base station (Anwaltsakte Nr. P212132PCT)
    • 2. System with centralized resource manager (Anwaltsakte Nr. P212562PCT)
    • 3. Manifold in a radio base station and method of using such a radio base station (Anwaltsakte Nr. P212564PCT.
  • Stand der Technik
  • Funkbasisstationen (RBS) innerhalb eines Mobiltelefonsystems werden davon abgesehen, dass sie angeordnet sind, mit mobilen Endgeräten zu kommunizieren, häufig als Netzverkehrstransferpunkte zu anderen Basisstationen verwendet. Gewöhnlich verwendete Netztopologien zum Verbinden derartiger Basisstationen miteinander enthalten Ketten-, Ring- und Baumtopologien. Eine einzelne Übertragungsverknüpfung kann in Raten von 2, 4 oder 8 Mbis/s arbeiten, das größer als das ist, was durch eine einzelne Basisstation verwendet wird. Deshalb verwenden vielfache Basisstationen häufig eine einzelne Übertragungsverknüpfung. Da das physikalische Übertragungsmedium gewöhn lich eine Funkverknüpfung ist, bringen Basisstationsstandorte häufig ebenso Funkverknüpfungsausrüstung unter.
  • Jede Basisstation ist typischerweise mit einem Übertragungsnetz mit einer oder mehr physikalischen Übertragungsverknüpfungen verbunden. Die Zahl von Verknüpfungen hängt von der gewünschten Netztopologie, Anforderungen nach Redundanz und dem Bedarf für Übertragungskapazität in der Basisstation ab.
  • 1 zeigt ein Beispiel einer RBS 1 gemäß dem Stand der Technik (siehe z. B. WO01/56235 ). Die RBS 1 umfasst wie gezeigt einen Switch 5, der mit einer Vielzahl von Transceivern TRX 29 über interne Schnittstellenverbindungen 27 verbunden ist. Die internen Schnittstellenverbindungen 27 sind mit einer internen Schnittstelle 23 verbunden. Eine externe Schnittstelle 21 ist mit Ports 3, 7, 25 für externe Verbindungen verbunden. Die externe Schnittstelle 21 ist auch mit einem internen Bus 19 verbunden. Der interne Bus 19 ist auch mit einer Vielzahl von digitalen Signalprozessoren DSP 17, Speichereinheiten 13 und einer zentralen Verarbeitungseinheit CPU 12 verbunden.
  • Die externe Schnittstelle 21, die interne Schnittstelle 23, die digitalen Signalprozessoren 17, einige der Speicher und ein Teil des internen Busses können zusammen auf einer einzelnen integrierten Schaltung 9 gruppiert sein. Die zentrale Verarbeitungseinheit CPU 12 kann auf einer einzelnen integrierten Schaltung 11 implementiert sein. Es kann eine getrennte Speichereinheit 14 zur Verwendung durch die CPU 12 vorgesehen sein und kann auf einer getrennten integrierten Schaltung 15 implementiert sein.
  • Für weitere Details bezüglich der Operation der RBS 1 gemäß 1 wird auf WO01/56235 verwiesen.
  • Aktuelle Bussysteme basieren auf einzelnen Leitungen, die mit allen Elementen verbunden sind. Das Ergebnis ist, dass der Bus wegen den eher langen Leitungen (über 10 Zoll in einer Doppel-Eurogrößen-Platine) langsam ist. Je mehr parallele Einrichtungen vorhanden sind, desto größer ist auch die notwendige Ansteuerleistung. Das Ergebnis ist, dass eine hohe kapazitive und induktive Last mit der Signalreiselänge den Bus langsam macht. Ein anderer Nachteil besteht darin, dass nicht alle Ressourcen die volle Busgröße für einen Datentransport haben müssen. In Computersystemen sieht man, dass alle Elemente auf eine gewisse Busgröße (meist 32 Bit breit) angepasst sind. In einer durch Software bestimmten Funkbasisstation ist dies verschiedener, da einige nur 16 Bit zum Senden von gerade einigen Parametern benötigen, während andere 128 Bit breiten Transport erfordern, um für Echtzeitoperationen in der Frequenzdomäne schnell genug zu sein. Eine Verwendung eines Busses vom Stand der Technik würde bedeuten, dass die volle Busbreite in beiden Fällen verwendet wird, was den effektiven Durchsatz in dem Bus dramatisch absenkt.
  • Ein Multisektionsbussystem wird durch US 6598106 offenbart.
  • Zusammenfassung der Erfindung
  • Das Ziel der vorliegenden Erfindung besteht darin, ein Kommunikationssystem mit einer Busstruktur vorzusehen, die effizienter verwendet werden kann.
  • Um dieses Ziel zu erreichen, sieht die vorliegende Erfindung vor ein Kommunikationssystem, umfassend einen Monitor, Speicher, einen Bus und eine oder mehr Ressourcen, wobei der Speicher mit dem Monitor über den Bus verbunden und zum Speichern von Aufgaben und Daten angeordnet ist, jede der Ressourcen mit dem Monitor über den Bus verbunden und angeordnet ist zum Durchführen mindestens einer Funktion und Ausführen eines Programms, wobei der Bus durch eine Vielzahl von benachbarten Sektionen implementiert ist, jede Sektion als eine ASIC implementiert ist, die mit einer Ressource verbunden ist.
  • Somit ist der Bus sektioniert, sodass zwischen zwei Sektionen nur eine einzelne Verbindung mit einer beträchtlich kurzen Verbindung existiert, die z. B. typischerweise kleiner als 2 Zoll sein kann. Außerdem kann der Bus in Teilbusse unterteilt sein, was eine parallele Operation in dem Bus erlaubt. Eine weitere Steigerung wird mit der Möglichkeit einer Kreuzung in dem Bus hergestellt, sodass von der Kapazität maximaler Gebrauch gemacht werden kann. Alle drei Maßnahmen sehen gemeinsam ein Bussystem vor, das zum Handhaben massiver Transporte mit einem extrem hohen effektiven Durchsatz fähig ist.
  • In einer Ausführungsform bezieht sich die Erfindung auf ein Verfahren zum Betreiben eines Kommunikationssystems, umfassend einen Monitor, Speicher, einen Bus und eine oder mehr Ressourcen, wobei der Speicher mit dem Monitor über den Bus verbunden ist und Aufgaben und Daten speichert, jede der Ressourcen mit dem Monitor über den Bus verbunden ist, der Bus durch eine Vielzahl von benachbarten Sektionen implementiert ist, jede Sektion als eine ASIC implementiert ist, die mit einer Ressource verbunden ist, das Verfahren umfassend Übertragen von Kommunikationen zwischen dem Monitor, dem Speicher und der einen oder mehr Ressourcen über den Bus.
  • In einer weiteren Ausführungsform bezieht sich die Erfindung auf ein Computerprogrammprodukt, das Instruktionen und Daten speichert, die durch ein Kommunikationssystem zu laden sind, umfassend einen Monitor, Speicher, einen Bus und eine oder mehr Ressourcen, wobei der Speicher mit dem Monitor über den Bus verbunden ist und Aufgaben und Daten speichert, jede der Ressourcen mit dem Monitor über den Bus verbunden ist, der Bus durch eine Vielzahl von benachbarten Sektionen implementiert ist, jede Sektion als eine ASIC implementiert ist, die mit einer Ressource verbunden ist, wobei das Computerprogrammprodukt, nachdem es geladen ist, dem Kommunikationssystem erlaubt, Kommunikationen zwischen dem Monitor, dem Speicher und der einen oder mehr Ressourcen zu übertragen.
  • Schließlich bezieht sich die Erfindung auf einen Datenträger, der ein derartiges Computerprogrammprodukt umfasst.
  • Kurze Beschreibung der Zeichnungen
  • Die Erfindung wird mit Bezug auf eine Vielzahl von Zeichnungen detailliert erläutert, die nur gedacht sind, die vorliegende Erfindung zu veranschaulichen und nicht ihren Bereich zu begrenzen. Der Bereich der Erfindung wird nur durch die angefügten Ansprüche und ihre technischen Entsprechungen begrenzt.
  • 1 zeigt eine Funkbasisstation (RBS) gemäß dem Stand der Technik;
  • 2 zeigt einige Hauptmerkmale einer RBS gemäß der Erfindung;
  • 3 zeigt Beispiele von Speicherinhalt;
  • 4 zeigt ein Blockdiagramm eines Beispiels eines Monitors;
  • 5 zeigt ein Blockdiagramm eines Beispiels eines Monitorplaners;
  • 6 zeigt ein Blockdiagramm eines Beispiels einer Monitorausführungseinrichtung;
  • 7 zeigt ein Diagramm, um Verwendung von XML in einer Zustandsmaschinendefinition darzustellen;
  • 8 zeigt ein Diagramm, um Verwendung von XML in einer Aufgabendefinition darzustellen;
  • 9 zeigt ein Blockdiagramm eines Beispiels eines "Verteilers", d. h. definiert als eine Verbindungsstation, umfassend Knoten zwischen Eingangs- und Ausgangsleitungen, und angeordnet, mathematische Operationen in eingehenden Signalen in den Eingangsleitungen durchzuführen;
  • 10 zeigt ein Blockdiagramm eines Beispiels eines analogen Verteilers;
  • 11 zeigt ein Blockdiagramm eines Beispiels von "bordeigenen" Sektionen eines Busses;
  • 12 zeigt ein Blockdiagramm von zwei benachbarten ASICs (anwendungsspezifische integrierte Schaltung) zum weiteren Erläutern der Erfindung;
  • 13 zeigt ein Blockdiagramm von zwei benachbarten ASICs, wobei sich jede als eine terminierende ASIC auf einer getrennten Platine befindet;
  • 14 zeigt ein Blockdiagramm einer ASIC-internen Matrix für Buszuweisung und Isolierung;
  • 15 zeigt einige Beispiele möglicher Konfigurationen eines ASIC-internen Verbindungsbusses;
  • 16a, 16b und 16c zeigen Beispiele von vielfachen Operationen in einem 12-Sektionsbus;
  • 17 zeigt ein Blockdiagramm, um ein Busverhandlungsprinzip darzustellen.
  • Beschreibung von Ausführungsformen
  • I. Allgemeine Einrichtung einer Funkbasisstation
  • In einem ersten Aspekt bezieht sich die Erfindung auf eine allgemeine Einrichtung einer Funkbasisstation RBS.
  • 2 zeigt einige Hauptkomponenten einer Funkbasisstation RBS 30. Die RBS 30 umfasst einen Monitor 31, d. h. einen Prozessor, der vorbestimmte Aufgaben unter Instruktionen von einem geeigneten Softwareprogramm durchführt, das in einen geeigneten Speicher geladen ist. Der Monitor 31 ist mit einem Bus 51 verbunden. Andere Komponenten, die mit dem Bus 51 verbunden sind, sind: eine Speichersteuervorrichtung 57, einen oder mehr Aufgabenspeicher 33, ein oder mehr Sender TX 35(i), i = 1, 2, ..., I, ein oder mehr Empfänger RX 37(j), j = 1, 2, ..., J, ein oder mehr Analogsignal-"Verteiler" 39(k), k = 1, 2, ..., K, ein oder mehr Digital-Analogwandler DAC 41(m), m = 1, 2, ..., M, ein oder mehr Analog-Digitalwandler ADC 43(n), n = 1, 2, ..., N, eine oder mehr Steuereinheiten CU 45(o), o = 1, 2, ..., O, ein oder mehr Digital-Signalprozessoren DSP 47(p), p = 1, 2, ..., P, und ein oder mehr Datenspeicher 49. Die Speichersteuervorrichtung 57 ist mit sowohl dem Aufgabenspeicher 33 als auch dem Datenspeicher 49 zum Steuern von Lese- und Schreiboperationen verbunden. Die Speicher 49 und 33 können auf eine beliebige Weise implementiert sein, die einem Fachmann bekannt ist, z. B. auf einer Festplatte oder in der gleichen integrierten Schaltung, können aber auch physikalisch getrennt sein.
  • Es wird beobachtet, dass ein "Verteiler" als eine Verbindungsstation definiert sein kann, umfassend Knoten zwischen Eingangs- und Ausgangsleitungen, wobei Knoten angeordnet sind, mathematische Operationen in eingehenden Signalen in den Eingangsleitungen durchzuführen. Ihre Operation wird hierin nachstehend mit Bezug auf 7, 8 detailliert erläutert.
  • Alle Komponenten, die in 2 gezeigt werden, mit Ausnahme des Monitors 31 selbst, sind Ressourcenelemente für den Monitor 31.
  • Vor einer detaillierten Betrachtung wird zuerst eine kurze Erläuterung der Operation der RBS 30 gegeben.
  • Die Aufgaben von RBS 30 sind in dem Aufgabenspeicher 33 enthalten. Der Aufgabenspeicher 33 ist vorzugsweise ein nichtflüchtiger Speicher, der die Aufgaben speichert, die vorzugsweise in XML (erweiterbare Auszeichnungssprache) definiert sind. XML verwendet eine Tag-Struktur zum Definieren von z. B. Datenelementen auf Web-Seiten und Dokumenten von Geschäft zu Geschäft. Ihr Hauptmerkmal besteht darin, dass sie definiert, was diese Elemente enthalten. So wird in dem Kontext dieser Erfindung "XML" als eine Referenz auf eine Sprache verwendet, die Tags mit dem Inhalt von Datenelementen verwendet.
  • Der Monitor 31 empfängt Trigger von allen Ressourcenelementen, d. h. TXs 35(i), RXs 37(j), DACs 41(m), ADCs 43(n), CUs 45(o), DSPs 47(p) über Bus 51. Der Datenspeicher 49 und Verteiler 39(k) sehen keine Trigger vor, da sie lediglich für eine Funktion eingerichtet sind, aber nicht tatsächlich ein Programm ausführen.
  • Hier sind "Trigger" unterschiedliche Signale, die kontinuierlich sind, anstatt als Impuls geformt zu sein. Abgesehen vom Senden von Triggern können Ressourcen ein Statuswort auf Empfangen eines Statusanforderungsbefehls von Monitor 31 hin senden.
  • Der Monitor 31 agiert beständig in Triggern und bestimmt, ob eine neue Aufgabe gestartet werden muss. Falls ja, liest der Monitor 31 die in XML definierte Aufgabe aus dem Aufgabenspeicher 33 und prüft, ob die Ressourcenelemente verfügbar sind, die zum Durchführen dieser Aufgabe erforderlich sind. Dafür ist eine Ressourcentabelle in dem Datenspeicher 49 enthalten, die den aktuellen Status (belegt oder frei) und eine Charakteristik für jedes verfügbare Ressourcenelement enthält.
  • Falls alle Ressourcenelemente verfügbar sind, dann werden die Ressourcenelemente in der Ressourcentabelle in dem Datenspeicher 49 gesperrt (belegt gesetzt). Dann bekommt jedes Ressourcenelement seine Instruktion über den Bus 51, die den Standort ihres spezifischen Codes und Einstellungen innerhalb der Aufgabe und den Startstandort des betroffenen Datenbereiches enthält. Die Instruktionen (Befehle) sind innerhalb der definierten Aufgaben und werden durch den Monitor 31 zu der Ressource übertragen. Die DSPs sind eine Ausnahme in dem Sinne, dass sie Codeblöcke direkt aus dem Speicher abrufen. Dies sollte auch auf die Ressourcen zutreffen, die einen Prozessor enthalten, der angeordnet ist, aufgabenabhängigen Code durchzuführen (z. B. eine CU 45(o)), die einen Allzweckprozessor umfasst). In einigen Aufgaben werden Datenblöcke benötigt. Dann ruft die Ressource diese Datenblöcke aus dem Speicher ab und speichert sie nach Verwendung, falls notwendig. Diese Datenblöcke können von einem RAM kommen, der dynamische Daten umfasst, oder einem ROM, der statische Daten wie Vorgaben umfasst (vgl. 3).
  • Vorzugsweise agiert der Monitor 31 als ein Vielfachzustandssequenzer, was bedeutet, dass er viele Sequenzen von Aufgaben parallel handhaben kann. Schreiten durch die Sequenz basiert auf den Triggern und dem Status, was von zugewiesenen Ressourcen empfangen wird. Dafür leitet der Monitor 31 mit der Zuweisung des Ressourcenelementes auch intern die Trigger der Ressourcen zu dem richtigen Sequenzer weiter, der die Kette von Aufgaben handhabt. Die Auswahl einer nächsten Aufgabe, die auszuwählen und basierend auf eingehenden Triggern zugewiesen ist, ist in der XML-Definition enthalten.
  • Der Monitor 31 schreibt Befehlsblöcke zu allen Ressourcen, die die Aufgabe spezifizieren, die durchzuführen ist. Nur einige Ressourcen (wie ein DSP 47(p)) werden eigenen Code lesen müssen, bevor eine tatsächliche Ausführung der zugewiesenen Aufgabe beginnen kann.
  • Eine spezifische Ressource ist der Verteiler 39(k). In einer Ausführungsform wird ein HF (Hochfrequenz) Verteiler vorgesehen, der alle möglichen Routings zwischen HF-Komponenten wie DACs 41(m), TXs 35(i), ADCs 43(n), RXs 37(j) und Signalgeneratoren (nicht gezeigt, z. B. notwendig, um Signale mit einer Zwischenfrequenz in GSM-Systemen zu generieren, wie einem Fachmann bekannt ist) kombiniert. Der Verteiler 39(k) enthält einfache Operationen, wie Addieren, Subtrahieren oder Multiplikation von analogen Signalen, wie nachstehend erläutert wird.
  • Der Bus 51 ist vorzugsweise eine vielfache 16/32/64/128/256-Bit-Architektur basierend auf dem Datagrammprinzip (ein Datagramm ist die Einheit von Daten, oder Paket, das in einem TCP/IP-Netz übertragen wird. Datagramme enthalten Quell- und Zieladressen und Daten). In einer Ausführungsform ist die Buskapazität von Bus 51 in kleinere Einheiten teilbar, sodass vielfache Kommunikationen über den gleichen Bus 51 geschehen können. Der Bus 51 kann auch die Merkmale von Sektionsisolierung und Sektionskreuzung enthalten, die auch zu einem hohen effektiven Durchsatz beitragen. Die Merkmale von Bus 51 werden mit Bezug auf 915 detailliert erläutert.
  • Nachstehend werden mehrere Aspekte der vorliegenden Erfindung detailliert erläutert.
  • I.1 Speichersteuerung
  • Speichersteuerung bezogen auf sowohl den nicht-flüchtigen Aufgabenspeicher 53 als auch den Datenspeicher 49 ist etwas verschieden von dem, was gewöhnlich im Computern verwendet wird. Das zentrale Bussystem basiert auf Bus 51 und daher die Architektur auf dem Datagrammprinzip aufgebaut. Es bedeutet, dass nur eine Schreiboperation von einer Quelle zu einem Ziel möglich ist. Ein Ressourcenelement muss einen Abschnitt von Speicherinhalt von Datenspeicher 49 (oder Aufgabenspeicher 33) anfordern, der zu übertragen ist. Die Speichersteuervorrichtung 57 agiert in dieser Anforderung durch Übertragen als Quelle eines Datagramms zurück zu dem anfordernden Ressourcenelement, das die Daten enthält, wie in dem Datenspeicher 49 gespeichert. Speicher 33, 49 selbst sind sehr spezifische Typen von Ressourcenelementen. Die ganzen Speicher 33, 49 sind in Sektoren unterteilt. Im Grunde ist das System identisch zu einem Disketten- oder Festplattensystem. In der Tat kann eine beliebige Kombination einer Festplatte, ROM, RAM etc. verwendet werden, um die 2 Speicher 33, 49 zu bilden. Die Speichersteuervorrichtung 57 der Speicher kümmert sich um Lesen/Schreiben eines Sektors. Der "ROM"-Teil wird betrachtet, eine Festplatte oder EEPROM oder dergleichen zu sein, was Fernaktualisierung erlaubt. Ein Block von Daten kann eine beliebige Zahl von Sektoren enthalten, die nicht notwendigerweise fortlaufend sind. Für jeden Block sind ein Identifikator, eine Länge und eine Sektorliste in der Datenblockliste enthalten. Nicht verwendete Sektoren werden zu einem Block kombiniert, der wie jeder Block einen Identifikator, eine Länge und eine Sektorliste hat. Der Sektor ist auch die minimale Größe im Datentransport. Lesen einer Anforderung oder Schreiben eines Blocks geschieht immer für N Sektoren. Die Datenblockliste ist in der Größe dynamisch und wird durch die Speichersteuervorrichtung 57 gesteuert (wie der Rest der Ressourcenzuordnungstabelle durch den Monitor 31 gesteuert wird). Somit ist der Speicher eine Ressource und die Datenblockliste 65 ist eine Ausnahme zu der Ressourcenzuordnungstabelle 63.
  • Die Vorbereitung von dynamischen Datenblöcken geschieht durch den Monitor 31 wie die Vorbereitung eines beliebigen anderen Ressourcenelementes. Aufgaben, die Speicher benötigen, müssen Blockgröße als eine Ressourcenanforderung erwähnen. Angeforderte Speicherblöcke werden nicht immer betrachtet, die Aufgabe zu überleben. Falls ein angeforderter dynamischer Datenblock eine Aufgabe überleben soll, muss ein Anforderer höherer Ordnung, wie eine Zustandsmaschine, den Datenblock anfordern. Der Grund dafür ist, dass es keinen realen Stapelmechanismus gibt und andere Aufgaben und Zustandsmaschinen nicht rekurrent oder multi-threaded sein können. Deshalb stehen dynamische Datenblöcke nicht so viel mit ihrer Aufgabe oder Zustandsmaschine, sondern eher mit einer Sequenznummer ihrer Instanz in Verbindung. Inter-Aufgabenverwendung wird zeitweilig im DSP-Speicher (nicht gezeigt) gespeichert, der in den DSPs 47(p) enthalten ist.
  • Die Basiselemente, die in sowohl dem Aufgabenspeicher 33 als auch dem Datenspeicher 49 enthalten sind, werden in 3 gezeigt. 3 zeigt einen RAM-Abschnitt 59 und einen ROM-Abschnitt 61 von Speichern 33, 49. Der RAM-Abschnitt 59 umfasst eine Ressourcenzuordnungstabelle 63, eine Datenblockliste 65 und Datenblöcke 67. Der ROM-Abschnitt umfasst eine SM-(= Zustandsmaschine)Definition 69, eine Aufgabendefinition 71 und Vorgabestrukturen 73.
  • Die Ressourcenzuordnungstabelle 63 enthält einen Eintrag für jedes Ressourcenelement, umfassend einen Ressourcenelement-ID (identisch z. B. zu dem Bus-ID von Bus 51), den Status (frei/belegt) des Ressourcenelementes und eine Parameterliste, die Schlüsselcharakteristika von Ressourcenelementen enthält (falls zum Auswählen zwischen Ressourcenelementen erforderlich, die nicht identische Fähigkeiten haben). Die Ressourcenzuordnungstabelle 63 wird beim Hochfahren der RBS 30 aus den Vorgabestrukturen 73 gelesen und wird durch den Monitor 31 unterhalten.
  • Die Datenblockliste 65 enthält einen Eintrag für jeden Datenblock von "ROM" oder "RAM" (auch die Datenblockliste 65 selbst). Jeder Eintrag umfasst: einen Datenblock-ID, Länge in Sektoren, die durch einen Datenblock belegt wird, und eine Sektorliste. Es wird eine anfängliche Datenblockliste 65 aus den Vorgabestrukturen 73 beim Hochfahren gelesen und wird durch die Speichersteuervorrichtung 57 unterhalten.
  • Die SM-Definitionen 69 enthalten verschiedene Zustandsmaschinendefinitionen. Jede SM-Definition ist ein Datenblock, wie zuvor definiert. Die SM-Definition ist eine Liste von Zustandsmaschinenschritten, wobei jeder Schritt einen aktuellen Zustand, eine Entscheidungsmaske und einen nächsten Zustand umfasst. Ein Zustand ist der Identifikator für eine Zustandsmaschine unterer Ebene oder eine Aufgabe. Die Entscheidungsmaske wird verwendet, um gewisse Bits von einem Trigger auszuwählen, der von einem anfordernden Ressourcenelement empfangen wird.
  • Die Vorgabestrukturen 73 enthalten Strukturen, wie eine anfängliche Ressourcentabelle, eine anfängliche Datenblocklis te, Codesektionen für DSP's 47(p) und andere Datenstrukturen, die fest sind und auf die als ein getrennter Block während einer Operation der RBS 30 zugegriffen werden muss.
  • Die Aufgabendefinition 71 enthält die verschiedenen Aufgaben, wobei jede Aufgabe ein Datenblock ist, wie im voraus definiert. Jede Aufgabe umfasst: einen Prioritätsindikator, eine Ressourcenliste, eine Liste von angeforderten dynamischen Datenblöcken und eine Triggerspezifikationsliste.
  • Der Prioritätsindikator zeigt einen vorbestimmten Grad von Priorität bezogen auf die Echtzeitwichtigkeit der Aufgabe an, die durchzuführen ist. Die Ressourcenliste enthält pro Ressourcenelement: Typ, Charakteristika, Befehlsblöcke für Start, Zustand und Stopp und einen Codeblockidentifikator. Abhängig von dem Ressourcenelementtyp sind nicht immer alle Elemente vorhanden. Der Befehlsblock wird durch den Monitor basierend auf zugeordneten Ressourcen dynamisch abgestimmt. Beispiel: der ID des DAC, wohin die Ausgabe des DSP zu senden ist.
  • Die Liste von angeforderten dynamischen Datenblöcken enthält pro angeforderten Datenblock einen Datenblockidentifikator und eine Größe des Datenblocks in Sektoren.
  • Die Triggerspezifikationsliste enthält einen Triggeridentifikator für jeden Trigger. Die Sequenz in der Liste spezifiziert auch das Layout eines Triggerwortes für den Monitor 31. Triggerworte werden durch den Monitor 31 zusammengestellt, wie nachstehend erörtert wird. Der Monitor 31 passt die Spezifikation mit Spezifika der zugewiesenen Ressourcenelemente an. Ein Beispiel ist: der ID eines zugewiesenen DSP 47(p) wird durch den Monitor 31 als der Triggeridentifikator hinzugefügt, erwähnt nur "PROGRAM READY DSP". Der Monitor 31 wird Trigger "PROGRAM READY DSP 4" verwenden.
  • I.2 Monitor
  • Wie in 4 gezeigt, ist der Monitor 31 mit 3 Teilen aufgebaut: Konzentrator 75, Sequenzer und 79 und Ausführungseinrichtung 77. Ein FIFO-(First In First Out)Speicher 81 zum Puffern von Aufgaben, die zu starten sind, die durch den Sequenzer 79 zu der Ausführungseinrichtung 77 gesendet werden, ist zwischen Sequenzer 79 und Ausführungseinrichtung 77 vorgesehen.
  • Der Sequenzer 79 ist der Kernteil. Er handhabt verschiedene Zustandsmaschinen parallel. Jede Zustandsmaschine hat eine Tabelle, die im Speicher gespeichert ist, mit einem aktuellen Zustand (C), einem nächsten Zustand (N) und einem Triggermasken-(TM)Wert (vgl. 5). Der Sequenzer 79 tastet kontinuierlich jede Zustandsmaschine ab, wobei der aktuelle Zustand und der Wert des Triggerwortes, wie von der Ausführungseinrichtung 77 empfangen, mit den Vorkommen des aktuellen Zustands und der Triggermaske in der Tabelle verglichen wird. Falls eine Übereinstimmung gefunden wird, wird der nächste Zustand der aktuelle Zustand; anderenfalls wird der aktuelle beibehalten. Ein nächster Zustand ist entweder eine Aufgabe oder ist erneut eine Zustandsmaschine. In dem letzteren Fall wird der Sequenzer 79 die entsprechende Zustandsmaschinendefinition 69 aus dem ROM-Abschnitt 61 durch Senden einer SM-Blockanforderung nach der spezifischen Zustandsmaschine zu dem ROM-Abschnitt 61 abrufen. Der ROM-Abschnitt 61 stellt als Rückgabe den SM-Block bereit. Falls es eine Aufgabe ist, dann wird das Hochfahren der Aufgabe, d. h. ein Aufgaben-ID (Name) und eine SM-Sequenznummer, durch den Sequenzer 79 zu der Ausführungseinrichtung 77 weitergeleitet. Dann liest die Ausführungseinrichtung 77 eine Aufgabendefinition 71 aus dem ROM-Abschnitt 69 über eine Übertragung einer Aufgabendefinitionsanforderung. Die Ausführungseinrichtung 77 weist Ressourcenelemente in Reihe mit der Aufgabendefinition in dem Aufgabenblock zu, der von dem ROM-Abschnitt 61 empfangen wird. Falls nicht alle erforderlichen Ressourcenelemente verfügbar sind, wird die betroffene Aufgabe suspendiert, bis die erforderlichen Ressourcenelemente verfügbar sind. Die Ausführungseinrichtung 77 startet die Ressourcenelemente durch Ausgabe eines Befehlsblocks zu jedem Ressourcenelement. Für die meisten Ressourcenelemente ist der Befehlsblock zum Arbeiten ausreichend, da der Befehlsblock alle erforderliche Information für die Ressource enthält, um ihre Aktionen als Teil der gesamten Ausgabe durchzuführen. Einige Ressourcenelemente wie die DSP's 47(p) müssen, nach Empfang des Befehlsblocks, das aufgabenspezifische ausführbare Abbild aus dem Speicher abrufen. Die Ressource gibt eine Blockleseanforderung zu dem Speicher, die die erforderliche Codesektion, wie in dem Befehlsblock spezifiziert, zu der Ressource ab. Die empfangene Codesektion aus dem Speicher wird in den der Ressource eigenen lokalen Speicher (diese lokalen Speicher sind in den Figuren nicht gezeigt) platziert. In dem Fall, dass die Ressource die Codesektion noch in ihrem lokalen Speicher (nicht gezeigt) verfügbar hat, wird die Anforderung nach der Codesektion weggelassen. (Der Grund dafür, die Codesektionen nicht in den Befehl zu bringen, ist, da ein Sektor die Einheit eines Transports in dem Bus 51 ist. Ein Befehl belegt immer nur einen Sektor, wohingegen Codesektionen im allgemeinen größer als ein Sektor sind). Die Ausführungseinrichtung 77 unterhält die Ressourcenzuordnungstabelle 63 in dem RAM-Abschnitt 59, das tatsächliche Lesen und Schreiben von Speicherinhalt geschieht aber durch die Speichersteuervorrichtung 57. D. h. der Inhalt von Speichern 33, 49 kann durch die Ausführungseinrichtung 77 angefordert werden, die Steuerung geschieht aber durch die Speichersteuervorrichtung 57.
  • Jede Aufgabe umfasst eine Triggerwortdefinition, die bestimmt, wie ein Triggerwort aus verschiedenen Signalen und Komponenten in Statusworten aufzubauen ist. Um ein Triggerwort aufzubauen, wird ein Abschnitt bezogen auf diese Signale zu dem Konzentrator 75 gesendet, wobei der Abschnitt dann durch Teile der Statusworte erweitert wird. Das Ergebnis ist ein Triggerwort fixierter Länge. Die Ausführungseinrichtung 77 agiert nicht in dem Triggerwort, sondern in den unterschiedlichen Triggersignalen, wohingegen der Sequenzer 79 in Triggerworten agiert.
  • Das Triggerwort kann Trigger von Ressourcenelementen erhalten, die in der Laufzeit bestimmt werden. Es gibt unterschiedliche Typen von Triggern, unter denen: ein gestarteter Trigger, der anzeigt, dass eine Ressource eine Durchführung ihres Teils einer Aufgabe gestartet hat, ein Abschlusstrigger, der durch ein Ressourcenelement verwendet wird um anzuzeigen, dass seine (sein Teil der) Aufgabe abgeschlossen ist und das Ressourcenelement bereit ist, eine nächste Aufgabe durchzuführen, ein Ausnahmetrigger, der anzeigt, dass eine Ausnahmesituation aufgetreten ist, wie ein RX-Empfangspegel unter einer Schwelle oder eine Mobilstation, die aus dem Bereich einer Funkbasisstation gekommen ist.
  • Nach Empfangen eines Triggers bestimmt die Ausführungseinrichtung 77 ein spezifisches Triggersignal in dem korrekten Format während einer Ressourcenelementzuweisung, wie oben erläutert (z. B. der DSP, der zu verwenden ist, wird ausdrücklich angezeigt). Nachdem Ressourcenelemente zugewiesen sind, empfängt und verwendet die Ausführungseinrichtung 77 auch Triggersignale von zugewiesenen Ressourcenelementen. Z. B. kann nach Empfang eines Bereittriggersignals von einem Ressourcenelement die Ausführungseinrichtung 77 sie erneut freigeben. Einige Ressourcenelemente, wie die Verteiler 39(k), generieren und senden ein Bereittriggersignal nicht. Sie wer den einen Terminierungsbefehl von der Ausführungseinrichtung 77 empfangen, nachdem alle Ressourcenelemente, denen zugewiesen ist, eine Aufgabe durchzuführen, Bereittrigger zu der Ausführungseinrichtung 77 gesendet haben. Nach Empfang eines derartigen Terminierungsbefehls sind derartige Ressourcenelemente dann frei, eine andere Aufgabe durchzuführen.
  • I.3 Monitorsequenzer
  • Wie in 5 gezeigt, umfasst der Sequenzer 79 eine Verarbeitungseinheit, die "Scanner/Steuervorrichtung" 83 genannt wird, und einen Speicher 85. Der Speicher 85 umfasst mehrere Felder, die jedes eine Zustandsmaschine SM(q), q = 1, 2, 3, ..., Q speichert. Jede Zustandsmaschine SM(q) ist eine SM-Tabelle, die drei Spalten umfasst: eine Spalte C, die den aktuellen Zustand umfasst, eine Spalte TM, die die Triggermaske umfasst, und eine Spalte N, die den nächsten Zustand umfasst. Diese Tabelle definiert die möglichen Zustandsübergänge der Zustandsmaschine. Außerdem umfasst jede Zustandsmaschine SM(q) die folgenden Datenelemente:
    • • aktueller Zustand, der den Zustand anzeigt, der gegenwärtig der aktive Zustand für diese Zustandsmaschine ist;
    • • Triggerwort, das eine Zusammensetzung von Triggern und Status anzeigt, wie von der Ausführungseinrichtung 77 empfangen und mit einer Aufgabe der vorliegenden Zustandsmaschine SM(q) in Verbindung steht;
    • • frei/belegt, was anzeigt, ob die Zustandsmaschine SM(q) frei oder belegt ist;
    • • ursprüngliche SM-Sequenznummer, die die Elternzustandsmaschinensequenznummer anzeigt, die für den Start dieser Zustandsmaschine verantwortlich ist.
  • Der Scanner/Steuervorrichtung 83 ist angeordnet, Aufgabenstartinformationen, die einen Aufgaben-ID und die Sequenznummer der zugehörigen Zustandsmaschine umfassen, zu der Ausführungseinrichtung 77 zu senden, und ein Triggerwort von der Ausführungseinrichtung 77 als Rückgabe zu empfangen, wenn die Aufgabe abgeschlossen ist. Außerdem ist der Sequenzer 79 angeordnet, SM-Blockanforderungen zu dem ROM-Abschnitt 61 zu senden, und SM-Blöcke als Rückgabe von dem ROM 61 zu empfangen.
  • Beim Hochfahren wird eine anfängliche SM(1) in einer ersten Position in Speicher 85 geladen. Der Scanner/Steuervorrichtung 83 liest die SM-Definition aus dem Speicherabschnitt 61 durch Abgabe einer SM-Blockanforderung. Diese SM-Definition bestimmt die Basisfunktionen und läuft kontinuierlich und tastet Aktionen ab, die zu unternehmen sind. Der Sequenzer 79 lädt die empfangene SM-Definition in seinen Speicher 85. Beim Laden wird das Feld frei/belegt auf "belegt" gesetzt, aber die veranlassende SM-Sequenznummer wird auf 1 gesetzt, was die eigene (erste) Zustandsmaschine ist. Dies ist nur für die erste SM(1) gültig. Alle anderen Zustandsmaschinen SM (2, 3, ...) werden eine reale veranlassende SM-Sequenznummer bekommen.
  • Der Startzustand einer SM wird durch die erste Zustandsübergangsdefinition in der Zustandsübergangstabelle definiert, gekennzeichnet durch ein leeres aktuelles Zustandsfeld und keinen Triggermaskenwert. Die SM(q) startet mit dem nächsten Zustand, der in dieser Zustandsübergangsdefinition definiert ist. Der Zustand ist tatsächlich ein Name gleich der Identifikation einer SM(q) oder Aufgabe, beginnend mit "SM" (= Zustandsmaschine) oder "T" (= Aufgabe), um dem Scanner/Steuervorrichtung 83 zu erlauben, die erforderliche Operation durchzuführen.
  • Wenn ein Zustand eine Aufgabe ist, werden der ID der Aufgabe (= Zustandsname) und die SM-Sequenznummer zu der Ausführungseinrichtung 77 über die Aufgabendefinition gesendet. Das Triggerwort für die SM(q) im Speicher 85 wird gelöscht. Wenn eine Aufgabe abgeschlossen ist, gibt die Ausführungseinrichtung 77 ein Triggerwort zurück, das gemäß der Definition in der Aufgabe zusammengebaut ist. Dieses Triggerwort und die SM-Sequenznummer, die zu der Aufgabe gehört, werden durch den Scanner/Steuervorrichtung 83 empfangen. Der Scanner/Steuervorrichtung 83 bringt dann das empfangene Triggerwort in das zugehörige Triggerwortfeld dieser SM(q). Nur wenn eine neue Aufgabe gestartet wird, wird das Triggerwort zurückgesetzt. Das Triggerwort wird nicht zurückgesetzt, sondern überschrieben, falls eine Rückgabe von einer Zustandsmaschine unterer Ebene geschieht. Dann wird das Triggerwort der letzten ausgeführten Aufgabe der Zustandsmaschine unterer Ebene für ein derartiges Überschreiben verwendet.
  • Der Scanner/Steuervorrichtung 83 prüft einen nach dem anderen den Indikator frei/belegt der Zustandsmaschinen SM(q). Falls frei, wird die nächste Position (nächste Zustandsmaschine) genommen. Wenn belegt, wird der Scanner das Triggerwort mit der Triggermaske TM für jeden Zustandsübergänge in der Tabelle vergleichen, wo das Feld des aktuelles Zustands gleich dem tatsächlichen aktuellen Zustand ist, wie für diese Zustandsmaschine SM(q) gespeichert. Falls die Triggermaske TM und das Triggerwort eine Übereinstimmung ergeben, ist der Zustand in der Spalte des nächsten Zustands N für diese Zustandsübergangsdefinition der neue aktuelle Zustand. Dieser nächste Zustand N wird in das Feld des aktuellen Zustands geladen, das Triggerwort wird gelöscht und eine Aufgabenstartanforderung wird zu der Ausführungseinrichtung 77 gesendet oder eine andere SM(q) wird in die nächste "freie" Position in Speicher 85 geladen. Wenn eine Zustandsmaschine SM(q) end lich ist, hat sie mindestens eine Zustandsübergangsdefinition (aktueller Zustand, Triggermaske, nächster Zustand), in der der nächste Zustand leer ist. Das Feld frei/belegt wird auf "frei" gesetzt, sodass der Scanner nicht mehr auf die Zustandsmaschine zugreifen wird. Das verfügbare Triggerwort wird zu der veranlassenden Zustandsmaschinennummer kopiert und kann zum Bestimmen des nächsten Zustands N verwendet werden.
  • I.4 Monitorausführungseinrichtung
  • Wie in 6 gezeigt, umfasst die Ausführungseinrichtung 77 einen Scanner/Steuervorrichtung 87 und einen Speicher 89. Der Speicher 89 umfasst Laufzeitaufgabendefinitionen T(q), q = 1, 2, ..., Q. Jede Laufzeitaufgabendefinition umfasst eine SM-Sequenznummer und einen Aufgabenstatus. Außerdem zeigt 6, dass die Ausführungseinrichtung 77 einen Speicherabschnitt 91 hat, der mögliche Aufgabenschlangen speichert, umfassend Feldnummern q, die Bezüge (Referenzen) auf Aufgaben sind, die darauf warten, durchgeführt zu werden. Jede Aufgabenschlange bezieht sich auf einen anderen Prioritätsgrad. Aufgaben, die durch ihre Feldnummer q in einer Aufgabenschlange identifiziert werden, haben den gleichen Prioritätsgrad.
  • Die Ausführungseinrichtung 77 hat Q Felder, um eine Aufgabe zu laden. Wenn eine Aufgabenausführungsanforderung von dem Sequenzer 79 durch den Scanner/Steuervorrichtung 87 empfangen wird, wird der Scanner/Steuervorrichtung 87 eine Aufgabenblockanforderung zu dem ROM 61 abgeben. Der ROM 61 wird den angeforderten Aufgabenblock zu dem Scanner/Steuervorrichtung 77 senden. Wenn der Aufgabenblock empfangen wird, speichert der Scanner/Steuervorrichtung 87 ihn in dem ersten nicht-belegten Feld in dem Speicher 89. D. h. der Scanner/Steuervorrichtung sucht das erste Feld mit dem Aufgabenstatus "frei". Die SM-Sequenznummer, wie von dem Sequenzer 79 empfangen, wird in der korrekten Aufgabenposition gespeichert und der betroffene Aufgabenstatus wird auf "geplant" gesetzt.
  • Die Aufgabendefinition, wie in Speicher 89 gespeichert, umfasst unter anderem eine Angabe eines Prioritätsgrades. Jeder Prioritätsgrad entspricht einer der Aufgabenschlangen. Der Scanner/Steuervorrichtung 87 platziert die Feldnummer q der betroffenen Aufgabe in dem Ende der Schlange von Feldnummern, die bereits in der Aufgabenschlange warten entsprechend dem betroffenen Prioritätsgrad. Die Aufgabe ist nun in den Abtastprozess einbezogen, d. h. in den Prozess, in dem der Scanner/Steuervorrichtung 87 die Aufgabenschlangen 91 nach Feldnummern q von Aufgaben abtastet, die auf eine Durchführung warten.
  • Wenn der Scanner/Steuervorrichtung 87 die Aufgabenschlangen 91 abtastet, was er in der Reihenfolge des Prioritätsgrades tut, wird auf eine Aufgabe mittels der Feldnummer q verwiesen. Dann liest er den Aufgabenstatus der betroffenen Aufgabe aus dem Speicher 89.
  • Wenn der Aufgabenstatus "geplant" ist, prüft der Scanner/Steuervorrichtung 87 die Ressourcendefinitionen, die anzeigen, welche (Art von) Ressourcen für die betroffene Aufgabe erforderlich sind und die in der Laufzeitaufgabendefinition identifiziert sind. Dann prüft der Scanner/Steuervorrichtung in der Ressourcenzuordnungstabelle 63 (3), ob diese (Art von) Ressourcen verfügbar sind. Falls alle diese (Art von) Ressourcen verfügbar gemacht werden können, werden die Ressourcen für diese Aufgabe in der Ressourcenzuordnungstabelle 63 gesperrt. Der Scanner/Steuervorrichtung wird darüber informiert, welche spezifischen der Ressourcen gesperrt sind.
  • Auch werden die dynamischen Datenblöcke zu der Speichersteuervorrichtung 57 zugeordnet. Wie früher erläutert, können ei nige der Ressourcendefinitionen auf eine generische angegebene Ressourcenart verweisen, z. B. "DSP" an Stelle von DSP4. Der Scanner/Steuervorrichtung 87 modifiziert die generischen angegebenen Ressourcendefinitionen in der Aufgabendefinition in Speicher 89 zu tatsächlichen Ressourcendefinitionen in Übereinstimmung mit der Information, die von der Ressourcenzuordnungstabelle 63 empfangen wird. Dann werden Startbefehlsblöcke zu den spezifischen Ressourcen gesendet und der Aufgabenstatus in Speicher 89 wird auf "gestartet" gesetzt.
  • Der Scanner/Steuervorrichtung 87 setzt mit der nächsten Aufgabe fort, worauf in der Aufgabenschlange verwiesen wird mit dem gleichen Prioritätsgrad. Falls diese Schlange fertig ist, wendet er sich zu der folgenden Aufgabenschlange mit einer nächsten geringeren Priorität. Nachdem die letzte Aufgabe mit der geringsten Priorität abgetastet wurde, startet der Scanner/Steuervorrichtung 87 von neuem mit der Aufgabenschlange mit der höchsten Priorität. Wenn der Scanner die Aufgabe erneut erreicht, liest er die Triggerspezifikation und leitet sie zu dem Konzentrator 75 weiter. Der Konzentrator 75 antwortet durch Senden ausgewählter Trigger und die Ausführungseinrichtung 77 vergleicht die empfangenen ausgewählten Trigger mit der Maske in der Triggerdefinition. Wenn der Vergleich, der durch die Ausführungseinrichtung 77 durchgeführt wird, nicht zu Aufgabe "abgeschlossen" führt, setzt der Scanner/Steuervorrichtung 87 mit der nächsten Aufgabe fort. Falls jedoch das Ergebnis zeigt, dass die Aufgabe "abgeschlossen" ist, dann gibt der Scanner/Steuervorrichtung 87 die Statusbefehlsblöcke einschließlich der Aufgabenfeldnummern q zu Ressourcen, die in eine Durchführung der Aufgabe einbezogen sind. Als eine Folge antworten die Ressourcen mit Senden eines Statusblocks, der die Aufgabenfeldnummer q enthält, zu dem Monitor 31.
  • Der Scanner/Steuervorrichtung 87 setzt den Aufgabenstatus in der Laufzeitaufgabendefinition auf "bereit" und setzt mit der nächsten Aufgabe fort, wie in den Aufgabenschlangen angezeigt.
  • Die Statusantworten von den Ressourcen als Reaktion auf die Statusbefehlsblöcke werden durch den Scanner/Steuervorrichtung 87 empfangen und in die Laufzeitaufgabendefinition platziert, die durch die Feldnummer q identifiziert wird, die in den Statusantworten zurückgegeben wird, und in der richtigen Stelle, die durch den Ressourcen-ID identifiziert wird.
  • Das nächste Mal, wenn der Scanner/Steuervorrichtung 87 diese Aufgabe erneut in den Aufgabenschlangen erreicht, findet er den Aufgabenstatus "bereit" und prüft auf Statusantworten in der Laufzeitaufgabendefinition 89. Falls alle Antworten in der Laufzeitaufgabendefinition 89 sind, wird der Scanner/Steuervorrichtung 87 ein Triggerwort gemäß der Triggerwortspezifikation in der Laufzeitaufgabendefinition 89 aufbauen, und es zu dem Sequenzer 79 mit der SM-Sequenznummer senden. Dieses Triggerwort ist ein Bitmuster fixierter Länge, das durch den Wert von Triggersignalen in (Teilen) der Statusantworten aufgebaut wird, wie durch die Triggerwortspezifikation in der Laufzeitaufgabendefinition 89 definiert. Der Scanner/Steuervorrichtung 87 generiert und gibt aus Terminierungsbefehle zu den Ressourcen, die in die Durchführung der betroffenen Aufgabe einbezogen sind, und setzt erneut die Ressourcen in der Ressourcenzuordnungstabelle 63 (3) auf "frei".
  • Das letzte Element ist, den Aufgabenstatus der betroffenen Aufgabe in dem Speicher 89 auf "frei" zu setzen und die Feldnummer aus der Aufgabenschlange zu entfernen.
  • Um die Operation für den Scanner/Steuervorrichtung zu erleichtern, werden in einer Ausführungsform die freien Aufgabenfeldnummern q in einer getrennten Schlange (nicht gezeigt) gespeichert. Der Scanner/Steuervorrichtung 87 bringt die freien Feldnummern zurück in diese Schlange und der Scanner/Steuervorrichtung 87 bringt sie in eine der Aufgabenschlangen, wenn eine neue Aufgabe geladen wird.
  • II. XML-Implementierung
  • In einem zweiten Aspekt bezieht sich die Erfindung auf Programmiersprachen in Funkbasisstationen. Aktuelle Programmierung in Funkbasisstationen RBSs geschieht entweder in Maschinencode unterer Ebene oder mittels einer Programmiersprache höherer Ebene. Das erstere ist ziemlich komplex und die Fehlerdichte ist gewöhnlich hoch. Programmiersprachen haben den Vorteil, dass die Fehlerdichte geringer wird, und können somit dieses Problem lösen. Andererseits sind zusätzliche Schritte erforderlich, wie Kompilieren, Linken und Laden, um ein ausführbares Abbild zu bekommen. Keines dieser passt direkt zu der Dynamik von Laufzeitzuweisung von Ressourcen. Speziell die Tatsache, dass das Monitorsystem in der Lage sein muss, das Programm zu erkennen, um die Laufzeitressourcenzuweisung zu modifizieren. Ein anderer Faktor besteht darin, dass das Programm zu einer Serie verschiedener Versionen von Funkbasisstationen mit im allgemeinen den gleichen Ressourcentypen, in denen sich aber die Zahl und Kapazität von Ressourcen unterscheiden kann, passen muss.
  • Deshalb richtet sich in einer Ausführungsform die Erfindung auf eine Verwendung von XML. Vordefinierte Strukturen in der Form von Dokumentvorgabedefinitionen (Document Template Definitions, =DTDs) ergeben die geringe Fehlerdichte wie für Programmiersprachen und sehen gleichzeitig eine Struktur vor, die Systemkomponenten, wie dem Monitor 31 oder der Speicher steuervorrichtung 57 erlaubt, Komponenten zu identifizieren und sie zur Laufzeit zu ändern. Die in XML definierten Bausteine, die durch Verwenden der DTDs erstellt werden, bauen das gesamte Programm auf, sind aber auch die Quelle für gut lesbare grafische Dokumente, die bei der Wartbarkeit und Reduzierung von Fehlerdichte des Programms weiter helfen. Der interaktive Entwicklungszyklus wird weniger zeitraubend, da kein Kompilieren, Linken und Ladererstellung erforderlich ist. Die XML-Codebausteine werden direkt in der betroffenen Funkbasisstation 30 gespeichert, und der Entwickler muss die Spezifika der verfügbaren Ressourcen in dieser Funkbasisstation 30 nicht kennen.
  • Für eine weitere Erläuterung wird ein Unterschied für die XML-Implementierungsprobleme und die der XML-Programmierumgebung gemacht. Die Programmierumgebungsprobleme werden nur erörtert, wenn sie sich auf die Implementierungsprobleme beziehen. Die gesamte Programmierumgebung wird hier nicht erörtert. Zweitens ist es nicht die Absicht der XML-Implementierung, die Funktionen einer GSM- oder UMTS-Funkbasisstation oder einer anderen Implementierung des XDR (= XML-definierter Funk, d. h. die Basisstation, wie sie hier verwendet wird) detailliert zu erörtern. Entwickler dieser Systeme sind mit dieser Implementierung gut vertraut, und die Beschreibung verfolgt hier nur die Absicht ihnen zu helfen, den XML-Teil des XDR gut genug zu verstehen, um ihre spezifische Anwendung aufzubauen und zu verwenden.
  • Hierin nachstehend werden die folgenden Elemente erörtert:
    • • Strukturdefinition (allgemein)
    • • Blockliste (eine erste spezifische Instanz einer Strukturdefinition)
    • • Ressourcentabelle (eine zweite spezifische Instanz einer Strukturdefinition)
    • • Zustandsmaschinendefinition
    • • Aufgabendefinition
  • In der XML-Implementierung wird einige allgemeine Syntax verwendet:
    • • <xxxxxxx> Literal,
    • • XXXXXX Beispielwert
    • • ? eines oder nichts,
    • • * eines oder mehr,
    • • + nichts oder mehr,
    • • # Element, das in der Programmierumgebung definiert ist
  • II.1 XML, Strukturdefinition im allgemeinen
  • Die Strukturdefinitionen sind spezifische Blöcke, wie in dem Speichersteuerteil erläutert. Die allgemeine Struktur ist einfach und wird nachstehend zusammen mit der DTD und XML-Ansicht gegeben. Die XML-Ansicht ist eine Instanz, die mit der DTD erstellt wird.
  • Figure 00270001
  • Figure 00280001
  • Die DTD ist die Definition, die für die Systemressourcen zum Parsen der .XML verwendet wird. Die .XML ist in dem XDR-Speicher enthalten, wie in der obigen Instanz angegeben. In der Programmierumgebung definiert die DTD die Erstellung von .XML-Instanzen.
  • Beispiele des Blockinhalts sind:
    • • ein Stück von Maschinencode, der eine spezifische Routine ist, wie für einen DSP 47(p), vorausgesetzt, dass der Maschinencode in alphanumerischen Zeichen von 8 Bit dargestellt wird,
    • • eine Datenlayoutstruktur mit Vorgabewerten, mit der gleichen Einschränkung wie für den DSP-Codeblock,
    • • eine Liste oder Tabelle, die durch die Funkbasisstation 30 für eigene Administrationszwecke verwendet wird.
  • Zwei Beispiele von Strukturdefinitionen werden detaillierter erläutert, d. h. die BLOCKLIST und die RESOURCETABLE. Beide Beispiele haben eine allgemeine Struktur wie in der Strukturdefinition DTD, aber sie haben eine Kind-".DTD", die zusätzliche Elemente definiert.
  • II.2 XML, Beispiele: Blocklistendefinition
  • Jeder XML-Baustein, der mit einer DTD erstellt wird, entspricht einem Datenblock, wie in dem XDR-System verwendet. Jeder Datenblock hat einen spezifischen Namen. Die Liste von allen Datenblocknamen ist das erste Element in dem Programm. Es wird auf 2 Wegen verwendet.
  • Zuerst wird es für eine Programmierung verwendet. Durch das Wesen von XML ist es möglich, die Verwendung von Parametern (wie der Verweis auf einen Blocknamen) auf eine vordefinierte Liste zu begrenzen.
  • Zweitens wird es als Laufzeitstart verwendet. Die Speichersteuervorrichtung 57 liest beim Hochfahren der Funkbasisstation 30 eine anfängliche Blockliste aus den Vorgabestrukturen 73 in dem ROM 61 (3), und baut anschließend die tatsächliche dynamische Blockliste auf, wie in Datenblockliste 65 in ROM 59 gespeichert, durch Einbeziehen der Länge und der Sektorliste. Diese Parameter müssen zur Programmierungszeit nicht bekannt sein. Basierend auf der Strukturierung von Datenblöcken und der Identifikation erkennt die Speichersteuervorrichtung 57 die Datenblöcke und bestimmt die Länge und Sektoren. Dieses Prinzip wird gewählt, da es auch erlaubt, ein Programm in der RBS 30 über eine der Steuereinheiten CUs 45(o) fern zu laden. Die Speichersteuervorrichtung 57 bekommt die Datenblöcke einen nach dem anderen, speichert sie in der Datenblockliste 65 in dem RAM 59, und initialisiert, sobald alle Datenblöcke gespeichert sind, die dynamische Datenblockliste 65. Von einem Programmierer wird nicht gefordert zu wissen, wie groß Sektoren sind, oder die Weise zu kennen, auf die Speicher 33, 49 aufgebaut sind.
  • Die Definitions-DTD ist ein Kind der ursprünglichen Blocklistendefinition, wie in Vorgabestrukturen 71 gespeichert, wie nachstehend angegeben.
  • Figure 00300001
  • Es ist an der Implementierung der Programmierungsumgebung, ob definierte Blocknamen der Blockliste automatisch hinzugefügt werden oder dass man zuerst den Blocknamen in der Blockliste definieren muss, bevor der Block erstellt wird.
  • II.3 XML, Beispiele: Ressourcentabellendefinition
  • Die Ressourcentabellendefinition hat 2 Teile: einer bezogen auf die Programmierumgebung, der Ressourcentypen definiert, und der andere bezogen auf die Funkbasisstation 30 mit den tatsächlichen Ressourcendefinitionen. Der Unterschied ist er forderlich, um das Programm von der XDR-Version unabhängig zu machen.
  • Die Definitionsressourcentyp-DTD, die ein Kind der ursprünglichen Strukturdefinition ist, die in Vorgabestrukturen 73 (3) gespeichert ist, wird nachstehend gegeben.
  • Figure 00310001
  • Figure 00320001
  • In einer Ausführungsform ist es erforderlich, dass Parameter und Befehle für Ressourcen des gleichen Typs identisch sind, d. h. um zu erlauben, dass das generische Programm, das in die RBS 30 geladen wird, in unterschiedlichen Versionen des XDR läuft. Ressourcen können Parameter nicht erfordern oder haben keine Befehle. Die generierte .XML wird in der Programmierumgebung verwendet. Wenn erforderliche Ressourcen in der Aufgabendefinition verwendet werden, können keine anderen Typen verwendet werden, die hier dann definiert werden.
  • Die tatsächliche Ressourcenzuordnungstabelle 63 ist auch ein Kind der Struktur-DTD, wie in den Vorgabestrukturen 73 gespeichert. Im Gegensatz zu dem Ressourcentyp definiert die tatsächliche Ressourcentabelle 63 die tatsächlichen Ressourcen, die für die XDR-Version des XDR verfügbar sind. Deshalb ist die tatsächliche Ressourcenzuordnungstabelle 63 nur die XDR-versionsabhängige Komponente das Programms. Das erstellte XML-Dokument wird durch den Monitor 31 verwendet, um zur Laufzeit (bei Initialisierung) die Ressourcenzuordnungstabelle 63 zu erstellen.
  • Figure 00330001
  • Figure 00340001
  • II.4 XML, Zustandsmaschinendefinition
  • Eine Zustandsmaschine SM(q) ist das Basiselement beim Organisieren der Funktionen, die durch das XDR durchzuführen sind. Eine Zustandsmaschine ist als eine Tabelle von Zustandsübergangsdefinitionen definiert. Jede Zustandsübergangsdefinition umfasst einen Namen des aktuellen Zustands C, eine Triggermaske TM und einen Namen des nächsten Zustands N. Jede Zustandsmaschine SM(q) hat nur eine und nicht mehr als eine Zustandsübergangsdefinition, die den Startzustand spezifiziert, gekennzeichnet dadurch, keinen aktuellen Zustand und keinen Triggermasken-TM-Wert zu haben. Der nächste Zustand in dieser Zustandsübergangsdefinition ist der Startzustand der Zustandsmaschine SM(q). Ein Zustand ist der Name einer Aufgabe oder Zustandsmaschine SM(q), die gegenwärtig ausgeführt wird, oder der nächsten, die auszuführen ist. Jede Zustandsmaschine SM(q) kann endlich oder unendlich sein, was bedeutet, dass sie einen oder mehr Austrittszustände hat oder nicht hat. Der Austrittszustand ist durch eine Zustandsübergangsdefinition mit einem aktuellen Zustand und einer Triggermaske, aber ohne nächsten definierten Zustand gekennzeichnet.
  • 7 zeigt das resultierende Gestaltungsdokument, das mit einer in XML definierten Instanz einer Zustandsmaschine (.XML, wie nachstehend gezeigt) basierend auf einer Vorlage (.DTD, wie nachstehend gezeigt) hergestellt ist.
  • Figure 00350001
  • Figure 00360001
  • In einer bevorzugten Ausführungsform sind einige grundlegende Systemaufgaben für das XDR verfügbar, wie Laden des Programms aus der Ferne, ferne/lokale Wartung und ferner/lokaler Systemneustart. Fernsteuerung kann durch Senden einer speziellen Zeichenkette zu einer der CU's 45(o) erzwungen werden, die dann ein spezifisches Triggermuster generieren wird, das zu dem Monitor 31 gesendet wird. Diese Basissystemaufgaben sollen in der Zustandsmaschine der höchsten Ebene (zuerst gestartet) SM(1) betrachtet werden.
  • II.5 XML, Aufgabendefinition
  • 8 zeigt ein Diagramm, um eine Verwendung von XML in einer Aufgabendefinition darzustellen.
  • Wie die Zustandsmaschine SM(q) das Basiselement beim Organisieren der Funktionen ist, so ist die Aufgabe das Basiselement einer Funktion. Um die Aufgabenimplementierung zu erläutern, wird eine kleine vereinfachte Funktion beschrieben. Die Referenzaufgabe wird durch eine Zustandsmaschine SM(q) aktiviert, die zu einem Mobiltelefon (nicht gezeigt) in Reichweite der Funkbasisstation 30 gehört. Jedes Mobiltelefon in diesem Beispiel hat seine eigene Zustandsmaschine SM(q) laufen. Die Aufgabe wird aktiviert, wenn das Mobiltelefon einen eingehenden Ruf von einem rufenden Telefon beantwortet. Ein Sprachdatenstrom wird durch das Mobiltelefon von einer CU 45(o) empfangen, durch einen DSP 47(p) verpackt, durch einen DAC 41(m) zu einem analogen Signal gewandelt und durch einen TX 35(i) übertragen. Zur gleichen Zeit ist der entgegenge setzte Pfad RX 37(j), ADC 43(n), DSP 47(p), CU 45(o). Die CU 45(o) ist eine einzelne Ressource, die beide Richtungen handhabt, da die DSPs 47(p) doppelt sind, einer für jede Richtung. Die CU 45(o) kann zum Prüfen von "aufgelegt" des rufenden Telefons eingestellt sein, wohingegen der zweite erwähnte DSP 47(p) diese Prüfung für das Mobiltelefon durchführt.
  • Figure 00370001
  • Figure 00380001
  • Figure 00390001
  • III. Analogsignalverteiler
  • In einem dritten Aspekt richtet sich die Erfindung auf die Anwendung eines Verteilers 39(k) in einer Funkbasisstation 30.
  • Auf der rechten Seite zeigt 9 ein Beispiel, wie ein Verteiler 39(k) Verbindungen zwischen TXs 35(i) und DACs 41(m) in Kreuzungspunkten CP herstellen kann. Ein DAC 41(m) kann mit vielen TXs 35(i) verbunden sein, oder viele DACs 41(m) können mit nur einem TX 35(i) verbunden sein, oder nur ein DAC 41(m) mit einem TX 35(i). Somit sind zur gleichen Zeit viele parallele Verbindungen möglich.
  • Die linke Seite von 9 zeigt, wie RXs 37(j) mit ADCs 43(n) in Kreuzungspunkten CP eines Verteilers 39(k) verbunden sein können. Der RX/ADC-Verteiler ist mit dem TX/DAC-Verteiler vergleichbar, der auf der rechten Seite gezeigt wird. Ein oder mehr RXs 37(j) können mit einem oder mehr ADCs 43(n) verbunden sein. Somit sind auch für den RX/ADC-Verteiler viele Verbindungen parallel möglich.
  • Für Funktionen, wenn mehr als ein ADC 43(n) oder DAC 41(m) verwendet wird, ist es erforderlich, dass sie synchronisiert sind. In der Implementierung wird deshalb bevorzugt, alle ADCs 43(n) und DAC 41(m) synchron in einem gemeinsamen Taktsignal laufen zu haben.
  • Wie zuvor angezeigt, können in den Kreuzungspunkten CP von Zeilen und Spalten, wo Verbindungen hergestellt werden können, einfache arithmetische Funktionen durchgeführt werden, wie etwa Multiplizieren, Addieren, Subtrahieren und Eins zu Eins. Es können jedoch auch logische Operationen ins Auge gefasst werden. Ein Beispiel einer Implementierung derartiger Kreuzungspunktfunktionen wird in dem unteren Teil von 9 gezeigt. Die Kreuzungspunktfunktionen, Eins zu Eins, Addieren, Subtrahieren, Multiplizieren sind nur für die Zeilen ef fektiv. In der Spalte bleiben die Signale die gleichen. Die Signalgrenzen +1 und –1 werden auch mit Funktionen zum Addieren und Subtrahieren beibehalten. Der Zeileneingang erlaubt eine Verbindung von z. B. einer Vorspannungsquelle (nicht gezeigt) mit z. B. einer Versatzfrequenz.
  • Um eine noch größere Flexibilität in möglichen Routings zu erreichen, können die zwei Verteiler, die auf der linken und rechten Seite von 9 gezeigt werden, leicht in einen Verteiler 39(k) integriert werden, wie in 10 gezeigt. Dies erlaubt zusätzliche Merkmale, wie direkte Neuübertragung und Verwendung von DACs 41(m) und ADCs 43(n) für Signalmanipulationen. Die Funktionen in den Kreuzungspunkten CP sind mit denen der getrennten Verteiler von 9 vergleichbar. Der Verteiler von 10 kann eine zusätzliche Funktion haben, um ein zentrales Synchronisationstaktsignal zu angebrachten Elementen bereitzustellen.
  • IV. Multisektionsbus
  • In einem vierten Aspekt bezieht sich die Erfindung auf einen Multisektionsbus.
  • IV.1 Gestaltungsbetrachtungen für einen Multisektionsbus mit Kreuzung
  • Buskonzepte vom Stand der Technik können für die wie oben dargestellte Softwarefunkbasisstationsanwendung nicht schnell genug sein. Die Hauptgründe sind: normale Busse sind ziemlich aufwändig (bis zu 10 oder mehr Zoll in einer doppelten EURO-Platine), was eine hohe kapazitiven Last ergibt, und haben eine große parallele Last von allen verbundenen Einrichtungen. Eine Realisierung von Busgeschwindigkeiten über 600 MHz ist in diesen Situationen sehr unwahrscheinlich. Ein anderes Problem besteht darin, dass nicht alle Datentransporte den vollen Bus verwenden müssen. Einige benötigen nur eine Breite von 16 Bit, wohingegen andere 128 Bit parallel verwenden, um in der Lage zu sein, in "Echtzeit" zu arbeiten. In dem konventionellen Bus verwenden alle Datentransporte die volle verfügbare Busbreite, selbst wenn eine volle Busbreite nicht erforderlich ist.
  • Der Bus, wie er hier vorgeschlagen wird, überwindet diese negativen Effekte und sieht insgesamt einen Bus vor, der viel schneller ist, und auch der effektive Durchsatz in Bit pro Sekunde ist extrem höher als der eines konventionellen Busses.
  • Der wie hier offenbarte Bus 51, und wie mit Bezug auf 11 bis 17 veranschaulicht, wird durch Sektionen aufgebaut, wobei jede Sektion eine Bus-ASIC(r), r = 1, 2, ..., R ist, die mit einer Ressource verbunden ist. Eine beliebige der Komponenten, die in 2 gezeigt werden, die mit dem Bus 51 verbunden sind, kann eine derartige Ressource sein. Jede ASIC(r) umfasst eine Bussteuereinheit 93(r) mit einem geeigneten Puffer, wie einem FIFO-Speicher.
  • Eine Sektion kann auch mit einer Ressource integriert sein, falls eine verwendete Gattertechnologie derartiges erlaubt. Es gibt keine vielfache Last, da jede Bus-ASIC(r) mit einer von beiden ihrer Seiten, in 11 mit A und B angezeigt, mit nur einer anderen ASIC(r) verbunden ist. Auch ist die Länge einer Verbindung relativ klein (typischerweise kleiner als 2 Zoll). Obwohl die Verzögerung über einer Zahl von ASICs etwas größer als über einem Bus des Standes Technik sein kann, sind die Zwischenwortverzögerungen (d. h. Verzögerung zwischen 2 fortlaufend Datenworten) sehr klein und konstant. Da Datenpakete auf dem Bus 51 stets in einer Richtung während eines Buszyklus übertragen werden, stets von der Quelle zu dem Ziel, ist das Ergebnis eine kleine Erhöhung in der Verzö gerung eines Datenpaketes, aber ein viel schnellerer Transport des Datenpaketes selbst. Dieses letztere Merkmal erhöht den effektiven Durchsatz.
  • Datenpakete werden gezeigt, einen Zielheader, eine Angabe einer Startadresse, einen Längenindikator und einen Datenblock zu umfassen. Es sind jedoch andere Formate möglich, wie einem Fachmann bekannt sind.
  • Mit gegenwärtiger Technologie kann die Transportrate zwischen ASICs in dem Bereich von 1–4 GHz sein.
  • Die Breite des Busses 51, die in dem XDR vorgesehen ist, ist 256 Bit. Intern für die ASIC ist eine derartige Zahl von Bits kein Einwand. Die Zahl von Pins eines ASIC-Chips erlaubt jedoch nicht eine derartige hohe Zahl paralleler Leitungen. Auch wird die Implementierung der Platine, auf der die ASICs aufgebaut werden, ziemlich komplex. Deshalb wird in einer bevorzugten Ausführungsform Multiplexing bis zu 64 Bit verwendet. Dies bedeutet, dass ein 256-Bit-Bussignal in 4 Zyklen auf einem 64-Bit-Bus gesendet wird. Mit einem Bus 51 von 1 GHz ist die maximale Transportrate dann 250 MHz. Für aktuelle ins Auge gefasste XDR-Anwendungen ist dies ausreichend (256 Bit/250 MHz). Es sollte vermerkt werden, dass andere Kombinationen verwendet werden können. Z. B. kann ein 512-Bit-Bussignal in 8 Zyklen übertragen werden, was einer Transportrate von 125 MHz entspricht. Mit 4-GHz-Bussen oder breiteren Bussen (d. h. mehr Leitungen) können schnellere Transportraten erhalten werden.
  • Der Bus 51 ist vorgesehen, zu anderen Platinen mittels einer 100-Gb/s-Faserverknüpfung erweitert werden zu können. Eine Basisausführungsform wird eine ASIC sein, wie oben definiert, mit der Änderung, dass sie keine Ressource angebracht hat und ihre B-Seite eine 2·100-Gb/s-Stromverbindung vorsieht. Nicht nur die tatsächlichen Bussignale, sondern auch die Steuersignale werden in diesem Strom übertragen. Diese spezifische ASIC hat die Möglichkeit, die Vorgabeeinstellungen zu ändern, sodass Seiten A und B austauschbar sind.
  • Wie in 11 gezeigt, haben sowohl Ressourcen als auch Bus-ASICs ein FIFO-System, da der Bus im Grunde asynchron ist. Die maximale Größe des Datenpfades wird betrachtet, 16 Bit zu sein.
  • Da Speicheradressen vorzugsweise 64 Bit sind, werden Ressourcen mit 16- oder 32-Bitzugriff 4 oder 2 Worte für eine Startadresse verwenden müssen.
  • IV.2 Zwischen-ASIC-Transport
  • 12 zeigt zwei benachbarte ASICs (r und r – 1) auf einer gleichen Platine mit einem Signaldiagramm, um das verwendete Multiplexing zu erläutern. Das Multiplexing wird durch ein Strobesignal gesteuert, das immer durch die A-Seite einer ASIC generiert wird. Zum Synchronisieren hat der erste Zyklus eine doppelte Frequenz. Abhängig von Lesen oder Schreiben (die Richtung ist AB oder BA) werden Daten auf der steigenden Flanke verfügbar gemacht und in dem anderen Ende auf der fallenden Flanke verriegelt.
  • IV.3 Von-Platine
  • 13 zeigt zwei ASICs (r und r + 1), die unterschiedliche Platinen terminieren, die aber durch eine Faser 95 verbunden werden müssen. Diese 2 terminierenden ASICs haben eine Ressource nicht angebracht, haben aber alle andere Merkmale der zuvor beschriebenen ASICs. Die ASICs sind für Signaltransport in der Richtung AB (Vorgabe) oder BA programmiert, worin die Chipanschlüsse die gleichen bleiben, aber die AB-Definition ausgetauscht ist. Die ASICs stellen einen einzelnen Bitstrom bereit, der die Bussignale, Steuersignale und Synchronisationssignale enthält. Der tatsächliche Fasersender und Empfänger sind nicht Teil der ASIC. Die Länge der Faser 95 ist typischerweise weniger als 4 Zoll basierend auf Platinen, die zueinander benachbart platziert sind. Der Bus 51 kann über mehr Platinen erweitert werden, falls erforderlich.
  • IV.4 ASIC-interne Matrix für Buszuweisung und Isolation
  • 15 zeigt schematisch eine ASIC-interne Matrix für Buszuweisung und Isolation. Der Bus 51 umfasst eine Vielzahl von auswählbaren Kreuzungspunkten 95, die durch eine Bussteuervorrichtung 95(r) gesteuert werden (vgl. 12, 13). Da durch die Bussteuervorrichtung 95(r) gesteuert, erlaubt jeder auswählbare Kreuzungspunkt 95, eine Eingangsleitung mit einer Ausgangsleitung zu koppeln. Eingang kann entweder auf der A-Seite oder auf der B-Seite, oder umgekehrt, sein, wo multiplexte Signale ankommen oder gehen werden, z. B. in Abschnitten von 64 Bit.
  • Es ist keine Funktion in Punkten ins Auge gefasst, wo sich Leitungen kreuzen. Es wird jedoch vermerkt, dass die Einrichtung wie gezeigt die Option vorsieht, eine Gruppe von Eingangs-/Ausgangsleitungen zu isolieren, aber auch Verbindungen zwischen Eingangsleitungen und Ausgangsleitungen zu verschieben. Z. B. ist es nicht notwendig, Eingangsleitungen 1–16 mit Ausgangsleitungen 1–16 zu verbinden. Als ein Beispiel können 16 Bit in Eingangsleitungen 1–16 auf der A-Seite mit 16 beliebigen Ausgangsleitungen innerhalb der Gruppe von Leitungen 65–92 auf der 3-Seite verbunden werden.
  • Es wird vermerkt, dass eine Zuweisung in Mengen von 16 Leitungen in Bus 51 bevorzugt wird, dass aber die Erfindung nicht auf diese Zahl begrenzt ist. Die Zuweisung kann z. B. pro 8 Leitungen sein, was aber zu einem höheren Overhead führt. Eine Verwendung von 16 Leitungen ist von Vorteil, da die meisten aktuellen Ressourcen 16 Bit oder ein Vielfaches davon verwenden.
  • IV.5 Interne Verbindungsbus-ASIC
  • 15 zeigt einige mögliche Konfigurationen davon, wie interne Verbindungen in einer ASIC(r) zwischen Busleitungen und Leitungen einer Ressource hergestellt werden können. A bezeichnet eine Leitung der A-Seite, B bezeichnet eine Leitung der B-Seite und R bezeichnet eine Leitung, mit einer Ressource verbunden ist. LA und LB bezeichnen ein Leseinstruktionssignal in A bzw. B. DA und DB bezeichnen ein Schreibinstruktionssignal in A bzw. B.
  • Vorgaben werden für A, B oder R verwendet, falls keine Verbindung zugewiesen ist. In einem derartigen Vorgabezustand wird A nicht verwendet, angezeigt durch z. B. A = Lesen, und B wird nicht verwendet, angezeigt durch z. B. B = Schreiben. Maximal kann eine Verbindung existieren: d. h. entweder eine Verbindung AB, eine Verbindung BA, eine Verbindung BR, eine Verbindung RB, eine Verbindung RA oder eine Verbindung AR (oder keine). Falls der Kreuzungspunkt nicht involviert ist, ist er in einem Vorgabezustand, es sei denn es wird eine Kreuzung (vgl. 16c) verwendet und der Kreuzungspunkt ist auf diese Weise zugewiesen. Vorzugsweise ist die Verbindungskonfiguration immer pro Gruppe von Bit, z. B. 16 Bit, gültig.
  • Die Leitungen La, Lb, Da und Db haben einen Wert abhängig von einer Lese- oder Schreiboperation pro Gruppe von Bits, so Z. B. 16 Bit. So kann ein 1-Signal z. B. eine Leseinstruktion anzeigen, und ein 0-Signal kann eine Schreibinstruktion anzeigen. In einer Ausführungsform werden die Signale durch das 64-Bit-Multiplexing ermöglicht.
  • Die folgende Tabelle gibt ein Beispiel von internen Konfigurationen für die Bus-ASIC.
    BUS-ASIC interne Konfigurationen
    Lesen/Schreiben Verbindung
    Konfig.-Name A B AB AR BR
    Vorgabe Lesen Schreiben Offen Offen Offen
    A zu B Lesen Schreiben Geschlossen Offen Offen
    B zu A Schreiben Lesen Geschlossen Offen Offen
    R Ziel zu B Lesen Schreiben Offen Geschlossen Offen
    R Quelle zu A Schreiben Schreiben Offen Geschlossen Offen
    R Ziel zu B Lesen Schreiben Offen Offen Geschlossen
    R Quelle zu B Lesen Lesen Offen Offen Geschlossen
  • IV.6 Beispiel von Vielfachoperationen in einem 12-Sektionsbus
  • 16a, 16b, 16c zeigen Beispiele möglicher Operationen der Bus-ASIC mit 12 Sektionen.
  • 16a zeigt eine parallele Operation. Durch geeignete Verbindungen, die durch Kreuzungspunkte 95 hergestellt werden, wird hier der Hauptbus 51 in getrennte "Teilbusse" gesplittet, die mit dunkler grauer Farbe angezeigt werden. Ressource 1 bis 9 sind mit einem 16-Bit-Bus verbunden. 2 und 6 auch durch einen 16-Bit-Bus. 8 und 11 sind durch einen 32-Bit-Bus verbunden.
  • 16b zeigt ein Beispiel von isolierten Abschnitten einer Menge von Leitungen von Bus 51. Zwei Teilbusse werden gezeigt, die sich nicht über die Bus-ASIC der Quelle und der Zielressource hinaus erstrecken. Ein Teilbus wird als eine Verbindung zwischen zwei Ressourcen über einen Teil von Bus 51 definiert. Die Isolierung erlaubt vielfache Verwendung einer Menge von Leitungen von Bus 51. Wie z. B. gezeigt, sind Ressourcen 2 und 6 mittels eines Teilbusses intern verbunden, der einen Abschnitt einer Menge von Leitungen von Bus 51 umfasst. Zur gleichen Zeit sind jedoch auch Ressourcen 7 und 12 miteinander durch Verwenden eines anderen Teilbusses verbunden, der einen anderen Abschnitt der gleichen Menge von Leitungen von Bus 51 umfasst. Dies ist möglich, da die Leitungen zwischen beliebigen fortlaufenden zwei ASICs unterbrochen werden können, wie mit Bezug auf 15 erläutert. Somit ist der Teilbus, der Ressourcen 7 und 12 verwendet, von dem Teilbus isoliert, der verwendet wird, um Ressourcen 2 und 6 zu verbinden. Die Verbindungen über diese Teilbusse sind parallel zu den Verbindungen zwischen Ressourcen 1 und 9, und zwischen 8 und 11.
  • 16c zeigt ein Beispiel einer Kreuzung, d. h. eine Verbindung zwischen Ressourcen über den Bus 51 ist derart implementiert, dass jeder Teilbus Abschnitte unterschiedlicher Mengen von Leitungen von Bus 51 belegt. Dies ist möglich, da jede ASIC(r) konfiguriert ist, (Gruppen von) Eingangsleitungen mit unterschiedlichen (Gruppen von) Ausgangsleitungen zu verbinden. Somit können mit einer Zahl von parallelen isolierten Sektionen Verbindungen hergestellt werden, jedoch nicht als fortlaufende Sektionen. In diesem Fall erlaubt eine Kreuzung in einer ASIC, parallele Verwendung weiter zu steigern. Dies kann für jede 16-Bit-Gruppe getrennt geschehen. In dem Bei spiel von 16c gibt es einen 32-Bit-"Teilbus" zwischen Ressource 3 und 10, implementiert jedoch über zwei getrennte 16-Bit-Abschnitte, d. h. einen oberen Teil und einen unteren Teil. Kreuzung in dem oberen Teil geschieht in Sektion 6, in dem unteren Teil in Sektion 7.
  • IV.7 Busverhandlungsprinzip
  • In 17 wird ein Teil einer Kette von Bussteuervorrichtungen 93(r) in den Bus-ASIC's gezeigt. Ein Beispiel kann das Prinzip von Busverhandlung darstellen. Die Ressource in ASIC(8) als Quelle fordert einen Bus, gekennzeichnet durch eine Zahl von Malen einer Gruppe von 16 Bit (N), die sie für eine Kommunikation benötigt, und ein Ziel D. Für dieses Beispiel sind N = 2 und D = 10. Der Wert von P ist 0, da es eine Anforderung ist (P = Abschnitt, P wird verwendet um anzuzeigen, welche Abschnitte des Busses für eine Aktivierung verwendet werden). Die Bussteuervorrichtung 93(8) sendet die Anforderung zu Bussteuervorrichtung 93(9). Wie gezeigt, ist ID 8 kleiner als der Ziel-ID 10. Falls der Ziel-ID kleiner als 8 wäre, würde die Bussteuervorrichtung 93(8) die Anforderung abwärts zu Bussteuervorrichtung 93(7) senden.
  • Bussteuervorrichtung 93(9) leitet die Anforderung zu Bussteuervorrichtung 93(10) weiter, da der Ziel-ID 10 noch höher als der Ziel-ID 9 ist. Bussteuervorrichtung 93(10) empfängt die Anforderung und der Ziel-ID ist nun gleich dem ID der Bussteuervorrichtung. Bussteuervorrichtung 93(10) überträgt die Anforderung nicht weiter zu Bussteuervorrichtung 93(11), sondern prüft, ob eine Sektion von Bus 51 verfügbar gemacht werden kann. Bussteuervorrichtung 93(10) setzt die Bits in P auf 1 entsprechend den reservierten 16-Bit-Sektionen.
  • Es wird ein NSDP-Signal generiert, das die Werte von N, S, D und P anzeigt, und durch Bussteuervorrichtung 93(10) zurück zu Bussteuervorrichtung 93(9) gesendet. Da P nicht länger 0 ist, erkennt Bussteuervorrichtung 93(9) das NSDP-Signal als eine Einstellung an Stelle einer Anforderung. Bussteuervorrichtung 93(9) prüft nun, ob sie in der Lage ist, die angeforderte Zahl N von Sektionen verfügbar zu machen. Sie hat die Möglichkeit von Kreuzung, um Sektionen zuzuweisen. Somit kann der Wert von P von Bussteuervorrichtung 93(9) verschieden von dem sein, der durch Bussteuervorrichtung 93(10) gesendet wird. Da der Quellen-ID 8 (es ist eine Einstellung mit P nicht 0) kleiner als 9 ist, gibt die Bussteuervorrichtung 93(9) das NSDP-Signal zu Bussteuervorrichtung 93(8) mit dem neuen gesetzten P-Wert in dem NSDP-Signal weiter. Bussteuervorrichtung 93(8) empfängt die Einstellung (P nicht 0) und wird Sektionen verfügbar machen, wie es Bussteuervorrichtung 93(9) getan hat. Da Bussteuervorrichtung 93(8) herausfinden wird, dass der ID 8 gleich dem Quellen-ID in dem empfangenen NSDP-Signal ist, wird die Bussteuervorrichtung 93(8) das NSDP-Signal nicht weiter zu Bussteuervorrichtung 93(7) geben, sondern wird der Ressource mit ID 8 ein Bereitsignal senden, das informiert, dass der angeforderte Teilbus zur Verwendung bereit ist.
  • Wenn die Quelle 8 mit dem Datentransport in der Kommunikation bereit ist, die sie durchzuführen wünscht, gibt sie den Bus durch Senden eines NSDP-Signals zu Bussteuervorrichtung 93(8) frei, wobei sowohl N als auch P auf 0 gesetzt sind. Routing basiert erneut auf den Werten von S und D und dem eigenen ID. Nach Empfang durch Bussteuervorrichtung 93(9) wird Bussteuervorrichtung 93(9) die reservierte Sektion fallen lassen und modifiziert den P-Wert angesichts der Verbindung zu Sektion 10. Dann leitet sie das NSDP-Signal zu Bussteuervorrichtung 93(10) weiter. Bussteuervorrichtung 93(10) wird auch seine Sektion zurück buchen und erkennen, dass der Ziel-ID gleich ihrem eigenen ID ist. P wird auf 0 gesetzt und das NSDP-Signal wird zu Bussteuervorrichtung 93(9) als freie Nachricht zurückgegeben. Bussteuervorrichtung 93(9) leitet das NSDP-Signal nur weiter, da sie nicht die Quelle ist und P = 0 ist. Bussteuervorrichtung 93(8) wird das NSDP-Signal nicht länger weiterleiten, da Quelle S gleich ihrem eigenen ID ist und wird die "freie" Nachricht zu der Ressource generieren.

Claims (22)

  1. Ein Kommunikationssystem, umfassend einen Monitor (31), Speicher (33, 49), einen Bus (51) und eine oder mehr Ressourcen (35(i), 37(j), 39(k), 41(m), 43(n), 45(o), 47(p)), wobei der Speicher (33, 49) mit dem Monitor (31) über den Bus (51) verbunden und angeordnet zum Speichern von Aufgaben und Daten ist, jede der Ressourcen (35(i), 37(j), 39(k), 41(m), 43(n), 45(o), 47(p)) mit dem Monitor (31) über den Bus (51) verbunden und angeordnet mindestens zum Durchführen einer Funktion und Ausführen eines Programms ist, wobei der Bus (51) durch eine Vielzahl von benachbarten Sektionen implementiert ist, gekennzeichnet dadurch, dass jede Sektion als eine ASIC implementiert ist, die mit einer Ressource verbunden ist, wobei die ASIC angeordnet ist, Teilbusse des Busses (51) mit einer variablen Breite zuzuweisen.
  2. Kommunikationssystem nach Anspruch 1, wobei die Ressourcen (35(i), 37(j), 39(k), 41(m), 43(n), 45(o), 47(p)), die angeordnet sind, ein Programm auszuführen, auch angeordnet sind, Triggersignale zu generieren und sie zu dem Monitor (31) zu senden, der Monitor (31) angeordnet ist, die Triggersignale zu empfangen, eine oder mehr Aufgaben bezogen auf die Triggersignale aus dem Speicher (33, 49) zu lesen, zu prüfen, ob Ressourcen, die zum Durchführen der Aufgabe erforderlich sind, verfügbar sind und Befehle zu ausgewählten Ressourcen, die die Aufgabe spezifizieren, die durchzuführen ist, über den Bus (51) zu senden.
  3. Kommunikationssystem nach Anspruch 1 oder 2, wobei die Ressourcen (35(i), 37(j), 39(k), 41(m), 43(n), 45(o), 47(p)) für gegenseitige Kommunikation über den Bus (51) angeordnet sind.
  4. Kommunikationssystem nach beliebigen der vorangehenden Ansprüche, wobei eine Verwendung des Busses (51) auf einem Datagrammprinzip basiert.
  5. Kommunikationssystem nach beliebigen der vorangehenden Ansprüche, wobei der Speicher (33, 49) einen Aufgabenspeicher (33) und einen Datenspeicher (49) umfasst.
  6. Kommunikationssystem nach beliebigen der vorangehenden Ansprüche, wobei der Monitor (31) einen Zustandsmaschinensequenzer (79) zum parallelen Behandeln von mehreren Zustandsmaschinen umfasst.
  7. Kommunikationssystem nach Anspruch 6, wobei der Speicher einen ROM-Abschnitt (61) und einen RAM-Abschnitt (59) umfasst, wobei der ROM-Abschnitt (61) Zustandsmaschinendefinitionen für den Zustandsmaschinensequenzer (79), Aufgabendefinitionen und Vorgabestrukturen speichert, der RAM-Abschnitt (59) dynamische Daten speichert.
  8. Kommunikationssystem nach Anspruch 7, wobei der RAM-Abschnitt (59) eine Ressourcenzuordnungstabelle (63), eine Datenblockliste (65) und Datenblöcke (67) speichert.
  9. Kommunikationssystem nach beliebigen der Ansprüche 1–7, wobei der Monitor (31) eine Ausführungseinrichtung (77) umfasst, die angeordnet ist zum: • Senden von Befehlen zu Ressourcen; • Senden von Aufgabenblockanforderungen zu dem Speicher (33, 49); • Empfangen von Statusinformation von Ressourcen; • Empfangen von Aufgabenblöcken von dem Speicher (33, 49).
  10. Kommunikationssystem nach Anspruch 8, wobei der Monitor (31) eine Ausführungseinrichtung (77) umfasst, die angeordnet ist zum: • Senden von Befehlen zu Ressourcen; • Senden von Aufgabenblockanforderungen zu dem Speicher (33, 49); • Empfangen von Statusinformation von Ressourcen; • Empfangen von Aufgabenblöcken von dem Speicher (33, 49); • Unterhalten der Ressourcenzuordnungstabelle (63).
  11. Kommunikationssystem nach beliebigen der vorangehenden Ansprüche, wobei die Ressourcen umfassen mindestens eines von: einem Sender (35(i)), einem Empfänger (37(j)), einem Analogsignalverteiler (39(k)), einem Digital-Analog-Wandler (41(m)), einem Analog-Digital-Wandler (43(n)), einer Steuereinheit (45(o)) und einem digitalen Signalprozessor (47(p))
  12. Kommunikationssystem nach Anspruch 11, wobei die Ressourcen mindestens einen digitalen Signalprozessor (47(p)) umfassen, der ein ausführbares Abbild zum Durchführen eines Programms speichert.
  13. Kommunikationssystem nach beliebigen der vorangehenden Ansprüche, wobei das Kommunikationssystem eine Funkbasiseinheit ist.
  14. Kommunikationssystem nach beliebigen der vorangehenden Ansprüche, wobei jede der ASIC eine Bussteuereinheit (93(r)) umfasst.
  15. Kommunikationssystem nach beliebigen der vorangehenden Ansprüche, wobei Kommunikationen, die über den Bus (51) übertragen werden, multiplext sind.
  16. Kommunikationssystem nach beliebigen der vorangehenden Ansprüche, wobei jede der ASIC eine Matrixstruktur mit einer Vielzahl von Kreuzungspunkten (95) umfasst, die angeordnet sind, Eingangsleitungen mit Ausgangsleitungen zu koppeln.
  17. Kommunikationssystem nach Anspruch 16, wobei die Kreuzungspunkte (95) angeordnet sind zu erlauben, eine Gruppe von Eingangs- und Ausgangsleitungen zu isolieren.
  18. Kommunikationssystem nach Ansprüchen 16 oder 17, wobei die Kreuzungspunkte (95) angeordnet sind zu erlauben, Verbindungen zwischen Eingangs- und Ausgangsleitungen zu verschieben.
  19. Kommunikationssystem nach beliebigen der vorangehenden Ansprüche, wobei der Bus in unterschiedlichen Platinen angeordnet ist, die miteinander verbunden werden können.
  20. Verfahren zum Betreiben eines Kommunikationssystems, umfassend einen Monitor (31), Speicher (33, 49), einen Bus (51) und eine oder mehr Ressourcen (35(i), 37(j), 39(k), 41(m), 43(n), 45(o), 47(p)), wobei der Speicher (33, 49) mit dem Monitor (31) über den Bus (51) verbunden ist und Aufgaben und Daten speichert, jede der Ressourcen (35(i), 37(j), 39(k), 41(m), 43(n), 45(o), 47(p)) mit dem Monitor (31) über den Bus (51) verbunden ist, der Bus (51) durch eine Vielzahl von benachbarten Sektionen implementiert ist, jede Sektion als eine ASIC implementiert ist, die mit einer Ressource verbunden ist, das Verfahren gekennzeichnet zu umfassen: – Zuweisen von Teilbussen des Busses (51) mit einer variablen Breite; – Übertragen von Kommunikationen zwischen dem Monitor (31), dem Speicher (33, 49) und der einen oder mehr Ressourcen (35(i), 37(j), 39(k), 41(m), 43(n), 45(o), 47(p)) über die Teilbusse.
  21. Computerprogrammprodukt, das Instruktionen und Daten speichert, die durch ein Kommunikationssystem zu laden sind, umfassend einen Monitor (31), Speicher (33, 49), einen Bus (51) und eine oder mehr Ressourcen (35(i), 37(j), 39(k), 41(m), 43(n), 45(o), 47(p)), wobei der Speicher (33, 49) mit dem Monitor (31) über den Bus (51) verbunden ist und Aufgaben und Daten speichert, jede der Ressourcen (35(i), 37(j), 39(k), 41(m), 43(n), 45(o), 47(p)) mit dem Monitor (31) über den Bus (51) verbunden ist, der Bus (51) durch eine Vielzahl von benachbarten Sektionen implementiert ist, jede Sektion als eine ASIC implementiert ist, die mit einer Ressource verbunden ist, das Computerprogrammprodukt, nachdem es geladen ist, dem Kommunikationssystem erlaubt: – Teilbusse des Busses (51) mit einer variablen Breite zuzuweisen; – Kommunikationen zwischen dem Monitor (31), dem Speicher (33, 49) und der einen oder mehr Ressourcen (35(i), 37(j), 39(k), 41(m), 43(n), 45(o), 47(p)) über die Teilbusse zu übertragen.
  22. Ein Datenträger, umfassend ein Computerprogrammprodukt nach Anspruch 21.
DE60316363T 2003-12-24 2003-12-24 Multisektionsbus in einer funkbasisstation und methode zur verwendung einer solchen funkbasisstation Expired - Lifetime DE60316363T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/NL2003/000933 WO2005062189A1 (en) 2003-12-24 2003-12-24 Multisectional bus in radio base station and method of using such a radio base station

Publications (2)

Publication Number Publication Date
DE60316363D1 DE60316363D1 (de) 2007-10-25
DE60316363T2 true DE60316363T2 (de) 2008-06-19

Family

ID=34709379

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60316363T Expired - Lifetime DE60316363T2 (de) 2003-12-24 2003-12-24 Multisektionsbus in einer funkbasisstation und methode zur verwendung einer solchen funkbasisstation

Country Status (7)

Country Link
US (1) US7624220B2 (de)
EP (1) EP1700225B1 (de)
AT (1) ATE373271T1 (de)
AU (1) AU2003295277A1 (de)
DE (1) DE60316363T2 (de)
ES (1) ES2293066T3 (de)
WO (1) WO2005062189A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4353052B2 (ja) * 2004-10-04 2009-10-28 株式会社日立製作所 半導体集積回路
WO2014188064A2 (en) * 2013-05-20 2014-11-27 Teknologian Tutkimuskeskus Vtt Method and system for utilizing spectrum data in a cognitive wireless access system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3984819A (en) * 1974-06-03 1976-10-05 Honeywell Inc. Data processing interconnection techniques
GB2171541A (en) * 1984-12-28 1986-08-28 Infoquest Corp Image storage and retrieval
US5870573A (en) * 1996-10-18 1999-02-09 Hewlett-Packard Company Transistor switch used to isolate bus devices and/or translate bus voltage levels
US5996040A (en) * 1998-03-17 1999-11-30 International Business Machines Corporation Scalable, modular selector system
US6421348B1 (en) * 1998-07-01 2002-07-16 National Semiconductor Corporation High-speed network switch bus
DE19960243A1 (de) * 1999-12-14 2001-07-05 Infineon Technologies Ag Bussystem
US6598106B1 (en) 1999-12-23 2003-07-22 Lsi Logic Corporation Dual-port SCSI sub-system with fail-over capabilities
FR2811844B1 (fr) * 2000-07-13 2002-11-29 Schneider Automation S A Bus interne automate supportant le protocole tcp/ip
GB2376390B (en) * 2001-06-05 2003-08-06 3Com Corp Asic system architecture including data aggregation technique
US6718421B1 (en) * 2001-06-19 2004-04-06 Webtv Networks, Inc. Interconnect bus
WO2005062640A1 (en) * 2003-12-24 2005-07-07 Telefonaktiebolaget Lm Ericsson (Publ) Manifold in a radio base station and method of using such a radio base station
WO2005062639A1 (en) * 2003-12-24 2005-07-07 Telefonaktiebolaget Lm Ericsson (Publ) Radio base station controlled by a monitor coordinating xml-defined tasks, method of operating such a radio base station, and corresponding computer program product
JP4845522B2 (ja) * 2006-01-30 2011-12-28 シャープ株式会社 システムバス制御装置、集積回路およびデータ処理システム
US7479913B1 (en) * 2006-02-10 2009-01-20 Cypress Semiconductor Corporation Configurable analog to digital converter

Also Published As

Publication number Publication date
ATE373271T1 (de) 2007-09-15
WO2005062189A1 (en) 2005-07-07
US7624220B2 (en) 2009-11-24
EP1700225A1 (de) 2006-09-13
DE60316363D1 (de) 2007-10-25
US20070276980A1 (en) 2007-11-29
EP1700225B1 (de) 2007-09-12
AU2003295277A1 (en) 2005-07-14
ES2293066T3 (es) 2008-03-16

Similar Documents

Publication Publication Date Title
DE3855166T2 (de) Selbstkonfiguration von Knotenpunkten in einem verteilten, auf Nachrichten gegründeten Betriebssystem
DE68924934T2 (de) Parallelsynchronisationstechnik.
DE60037065T2 (de) Übertragungsteuerung mit Naben- und Torachitektur
DE68919631T2 (de) Verfahren zur Verarbeitung von Programmteilen eines verteilten Anwendungsprogramms durch einen Hauptrechner und einen intelligenten Arbeitsplatz in einer SNA LU 6.2-Netzwerkumgebung.
DE60314347T2 (de) Betriebsmittelverwaltungsgerät
DE2856483C2 (de)
DE69906604T2 (de) Rechnersystem und Verfahren zur Zuordnung von Speicherraum zu Kommunikationsportpuffern
DE3789625T2 (de) Methode zur dynamischen Partitionierung von Parallelprozessoren.
DE69127919T2 (de) Gerät und Verfahren zur Durchführung einer anwendungsbestimmten Operation auf Daten als Teil einer systembestimmten Operation auf die Daten
DE3586389T2 (de) Dynamisch zugeordnete lokale/globale speicheranordnung.
DE112009000899B4 (de) Verfahren und Vorrichtung zur hierarchischen Verkehrsführung in gitterbasierten Multiprozessorsystemen
DE69936225T2 (de) Gleichzeitige serielle verbindung zur integrierung von funktionellen blöcken in eine integrierte schaltungsvorrichtung
DE69829442T2 (de) System und Verfahren für transparenten, globalen Zugang zu physikalischen Geräten in einem Rechnersystem
DE60216001T2 (de) Automatischer Lastausgleich in Vermittlungsknoten
DE102020113347A1 (de) Ausführung von containerisierten prozessen innerhalb der beschränkungen der verfügbaren host-knoten
DE69533680T2 (de) Verfahren und Vorrichtung zur dynamischen Bestimmung und Zuteilung von Zugriffsguoten für ein gemeinsames Betriebsmittel
DE69215976T2 (de) Verfahren und Gerät für Netzrechnersystemgruppenverwaltung
DE2917441A1 (de) Multiprozessoranlage
DE602005004508T2 (de) Speichersystem und Speichersteuerverfahren
DE19810807A1 (de) Gerät und Verfahren zum Umsetzen von Meldungen
EP0959588A2 (de) Netzelement mit einer Steuerungseinrichtung und Steuerungsverfahren
DE10104209A1 (de) Verfahren und System zum Erhöhen der Leistung durch Ersetzen einer Steuerung einer Maschine mit finiten Zuständen durch eine hardware-implementierte Datenstrukturmanipulation
DE60122671T2 (de) Anforderungsbedingte dynamische Schnittstellengenerierung
DE102021108294B4 (de) System und verfahren für skalierbare hardware-kohärente speicherknoten
DE102021213414A1 (de) Routing mit einem switch mit festen zuordnungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition