DE3606211A1 - MULTIPROCESSOR COMPUTER SYSTEM - Google Patents

MULTIPROCESSOR COMPUTER SYSTEM

Info

Publication number
DE3606211A1
DE3606211A1 DE19863606211 DE3606211A DE3606211A1 DE 3606211 A1 DE3606211 A1 DE 3606211A1 DE 19863606211 DE19863606211 DE 19863606211 DE 3606211 A DE3606211 A DE 3606211A DE 3606211 A1 DE3606211 A1 DE 3606211A1
Authority
DE
Germany
Prior art keywords
devices
bus
data
memory
module
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.)
Withdrawn
Application number
DE19863606211
Other languages
German (de)
Inventor
John R Bartlett
Stephen S Corbin
Trevor A Creary
David E Ford
Steven J Frank
Brian D Gill
Russell L Moore
Charles S Namias
Mark J Natale
David J Schanin
David W Zopf
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.)
Encore Computer Corp
Original Assignee
Encore Computer Corp
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 Encore Computer Corp filed Critical Encore Computer Corp
Publication of DE3606211A1 publication Critical patent/DE3606211A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • 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
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration
    • G06F13/4036Coupling between buses using bus bridges with arbitration and deadlock prevention
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors

Description

HOEGER, STELL-REGHTa -PARTNER 360621HOEGER, STELL-REGHTa -PARTNER 360621

PATENTANWÄLTE UHLANDSTRASSE 14 c ■ D 7000 STUTTGART 1PATENTANWÄLTE UHLANDSTRASSE 14 c ■ D 7000 STUTTGART 1

- 10 -- 10 -

A 46 929 b Anmelder: ENCORE COMPUTER CORPORATION k - 176 257 Cedar Hill StreetA 46 929 b Applicant: ENCORE COMPUTER CORPORATION k - 176 257 Cedar Hill Street

24. Februar 1986 Marlboro, Massachusetts 01752February 24, 1986 Marlboro, Massachusetts 01752

U.S.A.UNITED STATES.

Multiprozessor-ComputersystemMultiprocessor computer system

Die Erfindung betrifft ein Multiprozessor-Computersystem, d.h. ein Computer- bzw. Rechnersystem mit mehreren, eng miteinander gekoppelten Prozessoren.The invention relates to a multiprocessor computer system, i.e. a computer system with a plurality of, narrowly interconnected processors.

Die derzeitigen Enwicklungen in der Computer-Industrie zeigen einen immer stärker zunehmenden Trend in Richtung auf größere und raffiniertere Computersysteme. Diese Enwicklungen wurden in vielen Fällen durch die höhere Geschwindigkeit und die geringeren Kosten der elektronischen Schaltungen ermöglicht. Ferner wurde eine größere Leistungsfähigkeit der Systeme durch eine verbesserte Organisation derselben erreicht. Hinsichtlich der verbesserten Organisation sind dabei besonders die Multiprozessor-Computersysteme zu erwähnen, in denen mehrere autonome Prozessor-Einheiten bzw. -Module durch Arbeitsteilung gemeinsam erhebliche Rechenleistungen erbringen.The current developments in the computer industry show an ever increasing trend towards to larger and more sophisticated computer systems. These developments were in many cases by the allows higher speed and the lower cost of the electronic circuits. Furthermore, was a greater efficiency of the systems achieved through an improved organization of the same. Regarding the improved organization are particularly worth mentioning the multiprocessor computer systems in which several autonomous processor units or modules due to the division of labor together with considerable computing power provide.

Im Verlauf der Jahre wurden viele verschiedene Typen von Multiprozessor-Konfigurationen entwickelt. Tat-There have been many different types over the years Developed from multiprocessor configurations. Did-

-1 1--1 1-

A 46 929 bA 46 929 b

k - 176 - 11 -k - 176 - 11 -

24. Februar 1986February 24, 1986

sächlich bieten heute zahlreiche Anbieter von großen Rechenanlagen und einige Hersteller von Minicomputern Systeme mit 2' bis 4 Prozessoren an. Derzeit sind diese Strukturen wegen der hohen Kosten der typischen Prozessoren noch teuer in der Herstellung. Aus diesem Grund haben Multiprozessor-Computersysteme hauptsächlich dort Eingang gefunden, wo es um eine hohe Verfügbarkeit der Rechenkapazität geht, beispielsweise in Kommunikationssystemen, im Bankwesen und für Reservierungen bei Fluglinien.Today, numerous providers of large computing systems and some manufacturers of minicomputers offer this Systems with 2 'to 4 processors. Currently these are Structures are still expensive to manufacture because of the high cost of typical processors. For this Multiprocessor computer systems have found their way mainly where high availability is required the computing capacity goes, for example in communication systems, in banking and for reservations with airlines.

Ein weiterer Grund für die Bereitstellung von Multiprozessor- Anordnungen besteht darin, die Rechenleistung und -geschwindigkeit durch den Einsatz mehrerer Prozessor-Einheiten zu erhöhen, welche parallel arbeiten, so daß ein Datendurchsatz erreicht wird, der größer ist als bei irgendeinem Einzelprozessor, selbst wenn dieser mit hoher Geschwindigkeit arbeitet. Viele Algorithmen und Rechenoperationen, die typischerweise auf Digitalrechnern durchgeführt werden, können im Parallelbetrieb durchgeführt werden.Da die Kosten.bei zunehmender Prozessorgeschwindigkeit steil über eine vorgegebene Marke ansteigen, lässt es sich ferner zeigen, daß ein Datendurchsatz ,der über einem entsprechenden Niveau liegt, wirtschaftlicher durch die Verwendung einer größeren Anzahl von relativ langsamen Prozessoren erreicht werden kann als durch Erhöhung der Geschwindigkeit eines einzigen Prozessors. Im Hinblick auf die hohe Entwicklungsgeschwindigkeit bei Mikroprozessoren istAnother reason for providing multiprocessor arrangements is the computing power and to increase the speed through the use of several processor units which work in parallel, see above that a data throughput is achieved which is greater than with any single processor, even if this works at high speed. Many algorithms and arithmetic operations typically performed on digital computers can be carried out in parallel operation. Since the costs. with increasing processor speed rise steeply above a predetermined mark, it can also be shown that a data throughput that is above a corresponding level is more economical by using a larger one Number of relatively slow processors can be achieved as by increasing the speed of one single processor. In view of the high speed of development with microprocessors

-12--12-

A 46 929 bA 46 929 b

k - 176 - 12 -k - 176 - 12 -

24. Februar 1986February 24, 1986

außerdem die Anzahl der problematischen Anwendungen, bei denen bei der Verarbeitung der Daten in einem einzigen Strom eine Leistung verlangt wird, die die Leistungsfähigkeit eines Einzelprozessors überschreitet, bereits ziemlich klein und wird weiter schrumpfen.also the number of problematic applications in which to process the data in a single Power is required that exceeds the capabilities of a single processor, already quite small and will continue to shrink.

Einige der Vorteile, die man durch den Einsatz von MuItiprozessoren erreicht, werden durch beträchliche Nachteile hinsichtlich der Flexibilität des Systems und durch Erschwernisse bei der Programmierung erkauft. Diese Nachteile sind typischerweise auf die hierarchische Organisation der Prozessoren zurückzuführen. Eine charaktertistische Schwäche, die häufig zu Problemen hinsichtlich der Zuverlässigkeit führt, ist dabei die übliche organisatorische Anordnung,gemäß welcher jede Kommunikationslinie und jede Ein/Ausgabevorrichtung einem ganz bestimmten Prozessor zugeordnet ist. Ein Versagen dieses einen Prozessores führt nämlich in diesem Fall dazu, daß das ganze System nicht mehr in der Lage ist, die ihm insgesamt zugedachten Aufgaben zu erfüllen.Some of the advantages of using multi-processors are achieved through considerable Disadvantages with regard to the flexibility of the system and at the expense of programming difficulties. These disadvantages are typically due to the hierarchical organization of the processors. One characteristic weakness, which often leads to problems in terms of reliability, is the common organizational arrangement according to which each communication line and each input / output device is assigned to a very specific processor. A failure of this one processor leads to In this case, the whole system is no longer able to carry out all of the tasks assigned to it to meet.

Bei Multiprozessor-Systemen gibt es derzeit zwei typische Möglichkeiten, die Einzelprozessoren zu koppeln. Bei einem Multiprozessor-System mit eng gekoppelten Prozessoren läuft jeder Prozessor in einen geschlossenen Rechnenbereich, der aus einem Prozessor, einem "privaten" Speicher, einer Ein/Ausgabe-SchnittstelleIn multiprocessor systems there are currently two typical ways of coupling the individual processors. In a multiprocessor system with closely coupled processors, each processor runs in a closed one Computing area consisting of a processor, a "private" memory, an input / output interface

-13--13-

A 46 929 bA 46 929 b

k - 176 - 13 -k - 176 - 13 -

24. Februar 1986February 24, 1986

und einem separaten Betriebssystem besteht. In einem solchen System sind die Flexibilität und die Leistungsfähigkeit deshalb begrenzt, weil jeder Prozessor so isoliert arbeitet, als ob er ein unabhängiges System in einem schnellen Netzwerk wäre. Außerdem besteht keine Möglichkeit, mehr als einen Prozessor effektiv für dieselbe Aufgabe einzusetzen, wenn man nicht in Kauf nehmen möchte, daß bei jeder Umschaltung große Mengen von Daten und Begleitinformationen übertragen werden müssen. Es bestehen also Einschränkungen hinsichtlich der Möglichkeit des dynamischen Einsatzes mehrerer Prozessoren, wenn die Bearbeitung bestimmter Daten schnell geändert werden soll.and a separate operating system. Flexibility and efficiency are in such a system limited because each processor works in isolation as if it were an independent system in a fast network. Also, there is no way to use more than one processor effectively to be used for the same task, if one does not want to accept that large ones with every switchover Quantities of data and accompanying information have to be transferred. So there are restrictions on the possibility of dynamic use of multiple processors if the processing is specific Data should be changed quickly.

Bei Multiprozessor-System mit eng gekoppelten Prozessoren ist letzteren ein gemeinsamer Bus, ein gemeinsamer Speicher und ein gemeinsames Betriebssystem zugeordnet, und auch die Ein/Ausgabeeinrichtungen sind mit allen Prozessoren gekoppelt. Bei einer derartigen Architektur wird lediglich ein Exemplar des Betriebssystems für Hunderte von Prozessen benötigt, die auf einer großen Anzahl von einzelnen Mikroprozessoren laufen. Sämtliche Prozessoren - und Prozesse - teilen sich dabei den Zugriff zum gesamten Hauptspeicher, zum gesamten Netzwert, zu sämtlichen Ein/Ausgabe-Schnittstellen und zum gesamten Massenspeicher. Dieser Time-sharing-Betrieb gestattet eine maximale Nutzung der verfügbaren Prozessoren mit einem minimalen Anteil an ungenütztem Speicherplatz und an nicht genutzter Bus-Bandbreite, da imIn a multiprocessor system with closely coupled processors, the latter is a common bus, a common one Memory and a common operating system are assigned, and also the input / output devices are with all of them Processors coupled. Such an architecture only requires one copy of the operating system for Requires hundreds of processes running on large numbers of individual microprocessors. All Processors - and processes - share access to the entire main memory, to the whole Network value, to all input / output interfaces and to the entire mass storage device. This time-sharing operation allows maximum use of the available processors with a minimal amount of unused memory space and unused bus bandwidth because im

-14--14-

A 46 929 bA 46 929 b

k - 176 . - 14 -k - 176. - 14 -

24. Februar 1986February 24, 1986

Hinblick auf den zeitlich gestaffelten, gemeinsamen Zugriff nur in geringstem Umfang eine Mehrfach-Speicherung von Daten und eine Umspeicherung von Begleitinformationen erforderlich ist. In einem solchen System kann jeder Prozessor jederzeit für jeden Prozess eingesetzt werden. Die enorme Flexibilität dieser Ausgestaltung zahlt sich in einer besseren Verfügbarkeit der Rechenleistung, in größeren Erweiterungsmöglich- . keiten und in einem stark erweiterten Bereich von Anwendungsmöglichkeiten aus.With regard to the temporally staggered, shared access, multiple storage only to a minimal extent of data and a restoration of accompanying information is required. In such a system any processor can be used for any process at any time. The enormous flexibility of this design pays for itself in a better availability of the computing power, in greater expansion possibilities. and in a greatly expanded range of possible applications.

Bei der Gestaltung eines Multiprozessor-Systems sollten verschiedene Überlegungen berücksichtigt werden, um ein maximales Leistungsniveau zu erreichen. Einer dieser Faktoren besteht darin, daß ein bestimmter Anbieter eine angemessene Vielfalt von Multiprozessor-Systemen bereithalten sollte. Diese Vielfalt sollte dabei sowohl die Leistung als auch die Kosten berücksichtigen. Wenn man unter einer begrenzten Zahl von Familienmitgliedern einer Computerfamilie wählen muß, gibt es dagegen häufig keine befriedigende Lösung, da es teuer ist, verschiedene Computerfamilienmitglieder zu entwerfen und zu entwickeln.When designing a multiprocessor system you should various considerations must be taken into account in order to achieve the maximum level of performance. One of these One of the factors is that a particular vendor will have a reasonable variety of multiprocessor systems should have ready. This diversity should take into account both performance and costs. If one has to choose from a limited number of family members in a computer family, there is however, it is often not a satisfactory solution because it is expensive to design different computer family members and develop.

Eine weitere wichtige Überlegung beim Entwurf eines Multiprozessor-Computersystems besteht darin, daß beim Aufbau des Systems aus einer Anzahl von unterschiedlichen Modul-Typen, wie z.B. Prozessoren, Ein/Ausgabe-Another important consideration in designing a multiprocessor computer system is that the Structure of the system from a number of different module types, such as processors, input / output

-15--15-

A 46 929 bA 46 929 b

k - 176 - 15 -k - 176 - 15 -

24. Februar 1986February 24, 1986

einrichtungen und Speichermodulen das Versagen eines dieser Module nicht zu einem Versagen des Multiprozessor-Computersystems führen sollte. Im Idealfall sollten geeignete Programme die Möglichkeit bieten, fehlerhafte Module bzw. deren Funktion nachzubilden und die Module selbst außer Betrieb zu setzen, so daß eine Fortsetzung des Betriebes mit minimaler Ausfallzeit ermöglicht wird.devices and memory modules the failure of a these modules do not cause a failure of the multiprocessor computer system should lead. Ideally, suitable programs should offer the possibility of buggy To simulate modules or their function and to put the modules themselves out of operation, so that a continuation operation with minimal downtime.

Um die Entwicklungskosten für ein Multiprozessor-System so niedrig wie möglich zu halten, ist es ferner wichtig, daß das Multiprozessor-Computersystem nicht aus einer großen Anzahl von einmaligen Karten aufgebaut ist, wie sie in einem typischen Mini-Computer vorhanden sind. Stattdessen sollte das Multiprozessor-Computersystem aus zahlreichen Exemplaren einer kleinen Anzahl von Modulen aufgebaut sein, was eine schnellere und billigere Entwicklung gestattet, wobei die einzelnen Modul-Typen in großen Stückzahlen hergestellt werden können, was gegenüber älteren Technologien Fortschritte hinsichtlich der Fertigungskosten mit sich bringt.About the development costs for a multiprocessor system It is also important that the multiprocessor computer system not consist of a large numbers of unique cards such as those found in a typical mini-computer. Instead, the multiprocessor computer system should consist of numerous copies of a small number of Be built up modules, which allows faster and cheaper development, with the individual module types can be manufactured in large numbers, which is compared to older technologies with regard to advances which involves manufacturing costs.

Bei jedem Multiprozessor-System, bei dem die Leistung und die Flexibilität von äußerster Bedeutung sind, muß derjenige Bus, welcher die verschiedenen Module des Systems verbindet, eine sehr hohe Datenübertragungsgeschwindigkeit besitzen. Bei einem solchen System muß außerdem dafür gesorgt werden, daß die Entscheidung über den Zugriff zum Bus durch einen als Schiedsrichter fungierenden,sogenannten Arbiter-Modul derart fairIn any multiprocessor system where performance and flexibility are of the utmost importance, the bus that connects the various modules of the system must have a very high data transmission speed. Such a system must It is also ensured that the decision on access to the bus is made by an arbitrator functioning, so-called arbiter module, so fair

-16--16-

A 46 929 bA 46 929 b

k - 176 - 16 -k - 176 - 16 -

24. Februar 1986February 24, 1986

geregelt ist, daß jeder Modul eine vernünftige Chance auf Zugriff zum Bus bekommt. Zur Erzielung einer hohen Datenübertragungsrate ist es im allgemeinen ferner vorteilhaft, wenn der Bus ein sogenannter "aufgehängter (pended)" Bus ist, d.h. ein Bus mit einer Struktur, welche es gestattet, daß der Abruf von Informationen zeitlich von den daraufhin gegebenen Antworten getrennt wird. Eine derartige Arbeitsweise, bei der ein- " zelne Teile gewisser Operationen "in der Schwebe" bleiben, ermöglicht die Kommunikation einer Anzahl von relativ langsamen Vorrichtungen, wie z.B. Prozessoren, mit anderen langsamen Modulen, wie z.B. den Hauptdatenspeichern, ohne daß die Bandbreite eines Busses schlecht ausgenutzt würde, der für höhere Datenübertragungsgeschwindigkeiten geeignet ist als jede einzelne angeschlossene Einheit. Wenn man aber gewisse Anfragenin der Schwebe lässt, werden sie durch die Kennung der anfragenden Einheit ergänzt und dann bei der ersten sich bietenden Gelegenheit zu dem dafür vorgesehenen Empfänger übertragen. Wenn der Empfänger dann einige Zeit später die Antwort liefert, wird diese wieder mit der Kennung der anfragenden Einheit versehen. Dabei"bemerkt"keiner der Teilnehmer an diesem Informationsaustausch, daß zwischen der Anfrage bzw. Anforderung und deren Beantwortung bzw. Erledigung zahlreiche andere Operationen zwischen anderen Sendeeinheiten und Empfangseinheiten abgewickelt wurde.It is regulated that every module has a reasonable chance get access to the bus. To achieve a high data transfer rate, it is generally also advantageous to if the bus is a so-called "pended" bus, i.e. a bus with a structure, which allows the retrieval of information is separated in time from the answers given. Such a way of working, in which a " Keeping individual parts of certain operations "in the balance" enables communication of a number of relatively slow devices, such as processors, with other slow modules, such as the main data memories, without the bandwidth of a bus being poorly used for higher data transmission speeds is suitable as any single connected unit. But if you have certain Queries in the balance, they are supplemented by the identifier of the requesting unit and then at to the intended recipient as soon as the first opportunity arises. If the recipient then delivers the answer some time later, this is again provided with the identifier of the requesting unit. None of the participants "noticed" this Exchange of information that between the request or request and its answer or completion numerous other operations between other transmitting units and receiving units were carried out.

Bei jedem Computer-System, welches mehr als einenAny computer system that has more than one

-17--17-

A 46 929 bA 46 929 b

k - 176 - 17 -k - 176 - 17 -

24. Februar 1986February 24, 1986

Prozessor enthält, besteht außerdem das Bedürfnis, daß jeder Prozessor in der Lage ist, am Speicher automatische Prüf- und Einstelloperationen durchzuführen. Eine auf der Hand liegende Möglichkeit, diese automatischen Operationen zu gewährleisten, besteht darin, den Pfad zum Speicher, d.h. den Bus jeweils für einen gesamten Lese-Änderungs-Schreib-Operationszyklus bereitzustellen. In einem leistungsempfindlichen System ist dies eindeutig unerwünscht. Bei einem "aufgehängten" Bus bzw. einem Bus, der in der Schwebe gehalten wird und bei dem die Lesezyklen mit anderen Busoperationen verschachtelt sind, kann ein solcher Weg zum Speicher nicht fest/geschaltet bleiben. Im Ergebnis wird also ein externes Verfahren benötigt, um eine Speicherstelle zu sperren. Da die Speicher bei einem System gemäß der Erfindung nach Art eines Banksystems verschachtelt sind, ist es aber möglich, eine Speicherbank des Banksystems zu sperren. Bei gegebener Größe der Speicherbank ist jedoch ein Sperren des Speichers für einen Bereich von 4 Mbyte unerwünscht.Processor contains, there is also a need that each processor is able to use memory automatically Perform test and adjustment operations. An obvious option is this automatic Ensuring operations consists in the path to the memory, i.e. the bus for an entire Provide read-modify-write cycle of operation. In a power sensitive system this is clearly undesirable. In the case of a "suspended" bus or a suspended bus that interleaves the read cycles with other bus operations such a path to the memory cannot remain fixed / switched. So the result is an external procedure is needed to create a memory location to lock. Since the memories in a system according to the invention are nested in the manner of a bank system, however, it is possible to lock a memory bank in the bank system. Given the size of the memory bank is however, locking the memory for an area of 4 Mbytes is undesirable.

Ausgehend vom Stand der Technik und der vorstehend aufgezeigten Problematik liegt der Erfindung die Aufgabe zugrunde, ein flexibles und wirtschaftliches Multiprozessor-Computersystem anzugeben, welches eine große Zahl von einzelnen Prozessoren enthalten kann. Dabei wird gleichzeitig angestrebt, daß die einzelnen Prozessoren eng miteinander gekoppelt sind.Based on the prior art and the problems outlined above, the object of the invention is based on a flexible and economical multiprocessor computer system indicate which can contain a large number of individual processors. Included At the same time, the aim is to ensure that the individual processors are closely linked to one another.

-18--18-

A 46 929 bA 46 929 b

k - 176 - 18 -k - 176 - 18 -

24. Februar 1986February 24, 1986

Diese Aufgabe wird bei einem erfindungsgemäßen Multiprozessor-Computersystem gemäß der Erfindung durch die Merkmale des Kennzeichenteils des- Patentanspruchs 1 gelöst.This object is achieved in a multiprocessor computer system according to the invention according to the invention by the features of the characterizing part of claim 1 solved.

Es ist ein Vorteil des erfindungsgemäßen Systems, daß der Anwender das für seine Bedürfnisse richtige Niveau der Leistung bzw. des Preises auswählen kann, ohne auf eine Auswahl unter einer begrenzten Anzahl von Computer-Familienmitgliedern beschränkt zu sein.It is an advantage of the system of the invention that the user can select the right level of performance or price for his needs without having to being limited to a choice among a limited number of computer family members.

Es ist ein weiterer Vorteil des erfindungsgemäßen Systems, daß es aufgrund der Verwendung einer kleinen Anzahl von Modul-Typen, welche außer Betrieb gesetzt werden könnnen, ohne den Rest des Systems zu beeinträchtigen, von vornherein eine hohe Zuverlässigkeit besitzt.It is a further advantage of the system according to the invention, that it is due to the use of a small number of module types which are taken out of service without affecting the rest of the system, a high level of reliability from the outset owns.

Es ist auch ein Vorteil des erfindungsgemäßen Systems, daß Vektor-Interrupt-Signale ohne längere Belegung von Daten- und/oder Adressenbussen übertragen werden können.It is also an advantage of the system according to the invention that vector interrupt signals are not used for a long time can be transmitted by data and / or address buses.

Ein weiterer Vorteil des erfindungsgemäßen Systems besteht darin, daß jeweils zahlreiche Examplare einer kleinen Anzähl von Module vorhanden sind.There is another advantage of the system according to the invention in the fact that there are numerous copies of a small number of modules.

Ein weiterer Vorteil des Systems gemäß der Erfindung besteht darin, daß es durch Verbindung mit einemAnother advantage of the system according to the invention is that it can be connected to a

-19--19-

A 46 929 bA 46 929 b

k - 176 - 19k - 176 - 19th

24. Februar 1986February 24, 1986

anderen, ähnlich aufgebauten Multiprozessor-Computersystem erweitert werden kann.another, similarly constructed multiprocessor computer system can be expanded.

Ein weiterer Vorteil des erfindungsgemäßen Systems besteht darin, daß ein Systembus mit sehr hohen Datenübertragungsmöglichkeiten vorgesehen werden kann.There is another advantage of the system according to the invention in that a system bus with very high data transmission possibilities can be provided.

Es ist auch ein Vorteil des erfindungsgemäßen Systems, daß es ein Speichersystem aufweist, bei dem ohne Blockierung des Systembusses automatische Prüf- und Einstelloperationen durchgeführt werden können.It is also an advantage of the system of the present invention that it has a storage system that does not block automatic test and setting operations can be carried out on the system bus.

Allgemein gesagt umfasst ein Multiprozessor-Computersystem gemäß der Erfindung ein oder mehrere Examplare einer Anzahl von ausgewählten Modulen. Ein Prozessor-Modul umfasst dabei mindestens einen Prozessor, der unabhängig mit den übrigen Komponenten des Systems zusammenwirken kann. Ein System kann eine Anzahl dieser Module enthalten. Das System bewältigt ein Versagen eines dieser Module oder eines der Prozessoren eines dieser Module durch "logisches" Ausblenden des Moduls oder Prozessors aus dem System. Jeder dieser Prozessor-Module umfasst außerdem einen Cache-Speicher, welcher häufig benötigte Befehle und Daten speichert. Der Cache-Speicher verringert die Daten-Zugriffszeit erheblich, während gleichzeitig infolge der geringeren Anzahl von Anforderungen, die über den Bus übertragen werden, die Busbelegung beträchtlich reduziert wird.Generally speaking, comprises a multiprocessor computer system according to the invention, one or more copies of a number of selected modules. A processor module comprises at least one processor that is independent with the other components of the system can work together. A system can contain a number of these modules. The system copes with failure one of these modules or one of the processors of one of these modules by "logically" hiding the module or processor from the system. Each of these processor modules also includes a cache memory, which saves frequently used commands and data. The cache memory significantly reduces the data access time, while at the same time as a result of the fewer number of requests that are transmitted over the bus the bus occupancy is reduced considerably.

-20--20-

A 46 929 bA 46 929 b

k - 176 - 20 -k - 176 - 20 -

24. Februar 1986February 24, 1986

Dabei kann der Cache-Speicher entweder ein sogenannter Durchschreib-Cache-Speicher oder ein Nicht-Durchschreib-Cache-Speicher sein.The cache memory can either be a so-called write-through cache memory or a non-write-through cache memory be.

Speicher-Module, welche im Time-sharing-Betrieb allen Prozessoren der Prozessor-Module zur Verfügung stehen, halten mindestens eine unabhängige Bank von RAM-Speicher-Chips (Speicher mit wahlfreiem Zugriff) bereit. JederMemory modules which are all in time-sharing Processors of the processor modules available hold at least one independent bank of RAM memory chips (Random access memory) ready. Everyone

Modul unterstützt zumindest eine vierfache Verschachtelt
telung zwischen den Modulen, so daß die Speichermodule mit der maximal möglichen Busgeschwindigkeit laufen können.
Module supports at least quadruple nested
teleposition between the modules so that the memory modules can run at the maximum possible bus speed.

Das Schlüsselelement des Multiprozessor-Computersystems gemäß der Erfindung ist der Systembus, welcher alle Module des Systems miteinander verbindet. Dieser Bus umfasst in der Praxis vier getrennte Busse, nämlich einen Datenbus, einen Adressenbus, einen Vektorbus und einen Steuerbus. Verbindungen über diese Busse sind "in der Schwebe gehaltene" Verbindungen, und die parallelen, im Pipeline-Betrieb über diese Busse übertragenen Informationen bzw. Daten gestatten es diesem Bussystem, für hohe Datenübertragungsdaten zu sorgen.The key element of the multiprocessor computer system according to the invention is the system bus, which all Interconnects modules of the system. In practice this bus comprises four separate buses, viz a data bus, an address bus, a vector bus and a control bus. Connections via these buses are "suspended" connections, and the parallel pipelined connections on these buses Information or data allow this bus system to ensure high data transmission data.

Bei einem bevorzugten Ausführungsbeispiel besitzt der Systembus eine übertragungsgeschwindigkeit von 100 Mbyte/s.In a preferred embodiment, the system bus has a transmission speed of 100 Mbyte / s.

Der Systemsteuer-Modul arbeitet als Kommunikations- *) bzw. Verknüpfung -21-The system control module works as a communication *) or link -21-

A 46 929 bA 46 929 b

k - 176 - 21 -k - 176 - 21 -

24. Februar 1986February 24, 1986

Clearing-Stelle, als Bus-Koordinator und als Diagnosecenter für das erfindungsgemäße Multiprozessor-Computersystem. Der Systemsteuer-Modul umfasst die sogenannten Bus-Arbiter, d.h. die Schiedsrichter- bzw. Entscheidungsstellen für den Zugriff zu Vektor-Daten- und Adressen-Bus. Der Systemsteuer-Modul umfasst ferner die Takteinheit, welche sämtliche Module des Systems mit Taktsignalen versorgt. Der Adressenbus-Arbiter unterstützt die Verringerung der mit der Bus-Leistungsfähigkeit verbundenen Probleme, indem er automatisch dafür sorgt, daß jede Schreibe- oder Lese-Anforderung, welche nicht abschließend bearbeitet wurde, weil die aufgerufene Zieleinrichtung die Anforderung nicht aufnehmen konnte, in einem RETRY-Zyklus wiederholt wird. Mit Hilfe eines Unjam-Zyklus wird ferner verhindert, daß vom Speicher zurückgelieferte Daten von dem gemeinsam benutzten Lese-Schreib-Datenbus ferngehalten werden, wenn nacheinander eine große Anzahl von Schreiboperationen auszuführen ist.Clearing house, as a bus coordinator and as a diagnostic center for the multiprocessor computer system according to the invention. The system control module includes the so-called bus arbiters, i.e. the arbitration and decision-making bodies for access to the vector data and address bus. The system control module further comprises the Clock unit that supplies all modules of the system with clock signals. The address bus arbiter supports reducing bus performance problems by running automatically ensures that every write or read request, which was not finally processed because the target device called did not accept the request could be repeated in a RETRY cycle. With the help of an Unjam cycle it is also prevented that data returned from the memory are kept away from the shared read-write data bus, when a large number of write operations are to be performed consecutively.

