[go: up one dir, main page]

DE69519939T2 - System und verfahren zur datenverarbeitung und damit ausgestattetes kommunikationssystem - Google Patents

System und verfahren zur datenverarbeitung und damit ausgestattetes kommunikationssystem

Info

Publication number
DE69519939T2
DE69519939T2 DE69519939T DE69519939T DE69519939T2 DE 69519939 T2 DE69519939 T2 DE 69519939T2 DE 69519939 T DE69519939 T DE 69519939T DE 69519939 T DE69519939 T DE 69519939T DE 69519939 T2 DE69519939 T2 DE 69519939T2
Authority
DE
Germany
Prior art keywords
execution
processor
data
program
variables
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
DE69519939T
Other languages
English (en)
Other versions
DE69519939D1 (de
Inventor
Oleg Avsan
Klaus Wildling
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
Application granted granted Critical
Publication of DE69519939D1 publication Critical patent/DE69519939D1/de
Publication of DE69519939T2 publication Critical patent/DE69519939T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54508Configuration, initialisation
    • H04Q3/54533Configuration data, translation, passwords, databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multi Processors (AREA)
  • Exchange Systems With Centralized Control (AREA)

Description

    TECHNISCHES GEBIET
  • Die vorliegende Erfindung bezieht sich auf ein System und ein Verfahren zur Verarbeitung von Daten. Die Erfindung bezieht sich insbesondere auf ein solches System zur Steuerung von z. B. Echtzeit-Systemen, bei dem die Erfordernisse für die Ausführungseffizienz usw. hoch sind, da verschiedene Funktionen, welche hohe Kapazität erfordern, hohen Echtzeit- Anforderungen genügen müssen. Zum Beispiel in zentral gesteuerten Echtzeit-Systemen unterschiedlicher Art wird die Systemkapazität zur Durchführung von zugewiesenen Funktionen durch die Ausführungseffizienz des zentralen Prozessorsystems gegeben.
  • Die Erfindung bezieht sich auch auf ein Kommunikationssystem mit einem solchen System für Datenverarbeitung.
  • STAND DER TECHNIK
  • Zahlreiche Alternativen sind bekannt, durch welche beabsichtigt ist die Effizienz in einem Datenverarbeitungssystem zu erhöhen, das zum Beispiel verwendet wird für Echtzeit-Steuerung, oder im allgemeinen für Systeme, in welchen die Anforderungen hoch sind bezüglich der Ausführungseffizienz, aufgrund von Funktionen, welche verschiedene Kapazität erfordern. Um eine erhöhte Effizienz zu erzielen, ist es unter anderem bekannt eine solche Systemarchitektur bereitzustellen, dass eine Aufteilung der gesamten Systemlast zwischen verschiedenen Prozessoren ermöglicht wird, in der Form von Last- und Funktionsaufteilung. Durch sogenannte Vorverarbeitung werden gegebene regionale Steuerfunktionen durchgeführt unter Verwendung von regionalen Prozessoren und regionalen Speichern, die in zugehörigen Funktionsblöcken angeordnet sind. Ein zentraler Prozessor befiehlt dann die Ausführung der Funktionen und empfängt deren Resultate.
  • Die regionalen Prozessoren und der zentrale Prozessor steuern jeweils ihre spezifizierte Funktionsverarbeitung. Somit wird ein System erhalten, dass eine konstante Steuerlastverteilung hat. Ein solches System ist im Prinzip ein Einprozessor- System, bei welchem der zentrale Prozessor Funktionsblöcke steuert, welche regionale Prozessoren umfassen. In einem solchen System muss die Zwischenprozessor-Kooperation zwischen den Funktionsblöcken und dem Zentralprozessor durch letzteren gut definiert sein. Ein anderes bekanntes System zur Lastaufteilung, welches im allgemeinen als Multiverarbeitung (englisch: multiprocessing) bezeichnet wird, umfasst mindestens zwei zentrale Prozessoren. Diese greifen zusammen auf die Datenspeicher der Einrichtung zu, und unterschiedliche Computerkonfigurationen und Steuerlastverteilung können für verschiedene Betriebsperioden erhalten werden. Durch diese Prozessorredundanz wird eine dynamische Anpassung an momentane Verkehrverarbeitungs- Situation ermöglicht.
  • Für diese beiden Arten von Systemen ist Zwischenprozessor- Kommunikation und Prozessor-Kooperation erforderlich, was zu Belastungen der Systeme usw. führt.
  • Ein bekannter Weg zur Erhöhung der Effizienz eines zentral gesteuerten Echtzeit-Systems, bei welchem die Systemkapazität gegeben wird durch die Ausführungseffizienz des zentralen Computersystems, ist die parallele Ausführung durch tabellengesteuerte Ausführung.
  • Ein Echtzeit-System mit hohen Anforderungen ist zum Beispiel ein Telekommunikations-System.
  • In US-A-3,969,701 wird Tabellenausführung angewendet. Variablen, die mit einem Funktionsblock in Beziehung stehen, werden unter Verwendung von Tabellen von variablen Zahlenwerten in Speicherzeiger-Werte oder Adressnummern übersetzt, in den Speichervorgängen in Speicheranordnungen, die zum jeweiligen Block gehören.
  • In US-A-4,354,231 wird die Verwendung von Tabellen beschrieben. In diesem Fall werden Cache-Speicher verwendet, welche tatsächlich als schnelle Speicher angesehen werden können. Im Prinzip führt dies nur zu geringfügigen Zeitersparnissen, und es ist keinesfalls möglich eine Effizienzerhöhung zu erhalten, welche in zentral gesteuerten Echtzeit-Systemen gewünscht wird.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine Aufgabe der vorliegenden Erfindung ist die Bereitstellung eines Systems und eines Verfahrens zur Verarbeiten von Daten, bei welchen Tabellensteuerungsausführung verwendet wird, und durch welche eine hohe Effizienz erreicht werden kann. Insbesondere ist es eine Aufgabe der Erfindung ein System zu schaffen zur Steuerung von zentralgesteuerten Echtzeit-Systemen, bei welchem eine sehr hohe Ausführungseffizienz erreicht werden kann.
  • Eine besondere Aufgabe der vorliegenden Erfindung ist die Bereitstellung eines Systems, durch welches die Systemkapazität eines funktionsblock-orientierten Zentralprozessorsystems erhöht werden kann durch die Verwendung von parallelen Funktionsausführungen unter Verwendung von Tabellenausführung.
  • Es ist eine besondere Aufgabe, ein System zu schaffen, bei welchem beschreibende bzw. deskriptive Funktionstabellen verwendet werden können, um die Effizienz zum Beispiel einer Telefonverkehrs-Verarbeitung auf einer funktionalen Ebene im Datenverarbeitungssystem zu erhöhen.
  • Ferner ist es eine besondere Aufgabe der Erfindung, eine hohe Gesamtprozessorkapazität zu schaffen.
  • Ferner, gemäß einer besonderen Aufgabe der Erfindung, ist beabsichtigt eine hohe Verkehrsverarbeitungskapazität auf einfache und effiziente Weise im Vergleich zu dem, was bisher bekannt ist, zu schaffen.
  • Insbesondere ist es auch eine Aufgabe der vorliegenden Erfindung, ein Verfahren zu schaffen, durch welches die oben erwähnten Aufgaben gelöst werden. Eine weitere besondere Aufgabe der Erfindung ist die Bereitstellung eines Telekommunikationssystems, welches durch ein oben angeführtes System gesteuert wird.
  • Diese und weitere Aufgaben werden gelöst durch ein System zur Datenverarbeitung und ein Verfahren zur Datenverarbeitung, bei welchem mindestens ein zentraler Prozessor vorgesehen ist, in welchem zumindest eine Funktion tabellenausgeführt wird, parallel mit der Programmausführung durch mindestens einen Ausführungsprozessor. Gemäß der Erfindung wird insbesondere eine hohe Gesamtprozessorkapazität erreicht, durch parallele Ausführung von Funktionen in Kombination mit einem oder mehreren Programmausführungsprozessoren. Die Kombinationen sind gemäß einer besonderen Ausführung gegeben unter Beachtung von Last- und Funktionsaufteilungsaspekten, oder auf jede andere bekannte Weise. Jene Datenvariablen, welche für die beabsichtigte Funktion notwendig sind, zum Beispiel Fernverkehrs-Steuerung im Fall eines Telekommunikationsnetzes, können auf effiziente Weise parallel ausgeführt werden durch tabellengesteuerte Ausführung. Gemäß besonderer Ausführungen der Erfindung können solche Funktionen zum Beispiel die Initiierung von Variablen oder Datenposten, Statistikinformation, Datensammlung, Datenausgabe usw., sein.
  • Gemäß einer besonderen Ausführung kann die Erfindung verwendet werden zur Initiierung von variablen Posten mit einer Kopierfunktion, welche angesehen werden kann als ein gepufferter Job, bevor die variablen Posten auf aktive Weise teilnehmen an der Steuerung zum Beispiel einer Telefonvermittlung. Insbesondere kann die Initiierung stattfinden im Zusammenhang mit einer Löschung der Verbindung. Die Variablen, welche initiiert werden sollen, werden im allgemeinen in dem Datenverarbeitungssystem zugewiesen, und können über den Adressbereich der Datenspeicherung verteilt werden. Daher sind die logischen Adressen der Datenvariablen in dem System gegeben. Beim Speicherzugriff wird insbesondere eine Adressberechnung durchgeführt, um unter Verwendung einer Referenztabelle aus einer logischen Adresse eine physikalische Adresse bereitzustellen, was für sich genommen bekannt ist. Die logische Adressierung ist eine Bedingung für die Ermöglichung von erweiterten Funktionen oder der Bereitstellung von Veränderungen in dem Datensystem während des Betriebs.
  • Insbesondere können die Variablen von verschiedenem Format sein, und sie können als Individuen adressiert werden mit Zeiger- und/oder Index-Werten. Vorteilhaft kann eine Anzahl von Variablen mit jeder Datenaufzeichnung in Beziehung gesetzt sein.
  • Gemäß einer vorteilhaften Ausführung, welche sich auf die Dateninitiierungs-Einstellung mit einer Kopierfunktion bezieht, wird erst eine Ausführungstabelle, ein sogenannter Haupt- bzw. Master-Posten gebildet, eine Tabelle pro Einzelvariablen-Aufzeichnung, welche Variablen angibt, denen im gemeinsamen Datenspeicher ein Initialwert gegeben werden soll, und auch die relevanten Werte. Für jede Variable ist dann eine Zeile in der Tabelle vorgesehen, welche die logische Adresse der Variablen und eine Konstante umfasst. Insbesondere kann eine logische Adresse indiziert sein und/oder auf eine Untervariable weisen, deren Länge zum Beispiel zwischen 1 und 128 Bits variieren kann. Gemäß einer weiteren vorteilhaften Ausführung kann die Tabelle eine Schleifenbildungs-Anweisung umfassen für die Initiierungsdaten-Einstellung, zum Beispiel für indizierte Variablen mit der gleichen logischen Adresse. Die Länge der Tabelle, d. h. die Zahl an Variablen, kann zum Beispiel im ersten Tabellenwort gegeben sein. Gemäß einer alternativen Ausführung kann die Zahl an Variablen oder die Tabellenlänge als das letzte Datum der Tabelle gegeben sein. Die Ausführungstabellen können wie oben angegeben gebildet werden, zum Beispiel durch das Betriebsprogramm des Datenverarbeitungssystems bei Systemneustarts oder beim Einschalten. Ein Programmausführungsprozessor mit einer dafür vorgesehenen Programmanweisung aktiviert Master-Posten für die Ausführung des Inhalts der Tabelle.
  • Mit der Verwendung dieser Programmanweisungstabelle wird die Ausführung in dem Programmausführungsprozessor parallel zu einem laufenden Verkehrssteuerungsprogramm ausgeführt. Gemäß einer vorteilhaften Ausführung wird die Tabellenausführung beendet durch eine Synchronisationsaktivität zu einem Prozessor, zum Beispiel durch Einstellung eines sogenannten Zustandsbits zur Bestätigung, dass ein Job beendet ist. Gemäß einer alternativen Ausführung kann die Programmsynchronisation erzielt werden durch das schicken eines Signals an den Programmausführungsprozessor. Das Zustandsbit oder die Zustandsbits können durchsucht werden unter Verwendung einer Suchanweisung in dem Prozessor, durch welche der Prozessor mit Information darüber versorgt wird, welche variablen Aufzeichnungen Ressourcen sind, die verfügbar sind für den Verkehrssteuerungsprozess.
  • Die Tabellenausführungen sind an das System angepasst und es bezieht sich nicht auf irgendeine Programmsteuerung, sondern jede Linie der Tabelle ist besonders direkt objektsteuernd, ohne die Beteiligung von irgendwelchen Programmverwaltungsanweisungen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Erfindung wird im folgenden auf nicht beschränkende Weise weitergehend beschrieben, unter Bezugnahme auf die begleitenden Zeichnungen, in welchen:
  • Fig. 1 ein Datenverarbeitungssystem veranschaulicht, und
  • Fig. 2 ein Beispiel einer inneren Struktur einer Tabellenausführungseinheit veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Fig. 1 veranschaulicht ein Beispiel der Verwendung einer Tabellenausführungseinheit DVX in einem Datenverarbeitungssystem, und interne Kommunikation zwischen verschiedenen Einheiten des Datenverarbeitungssystems. In der schematischen Veranschaulichung des Datenverarbeitungssystems sind neben der Tabellenausführungseinheit DVX zwei Prozessoreinheiten oder Ausführungsprozessoren IPU1 und IPU2 vorgesehen. Diese sind verbunden mit einem zentralgesteuerten Bus und einer ACC (englisch: address calculation circuit, d. h. Adressberechungsschaltung) für Zugriffsverarbeitung. In der abgebildeten Ausführung gibt es zwei Ausführungsprozessoren IPU&sub1;, IPU&sub2;. Dies ist selbstverständlich nur ein Beispiel. Gemäß eine anderen Ausführung umfasst das System nur einen Ausführungsprozessor, und gemäß weiterer Ausführungen umfasst das System mehr als zwei parallele Ausführungsprozessoren oder Prozessoreinheiten. Jede Prozessoreinheit oder Ausführungsprozessor umfasst einen Programmspeicher PS. Ferner umfasst das System einen gemeinsamen Datenspeicher DS und die Tabellenausführungseinheit DVX, und die Verbindung der Verarbeitungseinheiten IPU&sub1;, IPU&sub2; mit einem Zwischenkommunikationssystem, welches jedoch hier nicht ausführlicher offenbart wird, da dieses auf eine an sich bekannte Weise eine Kommunikation bereitstellt mit anderen Systemen usw.
  • Die Tabellenausführungseinheit DVX und die Programmausführungsprozessoren IPU&sub1;, IPU&sub2; sind zwischen dem Zwischenkommunikationssystem und dem für das System gemeinsamen Speicher DS für Variablen angeschlossen.
  • Gemäß einer vorteilhaften Ausführung unterstützt die Tabellenausführungseinheit DVX, wenn erforderlich, eine effiziente Datenübertragung zwischen dem Datenverarbeitungssystem und verschiedenen peripheren Einheiten, auf eine für sich bekannte Weise, unter Verwendung eines direkten Speicherzugriffs (DMA-Kanal-Zugriff) auf dem gemeinsamen Datenspeicher DS.
  • Der gemeinsame Datenspeicher DS kann auf unterschiedliche Weisen organisiert sein. Gemäß einer vorteilhaften Ausführung verwendet der gemeinsame Datenspeicher eine Speicherorganisation, welche sogenannte Verschachtelung bzw. Interleaving auf eine für sich bekannte Weise anwendet, und er arbeitet in eine Multiplexstruktur, eine sogenannten Pipeline-Struktur, zu freien Speicherbänken. Diese freien Speicherbänke verhalten sich im Prinzip wie schnelle Speicher. Eine Adressberechnungsschaltung ACC steuert die Zuweisung von Bus- und Speicherzugriffen in der gemultiplexten Datenspeicherung.
  • In Fig. 2 wird ein Beispiel einer internen Struktur einer Tabellenausführungseinheit DVX veranschaulicht. (Eine ihrer Funktionen kann sich zum Beispiel darauf beziehen, Ganzwort- Variablen in dem Datenspeicher Initialwerte zu geben. Ganzwort-Variable bedeutet das direkt steuerbare Datenformat in dem Speicher für das Hineinschreiben, ohne vorheriges Auslesen des Speicherworts.)
  • Unabhängig vom Ursprung der Initiierung werden alle Speicherzugriffe in der gezeigten Ausführung über die Adressberechnungsschaltung durchgeführt, welche auch die gegenwärtige Reihenfolge oder sequentielle Reihenfolge steuert. Eine rufende Einheit und eine gerufene Speicherbank kooperieren in den meisten Fällen auf asynchrone Weise. Eine Synchronisation wird durchgeführt durch die Adressberechnungsschaltung ACC, zum Beispiel gemäß einer vorteilhaften Ausführung dadurch, dass sie angibt wann eine Speicheradresse bzw. Schreibdaten den Bus für den Speicherzugriff selbst einnehmen können. Zum Beispiel kann ein Bereitschaftsbit (Synchronisation) verwendet werden, um anzugeben, dass Schreibdaten verfügbar sind, wohingegen wenn das Bereitschaftsbit nicht gezeigt wird, es eine Warteposition gibt.
  • Die Tabellen umfassen eine Tabelleneinstellung für jede Initiierung, steuern die Jobs, die für die Tabellenausführungseinheit bestimmt sind, welche (die Tabellenausführungseinheit DVX) unabhängig diese Jobs ausführt. Die variablen Zugriffe werden angefordert über die Adressberechnungsschaltung ACC, und vorteilhaft umfasst dies eine Prioritätsreihenfolge zur Verarbeitung der Variablenzugriffe. Die asynchrone Koordination und eine effiziente Pipeline-Struktur erfordern jedoch Zwischenpuffer für Speicheradressen und Schreibdaten, oder in manchen Fällen Lesedaten. Die Tabellenausführungseinheit DVX umfasst Pufferspeicher für das Register des Datenverarbeitungssystems für die logische Adressierung von Variablen, Basisstartadressen BSA&sub1;, BSA&sub2; und PRS&sub1;, PRS&sub2;. BSA gibt die Adresse einer Basistabelle, die mit einem Funktionsblock in Beziehung steht, wohingegen PRS die individuelle Zahl gibt, d. h. den Zeiger auf die Variablenaufzeichnung. Diese Register werden eingestellt von dem Prozessor, der den Start der Tabellenausführung mit einer Anweisung WCX des dafür vorgesehenen Programms initiiert. Es gibt auch ein Register für WCX. WCX bringt einen Ausführungstabellen-Zeiger MP&sub1;, MP&sub2; (siehe Fig. 2) welcher eine Adresse der auszuführenden Tabelle ist. Gemäß einer vorteilhaften Ausführung sind die Tabellen so angeordnet, das sie einen schnellen Speicher bilden. In der veranschaulichten Ausführung enthält die erste Zeile der Tabelle Information über die Zahl von Variablen oder Zeilen in der Tabelle, welche durch das Kopieren betroffen werden, wohingegen in der nächsten Zeile die erste Variable folgt, welche eine logische Adresse "a" hat und den Wert der Konstanten, die als Initialwert zu setzten ist, gewöhnlich 0 oder 1. In der folgenden Zeile ist die nächste Variable gegeben usw., bis zur letzten Zeile der Tabelle, welche verwendet wird für die Einstellung eines sogenannten Zustandsbits mit logischer Adresse "a". In der Figur ist die n-te Ausführungstabelle nur schematisch angegeben, wobei n die Zahl der Ausführungstabellen des Systems angibt. Es kann eine oder mehrere geben. WCX beginnt den Ausführungsprozess und aktiviert die Steuerlogik zur Adressierung der Ausführungstabelle, welche die Zahl der Variablen lesen wird, und ein sogenannter Schleifenzähler COUNT wird für die Steuerlogik geladen. In der Tabelle geht man eine Stufe um +1 in die nächste Zeile und zur ersten Variablen der Tabelle. Der logische Adressteil (a), zusammen mit einer Basisstartadresse, dem BSA-Inhalt, stellt über eine Adressierschaltung ADD eine Adresse für jene Referenztabelle bereit, aus welcher die physikalische Datenposition des Speichers erhalten wird (nicht abgebildet). Die Speicheradresse der Variablen wird gegeben durch Berechnung von WA, d. h. die physikalische Datenposition im Speicher und der Zeigerwert in PRS (Offset). Im vorliegenden Fall wird auch ein Indexwert erhalten. Die Adressberechnung selbst wird über die oben erwähnte Pipeline-Stufe gesteuert, und der konstante Teil wird an den Schreibdaten-Puffer übertragen. In den letzten Pipeline-Stufen der Adressberechnung wird eine Anforderung für einen Speicherzugriff an die Adressberechnungsschaltung ACC gemäß der berechneten Variablenadressen aktiviert. Dann, gemäß einer vorteilhaften Ausführung, wird die Initialkonstante in den gemeinsamen Datenspeicher DS geschrieben. Tabellenberechnung wird zum Beispiel diskutiert in SE-B-439.208.
  • Die WCX-Warteschlange wird gemäß einer vorteilhaften Ausführung sequentiell verarbeitet, und Information über einen "vollen Puffer" wird dem Ausführungsprozessor IPU gegeben, oder wenn anwendbar, der betroffenen Prozessoreinheit. Gestrichelte Linien in der Figur bezeichnen unter anderem Erweiterungen, wenn eine Variable intern gelesen und verarbeitet werden soll, vor dem Neueinschreiben in den gemeinsamen Datenspeicher DS. Die oben beschriebene Pipeline-Steuerung kann manchmal vorübergehend angehalten werden, abhängig von der Steuerungsbeteiligung der Adressenberechnungsschaltung, wenn Speicherzugriffe durchgeführt werden. Normalerweise wird die Tabellenausführung jedoch mit der letzten Zeile der Tabelle beendet, wenn gemäß einer vorteilhaften Ausführung das Zustandsbit in dem Datenspeicher DS gesetzt ist, oder durch Sendung eines Signals. Gemäß einer vorteilhaften Ausführung hat die Programmausführung durch ein Ausführungsprozessor IPU Präferenz gegenüber einer Tabellenausführung durch die Tabellenausführungseinheit DVX. Die parallele Ausführung wird dann so angewendet, dass wenn der Speicher DS frei ist, d. h. nicht von dem Ausführungsprozessor für die Programmausführung verwendet wird, zum Beispiel für Verkehrssteuerung oder irgendetwas anderes, er für die Tabellenausführung verwendet wird. Wenn der Ausführungsprozessor IPU erneut den Datenspeicher DS verwenden muss, kann er die ablaufende Tabellenausführung unterbrechen.
  • Selbstverständlich kann der Datenverarbeitungssystem nach der Erfindung in anderen Systemen angewendet werden, als in Telekommunikationssystemen. Auch in anderen Aspekten ist die Erfindung nicht beschränkt auf die gezeigten Ausführungen, sondern sie kann auf eine Anzahl von Arten innerhalb des Umfangs der Ansprüche variiert werden.

Claims (21)

1. System zur Verarbeitung von Daten, umfassend ein Zentralprozessorsystem, in dem eine Anzahl von Funktionsblöcken gegebene Funktionen zugewiesen sind, umfassend mindestens einen Programmausführungsprozessor (IPUi,i = ..., n) und einen Datenspeicher (DS), dadurch gekennzeichnet, dass das System mindestens eine Tabellenausführungseinheit (DVX) umfasst, welche mindestens eine Ausführungstabelle umfasst, und dadurch, dass eine Anzahl von Variablen in dem Datenspeicher (DS) zugewiesen sind, und dadurch, dass eine Programmausführung von mindestens einem Ausführungsprozessor parallel durchgeführt wird mit einer Tabellenausführung durch die Tabellenausführungseinheit (DVX), wobei entweder Programmausführung oder Tabellenausführung einen Prioritätszugriff auf den Datenspeicher (DS) hat, und eine ablaufende Ausführung der anderen Art unterbrechen kann, so dass der Datenspeicher (DS) hinsichtlich eines Zeitaspekts entweder für Programmausführung oder Tabellenausführung verwendet wird.
2. System nach Anspruch 2, dadurch gekennzeichnet, dass die Programmausführung durch die Ausführungsprozessoren (IPU) eine höhere Priorität hat als die Tabellenausführung durch die Ausführungseinheit (DVX), welche den Datenspeicher (DS) verwendet, wenn dieser nicht für Programmausführung verwendet wird.
3. System nach Anspruch 2, dadurch gekennzeichnet, dass eine ablaufende Tabellenausführung unterbrochen werden kann für eine Programmausführung durch den Ausführungsprozessor (IPU).
4. System nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die Funktion, Variablen oder Datenaufzeichnungen Initialwerte mit einer Kopierfunktion zu geben, parallel ausgeführt wird zu einer Ausführung von Verkehrssteuerungsprogrammen durch die Programmausführungseinheit (IPU1).
5. System nach Anspruch 4, dadurch gekennzeichnet, dass die Sammlung von statistischer Information eine tabellenausgeführte Funktion ist.
6. System nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Funktionen der Datensammlung und/oder Datenausgabe tabellenausgeführt wird/werden.
7. System nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass Variablen individuell adressiert werden, zum Beispiel mit Zeigerwerten und/oder Indexwerten.
8. System nach Anspruch 7, dadurch gekennzeichnet, dass eine oder mehrere Variablen in Beziehung stehen mit einer individuellen Aufzeichnung.
9. System nach Anspruch 4, dadurch gekennzeichnet, dass eine Tabelle/Einzelvariablenaufzeichnung, eine Ausführungstabelle, gebildet ist, welche zumindest die Variablen angibt, denen ein Initialwert zu geben ist.
10. System nach Anspruch 9, dadurch gekennzeichnet, dass die Ausführungstabelle auch die Initialwerte bereitstellt, welche den Variablen zu geben sind.
11. System nach Anspruch 10, dadurch gekennzeichnet, dass der Initiierungswert in der Ausführungstabelle angegeben ist.
12. System nach Anspruch 11, dadurch gekennzeichnet, dass jede Variable über eine Zeile in der Ausführungstabelle verfügt, welche zumindest die logische Adresse der Variablen und eine Konstante enthält.
13. System nach Anspruch 12, dadurch gekennzeichnet, dass die logische Adresse eine Variable beliebiger Länge angibt.
14. System nach einem der Ansprüche 9 bis 14, dadurch gekennzeichnet, dass die Ausführungstabellen gebildet werden von einem Betriebssystem des Datenverarbeitungssystems.
15. System nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass eine Programmsynchronisation geschaffen wird durch Übertragung eines Signals an den betroffenen Zentralprozessor oder Ausführungsprozessor (IPUi), oder durch Bestätigung eines beendeten Jobs, zum Beispiel durch ein Zustandsbit oder ähnliches, um über die Variablenaufzeichnungen zu informieren, welche Ressourcen sind, die frei sind für die Programmausführung oder den Verkehrssteuerungsprozess.
16. System nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass jede Zeile der Tabelle direkt objektsteuernd ist.
17. System nach einem der vorangehenden Ansprüchen, dadurch gekennzeichnet, dass es zur Steuerung eines Computersystems verwendet wird.
18. System nach Anspruch 16, dadurch gekennzeichnet, dass es zur Steuerung eines zentralgesteuerten Telekommunikationssystems verwendet wird.
19. System nach Anspruch 18, dadurch gekennzeichnet, dass das zentralgesteuerte Telekommunikationssystem ein sogenanntes AXE-System ist.
20. Kommunikationssystem, umfassend mindestens ein System zur Datenverarbeitung, welches zumindest einen Ausführungsprozessor (IPUi; i = ...n) und mindestens einen Datenspeicher (DS) umfasst, dadurch gekennzeichnet, dass das Datenverarbeitungssystem mindestens eine Tabellenausführungseinheit (DVX) umfasst, die eine Ausführungstabelle umfasst, dass eine Anzahl von Datenvariablen in dem Datenspeicher (DS) zugewiesen sind, und dadurch, dass eine Tabellenausführung von zumindest einer Variablen parallel durchgeführt wird zur Ausführung von Verkehrssteuerungsprogrammen durch einen Ausführungsprozessor (IPU&sub1;, IPU&sub2;), wobei die Ausführung so durchgeführt wird, dass eine ablaufende Tabellenausführung unterbrochen wird von dem Ausführungsprozessor (IPU&sub1;, IPU&sub2;) für Verkehrssteuerung, wenn der Ausführungsprozessor (IPU&sub1;, IPU&sub2;) Zugriff auf den Datenspeicher (DS) benötigt.
21. Verfahren zur Verarbeitung von Daten in einem System, das eine Anzahl von Funktionseinheiten umfasst, zumindest einen Ausführungsprozessor (IPUi) und einen Datenspeicher (DS), dadurch gekennzeichnet, dass die Ausführung von dem Ausführungsprozessor (IPU&sub1;) parallel durchgeführt wird zur Ausführung durch eine Tabellenausführungseinheit (DVX), dass Funktionstabellen verwendet werden zur Steuerung jener Funktionen, welche parallel ausgeführt werden sollen zur Ausführung durch den Ausführungsprozessor (IPU&sub1;), wobei die Tabellenausführungseinheit verbunden ist mit einem Datenspeicher (DS), welcher für das System gemeinsam ist, und wobei eine Tabellenausführung durchgeführt wird, wenn der Datenspeicher (DS) nicht von dem Ausführungsprozessor (IPU) für eine Programmausführung verwendet wird.
DE69519939T 1994-10-17 1995-10-17 System und verfahren zur datenverarbeitung und damit ausgestattetes kommunikationssystem Expired - Lifetime DE69519939T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE9403532A SE503506C2 (sv) 1994-10-17 1994-10-17 System och förfarande för behandling av data samt kommunikationssystem med dylikt system
PCT/SE1995/001208 WO1996012234A1 (en) 1994-10-17 1995-10-17 System and method for processing of data and a communications system with such a system

Publications (2)

Publication Number Publication Date
DE69519939D1 DE69519939D1 (de) 2001-02-22
DE69519939T2 true DE69519939T2 (de) 2001-06-07

Family

ID=20395634

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69519939T Expired - Lifetime DE69519939T2 (de) 1994-10-17 1995-10-17 System und verfahren zur datenverarbeitung und damit ausgestattetes kommunikationssystem

Country Status (8)

Country Link
US (1) US5925121A (de)
EP (1) EP0789881B1 (de)
JP (1) JPH10507548A (de)
KR (1) KR100294314B1 (de)
CN (1) CN1097783C (de)
DE (1) DE69519939T2 (de)
SE (1) SE503506C2 (de)
WO (1) WO1996012234A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5062499B2 (ja) * 2010-05-07 2012-10-31 横河電機株式会社 フィールド機器管理装置
US8572628B2 (en) * 2010-12-02 2013-10-29 International Business Machines Corporation Inter-thread data communications in a computer processor
US9547530B2 (en) * 2013-11-01 2017-01-17 Arm Limited Data processing apparatus and method for processing a plurality of threads

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3969701A (en) * 1973-04-09 1976-07-13 Telefonaktiebolaget L M Ericsson Function block oriented SPC system
SE403322B (sv) * 1977-02-28 1978-08-07 Ellemtel Utvecklings Ab Anordning i en styrdator for forkortning av exekveringstiden for instruktioner vid indirekt adressering av ett dataminne
SE439208B (sv) * 1983-09-30 1985-06-03 Ericsson Telefon Ab L M Programminnesstyrd telekommunikationsanleggning
US4891787A (en) * 1986-12-17 1990-01-02 Massachusetts Institute Of Technology Parallel processing system with processor array having SIMD/MIMD instruction processing
US5170476A (en) * 1990-01-22 1992-12-08 Motorola, Inc. Data processor having a deferred cache load
CA2086691C (en) * 1992-03-30 1997-04-08 David A. Elko Communicating messages between processors and a coupling facility
US5404515A (en) * 1992-04-30 1995-04-04 Bull Hn Information Systems Inc. Balancing of communications transport connections over multiple central processing units
GB2271203B (en) * 1992-10-01 1995-12-13 Digital Equipment Int Digital processing system
EP0608663B1 (de) * 1993-01-25 1999-03-10 Bull HN Information Systems Italia S.p.A. Multiprozessorsystem mit gemeinsamem Speicher
US5517656A (en) * 1993-06-11 1996-05-14 Temple University Of The Commonwealth System Of Higher Education Multicomputer system and method
US5613068A (en) * 1994-06-17 1997-03-18 International Business Machines Corporation Method for transferring data between processors on a network by establishing an address space for each processor in each other processor's

Also Published As

Publication number Publication date
EP0789881A1 (de) 1997-08-20
JPH10507548A (ja) 1998-07-21
SE9403532D0 (sv) 1994-10-17
SE9403532L (sv) 1996-04-18
US5925121A (en) 1999-07-20
CN1097783C (zh) 2003-01-01
KR970706540A (ko) 1997-11-03
WO1996012234A1 (en) 1996-04-25
EP0789881B1 (de) 2001-01-17
KR100294314B1 (ko) 2001-09-17
DE69519939D1 (de) 2001-02-22
CN1168730A (zh) 1997-12-24
SE503506C2 (sv) 1996-06-24

Similar Documents

Publication Publication Date Title
DE60037174T2 (de) Puffersystem für externen speicherzugriff
DE69127101T2 (de) System für verteilte mehrfachrechnerkommunikation
DE3751399T2 (de) Parallelrechner mit verteilten, gemeinsam genutzten Speichern und verteilten, aufgabenaktivierenden Schaltungen.
DE69227664T2 (de) Hardwarekonfiguriertes Betriebssystemkern für einen Multitaskprozessor
DE69519816T2 (de) Anordnung mit Duplikat des Cache-Etikettenspeichers
DE68927172T2 (de) Multiprozessorsystem mit cache-speichern
DE2415900C3 (de) Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen
DE68927375T2 (de) Arbitrierung von Übertragungsanforderungen in einem Multiprozessor-Rechnersystem
DE3587439T2 (de) Gemeinsam benutzter Mehrprozessor-Pipeline-Cachespeicher.
DE69327387T2 (de) An einen paketvermittelten Bus gekoppelte Nachschreibsteuerungsschaltung für eine Cachespeichersteuerungsschaltung
DE69331311T2 (de) Datenkommunikationssystem und Verfahren
DE69225195T2 (de) Datengesteuertes Verarbeitungssystem
DE69933328T2 (de) Mehrweg-Cachespeichervorrichtung und Verfahren
DE2944419C2 (de)
DE69622776T2 (de) Von Multitasking gebrauch machendes Sortieren
DE3438869A1 (de) Computersystem mit adressumwandlung
DE69031524T2 (de) Verfahren und Vorrichtung zur Datenübertragung zwischen Prozessorelementen
DE2226382A1 (de) Datenverarbeitungsanlage
DE2841041A1 (de) Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren
DE69025650T2 (de) Multiprozessorsystem mit Vektorpipelinen
DE68924992T2 (de) Symmetrische Steuerungsanordnung für Multiverarbeitung.
DE69230483T2 (de) Quadraturbusprotokoll zum Ausführen von Transaktionen in einer Rechneranordnung
DE2054830A1 (de) Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher
DE3750045T2 (de) Unterbrechungssteuerungsvorrichtung für eine virtuelle Maschine mit einer Vielzahl von Verarbeitungseinheiten.
DE69519939T2 (de) System und verfahren zur datenverarbeitung und damit ausgestattetes kommunikationssystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition