DE69519939T2 - System und verfahren zur datenverarbeitung und damit ausgestattetes kommunikationssystem - Google Patents
System und verfahren zur datenverarbeitung und damit ausgestattetes kommunikationssystemInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/42—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
- H04Q3/54—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
- H04Q3/545—Circuit 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/54508—Configuration, initialisation
- H04Q3/54533—Configuration 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
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1994
- 1994-10-17 SE SE9403532A patent/SE503506C2/sv not_active IP Right Cessation
-
1995
- 1995-10-17 DE DE69519939T patent/DE69519939T2/de not_active Expired - Lifetime
- 1995-10-17 CN CN95196645A patent/CN1097783C/zh not_active Expired - Fee Related
- 1995-10-17 EP EP95935636A patent/EP0789881B1/de not_active Expired - Lifetime
- 1995-10-17 WO PCT/SE1995/001208 patent/WO1996012234A1/en active IP Right Grant
- 1995-10-17 JP JP8513164A patent/JPH10507548A/ja active Pending
- 1995-10-17 US US08/817,509 patent/US5925121A/en not_active Expired - Lifetime
- 1995-10-17 KR KR1019970702398A patent/KR100294314B1/ko not_active IP Right Cessation
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 |