Ein Multiprozessor-System gemäß der Erfindung kann ferner Netzwerk (Ethernet)/Massenspeicher-Module sowie einen Adapter für einen industriellen Standard-Bus, wie z.B. den VME-Bus umfassen.A multiprocessor system according to the invention can furthermore include network (Ethernet) / mass storage modules as well an adapter for an industrial standard bus such as the VME bus.

Das erfindungsgemäße Multiprozessor-Computersystem kann mit anderen Multiprozessor-Computersystemen über einen Großfeld-Multiprozessor (LAmP)-Schnittstellen-Modul verknüpft werden. Dieser LAmP-Schnittstellen-The multiprocessor computer system according to the invention can communicate with other multiprocessor computer systems A large field multiprocessor (LAmP) interface module can be linked. This LAmP interface

-22--22-

A 46 929 bA 46 929 b

k - 176 - 22 -k - 176 - 22 -

24. Februar 1986February 24, 1986

Modul kann dabei einen Cache-Speicher enthalten, welcher in ähnlicher Weise arbeiten kann wie die Cache-Speicher, die den einzelnen Prozessor-Modulen zugeordnet sind. Die Bus-Arbiter behandeln alle auf dem Bus eintreffenden Anforderungen über die LAmP-Schnittsteile in ähnlicher Weise wie jede andere Anforderung, die von einem anderen Modul eintrifft, der mit dem Bus verbunden ist.The module can contain a cache memory, which can work in a similar way to the cache memory, which are assigned to the individual processor modules. The bus arbiters handle all of the Bus incoming requests via the LAmP interface in a similar way to any other request that comes in from another module that is on the bus connected is.

Weitere Einzelheiten und Vorteile der Erfindung werden nachstehend anhand von Zeichnungen noch näher erläutert und/oder sind Gegenstand von Unteransprüchen. Es zeigen:Further details and advantages of the invention are explained in more detail below with reference to drawings and / or are the subject of subclaims. Show it:

Fig. 1 ein Blockdiagramm der einzelnen Komponenten einer bevorzugten Ausführungsform eines Multiprozessor-Computersystems gemäß der Erfindung;1 shows a block diagram of the individual components of a preferred embodiment a multiprocessor computer system according to the invention;

Fig. 2 ein Blockdiagramm der Komponenten eines Prozessor-Moduls des Systems gemäß Fig.1;FIG. 2 is a block diagram of the components of a processor module of the system according to FIG. 1;

Fig. 3 ein Blockdiagramm der verschiedenen Komponenten des Speicher-Moduls des Systems gemäß Fig. 1;Figure 3 is a block diagram of the various components of the memory module of the system according to FIG. 1;

Fig. 4 ein Blockdiagramm der verschiedenen Komponenten des Systemsteuer-Moduls des Systems gemäß Fig. 1;Figure 4 is a block diagram of the various components of the system control module the system of FIG. 1;

-23--23-

A46 929 bA46 929 b

k - 176 - 23 -k - 176 - 23 -

24. Februar 1986February 24, 1986

Fig. 5 ein Blockdiagraitim der verschiedenenFigure 5 is a block diagram of the various

Komponenten des Ethernet/Massenspeicher-Moduls des Systems gemäß Fig. 1;Components of the Ethernet / mass storage module the system of FIG. 1;

Fig. 6 ein Blockdiagramm eines Computersystems mit mehreren Mulitprozessor-Computersystemen des in Fig. 1 gezeigten Typs;6 is a block diagram of a computer system having multiple multiprocessor computer systems of the type shown in Figure 1;

Fig. 7 ein Blockdiagramm der Komponenten derFIG. 7 is a block diagram of the components of FIG

Schnittstellenmodule zur Verbindung der verschiedenen Multiprozessor-Systeme gemäß Fig. 6;Interface modules for connecting the various multiprocessor systems according to Fig. 6;

Fig. 8 ein Zeitdiagramm der Lese- und Schreiboperationen auf dem Bus des Multiprozessor-Systems gemäß Fig. 1;Figure 8 is a timing diagram of the read and write operations on the bus of the multiprocessor system according to FIG. 1;

Fig. 9a eine schematische Darstellung verschiedener Module des erfindungsgemäßen Systems zur Verdeutlichung der Arbeitsweise der Adressenbus-Arbiter-Einrichtungen des Multiprozessor-Systems gemäß Fig. 1;9a shows a schematic representation of various modules of the system according to the invention to illustrate the mode of operation of the address bus arbiter devices of the multiprocessor system according to FIG. 1;

Fig. 9b eine schematische Darstellung verschiedener Module des erfindungsgemäßen Multiprozessor-Systems zur Verdeutlichung des Entscheidungsablaufs bei dem Datenbus-Arbiter-Schema des Multiprozessor-Systems gemäß Fig. 1;9b shows a schematic representation of various modules of the multiprocessor system according to the invention to clarify the decision-making process in the data bus arbiter scheme of the multiprocessor system according to FIG. 1;

-24--24-

A 46 929 bA 46 929 b

k - 176 . - 24 -k - 176. - 24 -

24. Februar 1986February 24, 1986

Fig. 10 eine schematische Darstellung der Rückwandverdrahtung bzw. der als gedruckte Schaltung ausgebildeten Bus-Platine für eine bevorzugte Ausführungsform des Systems gemäß Fig. 1;Fig. 10 is a schematic representation of the backplane wiring or that as a printed one Circuit formed bus board for a preferred embodiment of the system according to FIG. 1;

Fig. 11 ein Zeitdiagramm für einen Leerlauf-Zyklus des Systems gemäß Fig. 1;11 is a timing diagram for an idle cycle the system of FIG. 1;

Fig. 12a ein Zeitdiagramm für einen gerichteten Vektor-Interrupt-Befehl, welcher von einem Modul des Systems gemäß Fig. 1 übertragen wird;Fig. 12a is a timing diagram for a directional Vector interrupt command issued by a module of the system according to FIG. 1 is transferred;

Fig. 12b ein Zeitdiagramm eines Klassen-Vektor-Interrupt-Befehls, welcher von einem Modul des Systems gemäß Fig. 1 übertragen wird;12b shows a timing diagram of a class vector interrupt command; which is transmitted by a module of the system according to FIG. 1;

Fig. 13 eine schematische Darstellung der Datenworte, die mit einem Vektor gesendet werden, der von einem Modul des Systems gemäß Fig. 1 übertragen wird;13 shows a schematic representation of the data words, which are sent with a vector transmitted by a module of the system of Figure 1;

Fig. 14 eine schematische Darstellung der Datenleitungen, die bei dem Vektor-Bus-Arbiter-Schema des Systems gemäß Fig. 1 verwendet werden;14 is a schematic representation of the data lines used in the vector bus arbiter scheme the system of Figure 1 can be used;

A 46 929 bA 46 929 b

k - 176 - 25 -k - 176 - 25 -

24. Februar 1986February 24, 1986

Fig. 15 zeigt Diagramme verschiedener Beispiele bis der Busbenutzung bei dem System gemäß Fig. 16 Fig. 1;15 shows diagrams of various examples until the bus is used in the system according to FIG. 16; FIG. 1;

Fig. 17 eine schematische Darstellung der fürFig. 17 is a schematic representation of the for

die Erzeugung von Verzögerungssignalen, wie sie in dem Zeitdiagramm gemäß Fig.16 gezeigt sind, erforderlichen Schaltkreise; undthe generation of delay signals, as shown in the timing diagram according to FIG required circuitry is shown; and

Fig. 18 eine schematische Darstellung der Schaltkreise des Speichermoduls des Systems gemäß Fig. 1.Figure 18 is a schematic representation of the circuitry of the memory module of the system according to FIG. 1.

Das Multiprozessor-Computersystem gemäß der Erfindung kombiniert modular verteilte Rechenkapazität mit schnellen, gemeinsam benutzten Speichereinrichtungen und leistungsfähigen, konfigurierten Ein/Ausgabe-Einrichtungen, wobei diese Komponenten zu einem einzigen Rechner zusammengefasst sind, der eine Leistungsfähigkeit besitzt, die vom Mikrocomputer-Bereich bis zum Großrechner-Bereich reichen kann. Wie Fig. 1 zeigt, umfasst das als Beispiel dargestellte Multiprozessor-System 10 insgesamt vier Modultypen als Grundbausteine, nämlich Prozessor-Module 20, gemeinsam genutzte Speicher-Module 40, einen System-Steuer-Modul 60 und Netzwerk-Architektur/Massenspeicher-Module 90, wobei beim Ausführungsbeispiel eine Ethernet-Netzwerk-Architektur vorgesehen ist.The multiprocessor computer system according to the invention combines modular distributed computing capacity with fast, shared storage facilities and powerful, configured input / output devices, whereby these components are combined into a single computer which has capabilities ranging from the microcomputer field to the mainframe computer field can be enough. As FIG. 1 shows, the multiprocessor system 10 shown as an example comprises a total of four Module types as basic building blocks, namely processor modules 20, shared memory modules 40, a system control module 60 and network architecture / mass storage modules 90, an Ethernet network architecture being provided in the exemplary embodiment.

-26--26-

A 46 929 bA 46 929 b

k - 176 - 26 -k - 176 - 26 -

24. Februar 1986 ·February 24, 1986

Der in Fig. 2 gezeigte Prozessor-Modul 20 umfasst vorzugsweise zwei unabhängige Prozessoren 21, die mit einer Taktfrequenz von 10 MHz arbeiten und beispielsweise IC's vom Typ NS 32032 sein können, sowie einen (von beiden Prozessoren) gemeinsam genutzten Cache-Speicher 22. Jeder Prozessor-Modul 20 ist ferner mit einer Speicherverwaltungseinheit 24/(ausgestattet, welche die Erzeugung von physikalischen 32-bit-Adressen gestattet. Die beiden Prozessoren teilen sich ferner einen internen 32-bit-Datenbus (IDB) 23 und einen internen 32-bit-Adressenbus (IAB) 25. Die Busse IDB 23 und IAB 25 sind gegenüber den Prozessoren 21 durch zur zentralen Recheneinheit (CPU) gehörige Daten- und Adressen-Sende/Empfangs-Einheiten mit Registern - Block 26 gepuffert und gegenüber dem Systembus 100 mittels Bus-Daten-Sende/Empfangs-Einheiten 27 und Adressenregistern 28.The processor module 20 shown in Fig. 2 preferably comprises two independent processors 21, which with a clock frequency of 10 MHz and can be, for example, ICs of the NS 32032 type, as well as a Cache memory 22 shared (by both processors). Each processor module 20 is also with a memory management unit 24 / (which the generation of physical 32-bit addresses is permitted. The two processors also share an internal 32-bit data bus (IDB) 23 and an internal 32-bit address bus (IAB) 25. The buses IDB 23 and IAB 25 are opposite the processors 21 by the central processing unit (CPU) belonging data and address send / receive units with registers - block 26 and buffered with respect to the system bus 100 by means of bus data send / receive units 27 and address registers 28.

Der Cache-Speicher 22 ist vorgesehen, um die Zugriffszeit zum Speicher dadurch zu verringern, daß er häufig benötigte Befehle und Daten in einer großen Bank (32K byte) eines schnellen, statischen RAM-Speichers speichert. Die Daten aus dem Prozessor-Speicher werden üblicherweise immer dann in den Cache-Speicher 22 eingeschrieben, wenn die Speicherplätze des Hauptspeichers von einem der beiden Prozessoren eines Prozessor-Moduls 2 mit zwei Prozessoren ausgelesen werden oder wenn neue Daten in diese Speicherplätze eingeschrieben werden.The cache memory 22 is provided to reduce the access time to the memory by frequent Required commands and data in a large bank (32K byte) of a fast, static RAM memory. The data from the processor memory are usually always written into the cache memory 22 when the memory locations of the main memory of one of the two processors of a processor module 2 can be read out with two processors or if new Data can be written into these memory locations.

-27--27-

A 46 929 bA 46 929 b

k - 176 - 27 -k - 176 - 27 -

24. Februar 1986February 24, 1986

Ein Index der Adressen derjenigen Speicherplätze, deren Inhalte auf diese Weise gespeichert werden, wird in einer Zusatzspeicheranordnung 30 des jeweiligen Prozessormoduls gespeichert. Anschließend führt jeder Versuch, die betreffenden Speicherplätze des System-Hauptspeichers 40 zu erreichen, dazu, daß ein Zagriff zu den entsprechenden Daten im Cache-Speicher 22 erfolgt. Zugriffe zum Cache-Speicher führen jedoch nicht zu den Wartezuständen des Prozessors, die sich bei einem Zugriff auf den Prozessor-Hauptspeicher ergeben, da der Prozessor,von dem die Anforderung ausgeht, nicht in Konkurrenz mit Prozessoren in anderen Prozessor-Modulen 20 steht, wenn er Zugriff zum Hauptspeicher haben möchte. Stattdessen werden die Daten einfach über den internen Bus 23 des Prozessor-Moduls 20 transportiert. Bei dem derzeit bevorzugten Ausführungsbeispiel liegt die "Trefferquote" im Mittel bei über 90%.An index of the addresses of those memory locations, the contents of which are stored in this way, is in an additional memory arrangement 30 of the respective processor module saved. Subsequently, each attempt leads to the relevant memory locations of the system main memory 40 to achieve that the corresponding data in the cache memory 22 is accessed. However, accesses to the cache memory do not lead to the wait states of the processor, which are found in a Access to the processor main memory resulted because the processor from which the request originated, not competes with processors in other processor modules 20 when it has access to main memory would like to have. Instead, the data are simply transported via the internal bus 23 of the processor module 20. In the currently preferred exemplary embodiment, the "hit rate" averages over 90%.

Der Cache-Speicher 22 für irgendeinen Prozessor-Modul 20 wird mit Hilfe einer Bus-Zusatz logik bezüglich der relevanten Änderungen im-Hauptspeicher (die durch Einschreiboperationen von anderen Systemvorrichtungen erzeugt werden) auf dem laufenden gehalten. Die Bus-Zusatz logik tastet den Systembus 30 bezüglich der Speicheraktivität anderer Systemmodule ab, welcher lokale Cache-Speicheradressen betreffen. Wenn derartige Schreiboperationen festgestellt werden, wird das Gültigkeits-bit (valid bit) 34 für die betreffende Cache-Speicheradresse auf den Zustand "ungültig (invalid)"The cache memory 22 for any processor module 20 is made using bus overhead logic with respect to the relevant changes in the main memory (caused by write operations generated by other system devices). The bus addition logic scans the system bus 30 for the memory activity of other system modules, which local Concerning cache memory addresses. When such writes are detected, the valid bit becomes (valid bit) 34 for the relevant cache memory address to the status "invalid (invalid)"

-28--28-

A 46 929 bA 46 929 b

k - 176 - 28 -k - 176 - 28 -

24. Februar 1986February 24, 1986

geschaltet und zeigt damit an, daß die Cache-Speicherdaten an dem betreffenden Speicherplatz nicht mehr den Daten am zugeordneten Speicherplatz des Häuptspeichers entsprechen. Wenn ein externer Prozessor Daten von der entsprechenden Cache-Speicheradresse benötigt, wird er folglich erkennen, daß die an dem betreffenden Cache-Speicherplatz abgelegten Daten nunmehr ungültig sind. Der Prozessor nimmt daraufhin Zugriff zum Hauptspeicher, um die betreffenden Daten von dort anstatt aus dem Cache-Speicher 22 abzurufen. Durch diese Operation erfolgt automatisch ein Aufdatieren der Daten im Cache-Speicher 22 - die Daten werden also auf den neuesten Stand gebracht. Da der Bus-Zusatzspeicher 32 unabhängig von dem CPU-Zusatzspeicher 30 ist und diese Daten "kopiert", erfolgt das Aufrechterhalten gültiger Daten im Cache-Speicher mit Hilfe der Busüberwachung ohne eine Beeinträchtigung der Geschwindigkeit des Zugriffs zum Cache-Speicher durch die zentralen Recheneinheiten.switched, indicating that the cache memory data at the relevant memory location no longer transfers the data to the assigned memory location of the main memory correspond. When an external processor needs data from the appropriate cache memory address, consequently, he will recognize that the data stored in the relevant cache memory location is now invalid are. The processor then accesses the main memory in order to take the relevant data from there instead from cache memory 22. This operation automatically updates the data in cache memory 22 - the data is thus brought up to date. Since the additional bus memory 32 is independent of the CPU auxiliary memory 30 and "copies" this data, it is maintained valid data in the cache memory with the help of bus monitoring without affecting the speed access to the cache memory by the central processing units.

Der Cache-Speicher 22 kann entweder als Durchschreib-Cache-Speicher oder als Nicht-Durchschreib-Cache-Speicher ausgebildet werden. Wenn ein Prozessor-Modul 20 mit einem Durchschreib-Cache-Speicher eine Schreiboperation anfordert, werden die Daten sowohl in den Cache-Speicher des anfordernden Prozessor-Moduls 20 als auch an dem betreffenden Speicherplatz des Hauptspeichers 40 eingeschrieben. Durch Verwendung einesThe cache memory 22 can be used as either a write-through cache memory or as non-write-through cache memories. If a processor module 20 requests a write operation with a write-through cache memory, the data is stored in both the Cache memory of the requesting processor module 20 as well as in the relevant memory location of the main memory 40 enrolled. Using a

-29--29-

A 46 929 bA 46 929 b

k - 176 - 29 -k - 176 - 29 -

24. Februar 1986February 24, 1986

Durchschreib-Cache-Speichers wird die Datenübereinstimmung in den Cache-Speichern und im Hauptspeicher aufrechterhalten.Write through cache is the data match maintained in the cache memories and in the main memory.

Wenn ein Prozessor-Modul 20 mit einem Nicht-Durchschreib-Cache-Speicher eine Schreiboperation fordert, dann besorgt dieser Modul die Daten, und die Daten werden lediglich in den Cache-Speicher 22 eingeschrieben. Der Bus-Zusatzspeicher 32 wird aufdatiert, um anzuzeigen, daß derjenige Hauptspeicherplatz, der dem neu eingeschriebenen Cache-Speicherplatz entspricht, keine gültigen Daten mehr enthält. Anschließend wird jeder Versuch eines Prozessor-Moduls, Zugriff zu dem betreffenden Hauptspeicherplatz zu erlangen, außer bei dem Modul mit dem Cache-Speicher,der die gültigen Daten enthält, zu dem Cache-Speicher mit den gültigen Daten gelenkt. Die Verwendung eines Nicht-Durchschreib-Cache-Speichers reduziert den "Verkehr" auf dem Systembus 100, da von den Prozessor-Modulen weniger Schreiboperationen ausgehen.If a processor module 20 with a non-write-through cache memory requests a write operation, then this module fetches the data and the data are only written into the cache memory 22. The auxiliary bus memory 32 is updated to indicate that the main memory location that corresponds to the newly written cache memory location, no longer contains valid data. Any attempt by a processor module to access the relevant main memory space, except for the module with the cache memory, which has the valid Contains data is directed to the cache memory with the valid data. The use of a write-through cache reduces the "traffic" on the system bus 100, since fewer write operations are performed by the processor modules go out.

Jede CPU 21 überträgt und empfängt Vektoren über den Systembus 100 - dieser wird weiter unten beschrieben. Daher ist mit jedem Prozessor eine Interrupt-FIFO-Queue 36 verbunden, welche die empfangenen Vektoren speichert, bis sie verarbeitet werden, woraufhin-'die Daten während der CPU-Interrupt-Quittier-Zyklen auf den internen Datenbus 23 ausgeschoben werden. Vektoren vom Systembus 100 werden in die FIFO-Queues 36 weder eingeschriebenEach CPU 21 transmits and receives vectors over the system bus 100 - this is described below. Therefore, there is an interrupt FIFO queue with each processor 36, which stores the received vectors until they are processed, whereupon -'the data during the CPU interrupt acknowledgment cycles on the internal Data bus 23 are pushed out. Vectors from the system bus 100 are neither written into the FIFO queues

*) FIFO = first in - first out __„_*) FIFO = first in - first out __ "_

= zuerst empfangen - zuerst ausgeben= receive first - output first

**) Queue = Warteschlange**) Queue = queue

A 46 929 bA 46 929 b

k - 176 - 30 -k - 176 - 30 -

24. Februar 1986February 24, 1986

noch quittiert, wenn diese FIFO-Queues voll sind.still acknowledged when these FIFO queues are full.

Wie Fig. 3 zeigt, umfasst jeder gemeinsam genutzte Speichermodul 40 vorzugsweise zwei unabhängige Speicherbänke 41. Die Bänke können RAM-Speicherchips vom MOS-Typ mit einer Speicherkapazität von 25 6 K byte sein, und die gesamte Speicherkapazität kann bis zu etwa 4 Mbyte betragen. Jeder Modul ermöglicht dabei eine Vierfach-Staffelung zwischen Speicherplatinen mit gleicher Speichergröße.As FIG. 3 shows, each shared memory module 40 preferably comprises two independent memory banks 41. The banks can be RAM memory chips of the MOS type with a storage capacity of 25 6 K bytes, and the total storage capacity can be up to about 4 Mbytes. Each module enables one Quadruple staggering between memory boards with the same memory size.

Alle Daten, die in den gemeinsam benutzten Speichermodulen 40 gespeichert werden, werden mit einem Fehlerkorrektur-Code (ECC) gespeichert, wobei Einzel-bit-Fehler in jedem langen Wort (32 bits) bei jedem Zugriff mit Hilfe des ECC-Codes korrigiert werden. Doppel-bit-Fehler werden erfasst und gemeldet. Weiterhin wird bei jedem der gemeinsam genutzten Speichermodule 40 der gesamte Speicher während der Auffrisch-Zyklen überstrichen, wobei alle festgestellten Einzelbit-Fehler korrigiert werden. Da bei einem vollständigen Auffrisch-Zyklus ein vollständiger Datendurchlauf etwa alle 8 s erfolgt (bei 256 k-RAM's), reduziert das Arbeiten mit dem Korrektur-Code die Wahrscheinlichkeit, daß ein nicht korrigierbarer Doppelbit-Fehler überhaupt auftritt. Wegen des Korrektur-Codes können zwei Speicher-Chips des gemeinsam genutzten Speichermoduls 40 ausfallen (1 Chip in jeder Bank), ohne daß der Betrieb des Systems unterbrochen werden müsste.All data that is stored in the shared memory modules 40 are provided with an error correction code (ECC), with single-bit errors in each long word (32 bits) with each access can be corrected using the ECC code. Double-bit errors are recorded and reported. Farther each of the shared memory modules 40 will have all of its memory during the refresh cycles overlined, with all identified single-bit errors being corrected. Since with a complete Refresh cycle one complete data pass takes place every 8 s (with 256 k-RAMs), working with the correction code reduces the probability that an uncorrectable double bit error occurs at all. Because of the correction code two memory chips of the shared memory module 40 may fail (1 chip in each Bank) without having to interrupt the operation of the system.

-31--31-

A 46 929 bA 46 929 b

k - 176 - 31 -k - 176 - 31 -

24. Februar 1986February 24, 1986

Jede gemeinsam genutzte Speicherkarte 40 trägt außerdem einen Diagnose-Mikroprozessor 46, der alle Speicherbänke beim Einschalten und immer dann prüft, wenn er einen entsprechenden Befehl vom System-Diagnose-Prozessor des System-Steuer-Moduls 60 empfängt. Die gemeinsam genutzte Speicherkarte 40 umfasst ferner ein Steuer- und Status-Register, über welches Einzelbit- und Doppel-bit-Fehler sowie Bus-Parity-Fehler an den anfordernden Prozessor gemeldet werden.Each shared memory card 40 also carries a diagnostic microprocessor 46 that controls all memory banks when switching on and always checks if it has received a corresponding command from the system diagnostic processor of the system control module 60 receives. The shared memory card 40 also includes a control and status register, via which single-bit and double-bit errors as well as bus parity errors reported to the requesting processor.

Der System-Steuer-Modul (SCM) 60 arbeitet als Kommunikations-Clearing-Stelle, als Bus-Koordinator und als Diagnose-Zentrum für das erfindungsgemäße Multiprozessor-Computersystem 10. Die verschiedenen Komponenten dieses System-Steuer-Moduls 60 sind in Fig. 4 skizziert.The system control module (SCM) 60 works as a communication clearing house, as a bus coordinator and as a diagnostic center for the multiprocessor computer system according to the invention 10. The various components of this system control module 60 are sketched in FIG.

Der Modul 60 umfasst zunächst einen Diagnose-Prozessor 62, der auf der Basis eines Mikroprozessors des Typs NS 32016 aufgebaut ist und Zugriff zu einem auf der Platine befindlichen, dynamischen 128K byte-RAM hat sowie zu einem batteriegestützten (nicht-flüchtigen) statischen 4K byte-RAM. Der Diagnose-Prozessor 62 führt nach Einschalten der Netzspannung die System-Diagnose durch und stellt die Startbedingungen ein. Weiterhin liefert der Prozessor 62 einen Jahreszeit-Takt und überwacht das System-Steuerfeld sowie den Steuerkonsolen-Anschluß des Systems und zwei lokale Benutzeranschlüsse. Der Diagnose-Prozessor 62 übernimmt ferner die Kontrolle des Systembus 100 und aller zugehörigenThe module 60 initially comprises a diagnostic processor 62, which is based on a microprocessor of the type NS 32016 is set up and has access to a dynamic 128K byte RAM located on the board as well as a battery-backed (non-volatile) static 4K byte RAM. The diagnostic processor 62 performs After switching on the mains voltage, carry out the system diagnosis and set the start conditions. Farther the processor 62 provides a time of year and monitors the system control panel and the control panel connector of the system and two local user connections. The diagnostic processor 62 also takes over the control of the system bus 100 and all associated

-32--32-

A 46 929 bA 46 929 b

k - 176 - 32 -k - 176 - 32 -

24. Februar 1986February 24, 1986

Module, wenn ein schwerwiegender Systemfehler auftritt. Wenn der Fehler durch das Versagen einer Komponente eines der System-Module hervorgerufen wird, kann der System-Steuer-Modul 60 diesem Modul beim nächsten neuen Start den Zugriff zum Systembus 100 verwehren. Wenn ein neuer Start erfolgt, kann der System-Steuer-Modul das Betriebssystem dahingehend informieren, daß der betreffende Modul als inaktiv (außer Betrieb) zu behandeln ist.Module when a fatal system failure occurs. If the fault is due to the failure of a component one of the system modules is caused, the system control module 60 can use this module in the next deny access to system bus 100 for a new start. When a new start occurs, the system control module can inform the operating system that the module in question is inactive (out of order) treat is.

Der System-Steuer-Modul 60 umfasst ferner eine Systembus-Schnittstelie 64, welche dem Diagnose-Prozessor 62 den Zugriff zu anderen Modulen ermöglicht, die mit dem Systembus 100 verbunden sind, während sie gleichzeitig für die anderen System-Module die Möglichkeit schafft, Informationen aus dem gemeinsamen Befehls/ Antwort-Speicher des System-Steuer-Moduls auszulesen bzw. Informationen in diesen Speicher einzuschreiben, der zusammen mit verschiedenen Taktgebern den Block 66 bildet.The system control module 60 further comprises a system bus interface 64, which enables the diagnostic processor 62 to access other modules that are equipped with the system bus 100 are connected, while at the same time allowing the other system modules manages to read out information from the common command / response memory of the system control module or to write information in this memory, which together with various clocks the block 66 forms.

Der Speicher/Taktgeber-Block 66 ist für alle aktiven Module am Systembus 100 "sichtbar" (zugänglich). Der Block 66 leitet jedoch selbst keine aktiven Anforderungen ein. Er enthält Taktgeber, die dazu benutzt werden können, Prozess-Identifikationen und getaktete Interrupts zu erzeugen. Der Block 66 enthält ferner einen statischen 32K byte-RAM-Speicher, der dazu benutzt wird, Befehle und Antworten zwischen dem System-The memory / clock block 66 is "visible" (accessible) to all active modules on the system bus 100. Of the However, block 66 does not initiate any active requests itself. It contains clocks that are used for this can be used to generate process identifications and clocked interrupts. Block 66 also includes a static 32K byte RAM memory, which is used to store commands and responses between the system

*) die Schnittstellen sind in der Zeichnung -33-mit "interface" bezeichnet*) the interfaces are labeled "interface" in the drawing -33-

A 46 929 bA 46 929 b

k - 176 - 33 -k - 176 - 33 -

24. Februar 1986February 24, 1986

Steuer-Modul 60 und anderen, mit dem Systembus 100 verbundenen Modulen zu übermitteln.To transmit control module 60 and other modules connected to the system bus 100.

