MULTIPROCESSOR CONTROLLER, ESPECIALLY A MULTIPROCESSOR CONTROL UNIT OF A TELEPHONE SWITCHING UNIT

Abstract: Multiprocessor controller, especially a multiprocessor central control unit of a telephone switching unit, having a bus system (B:CMY) to which there are connected the processors (CP, IOC), which have a separate local memory (LMY) or no separate local memory (LMY), and which is allocated alternately to different processors of the group (e.g. CP1, CPx, IOC0). The multiprocessor controller has a main memory (CMY), which is connected to the bus system (B:CMY) and to which the processors (CP, IOC) can alternately have access in accordance with the allocations of the bus system (B:CMY) via the bus system (B:CMY), and via which processors (CP, IOC) can communicate with one another if required. The main memory (CMY) comprises a plurality of memory banks (MB) each having its own memory control which controls its own memory bank (MB) independently of the memory control of the remaining memory banks (MB). Time frames having time slots or time channels are set up in accordance with the time-division multiplex principle on the bus or busses of the bus system (B:CMY). One or more of the time channels are respectively firmly allocated to each memory control. For the purpose of quasi-simultaneous access to the different memory banks (MB), time slots or time channels can be allocated in each case to a plurality of the processors (CP, IOC). <IMAGE>

Description: Multiprozessor-Rechner, insbesondere Multiprozessor Zentralsteuereinheit eines Fernsprech-Vermittlungssystems. Die Erfindung geht von dem im Oberbegriff des Patentanspruchs 1 genannten Multiprozessor-Rechner aus. Rechner gemäss dem Oberbegriff des Patentanspruchs 1, welche also aus einer höheren Vielzahl von Prozessoren (wenn sie keine eigenen lokalen Speicher haben) bzw. Rechnern (wenn sie eigene lokale Speicher haben) mit Hilfe eines allen Prozessoren bzw. Rechnern gemeinsamen Bussystems gebildet werden, sind für sich seit langem in der Diskussion, in verschiedener Weise entwickelt und, jedenfalls zum Teil, zumindest versuchsweise realisiert. Sie können insbesondere als eine Zentralsteuereinheit für ein besonders grosses Fernsprech-Vermittlungssystem verwendet werden, bei denen häufig eine hohe Vielzahl von vermittlungstechnischen Funktionen simultan bzw. quasisimultan durchzuführen sind, wie z.B. die Uberwachung des Teilnehmers auf Abheben und Rufnummernwahl, Wegesuche, Wegedurchschaltung, Signaltöne, Gebührenerfassung, Ansagen, Facilities verschiedenster Art, usw. . Solche Rechner müssen eine hohe Verarbeitungskapazität aufweisen. Sowohl hohe Verarbeitungskapazitäten als auch Einsparungen beim Hardwareaufwand sind für sich bekannte Aufgaben von derartigen Nultiprozes- sor-Rechnern. Bussysteme, welche den verschiedenen Prozessoren bzw. Rechnern einen wahlweisen Zugriff auf den daran angeschlossenen Hauptspeicher mittels Arbitern ermöglichen, sind für sich in verschiedensten Varianten bekannt. Dar unter gibt es auch ausserordentlich komfortable, vielseitige, ausserordentlich sichere Bussysteme mit gedoppelten Bussen und mit hoher Verfügbarkeit, vgl. z.B. die nicht vorveröffentlichte DE-OS 33 28 405. Die Aufgabe der Erfindung ist, den im Oberbegriff des Patewtanspruchs 1 angegebenen Multiprozessor-Rechner mit Prozessoren, die simultan mit verschiedensten Aufgaben befasst sind und entsprechend simultan verschiedene Verarbeitungen durchführen - insbesondere jeder Prozessor eine andere momentane Verarbeitung, soweit sie nicht eine Pause einlegen - so weiterzubilden, dass - einerseits der Hardwareaufwand gering ist und - andererseits der Zeitaufwand für einen Zugriff eines Prozessors zum Hauptspeicher möglichst gering und damit ein quasisimultaner Zugriff ermöglicht wird, bei dem mehrere Prozessoren über ein einziges Bussystem ohne gegenseitige Behinderung zum Hauptspeicher zu greifen können. Diese Aufgabe wird durch die im Patentanspruch 1 genannten Massnahmen gelöst. Die in den Unteransprüchen angegebenen Massnahmen gestatten zusätzliche Vorteile zu erreichen, nämlich die Massnahme gemäss Patentanspruch 2, den Aufbau und die Betriebsweise des Multiprozessor Rechners besonders einfach zu gestalten, und 3, den Fluss der Adressen und Informationen auf dem Bus system besonders stark zu intensivieren und damit eine besonders hohe Verarbeitungskapazität des Mul tiprozessor-Rechners zu erreichen. Die Erfindung wird anhand von einem Ausführungsbeispiel näher erläutert, welches in der Figur gezeigt ist. Die Figur zeigt eine Zentralsteuereinheit, bei der zwölf Prozessoren CP, sowie mehrere Prozessoren IOC über das Bussystem B:CMY mit dem Hauptspeicher CMY zusammenarbeiten.Aus Sicherheitsgründen ist das Bussystem gedoppelt, vgl. B:CMYO und B:CMY1, evtl. auch die Prozessoren CP/IOC. Jeder Prozessor enthält neben der eigentlichen, übrigens ebenfalls gedoppelten Prozessoreinheit PU bevorzugt jeweils einen prozessorindividuellen lokalen Speicher LMY. Die Prozessoren IOC haben z.B. acht besondere Ausgänge 0 bis 7 mit Bussen B:IOC, über die sie mit IO-Units IOP und peripheren Einheiten MBG des Fernsprech-Vermittlungssystems, z.B. mit Leitungsgruppensteuerungen,Koppelnetz, Geräte usw. > kommunizieren. Die - bevorzugt im wesentlichen untereinander gleichaufgebauten - Prozessoren CP führen, zumindest wenn genügend Verbindungsanforderungen vorliegen, simultan z.B. vermittlungstechnische, sicherungstechnische und/oder betrebstechnische Funktionen aus. Bei dem in der Figur gezeigten Beispiel ist der an das Bussystem B:CMY angeschlossene Hauptspeicher CMY aus vier verschiedenen, überdies in sich jeweils aus Sicherheitsgründen gedoppelten Speicherbanken MBO...MB3 aufgebaut. Im Prinzip können alle Prozessoren CP/IOC über das Bussystem B:CMY Zugriff auf alle Daten des Hauptspeichers CMY bzw. auf alle Daten der Speicherbanken MB haben, soweit nicht - z.B. durch Beschränkung der Adressen - die Berechtigung des Zugriffs eingeschränkt wird. Die Figur zeigt ferner periphere Einheiten MBG des Fernsprech-Vermittlungssystems, welche mittelbar oder unmittelbar auf die Leitungen des Vermittlungsnetzwerkes einwirken, z.B. im Rahmen der Wegesuche, Durchschaltung, Signalisierung, usw. Diese peripheren Einheiten MBG sind hier gedoppelt, vgl. die Auskreuzungen der Leitungen. Sie besitzen im gezeigten Beispiel eigene IO-Units, vgl. IOP:MB. Es sind weitere solche IO-Units an die lokalen Busse B:IOC angeschlossen, vgl. IOP, welche jeweils zwar mit weiteren solchen peripheren Einheiten verbunden sind, die aber der Ubersichtlichkeit wegen in der Figur nicht mehr gezeigt sind. Diese IO- Units IOP:KB..IOPbzw. deren' lokale Busse B:IOC sind über IO-Prozessoren IOC, vgl. IOCO, IOC1, mit dem Bussystem 3:CMY verbunden. Durch Punkte wurde in der Figur angedeutet, dass noch weitere solche IO-Prozessoren IOC, insbesondere bei sehr grossen Vermittlungssystemen, vorgesehen sein können. Die peripheren Einheiten, vgl. MBG, sind jeweils mit verschiedenen der Prozessoren CP, von Fall zu Fall anders verteilt, verbindbar und/oder auch mit dem Hauptspeicher CMY, bzw. mit Teilen von dessen Speicherbanken MB,verbind- bar. Durch diese Verbindungen können Meldungen und/oder Anfragen von peripheren Einheiten MBG, und Meldungen und/oder Anfragen zu solchen peripheren Einheiten MBG hin, durchgeführt werden. Die vermittlungstechnischen Meldungen und/oder Anfragen einer peripheren Einheit MBG werden dabei bevorzugt autonom über die mit Ihnen verbundenen IolUnits IOP per Ruf verteilt, indem das jeweils betreffende Io-unit IOP, wenn es einen Ruf von der peripheren Einheit MBG erhalt, dieser rufenden peripheren Einheit MBG einen der Prozessoren CP, bzw. einen Teil des Hauptspeichers C > Z bzw. MB, zuteilt bzw. über das Bussystem B:CMY zuteilen lässt. Diese Zuteilung eines speziellen Prozessors und/oder eines speziellen Teils des Hauptspeichers CMY/MB an die z.B. zwei peripheren Einheiten MBG (1 Verbindung belegt z.B. zwei MBGs) wird dann noch in einem Datenfeld abgespeichert, wobei dieses Datenfeld auch innerhalb einer Speicherbank MB des Hauptspeichers CMY angebracht sein kann; Durch'diese Abspeicherungen im Datenfeld sind, insbesondere unter Mitwirkung der. jeweils betraffenen IO-Units IOP der betroffenen peripheren Einheiten MBG,alle späteren Meldungen oder Anfragen der betroffenen peripheren Einheiten MBG;welche diesem Ruf nachfolgen, jeweils zum selben, vorher zugeteilten Prozessor CP bzw zum selben Hauptspeicherteil MB sendbar, damit dort die betreffenden vermittlungstechnischen Funktionen und/oder Registrierungen, welche durch den Ruf ausgelöst werden, fortgesetzt werden können.Eine solche autonome Zuteilung per Ruf ermöglicht eine angenähert gleichmässige Belastung aller Prozessoren CP mit vermittlungstechnischen Funktionen - zumindest kann diese Zuteilung dann Jeweils entsprechend der momentanen Auslastung der betreffenden Prozessoren CP so gesteuert werden, dass die dem Ruf folgenden Meldungen und/oder Anfragen wirklich jeweils rasch von einem der Prozessoren, der noch eine ausreichend freie Kapazität hat, bearbeitet werden können jfl.Die Auswahl bzw. die Verteilung der Prozessoren zur Durchführung der vermittlungstechnischen Funktionen, welche durch den Ruf ausgelöst werden, kann dabei zyklisch erfolgen, wobei aber bei Uberlastung eines Prozessors CP dieser Prozessor im zyklischen Auswahlverfahren übersprungen wird. Durch eine solche zyklische Verteilung der Aufgaben bzw. Rufe auf die betreffenden Prozessoren ist eine zu-einem hohen Grad gleichmässige Auslastung der Prozessoren erreichbar. Rasch werden im allgemeinen alle Prozessoren mindestens eine gewisse Teilauslastung aufweisen. Es wird auch ein Fehler, bzw. die Neigung zu fehlerhaften Verarbeitungen, in den Prozessoren stets rasch finbar, wodurch mittels betriebstechnischer Funktionen, die bevorzugt von einem der Prozessoren CP durchgeführt werden, der betreffende fehlerhafte Prozessor vorläufig ausser Be trieb gesetzt und beim zyklischen Verteilen jeweils über sprüngen werden kann, wobei auch eine - evtl. teilweise Selbstheilung der Zentralsteuereinheit, z.B. mittels Ersatzschaltungen und Rettung von Speicherinhalten, durchgeführt werden kann. Bei einem solchen Multiprozessor-Rechner, den diese Multiprozessor-Zentralsteuereinheit darstellt, fordert normalerweise simultan eine statistisclu;Willkürlich verteilte beliebige Mehrzahl der Prozessoren CP/IOC einen Zugriff zum Hauptspeicher bzw. zu meistens unterschiedlichen Teilen MB davon an. Dann wird abwechselnd diesen, jeweils verschiedenen Prozessoren, z.B. CP1, CPx, IOCO, das¯Bussystem B:CMY zugeteilt, wobei eine Arbitrierung über die Reihenfolge des Zugriffes in für sich bekannter Weise entscheiden kann, so dass die betreffenden Prozessoren .CP/IOC . zum an das Bus system B:CMY angeschlossenen Hauptspeicher CMY/MB nacheinander bzw. abwechselnd, entsprechend den Arbitrierungen bzw. Zuteilungen des Bussystems B:CMY, Zugriff haben - wobei bei Bedarf die betreffenden Prozessoren CP/IOC auch mittelbar miteinander über den Hauptspeicher cIY/M3 kommunizieren können. Im allgemeinen kommuniziert mittelbar jeder dieser betreffenen Prozessoren jeweils mit einem anderen Bereich im Hauptspeicher CMY. Um die Wartezeiten dieser Prozessoren zu verringern, enthält der Hauptspeicher CMY mehrere, im gezeigten Beispiel vier, Speicherbanken MB mie jeweils einer eigenen Speichersteuerung.Diese eigene Speichersteuerung steuert jeweils ihre Speicherbank MB ünab- hängig von den Speichersteuerungen der übrigen Speicherbanken 43. So können diese Speicherbanken simultan betrieben werden. Ferner sind auf dem Bussystem B:CMY nach dem Zeitmultiplexprinzip Zeitrahmen mit Zeitschlitzen bzw. Zeitkanälen eingerichtet, wobei jeder Speichersteuerung jeweils einer oder mehrere der Zeitkanäle fest zugeordnet sind, und wobei den betreffenden, eine Kommunikation anfordernden Prozessoren CP, IOC zum quasisimultanen Zugriff auf die verschiedenen Speicherban- ken MB jeweils Zeitschlitze bzw. Zeitkanäle zuteilbar sind. Dadurch kann die Dauer des zugeteilten Zeitschlitzes jeweils viel kürzer als die Dauer eines Speicherzyklusses sein. Daher ist bei diesem Beispiel zwar nur ein einziges Bussystem B:CMY angebracht, auf dem aber der Informationsfluss quasisimultan, d.h. stark verdichtet ist, was zu einer Verminderung des Hardwareaufwandes für das Bussystem, verglichen mit je einem eigenen Bussystem pro Speicherbank MB, beiträgt. Bei der Erfindung, kann also quasisimultan mindestens eine Mehrzahl der Prozessoren CP/IOC, wenn nicht sogar alle diese Prozessoren, entsprechend der Anzahl der pro Zeitrahmen ihnen nach dem Zeitmultiplexprinzip jeweils zuteilbaren Zeitschlitze Zugriff zum Hauptspeicher CMY bzw.zu dessen Speicherbanken MB haben Prinzip können pro Zeitrahmen auch mehrere Zeitschlitze jeder Speicherbank MB und/oder jedem kommunizierenden Prozessor CP/IOC zugeordnet bzw. zugeteilt sein. Durch diese Zeitmultiplex-Betriebsweise des Bussystems B:CMX müssen also nicht jeweils längere Dauern für Kommunikationen zwischen dem Hauptspeicher CFff und einem ersten beliebigen der Prozessoren CP/IOC abgewartet werden, bis ein anderer zweiter beliebiger Prozessor CPx/IOCx seinerseits endlich auf Daten des Speichers City zugreifen kann bzw. dort Daten hinterlegen kann. Diese Zeitmultiplexbetriebsweise ist demnach in Anbetracht der vielen, gleichzeitig parallelarbeitenden und mit jeweils verschiedenen Aufgaben befassten Prozessoren CP/IOC zur Verkürzung der Zugriffszeit zum gemeinsamen Speicher CMY sehr vorteilhaft. Besonders vorteilhaft ist, dass der Hauptspeicher eine Vielzahl von unabhängig voneinander arbeitenden, oft im Vergleich zur Zeitschlitzdauer sehr langsam arbeitenden Speichersteuerungen bzw. Decodierern aufweist, wobei jeweils eine solche langsame Speichersteuerung einem der Prozessoren CP individuell vorübergehend für ganz kurze Dauer zugeordnet bzw. zugeteilt sein kann. Die Schreibzyklen können bei der Erfindung demnach nach der Ubernahme der Information in der Prozessor-Bussystem Schnittstelle autonom vom Bussystem B:CMY weitergelei- tet werden. Eine sofortige Quittung an den kommuni- zierenden Prozessor ermöglicht dessen sofortigen Weiterlauf, obwohl der betreffende Schreibzyklus zur Datenbank noch nicht abgeschlossen ist. Dies ermöglicht eine besonders hohe Kapazität bzw. Verarbeitungsgeschwindigkeit des Multiprozessor-Rechners. Die Lesezyklen zu einer Speicherbank können sogar gem.einer Weiterbildung der Erfindung so verschachtelt ablaufen,dass der Rücktransfer der gelesenen Daten zeitgleich zur über tragung der Adresse für einen folgenden Lese zugriff erfolgen kann. Darauf wird weiter unter noch näher eingegangen werden. Dies erhöht die Kapazität bzw. Verarbeitungsgeschwindigkeit nochmals deutlich. Der Aufbau der einzelnen Organe dieses Multiprozessor Rechners, z.B. der Prozessoren CP, der Speicherbanken MB bzw. des Hauptspeichers CMY, der IO-Prozessoren IOC welche z.B. auch eine verschiedene Anzahl von lokalen Systembussen B:IOC (vgl. die Ausgänge 0.. .7 des IO-P""o- zessores IOCO) haben können, kann jeweils an sich beliebig sein. Sie müssen nur zur Schnittstelle des ge wählen Bussystems B:CMY passen bzw. an dessen Aufbau bzw. Betriebsweise angepasst werden. Im lokalen, prozessorindividuellen Speicher LMY können jeweils, zum Zwecke der Reduzierung der Zugriffe zum Hauptspeicher CMY, die für den Ablauf dynamisch wichtigen Codes und lokalen Daten abgespeichert werden. Die peripheren Einheiten können ebenfalls an sich einen beliebigen Aufbau mit beliebigen Funktion aufweisen. Sie können sowohl gerätetechnische Organe darstellen als auch vermittlungstechnische Teilfunktionen von peripheren Organen, welche einen grösseren Komplex verschiedener Funktionen, ausführen. Trotz der forderbaren hohen Verfügbarkeit genügt es im allgemeinen, diese peripheren Organe über ungedoppelte, also einfach vorhandene IO- Units IOP:M3...I0P an die IO-Prozessoren IOC anzuschliessen, wenn diese peripheren Organe, vgl. MBG, für sich über Auskreuzungen angeschlossen sind, vgl. die Figf.Diese IO-.Units 10B und/ oder die zugehörigen IO-Prozessoren IOC können für sich zusätzliche Prüfungsfunktionen aufweisen, um unkontrollierte Zugriffe zu den Prozessoren CP/IOC und zum Hauptspeicher CMY/I!B, welche auf Fehlern beruhen, zu erschweren. Bei einem der entwickelten Beispiele gem. der. Figur wurden für die Prozessoren CP jeweils SAB 80286-Mikroprozes- soren verwendet, die jeweils über einen physikalischen Adressraum von 16 MByte verfügen. Für die IO-Units IOP wurden jeweils 8086-Bausteine verwendet. Die Prozessoren wurden zur Verbesserung der Fehlererkennung bevorzugt gedoppelt und waren dann jeweils nur paarweise abschaltbar. Die betreffenden Prozessorenpaare arbeiteten synchron. Bei Schreibzyklen wurden die Signale stets jeweils von einem bevorzugten Prozessor dieser Prozessorpaare genommen, bei Lesezyklen wurden aber jeweils beide Prozessoren des betreffenden Prozessorpaares versorgt. Die Unterscheidung zwischen lokalem,prozessorindividuellen Speicher und Hauptspeicher wurde über die Adresse durchgeführt, d.h. die für den lokalen,prozessorindividuellen Speicher belegten Adressen waren im Hauptspeicher CMY/MB für dieses betreffende Prozessorpaar nicht direkt erreichbar. Die Kommunikation zwischen den Prozessoren erfolgte über das Bussystem B:CMY durch Setzen von Dringlichkeiten. Die aus Sicherheitsgründen gedoppelten Einheiten aus 10-Prozessor IOC, zugehörigem lokalen Bus B:IOC und IO-Unit IOP teilten sich im Regelfall die anfallenden Lasten. Der Datenaustausch zwischen den IO-Units IOP und den Prozessoren CP erfolgte bei diesem Beispiel über den Hauptspeicher CMY. Auch die lokalen Busse B:IOC wurden im Zeitmultiplexbetrieb, d.h. mit Zyklenverschachtelung, betrieben, was den Durchsatz dieses Busses beträchtlich erhöhte, indem ein zweiter Zyklus schon dann angestossen werden konnte, bevor ein erster Zyklus abgeschlossen war. Auch der Bus des Bussystems B:CMY war aus Sicherheitsgründen gedoppelt, ebenso wie der Hauptspeicher CMY bzw. seine Teile, vgl. die entsprechenden, symbolisch angedeuteten Leitungen in der Figur. Die in der Figur zusätzlich ange deuteten Auskreuzungen der Leitungen deuten an, dass bei Ausfall von Bauteilen, z.B. des Bussystemteils B...CMY1, stets Ersatzwege zum anderen Teil aller Zwillingsanordnungen zur Verfügung stehen. Im Normalfall arbeiteten die beiden Busse des Bussystems B:CMY parallel und behandelten identische Informationen. Die Arbitrierung wurde vor der Zuteilung eines Zeitschlitzes an die Prozessoren CP/IOC durchgeführt,um die Leistung des Bussystems B:CMY zu steigern.Die Prioritäten des Arbiters können PROM-programmierbar sein.Eine möglichst gleichmässige Belastung aller Speicherbanken FE kann z.B. durch die Zuordnung der Adressen zu diesen Speicherbanken über niederwertige Adressenbits,bei einem Interleaving-Raster von z.B. 8 Bytes, erreicht werden. Verschiedene andere Einzelheiten über dieses Beispiel sind auch in den parallel eingereichten Patentanmeldungen (83 F 1722 bis 1724, so@@@@e 83P1726 + 1727) angegeben. Zu den peripheren Einheiten - zählen übrigens auch O/M-Einheiten (Operation and Maintenance), die bei Zentralsteuereinheiten schon bisher oft verwendet werden, vgl. z.B. die Beschreibung von solchen Zentralsteuereinheiten, insbesondere des Typs SSP112D in Siemens, telcom report 4 (1981), Beiheft Digitalvernittlngssystem EWSD1'. In dieser Druckschrift ist auch insbesondere die Funktion von verschiedenen peripheren Einheiten weiter beschrieben. Obwohl also bei der Erfindung nur ein Bussystem, nicht mehrere unabhängige Bussysteme, mit mehreren Prozessoren und mehreren parallel arbeitenden Datenbanken angebracht wird, können also quasisimultan Speicherzugriffe von unterschiedlichen Prozessoren zu unterschiedlichen Speicherbanken durchgeführt werden. Das Bussystem B:CY arbeitete bei einem besonders einfachen Beispiel der Erfindung nach einem Zeitmultiplexverfahren.mit vier Speicherbanken MB und vier Zeitschlitzen pro Zeitrahmen,was bei Verwendung von 12 Prozessoren - CP für das betreffende Fernsprech Vermittlungssystem, jedenfalls vorerst, ausreichte. Den vier Zeitschlitzen waren die vier Speicherbanken MBO...MB3 bzw. deren Speichersteuerungen so zugeordnet, dass jeder Zeitschlitz fest jeweils einer der vier Speicnerbanken HS bzw. deren Speichersteuerungen zugeordnet war, was sich als vorerst ausreichend für dieses Fernsprechvermittlungssystem mit einigen zigtausend Teilnehmern erwies,wenn die, damit zyklisch nacheinander den Speichersteuerungen zuge ordneten;Zeitschlitze mittels Arbitrierung jeweils nacheinander jenen Prozessoren, z.B. CP1, CPx, IOCO, die gleichzeitig Zugriff zur betreffenden einzigen Speicherbank, z.B. MB3, anforderten, zugeteilt wurden und wenn die Taktfrequenz der Zeitschlitze höchstens um das T-ache höher lag als die*peicherzyklusfrequenz der Speicher steuerungen, wobei T die Anzahl derSpeicherbanken MB des Hauptspeichers CSY beträgt. Diese Regel gilt auch, wenn T kleiner oder grösser als vier ist. Wenn nur drei (zehn) Speicherbsnken angeschlossenwerdq4 werden eben drei (zehn) Zeitschlitze pro Zeitrahmen im einfachsten Beispiel benötigt, wenn die Dauer des Zeitrahmens angenähert gleich gross, bzw. geringfügig grösser, als die Dauer eines Spei- cherzyklus ist. Im einfachsten Beispiel ist die Anzahl n der Zeitschlitze festlegbar durch die tertragungsdauer ti einer Information und durch die Zyklus zeit ts eines Speichers gemäss n=ts/ti: Bei einem Informationstransport auf dem Bussystem mit 8iHz und bei einer Speicherzyklus- frequenz von 2-27 ergeben sich drin Zeitschlitze pro Zeitrahmen, wodurch die Speicherzyklen zeitversetzt um 125 ns in den verschiedenen Speichern startbar bzw. be endbar sind. Aus der Dauer der Zeitschlitze (125 ns) er rechnet sich auch die maximale Länge der Busleitungen, z.B.3m, wenn man die Einschwingeffekte klein halten will. *)durch den Speicheraufbau bedingte höchstzu lässige Abhängig von der jeweiligen Betriebsweise des Bussystems bzw. des Speicherzugriffes müssen aber jeweils ein, Dei anderen Betriebsweisen auch mehrere, B:Ci4Y-Zeitschlitze für einen Zugriff auf eine Speicherbank belegtwerden.Wenn mehrere (x)Zeitschlitze pro Zeitrahmen einer Speicherbank zugeordnet werden, sollte dementsprechend die Zeitschlitz Taktfrequenz entsprechend mehr als nur das T-fache (z.B. das xT-fache)der Speicherzyklusfrequenz betragen. Bei einer schon oben erwähnten Weiterbildung der Erfindung sind die Lesezyklen besonders verschachtelt, was die Kapazität bzw. Verarbeitungsgeschwindigkeit weiter erhöht. Dazu sind - einerseits die vieladrigen,gedoppelten, Adressen übertragungs-Busleitungen des Bussystems B:CMY zum Hauptspeicher CMY/MB und - andererseits die vieladrigen, insbesondere gedoppelten, Speicherinhaltübertragungs-Busleitungen des Bussystems B: :CMY vom Hauptspeicher CMY/MB, voneinander unabhängig in der Weise steuerbar, dass - in einem ersten Zeitschlitz eine erste Adresse für Lese- und/oder Schreibvorgänge von einem ersten der Prozessoren, z.B. C2O, auf den Adressenübertragungs Busleitungen zum Hauptspeicher CIC bzw. zu einer von dessen Speicherbanken MB übertragbar ist und - gleichzeitig, also im ersten Zeitschlitz,ein gelesener Speicherinhalt, der zu einer anderen zweiten vorher übertragenen Adresse derselben SpeicherbankM3 gehört zum betreffenden ersten oderranderen Prozessor,z.B. CPO oder CPx, auf den Speicherinhaltsübertragungs-Bus leitungen vom Hauptspeicher CMY bzw. von dessen Spei cherbanken MB übertragbar ist. Die Lesezyklen verteilen sich also z.B. auf (mindestens) zwei Zeitrahmen, statt auf einen Zeitrahmen.(Anders verlaufen die Schreibzyklen:Diese Schreibzyklen belegen nur einen Zeitschlitz in einem einzigen Zeitrahmen, in dem die Adresse und die Schreibinformation über die Busleitungen Ubertragen werden).Bei den Lesezyklen werden also jeweils zrei,bevorzugt durch die Dauer eines einzigen Zeitmultiplex-Zeitrahmens getrennte Zeitschlitze belegt; der erste Zeitschlitz für die Übertragung der Leseadresse,der zweite Zeitschlitz für die Rückübertragung der aus derSpeicherbank MB gelesenen Information.Zur Aufwandsreduzierung und zur Durchsatzsteigerung sind die Adress- und Datenwege bzw.deren entsprechenden Leitungen voneinander unabhängig steuerbar, so dass zeitgleich zur Rückübertragung der gelesenen Informationen die Hinübertragung einer folgenden Leseadresse in einem und demselben Zeitschlitz möglich ist. Diese Zyklusgestaltung ist besonders vor teilhaft, da in vielen Multiprozessor-Rechneranwen- dungen die Lesezyklen mehr als doppelt so häufig sind wie die Schreibzyklen. Zur Aufwandsreduzierung kann auch die Zugriffsarbitrie rung für die Zuteilung eines Zeitschlitzes zu einem anfordernden Prozessor CP/IOC zeitschlitzweise durchgeführt werden, und zwar, zur Erzielung eines hohen Zyklendurchsatzes, dann bevorzugt im vorlaufenden Zeitschlitz bzw. in einem der kurz vorher liegenden Zeit schlitzc. Verglichen mit einem Zugriffssystem, das die Prozessoren über unabhängige Busse mit den einzelnen Speichern verbindet, lässt sich demnach bei der Erfindung der Schaltungsaufwand etwa fast auf i/n-tel, bei n Zeitschlitzen pro Zeitrahmen, reduzieren. 3 Patentansprüche 1 Figur