Wie weiter unten noch näher erläutert wird, besteht der Systembus 100 in Wirklichkeit aus mehreren unabhängigen Bussen (Adressen-, Daten- und Vektor-Bus), über welche im Verlauf jedes Bus-Zyklus nicht miteinander verknüpfte Informationen übertragen werden können. Es ist folglich erforderlich, über den Zugriff zu jedem Bus separat nach vorgegebenen Spielregeln mit Hilfe eines Schiedsrichter- bzw. Arbiter-Kreises zu entscheiden.As will be explained in more detail below, the system bus 100 actually consists of several independent ones Buses (address, data and vector bus), via which in the course of each bus cycle do not interrelate linked information can be transmitted. It is therefore necessary to have access to each bus separately according to the given rules of the game with the help of a referee or arbiter group decide.

Zu diesem Zweck sind ein Vektor-Bus-Arbiter 68, ein Daten-Bus-Arbiter 70 und ein Adressen-Bus-Arbiter vorgesehen, die beim bevorzugten Ausführungsbeispiel zu dem System-Steuer-Modul 6 0 gehören.To this end, there are a vector bus arbiter 68, a data bus arbiter 70 and an address bus arbiter provided, which belong to the system control module 6 0 in the preferred embodiment.

Der System-Steuer-Modul 60 umfasst ferner den Systembzw. Haupttaktgeber 74 für das Multiprozessor-Computersystem 10. Der Haupttakt wird von dem System-Steuer-Modul 60 verteilt,und alle Bus-Taktleitungendes Systembusses 100 werden durch den Haupttaktgeber 74 gesteuert,The system control module 60 further comprises the system or Master clock 74 for the multiprocessor computer system 10. The master clock is distributed by the system control module 60, and all bus clock lines on the system bus 100 are controlled by the master clock 74,

Der Ethernet/Massenspeicher-Modul 9 0 (EMS-Modul) umfasst Schnittstellen 94,98 zur Ankopplung an ein lokales Ethernet-Bereichsnetzwerk und an einen Kleinrechnersystem-Schnittstellenbus 91. Bei einer bevorzugten Ausführungsform des Multiprozessorsystems gemäß derThe Ethernet / mass storage module 9 0 (EMS module) comprises Interfaces 94, 98 for coupling to a local Ethernet area network and to a small computer system interface bus 91. In a preferred embodiment of the multiprocessor system according to FIG

-34--34-

A 46 929 bA 46 929 b

k - 176 - 34k - 176 - 34

24. Februar 1986February 24, 1986

Erfindung stützt die Bus-Schnittstelle 98 des EMS-Moduls 90 einen Plattenspeicher und einen Halbzoll-Bandspeicher. Es können weitere EMS-Module installiert werden, von denen jeder einen Datenweg für zusätzliche Plattenspeicher bilden kann.In accordance with the invention, the bus interface 98 of the EMS module 90 supports disk storage and one-half inch tape storage. Additional EMS modules can be installed, each of which has a data path for additional Can form disk storage.

Wie Fig. 5 zeigt, besteht der EMS-Modul 90 aus vier Grundelementen, nämlich der Systembus-Schnittstelle 92, den Schnittstellen 94 und 98, auf die oben eingegangen wurde, und einer EMS-Zentraleinheit 96 (EMS-CPU). Die Systembus-Schnittstelle 92 wird gemeinsam von den drei anderen Kreisen benutzt. Die Schnittstelle 94 umfasst einen Ethernet-Controller, eine Maschine mit direktem Speicherzugriff (DMA) und einem lokalen Speicher. Dieser Speicher wird als Sende/Empfangseinheit für Befehle und Status-Informationen, statistische Netzwerk-Verwaltungsdaten und Diagnose-Informationen verwendet. Jeder Teil dieses Speichers kann mit Hilfe der DMA-Maschine mit Daten aus dem Hauptspeicher des Multiprozessor-Systems gefüllt oder in dieses umgeladen werden.As FIG. 5 shows, the EMS module 90 consists of four basic elements, namely the system bus interface 92, the interfaces 94 and 98, which were discussed above, and an EMS central processing unit 96 (EMS-CPU). the System bus interface 92 is shared by the other three circles. The interface 94 comprises an Ethernet controller, a direct memory access (DMA) machine, and local storage. This Memory is used as a sending / receiving unit for commands and status information, statistical network management data and diagnostic information is used. Any part of this memory can be made with the help of the DMA machine with data from the main memory of the multiprocessor system filled or reloaded into this.

Die EMS-CPU 96 ist vorzugsweise ein Mikroprozessor des Typs NS 32032, der mit einem lokalen ROM-Speicher für die Programmsteuerung, einem lokalen RAM-Speicher für die Programm- und Datenspeicherung, einem lokalen Steuer/Zustands-Register, mit Vektor-Interrupt-Einheiten und mit zwei Fenstern zum Hauptspeicher des Multiprozessor-Systems ausgerüstet ist.The EMS-CPU 96 is preferably a microprocessor of the type NS 32032 with a local ROM memory for the program control, a local RAM memory for program and data storage, a local one Control / status register, with vector interrupt units and with two windows to the main memory of the multiprocessor system is equipped.

-35--35-

A 46 929 bA 46 929 b

k - 176 - 35 -k - 176 - 35 -

24. Februar 1986February 24, 1986

Die Schnittstelle 98 umfasst einen Bus-Controller für den Bus 91, eine Daten-FIFO-Einheit, einen Mikroprozessor und eine DMA-Maschine. Der Bus-Controller überträgt Daten zwischen dem Bus 91 und der Daten-FIFO-Einheit unter Steuerung durch eine dem Bus 91 zugeordnete zentrale Recheneinheit. Die DMA-Maschine kann Daten zwischen dem Hauptspeicher des Multiprozessor-Systems und der Daten-FIFO-Einheit in jeder Richtung übertragen.The interface 98 comprises a bus controller for the bus 91, a data FIFO unit, a microprocessor and a DMA machine. The bus controller transfers data between the bus 91 and the data FIFO unit under the control of a central processing unit assigned to bus 91. The DMA machine can handle data between the main memory of the multiprocessor system and the data FIFO unit in each direction.

Ferner kann ein VAME-Bus-Adapter-Modul 99 vorgesehen sein, welcher der Aufnahme einer großen Vielfalt von VME-Bus-Karten dienen kann. Dieser Adapter entspricht den gut dokumentierten VME-Bus-Normen, so daß die Benutzer des Multiprozessorsystems neue Funktionen implementieren können, ohne daß die Notwendigkeit bestünde, über eine Schnittstelle direkt Zugriff zum Systembus 100 zu nehmen. Mit dem Adapter 99 kann das System Echtzeit-Ein/Ausgangs-Schnittstellen sowie nach Kundenwunsch gestaltete Spezial-Schnittstellen aufnehmen.A VAME bus adapter module 99 can also be provided which can accommodate a wide variety of VME bus cards. This adapter complies the well-documented VME bus standards so that users of the multiprocessor system can implement new functions can directly access the system bus via an interface without the need 100 to take. With the adapter 99, the system can have real-time input / output interfaces as well as according to customer requirements Include specially designed interfaces.

Jedes Multiprozessor-Computersystem 10 der vorstehend beschriebenen Art kann ferner durch einen Großfeld-Multiprozessor-Schnittstellen-Modul 200 (LAmP-Modul) erweitert werden. Wie in Fig. 6 gezeigt, ist in diesem Fall jedes der Systeme 10, welches durch eine Reihe von Anfοrderungsmodulen und gemeinsam benutzten Speichermodulen symbolisiert ist, mit einem weiteren entsprechenden System über den LAmP-Modul 20 0 und einen LAmP-Kommunikationsbus 202 verbunden. Bei der gegenwärtigenEach multiprocessor computer system 10 of the above described type can also by a large field multiprocessor interface module 200 (LAmP module). As shown in Fig. 6, in this Case any of the systems 10 supported by a number of requirement modules and shared memory modules is symbolized, with a further corresponding system via the LAmP module 20 0 and a LAmP communication bus 202 connected. At the present

-36--36-

A 46 929 bA 46 929 b

k - 176 - 36 -k - 176 - 36 -

24. Februar 1986February 24, 1986

Ausgestaltung kann ein System mit derartigen LAmP-Modulen bis zu 16 Multiprozessorsysteme 10 umfassen.A system with such LAmP modules can be configured up to 16 multiprocessor systems 10 comprise.

Wie Fig. 7 zeigt, umfasst jeder LAmP-Modul 200 eine Systembus-Schnittstelle 204 und eine LAmP-Bus-Schnittstelle 206. Die LAmP-Schnittstelle 200 umfasst dabei einen LAmP-Cache-Speicher 208, der die Zugriffszeit zu den Speichern aller Systeme verkürzt, außer zu dem System, zu dem der Anforderungsmodul gehört. Der LAmP-Cache-Speicher reduziert folglich die Anzahl der Anforderungen, die über den LAmP-Kommunikationsbus 20 2 übertragen werden, da der Cache-Speicher 208 die Anforderungen für die am häufigsten aufgerufenen Speicherplätze handhabt. Ein LAmP-Cache-Zusatz speicher 210 enthält einen Index der Speicheradressen jedes Cache-Speicherplatzes sowie die Systemnummer desjenigen Systems, zu dem der betreffende Hauptspeicher gehört.As FIG. 7 shows, each LAmP module 200 includes one System bus interface 204 and a LAmP bus interface 206. The LAmP interface 200 includes an LAmP cache memory 208 which reduces the access time to the memories of all systems except that System to which the requirements module belongs. The LAmP cache memory consequently reduces the number of requests which are transmitted over the LAmP communication bus 20 2, as the cache memory 208 the requests handles for the most frequently accessed memory locations. A LAmP cache overhead 210 Contains an index of the memory addresses of each cache memory location as well as the system number of the system to which the main memory in question belongs.

Eine geprüfte LAmP-Gruppenspeicher-Zusatzeinheit 212 speichert einen Index aller Speicherplätze in den Speichermodulen 40 des Multiprozessor-Systems 10, deren Inhalte zu anderen über LAmP-Einheiten angeschlossene Multiprozessorsystem 10. Anforderungen auf dem Systembus 100, welche die Anforderungs- und Beantwortungs-Module nicht beeinflussen, die mit anderen über LAmP-Einheiten angeschlossene Systembusse 100 verbunden sind, werden von der geprüften LAmP-Gruppenspeicher-Zusatzeinheit 212 ausgefiltert.A tested LAmP group storage option 212 stores an index of all memory locations in the memory modules 40 of the multiprocessor system 10, their Contents of other multiprocessor systems connected via LAmP units 10. Requirements on the system bus 100, which do not influence the request and response modules that are shared with others via LAmP units Connected system buses 100 are connected by the tested LAmP group storage option 212 filtered out.

-37--37-

A 46 929 bA 46 929 b

k - 176 - 37 -k - 176 - 37 -

24. Februar 1986February 24, 1986

Der SystembusThe system bus

Der Systembus 100 ist die primäre Systemverbindung zum Verbinden der verschiedenen Module des Multiprozessor-Computersystems 10 gemäß der Erfindung. Der Systembus 100 verbindet Prozessoren, Speicher, Peripheriegeräte mit direktem Speicherzugriff und untergeordnete Peripheriegeräte .The system bus 100 is the primary system connection for interconnecting the various modules of the multiprocessor computer system 10 according to the invention. The system bus 100 connects processors, memories, peripheral devices with direct memory access and subordinate peripherals .

Der Systembus 100 ist ein "in der Schwebe gehaltener" Bus mit einem Durchsatz von 100 Mbyte/s. Der Systembus 100 umfasst einen Datenbus 102 und einen getrennten Systembus 104, wobei diese beiden Busse unabhängig voneinander arbeiten. Der Systembus 100 ist ferner ein synchron arbeitender Bus, auf welchem alle Datenübertragungen synchron mit dem Takt des Bus-Taktgebers erfolgen.The system bus 100 is a "suspended" bus with a throughput of 100 Mbytes / s. The system bus 100 comprises a data bus 102 and a separate system bus 104, these two buses being independent of one another work. The system bus 100 is also a synchronously operating bus on which all data transfers synchronously with the clock of the bus clock.

Wie Fig. 1 zeigt, besteht der Systembus 100 aus vier separaten Bussen: dem Datenbus 102, dem Adressenbus 104, dem Vektorbus 106 und dem Steuerbus 108. Wie in der Zeichnung gezeigt, kann der Datenbus 102 64 Informationsbits zuzüglich der Parity-bits übertragen, während über den Adressenbus 104 32 Informations-bits plus Paritybits übertragen werden. Der Vorteil der Verwendung paralleler Daten- und Adressen-Pfade besteht darin, daß auf einen zeitraubenden Multiplex-Betrieb verzichtet werden kann. Folglich wird die Bus-Bandbreite stark erhöht. Die Zugriffsentscheidungen für den AdressenbusAs FIG. 1 shows, the system bus 100 consists of four separate buses: the data bus 102, the address bus 104, the vector bus 106 and the control bus 108. As shown in the drawing, the data bus 102 can transmit 64 bits of information plus the parity bits while over the address bus 104 32 information bits plus parity bits are transmitted. The benefit of using parallel data and address paths consists in dispensing with a time-consuming multiplex operation can be. As a result, the bus bandwidth is greatly increased. The access decisions for the address bus

-38--38-

A 46 929 bA 46 929 b

k - 176 - 38 -k - 176 - 38 -

24. Februar 1986February 24, 1986

102 und den Datenbus 104 sind lediglich teilweise aufgeteilt. Die Entscheidung, welche Einrichtung die Belegung des Busses mit der derzeit höchsten Priorität fordert, erfolgt mit Hilfe eines zentralen Arbiterkreises und wird zu dem ausgewählten, den Bus anfordernden Kreis übermittelt. Die Entscheidung, ob ein bestimmter Modul sich selbst aus dem derzeit geltenden Satz von zulässigen Anforderungseinheiten ausschließen sollte, wird jedoch von jedem Modul selbst getroffen. Wenn einem Modul der Zugriff zum Adressenbus gewährt wurde, liefert er seine Adressen und, falls erforderlich, seine Daten auf den Bus. Wenn einem Modul der Zugriff zum Datenbus gewährt wurde, liefert er seine Daten auf den Datenbus.102 and the data bus 104 are only partially divided. The decision as to which facility is to occupy the bus with the currently highest priority requests, takes place with the help of a central arbiter and becomes the selected one requesting the bus Circle transmitted. The decision as to whether a particular module is different from the current one Should exclude the set of permissible requirement units, however, each module takes it itself. If a module has been granted access to the address bus, it supplies its addresses and, if necessary, its data on the bus. If a module has been granted access to the data bus, it delivers its Data on the data bus.

Vor einer Diskussion der verschiedenen Entscheidungskriterien bzw. -schemata, mit denen beim Systembus gearbeitet wird, werden die verschiedenen Datenübertragungszyklen beschrieben. Wie oben angesprochen, erfolgt die Übertragung bei dem erfindungsgemäßen System als "in der Schwebe gehaltene" Übertragung, d.h. die Adresse wird bei einer Datenübertragung, bei der Daten ausgelesen werden sollen, zum Empfänger gesendet, woraufhin der Systembus andere Operationen einschiebt, während die zurückzumeldenden Daten vorbereitet werden. Der Bus wartet also nicht auf die Rückmeldung der Daten. Wenn Einschreibadressen übertragen werden, dann folgen ihnen jedoch stets im nächsten Zyklus die einzuschreibenden Daten.Before discussing the various decision criteria or schemes used for the system bus the different data transfer cycles are described. As mentioned above, takes place the transmission in the system of the invention as "suspended" transmission, i.e. the The address is sent to the recipient during data transmission in which data is to be read out, whereupon the system bus is inserting other operations while the data to be returned is being prepared. The bus does not wait for the data to be returned. If registered addresses are transmitted, then however, the data to be written always follow them in the next cycle.

-39--39-

A 46 929 bA 46 929 b

k - 176 - 39 -k - 176 - 39 -

24. Februar 1986February 24, 1986

Es sind verschiedene Module vorhanden, welche die Benutzung des Adressenbusses 104 anfordern können. Zu diesen Modulen gehören die Prozessor-Module 20, die Ein/Äusgabe-Module 9 0 und die LAmP-Schnittstellen-Module 200. Ein Modul, welcher den Adressenbus benützen möchte, sendet eine Anforderung aus, welche über die Steuerleitungen 100 zum System-Steuer-Modul 60 übertragen wird, zu dem die Arbiterkreise gehören. Sobald der Adressenbus-Arbiter 72 dann Zugriff zum Adressenbus 104 gewährt, wird in der nächsten Taktzeit die Adresse des berechtigten Anforderungskreises auf den Adressenbus 104 gegeben. Wenn die gewünschte Operation eine Schreiboperation ist, dann werden die zu schreibenden Daten in der Taktperiode auf den Datenbus 102 gegeben, welche der Taktperiode folgt, in der die Adresse auf den Adressenbus 104 gegeben wurde.There are various modules that can request the use of the address bus 104. These modules include the processor modules 20, the input / output modules 90 and the LAmP interface modules 200. A module that wants to use the address bus sends out a request which uses the Control lines 100 is transmitted to the system control module 60 to which the arbiter circuits belong. As soon the address bus arbiter 72 then grants access to the address bus 104, in the next clock time the The address of the authorized request group is given on the address bus 104. When the desired operation is a write operation, then the data to be written is transferred to the data bus 102 in the clock period which follows the clock period in which the address was placed on the address bus 104.

Es sind ferner verschiedene Module vorhanden, die die Benutzung des Datenbusses 102 fordern können. Ein Modul, der den Datenbus 102 benutzen möchte, sendet über die Steuerleitungen 108 eine entsprechende Anforderung an den System-Steuer-Modul 60,zu dem der Datenbus-Arbiter 7 0 gehört. Ein Modul, der Zugriff zum Datenbus 102 verlangt, muß außerdem den Adressenbus 104 überwachen, um festzustellen, ob die Ausgabe von einzuschreibenden Daten auf den Datenbus 102 bevorsteht. In diesen Fällen vertagt der anfordernde Modul seine Anforderung und fordert die Benutzung des Datenbusses zu einem späteren Zeitpunkt erneut an.There are also various modules that can request the use of the data bus 102. A module, who wants to use the data bus 102 sends a corresponding request via the control lines 108 to the system control module 60, to which the data bus arbiter 7 0 belongs. A module that provides access to the data bus 102, must also monitor the address bus 104 to see if the output of the Data on the data bus 102 is imminent. In these cases, the requesting module postpones its Request and requests the use of the data bus again at a later point in time.

-40--40-

A 46 929 bA 46 929 b

k - 176 - 40 -k - 176 - 40 -

24. Februar 1986February 24, 1986

Ein Beispiel der Takt- und Übertragungszyklen,von denen vorstehend gesprochen wurde, ist in Fig. 8 gezeigt, wo zwei Steuerleitungen vorhanden sind, nämlich eine Steuerleitung, die mit dem Datenbus-Arbiter verbunden ist, und_ eine zweite Steuerleitung, die mit dem Adressenbus-Arbiter verbunden ist. Wenn eine Anforderung von einem Anforderungsmodul (Anforderungsmodul· Nr. 1) eintrifft, gewährt der Adressenbus-Arbiter 7 2 dem Anforderungsmodul Nr. 1 während einer Taktperiode Zugriff zum Adressenbus 104. Während der nächsten Taktperiode wird die gewünschte Adresse des Anforderungsmoduls Nr. auf den Adressenbus gegeben. Da die Anforderung des Anforderungsmoduls Nr. 1 eine Leseoperation betrifft, muß der Anforderungsmodul Nr. 1 mehrere Bus-Taktperioden warten, ehe die Daten zu ihm ausgegeben werden.An example of the clock and transfer cycles of which As discussed above, it is shown in Fig. 8 where there are two control lines, namely one Control line connected to the data bus arbiter and_ a second control line connected to the address bus arbiter connected is. If a request from a requirements module (requirement module No. 1) arrives, the address bus arbiter 7 2 grants the request module no. 1 access during one clock period to address bus 104. During the next clock period, the desired address of request module no. given to the address bus. Since the request of the request module No. 1 concerns a read operation, the request module no. 1 must wait several bus clock periods before the data are output to it.

Während der Anforderungsmodul Nr. 1 die gewünschte Adresse auf den Adressenbus 104 gibt, erzeugt ein Anforderungsmodul Nr. 2 eine Anforderung für eine Schreiboperation und erhält Zugriff zum Adressenbus. Die gewünschte Adresse des Anforderungsmoduls 2 wird während der unmittelbar folgenden Taktperiode auf die Adressenleitungen gegeben (beim Ausführungsbeispiel in der Periode Nr. 3), und da eine Schreiboperation gefordert wird, werden die Daten auf den Datenbus 102 während der Taktperiode ausgegeben, die der Periode folgt, in der die Adresse auf den Adressenbus gegeben wurde, nämlich in der Periode Nr. 4. Während einer Schreiboperation wird keine Entscheidung über den ZugriffWhile the request module no. 1 is the desired address on the address bus 104, a request module generates No. 2 a request for a write operation and gains access to the address bus. The desired The address of the request module 2 is on the address lines during the immediately following clock period given (in the embodiment in period No. 3), and a write operation is required the data is output on the data bus 102 during the clock period following the period in which the address was put on the address bus, namely in period No. 4. During a write operation will not make a decision about access

-41--41-

A 46 929 bA 46 929 b

k - 176 - 41 -k - 176 - 41 -

24. Februar 1986February 24, 1986

zum Datenbus 102 benötigt. Damit sind die Operationen für den Anforderungsmodul Nr. 2 abgeschlossen. Einige Taktperioden später werden die Daten für den Anforderungsmodul Nr. 1 zurückgesendet. Zu diesem Zeitpunkt
muß der Datenbus-Arbiter 7 0 dem sendenden Modul Zugriff zum Datenbus 102 gewähren. Beim Ausführungsbeispiel·
wird dieser Zugriff sofort gewährt, und während der
nächsten Taktperiode werden die Daten auf den Datenbus 102 gegeben, womit auch die Operationen des Anforderungsmodul·s Nr. 1 erledigt sind. Wenn der Datenbus 102 beschäftigt gewesen wäre, hätte der die Daten sendende Modul· dagegen warten müssen, bis ihm der Bus zugeteilt worden wäre.
for data bus 102 is required. The operations for request module no. 2 are now complete. A few clock periods later, the data for request module no. 1 is sent back. At this time
the data bus arbiter 7 0 must grant the sending module access to the data bus 102. In the exemplary embodiment
this access is granted immediately, and during the
In the next clock period, the data is sent to the data bus 102, with which the operations of the request module # 1 are also dealt with. On the other hand, if the data bus 102 had been busy, the module sending the data would have had to wait until the bus had been allocated to it.

Wenn bei dem obigen Beispiel· aus irgendeinem Grund für eine große Anzahl· von Schreibanforderungen Zugriff zu den Bussen gewährt worden wäre, würden die Anforderungen nach dem Ausiesen von Daten gesperrt und damit die Datenaussendung zu den betreffenden Anforderungsmodul·en verhindert. Zur Abschwächung derartiger Probleme, die ietzt^ch die Datenverarbeitung verlangsamen, wird ein spezielies Steuersignal· UNJAM L auf den Bus
gel·egt, um den Datenbus 102 nach einer gewissen Wartezeit, beispieisweise nach 4 Buszykien, in denen auf
die Freigabe des Datenbusses gewartet wurde, zu reservieren. Wenn das Steuersignal· UNJAM erzeugt wird, dann wird die Annahme von Anforderungen durch den Adressenbus unterbrochen, um so einen freien Zugang zum Datenbus innerhaib weniger Taktperioden zu ermöglichen.
If, in the above example, for whatever reason, access to the buses had been granted for a large number of write requests, the requests after the identification of data would be blocked and thus the transmission of data to the relevant request modules would be prevented. To alleviate such problems, which now slow down data processing, a special control signal · UNJAM L is applied to the bus
located around the data bus 102 after a certain waiting time, for example after 4 bus cycles in which
the release of the data bus has been waited for. When the control signal · UNJAM is generated, the acceptance of requests by the address bus is interrupted so as to enable free access to the data bus within a few clock periods.

-42--42-

A 46 929 bA 46 929 b

k - 176 - 42 -k - 176 - 42 -

24. Februar 1986February 24, 1986

Weiterhin werden keine neuen Anforderungen nach dem Datenbus akzeptiert. Das Steuersignal UNJAM wird gelöscht, sobald der Datenbus für die anstehenden daten> freigegeben wurde.Furthermore, no new requests for the data bus are accepted. The control signal UNJAM is deleted, as soon as the data bus has been released for the pending data.

Der Systembus 100 gestattet, da er ein "in der Schwebe gehaltener" Bus ist, die Möglichkeit, daß mehrere Anforderungen für eine einzige Bank des Speichers in der Schwebe gehalten werden. Die Speicher selbst haben keine Möglichkeit, mehr als zwei Anforderungen im Pipeline-Betrieb zu verarbeiten (nämlich die Anforderung, die gerade bearbeitet wird und eine weitere, die in der Schwebe gehalten wird), so daß es möglich ist, daß eine Speicherbank 40 beschäftigt und nicht in der Lage wäre, die Adresse zu empfangen (bzw. Schreibdaten, falls ein Schreibzyklus gefordert ist). Wenn diese Situation entsteht, verweigert die Speicherbank die Annahme der Adresse und erzeugt ein Signal RETRY, welches bewirkt, daß die Übermittlung der Adresse vier Bus-Zyklen später erneut versucht wird.The system bus 100 allows it to be a "pending." held "bus is the ability to have multiple requests for a single bank of memory in the To be kept levitated. The stores themselves have no way of accommodating more than two requests in the Pipeline operation to process (namely the request that is being processed and another that is is held in suspension) so that it is possible that a memory bank 40 is busy and not in the Would be able to receive the address (or write data, if a write cycle is required). If those Situation arises, the memory bank refuses to accept the address and generates a signal RETRY, which causes the transmission of the address to be attempted again four bus cycles later.

Wenn irgendein Anforderungs-Modul feststellt, daß eine Adresse "nackt" gewesen ist, beispielsweise infolge einer belegten Speicherbank, sendet er keine neuen Anforderungen aus, bis die "nackte" Adresse erledigt ist. Dieses Vorgehen gewährleistet, daß kein Anforderungskeis für ein längeres Zeitintervall "ausgesperrt" wird, da zwischen seinen erneuten Versuchen andere Module senden und ihre Anforderungen bis zu der Stelle durchgelassen werden, die die betreffende Anforderungseinheit ebenfalls zu erreichen versucht.If any requirements module determines that a Address has been "naked", for example as a result of an occupied memory bank, it does not send any new requests until the "bare" address is done. This procedure ensures that there is no set of requirements is "locked out" for a longer time interval, since other modules between its retries send and their requests are passed up to the point that the relevant request unit also tried to achieve.

-43--43-

A 46 929 bA 46 929 b

k - 176 - 43 -k - 176 - 43 -

24. Februar 1986February 24, 1986

Wie oben erörtert, gehören zu dem Adressenbus 104 und dem Datenbus 102 jeweils unabhängige Arbiter, welche die Anforderungen für Datenübertragungen überwachen. Wenn eine Anforderung aufgegeben wird, benutzt der Arbiter einen Algorithmus, der eine faire Behandlung gewährleistet und dem Anforderungskreis letztlich einen Zugriff ermöglicht. Der Arbiter macht dies,indem er für den ausgewählten Modul eine Zulassung durchgibt. Der ausgewählte Modul gibt dann die Adresse oder die Daten auf den Bus. Der Adressenbus-Arbiter gewährleistet eine faire Einteilung hinsichtlich des Zugriffs zum Bus durch Implementieren des folgenden Algorithmus:As discussed above, the address bus 104 and data bus 102 each have independent arbiters, which monitor the requirements for data transfers. When a request is made, the uses Arbiter an algorithm that fair treatment guaranteed and ultimately enables access to the requirement group. The arbiter does this by he gives an admission for the selected module. The selected module then gives the address or the data on the bus. The address bus arbiter ensures a fair allocation of access to the bus by implementing the following Algorithm:

1. Alle Nicht-Prozessor-Module, beispielsweise der System-Steuer-Modul oder die Bus-Adapter, können Priorität gegenüber den Prozessor-Modulen haben. Diese Module bilden die Prioritätsgruppe A. Wenn irgendeine dieser Einrichtungen den Adressenbus 104 anfordert, wird ihr der Zugriff trotz des Vorliegens einer Anforderung von einem Modul der Prioritätsgruppe B gewährt, welche weiter unten noch definiert wird.1. All non-processor modules, for example the system control module or the bus adapter, can Have priority over the processor modules. These modules form priority group A. If if any of these devices requests address bus 104, it will have access regardless of the presence a request from a module of priority group B, which is given below is yet to be defined.

2. Die Prioritätsgruppe B umfasst alle Prozessor-Module. Einem Modul der Gruppe B wird dann Zugriff für eine Adressenübertragung gewährt, wenn er innerhalb seiner Gruppe, d.h. unter den Modulen seiner Gruppe, von denen eine Anforderung2. Priority group B includes all processor modules. Access is then given to a module in group B for an address transfer if it is within its group, i.e. among the modules his group, one of which is a requirement

-44--44-

A 46 929 bA 46 929 b