Claims: Multiprocessor controller, especially a multiprocessor control unit of a telephone switching system, comprising a bus system (B:CMY), on the bus or buses of which time frames with time slots or time channels are set up in accordance with the time-division multiplex principle, to which the processors (SP, IOC), possibly exhibiting their own local memory (LMY), are connected and a main memory (CMY) connected to the bus system (B;CMY) which contains a plurality of memory banks (MB) having in each case their own memory control, which controls the own memory bank (MB) independently of the memory control of the remaining memory banks (MB), and which can be alternately accessed by the processors (CP, IOC) via the bus system (B:CMY) and via which, if necessary, processors (CP, IOC) can communicate with one another, characterised in that each memory control is in each case permanently assigned one or more of the time channels formed on the bus or the buses of the bus system (B:CMY), which can be allocated to these processors for the quasi-simultaneous access of the processors (CP; IOC) to the various memory banks (MB). Multiprocessor controller according to Patent Claim 1, characterised in that each memory control is permanently assigned a single time channel, the time slots which are thus cyclically successively assigned to the memory controls, are in each allocated by means of arbitration to those processors (for example CP1, CPx, or IOCO) which request access to the relevant memory bank (for example MB3), and the clock frequency of the time slots is higher than the memory cycle frequency of the memory controls, at the most by T times if T is the number of memory banks (MB) of the main memory (CMY). Multiprocessor controller according to Patent Claim 1 or 2, characterised in that on the one hand, the multi-core, particularly doubled, address transmission bus lines of the bus system (B:CMY) to the main memory (CMY) and on the other hand, the multi-core particularly doubled, memory content transmission bus lines of the bus system (B:CMY) from the main memory (CMY) are mutually independently controllable in such a manner that in a first time slot a first address for read and/or write processes can be transmitted from a first one of the processors on the address transmission bus lines to the main memory (CMY) or to its memory bank (MB) and at the same time, that is to say in the first time slot, a read memory content which belongs to another, second address previously transmitted can be transferred to the relevant first or other processor on the memory content transmission bus lines from the main memory (CMY) or from its memory bank (MB), respectively.

Inventors: BITZINGER, RUDOLF, DIPL.-ING., ENGL. WALTER, DIPL.-ING., HUMML, SIEGFRIED, ING., SCHREIER, KLAUS, DIPL.-ING.
Applicants: SIEMENS AKTIENGESELLSCHAFT
Application year: 1984
Main classification: H04Q3
IPC codes: G06F15, H04Q3, G06F12, G06F13