k - 176 - 44 -k - 176 - 44 -

24. Februar 1986February 24, 1986

ansteht, derjenige Modul mit der höchsten Priorität ist und wenn keine Anforderung von einem Modul der Gruppe A unerledigt ist.pending, the module with the highest priority is and if there is no request from one Group A module is pending.

3. Wenn einer Vorrichtung Zugriff zum Bus gewährt wird, dann bekommt die ihr nach dem Algorithmus folgende Vorrichtung anschließend die höchste Priorität.3. If a device is granted access to the bus, then you get it according to the algorithm following device then has the highest priority.

Der Adressenbus-Arbiter 72 besteht aus einem zentralisierten Entscheidungsmechanismus und einem verteilten Steuermechanismus. Der zentralisierte Entscheidungsmechanismus nimmt die Anforderungen entgegen und liefert die Zulassungen auf der Basis eines rotierenden PrioritätsSchemas unter Verwendung von Modul-Schlitz-Nummern. Bei dem bevorzugten Ausführungsbeispiel ist der zentrale Arbiter Bestandteil der System-Steuereinheit 60. Ein Beispiel für ein Adressenbus-Zuordnungsschema wird unter Bezugnahme auf Fig. 9a diskutiert. Das in Fig. 9a gezeigte System enthält 8 Anforderungs-Module . Geht man davon aus, daß zuvor dem Modul Nr. 1 Zugriff zum Bus gewährt wurde, dann hat nunmehr der Modul Nr. 2 die höchste Priorität. Wenn die Module Nr. und Nr. 5 beide Zugriff zum Bus verlangen, dann wird dem Modul Nr. 5 der Zugriff gewährt, da er nach dem Modul Nr. 2 der Modul mit der höchsten Nummer ist, von dem eine Anforderung des Busses ausgeht. Im Anschluß an die Gewährung Des Zugriffs für den Modul Nr.5 ist nunmehr der Modul mit der höchsten Priorität der Modul Nr. 6.The address bus arbiter 72 consists of a centralized arbitration mechanism and a distributed one Control mechanism. The centralized decision-making mechanism receives the requirements and delivers the approvals based on a rotating priority scheme using module slot numbers. In the preferred embodiment, the central arbiter is part of the system control unit 60. An example of an address bus allocation scheme is discussed with reference to Figure 9a. The system shown in Fig. 9a contains 8 request modules. Assuming that module no. 1 Access to the bus was granted, then the Module No. 2 has the highest priority. If modules # and # 5 both request access to the bus, then will Access is granted to module no.5, as it is the module with the highest number after module no.2, from which a request from the bus originates. Following the granting of access to module no.5 The module with the highest priority is now module no.6.

-45--45-

A 56 929 bA 56 929 b

k - 176 - 45k - 176 - 45

24. Februar 1986February 24, 1986

Der verteilte Steuermechanismus besteht aus einem Zustand-Sequenzer an.jedem Modul, welcher bestimmt, ob ein Modul eine Anforderung nach dem Adressenbus abgeben darf. Die Adressenbus-Anforderungen werden von den Anforderungs-Modulen modifiziert, wenn irgendeine der folgenden Bedingungen vorliegt:The distributed control mechanism consists of a state sequencer to each module, which determines whether a module has made a request for the address bus may submit. The address bus requests are modified by the request modules, if any the following conditions are met:

1. Wenn ein Modul der Prioritätsgruppe A eine Anforderung an den zentralen Adressen-Arbiter abgibt,kann dieser das Signal PRIORITY L auf den Steuerbus 108 geben, um alle Module der Prioritätsgruppe B zu zwingen, ihre Anforderungen zurückzuziehen, wodurch für die Module der Gruppe A der Zugriff mit höherer Priorität erfolgen kann.1. When a module of priority group A has a requirement to the central address arbiter, can this give the signal PRIORITY L on the control bus 108 to all modules of the priority group B to force them to withdraw their requirements, thereby reducing the number of modules in the group A access can be made with a higher priority.

2. Alle Anforderungskreise suspendieren die Anforderung zum Schreiben von Daten und für Lese-Modifizier-Schreib-Zyklen, solange ein Signal STALL CYCLE L (Zyklus L blockieren) auf dem Steuerbus 108 liegt.2. All requirement groups suspend the requirement for writing data and for read-modify-write cycles, as long as a signal STALL CYCLE L (block cycle L) is on the control bus 108.

3. Wenn ein Speichermodul keinen Zugriff zum Datenbus erhält, um angeforderte Daten innerhalb einer vorgegebenen Anzahl von Bus-Takt-Zyklen zurückzusenden, gibt er das Signal UNJAM L auf den Steuerbus 108. Die Anforderungskreise suspendieren daraufhin Schreib-Anforderungen, bis das Signal UNJAM L nicht länger vorliegt.3. If a memory module cannot access the data bus, the requested data can be stored within To send back a specified number of bus clock cycles, it outputs the UNJAM L signal the control bus 108. Suspend the request circuits then write requests until the UNJAM L signal is no longer present.

A 46 929 bA 46 929 b

k - 176 - 46 -k - 176 - 46 -

24. Februar 1986February 24, 1986

4. Wenn eine Speicherbank, zu der ein Datenübertragungsbefehl gesendet wird, beschäftigt ist, liefert der Speicher nicht das Signal MEMORY ACCEPTED L auf den Steuerbus 108, wodurch der Anforderungskreis darauf hingewiesen wird, daß er die Anfrage erneut versuchen soll. Diejenigen Anforderungs-Module, bei denen zu diesem Zeitpunkt keine Bus-Anforderung vorliegt, dürfen keine Anforderung abgeben, bis der Modul, der zu einem erneuten Versuch aufgefordert wurde, durch die Speicherbank bedient ist, womit ein Einfrieren auf den gerade vorhandenen Satz von Anforderungskreisen erfolgt. Die Anforderungen innerhalb des eingefrorenen Satzes werden weiterhin mit rotierender Priorität nach den Entscheidungskriterien an den Bus gegeben, mit der Ausnahme, daß der Modul,der aufgefordert wurde, es erneut zu versuchen, jedesmal, wenn er seine Anforderung wieder abgibt, die höchste Priorität erhält. Das Absetzen der Anforderung durch den einen erneuten Versuch startenden Modul beeinträchtigt dagegen nicht die rotierende Priorität für die übrigen Anfragen des eingefrorenen Satzes von Modulen. Die Anfragen werden freigegeben, wenn der betreffende Modul bei einem erneuten Versuch durch die Speicherbank bedient wurde.4. If a memory bank to which a data transfer command is being sent is busy, supply the memory does not put the MEMORY ACCEPTED L signal on control bus 108, thereby notifying the request circuit that it has received the request should try again. Those request modules for which there is no bus request at this point in time is not allowed to submit a request until the module, which is to be renewed Attempt was prompted to be served by the memory bank, causing a freeze on the currently existing set of requirement groups takes place. The requirements within the frozen The sentence will continue to be given rotating priority according to the decision criteria Bus, with the exception that the module that was asked to try again every time if he submits his request again, it receives the highest priority. The discontinuation of the However, the request by the retry module does not affect it the rotating priority for the remaining requests of the frozen set of modules. The requests are released when the module concerned is retried through the memory bank was served.

Der Zugriff zum Datenbus wird auf der Basis des folgenden Algorithmus zugeordnet:Access to the data bus is assigned based on the following algorithm:

-47--47-

A 46 929 bA 46 929 b

k - 176 - 47 -k - 176 - 47 -

24. Februar 1986February 24, 1986

1. Wenn ein Schreibzyklus auf dem Adressenbus 104 läuft, dann überträgt der Datenbus 102 stets die zu schreibenden Daten während des nächsten Datenbus-Zyklus , und zwar unabhängig von jeder anderen anhängigen Datenbus-Anforderung.1. When a write cycle is in progress on address bus 104, data bus 102 always transfers the data to be written during the next data bus cycle , regardless of any other pending data bus request.

2. Wenn keine Schreibdatenübertragungen in der Schwebe sind/ erhält die Einrichtung mit der höchsten Priorität, welche den Datenbus für das Lesen von Daten anfordert, die Zulassung zur Datenübertragung. Die logische Prioritätsordnung derjenigen Einrichtungen, welche eine Anforderung für eine Datenübertragung abgeben können, ist.wie folgt: System-Steuer-Modul·, Bus-Adapter, LAmP-Modul und Speichermodule.2. If there are no write data transfers pending / the device with the highest priority which requests the data bus for reading data receives the permission for the data transfer. The logical order of priority of those devices that can submit a request for data transmission is as follows: system control module, bus adapter, LAmP module and memory modules.

3. Die Priorität auf dem Datenbus ist eine strikt numerische Priorität.3. The priority on the data bus is a strictly numerical priority.

Ein Beispiel für das Datenbus-Entscheidungsschema wird nachstehend in Verbindung mit Fig. 9b erläutert. Bei dem Ausführungsbeispiel gemäß fig. 9b umfasst das System einen Bus-Adapter, einen LAmP-Modul, einen System-Steuer-Modul und drei Speichermodule. Bei dem Beispiel war der letzte Modul,dem Zugriff gewährt wurde, der Speichermodul· Nr. 2.An example of the data bus arbitration scheme is discussed below in connection with Figure 9b. In the embodiment according to fig. 9b the system comprises a bus adapter, an LAmP module, a system control module and three memory modules. In the example, the last module granted access was became the memory module # 2.

Wenn keine Schreibdatenübertragungen in der Schwebe sind und wenn der LAmP-Modul· und der Speichermodul· Nr.3If no write data transfers are pending and if the LAmP module · and the memory module · No.3

-48--48-

A 46 929 bA 46 929 b

k - 176 - 48 -k - 176 - 48 -

24. Februar 1986February 24, 1986

Zugriff zum Datenbus verlangen, dann wird der Zugriff wegen der strikt numerischen Priorität des Datenbus-Entscheidungsschemas dem LAmP-Modul gewährt. Wenn statt der Anforderung durch den LAmP-Modul eine Anforderung durch den Speichermodul Nr. 1 und durch den Speichermodul Nr. 3 vorliegen würde, dann würde der Zugriff dem Speichermodul Nr. 1 gewährt, selbst wenn er zuletzt vor kürzerer Zeit Zugriff zum Datenbus gehabt hat als der Speichermodul Nr. 3.Request access to the data bus, then the access is due to the strict numerical priority of the data bus arbitration scheme granted to the LAmP module. If there is a request instead of the request by the LAmP module through memory module no. 1 and through memory module no. 3, then the Access granted to memory module no. 1 even if it last had access to the data bus not long ago has as the memory module no.3.

Wie vorstehend diskutiert, ist bei dem Multiprozessor-Computersystem gemäß der Erfindung das System von verteilten Cache-Speichern realisiert. Zur Gewährleistung der Datenübereinstimmung zwischen den Cache-Speichern 22 und dem Hauptspeicher 40 überwachen alle Cache-Speicher 22 gewisse Bus-Operationen auf "Treffer" in ihrem Bus-Zusatzspeichern (BTAG) 32. Wenn ein "Treffer" festgestellt wird, dann wird durch die CPU-Logik deren lokaler CPU-Zusatzspeicher 30 aufdatiert. Die System-Erfordernisse erzwingen jedoch, daß die Pipeline-Bearbeitung derartiger "Treffer" minimal ist, so daß es möglich ist, da£ mehrfache "Treffer" im Zusatzspeicher 3TAG 32 die "Leitung" füllen. In diesem Fall muß die C?U für den Adressenbus-Arbiter das Signal STALL CYCLE L ausgeben, um Schreiboperationen und Lese-Modifizier-Schreiboperationen zu sperren, bis wieder Platz in der "Leitung" ist.As discussed above, is in the multiprocessor computer system according to the invention the system of distributed cache memories is implemented. To guarantee the data correspondence between cache memories 22 and main memory 40 monitor all cache memories 22 certain bus operations on "hits" in their additional bus memories (BTAG) 32. If a "hit" is determined, then the local CPU additional memory 30 is updated by the CPU logic. the However, system requirements dictate that pipeline processing of such "hits" be minimal, so that it is possible that multiple "hits" in the additional memory 3TAG 32 fill the "line". In this case the C? U must output the STALL CYCLE L signal for the address bus arbiter to allow write operations and Block read-modify-write operations until there is room on the "line".

-49--49-

A 46 929 bA 46 929 b

k - 176 - 49 -k - 176 - 49 -

24. Februar 1986February 24, 1986

Alle Daten, die auf den Systembus 100 übertragen werden , sind von einem Zusatz begleitet, welcher die Schaltung, von der die Information angefordert wird, exakt definiert, so daß die Daten zu dieser Schaltung zurückübertragen werden können. Diese Information ist auf den internen Adressen- und Datenleitungen ID enthalten. Die Information, die 'übermittelt wird, besteht aus einer physikalischen 4 bit-Schlitz-Nr. und zwei reservierten bits. Diese bits werden von der Anforderungsschaltung erzeugt und von der angeschriebenen Einrichtung gespeichert, um sie zusammen mit den angeforderten Daten zurückzusenden. Diese Information wird für zwei Zwecke verwendet. Die physikalische Schlitz-Nummer identifiziert alle Module eines lokalen Systems, mit dem die Daten zurückgesendet werden (unter lokal ist dabei zu verstehen, daß das System ein einziges Multiprozessor-System ist, welches mit einem einzigen Bus verbunden ist, ohne zusätzliche Systeme zu umfassen, die über einen LAmP-Modul angeschlossen sind.) Die reservierten bits werden nicht von irgendeinem Speichermodul verwendet und werden einfach ungeändert zu der Anforderungsschaltung zurückgesandt. Dies ermöglicht der Anforderungsschaltung die gelesenen Daten, welche von dem Speicher zurückkommen, einwandfrei zu identifizieren und zuzuordnen. (Beispielsweise kann ein LAmP-Modul diese Daten benötigen, um festzustellen, welche gelesenen Daten gerade zurückgeliefert werden. Ein Modul mit mehreren ProzessorenAll data which are transferred on the system bus 100 are accompanied by an addition, which the Circuit from which the information is requested is precisely defined, so that the data is sent to this circuit can be transferred back. This information is contained on the internal address and data lines ID. The information that is transmitted consists of a physical 4-bit slot number. and two reserved bits. These bits are generated by the request circuit and the written to Facility to be returned with the requested data. This information is used for two purposes. The physical slot number identifies all modules of a local one System with which the data is sent back (local here means that the system is a single Multiprocessor system connected to a single bus without additional systems that are connected via a LAmP module.) The reserved bits are not used by any Memory module and are simply sent back to the request circuit unchanged. This enables the request circuit to read the To correctly identify and assign data that come back from the memory. (For example a LAmP module may need this data to determine which data has just been returned will. A module with multiple processors

-50--50-

A 46 929 bA 46 929 b

k - 176 - 50 -k - 176 - 50 -

24. Februar 1986February 24, 1986

könnte die betreffenden bits dazu verwenden, denjenigen Prozessor zu identifizieren, der die Anforderung abgegeben hat.)could use the relevant bits to identify the processor that made the request submitted.)

Lesezyklen auf dem Systembus werden durch Aussenden des Signals ABUSREQ η gestartet. Der Adressenbus-Arbiter 74 erkennt die Anforderung und wählt den betreffenden Modul aus, wenn die Priorität stimmt. Die Adresse kann von der angeschriebenen Einheit akzeptiert werden. Die angeschriebene Einheit kann aber auch anzeigen, daß sie beschäftigt ist und verlangen, daß nach vier Bus-Zyklen ein erneuter Kontaktversuch unternommen wird. Wenn die angeschriebene Stelle nicht vorhanden ist, kann das System die Adresse verwerfen. Außerdem kann die Adresse dann, wenn ein LAmP-Schaltkreis vorhanden ist, von diesem übernommen und zu einem anderen lokalen System weitergeleitet werden.Read cycles on the system bus are started by sending the ABUSREQ η signal. The address bus arbiter 74 recognizes the request and selects the relevant module if the priority is correct. the Address can be accepted by the addressed unit. The written unit can also show that it is busy and request that a new contact attempt be made after four bus cycles will. If the address is not available, the system can discard the address. In addition, the address can be if a LAmP circuit is available, taken over by this and forwarded to another local system.

Schreibzyklen werden ebenfalls durch Aussenden des Signals ABUSREQ η gestartet. Der Adressenbus-Arbiter erkennt die Anforderung und wählt, wenn die Priorität stimmt, den entsprechenden Modul aus. Die zu schreibenden Daten werden stets in dem Buszyklus übertragen, der der Adresse unmittelbar folgt, ebenso wird mit einem Hinweis verfahren, welche bytes eines der Langworte zu schreiben sind. Wie beim Lesezyklus kann die Adresse vom angeschriebenen Kreis akzeptiert werden oder dieser kann anzeigen, daß er beschäftigt ist undWrite cycles are also started by sending the ABUSREQ η signal. The address bus arbiter recognizes the requirement and, if the priority is correct, selects the appropriate module. The ones to write Data are always transmitted in the bus cycle that immediately follows the address, and with proceed with a hint as to which bytes of one of the long words are to be written. As with the read cycle, the Address can be accepted by the written circle or this can indicate that he is busy and

-51--51-

A 46 929 bA 46 929 b

k - 176 - 51 -k - 176 - 51 -

24. Februar 1986February 24, 1986

daß der erneute Versuch für einen Zugriff in vier Buszyklen erfolgen soll. Ebenfalls kann die Adresse wie bei dem Lesezyklus von dem System verworfen werden, weil die angeschriebene Einheit bzw. Stelle nicht vorhanden ist. Anders als beim Lesezyklus folgen die zu schreibenden Daten stets der Adresse zwar unabhängig davon, ob die Adresse akzeptiert wird oder nicht. Außerdem können die Adresse und die Schreibdaten dann, wenn ein LAmP-Modul mit dem System verbunden ist, von diesem akzeptiert und an ein weiteres lokales System weitergeleitet werden.that the renewed attempt for an access should take place in four bus cycles. The address can also be such as are discarded by the system during the read cycle because the written unit or location is not is available. In contrast to the read cycle, the data to be written always follows the address independently whether the address is accepted or not. In addition, the address and the write data can then if a LAmP module is connected to the system, from accepted and forwarded to another local system.

Bei dem vorliegenden Ausführungsbeispiel des Multiprozessor-Computersystems gemäß der Erfindung haben die Bus-Zyklen eine Dauer von 80 ns. Diese Zeit ist ausreichend, um die erforderliche Information für einen Bus-Zyklus zu übertragen. Es ist jedoch keine ausreichende Zeit für irgendeinen Modul vorhanden, die Information innerhalb eines solchen Bus-Zyklus zu verarbeiten. Deshalb wird der System-Bus im Pipeline-Betrieb für ein Niveau betrieben. Mit anderen Worten werden also in einem Zyklus die Daten übertragen und in einem zweiten Zyklus steht Zeit für die Entscheidung zur Verfügung, was mit den Daten anzufangen ist.In the present embodiment of the multiprocessor computer system according to the invention, the bus cycles have a duration of 80 ns. This time is sufficient to get the required information for one Transfer bus cycle. However, there is not enough time for any module to retrieve the information to be processed within such a bus cycle. Therefore, the system bus is pipelined operated for a level. In other words, the data are transmitted in one cycle and in a second cycle time is available to decide what to do with the data.

Der Prozess der übertragung zweier Langworte (64 bits) in einem Datenzyklus wird als ein Doppel-Pump-Zyklus bezeichnet. Ein solcher Zyklus wird von einemThe process of transmitting two long words (64 bits) in a data cycle is called a double pump cycle designated. Such a cycle is made by a

-52--52-

A 46 929 bA 46 929 b

k - 176 - 52 -k - 176 - 52 -

24. Februar 1986February 24, 1986

Anforderungskreis angefordert, wenn die Adresse übertragen wird, indem die Doppel-Pump-Zyklusanforderungsleitung des Steuerbusses 108 mit dem Befehl REQDPMP L aufgerufen wird. Die Adresse für einen Doppel-Pump-Zyklus muß an einer Doppel-Langwort-Grenze vorhanden sein; d.h. daß mindestens 3 bits der Adresse 0 sein müssen. Eine Doppel-Pump-Zyklusanforderung, die nicht mit einem Langwort in definierter Weise verknüpft ist, führt zu nicht vorhersagbaren Ergebnissen. Die Daten, die sich aufgrund einer Doppel-Pump-Leseanforderung ergeben, werden gemeinsam im gleichen Datenbuszyklus über den 64 bit-breiten Datenbus übertragen. Es besteht jedoch die Möglichkeit, daß nicht jede adressenmäßig aufgerufene Vorrichtung einer Doppel-Pump-Zyklusanforderung entspricht; sie kann möglicherweise nur eine Einfachübertragung gewährleisten. Diese Tatsache wird der Anforderungseinheit für die zu lesenden Daten mitgeteilt, wenn diese Daten zu der Anforderungseinheit zurückübertragen werden. Zu diesem Zeitpunkt ist ein Signal NDPMP L gültig und zeigt der Anforderungseinheit an, ob die Doppel-Pump-Zyklus-Anfrage erfüllt ist oder ob lediglich ein Langwort niedrigerer Ordnung zurückgeliefert wird. Eine Anforderungseinheit, welche nur Doppel-Pump-Operationen ausführen will, kann Zugriff zu der Doppel-Pump-Erzwingungsleitung des Steuerbusses 108 erhalten. Eine Aussendung des betreffenden Signals erzwingt eine 64-bit-Übertragung sowie die anschließende Rücklieferung der Daten, wobei das Signal NDPMP L nicht gesetzt wird.Request circuit requested when the address is transmitted by the double pump cycle request line of the control bus 108 is called with the command REQDPMP L. The address for a double pump cycle must be present at a double longword boundary; i.e. that at least 3 bits of the address are 0 have to. A double pump cycle requirement that doesn't is linked to a long word in a defined way, leads to unpredictable results. The data, resulting from a double pump read request are shared in the same data bus cycle transmitted via the 64-bit wide data bus. However, there is a possibility that not every called device corresponds to a double pump cycle request; she can possibly guarantee only a single transfer. This fact becomes the request unit for the to be read Data communicated when this data is transmitted back to the request unit. At this time a signal NDPMP L is valid and indicates to the request unit whether the double pump cycle request has been met is or whether only a long word of a lower order is returned. A requirement unit, which only wants to perform double-pumping operations, can access the double-pumping enforcement line of the control bus 108 received. A transmission of the relevant signal forces a 64-bit transmission as well as the Subsequent return of the data, whereby the NDPMP L signal is not set.

-53--53-

A 46 929 bA 46 929 b

k - 176 - 53 -k - 176 - 53 -

24. Februar 1986February 24, 1986

Die Bus-Signale und die verschiedenen Funktionen, die ihnen zugeordnet sind (einige Bus-Signale wurden bereits erläutert) werden nachstehend näher diskutiert. Bei der nachstehenden Beschreibung ist zu berücksichtigen, daß die Signale in Verbindung mit der Verwendung eines Multiprozessor-Computersystems 10 gemäß Fig. 1 erläutert werden. Die Anforderungs-Module können entweder Prozessor-Module 20 oder ETHERNET/Massenspeicher-Module 90 sein. Weiterhin wird bei der Bezugnahme auf die PARITY-bit-Erzeugung die folgende Definition beabsichtigt: das erzeugte PARITY-bit erzeugt jeweils die angegebene Parität, d.h. ein ungerades PARITY-bit wird dann gesetzt, wenn die Anzahl der Einsen in seinem geschützten Feld gerade ist, so daß eine ungerade Parität bzw. eine ungerade Anzahl von Einsen erhalten wird.The bus signals and the various functions that are assigned to them (some bus signals have already been are discussed in more detail below. In the following description it must be taken into account that the signals in connection with the use of a multiprocessor computer system 10 as shown in FIG explained. The requirement modules can either be processor modules 20 or ETHERNET / mass storage modules Be 90. Furthermore, when referring to PARITY bit generation, the following definition is used intended: the generated PARITY bit generates the specified parity, i.e. an odd PARITY bit is set if the number of ones in its protected field is even, so that parity is odd or an odd number of ones is obtained.

ADD 02 - ADD 31: Diese Leitungen tragen die Adresse der Stelle, welche durch die Anforderungseinheit adressiert wird. Diese Operationen werden stets mit Langworten durchgeführt, so daß die bits NULL und EINS nicht benötigt werden. Die Signale BYTE η L und WORDSEL ersetzen die bits NULL und EINS während der Schreibzyklen. Die Adresse auf diesen Leitungen wird als "wahr" ausgegeben, d.h. der Bus ist nicht invertiert.ADD 02 - ADD 31: These lines carry the address of the point addressed by the request unit will. These operations are always carried out with long words, so that the bits ZERO and ONE are not needed. The signals BYTE η L and WORDSEL replace the bits ZERO and ONE during the write cycles. The address on these lines is output as "true", i.e. the bus is not inverted.

ADDP O - ADDP 3: Dies sind die Parity-Bits für die Adressenleitujngen. Es wird der folgende Parity-Algorithmus verwendet:ADDP O - ADDP 3: These are the parity bits for the address lines. It uses the following parity algorithm used:

•54-• 54-

A 46 929 bA 46 929 b

k - 176 - 54 -k - 176 - 54 -

24. Februar 1986February 24, 1986

ADDP O hat ungerade Parität bei CYCTYPE 0-1,ADD 02-07ADDP O has odd parity with CYCTYPE 0-1, ADD 02-07

ADDO 1 hat ungerade Parität bei ADD 08-15ADDO 1 has odd parity with ADD 08-15

ADDP 2 hat ungerade Parität bei ADD 16-23ADDP 2 has odd parity with ADD 16-23

ADDP 3 hat ungerade Parität bei ADD 24-31ADDP 3 has odd parity on ADD 24-31

DATA 00 - DATE 63: Diese Leitungen tragen die Daten, welche zwischen den Einrichtungen auf dem Bus von allen Langwort-Steilen übertragen werden. DATA 00 - DATA 31 tragen 32 Daten-bits. Das bit mit der geringsten Wertigkeit ist DATA 00 und das bit mit der höchsten Wertigkeit ist DATE 31. DATA 32 bis DATE 63 tragen 32 Datenbits von allen ungeraden Langwort-Stellen. Das bit mit der geringsten Wertigkeit ist DATA 32 und das bit mit der höchsten Wertigkeit ist DATA 63.DATA 00 - DATE 63: These lines carry the data transmitted between the devices on the bus from all Longword parts are transferred. DATA 00 - DATA 31 carry 32 data bits. The bit with the lowest value is DATA 00 and the bit with the highest value is DATE 31. DATA 32 to DATE 63 carry 32 data bits from all odd longword positions. The bit with the least significant is DATA 32 and the bit with the highest significance is DATA 63.

DATAP 0 - 7: Diese bits sorgen für die Parität auf den Datenleitungen. DATAP 0 ist das gerade Parity-bit für das byte auf DATA 00 - 07, während DATAP 7 das gerade Parity-bit für das byte in DATA 56 - 6 3 ist. Die byte-Parität wird nur für ein Langwort geliefert, wenn nur eines übertragen wird. Daher muß der Speichermodul die Parität eines Langworts nicht prüfen, welches nicht geschrieben wird.DATAP 0 - 7: These bits take care of the parity the data lines. DATAP 0 is the even parity bit for the byte on DATA 00 - 07, while DATAP 7 is the even parity bit for the byte in DATA 56 - 6 3 is. The byte parity is only supplied for a long word, if only one is transmitted. Therefore, the memory module does not have to check the parity of a longword, which one is not written.

ABUSREQ η L: Dieses Signal wird durch die Anforderungseinheit η ausgegeben (n liegt zwischen 0 und der Anzahl N der verfügbaren Anfrage-Einheiten, wobei dieses Anzahl beim Ausführungsbeispiel η = 10 ist), wenn dieseABUSREQ η L: This signal is issued by the request unit η (n lies between 0 and the number N of the available query units, this number being η = 10 in the exemplary embodiment) if these

-55--55-

A 46 929 bA 46 929 b

k - 176 - 55 -k - 176 - 55 -

24. Februar 1986February 24, 1986

eine Adressenübertrag.ung anfordert. Die zehn Anforderungseinheit-Schlitze geben ABUSREQ 0 - 9 L aus. Der Bus-Adapter 99 gibt das Signal ABUSREQ 10 L aus. Der System-Steuer-Modul 60 muß kein Bussignal ausgeben, da er den Bus-Arbiter enthält. Dieses Signal muß synchron mit dem Bus-Takt ausgegeben werden.requests an address transfer. The ten request unit slots output ABUSREQ 0 - 9 L. The bus adapter 99 outputs the ABUSREQ 10 L signal. Of the System control module 60 does not have to output a bus signal because it contains the bus arbiter. This signal must are output synchronously with the bus cycle.

DBUSREQ η L: Dieses Signal wird von der Einheit η ausgegeben (n liegt beim derzeit bevorzugten Ausführungsbeispiel zwischen 0 und 9), welche Daten auf den Datenbus zurücksenden möchte. Die Speichermodule 0 bis 7 geben jeweils die Signale DBUSREQ 0 - 7 L ab. Der Bus-Adapter 99 gibt das Signal SBUSREQ 8 L ab. Der LAmP-Schnittstellen-Modul 200 gibt das Signal DBUSREQ 9 L ab. Der System-Steuer-Modul 60 muß kein Bus-Signal abgeben, da er selbst den Bus-Arbiter enthält. Das betrachtete Signal muß synchron mit dem Bustakt abgegeben werden.DBUSREQ η L: This signal is output by the unit η (n is between 0 and 9 in the currently preferred exemplary embodiment) , which wants to send data back to the data bus. The memory modules 0 to 7 each emit the signals DBUSREQ 0 - 7 L. The bus adapter 99 emits the signal SBUSREQ 8 L. The LAmP interface module 200 emits the signal DBUSREQ 9 L. The system control module 60 does not have to emit a bus signal since it itself contains the bus arbiter. The signal under consideration must be emitted synchronously with the bus clock.

CYCTYPE 0-3: Diese Signale werden zusammen mit der Adresse von der Anforderungseinheit auf den Systembus 100 getrieben,und sie definieren den Typ von Zyklus, den der Adressenbus 104 gegenwärtig durchführt. Die folgenden DYCTYPE-Code werden verwendet:CYCTYPE 0-3: These signals are sent together with the address from the request unit to the system bus 100 driven, and they define the type of cycle, which address bus 104 is currently performing. The following DYCTYPE codes are used:

-56--56-

A 46 929 bA 46 929 b

k - 176k - 176

24. Februar 1986February 24, 1986

- 56 -- 56 -

CYCTYPE 0 12 3
O 0 X X
CYCTYPE 0 12 3
O 0 XX

0 10 10 10 1

0 1X00 1X0

0 1110 111

10 1110 11

10 0 110 0 1

10 1010 10

10 0 010 0 0

1 1 X X1 1 X X

zeigt das Lesen bei einem automatischen Lese-Modifizier-Schreibzyklus anFigure 11 shows reading on an automatic read-modify-write cycle at

zeigt einen privaten Lese-Zugriffszyklus anindicates a private read access cycle

reserviert für zukünftige Zuordnungreserved for future assignment

zeigt das Lesen eines öffentlichen Lese-Zugriffszyklus anindicates the reading of a public read access cycle

zeigt einen Schreib-Invalidate-Zyklus anindicates a write invalidate cycle

modifizierter Schreibzyklus modifizierter Schreibzyklus reserviert für zukünftige Zuordnungmodified write cycle modified write cycle reserved for future allocation

zeigt an, daß derzeit keine gültige Adresse auf dem Bus ist.indicates that there is currently no valid address on the bus.

X = nicht darum kümmern.X = don't worry about it.

Es ist zu beachten, daß es in der Verantwortlichkeit jeder Einrichtung liegt, welche Daten über den Bus zurückgeben kann, die CYCTYPE-Leitungen auf einen Hinweis zu überwachen, daß eine Schreibadresse auf dem Adressenbus übertragen wird. Wenn dieses Ereignis eintritt, wird die Anforderungseinheit während des nächsten Datenbus-Schlitzes einzuschreibende Daten senden. Daher muß jede Einrichtung, welche plant, während des Zeitschlitzes, der auf eine Schreibadressenübertragung folgt, Daten zurückzuliefern, dies um einen zusätzlichen Datenbus-Zyklus verzögern.It should be noted that it is the responsibility of each device to determine what data is on the bus can return to monitor the CYCTYPE lines for an indication that a write address is on the Address bus is transmitted. When this event occurs, the request unit is during the next Data bus slot to send data to be written. Therefore, every device that plans, during the time slot, which follows a write address transfer to return data by one additional data bus cycle delay.

-57--57-

Λ * S, * Λ Λ Λ * S, * Λ Λ

A 46 929 bA 46 929 b

k - 176 - 57 -k - 176 - 57 -

24. Februar 1986February 24, 1986

BYTE η L: Diese Signale werden bei allen Bus-Zyklen (Schreib- und Lese-Zyklen) ausgegeben, um anzuzeigen, welche der bytes gültig sind. Die Befehle BYTE 0 - 3L gelten jeweils für die Signale O bis 3 des Langworts, welches durch den Befehl WORDSEL ausgewählt wurde.BYTE η L: These signals are output in all bus cycles (write and read cycles) to indicate which of the bytes are valid. The commands BYTE 0 - 3L apply to the signals O to 3 of the long word, which was selected by the WORDSEL command.

WORDSEL H: Dieses Signal bestimmt, welches der Langwort-Signale BYTE η L angelegt werden muß. Falls negiert, zeigt dieses Signal an, daß das ausgewählte Langwort das Langwort auf den Datenleitungen DATA 00-31 ist. Wenn das Signal WORDSEL ausgesendet wird, dann wird das Langwort auf den Datenleitungen DATA 32-63 ausgewählt.WORDSEL H: This signal determines which of the long word signals BYTE η L must be applied. If negated, this signal indicates that the selected longword is the longword on data lines DATA 00-31 is. When the WORDSEL signal is sent out, the long word on the data lines DATA 32-63 selected.

BYTEP: Dieses Signal stellt die ungerade Parität der Signale BYTE η L, WORDSEL, FDPMP L, REQDPMP L und CYCTYPE 2 dar.BYTEP: This signal represents the odd parity of the signals BYTE η L, WORDSEL, FDPMP L, REQDPMP L and CYCTYPE 2 represents.

NOCACHE L: Dieses Signal wird von allen Einheiten ausgegeben, welche Daten zurückliefern, welche nicht in den Cache-Speicher eingespeichert werden sollten. Solche Daten können von jeder Stelle stammen, welche ohne sichtbare Bus-Aktivität für die BTAG-Überwachung manipuliert werden kann. Beispiele derartiger Stellen sind Speicher mit zwei Anschlüssen, Register auf einem Modul oder Stellen, welche in Wirklichkeit an einem anderen Bus liegen und lediglich durch einen Bus-Adapter gesehen werden.NOCACHE L: This signal is output by all units that return data that are not in the cache memory should be saved. Such data can come from any place which without visible bus activity for BTAG monitoring can be manipulated. Examples of such locations are two-port memories, registers on one Module or locations that are actually on another bus and only through a bus adapter be seen.

-58--58-

A 46 929 bA 46 929 b

k - 176 - 58 -k - 176 - 58 -

24. Februar 1986February 24, 1986

PRIORITY L: Dieses Signal wird von einer Anforderungseinheit geliefert, die keine Einheit der Klasse B ist, d.h. irgendeine Anforderungseinheit mit Ausnahme einer CPU..Dies gestattet, diesen Anforderungseinheiten,
wie z.B. den EMS-Modulen, dem System-Steuer-Modul 60
und dem Bus-Adapter 99 einen schnellen Zugriff zu dem Bus 100.
PRIORITY L: This signal is supplied by a request unit that is not a class B unit, i.e. any request unit with the exception of a CPU. This allows these request units,
such as the EMS modules, the system control module 60
and the bus adapter 99 provides quick access to the bus 100.

MEMORY ACCEPTED L: Dieses Signal wird von einer Speichereinheit ausgegeben, um anzuzeigen, daß sie die
Adresse auf ADD 02 - ADD 31 erfolgreich decodiert hat und daß die Anforderung für eine Datenübertragung akzeptiert wurde.
MEMORY ACCEPTED L: This signal is output by a memory unit to indicate that it has the
Address on ADD 02 - ADD 31 has successfully decoded and that the request for a data transfer has been accepted.

MEMORY BYPASS L: Dieses Signal wird von einem Nicht-Durchschreib-Cache-Speicher ausgegeben, welcher auf
die laufende Adresse auf dem Adressenbus 104 antworten möchte. Wenn dieses Signal vorliegt, überläuft es das Signal MEMORY ACCEPTED L. Der Speicher wird auf jede
Übertragung verzichten, die er als Antwort auf diese
Adresse geplant hatte.
MEMORY BYPASS L: This signal is asserted from a non-write-through cache memory which is based on
the current address on address bus 104 wants to respond. When this signal is present, it overflows the MEMORY ACCEPTED L signal
Refrain from transferring him in response to this
Address had planned.

CACHE ACCEPTED L: Dieses Signal wird nur ausgegeben, wenn das Signal MEMORY BYPASS L ausgegeben wird. Wenn es ausgegeben wird, zeigt es an, daß ein Nicht-Durchschreib-Cache-Speicher die Adresse akzeptiert hat.CACHE ACCEPTED L: This signal is output only when the MEMORY BYPASS L signal is output. if it is issued, it indicates that a write-through cache is not in use accepted the address.

WRITE DATE PARITY L: Dieses Signal wird einen Bus-Zyklus nach dem Zeitpunkt ausgegeben, zu dem derWRITE DATE PARITY L: This signal is output one bus cycle after the point in time at which the

-5 9--5 9-

A 46 929 bA 46 929 b

k - 176 - 59 -k - 176 - 59 -

24. Februar 1986February 24, 1986

Befehl MEMORY ACCEPTED L wirksam würde (für eine Schreibdaten-Übertragung) . Dieses Signal zeigt, ob die Schreibdaten erfolgreich übertragen wurden oder nicht.The MEMORY ACCEPTED L command would take effect (for a write data transfer) . This signal shows whether the write data was transferred successfully or not.

REQDPMP L: Dieses Signal wird von der Anforderungseinheit ausgegeben, um anzuzeigen, daß der angeforderte Bus-Zyklus ein Doppel-Pump-Zyklus ist. Es ist zu beachten, daß die Adresse aller Doppel-Pump-Zyklus-Anforderungen ein doppeltes Langwort sein muß, welches ausgerichtet sein muß, wenn die Ergebnisse nicht unvorhersagbar sein sollen.REQDPMP L: This signal is issued by the requesting unit to indicate that the requested bus cycle is a double pump cycle. It should be noted that the address of all double-pumping cycle requirements must be a double long word that must be paid if the results are not to be unpredictable.

DPMP L: Dieses Signal kann von der Zieleinheit einer Doppel-Pump-Zyklus-Anforderung abgegeben werden. Es wird dann abgegeben, wenn der Doppel-Pump-Zyklus,der gefordert wurde, durch einen Doppel-Pump-Zyklus erledigt wird.DPMP L: This signal can be sent by the target unit of a Double pump cycle request can be issued. It is released when the double-pumping cycle, the demanded was done by a double pump cycle will.

FORCE DPMP REQ L: Dieses Signal wird von der Anforderungseinheit ausgegeben, um den aufgerufenen Speichermodul zu zwingen, die Anforderung durch einen Doppel-Pump-Zyklus zu erledigen. Wenn die betreffende Bank des Speicher-Moduls beschäftigt ist, wird die Anforderung wiederholt.FORCE DPMP REQ L: This signal is issued by the request unit to the called memory module forcing to do the request through a double pump cycle. If the bank in question the memory module is busy, the request is repeated.

STALL CYCLE L: Dieses Signal kann von jeder Anforderungseinheit zu jeder Zeit aufgrund eines BTAG-FIFO-Überlaufs oder eines festgestellten Bus-Adressen-STALL CYCLE L: This signal can be used by any request unit at any time due to a BTAG FIFO overflow or a determined bus address

-60--60-

A 46 929 bA 46 929 b

k - 176 - 60 -k - 176 - 60 -

24. Februar 1986February 24, 1986

Parity-Fehlers ausgegeben werden. Wenn das Signal vorliegt, muß der Speichermodul die empfangene Anforderung verwerfen, welche die Blockierbedienung bewirkt hat, und die Anforderungseinheiten müssen Schreibund Lese-Modifizier-Schreib-Anforderungen suspendieren.Parity errors are output. If the signal is present, the memory module must respond to the request discard, which caused the blocking operation, and the request units must write and Suspend read-modify-write requests.

UNJAM L: Dieses Signal wird gesendet/ wenn ein Speicher nicht in der Lage gewesen ist/ während einer vorgegebenen Anzahl von Bus-Zyklen Zugriff zum Datenbus 102 zu bekommen. Wenn es vorliegt, verhindert dieses Signal neue Anforderungen nach dem Datenbus 102 und suspendiert die Zuordnung des Adressenbusses 104 durch den Adressenbus-Arbiter 72 des System-Steuer-Moduls 60.UNJAM L: This signal is sent / if a memory has not been able to / during a given Number of bus cycles to get access to the data bus 102. If it is present, this prevents Signal new requests for the data bus 102 and suspend the assignment of the address bus 104 through the address bus arbiter 72 of the system control module 60.

ADDID 0-5: Dieses Signale werden von ausgewählten Anforderungseinheiten zusammen mit den Adressen ausgegeben. Sie zeigen dem aufgerufenen Modul an, welche Anforderungseinheit die Übertragung durchführt. Das ADDID-Signal besteht aus zwei Feldern: dem Feld mit der physikalischen Schlitz-Nummer und zwei reservierten bits. Das folgende Schema wird verwendet/ um das physikalische Schlitz-Feld zu definieren/ ADDID 0-3:ADDID 0-5: These signals are output by selected request units together with the addresses. They indicate to the called module which request unit is carrying out the transfer. That ADDID signal consists of two fields: the field with the physical slot number and two reserved bits. The following scheme is used / to define the physical slot field / ADDID 0-3:

Oxxx - 1001 Anforderungsmodul· 0-9 gemäßOxxx - 1001 requirement module 0-9 according to

Identifikation durch die Schlitz-Nr.Identification by the slot no.

1100 System-Steuer-Modul1100 system control module

1101 Bus-Adapter.1101 bus adapter.

CpPYCpPY

A 46 929 bA 46 929 b

k - 176 - 61 -k - 176 - 61 -

24. Februar 1986February 24, 1986

ADDID 4 und 5 sind für die Verwendung durch die Anforderungseinheit reserviert. Der Speicher liefert diese bits zusammen mit den angeforderten Daten zurück, und diese bits werden nicht modifiziert. Dies ermöglicht der Anfrageeinheit, die Daten derart zu ergänzen, daß sie mit zwei beliebigen Informationsbits zurückgeliefert werden. ADDID 4 and 5 are for use by the requester reserved. The memory returns these bits together with the requested data, and these bits are not modified. This enables the query unit to transfer the data in this way add that they are returned with any two information bits.

ADDIDP: Dieses bit sorgt bei dem Signal ADDID 0-5 für eine gerade Parität.ADDIDP: This bit ensures even parity for the ADDID 0-5 signal.

DESTSEL 0 - 5: Diese Signale werden von einer Einheit geliefert, welche zuvor angeforderte Lesedaten auf den Datenbus liefert. Sie sind einfach eine Kopie der Signale ADDID 0 - 5, wie sie während der Übertragung der Adresse dieser Einheit benutzt wurden. Sie zeigen an, zu welcher Anforderungseinheit die angeforderten Daten auf dem Bus zurückgeliefert werden und bestehen aus zwei Feldern: dem Feld mit der physikalischen Schiitζ-Nummer und einem weiteren Feld mit zwei reservierten bits. Das folgende Schema wird benutzt, um das Feld mit der physikalischen Schiitζ-Nummer zu definieren, DESTSEL 0-3:DESTSEL 0 - 5: These signals are from a unit supplied, which supplies previously requested read data on the data bus. They are simply a copy of the Signals ADDID 0 - 5 as they are during transmission the address of this unit were used. They indicate to which request unit the requested Data are returned on the bus and consist of two fields: the field with the physical Schiitζ number and another field with two reserved bits. The following scheme is used to define the field with the physical class number, DESTSEL 0-3:

Oxxx - 1001 Anforderungsmodul 0-9 gemäßOxxx - 1001 requirement module 0-9 according to

Identifizierung durch Schlitz-Nr.Identification by slot no.

1100 System-Steuer-Modul1100 system control module

1101 Bus-Adapter1101 bus adapter

1111 keine gültigen Lesedaten auf dem Bus (gültige Schreibdaten können auf dem Bus vorliegen).1111 no valid read data on the Bus (valid write data can be present on the bus).

-62--62-

COPYCOPY

360621ϊ360621ϊ

A 46 929 bA 46 929 b

k - 176 - 62 -k - 176 - 62 -

24. Februar 1986February 24, 1986

DESTSEL 4 und 5 sind für die Verwendung durch die Anforderungseinheiten reserviert. Der Speicher liefert diese bits zusammen mit den angeforderten Daten zurück, und diese bits bleiben unverändert. Dies ermöglicht den Anforderungseinheiten/ die Daten, die zu ihnen zurückgesendet werden, mit zwei beliebigen Informationsbits zu versehen. Wenn die zu übertragenden Daten Schreibdaten sind, dann setzt die Anforderungseinheit die DESTSEL-Leitungen auf Einsen, wenn der Cache-Speicher der Anforderungseinheit ein Durchschreib-Cache-Speicher ist. Wenn eine Anforderungseinheit Daten anfordert, die in einem Nicht-Durchschreib-Cache-Speicher gespeichert sind, dann enthält das Signal DESTSEL die ADDID-Information der Anfοrderungseinheit der Daten. Der beendete Zustand aller Einsen wird in diesem Fall allen anderen Modulen anzeigen, daß es sich um Schreibdaten handelt, und diese sollten durch alle Anforderungsmodule ignoriert werden.DESTSEL 4 and 5 are reserved for use by the request units. The memory delivers return these bits along with the requested data, and these bits remain unchanged. this makes possible to provide the request units / the data that are sent back to them with any two bits of information. When the data to be transferred write data then the requester sets the DESTSEL lines to ones if the cache is of the request unit is a write-through cache. When a requesting unit requests data, the are stored in a write-through cache memory, the DESTSEL signal contains the ADDID information the unit of request for the data. The finished In this case, the status of all ones will indicate to all other modules that they are write data, and these should be ignored by all requirement modules.

DESTSELP: Dieses Signal liefert eine ungerade Parität für die DESTSEL L-bits 0-5, für DPMP L und MOCACHE L.DESTSELP: This signal supplies odd parity for DESTSEL L-bits 0-5, for DPMP L and MOCACHE L.

SLOTID 0-3: Diese vier Signale sind in spezieller Weise in jedem Schlitz an dem Bus 100 codiert. Dies ermöglicht einem Modul, diese Linien zu lesen und zu bestimmen, in welchem Schlitz sie angeordnet sind.SLOTID 0-3: These four signals are specially encoded in each slot on bus 100. this allows a module to read these lines and determine which slot they are in.

BCLOCK η L: Dieses Signal liefert den Bus-Grundtakt. Beim bevorzugten Ausführungsbeispiel kann dieBCLOCK η L: This signal supplies the basic bus cycle. In the preferred embodiment, the

-63--63-

A 46 929 bA 46 929 b

k - 176 - 63 -k - 176 - 63 -

24.Februar 1986February 24, 1986

Periodendauer der Taktimpulse kurz sein und bis zu
lediglich.80 ns betragen, wobei die Impulsdauer zwischen 22 ns und 33 ns liegt. Das BCLOCK η L - Signal wird auf drei Leitungen verteilt, die wie folgt verbunden sind:
Period duration of the clock pulses can be short and up to
be only .80 ns, with the pulse duration between 22 ns and 33 ns. The BCLOCK η L signal is distributed over three lines that are connected as follows:

BCLOCK 1 L Speicher-Module 0-2
BCLOCK 2 L Speicher-Module 3-5
BCLOCK 1 L memory modules 0-2
BCLOCK 2 L storage modules 3-5

BCLOCK 3 L Speicher-Module 6, 7, Anforderungseinheit - Schlitz 0, System-Steuer-Modul BCLOCK 3 L memory modules 6, 7, request unit - slot 0, system control module

BCLOCK 4 L Anforderungseinheit - Schlitz 1-4 BCLOCK 4 L Anforderungseinheit - Schlitz 5-7BCLOCK 4 L request unit - slot 1-4 BCLOCK 4 L request unit - slot 5-7

BCLOCK 6 L Anforderungseinheit - Schlitz 8, 9; Bus-Adapter.BCLOCK 6 L request unit - slot 8, 9; Bus adapter.

Es ist zu beachten, daß alle Leitungen drei Module
treiben, außer den Signalen BCLOCK 3 und 4. Bei der
betrachteten Ausgestaltung treiben diese beiden Signale kürzere Strecken der Rückenverdrahtung, so daß sie
eine zusätzliche Modul-Belastung haben.
It should be noted that all lines are three modules
drive, except for the signals BCLOCK 3 and 4. At the
Under consideration, these two signals drive shorter stretches of the back wiring so that they
have an additional module load.

DCOK H: Dieses Signal wird von dem System-Steuer-Modul· 60 und dem Netzteil· ausgewertet, um die gesamte Hardware des Systems mit Ausnahme ihrerseibst zurückzusetzen. Bei dem Signal DCOK H gehen a^e Systemzustände verloren. Dies geschieht gewöhnlich im Anschluß an die Netzeinschaltung, nach einem nicht behebbaren Systemfehler oder wenn die Gleichstromversorgung aus dem Toleranzbereich herauswandert.DCOK H: This signal is evaluated by the system control module · 60 and the power supply · in order to ensure the entire Reset the system hardware except for yourself. With the signal DCOK H, all system states go lost. This usually happens after the power is switched on, after an unrecoverable one System failure or if the DC power supply drifts out of tolerance.

-64--64-

A 46 929 bA 46 929 b

k - 176 - 64 -k - 176 - 64 -

24. Februar 1986February 24, 1986

POWERFAIL L: Dieses Signal wird vom Netzteil gesendet. Es zeigt/ daß die Wechselspannung ausfällt und daß mindestens drei ms mit ausreichender Gleichspannung verbleiben, ehe das Signal DCOK H ausfällt. Die nachfolgende Matrix definiert die möglichen Kombinationen der Signale POWERFAIL L und DCOK H:POWERFAIL L: This signal is sent by the power supply. It shows / that the AC voltage fails and that at least three ms with sufficient DC voltage remain before the DCOK H signal fails. The following matrix defines the possible combinations of the signals POWERFAIL L and DCOK H:

DCOK H POWERFAIL L INDIKATIONDCOK H POWERFAIL L INDICATION

gesetzt gesetzt Spannungsausfallset set power failure

gesetzt nicht gesetzt normale Operationset not set normal operation

nicht gesetzt gesetzt Rücksetzen beimnot set set reset at

Einschaltenturn on

nicht gesetzt nicht gesetzt Rücksetzen dernot set not set reset the

Softwaresoftware

SCMNMI L: Dieses Signal wird von einem Modul im System gesetzt, welcher einen nicht maskierbaren Interrupt-Befehl zum Diagnose-Prozessor des System-Steuer-Moduls 60 erwirken möchte. Wenn das Signal gesetzt ist, frieren alle Module ihre Bus-Schnittstellen ein und lösen lokale, nicht maskierbare Interrupt-Befehle aus. Dieses Signal ist synchron mit dem Systemsignal BCLOCK. Es muß von jedem Modul an der Vorderflanke des Signals ENDATA gesetzt und für mindestens einen größeren Zyklus gehalten werden. Alle Module tasten das Signal SCMNMI L bei Auftreten der Vorderflanke des Signals CKDATA ab.SCMNMI L: This signal is set by a module in the system that sends a non-maskable interrupt command to the diagnostic processor of the system control module 60 would like to achieve. When the signal is set, freeze all modules use their bus interfaces and trigger local, non-maskable interrupt commands. This signal is synchronous with the system signal BCLOCK. It must be set by each module on the leading edge of the ENDATA signal and held for at least one major cycle. All modules key the signal SCMNMI L when it occurs the leading edge of the CKDATA signal.

-65--65-

Λ fe β -Λ fe β -

A 46 929 bA 46 929 b

k - 176 - 65 -k - 176 - 65 -

24. Februar 1986February 24, 1986

UNFREEZE η L: Dieses Signal wird von dem Diagnose-Prozessor 62 des System-Steuer-Moduls gesetzt, um die Bus-Schnittstelle eines Anforderungsmoduls freizugeben. Obwohl das Setzen dieses Signals die Bus-Schnittstelle des ausgewählten Moduls freigibt, lässt es den Daten-Cache-Speicher, den Bus-Parity-Check und die Verriegelungslogik gesperrt. Diese Logik wird wieder freigegeben, wenn der System-Steuer-Modul 60 das Signal UNFREEZE L aufhebt. Dieses Ereignis kann von einem Anforderungsmodul überwacht werden, indem er die UNFREEZE L-Leitung in einem lokalen CSR lesbar macht. Es sind insgesamt 11 UNFREEZE L-Signalleitungen vorhanden - eine für jede Anforderungseinheit, außer für den System-Steuer-Modul selbst.UNFREEZE η L: This signal is set by the diagnostic processor 62 of the system control module in order to determine the Enable the bus interface of a request module. Although setting this signal the bus interface of the selected module, it leaves the data cache memory, the bus parity check and the interlocking logic are blocked. This logic is released again, when the system control module 60 cancels the UNFREEZE L signal. This event can be from a Requirement module can be monitored by making the UNFREEZE L-line readable in a local CSR. There are a total of 11 UNFREEZE L signal lines - one for each request unit, except for the system control module itself.

TESTRACK L: Dieses Signal ist nicht mit dem Multiprozessor-System verbunden. Jeder Modul muß einen PuIlup-Widerstand an dieser Leitung haben. Wenn der Modul in den Einbrenn-Prüfrahmen eingesetzt wird, dann wird der Steckverbinder, der an ihm angesteckt wird, diesen Stift erden. Dies ermöglicht dem Modul zu entscheiden, auf welche Weise er seine Selbstprüfung durchführen sollte.TESTRACK L: This signal is not related to the multiprocessor system tied together. Each module must have a pull-up resistor on this line. If the module is inserted into the burn-in test frame, then the connector that is plugged into it becomes this Ground pin. This enables the module to decide how to conduct its self-examination should.

ADDSEL η L: Diese Signale (n liegt zwischen 0 und 10) werden vom Adressenbus-Arbiter gesetzt, um den nächsten Modul auszuwählen, der ausgewählt werden wird, um seine Adresse auf den Adressenbus zu geben. Es ist zu beachten, daß der System-Steuer-Modul 60 keine Zugriffs-ADDSEL η L: These signals (n is between 0 and 10) are set by the address bus arbiter to select the next module that will be selected to be its To put the address on the address bus. It should be noted that the system control module 60 does not have any access

-66--66-

A 46 929 bA 46 929 b

k - 176 - 66 -k - 176 - 66 -

24. Februar 1986February 24, 1986

erlaubnisleitung hat , da er den Arbiter enthält. Diese Signale sind nicht codiert - es gibt eine Zugriffs-Erlaubnis leitung pro Anforderungseinheit.has permission line because it contains the arbiter. These Signals are not coded - there is an access permit line per requirement unit.

DATASEL η L: Eines dieser Signale wird von dem Datenbus-Arbiter gesetzt, um den nächsten Modul auszuwählen, der ausgewählt werden wird, um seine Daten auf den Datenbus zu geben. Jede der DATASEL L-Leitungen ist mit einem der Module verbunden. Die DATASEL-Leitungen 0-7 sind jeweils mit den Speichermodulen 0 bis 7 verbunden. Die Leitung DATASEL 8 L ist mit dem Bus-Adapter 99 verbunden,und die Leitung DATASEL 9 ist mit dem LAmP-Modul 200 verbunden.DATASEL η L: One of these signals is sent by the data bus arbiter set to select the next module that will be selected to add its data to the To give data bus. Each of the DATASEL L lines is connected to one of the modules. The DATASEL lines 0-7 are connected to memory modules 0 to 7, respectively. The DATASEL 8 L cable is connected to the bus adapter 99 connected, and the line DATASEL 9 is connected to the LAmP module 200.

Zusätzlich zu dem Datenbus 102 und dem Adressenbus 104 umfasst der Systembus 100 einen Vektorbus 106. Dieser Vektorbus ist verantwortlich für die übertragung von Vektor-Interrupt-Signalen zwischen den Modulen in jedem lokalen System 10. Alle Bus-Anforderungseinheiten können Interrupts für die anderen Anforderungseinheiten bewirken, und daher müssen alle Anforderungseinheiten Zugriff zu dem Vektorbus 106 haben. Der Vektorbus 106 gestattet nicht nur die Übertragung von Vektoren zwischen den Anforderungseinheiten, sondern er unterstützt auch die Entscheidung zwischen den Anforderungseinheiten für Klassen-Interrupts. Wenn eine Anforderungseinheit einen Interrupt-Befehl zu übermitteln wünscht, wird dieser zu einer Klasse vonIn addition to the data bus 102 and the address bus 104, the system bus 100 includes a vector bus 106. This vector bus is responsible for the transmission of vector interrupt signals between the modules in each local system 10. All bus request units can cause interrupts for the other request units, and therefore all request units must Have access to the vector bus 106. The vector bus 106 does not only allow transmission of vectors between the request units, but it also supports the decision between the Requirement units for class interrupts. When a request unit gives an interrupt command wishes to transmit, this becomes a class of

-67--67-

A 46 929 b k - 176A 46 929 b k - 176

24. Februar 1986February 24, 1986

- 67 -- 67 -

Anordnungen übertragen. Eine gerichtete Interrupt-Bezeichnung gestattet die Spezifizierung eines speziellen Anforderungsmoduls. In diesem Fall erfolgt die Vektorübertragung direkt, d.h. der Vektor geht geradewegs zu dem speziell ausgewählten Anforderungsmodul. Wenn dagegen ein Klassen-Interrupt-Befehl gegeben wird, müssen alle Anforderungseinheiten innerhalb dieser speziellen Klasse untereinander eine Ent-, scheidung treffen,und lediglich die Anforderungseinheit mit der niedrigsten Priorität kann den Interrupt-Befehl entgegennehmen. Die letztgenannte Funktion wird durch ein Parallel-Entscheidungsschema erreicht, welches nachstehend noch beschrieben wird.Transfer orders. A directed interrupt designation allows the specification of a special requirements module. In this case it takes place the vector transfer direct, i.e. the vector goes straight to the specially selected request module. If, on the other hand, a class interrupt command is given all requirement units within this special class must make a decision, and only the requirement unit with the lowest priority can receive the interrupt command. The latter function will achieved by a parallel arbitration scheme, which will be described below.

Der Vektorbus 106 gestattet außerdem die Übertragung von Vektoren durch den LAmP-Schnittstellen-Modul 200 hindurch zu einem anderen System 10. Dies kann in der Weise geschehen, daß man auf eine ganze Klasse in einem anderen System abzielt, oder indem man eine bestimmte Anforderungseinheit in einem anderen System spezifiziert.The vector bus 106 also allows the transfer of vectors through the LAmP interface module 200 through to another system 10. This can be done in the Ways happen that one targets an entire class in another system, or by targeting a particular one Requirement unit specified in another system.

Der Vektorbus 106 ist ein Bus, welcher zwölf offene Kollektor-Signalleitungen und zwei TTL-Signalleitungen umfasst. Zehn der offenen Kollektor-Signalleitungen werden als Vektor-Datenleitungen verwendet; eine offene Kollektor-Signalleitung wird als LAmP-Wähl/Bus-Adapter-Anforderungsleitung verwendet, und die andere offene Kollektor-Signalleitung wird als Quittierleitung ver-The vector bus 106 is a bus that has twelve open collector signal lines and two TTL signal lines includes. Ten of the open collector signal lines are used as vector data lines; an open one The collector signal line is called the LAmP selection / bus adapter request line used, and the other open collector signal line is used as an acknowledgment line.

-68--68-

A 46 929 bA 46 929 b

k - 176 - 68 -k - 176 - 68 -

24. Februar 1986February 24, 1986

wendet. Die beiden TTL-Signalleitungen sind Vektorbus-Phasenleitungen. Die Steuerung des Vektorbusses erfolgt durch einen Arbiter-Controller, welcher Bestandteil des System-Steuer-Moduls 60 ist. Dieser Controller bestimmt auch die Phasenlage auf dem Bus.turns. The two TTL signal lines are vector bus phase lines. The vector bus is controlled by an arbiter controller, which is a component of the system control module 60 is. This controller also determines the phase position on the bus.

Der Bus 106 durchläuft drei Typen von Takt-Zyklen: einen Leerlauf-Zyklus, einen gerichteten Vektor-Zyklus und einen Klassen-Vektor-Zyklus. Wenn der Vektor-Bus 106 leerläuft, d.h. wenn keine Anforderungseinheiten Zugriff zu diesem Bus fordern, werden die nachfolgend angegebenen Operationen wiederholt durchgeführt, bis eine Anforderungseinheit während der Anforderungsphase (wie dies in Fig. 11 gezeigt ist) eine Anforderung abgibt: The bus 106 goes through three types of clock cycles: one Idle cycle, a directed vector cycle, and a class vector cycle. If the vector bus 106 idles, i.e. if no request units request access to this bus, the following specified operations performed repeatedly until a request unit issues a request during the request phase (as shown in Fig. 11):

1. Anforderung des Busses 1 Bus-Zyklus1. Request of the bus 1 bus cycle

2. Zuteilung des Busses 1 Bus-Zyklus2. Allocation of the bus to 1 bus cycle

3. Leerlauf 1 Bus-Zyklus.3. Idle 1 bus cycle.

Bei der Durchführung der Übertragung eines gerichteten Vektors werden die folgenden Operationen durchgeführt (wie dies in Fig. 12a gezeigt ist):In performing the directional vector transfer, the following operations are performed (as shown in Fig. 12a):

1. Anforderung 1 Bus-Zyklus1. Request 1 bus cycle

2. Zuteilung des Busses 1 Bus-Zyklus2. Allocation of the bus to 1 bus cycle

3. Übertragung des Vektors 2 Bus-Zyklen3. Transmission of the vector 2 bus cycles

4. Quittierung des Empfangs4. Acknowledgment of receipt

des Vektors 1 Bus-Zyklus.of the vector 1 bus cycle.

-69--69-

36062ΐΊ36062ΐΊ

A 46 929 bA 46 929 b

k - 176 - 69 -k - 176 - 69 -

24. Februar 1986February 24, 1986

Wenn es sich bei der Vektor-Übertragung um die Übertragung eines Klassen-Interrupt-Vektors handelt, werden die folgenden Operationen durchgeführt (wie dies in Fig. 12b gezeigt ist):If the vector transmission is the transmission of a class interrupt vector, the following operations are performed (like this shown in Fig. 12b):

1. Anforderung des Busses 1 Bus-Zyklus1. Request of the bus 1 bus cycle

2. Zuteilung des Busses 1 Bus-Zyklus2. Allocation of the bus to 1 bus cycle

3. Übertragung des Vektors 2 Bus-Zyklen3. Transmission of the vector 2 bus cycles

4. Entscheidung des Prozessors, welche Einheiten den Vektor4. Decision of the processor, which units the vector

akzeptieren muß 4 Bus-Zyklen (maximal)must accept 4 bus cycles (maximum)

5. Quittierung des Empfangs des5. Acknowledgment of receipt of the

Vektors 1 Bus-Zyklus.Vector 1 bus cycle.

Alle Übertragungen über den LAmP-Schnittstellen-Modul 200 zu einem anderen System 10 als demjenigen, in dem sich die Anforderungseinheit befindet, gehen unabhängig vom Typ derselben durch einen Vektor-Bus-Zyklus, als ob sie gerichtete Übertragungen wären.Dies liegt daran, daß eine Übertragung nur von der Anforderungseinheit zu dem LAmP-Modul 200 stattfindet, und daß der LAmP-Modul 200 den richtigen Vektor-Bus-Zyklus in dem als Ziel angegebenen lokalen System 10 durchführt. Eine Übertragung zu einem nicht-lokalen System wird dadurch identifiziert, daß das LAmP-Wählsignal während zweier Vektor-Bus-Übertragungen gesetzt wird. Ein Vektor-Bus-Zyklus entspricht zwei System-Bus-Zyklen.All transmissions via the LAmP interface module 200 to a different system 10 than the one in which the request unit is, regardless of its type, going through a vector bus cycle, as whether they were directed transmissions. This is because a transmission can only be made by the requesting unit to the LAmP module 200 takes place, and that the LAmP module 200 performs the correct vector bus cycle in the local system 10 specified as the target. One Transmission to a non-local system is identified by the fact that the LAmP select signal during two Vector bus transfers is set. One vector bus cycle corresponds to two system bus cycles.

Zehn Anforderungseinheiten können AnforderungsleitungenTen requirement units can be requirement lines

-70--70-

A 46 929 bA 46 929 b

k - 176 - 70 -k - 176 - 70 -

24. Februar 1986February 24, 1986

setzen, um eine Entscheidung über den Zugriff zum Vektor-Bus zu erhalten. Auch der Bus-Adapter 99 kann eine Anforderungsleitung für die LAmP-Auswähl/Bus-Adapter-Anf orderungs leitung setzen. Da der System-Steuer-Modul 60 den Vektor-Bus-Arbiter enthält, muß er keine Bus-Signalleitung setzen, um den Vektor-Bus anzufordern. Die Gewährung des Zugriffs für die Module erfolgt auf derselben Leitung, auf der sie angefordert wurde.to get a decision about access to the vector bus. The bus adapter 99 can also a request line for the LAmP selection / bus adapter request set order management. Since the system control module 60 contains the vector bus arbiter, must he didn't put a bus signal line to the vector bus to request. Access to the modules is granted on the same line on which they are requested became.

Während eines Vektor-Datentransfer-Zyklus wird eine Anzahl von Stücken von Information über den Vektor-Bus auf Vektor-Datenleitungen 0 bis 9 übertragen, und zwar durch den Anforderungskreis, dem der Bus zugeteilt wurde. Diese Information ist in zwei Datenworten enthalten, wie dies in Fig.13 gezeigt ist. Die LAmP-Identifikations-Nummer 110, welche verwendet wird, wenn der Vektor von einem lokalen System gesendet oder empfangen wird, bei dem es sich um ein anderes System handelt als bei dem System, welches von dem Bus 100 bedient wird, der den Vektor trägt, ist eine Zahl mit vier bits. Zwei dieser bits 110a gehören zu dem ersten Datenwort 114, und die nächsten zwei dieser bits 110b gehören zu dem zweiten Datenwort 112. Das erste Datenwort 114 enthält zusätzlich zu den beiden ersten bits 110a der LAmP-Identifikations-Nummer eine Typ-Identifikations-Nummer 122, welche anzeigt, wie die SLOT ID/CLASS-bits 118 zu interpretieren sind. Wenn die Typ-Identifikations-Nummer 122 0 ist, d.h. wenn es sich um eine gerichtete Übertragung handelt,During a vector data transfer cycle, a number of pieces of information are passed on the vector bus on vector data lines 0 to 9, by the request circuit to which the bus is assigned became. This information is contained in two data words, as shown in FIG. The LAmP identification number 110, which is used when the vector is sent from a local system or is received which is a different system than the system used by the Bus 100 being served, which carries the vector, is a four-bit number. Two of these bits 110a belong to the first data word 114, and the next two of these bits 110b belong to the second data word 112. The In addition to the first two bits 110a of the LAmP identification number, the first data word 114 contains a Type identification number 122, which indicates how the SLOT ID / CLASS bits 118 are to be interpreted. When the type identification number 122 is 0, i.e. if the transfer is directed,

-71--71-

A 46 929 bA 46 929 b

k - 176 - 71 -k - 176 - 71 -

24. Februar 1986February 24, 1986

dann enthalten die SLOT ID/CLASS-bits 118 eine Zahl, die den Schlitz der rückwärtigen Ebene angibt, welcher den Modul enthält, welcher den Vektor empfangen soll. Wenn der Typ 1 ist, enthalten die SLOT ID/CLASS-bits die Klassen-Nummer des Vektors. Das erste Datenwort 114 enthält außerdem eine 3 bit-CPU-Identifikations-Nummer 120, die einen Prozessor eines Moduls in dem ausgewählten Schlitz identifiziert. Zusätzlich zu den beiden zweiten bits 110a der LAmP-Identifikations-Nummer enthält das zweite Datenwort außerdem eine Vektor-Identifikations-Nummer 116.then the SLOT ID / CLASS bits 118 contain a number, which indicates the slot of the back plane which contains the module which is to receive the vector. If the type is 1, the SLOT ID / CLASS bits contain the class number of the vector. The first data word 114 also contains a 3 bit CPU identification number 120, which identifies a processor of a module in the selected slot. In addition to the two second bits 110a of the LAmP identification number the second data word also contains a vector identification number 116.

Nachdem die Datenübertragungsphase stattgefunden hat, tritt einer von zwei Sätzen von Ereignissen ein, und zwar in Abhängigkeit vom Vektor-Typ, der übertragen wurde. Wenn ein gerichteter Vektor oder ein nichtlokaler System-Vektor irgendeiner Art übertragen worden ist, überträgt der aufgerufene Modul einfach den zuvor empfangenen Vektor zu seinem lokalen Prozessor und setzt das Signal VECTOR TAKEN. Wenn es sich um einen Klassen-Vektor gehandelt hat und wenn das LAmP-Wählsignal während der Vektor-Datenübertragung nicht gesetzt war, müssen die Anforderungsmodule eine Entscheidung über den Vektor treffen. Die Absicht des Entscheidungsschemas besteht darin, alle Module in derselben Klasse wie der übertragene Vektor freizugeben, um zu bestimmen, welcher der Module die niedrigste Priorität hat.After the data transfer phase occurs, one of two sets of events occurs, and depending on the type of vector that was transmitted. When a directed vector or a nonlocal system vector of some kind has been transmitted the called module simply transfers the previously received vector to its local processor and sets the VECTOR TAKEN signal. If it was a class vector and if the LAmP selection signal while the vector data transfer was not set, the request modules have to make a decision hit across the vector. The intent of the decision-making scheme is to have all modules in the same Enable class such as the transmitted vector to determine which of the modules has the lowest priority Has.

-72--72-

A 46 929 bA 46 929 b

k - 176 - 72 -k - 176 - 72 -

24. Februar 1986February 24, 1986

Eine Modul-Priorität wird durch folgende Information bestimmt/ welche auf die 8 Vektor-Datenleitungen gegeben wird/ die in dem Diagramm gemäß Fig. 14 gezeigt sind. Die Silotiefe oder FIFO-Queue-Zählbits 124 zeigen, daß ein oder mehrere Vektoren nacheinander in den Prozessor eingespeist wurden. Die Silotiefe-bits gestatten eine gleichmäßige Verteilung der Vektoren auf die Anforderungseinheiten innerhalb einer Klasse. Die Schlitzidentifikations-Nummer 128 zeigt an, in welchem Schlitz der Modul angeordnet ist. Das Entscheidungsschema ist ein Parallel-Entscheidungsverfahren, bei dem ein Modul die gesamte vorstehend angegebene Information auf einen Bus mit offenem Kollektor gibt und die vom Bus tatsächlich empfangene Information mit der Information vergleicht/ die er ausgibt. Dieser Vergleich wird mit dem bit höchster Ordnung gestattet und bis zum bit niedrigster Ordnung abgearbeitet. Wenn eine mangelnde Übereinstimmung zwischen dem, was ausgegeben wird, und dem, was sich auf dem Bus befindet, festgestellt wird, blendet der Modul die Aussendung aller bits geringerer Wertigkeit aus. Da in der Entscheidungsinformation eine Modul-Schlitz nummer enthalten ist, ist garantiert, daß nur ein Modul jeweils den Entscheidungsprozess gewinnt, selbst wenn zwei Module dieselbe Priorität und InBetrieb-Einstellung haben. Dieser Vergleichs- und Ausscheidungsprozess erfolgt asynchron, weshalb für die Vektor-Empfangsentscheidung vier Bus-Zyklen vorgesehen sind, die der maximalen Zeit entsprechen, die erforderlich ist, um die Entscheidungsleitungen zu erledigen .A module priority is determined by the following information / which is given to the 8 vector data lines is / are shown in the diagram of FIG. The silo depth or FIFO queue counting bits 124 show that one or more vectors have been fed into the processor in succession. Allow the silo depth bits an even distribution of the vectors among the requirement units within a class. The slot identification number 128 indicates in which slot the module is placed. The decision-making scheme is a parallel decision-making process, in which a module all of the above information on a Bus with open collector and compares the information actually received from the bus with the information / which he spends. This comparison is allowed with the highest order bit and down to the lowest bit Order processed. When there is a mismatch between what is being spent and what is found on the bus, the module masks the transmission of all bits of lesser significance the end. Because in the decision information a module slot number is included, it is guaranteed that only one module wins the decision-making process at a time, even if two modules have the same priority and operational setting. This comparison and elimination process takes place asynchronously, which is why four bus cycles are provided for the vector reception decision corresponding to the maximum time required to complete the decision lines .

-73--73-

A 46 929 bA 46 929 b

k - 176 - 73 -k - 176 - 73 -

24. Februar 1986February 24, 1986

Der System-Bus 100 überträgt Adressen- und Daten-Information während eines größeren Zyklus des Busses. Die Datenübertragungen durch den Bus 100 machen einen Zeitgabe-Impuls und eine Takt-Flanke erforderlich. Der Zeitgabe-Impuls wird genutzt, um die laufenden Bus-Treiber zu sperren, einen neuen Bus-Treiber auszuwählen und den neuen Bus-Treiber wieder freizugeben. Die Takt-Flanke wird benutzt, um die Daten an allen verbleibenden Modulen des Systems einzutakten.The system bus 100 carries address and data information during a major cycle of the bus. The data transfers through bus 100 require a timing pulse and a clock edge. The timing pulse is used to block the current bus driver and to select a new bus driver and enable the new bus driver again. The clock edge is used to pass the data at all clock in the remaining modules of the system.

Die Genauigkeit der Verteilung dieser Zeitgabe-Signale ist entscheidend für die Leistung auf dem Bus 100. Es ist nicht möglich, diese Flanken mit der geforderten Genauigkeit zu verteilen, und zwar aufgrund der kapazitiven Verzögerung auf dem Bus, aufgrund der Verschiebung zwischen den Gattern an unterschiedlichen Modulen, aufgrund von Schwellwert-Änderungen an den Gattern usw. Daher besteht dasjenige Schema, welches für den Bus 100 gemäß der Erfindung gewählt wird, darin, nur eine Zeitgabe-Signalflanke über das system zu verteilen. Diese Flanke wird verwendet, um eine Verzögerungsleitung/Impulsgenerator-Einheit zu triggern, welche eine exakt gesteuerte Impulserzeugung gestattet. Das Diagramm gemäß Fig. 15 zeigt die Theorie des Zeitgabe-Impulses und der Zeitgabe- bzw. Taktimpuls-Flanke, die von der Verzögerungsleitung erzeugt werden. Das Signal ENDATA L ist dasjenige Signal, welches den Bus-Treiber-Sperrimpuls 132 erzeugt, welcher auf die nächste Treiberauswahl· taktet. Der Impul·s 132 muß eine Impuls-The accuracy of the distribution of these timing signals is critical to performance on bus 100. It is not possible to distribute these edges with the required accuracy because of the capacitive delay on the bus, due to the shift between the gates on different modules, due to threshold changes on the Gates, etc. Therefore, the scheme which is chosen for the bus 100 according to the invention is, to distribute only one timing signal edge over the system. This edge is used to create a delay line / pulse generator unit to trigger, which allows a precisely controlled pulse generation. The diagram of Fig. 15 shows the theory of the timing pulse and the timing edge generated by the delay line. That The ENDATA L signal is the signal that triggers the bus driver lock pulse 132 is generated, which clocks for the next driver selection. The pulse s 132 must be a pulse

A 46 929 bA 46 929 b

k - 176 - 74 -k - 176 - 74 -

24. Februar 1986February 24, 1986

breite haben, die groß genug ist, um alle bei seinem Auftreten laufenden Treiber abzuschalten, ehe der nächste Treiber eingeschaltet wird. Die Rückflanke des Impulses 132 dient der erneuten Freigabe des nächsten Satzes von Treibern. Die Qualifikation erfolgt an jedem Modul, um das Signal EN BUF TO BUS L zu erzeugen. Ein Signal CKDATA H wird als Datentakt verwendet.width that is large enough to hold everyone at his Switch off the running driver before the next driver is switched on. The trailing edge of pulse 132 is used to re-enable the next set of drivers. The qualification takes place on each module to generate the EN BUF TO BUS L signal. A signal CKDATA H is used as a data clock used.

Die Analyse der zeitlichen Steuerung des Busses gemäß der Erfindung, die anhand von Fig. 16. erläutert wird, resultiert aus der Verwendung einer Verzögerungsleitung sowie aus einer elektrischen Analyse des schlechtesten Falles (worst case) hinsichtlich der Bus-Verzerrung und der Schwellwert-Änderungen. Beim Lesen des Diagramms der Analyse des zeitlichen Ablaufs bemerkt man, daß das Signal CKDATA H für den vorausgehenden Zyklus, bezogen auf das Signal ENDATA L, anwendbar ist. Außerdem sind zwei Impulse BUS TRANSFER ENABLE 1H und TRANSFER ENABLE 2H vorhanden. Diese Impulse werden benötigt, um den Modulen eine zuverlässige interne Übertragung der Daten zu ermöglichen, die vom Systembus 100 empfangen wurden.The analysis of the timing of the bus according to the invention, which is explained with reference to FIG results from the use of a delay line as well as from an electrical analysis of the worst case with regard to bus distortion and threshold value changes. At the Reading the diagram of the analysis of the timing, it is noted that the signal CKDATA H for the previous Cycle, based on the ENDATA L signal, is applicable. In addition, two impulses are BUS TRANSFER ENABLE 1H and TRANSFER ENABLE 2H available. These pulses are required to ensure that the modules run reliably to enable internal transmission of the data received from system bus 100.

Die Schaltung zur Erzeugung der verzögerten Impulse, die in Fig. 15 und 16 gezeigt sind, ist in Fig. 17 gezeigt. Die Verzögerungsschaltung wird mit dem Bus-Takt BCLOCK η L getaktet, welcher an die Verzögerungsleitung über ein NAND-Gatter 136 angelegt wird, dessen The circuit for generating the delayed pulses shown in Figs. 15 and 16 is in Fig. 17 shown. The delay circuit is clocked with the bus BCLOCK η L clocked, which is applied to the delay line via a NAND gate 136, whose

-75--75-

A 46 929 bA 46 929 b

k - 176 - 75 -k - 176 - 75 -

24. Februar 1986February 24, 1986

anderer Eingang von der Verzögerungsleitung 140 gespeist wird. Der Ausgang des NAND-Gatters 136 wird der Verzögerungsleitung 140 und dem Eingang von NOR-Gattern 138 zugeführt. Die zweiten Eingangssignale für die NOR-Gatter 138 werden über den Anschluß LOCAL ENABLE L gespeist. Die Ausgänge der fünf NOR-Gatter 138 liefern die CKDATA Η-Signale. Ein weiteres Ausgangssignal der Verzögerungsleitung 140 wird einem NAND-Gatter 142 zugeführt. Das zweite Eingangssignal für das NAND-Gatter 142 wird von einem D-Flip-Flop geliefert/ dessen Datenleitung (D-<Eingang) mit dem Anschluß LOCAL SELECT H verbunden ist. Das NAND-Gatter 142 liefert das Freigabe-Signal für das Schreiben von Daten an das Bus-Signal. Ein weiteres Ausgangssignal der Verzögerungsleitung 140 wird einem NAND-Gatter zugeführt/ dessen zweites Eingangssignal von einem D-Flip-Flop 148 geliefert wird, welches als Datensignal das Signal ADDSEL empfängt. Das NAND-Gatter liefert das Signal EN BUF TO BUS L. Das letzte Ausgangssignal der Verzögerungsleitung 140 wird NAND-Gattern 150 zugeführt, deren jeweils andere Eingänge mit einer 5 V-Spannungsquelle verbunden sind. Die NAND-Gatter 150 liefern die Signale BUS TRANSFER ENABLE 1H und BUS TRANSFER ENABLE 2H.other input fed by delay line 140 will. The output of NAND gate 136 becomes delay line 140 and the input of NOR gates 138 supplied. The second input signals for the NOR gates 138 are fed via the LOCAL ENABLE L connection. The outputs of the five NOR gates 138 provide the CKDATA Η signals. Another output signal the delay line 140 is fed to a NAND gate 142. The second input signal for the NAND gate 142 is supplied by a D flip-flop / its data line (D- <input) with the connection LOCAL SELECT H is connected. The NAND gate 142 provides the enable signal for the writing of Data to the bus signal. Another output signal the delay line 140 is fed to a NAND gate / its second input signal from a D flip-flop 148 is supplied, which as a data signal receives the ADDSEL signal. The NAND gate supplies the signal EN BUF TO BUS L. The last output signal the delay line 140 is fed to NAND gates 150, whose respective other inputs are connected to a 5 V voltage source. The NAND gates 150 provide the BUS TRANSFER signals ENABLE 1H and BUS TRANSFER ENABLE 2H.

System-SpeicherSystem memory

Der System-Speicher des Multiprozessor-Computersystems gemäß der Erfindung umfasst zwei unabhängige Speicher-The system memory of the multiprocessor computer system according to the invention comprises two independent storage

-76--76-

A 46 929 bA 46 929 b

k - 176 - 76 -k - 176 - 76 -

24. Februar 1986February 24, 1986

bänke 41, ein Steuer- und Status-Register (CSR) 48 und einen zugehörigen Diagnose-Prozessor 46 für eine Selbstprüfung. Die Adressierstruktur stützt eine Verschachtelung auf vier Wegen zwischen Speicher-Modulenbanks 41, a control and status register (CSR) 48 and an associated diagnostic processor 46 for a Self-examination. The addressing structure supports nesting in four ways between storage modules

40 von äquivalenter Größe. Die Modul-Verschachtelung wird durch. CSR-bits 12 und 13 gesteuert und erfolgt automatisch zwischen den Bänken. Die Speicherbus-Schnittstelle ist ein integraler Bestandteil des Bussystems 100 und kann als solche als eine Verlängerung des Busses angesehen werden. Der interne Bus 154 des Systemspeichers 4O7 BUF DATA, arbeitet mit der doppelten Datenrate auf dem Bus 100. Gelesene.Daten werden von einer Speicherbank 41 oder dem CSR-Register 48 zu Bus-Schnittstellen-Puffern übertragen, wenn das Signal ENDATA negiert ist. Schreibdaten werden von der Bus-Schnittstelle übertragen, wenn das Signal CLKDATA negiert ist. Diese Architektur ermöglicht dem Speichersystem, sowohl Lese- als auch Schreibdaten zwischen der Bus-Schnittstelle 165 und den Speicherbänken (oder dem CSR-Register) innerhalb eines einzigen größeren Bus-Zyklus zu übertragen.40 of equivalent size. The module nesting is made possible by. CSR bits 12 and 13 are controlled and carried out automatically between the banks. The memory bus interface is an integral part of the bus system 100 and as such can be viewed as an extension of the bus. The internal bus 154 of the system memory 40 7 BUF DATA operates at twice the data rate on the bus 100. Read data is transferred from a memory bank 41 or the CSR register 48 to bus interface buffers when the ENDATA signal is negated. Write data are transmitted by the bus interface when the CLKDATA signal is negated. This architecture enables the memory system to transfer both read and write data between the bus interface 165 and the memory banks (or the CSR register) within a single larger bus cycle.

Wie in dem vereinfachten Blockdiagramm des Speichersystems in Fig. 3 dargestellt, sind die SpeicherbänkeAs shown in the simplified block diagram of the memory system in Figure 3, the memory banks are

41 und das Register 48 getrennte Untersysteme, die über Schnittstellen an einen internen Bus 154 angeschlossen sind. Der interne Bus 154 wird durch eine Bus-Schnittstellensteuerung 156 oder durch den integrierten Diagnose-Prozessor 46 getrieben. Wenn der41 and the register 48 are separate subsystems, which are connected to an internal bus 154 via interfaces are. The internal bus 154 is established by a bus interface controller 156 or by the integrated Diagnostic processor 46 driven. If the

-77--77-

A 46 929 bA 46 929 b

k - 176 - 77 -k - 176 - 77 -

24. Februar 1986February 24, 1986

Diagnose-Prozessor 46 mit dem internen Bus 154 verbunden ist, wird der Speicher für die Bus-Schnittstellensteuerung 156 unsichtbar. Daher muß der System-Diagnose-Prozessor 46 einen Zeit-Aus-Mechanismus implementieren, wann immer der Selbsttest durch Anschreiben zum CSR-bit 15 eingeleitet wird. Da das CSR-Register 48 bei dieser Betriebsart nicht verfügbar ist, implementiert die Datenbus-Anforderungslogik einen Prioritätsmechanismus, durch den Datenübertragungen auf dem internen Datenbus 156 bezüglich der Datenverfügbarkeit der einzelnen Bänke synchronisiert werden. Die Parität der Adressen von der B \s-Schnittstellensteuerung 156 wird an den Empfängern geprüft, und die Adresse wird, wenn ein Fehler vorliegt, als nicht existent betrachtet. Die Parität der Schreibdaten wird in der Schreibdaten-Paritätsprüflogik 49 geprüft. Wenn ein Fehler festgestellt wird, dann werden die Schreibdaten verworfen, und es wird das Signal WRITE DATA PARITY ERROR L gesetzt. Die Parität der Lesedaten wird lokal bei jedem üntersystem erzeugt. Die Parität des ADDID-Feldes wird nicht geprüft; das Signal ADDIDP wird lediglich izu dem Signal DESTSELP für CSR-Bezugsgrößen kopiert oder es wird das Komplement von DESTSELP für Speicher-Bezugsgrößen gebildet. Dies ist erforderlich, da das Signal DESTSELP bei dem Signal NOCACHE Parität besitzt.Diagnostic processor 46 is connected to the internal bus 154, the memory for the bus interface controller 156 is invisible. The system diagnosis processor 46 must therefore implement a time-out mechanism whenever the self-test is initiated by writing to CSR bit 15. Since the CSR register 48 is not available in this operating mode, the data bus request logic implements a priority mechanism by means of which data transfers on the internal data bus 156 are synchronized with regard to the data availability of the individual banks. The parity of the addresses from the B \ s interface controller 156 is checked at the receivers and, if there is an error, the address is considered nonexistent. The parity of the write data is checked in the write data parity check logic 49. If an error is detected, the write data is discarded and the signal WRITE DATA PARITY ERROR L is set. The parity of the read data is generated locally in each subsystem. The parity of the ADDID field is not checked; the ADDIDP signal is only copied to the DESTSELP signal for CSR reference variables or the complement of DESTSELP is formed for memory reference variables. This is necessary because the DESTSELP signal has parity with the NOCACHE signal.

Wie Fig. 11 zeigt, umfasst jede Speicherbank 41 zweiAs Fig. 11 shows, each memory bank 41 comprises two

-78--78-

"36062 Ϊ1"36062 Ϊ1

A 46 929 bA 46 929 b

k - 176 - 78 -k - 176 - 78 -

24. Februar 1986February 24, 1986

Reihen von RAM-Speichern/ die mit einem einzigen bidirektionalen Datenbus 160 verbunden sind. Die Schnittstellenverbindung mit diesem internen Bus erfolgt über einen Fehlererkennungs- und Korrektur-Chip (EDAC) gemeinsam mit der Parity-Logik 164 zum Erzeugen und Prüfen der Parität für den Systembus 100. Auf dem Bus 100 gibt es keine Fehlerkorrektur-Code-bits. Die Lesedaten-Parität wird in der Paritätslogik 164 erzeugt und über BUF DATA zu der Busschnittstelle 165 übertragen. Die Schreibdaten-Parität wird durch die Logik 49 geprüft,und bei Fehlern wird das Signal WRITE DATA PARITY ERROR L gesetzt,und der Schreibzyklus wird zu einem Auffrisch-Zyklus abgewandelt. Das CSR-Register 48 wird mit dem Signal ADDID der Übertragung aufda-. tiert. Der Diagnose-Prozessor 46 verwendet DATAP-Leitungen, um Prüf-bits und/oder Syndrome zwischen den Speicherbänken und seiner Datenschnittstelle zu übertragen. Die Zeitfolge-Steuerung jeder der Speicherbänke 120 erfolgt durch getrennte Steuerungen 166, welche unabhängig arbeiten. Bei dem derzeit bevorzugten Ausführungsbeispiel sind die Steuerungen bzw. Controller als Status-Sequenzer des Typs 82S105A ausgebildet. Zwei Einrichtungen werden pro Bank parallel betrieben, um genügend Steuer-Ausgangssignale zu erzeugen. Für jede Steuerung sind sieben Grundtypen von Zyklen definiert, und zwar wie folgt:Rows of RAM memories / those with a single bidirectional Data bus 160 are connected. The interface connection with this internal bus is via an error detection and correction chip (EDAC) along with parity logic 164 for generating and Check parity for system bus 100. There are no error correction code bits on bus 100. The read data parity is generated in the parity logic 164 and transmitted to the bus interface 165 via BUF DATA. The write data parity is checked by the logic 49, and in the event of errors the signal WRITE DATA PARITY ERROR L set and the write cycle becomes modified to a refresh cycle. The CSR register 48 is recorded with the signal ADDID of the transmission. animals. The diagnostic processor 46 uses DATAP lines to check bits and / or syndromes between to transfer the memory banks and its data interface. The timing control of each of the memory banks 120 is carried out by separate controllers 166 which operate independently. With the currently preferred The exemplary embodiment is the controls or controllers as status sequencers of the type 82S105A educated. Two devices are operated in parallel per bank in order to provide sufficient control output signals produce. Seven basic types of cycles are defined for each controller, as follows:

-79--79-

A 46 929 bA 46 929 b

k - 176 - 79 -k - 176 - 79 -

24. Februar 1986February 24, 1986

Zyklus ErläuterungCycle explanation

0 Auffrischen0 refresh

1 Bus-Schnittstelle - nur lesen1 bus interface - read only

2 Bus-Schnittstelle - lesen verriegeln 2 Bus interface - read lock

3 Bus-Schnittstelle - Langwort3 Bus interface - long word

schreibento write

4 Bus-Schnittstelle - schreiben4 bus interface - write

5 Diagnose-Kreis gesperrt -5 Diagnostic circuit blocked -

lesen korrigierenread correct

6 Diagnose-Kreis gesperrt -6 Diagnostic circuit blocked -

schreiben korrigieren.correct writing.

Wenn ein Zyklus 0 (Auffrischen) aktiviert wird, wird eine Bank 41 ausgewählt, wenn der Auffrisch-Zeitgeber eine Auffrischung verlangt. Ein Auffrisch-Zyklus hat stets Priorität gegenüber jeder in der Schwebe befindlichen Anfrage von der Bus-Schnittstelle 165 oder dem Diagnose-Prozessor 48. Wenn das Signal ECC EINLEITEN gesetzt wird, verriegelt die Steuerung das Ausgangsregister des Fehler-Erfassungs- und Korrektur-Chips (EDAC) 162 und erzwingt eine Betriebsart, bei der Prüfbits erzeugt werden. Auf diese Weise werden die zufälligen Inhalte des EDAC-Chip-Ausgaberegisters zusammen mit korrekten Prüfbits in den Speicher geschrieben. Anschließend wird dann der RAM-Zeitgeber getriggert, so daß das Einschreiben in die RAM-Speicher 168 erfolgt. Wenn die Initialisierung von ECC nicht wirksam ist,werden die Inhalte der aufgefrischten AdressenWhen cycle 0 (refresh) is activated, bank 41 is selected when the refresh timer requires a refresher. A refresh cycle always has priority over anyone pending Request from the bus interface 165 or the Diagnostic Processor 48. When the INITIATE ECC signal is asserted, the controller locks the output register of the error detection and correction chip (EDAC) 162 and enforces an operating mode in which check bits be generated. In this way the random contents of the EDAC chip output register are put together written into memory with correct check bits. Then the RAM timer is triggered, so that the writing into the RAM memory 168 takes place. If the initialization of ECC does not take effect is the contents of the updated addresses

-80--80-

A 46 929 bA 46 929 b

k - 176 - 80 -k - 176 - 80 -

24. Februar 1986February 24, 1986

gelesen und auf dem EDAC-Chip 162 gespeichert. Wenn die Fehler-Abtastung freigegeben wird, werden die Daten nach Fehlern geprüft. Einzel-bit-Fehler werden korrigiert und an den Speicher zurückgemeldet. Mehrfache bit-Fehler werden ignoriert.read and stored on the EDAC chip 162. if error scanning is enabled, the data is checked for errors. Single-bit errors will be corrected and reported back to the memory. Multiple bit errors are ignored.

Ein Zyklus 1 (nur lesen) wird eingeleitet, wenn die betreffende Bank 41 ihren Adressenspeicher geladen hat und wenn kein Auffrisch-Zyklus in der Schwebe ist. Wenn die Bank im Augenblick nicht beschäftigt ist, wird der RAM-Zeitgeber durch die Adressenladelogik getriggert. Parallel dazu wird der Bank-Sequenzer 166 gestartet. Wenn die Bank 41 im Augenblick beschäftigt ist, wird der RAM-Zeitgeber von dem Sequenzer 166 auf einen beschäftigt-zu-unbeschäftigt-Übergangs-Zustand getriggert. Während eines Zyklus "nur lesen" erfolgt der Zugriff auf die ausgewählte Reihe von RAM-Speichern, und die Lese-Daten, die auf dem EDAC-Chip 162 und in den Bank-zu-Puffer-Datenregisters 170 gespeichert sind. Der Sequenzer 166 bzw. die Steuerung erzeugt eine Anforderung, die gelesenen Daten über die Bus-Schnittstelle 165 parallel zur Prüfung der Daten auf Fehler zu übertragen. Wenn keine Fehler vorhanden sind, werden die zuvor geladenen RAM-Daten zu der Bus-Schnittstelle 165 übertragen, andernfalls wird der Datenschutz bei Gewährung gelöscht, und die korrigierten Daten (wenn es sich um Einzel-bit-Fehler handelt) werden von dem EDAC-Chip 162 erneut in die Bank-zu-Puffer-A cycle 1 (read only) is initiated when the relevant bank 41 loads its address memory and if there is no refresh cycle pending. If the bank isn't busy right now, the RAM timer is triggered by the address load logic. In parallel, the bank sequencer 166 started. If the bank 41 is currently busy, the RAM timer from the sequencer 166 will be on triggered a busy-to-idle transition state. "Read only" occurs during a cycle the access to the selected row of RAM memories, and the read data stored on the EDAC chip 162 and in the bank-to-buffer data registers 170 are stored. The sequencer 166 or the controller generates a request the data read via the bus interface 165 in parallel with the checking of the data for errors transferred to. If there are no errors, the previously loaded RAM data are transferred to the bus interface 165 transferred, otherwise data protection deleted when granted, and the corrected data (if it is a single-bit error) will be from the EDAC chip 162 again into the bank-to-buffer

-81--81-

A 46 929 bA 46 929 b

k - 176 - 81 -k - 176 - 81 -

24. Februar 1986February 24, 1986

Register 170 geladen. Nicht korrigierbare Datenfehler werden mit Hilfe des CSR-Registers 48 aufgezeichnet.Register 170 loaded. Incorrectable data errors are recorded using the CSR register 48.

Ein Zyklus 2 (read interlock) ist grundsätzlich ein Lesevorgang, an den sich automatisch ein Einschreiben am selben Speicherplatz anschließt. Mit anderen Worten handelt es sich bei dieser Operation also um einen internen Lesen-Modifizieren-Schreiben-Zyklus auf der Bankebene. Während dieses Zyklus führt eine Speicherbank 41 eine Leseoperation durch, die identisch mit dem Zyklus 1 (nur Lesen) ist, der oben erläutert wurde, und sendet die Daten zu der Anforderungseinheit. Während der Schreibphase bewirkt die Banksteuerung 166, daß alle Einsen an dem byte-Speicherplatz eingeschrieben werden, der gerade ausgelesen wurde. Der Vorteil eines solchen Lesen-Modifizieren-Schreiben-Zyklus, welcher durch den Speichermodul 40 durchgeführt wird, besteht darin, daß automatische bit-Setzoperationen durchgeführt werden können, ohne den Bus zu bewegen, und einen weiteren Zugriff zum Bus zu verhindern.A cycle 2 (read interlock) is basically a read process that is automatically followed by a registered letter connects to the same storage location. In other words, this operation is one internal read-modify-write cycle on the Bank level. During this cycle, memory bank 41 performs a read operation identical to cycle 1 (read only) explained above and sends the data to the request unit. While During the write phase, the bank controller 166 causes all ones to be written to the byte storage location that has just been read out. The advantage of such a read-modify-write cycle, which is performed by the memory module 40 is automatic bit setting operations can be performed without moving the bus and prevent further access to the bus.

Bei einem Zyklus 3 (Langwort-Schreiben) werden Langwörter eingeschrieben, indem man 32 bits der Daten von dem Puffer-zu-Bank-Register 170 zusammen mit den richtigen Prüf-bits in den Speicher einschreibt.In cycle 3 (longword writing), longwords are written by taking 32 bits of data from writes the buffer-to-bank register 170 into memory along with the correct check bits.

Ein Zyklus 4 (byte schreiben) ist dem read-interlock-Zyklus 2 insofern ähnlich, als in beiden Fällen eineA cycle 4 (write byte) is the read-interlock cycle 2 is similar in that both cases have a

-82--82-

A 46 929 bA 46 929 b

k - 176 - 82 -k - 176 - 82 -

24. Februar 1986February 24, 1986

interne Lesen-Modifizieren-Schreiben-Operation ausgeführt wird. Der Inhalt des Speicherplatzes, auf den der Zugriff erfolgt, wird von den RAM-Speichern ausgelesen, auf dem EDAC-Chip 162 gespeichert und auf Fehler geprüft. Einzel-bit-Fehler werden, soweit vorhanden, automatisch korrigiert. Nicht korrigierbare Fehler werden signalisiert und in dem CSR-Register aufgezeichnet. Im Falle eines nicht korrigierbaren Fehlers wird auf die Schreiboperation verzichtet, und der Zyklus wird beendet. Wenn keine nicht korrigierbaren Fehler vorliegen, wird das zu schreibende byte von den Puffer-zu-Bank-Registern zusammen mit den ungeänderten bytes, erforderlichenfalls korrigiert, von dem EDAC-Chip 162 freigegeben und auf den RAM-Datenbus 160 gegeben. Das resultierende Wort wird zusammen mit den neuen Prüf-bits in den Speicher eingeschrieben. internal read-modify-write operation performed will. The content of the memory location to which access is made is read from the RAM memory, stored on the EDAC chip 162 and checked for errors. Single-bit errors, if any, are corrected automatically. Errors that cannot be corrected are signaled and in the CSR register recorded. In the case of an uncorrectable error, the write operation is dispensed with, and the cycle is ended. If there are no uncorrectable errors, the byte to be written from the buffer-to-bank registers along with the unchanged bytes, corrected if necessary, enabled by the EDAC chip 162 and placed on the RAM data bus 160. The resulting word will come together written into the memory with the new test bits.

Ein Zyklus 5 (Diagnoseeinheit sperren - lesen korrigieren) wird dazu benutzt, dem Diagnose-Prozessor das Lesen der RAM-Daten ohne Intervention durch den EDAC-Chip 162 zu ermöglichen. In entsprechender Weise dienen die Operationen des Zyklus 6 (Diagnosekreis sperren - schreiben korrigieren) zum Schreiben von Daten und Prüfbits, die in den Puffer-zu-Bank-Registern gespeichert sind, in den Speicher unter Umgehung des EDAC-Chips 162. Dieser Mechanismus gestattet dem Diagnose-Prozessor 46 alle Daten- oder Prüfbit-Muster zur PrüfungA cycle 5 (lock diagnostic unit - correct read) is used to set the diagnostic processor to allow the RAM data to be read without intervention by the EDAC chip 162. In a corresponding way the operations of cycle 6 (block diagnostic circuit - correct write) are used to write Data and check bits that are in the buffer-to-bank registers are stored into memory bypassing the EDAC chip 162. This mechanism allows the diagnostic processor 46 all data or check bit patterns for checking

-83--83-

A 46 929 bA 46 929 b

k - 176 - 83 -k - 176 - 83 -

24. Februar 1986February 24, 1986

des EDAC-Chips 162 in den Speicher einzuschreiben.of EDAC chip 162 into memory.

Während das Multiprozessor-Computersystem gemäß der Erfindung vorstehend anhand bevorzugter Ausführungsbeispiele beschrieben wurde, versteht es sich, daß dem Fachmann, ausgehend von dem Ausführungsbeispiel unter Berücksichtigung der Detailbeschreibung und der zugehörigen Zeichnungen zahlreiche Möglichkeiten für Änderungen und/oder Ergänzungen zu Gebote stehen, ohne daß er dabei den Grundgedanken der Erfindung verlassen müsste. Insbesondere können die verschiedenen Module, speziell die Speicher und Prozessor-Module, derart modifiziert werden, daß sie andere Konfigurationen von Baugruppen umfassen, beispielsweise mehr als zwei Prozessoren als Elemente eines Prozessor-Moduls .While the multiprocessor computer system according to the Invention has been described above with reference to preferred embodiments, it is understood that to the person skilled in the art, based on the exemplary embodiment taking into account the detailed description and the associated drawings, there are numerous possibilities for Changes and / or additions are available without departing from the basic idea of the invention would have to. In particular, the various modules, especially the memory and processor modules, modified to include other configurations of assemblies, e.g. more as two processors as elements of a processor module.

-SV--SV-

- Leerseite - - blank page -

Claims (1)

HOEGER, STELLRECHT & PARTNER 3βQ62 1HOEGER, STELLRECHT & PARTNER 3βQ62 1 PATENTANWÄLTE UHLANDSTRASSE 14 c D 7OOO STUTTGART 1PATENTANWÄLTE UHLANDSTRASSE 14 c D 7OOO STUTTGART 1 A 46 929 b Anmelder: ENCORE COMPUTER CORPORATIONA 46 929 b Applicant: ENCORE COMPUTER CORPORATION k - 176 257 Cedar Hill Streetk- 176 257 Cedar Hill Street 24. Februar 1986 Marlboro, Massachusetts 01752February 24, 1986 Marlboro, Massachusetts 01752 U.S.A.UNITED STATES. PatentansprücheClaims 1. Multiprozessor-Computersystem, gekennzeichnet durch folgende Merkmale:1. Multiprocessor computer system, characterized by the following features: Es sind mehrere Prozessor-Module vorgesehen, von denen jeder mindestens einen Prozessor und der Ankopplung dienende Schnittstelleneinrichtungen umfasst, über welche Daten, Adressen und Programmunterbrechungen (interrupts) übertragbar sind, wobei der Prozessor außerdem Cache-Speichereinrichtungen zum Speichern der Inhalte von häufig . angesteuerten Speicherplätzen aufweist; es sind System-Speichereinrichtungen vorgesehen, welche der Ankopplung dienende Schnittstelleneinrichtungen aufweisen, über welche Daten übertragbar sind und zu denen jeder der Prozessoren Zugriff hat;Several processor modules are provided, each of which has at least one processor and the coupling serving interface devices includes, over which data, addresses and program interruptions (interrupts) are transmittable, wherein the processor also cache memory devices to save the contents of frequently. has controlled memory locations; system memory devices are provided, which interface devices are used for coupling have, over which data can be transmitted and to which each of the processors has access Has; es sind Betriebssteuereinrichtungen zum Zuordnen und Steuern des Ablaufs einer Anzahl von Prozessen für mindestens einen Prozessor vorgesehen; es sind Zeitsteuereinrichtungen zum Erzeugen von Zeitsignalen vorgesehen, welche aufeinanderfolgende Betriebsintervalle definieren; es sind Systembuseinrichtungen vorgesehen, diethey are operational control devices for assigning and controlling the flow of a number of processes provided for at least one processor; there are timing devices for generating Timing signals are provided which define successive operating intervals; there are system bus devices provided that -2--2- A 46 929 bA 46 929 b k - 176 - 2 -k - 176 - 2 - 24. Februar 1986February 24, 1986 mit den der Ankoppelung dienenden Schnittstelleneinrichtungen der Prozessor-Module und der System-Speichereinrichtungen verbunden sind, und folgende Elemente umfassen:with the interface devices of the processor modules used for coupling and the system memory devices are connected and include: a) Adressenbuseinrichtungen zum übertragen von Speicheradressen von einem der Prozessor-Module zu den System-Speichereinrichtungen;a) Address bus devices for transferring memory addresses from one of the processor modules to the system storage facilities; b) Datenbuseinrichtungen zum übertragen von Daten von den System-Speichereinrichtungen zu den einzelnen Prozessoren und von diesen zu den System-Speichereinrichtungen;b) data bus devices for transferring data from the system memory devices to the individual processors and from these to the system memory devices; c) Vektorbuseinrichtungen zum übertragen von Vektor-Interrupt-Signalen zwischen jeweils einem der Prozessor-Module und einem anderen Prozessor-Modul; c) vector bus devices for transmitting vector interrupt signals between each one of the processor modules and another processor module; d) Steuerleitungseinrichtungen als Pfade für Signale, die von den Betriebssteuereinrichtungen zu dem Prozessor-Modulen und den System-Speichereinrichtungen und von den Prozessor-Modulen und den System-Speichereinrichtungen zu den bzw. von den Betriebssteuereinrichtungen zu übertragen sind; undd) control line devices as paths for signals from the operational control devices to the Processor modules and the system memory devices and from the processor modules and the system storage devices to and from the operational control devices are; and es sind Arbitereinrichtungen zum Zuteilen des Zugriffs zu den Adressenbus-, Datenbus- und Vektorbuseinrichtungen vorgesehen.they are arbiters for arbitrating access to the address bus, data bus and vector bus devices intended. 2. System nach Anspruch 1, dadurch gekennzeichnet, daß jeder der Multiprozessor-Module folgende Elemente umfasst:2. System according to claim 1, characterized in that each of the multiprocessor modules the following elements includes: -3--3- A 46 929 bA 46 929 b k - 176 - 3 -k - 176 - 3 - 24. Februar 1986February 24, 1986 Einschreibeinrichtungen zum Einschreiben der Inhalte häufig angesteuerter Speicherplätze in die Cache-Speichereinrichtungen;Writing devices for writing the contents of frequently accessed memory locations into the Cache storage devices; Prozessor-Zusatzeinrichtungen zum Speichern von Systemspeicheradressen der häufig angesteuerten Speicherplätze, deren Inhalte in den.Cache-Speichereinrichtungen gespeichert sind; Bus-Zusatzeinrichtungen zum überwachen der Systembuseinrichtungen auf Schreiboperationen, die einen Systemspeicherplatz betreffen, dessen Inhalt in den Cache-Speichereinrichtungen des Prozessor-Moduls gespeichert ist;Processor add-ons for storing system memory addresses of the frequently accessed Storage locations, the contents of which are stored in the cache storage devices; Additional bus devices for monitoring the system bus devices for write operations that involve a System memory space relate to its content in the cache memory devices of the processor module is stored; Aufdatierungseinrichtungen, welche auf die Bus-Zusatz einrichtungen ansprechen, um für die Prozessor-Zusatzeinrichtungen anzuzeigen, daß der Inhalt eines Cache-Speicherplatzes von dem Inhalt des diesem entsprechenden Hauptspeicherplatzes verschieden ist.Update devices, which are based on the bus add-on address devices to indicate to the processor options that the contents of a Cache memory space is different from the content of the main memory space corresponding to this. 3. System nach Anspruch 1, dadurch gekennz eichnet, daß die Systembuseinrichtungen für eine verschachtelte Ausführung mehrerer Operationen ausgebildet sind.3. System according to claim 1, characterized marked, that the system bus devices are designed for the interleaved execution of several operations are. 4. System nach Anspruch 1, dadurch gekennzeichnet, daß die Betriebssteuereinrichtungen Adressenbus-Arbitereinrichtungen zum Zuteilen des Zugriffs zu den Adressenbuseinrichtungen umfassen, welche über die Priorität des Zugriffs für Prozessor-Module4. System according to claim 1, characterized in that the operation control devices address bus arbiter devices for assigning access to the address bus facilities, which include determining the priority of access for processor modules A 46 929 bA 46 929 b k - 176 - 4 -k - 176 - 4 - 24. Februar 1986February 24, 1986 und Nicht-Prozessor-Module entscheiden, derart, daß die Priorität den Nicht-Prozessor-Modulen gegenüber den Prozessor-Modulen gewährt wird, und daß der Zugriff für die Prozessor-Module nach Art eines Umlaufs gewählt wird.and non-processor modules decide such that the priority is given to non-processor modules is granted to the processor modules, and that the access for the processor modules according to Art one revolution is chosen. 5. System nach Anspruch 4, dadurch gekennzeichnet, daß die Adressenbus-Arbitereinrichtungen Reservierungseinrichtungen zum Bewirken einer Reservierung auf den Adressenbuseinrichtungen für die Dauer eines Datenlesezyklus umfassen.5. System according to claim 4, characterized in that that the address bus arbiter means reservation means for effecting a reservation on the address bus devices for the duration of one data read cycle. 6. System nach Anspruch 1, dadurch gekennzeichnet, daß die Vektorbuseinrichtungen Entscheidungseinrichtungen umfassen, die bestimmen, welcher von mehreren Prozessoren für den Empfang eines übertragenen Vektors freigegeben wird.6. System according to claim 1, characterized in that the vector bus devices are decision devices that determine which of several processors to receive a transmitted Vector is released. 7. System nach Anspruch 1, dadurch gekennzeichnet, daß die Vektorbuseinrichtungen Aufteilungseinrichtungen umfassen, um die Prozessoren in Gruppen aufzuteilen und für eine gleichmäßige Aufteilung der Vektoren bezüglich der Gruppen zu sorgen.7. System according to claim 1, characterized in that the vector bus devices are dividing devices to divide the processors into groups and for an even distribution of the vectors regarding the groups. 8. System nach Anspruch 4, dadurch gekennzeichnet, daß die Betriebssteuereinrichtungen Datenbus-Arbitereinrichtungen zum Zuteilen des Zugriffs zu den Datenbuseinrichtungen umfassen, wobei die8. System according to claim 4, characterized in that the operational control devices are data bus arbiter devices for allocating access to the data bus devices, wherein the -5--5- A 46 929 bA 46 929 b k - 176 - 5 -k - 176 - 5 - 24. Februar 1986February 24, 1986 Datenbus-Arbitereinrichtungen derart ausgebildet sind, daß sie den Zugriff zu dem Datenbus für einen Anforderungsmodul freigeben, der eine Schreiboperation anfordert und eine Adresse auf die Adressenbuseinrichtungen gegeben hat, und wobei die Datenbus-Arbitereinrichtungen ferner Entscheidungseinrichtungen umfassen, die für diejenigen Module, welche eine Lese/Antwort-Operation anfordern, über die Priorität des Zugriffs zu den Datenbuseinrichtungen entscheiden.Data bus arbiter devices are designed such that they provide access to the data bus for one Release request module that requests a write operation and an address on the address bus facilities and where the data bus arbiter also decision-making bodies for those modules that request a read / reply operation via decide the priority of access to the data bus devices. 9. System nach Anspruch 1, dadurch gekennzeichnet, daß die Datenbus-Arbitereinrichtungen Reservierungseinrichtungen zum Reservieren der Datenbuseinrichtungen vor dem Zeitpunkt umfassen, zu dem die Datenbuseinrichtungen von einem Anforderungsmodul benötigt werden. 9. System according to claim 1, characterized in that the data bus arbiter devices are reservation devices to reserve the data bus devices before the time at which the data bus devices are required by a request module. 10. System nach Anspruch 1, dadurch gekennzeichnet, daß die Betriebssteuereinrichtungen Wiederholeinrichtungen umfassen, mit deren Hilfe der Versuch der Durchführung eine angeforderte Operation, welche vom Zielschaltkreis der angeforderten Operation nicht angenommen wurde, wiederholbar ist.10. System according to claim 1, characterized in that that the operational control devices comprise repeaters with the aid of which the experiment performing a requested operation, which is requested by the target circuitry of the requested operation was not accepted, is repeatable. 11. System nach Anspruch 4 und 10, dadurch gekennzeichnet, daß die Adressenbus-Arbitereinrichtungen zusätzliche Einrichtungen umfassen, mit deren Hilfe11. System according to claim 4 and 10, characterized in that that the address bus arbiter means comprise additional means with the help of which -6--6- A 46 929 bA 46 929 b k - 176 - 6 -k - 176 - 6 - 24. Februar 1986February 24, 1986 eine Wiederherstellung der Priorität einer wiederholten Anforderung ohne Störung des Umlauf-Prioritätsschemas herbeiführbar ist.a restoration of the priority of a repeated Request can be brought about without disturbing the circulation priority scheme. 12. System nach Anspruch 1, dadurch gekennzeichnet, daß die BetriebsSteuereinrichtungen Freigabeeinrichtungen umfassen, mit deren Hilfe ein Zugriff für eine Datenanforderung gewährbar ist, welcher für ein vorgegebenes Zeitintervall ein Zugriff zu den Datenbuseinrichtungen verwehrt war, wobei die Freigabeeinrichtungen Sperreinrichtungen umfassen, um zu verhindern, daß neue Anforderungen Zugriff zu den Systembuseinrichtungen erhalten.12. System according to claim 1, characterized in that the operating control devices release devices include, with the help of which access for a data request can be granted, which Access to the data bus devices was denied for a predetermined time interval, with the Release devices include locking devices to prevent new requests from accessing to the system bus devices. 13. System nach Anspruch 1, dadurch gekennzeichnet, daß Schnittstelleneinrichtungen vorgesehen sind, welche mit den Systembuseinrichtungen verbunden sind und einen Austausch von Daten-, Adressen- und Interrupt-Signalen mit mindestens einem weiteren Multiprozessor-Computersystem ermöglichen, derart, daß das eine Multiprozessor-Computersystem und das mindestens eine weitere Multiprozessor-Computersystem als ein einziges, mit einem einzigen Bus verbundenes System von eng gekoppelten Prozessoren arbeiten.13. System according to claim 1, characterized in that interface devices are provided, which are connected to the system bus devices and an exchange of data, address and enable interrupt signals with at least one other multiprocessor computer system, such that the one multiprocessor computer system and the at least one further multiprocessor computer system operate as a single, bus-connected system of tightly coupled processors. 14. System nach Anspruch 1, dadurch gekennzeichnet, daß die Cache-Speichereinrichtungen der einzelnen14. System according to claim 1, characterized in that the cache memory devices of the individual — 7 —- 7 - A 46 929 bA 46 929 b k - 176 - 7 -k - 176 - 7 - 24. Februar 1986February 24, 1986 Prozessor-Module Einschreibeinrichtungen umfassen, mit deren Hilfe dieselben Daten in die Cache-Speichereinrichtungen und in die Systemspeichereinrichtungen einschreibbar sind.Processor modules include writing devices, with the help of which the same data in the cache memory devices and are writable to the system storage devices. 15. System nach Anspruch 1, dadurch gekennzeichnet, daß die Cache-Speichereinrichtungen der einzelnen Prozessor-Module Umschalteinrichtungen umfassen, durch deren Betätigung ein Einschreiben allein in die Cache-Speichereinrichtungen herbeiführbar ist und daß die Umschalteinrichtungen Anzeigeeinrichtungen umfassen, durch die für die Systemspeichereinrichtungen anzeigbar ist, daß die an einem Speicherplatz der Cache-Speichereinrichtungen gespeicherten Daten von den an einem entsprechenden Speicherplatz der Systemspeichereinrichtungen gespeicherten Daten verschieden sind.15. System according to claim 1, characterized in that the cache memory devices of the individual Processor modules comprise switching devices which, when actuated, send a single letter into the cache memory devices can be brought about and that the switching devices display devices include, through which can be displayed for the system storage devices that the at a Storage space of the cache memory devices from the data stored on a corresponding one Storage space of the system storage devices stored data are different. 16. System nach Anspruch 1, dadurch gekennzeichnet, daß die System-Speichereinrichtungen Speichereinrichtungen zum Sperren eines Speicherplatzes während eines Lese-Modifizier-Schreib-Zyklus umfassen und daß die Sperreinrichtungen derart ausgebildet sind, daß sie die übertragung von Daten und Adressen durch das System bei gesperrtem Speicherplatz gestatten.16. System according to claim 1, characterized in that the system storage devices are storage devices for locking a memory location during a read-modify-write cycle and that the locking devices are designed such that they can transmit data and Allow addresses by the system when the memory space is blocked. -8--8th- A 46 929 bA 46 929 b k - 176 - 8 -k - 176 - 8 - 24. Februar 1986February 24, 1986 17. System nach Anspruch 1, dadurch gekennzeichnet, daß Schnittstelleneinrichtungen vorgesehen sind, welche mit den Systembuseinrichtungen verbunden sind und einen Austausch von Daten-, Adressen-Interrupt-Signalen mit mindestens einem weiteren Multiprozessor-Computersystem ermöglichen und daß die Schnittstelleneinrichtungen Cache-Speichereinrichtungen zum Speichern der Inhalte von häufig angesteuerten Speicherplätzen des mindestens einen weiteren Mikroprozessor-Computersystems aufweisen.17. System according to claim 1, characterized in that interface devices are provided, which are connected to the system bus devices and an exchange of data and address interrupt signals with at least one other multiprocessor computer system and that the interface means cache memory means for storing the contents of frequently have controlled memory locations of the at least one further microprocessor computer system. 18. System nach Anspruch 1, dadurch gekennzeichnet, daß die Cache-Speichereinrichtungen als Durchschreib -Cache-Speichereinrichtungen ausgebildet sind, bei denen Daten, die in Cache-Speicherplätze einzuschreiben sind, "auch in Speicherplätze der Systemspeichereinrichtungen eingeschrieben werden.18. System according to claim 1, characterized in that the cache memory devices as write-through -Cache storage devices are designed in which data is stored in cache storage locations are to be written "can also be written into memory locations of the system memory devices. 19. System nach Anspruch 1, dadurch gekennzeichnet, daß die Cache-Speichereinrichtungen als Nicht-Dur chschreib-Speichereinrichtungen ausgebildet sind, bei denen Daten, die in Cache-Speicherplätze eingeschrieben werden, nur in diese eingeschrieben werden.19. System according to claim 1, characterized in that the cache memory devices as non-major Write memory devices are designed in which data stored in cache memory locations be enrolled, only be enrolled in this. 20. System nach Anspruch 19, dadurch gekennzeichnet, daß Anzeigeeinrichtungen vorgesehen sind, durch die für die Anforderungseinrichtungen anzeigbar20. System according to claim 19, characterized in that that display devices are provided by which the request devices can be displayed -9--9- A 46 929 bA 46 929 b k - 176 - 9 -k - 176 - 9 - 24. Februar 1986February 24, 1986 ist, daß Daten, die an einem Speicherplatz der Systemspeichereinrichtungen gespeichert sind, in der gültigen Form nur in den Nicht-Durchschreib-Cache-Speichereinrichtungen gespeichert sind.is that data stored in a storage location of the system storage devices is in of the valid form are only stored in the write-through cache storage devices. -10--10-
DE19863606211 1985-02-27 1986-02-26 MULTIPROCESSOR COMPUTER SYSTEM Withdrawn DE3606211A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/706,142 US5067071A (en) 1985-02-27 1985-02-27 Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus

Publications (1)

Publication Number Publication Date
DE3606211A1 true DE3606211A1 (en) 1986-12-04

Family

ID=24836377

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19863606211 Withdrawn DE3606211A1 (en) 1985-02-27 1986-02-26 MULTIPROCESSOR COMPUTER SYSTEM

Country Status (6)

Country Link
US (1) US5067071A (en)
JP (1) JPS6231465A (en)
AU (1) AU582822B2 (en)
DE (1) DE3606211A1 (en)
FR (1) FR2578071B1 (en)
GB (1) GB2171542A (en)

Families Citing this family (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4858173A (en) * 1986-01-29 1989-08-15 Digital Equipment Corporation Apparatus and method for responding to an aborted signal exchange between subsystems in a data processing system
NZ220423A (en) * 1986-05-30 1989-07-27 Honeywell Bull Multiprocessor system; shared resource status appears on bus
US4785394A (en) * 1986-09-19 1988-11-15 Datapoint Corporation Fair arbitration technique for a split transaction bus in a multiprocessor computer system
IL85518A0 (en) * 1987-03-13 1988-08-31 Apple Computer Computer with expansion slots for cards and card therefor
US5822578A (en) * 1987-12-22 1998-10-13 Sun Microsystems, Inc. System for inserting instructions into processor instruction stream in order to perform interrupt processing
US5055999A (en) 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
US5341483A (en) * 1987-12-22 1994-08-23 Kendall Square Research Corporation Dynamic hierarchial associative memory
US5761413A (en) * 1987-12-22 1998-06-02 Sun Microsystems, Inc. Fault containment system for multiprocessor with shared memory
IT1227360B (en) * 1988-11-18 1991-04-08 Honeywell Bull Spa MULTIPROCESSOR DATA PROCESSING SYSTEM WITH GLOBAL DATA REPLICATION.
CA1324679C (en) * 1989-02-03 1993-11-23 Michael A. Gagliardo Method and means for interfacing a system control unit for a multi-processor system with the system main memory
US5043874A (en) * 1989-02-03 1991-08-27 Digital Equipment Corporation Memory configuration for use with means for interfacing a system control unit for a multi-processor system with the system main memory
US5526487A (en) * 1989-02-09 1996-06-11 Cray Research, Inc. System for multiprocessor communication
US5121487A (en) * 1989-02-21 1992-06-09 Sun Microsystems, Inc. High speed bus with virtual memory data transfer capability using virtual address/data lines
IT1228728B (en) * 1989-03-15 1991-07-03 Bull Hn Information Syst MULTIPROCESSOR SYSTEM WITH GLOBAL DATA REPLICATION AND TWO LEVELS OF ADDRESS TRANSLATION UNIT.
DE3917715A1 (en) * 1989-05-31 1990-12-06 Teldix Gmbh COMPUTER SYSTEM
US5212796A (en) * 1990-01-02 1993-05-18 Motorola, Inc. System with modules using priority numbers related to interrupt vectors for bit-serial-arbitration on independent arbitration bus while CPU executing instructions
US5555425A (en) * 1990-03-07 1996-09-10 Dell Usa, L.P. Multi-master bus arbitration system in which the address and data lines of the bus may be separately granted to individual masters
US5226143A (en) * 1990-03-14 1993-07-06 International Business Machines Corporation Multiprocessor system includes operating system for notifying only those cache managers who are holders of shared locks on a designated page by global lock manager
JP2545482B2 (en) * 1990-03-15 1996-10-16 富士通株式会社 Interface device transfer parameter setting method
US5289585A (en) * 1990-03-26 1994-02-22 Siemens Nixdorf Informationssysteme Ag Multiprocessor system having a system bus for the coupling of several processing units with appertaining private cache memories and a common main memory
US5179707A (en) * 1990-06-01 1993-01-12 At&T Bell Laboratories Interrupt processing allocation in a multiprocessor system
US5276852A (en) * 1990-10-01 1994-01-04 Digital Equipment Corporation Method and apparatus for controlling a processor bus used by multiple processor components during writeback cache transactions
JP3144794B2 (en) * 1990-11-09 2001-03-12 株式会社日立製作所 Multiprocessor system
US5282272A (en) * 1990-12-21 1994-01-25 Intel Corporation Interrupt distribution scheme for a computer bus
US5495615A (en) * 1990-12-21 1996-02-27 Intel Corp Multiprocessor interrupt controller with remote reading of interrupt control registers
US5613128A (en) * 1990-12-21 1997-03-18 Intel Corporation Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller
US5253348A (en) * 1990-12-28 1993-10-12 Apple Computer, Inc. Method of arbitration for buses operating at different speeds
EP0577614B1 (en) * 1991-03-28 1995-10-04 Cray Research, Inc. Real-time i/o operation in a vector processing computer system
US5515523A (en) * 1991-06-03 1996-05-07 Digital Equipment Corporation Method and apparatus for arbitrating conflicts by monitoring number of access requests per unit of time in multiport memory systems
US5392417A (en) * 1991-06-05 1995-02-21 Intel Corporation Processor cycle tracking in a controller for two-way set associative cache
US5280608A (en) * 1991-06-28 1994-01-18 Digital Equipment Corporation Programmable stall cycles
US5327570A (en) * 1991-07-22 1994-07-05 International Business Machines Corporation Multiprocessor system having local write cache within each data processor node
JP3466212B2 (en) * 1991-09-17 2003-11-10 インテル・コーポレーション Computer system
CA2078312A1 (en) 1991-09-20 1993-03-21 Mark A. Kaufman Digital data processor with improved paging
CA2078315A1 (en) * 1991-09-20 1993-03-21 Christopher L. Reeve Parallel processing apparatus and method for utilizing tiling
CA2078310A1 (en) * 1991-09-20 1993-03-21 Mark A. Kaufman Digital processor with distributed memory system
US5293384A (en) * 1991-10-04 1994-03-08 Bull Hn Information Systems Inc. Microprocessor bus interface protocol analyzer
US5442785A (en) * 1991-10-08 1995-08-15 Unisys Corporation Method and apparatus for passing messages between application programs on host processors coupled to a record lock processor
WO1993013481A1 (en) * 1991-12-23 1993-07-08 Intel Corporation Interleaved cache for multiple accesses per clock in a microprocessor
US5276858A (en) * 1991-12-26 1994-01-04 Intel Corporation Memory controller with integrated delay line circuitry
US5239632A (en) * 1992-04-16 1993-08-24 Hewlett-Packard Company Device to translate logical unit number communications on one SCSI bus to ID communications on a subordinate SCSI bus
US5555382A (en) * 1992-04-24 1996-09-10 Digital Equipment Corporation Intelligent snoopy bus arbiter
JPH0660015A (en) * 1992-06-08 1994-03-04 Mitsubishi Electric Corp Information processor
ES2139583T3 (en) * 1992-08-19 2000-02-16 Siemens Nixdorf Inf Syst MULTIPROCESSOR SYSTEM WITH CACHE MEMORIES.
US5491812A (en) * 1992-09-28 1996-02-13 Conner Peripherals, Inc. System and method for ethernet to SCSI conversion
US5553248A (en) * 1992-10-02 1996-09-03 Compaq Computer Corporation System for awarding the highest priority to a microprocessor releasing a system bus after aborting a locked cycle upon detecting a locked retry signal
US5553310A (en) * 1992-10-02 1996-09-03 Compaq Computer Corporation Split transactions and pipelined arbitration of microprocessors in multiprocessing computer systems
SE9203016L (en) * 1992-10-14 1994-04-15 Ericsson Telefon Ab L M Signal processing system with shared data memory
EP0599488B1 (en) * 1992-11-18 1999-10-06 Canon Information Systems, Inc. Method and apparatus for testing an interface board
US5463739A (en) * 1992-12-22 1995-10-31 International Business Machines Corporation Apparatus for vetoing reallocation requests during a data transfer based on data bus latency and the number of received reallocation requests below a threshold
DE69323861T2 (en) * 1993-01-25 1999-10-07 Bull Hn Information Syst Multiprocessor system with shared memory
US5666515A (en) * 1993-02-18 1997-09-09 Unisys Corporation Information processing system having multiple modules and a memory on a bus, where any module can lock an addressable portion of the memory by sending retry signals to other modules that try to read at the locked address
US5381541A (en) * 1993-05-26 1995-01-10 International Business Machines Corp. Computer system having planar board with single interrupt controller and processor card with plural processors and interrupt director
FR2707778B1 (en) * 1993-07-15 1995-08-18 Bull Sa Processor node.
US5590338A (en) * 1993-07-23 1996-12-31 Dell Usa, L.P. Combined multiprocessor interrupt controller and interprocessor communication mechanism
US5473763A (en) * 1993-08-02 1995-12-05 Advanced Micro Devices, Inc. Interrupt vector method and apparatus
US5671372A (en) * 1993-09-30 1997-09-23 International Business Machines Corporation Data processing system with microprocessor/cache chip set directly coupled to memory bus of narrower data width
SG67906A1 (en) * 1993-12-16 1999-10-19 Intel Corp Multiple programmable interrupt controllers in a multi-processor system
US5666516A (en) * 1993-12-16 1997-09-09 International Business Machines Corporation Protected programmable memory cartridge having selective access circuitry
US5519876A (en) * 1993-12-23 1996-05-21 Unisys Corporation Processor communications bus having address lines selecting different storage locations based on selected control lines
US5611053A (en) * 1994-01-21 1997-03-11 Advanced Micro Devices, Inc. Apparatus and method for integrating bus master ownership of local bus load by plural data transceivers
US6295572B1 (en) * 1994-01-24 2001-09-25 Advanced Micro Devices, Inc. Integrated SCSI and ethernet controller on a PCI local bus
CA2140685A1 (en) * 1994-01-28 1995-07-29 Randy M. Bonella Bus master arbitration circuitry having improved prioritization
US5471590A (en) * 1994-01-28 1995-11-28 Compaq Computer Corp. Bus master arbitration circuitry having improved prioritization
US5533204A (en) * 1994-04-18 1996-07-02 Compaq Computer Corporation Split transaction protocol for the peripheral component interconnect bus
EP0681240B1 (en) * 1994-05-03 2001-01-10 Hewlett-Packard Company Duplicate cache tag memory system
US5577226A (en) 1994-05-06 1996-11-19 Eec Systems, Inc. Method and system for coherently caching I/O devices across a network
US6256694B1 (en) * 1994-06-30 2001-07-03 Compaq Computer Corporation Distributed early arbitration
EP0695999A3 (en) * 1994-06-30 1998-07-08 Digital Equipment Corporation System bus with separate address and data bus protocols
US5748866A (en) * 1994-06-30 1998-05-05 International Business Machines Corporation Virtual display adapters using a digital signal processing to reformat different virtual displays into a common format and display
CN1205792C (en) * 1994-08-31 2005-06-08 国际商业机器公司 System and method for communication between devices
CA2154509A1 (en) * 1994-10-03 1996-04-04 Paul Peixoto Carreiro Method and apparatus for automatic frame transmission on a channel to controller interface in a data processing system
AU4002095A (en) * 1994-10-26 1996-05-23 Flamepoint, Inc. Simultaneous processing by multiple components
US6061731A (en) * 1994-12-06 2000-05-09 Thunderwave, Inc. Read only linear stream based cache system
US5623699A (en) * 1994-12-06 1997-04-22 Thunderwave, Inc. Read only linear stream based cache system
US5872982A (en) * 1994-12-28 1999-02-16 Compaq Computer Corporation Reducing the elapsed time period between an interrupt acknowledge and an interrupt vector
US5638538A (en) * 1995-01-13 1997-06-10 Digital Equipment Corporation Turbotable: apparatus for directing address and commands between multiple consumers on a node coupled to a pipelined system bus
US5761731A (en) * 1995-01-13 1998-06-02 Digital Equipment Corporation Method and apparatus for performing atomic transactions in a shared memory multi processor system
US5596729A (en) * 1995-03-03 1997-01-21 Compaq Computer Corporation First arbiter coupled to a first bus receiving requests from devices coupled to a second bus and controlled by a second arbiter on said second bus
US6524019B1 (en) * 1995-03-27 2003-02-25 Nec Corporation Inter-cluster data transfer system and data transfer method
US5864839A (en) * 1995-03-29 1999-01-26 Tm Patents, L.P. Parallel system and method for generating classification/regression tree
US5923859A (en) * 1995-04-13 1999-07-13 Compaq Computer Corporation Dual arbiters for arbitrating access to a first and second bus in a computer system having bus masters on each bus
US5708783A (en) * 1995-04-28 1998-01-13 Apple Computer, Inc. Data bus arbiter for pipelined transactions on a split bus
US5815676A (en) * 1995-04-28 1998-09-29 Apple Computer, Inc. Address bus arbiter for pipelined transactions on a split bus
US5901295A (en) * 1995-04-28 1999-05-04 Apple Computer, Inc. Address and data bus arbiter for pipelined transactions on a split bus
US5706446A (en) * 1995-05-18 1998-01-06 Unisys Corporation Arbitration system for bus requestors with deadlock prevention
US5644733A (en) * 1995-05-18 1997-07-01 Unisys Corporation Dual coupled partitionable networks providing arbitration logic for managed access to commonly shared busses
US5737524A (en) * 1995-05-22 1998-04-07 International Business Machines Corporation Add-in board with programmable configuration registers for use in PCI bus computers
KR960042387A (en) * 1995-05-31 1996-12-21 유기범 Hi-Fi Plus Interrupt Bus Arbitration Method
US6529933B1 (en) 1995-06-07 2003-03-04 International Business Machines Corporation Method and apparatus for locking and unlocking a semaphore
DE19529434B4 (en) * 1995-08-10 2009-09-17 Continental Teves Ag & Co. Ohg Microprocessor system for safety-critical regulations
US5765195A (en) * 1995-12-08 1998-06-09 Ncr Corporation Method for distributing interprocessor interrupt requests via cache memory coherency mechanisms
KR100197407B1 (en) * 1995-12-28 1999-06-15 유기범 Communication bus architecture between process in the full electronic switching system
EP0882266A1 (en) * 1996-02-20 1998-12-09 Intergraph Corporation High-availability super server
KR100391246B1 (en) * 1996-04-08 2003-11-28 엘지엔시스(주) Method for operating system bus of multi-processor system
US5954809A (en) * 1996-07-19 1999-09-21 Compaq Computer Corporation Circuit for handling distributed arbitration in a computer system having multiple arbiters
JP3317156B2 (en) * 1996-09-18 2002-08-26 三菱電機株式会社 Numerical control device with remote PLC device
US7058696B1 (en) 1996-11-22 2006-06-06 Mangosoft Corporation Internet-based shared file service with native PC client access and semantics
US6647393B1 (en) * 1996-11-22 2003-11-11 Mangosoft Corporation Dynamic directory service
US6021261A (en) * 1996-12-05 2000-02-01 International Business Machines Corporation Method and system for testing a multiprocessor data processing system utilizing a plurality of event tracers
US6049845A (en) * 1997-11-05 2000-04-11 Unisys Corporation System and method for providing speculative arbitration for transferring data
US6092156A (en) * 1997-11-05 2000-07-18 Unisys Corporation System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations
US6014709A (en) * 1997-11-05 2000-01-11 Unisys Corporation Message flow protocol for avoiding deadlocks
US6052760A (en) * 1997-11-05 2000-04-18 Unisys Corporation Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks
US6314501B1 (en) 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US6292910B1 (en) * 1998-09-14 2001-09-18 Intel Corporation Method and apparatus for detecting a bus deadlock in an electronic system
US6052700A (en) * 1998-09-17 2000-04-18 Bull Hn Information Systems Inc. Calendar clock caching in a multiprocessor data processing system
EP1067461B1 (en) 1999-07-08 2013-04-24 Texas Instruments France Unified memory management system for multi process heterogeneous architecture
US6687818B1 (en) 1999-07-28 2004-02-03 Unisys Corporation Method and apparatus for initiating execution of an application processor in a clustered multiprocessor system
US6665761B1 (en) 1999-07-28 2003-12-16 Unisys Corporation Method and apparatus for routing interrupts in a clustered multiprocessor system
EP1188294B1 (en) 1999-10-14 2008-03-26 Bluearc UK Limited Apparatus and method for hardware implementation or acceleration of operating system functions
US6629176B1 (en) * 1999-11-02 2003-09-30 Agilent Technologies, Inc. Arbiter architecture allowing rapid implementation of arbitration policies
US7509391B1 (en) 1999-11-23 2009-03-24 Texas Instruments Incorporated Unified memory management system for multi processor heterogeneous architecture
US6564274B1 (en) * 1999-12-17 2003-05-13 Omnicluster Technologies, Inc. Modular architecture for small computer networks
US6609034B1 (en) * 2000-03-29 2003-08-19 Epicenter, Incorporated System and method for remotely controlling and monitoring a plurality of computer systems
US6463506B1 (en) * 2000-04-29 2002-10-08 Hewlett-Packard Company Arrangement of data within cache lines so that tags are first data received
US6742160B2 (en) * 2001-02-14 2004-05-25 Intel Corporation Checkerboard parity techniques for a multi-pumped bus
US6742145B2 (en) * 2001-03-01 2004-05-25 International Business Machines Corporation Method of de-allocating multiple processor cores for an L2 correctable error
US7032134B2 (en) * 2001-03-28 2006-04-18 Intel Corporation Microprocessor design support for computer system and platform validation
DE10128475A1 (en) * 2001-06-12 2003-01-02 Siemens Ag Multiprocessor system with a shared memory associated with a priority processor allowing high frequency access to the memory thus ensuring high data processing rates
US6789155B2 (en) * 2001-08-29 2004-09-07 Micron Technology, Inc. System and method for controlling multi-bank embedded DRAM
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US8041735B1 (en) 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US7000046B1 (en) * 2003-01-17 2006-02-14 Unisys Corporation Standard channel I/O processor (SCIOP)
US7099971B1 (en) * 2003-06-26 2006-08-29 Emc Corporation Arbitration system
JP4487756B2 (en) * 2004-12-16 2010-06-23 日本電気株式会社 Computer system and system monitoring program
US8055852B2 (en) 2007-08-15 2011-11-08 Micron Technology, Inc. Memory device and method having on-board processing logic for facilitating interface with multiple processors, and computer system using same
US8291174B2 (en) * 2007-08-15 2012-10-16 Micron Technology, Inc. Memory device and method having on-board address protection system for facilitating interface with multiple processors, and computer system using same
US7822911B2 (en) * 2007-08-15 2010-10-26 Micron Technology, Inc. Memory device and method with on-board cache system for facilitating interface with multiple processors, and computer system using same
US20090133022A1 (en) * 2007-11-15 2009-05-21 Karim Faraydon O Multiprocessing apparatus, system and method
US10026458B2 (en) 2010-10-21 2018-07-17 Micron Technology, Inc. Memories and methods for performing vector atomic memory operations with mask control and variable data length and data unit size
CN102207852A (en) * 2011-05-27 2011-10-05 清华大学 System and method for performing data interaction between sub-units in dynamic reconfigurable processor

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4232366A (en) * 1978-10-25 1980-11-04 Digital Equipment Corporation Bus for a data processing system with overlapped sequences
US4365294A (en) * 1980-04-10 1982-12-21 Nizdorf Computer Corporation Modular terminal system using a common bus
US4414624A (en) * 1980-11-19 1983-11-08 The United States Of America As Represented By The Secretary Of The Navy Multiple-microcomputer processing
DE3235739C2 (en) * 1982-09-27 1984-07-12 Nixdorf Computer Ag, 4790 Paderborn Method for preparing the connection of one of several data processing devices to a centrally clock-controlled multiple line arrangement
EP0165600A2 (en) * 1984-06-20 1985-12-27 Convex Computer Corporation Input/output bus for computer

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3566363A (en) * 1968-07-11 1971-02-23 Ibm Processor to processor communication in a multiprocessor computer system
US3710324A (en) * 1970-04-01 1973-01-09 Digital Equipment Corp Data processing system
US3665404A (en) * 1970-04-09 1972-05-23 Burroughs Corp Multi-processor processing system having interprocessor interrupt apparatus
FR2273317B1 (en) * 1974-05-28 1976-10-15 Philips Electrologica
US4130865A (en) * 1974-06-05 1978-12-19 Bolt Beranek And Newman Inc. Multiprocessor computer apparatus employing distributed communications paths and a passive task register
US4141067A (en) * 1977-06-13 1979-02-20 General Automation Multiprocessor system with cache memory
US4190885A (en) * 1977-12-22 1980-02-26 Honeywell Information Systems Inc. Out of store indicator for a cache store in test mode
FR2430637A1 (en) * 1978-07-06 1980-02-01 Cii Honeywell Bull METHOD AND DEVICE FOR GUARANTEEING THE CONSISTENCY OF INFORMATION BETWEEN CACHES AND OTHER MEMORIES OF AN INFORMATION PROCESSING SYSTEM WORKING IN MULTI-PROCESSING
US4229791A (en) * 1978-10-25 1980-10-21 Digital Equipment Corporation Distributed arbitration circuitry for data processing system
US4513390A (en) * 1979-06-08 1985-04-23 Planning Research Corporation System for digital transmission and synthesis of integrated data
IT1122890B (en) * 1979-08-30 1986-04-30 Honeywell Inf Systems Italia MICROPROCESSOR SYSTEM WITH MODULAR BUS STRUCTURE AND EXPANDABLE CONFIGURATION
BE887134A (en) * 1979-12-14 1981-05-14 Gte Automatic Electric Lab Inc INTERRUPTION EXPANSION CIRCUIT
US4349871A (en) * 1980-01-28 1982-09-14 Digital Equipment Corporation Duplicate tag store for cached multiprocessor system
US4400773A (en) * 1980-12-31 1983-08-23 International Business Machines Corp. Independent handling of I/O interrupt requests and associated status information transfers
US4439829A (en) * 1981-01-07 1984-03-27 Wang Laboratories, Inc. Data processing machine with improved cache memory management
US4420806A (en) * 1981-01-15 1983-12-13 Harris Corporation Interrupt coupling and monitoring system
US4504902A (en) * 1982-03-25 1985-03-12 At&T Bell Laboratories Cache arrangement for direct memory access block transfer
US4570217A (en) * 1982-03-29 1986-02-11 Allen Bruce S Man machine interface
US4562535A (en) * 1982-04-05 1985-12-31 Texas Instruments Incorporated Self-configuring digital processor system with global system
US4539637A (en) * 1982-08-26 1985-09-03 At&T Bell Laboratories Method and apparatus for handling interprocessor calls in a multiprocessor system
US4591976A (en) * 1983-06-17 1986-05-27 The United States Of America As Represented By The Secretary Of The Air Force Multiple task oriented processor
US4604694A (en) * 1983-12-14 1986-08-05 International Business Machines Corporation Shared and exclusive access control
CA1239227A (en) * 1984-10-17 1988-07-12 Randy D. Pfeifer Method of and arrangement for ordering of multiprocessor operations in a multiprocessor system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4232366A (en) * 1978-10-25 1980-11-04 Digital Equipment Corporation Bus for a data processing system with overlapped sequences
US4365294A (en) * 1980-04-10 1982-12-21 Nizdorf Computer Corporation Modular terminal system using a common bus
US4414624A (en) * 1980-11-19 1983-11-08 The United States Of America As Represented By The Secretary Of The Navy Multiple-microcomputer processing
DE3235739C2 (en) * 1982-09-27 1984-07-12 Nixdorf Computer Ag, 4790 Paderborn Method for preparing the connection of one of several data processing devices to a centrally clock-controlled multiple line arrangement
EP0165600A2 (en) * 1984-06-20 1985-12-27 Convex Computer Corporation Input/output bus for computer

Also Published As

Publication number Publication date
US5067071A (en) 1991-11-19
AU5340486A (en) 1986-09-04
GB8604787D0 (en) 1986-04-03
AU582822B2 (en) 1989-04-13
GB2171542A (en) 1986-08-28
JPS6231465A (en) 1987-02-10
FR2578071A1 (en) 1986-08-29
FR2578071B1 (en) 1990-01-12

Similar Documents

Publication Publication Date Title
DE3606211A1 (en) MULTIPROCESSOR COMPUTER SYSTEM
DE69233655T2 (en) Microprocessor architecture with the possibility to support several different processors
DE3909948C2 (en)
DE3127349C2 (en)
DE3810231C2 (en)
DE69632634T2 (en) Arbitration Unit for Multiprocessor System Bus Access with Repeatability
DE10296959T5 (en) System and method for controlling bus allocation during cache burst cycles
DE3642324C2 (en) Multiprocessor system with processor access control
DE2847216A1 (en) DATA PROCESSING SYSTEM WITH MULTIPROGRAM OPERATION
DE102008034500A1 (en) arbitration
DE2657848A1 (en) CONTROL UNIT FOR A DATA PROCESSING SYSTEM
DE3114934A1 (en) CENTRAL SUBSYSTEM FOR A DATA PROCESSING SYSTEM
DE2750721A1 (en) INPUT / OUTPUT SYSTEM
DE102013113262B4 (en) trigger routing unit
DE2612139A1 (en) INPUT / OUTPUT CONTROL SYSTEM
DE10045916A1 (en) Method for supporting cache-coherence in a multiprocessor system, involves displaying coherence answer when first transaction is received from provider in order to indicate status information for the data read from the first transaction
DE102004013635B4 (en) Method for allocating bus access rights in multimaster bus systems, and multimaster bus system for carrying out the method
DE102004003102A1 (en) System and method for determining a transaction timeout
DE102009001898A1 (en) Circuit arrangements and methods for controlling a data exchange in a circuit arrangement
DE3043012A1 (en) DEVICE FOR THE INDEPENDENT OPERATION OF SEVERAL UNITS IN AN INFORMATION PROCESSING SYSTEM BY DIFFERENT USERS
DE4413459C2 (en) Programmable interrupt controller system
DE102006009034B3 (en) Bus system method for operating a bus system has transmission channels for linking masters and slaves to each other and linking each master to an arbiter
EP1308846B1 (en) Data Transfer Device
DE3247083A1 (en) MULTI-PROCESSOR SYSTEM
DE10306285A1 (en) Microcomputer system

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8139 Disposal/non-payment of the annual fee