DE3009530C2 - - Google Patents

Info

Publication number
DE3009530C2
DE3009530C2 DE19803009530 DE3009530A DE3009530C2 DE 3009530 C2 DE3009530 C2 DE 3009530C2 DE 19803009530 DE19803009530 DE 19803009530 DE 3009530 A DE3009530 A DE 3009530A DE 3009530 C2 DE3009530 C2 DE 3009530C2
Authority
DE
Germany
Prior art keywords
command
bus
line
unit
dbbz
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE19803009530
Other languages
German (de)
Other versions
DE3009530A1 (en
Inventor
Paul Tyngsboro Mass. Us Binder
David A. Sudbury Mass. Us Cane
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of DE3009530A1 publication Critical patent/DE3009530A1/en
Application granted granted Critical
Publication of DE3009530C2 publication Critical patent/DE3009530C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/374Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)

Description

Die Erfindung betrifft eine Funktionseinheit wie Prozessor oder E/A-Einheit für ein digitales Datenverarbeitungssystem mit einem Speicher, einem gemeinsamen Bus sowie mit mindestens einer weiteren Funktionseinheit, entsprechend dem Oberbegriff des Patentanspruchs 1.The invention relates to a functional unit such as a processor or I / O unit for a digital data processing system with a memory, a common bus and at least one another functional unit, according to the preamble of Claim 1.

Ein digitales Datenverarbeitungssystem weist im allgemeinen drei Grundelemente auf: einen Speicher, eine Ein-/Ausgabeeinheit und einen Prozessor. Der Speicher speichert Information an adressierbaren Speicherstellen. Diese Information weist sowohl Daten als auch Befehle zum Verarbeiten der Daten auf. Durch den Prozessor wird die Information zwischen ihm und dem Speicher übertragen; der Prozessor wertet die ankommende Information entweder als Daten oder Befehle aus und verarbeitet die Daten entsprechend den Befehlen. Die Ein-/Ausgabeeinheit steht ebenfalls mit dem Speicher in Verbindung, um Eingabeinformation an das System zu übertragen und um von ihm verarbeitete Information zu erhalten.A digital data processing system generally has three Basic elements on: a memory, an input / output unit and a processor. The memory stores information in addressable Locations. This information assigns both data also commands to process the data. By the processor the information is transferred between it and the memory; the processor either evaluates the incoming information as data or commands and processes the data according to the Command. The input / output unit also stands with the memory in connection to transmit input information to the system and to receive information processed by him.

Da seit Jahren die Nachfrage nach Rechenleistung und -geschwin­ digkeit gestiegen sind, ist bereits vorgeschlagen und ist es auch bekannt, mehrere Prozessoren in einem Verarbeitungssystem zu verwenden. In derartigen Mehrprozessor-Verarbeitungssystemen sollte normalerweise jeder der Prozessoren einen teilweisen oder vollständigen Zugriff zu denselben Speicher- und Ein-/Ausgabeeinheiten haben. Folglich müssen Einrichtungen vorgesehen sein, die verhindern, daß die Prozessoren gleichzeitig Zugriff zu derselben Einheit haben. Hierzu sind verschiedene Anordnungen bekannt.Since years the demand for computing power and speed  has risen, is already proposed and it is also known to have multiple processors in one processing system to use. In such multiprocessor processing systems each processor should normally have one partial or full access to the same storage and have input / output units. Hence facilities be provided to prevent the processors have access to the same unit at the same time. For this are various arrangements known.

Bei einer ersten Anordnung werden den Prozessoren Prioritätswerte zugeordnet, wodurch dann Prozessoren mit einer höheren Priorität vor Prozessoren mit einer niedrigen Priorität Zugriff zu den Speicher- und Ein-/Ausgabeeinheiten gestattet wird. Hierdurch wird unvermeidlich die Umlaufzeit für Programme verlangsamt, die in Einheiten mit einer niedrigen Priorität umlaufen.In a first order priority values are assigned to the processors, whereby then processors with a higher priority than processors with a low priority access to the memory and Input / output units is permitted. This makes it inevitable orbital time for programs slowing down Rotate low priority units.

Bei einer zweiten Anordnung ist eine Rechnerschaltung mit einem Hauptrechnersystem vorgesehen, um zwischen einer Anzahl untergeordneter oder Nebenprozessoren zu entscheiden. Diese Entscheidung kann durch Faktoren wie der Zeitdauer, die ein Nebenprozessorzugriff zu der Speicher- oder der Ein-/Ausgabeeinheit hat, der Zeit seit dem letzten Zugriff, u. ä. festgelegt sein. Wenn jedoch das Master-System ausfällt, ist dadurch verhindert, daß die Slave-Prozessoren Zugriff zu den Speicher- oder Ein-/Ausgabeeinheiten haben, bis das Hauptsystem instandgesetzt ist. Ferner kann es in dem Hauptsystem zu einem Engpaß kommen, wenn das Master-System bezüglich des Zugriffs zu den Speicher- oder Ein-/Ausgabeeinheiten zu schnell entscheiden muß, so daß dadurch die Slave-Prozessoren langsamer werden.In a second arrangement, a computer circuit is included a host computer system provided to switch between a number to decide subordinate or subprocessors. These Decision can be made by factors such as the length of time that a Auxiliary processor access to the memory or the input / output unit the time since the last access, u. Ä. fixed be. However, if the master system fails, that is prevents the slave processors from accessing to the storage or input / output units, up to the main system is repaired. It can also in the Main system come to a bottleneck when it comes to the master system access to the storage or input / output units must decide too quickly, so that the Slave processors are slowing down.

In einer dritten Anordnung ist eine wechselseitig wirkende Steuereinheit zwischen den Prozessoren und den Speicher- und Ein-/Ausgabeeinheiten vorgesehen, um den Zugriff zwischen den Prozessoren und den Speicher- und Ein-/Ausgabeeinheiten zu steuern. Diese wechselseitig wirkende Steuereinheit verhindert jedoch nicht, daß die Prozessoren selbst arbeiten, während sie warten, um Zugriff zu den Speicher- und Ein-/Ausgabeeinheiten zu haben. Bei dieser Anordnung ergeben sich sonst die gleichen Schwierigkeiten wie bei dem vorstehend angeführten Master-Slave-Verarbeitungssystem.In a third arrangement, there is a two-way arrangement Control unit between the processors and the memory and Input / output units provided to allow access between the Processors and the storage and input / output units Taxes. This reciprocal control unit prevents however, not that the processors work themselves while  they are waiting for access to the storage and input / output units to have. Otherwise this arrangement results the same difficulties as those mentioned above Master-slave processing system.

Da die Anforderungen an die Rechnerleistung weiter gestiegen sind, muß mehr und mehr Steuerinformation zwischen den verschiedenen Einheiten und Teilen des Systems durchlaufen. Hierzu ist zusätzlich eine Anzahl Steuerleitungen zwischen den Einheiten und Teilen erforderlich, wodurch die Kosten sowohl für die Steuerleitung selbst als auch für die zusätzlichen elektronischen Schaltungen steigen, die erforderlich sind, um eine Information auf den Leitungen auszuwerten und Information auf den Leitungen unterzubringen.As the demands on computer performance continued to increase there must be more and more tax information between the different Go through units and parts of the system. For this is also a number of control lines between the Units and parts required, reducing both the cost for the control line itself as well as for the additional ones electronic circuits that are required to rise evaluate information on the lines and information to accommodate on the lines.

Bei einem anderen bekannten Datenverarbeitungssystem mit Funktionseinheiten der eingangs genannten Art (US-PS 40 00 485) wird durch eine Funktionseinheit eine Operation mit Sperreffekt dadurch eingeleitet, daß ein Test- und Setz-Buskommando insbesondere an einem gemeinsamen Speicher übertragen wird. Bei dieser bekannten Einrichtung muß jedesmal, wenn ein Zugriff zu dem Speicher gewünscht wird, ein Abfragevorgang durchgeführt werden, wonach eine Einstelloperation durchgeführt werden muß, wenn der Zugriff nicht verhindert ist. Dabei wäre es deshalb nicht nur wünschenswert, die Verarbeitungszeit verringern zu können, sondern auch eine effiziente Ausnutzung der Bus- Bandbreite zu ermöglichen.In another known data processing system with Functional units of the type mentioned at the beginning (US-PS 40 00 485) is a function with an operation with locking effect initiated in that a test and set bus command in particular is transferred to a common memory. At This known device must be accessed every time about the memory is desired, a query operation is performed after which an adjustment operation must be performed if access is not prevented. Therefore it would be not only desirable to reduce processing time can, but also an efficient use of the bus Enable bandwidth.

Es ist Aufgabe der Erfindung, eine insbesondere mit einem gemeinsamen Speicher Übertragungsverbindungen ermöglichende Funktionseinheit derart zu verbessern, daß mit möglichst geringem schaltungstechnischem Aufwand ein gleichzeitiger Zugriff zu dem gemeinsamen Bus ohne Durchführung vorangehender Prüf- und Setz-Operationen vermieden werden kann. Diese Aufgabe wird erfindungsgemäß durch den Gegenstand des Patentanspruchs gelöst. It is an object of the invention, in particular with a shared memory enabling communication links To improve functional unit so that with as little as possible circuitry effort a simultaneous access to the common bus without carrying out previous test and setting operations can be avoided. This task will according to the invention by the subject matter of the claim solved.  

Durch die Verteilung der den Zugriff regulierenden Schaltung werden insbesondere zwei Vorteile erzielt. Erstens müssen die Funktionseinheiten nicht irgend eine externe Einrichtung wie beispielsweise einen Hauptprozessor oder einen Speicher abfragen, um feststellen zu können, ob ein Zugriff möglich ist. Dadurch wird die Zeitdauer verkürzt, die für eine Entscheidung für einen Zugriff benötigt wird. Zweitens verfügt die Funktionseinheit selbst über Informationen, wodurch der Datenholvorgang auf eine einzige Operation reduziert wird.By distributing the access regulating circuit two advantages are achieved in particular. First, they have to Functional units not just any external facility like for example querying a main processor or a memory, to see if access is possible. This will shorten the time it takes to make a decision is required for access. Second, the functional unit itself about information, causing the data fetch process is reduced to a single operation.

Wenn beispielsweise mehrere Prozessoren vorgesehen sind, wird ein von einem Prozessor abgegebenes Sperrkommando von allen anderen Prozessoren empfangen. Dieses Kommando verhindert, daß die anderen Prozessoren ein Sperrkommando der gleichen Art übertragen können, bevor ein Freigabekommando wirksam wird. Jeder Prozessor kann ein derartiges Freigabekommando abgeben.For example, if multiple processors are provided, a lock command issued by a processor by everyone other processors received. This command prevents the other processors a lock command of the same type can be transmitted before a release command takes effect. Each processor can issue such a release command.

Ein weiterer Vorteil der Erfindung ist darin zu sehen, daß nicht eine Mehrzahl von Leitungen zwischen den Funktionseinheiten erforderlich ist, sondern mit Hilfe einer angesteuerten Leitung angezeigt werden kann, daß die Informationsübertragungsleitungen in Benutzung sind.Another advantage of the invention is that it does not a plurality of lines between the functional units required but with the help of a controlled line can be displayed that the information transmission lines are in use.

Anhand der Zeichnung soll die Erfindung beispielsweise näher erläutert werden. Es zeigtBased on the drawing, the invention is intended to be more specific, for example are explained. It shows

Fig. 1 ein Blockschaltbild eines digitalen Datenverarbeitungssystems mit Funktionseinheiten gemäß der Erfindung; Figure 1 is a block diagram of a digital data processing system with functional units according to the invention.

Fig. 2A bis 2c schematisch Datenarten, die in Verbindung mit einer bestimmten Ausführungsform der Erfindung verwendet werden; Figs. 2A to 2C schematically types of data that are used in connection with a particular embodiment of the invention;

Fig. 3 Leitungen und entsprechende Signale zur Herstellung einer Verbindung in dem digitalen Datenverarbeitungssystem in Fig. 1; Fig. 3 lines and corresponding signals for establishing a connection in the digital data processing system in Fig. 1;

Fig. 4 ein Schema, in welchem die Reihenfolge einer Lesetransaktion dargestellt ist, die zwischen den in Fig. 3 dargestellten Einheiten vorkommen kann; Fig. 4 is a diagram showing the order of a read transaction that can occur between the units shown in Fig. 3;

Fig. 5 ein Diagramm, in welchem Reihenfolgen von Operationen für eine Lesetransaktion dargestellt sind, welche zwischen den in Fig. 3 dargestellten Einheiten vorkommen können; Fig. 5 is a diagram showing orders of operations for a read transaction that may occur between the units shown in Fig. 3;

Fig. 6 ein Schaltbild eines Teils der in Fig. 3 dargestellten Mastereinheit und Fig. 6 is a circuit diagram of part of the master unit shown in Fig. 3 and

Fig. 7 eine schematische Schaltung eines Teils einer in Fig. 3 dargestellten Slaveeinheit. Fig. 7 is a schematic circuit of part of a slave unit shown in Fig. 3.

Wie beispielsweise in Fig. 1 dargestellt ist, weisen die Grundelemente eines Datenverarbeitungssystems, insbesondere eines Mehrprozessorsystems, einen ersten Zentralprozessor 10, einen zweiten Zentralprozessor 10 A, Speichereinheiten 11 und Ein-/Ausgabe-(E/A-)Einheiten 12 auf. Ein Bus 14 verbindet die Zentralprozessoren 10 und 10 A, die Speichereinheiten 11 und die E/A-Einheiten 12. In einem Mehrprozessorsystem können auch mehr als zwei Zentralprozessoren mit dem Bus 14 verbunden sein. Sie würden dann in ähnlicher Weise wie die Prozessoren 10 und 10 A mit dem Bus 14 verbunden sein.As shown in FIG. 1, for example, the basic elements of a data processing system, in particular a multiprocessor system, have a first central processor 10 , a second central processor 10 A , storage units 11 and input / output (I / O) units 12 . A bus 14 connects the central processors 10 and 10 A , the memory units 11 and the I / O units 12 . In a multiprocessor system, more than two central processors can also be connected to the bus 14 . They would then be connected to bus 14 in a manner similar to processors 10 and 10 A.

Der Zentralprozessor 10 weist ein Bedienungspult 15, ein Bus-Interface und andere herkömmliche Schaltungen auf, die normalerweise in dem Zentralprozessor untergebracht sind. Der Zentralprozessor 10 A und andere Zentralprozessoren, die an den Bus 14 angeschlossen sein können, können wie der Prozessor 10 ausgebildet sein; es ist jedoch erforderlich, daß die Zentralprozessoren an einen Bus 14 angekoppelt werden können. Eine Interfaceschaltung 16 erhält alle Daten von dem Speicher und führt alle Transaktionen für die übrigen Schaltungen in dem Zentralprozessor 10 durch.The central processor 10 has a control panel 15 , a bus interface and other conventional circuitry that is normally housed in the central processor. Be the central processor 10 and other A central processors which can be connected to the bus 14, as may the processor 10 is formed; however, it is necessary that the central processors can be coupled to a bus 14 . An interface circuit 16 receives all data from the memory and performs all transactions for the other circuits in the central processor 10 .

Das Bedienungspult 15 dient als Interface für die Bedienungsperson. Von hier aus kann die Bedienungsperson Daten prüfen und ablegen, den Betrieb des Zentralprozessors 10 anhalten oder durch eine Reihe von Programmbefehlen schrittweise weiterschalten. Eine Bedienungsperson kann das System durch eine Ureingabe (Bootstrap-Vorgang) initialisieren und kann verschiedene Diagnosetests an dem ganzen Datenverarbeitungssystem durchführen. Der Zentralprozessor 10 A weist im allgemeinen ein (nicht dargestelltes) Bedienungspult auf.The control panel 15 serves as an interface for the operator. From here, the operator can check and store data, stop the operation of the central processor 10 or step through a series of program commands. An operator can initialize the system through an initial input (bootstrap process) and can perform various diagnostic tests on the entire data processing system. The central processor 10 A generally has a control panel (not shown).

In Fig. 1 weist die Speichereinheit 11 eine Speichersteuereinheit 20 auf, welche mit einer Anzahl Speicherfelder 21 verbunden ist.In Fig. 1, the memory unit 11 to a memory control unit 20 which is connected to a number of storage panels 21.

Es sind verschiedene Arten von E/A-Einheiten 12 dargestellt. Ein E/A-Busadapter 22 verbindet mehrere Ein-/Ausgabegeräte 23, wie beispielsweise Fernschreiber oder Kathodenstrahlröhren, mit dem Bus 14 (US-PS 37 10 324).Various types of I / O units 12 are shown. An I / O bus adapter 22 connects several input / output devices 23 , such as teleprinters or cathode ray tubes, to the bus 14 (US Pat. No. 37 10 324).

Die zwei anderen, in Fig. 1 dargestellten E/A-Einheiten 12 schaffen eine Sekundärspeichereinrichtung für das Datenverarbeitungssystem. Sie weisen einen Sekundärspeicher-Busadapter 24 und eine Anzahl Plattenantriebe bzw. -laufwerke 25 auf. Ferner ist ein zweiter Sekundärspeicher-Busadapter 26 und ein Bandantrieb 27 dargestellt. Die Verbindung der Sekun­ därspeicher-Busadapter 24 und 26 und ihrer jeweiligen Plattenantriebe 25 und des Bandantriebs 27 sind an sich bekannt (US-PS 39 99 163).The two other I / O units 12 shown in FIG. 1 create a secondary storage device for the data processing system. They have a secondary storage bus adapter 24 and a number of disk drives or drives 25 . Furthermore, a second secondary memory bus adapter 26 and a belt drive 27 are shown. The connection of the secondary storage bus adapter 24 and 26 and their respective disk drives 25 and the belt drive 27 are known per se (US-PS 39 99 163).

Der Bus verbindet die verschiedenen Einheiten oder Teile eines Datenverarbeitungssystems. Bevor eine Informationsübertragung zwischen verschiedenen Paaren der mit der Vielfachleitung verbundenen Einheiten beschrieben wird, dürfte es zuerst nützlich sein, einige Definitionen von Ausdrücken oder Begriffen einzuführen, die bereits verwendet worden sind und die in Zukunft verwendet werden.The bus connects the different ones Units or parts of a data processing system. Before an information transfer between different pairs of units connected to the multiple line are described, it may be useful first to find some definitions of expressions or introduce terms that have already been used and that will be used in the future.

"Information" ist Intelligenz, die zum Steuern verwendet wird und die Basis für eine Datenverarbeitung schafft. Sie schließt Daten- und Adressen- sowie Befehls- und Zustandsinformation ein. Der Begriff "Daten" schließt Information ein, welche Gegenstand oder Ergebnis einer Verarbeitung ist. Informationsübertragungen zwischen den Einheiten in dem in Fig. 1 dargestellten Datenverarbeitungssystem erfolgen über den Bus 14 und schließen Übertragungen von diskreten Informationsdatenworten mit ein. Jedes Datenwort hat eine charakteristische Länge auf dem Bus 14. Andere Einheiten können Informationsdatenworte mit anderen Längen verarbeiten. Das einfachste Informationsdatenwort ist das Byte. In einer bestimmten Ausführungsform des in Fig. 1 dargestellten Datenverarbeitungssystems weist das Byte acht Binärstellen (oder Bits) auf. In Fig. 2A sind acht zusammenhängende Bytes dargestellt. Die nächste größere Datenwortlänge ist ein "Wort", wie es in Fig. 2B dargestellt ist. Ein Wort weist zwei zusammenhängende Bytes auf. Zwei zusammenhängende Worte bilden ein "Langwort", wie in Fig. 2C dargestellt ist."Information" is intelligence that is used for control and creates the basis for data processing. It includes data and address as well as command and status information. The term "data" includes information which is the subject or result of processing. Information transfers between the units in the data processing system shown in FIG. 1 take place via the bus 14 and include transfers of discrete information data words. Each data word has a characteristic length on bus 14 . Other units can process information data words of different lengths. The simplest information data word is the byte. In a particular embodiment of the data processing system shown in Figure 1, the byte has eight binary digits (or bits). In Fig. 2A, eight contiguous bytes are shown. The next larger data word length is a "word" as shown in Figure 2B. A word has two contiguous bytes. Two contiguous words form a "long word", as shown in Fig. 2C.

Der Bus 14 kann alle Information in paralleler Form als ein Langwort übertragen. In den zwei in Fig. 2A dargestellten, zusammenhängenden Langworten ist das Byte 0 die niedrigstwertige Bytestelle jedes Langworts. Das Wort 0 und das Langwort 0 sind die niedrigstwertige Wort- und Langwortstelle in Fig. 2B bzw. 2C. In der folgenden Beschreibung ist vorausgesetzt, daß entsprechende Ausrichtungen in dem Datenverarbeitungssystem erhalten werden; es gibt jedoch keine Bedingung oder Voraussetzung, daß irgendeine dieser Ausrichtungen aufrechtzuerhalten ist.The bus 14 can transmit all information in parallel as a long word. In the two contiguous long words shown in Figure 2A, byte 0 is the least significant byte location of each long word. Word 0 and long word 0 are the least significant word and long word positions in Figures 2B and 2C, respectively. In the following description it is assumed that corresponding alignments are obtained in the data processing system; however, there is no condition or requirement that any of these orientations be maintained.

Wenn zwei Einheiten über den Bus 14 Information auszutauschen haben, sind mindestens zwei Transaktionen über den Bus, d. h. zwei "Bustransaktionen" notwendig. Während einer ersten Bustransaktion fordert eine Einheit den Informationsaustausch an und überträgt Befehls- und Adresseninformation an den Bus 14. Das andere, durch die Adresseninformation bestimmte Element spricht an und bereitet sich für den Informationsaustausch vor. Hierdurch ist eine erste Bustransaktion beendet. Während der zweiten Bustransaktion läuft die auszutauschende Information über den Bus 14.If two units have to exchange information via the bus 14 , at least two transactions via the bus, ie two "bus transactions", are necessary. During a first bus transaction, a unit requests information exchange and transmits command and address information to bus 14 . The other element, determined by the address information, speaks and prepares for the exchange of information. This ends a first bus transaction. During the second bus transaction, the information to be exchanged runs via bus 14 .

Jede Einheit, welche an den Bus 14 angeschlossen ist, wird eine Verknüpfung (Nexus) genannt. Das spezielle, in Fig. 1 dargestellte System weist 6 Verknüpfungen auf. Eine Verknüpfung wird während eines Informationsaustausches in Form ihrer Funktion festgelegt. Während eines derartigen Austausches wird die Verknüpfung, welche Befehls- und Adresseninformation an den Bus 14 überträgt, in Fig. 3 als "Master-Verknüpfung" 30 A bezeichnet. Die Einheit, die auf diese Befehls- und Adresseninformation anspricht, wird als "Slave- oder Nebenverknüpfung" 30 B bezeichnet. Wenn folglich ein Zentralprozessor Daten aus der Speichersteuereinheit 20 wieder auffinden muß, wird der Zentralprozessor eine Master- oder Hauptverknüpfung und überträgt ein Lese- oder ein Lesesperrkommando und eine Speicheradresse während einer ersten Bustransaktion. Die Speichersteuereinheit 20 wird eine untergeordnete Verknüpfung, wenn sie die Befehls- und Adresseninformation von dem Bus 14 empfängt und übernimmt.Each unit that is connected to bus 14 is called a link (nexus). The special system shown in Fig. 1 has 6 links. A link is defined in the form of its function during an information exchange. During such an exchange, the link which transmits command and address information to the bus 14 is referred to in FIG. 3 as the "master link" 30 A. The unit which responds to this command and address information is referred to as "slave or secondary linkage" 30 B. Thus, when a central processor needs to retrieve data from memory controller 20 , the central processor becomes a master or master link and transmits a read or a read lock command and a memory address during a first bus transaction. The memory control unit 20 becomes a subordinate link when it receives and accepts the command and address information from the bus 14 .

Eine Verknüpfung ist auch als eine sendende oder empfangende Verknüpfungseinheit definiert. Eine sendende Verknüpfungseinheit steuert die Signalleitungen an, während die empfangende Verknüpfungseinheit während jeder Bustransaktion die Signalleitungen abtastet und prüft. In dem folgenden Beispiel ist der Zentralprozessor während der ersten Bustransaktion eine sendende Verknüpfung und während der zweiten Bustransaktion eine empfangende Verknüpfung. In ähnlicher Weise ist die Speichersteuereinheit 20 während der ersten Bustransaktion eine empfangende Verknüpfungseinheit und während der zweiten Bustransaktion eine sendende Verknüpfungseinheit. Ähnliche Transaktionen kommen bei einem Informationsaustausch zwischen irgendwelchen anderen Verknüpfungseinheiten vor. Jedoch fungieren die Speichersteuereinheiten normalerweise nur als Slave-Verknüpfungseinheiten, während Zentralprozessoren normalerweise als Master- oder Hauptverknüpfungseinheiten fungieren.A link is also defined as a sending or receiving link unit. A sending link unit drives the signal lines, while the receiving link unit scans and checks the signal lines during each bus transaction. In the following example, the central processor is a sending link during the first bus transaction and a receiving link during the second bus transaction. Similarly, memory control unit 20 is a receiving link unit during the first bus transaction and a sending link unit during the second bus transaction. Similar transactions occur when information is exchanged between any other linking units. However, the memory control units normally only function as slave link units, while central processors normally function as master or main link units.

Bei der dargestellten Ausführungsform der Erfindung befördert der Bus 14 eine Anzahl Signale zu und von den verschiedenen Einheiten, welche über entsprechende Leitungen mit ihr verbunden sind. Diese Leitungen und Signale können in drei allgemeine Klassen aufgelistet werden:In the illustrated embodiment of the invention, bus 14 carries a number of signals to and from the various units which are connected to it via corresponding lines. These lines and signals can be listed in three general classes:

  • 1. Ein Entscheidungssignal über die Entscheidungsleitung 31 des Bus;1. A decision signal via the decision line 31 of the bus;
  • 2. Eine Informationsübertragung über die Daten/Adressenleitungen 32 und 33 des Bus und2. An information transfer over the data / address lines 32 and 33 of the bus and
  • 3. Ein Steuersignal über Steuerleitungen 34 bis 38 des Bus.3. A control signal via control lines 34 through 38 of the bus.

Die Leitungen 31 bis 38 bilden den Bus 14. Der Datenadressen- oder Informationsübertragungs-Bus weist Informationsleitungen 32 und Funktion-Leitungen 33 auf. Befehle werden über Funktion-Leitungen 33 abgegeben.Lines 31 to 38 form bus 14 . The data address or information transfer bus has information lines 32 and function lines 33 . Commands are issued via function lines 33 .

Die Steuerleitungen und Signale weisen eine Zustandsleitung 34, eine Halteleitung 35, eine Warteleitung 36, eine DBBZ-Leitung 37 und eine Taktleitung 38 auf. Die Zustandsinformation zeigt an, ob die adressierte Speicherstelle die geforderte Information hat und ob die Information gültig ist. Das Haltesignal verhindert, wenn es auf der Halteleitung 35 eingefügt wird, daß irgendwelche Verknüpfungen den Daten/Adressenbus steuern. Haltesignale können beispielsweise verwendet werden, um in bestimmten Speichern die Geschwindigkeit zu steuern, mit welcher Schreibtransaktionen vorkommen.The control lines and signals have a status line 34 , a holding line 35 , a waiting line 36 , a DBBZ line 37 and a clock line 38 . The status information indicates whether the addressed memory location has the requested information and whether the information is valid. The hold signal, when inserted on hold line 35 , prevents any gates from controlling the data / address bus. Hold signals can be used, for example, to control the speed at which write transactions occur in certain memories.

Das auf der Warteleitung 36 geltend gemachte und durchgesetzte Wartesignal schließt Unterbrechungstransaktionen ein. Das Blockiersignal DBBZ oder das Daten/Adressen-Bus-Besetztsignal zeigt an, wenn es auf der Blockiersignalleitung 37 geltend gemacht und durchgesetzt ist, wann eine Verknüpfung über den Daten-Adressen-Bus eine Information anfordert oder überträgt.The wait signal asserted and enforced on the wait line 36 includes interrupt transactions. The blocking signal DBBZ or the data / address bus busy signal indicates when it is asserted on the blocking signal line 37 and enforced when a link via the data address bus is requesting information or transmits.

Eine Anzahl Befehle können über die Funktion-Leitungen 33 gesendet werden, insbesondere Lese-, Lesesperr-, Schreib- und Schreibsperr- Kommandos. Wenn eine Verknüpfungseinheit einen Lesebefehl ausgibt, fordert sie den Inhalt einer Speicherstelle zu lesen, dessen Adresse über die Übertragungsleitungen 32 übertragen wird. Ein Lesesperrkommando zeigt an, daß die befehlende Verknüpfungseinheit fordert, die adressierte Speicherstelle zu lesen und verhindert, daß andere Verknüpfungseinheiten mit ihren eigenen Lesesperrkommandos Zugriff zu dem Bus erhalten, bis ein Schreib-Freigabekommando an die Funktion-Leitung gegeben wird. Das Lesesperrkommando verhindert nicht, daß eine andere Master-Verknüpfungseinheit einen Lese- oder Schreibbefehl ausgibt. Das Lesesperrkommando wird hauptsächlich dazu verwendet zu verhindern, daß andere Prozessoren oder Verknüpfungseinheiten Zugriff zu einem Speicher haben, in welchem eine ungültige Information sein kann, oder möglicherweise eine ungültige Information lesen. Dies ist möglich, wenn der Prozessor, der ursprünglich das Lesesperrkommando ausgegeben hat, Zugriff zu dem Speicher hat und eine Information in dem Speicher modifizieren kann, zum selben Zeitpunkt, wenn ein anderer Prozessor versucht, sie aus demselben Speicher zu lesen. Um dies zu verhindern, gibt der erste Prozessor einen Lesesperrkommando- Befehl, um dadurch sicherzustellen, daß verhindert ist, daß andere Verknüpfungseinheiten Zugriff zu dem Speicher erhalten.A number of commands can be sent via the function lines 33 , in particular read, read lock, write and write lock commands. When a link unit issues a read command, it asks to read the contents of a memory location whose address is transmitted over the transmission lines 32 . A read lock command indicates that the commanding link unit requests to read the addressed memory location and prevents other link units with their own read lock commands from accessing the bus until a write enable command is given to the function line. The read lock command does not prevent another master link unit from issuing a read or write command. The read lock command is primarily used to prevent other processors or link units from accessing a memory in which there may be invalid information, or possibly reading invalid information. This is possible if the processor that originally issued the read lock command has access to the memory and can modify information in the memory at the same time that another processor tries to read it from the same memory. To prevent this, the first processor issues a read lock command to ensure that other link units are prevented from accessing the memory.

Wie oben ausgeführt, sind für jede Lese- und für Schreibtransaktion zwei Bustransaktionen erforderlich. In Fig. 4 und 5 sind für die wiedergegebene Ausführungsform Beispiele für eine Lese- und eine Schreibtransaktion dargestellt. In Fig. 4 und 5 sind die positiven (zu beanspruchenden) Signale zur Vereinfachung der Beschreibung als richtig oder beansprucht dargestellt, wenn sie einen hohen Pegel haben. Geerdete Beanspruchungsschaltungen und Signale (d. h. die geltend gemacht oder richtig sind, wenn sie niedrig sind) ergänzen normalerweise diese Logik. Die Umwandlung zwischen positiver und geerdeter Logik, die auf dem sogenannten Morgan-Lehrsatz beruht, ist an sich bekannt.As stated above, two bus transactions are required for each read and write transaction. In Figs. 4 and 5 examples of a read and a write transaction are shown for the reproduced embodiment. In Figs. 4 and 5, the positive are shown (to be claimed) signals to simplify the description or claimed to be correct when they have a high level. Grounded stress circuits and signals (ie, asserted or correct when they are low) usually complement this logic. The transformation between positive and grounded logic, which is based on the so-called Morgan theorem, is known per se.

Fig. 4 ist ein Beispiel für eine Lesetransaktion zwischen zwei in Fig. 3 dargestellten Verknüpfungseinheiten. Die Taktimpulse kennzeichnen und begrenzen die verschiedenen Zyklen auf dem Bus, wobei ein neuer Zyklus bei der Vorderflanke jedes positiv werdenden Impulses beginnt. Wenn die Master-Verknüpfungseinheit den Bus benutzen will, um aus einer untergeordneten Verknüpfungseinheit, beispielsweise einem Speicher zu lesen, macht die Mastereinheit ihr Prioritätssignal auf der Entscheidungsleitung 31 geltend. Wenn ihre Priorität die höchste ist, und wenn die Halte- und DBBZ-Leitungen alle auf nicht beanspruchtem Pegel liegen, erhält die Haupteinheit die Steuerung des Bus 14, indem das DBBZ-Signal beansprucht wird, wie zum Zeitpunkt B in Fig. 4 dargestellt ist. Die Mastereinheit beansprucht für einen Zyklus die DBBZ-Leitung und überträgt gleichzeitig Adressen- und Steuerinformation auf der Daten/Adressenleitung 32 und 33. Die Mastereinheit verschiebt dann das Blockiersignal DBBZ auf einen nicht beanspruchten Pegel. FIG. 4 is an example of a read transaction between two link units shown in FIG. 3. The clock pulses characterize and limit the various cycles on the bus, with a new cycle beginning on the leading edge of each positive pulse. If the master link unit wants to use the bus to read from a subordinate link unit, for example a memory, the master unit asserts its priority signal on the decision line 31 . If its priority is the highest, and if the hold and DBBZ lines are all at the unused level, the master receives control of bus 14 by asserting the DBBZ signal, as shown at time B in FIG. 4 . The master unit claims the DBBZ line for one cycle and simultaneously transmits address and control information on the data / address line 32 and 33 . The master unit then shifts the blocking signal DBBZ to an unused level.

Die adressierte Slaveeinheit beansprucht vom Zeitpunkt C bis zum Zeitpunkt D die DBBZ-Leitung, wie dargestellt ist. Keine andere Verknüpfungseinheit kann dann Kontrolle über den Bus erhalten, solange die Slaveeinheit die DBBZ-Leitung beansprucht. Wenn die untergeordnete Einheit bereit ist, Information an die Haupteinheit zu übertragen, verschiebt die untergeordnete Einheit das DBBZ-Signal auf einen nicht beanspruchten Pegel und überträgt, wie vom Zeitpunkt D bis zum Zeitpunkt E dargestellt ist, die Information auf der Daten/Adressenleitung und gibt gleichzeitig eine Zustandsinformation auf der Zustandsleitung 34 zurück.The addressed slave unit claims the DBBZ line from time C to time D , as shown. No other link unit can then gain control of the bus as long as the slave unit uses the DBBZ line. When the slave is ready to transmit information to the master, the slave shifts the DBBZ signal to an unused level and, as shown from time D to time E , transmits the information on the data / address line and gives at the same time return status information on status line 34 .

Da die DBBZ-Leitung nach dem Zeitpunkt D nicht mehr beansprucht wird, kann eine andere Haupteinheit versuchen, die Steuerung der Vielfachleitung während des zum Zeitpunkt D beginnenden Zyklus zu erhalten. Während dieses Zyklus kann sie dann ihr Prioritätssignal geltend machen und die DBBZ-Leitung während des zum Zeitpunkt E beginnenden Zyklus beanspruchen, um eine Adresse und Steuerung zu übertragen und um eine neue Transaktion zu beginnen. Auf diese Weise können sich die Transaktionen bei einem Zyklus überlappen, wodurch die Transaktionszeit verringert wird. Mit anderen Worten, es können während einer vorgegebenen Zeitperiode mehr Zugriffe zu einem Speicher versucht werden als wenn die Transaktionen auf dem Bus sich nicht überlappen. Dieses Überlappen ist zum Teil durch das Zustandssignal in Fig. 4 dargestellt. Das linke höchstwertige Zustandssignal, das während des unmittelbar auf dem Zeitpunkt B folgenden Zyklus abgegeben worden ist, kann beispielsweise von einer vorherigen Transaktion stammen.Since the DBBZ line is no longer used after time D , another main unit can try to maintain control of the multiple line during the cycle starting at time D. During this cycle, it can then assert its priority signal and claim the DBBZ line during the cycle beginning at time E to transfer address and control and to start a new transaction. This allows the transactions to overlap in one cycle, reducing transaction time. In other words, more accesses to a memory can be attempted during a given period of time than if the transactions on the bus do not overlap. This overlap is shown in part by the status signal in FIG. 4. The left most significant status signal, which was emitted during the cycle immediately following time B , can originate, for example, from a previous transaction.

Hierdurch machen dann sowohl die Haupteinheit als auch die untergeordnete Einheit ein DBBZ-Signal auf derselben Leitung geltend, wodurch die Anzahl der erforderlichen Leitungen in dem Bus verringert ist. Die Praxis war, eine Anzahl Besetztleitungen vorzusehen, die anzeigen, daß der Bus in Benutzung ist. Durch Verringern der Anzahl der Besetztleitungen kann die Gesamtzahl der Leitungen in dem Bus und infolgedessen die Schaltung, die zum Ansteuern dieser Leitung erforderlich ist, verkleinert werden.This then makes both the main unit and the subordinate Unit a DBBZ signal on the same line applicable, reducing the number of lines required on the bus is reduced. The practice was to provide a number of busy lines that indicate that the  Bus is in use. By reducing the number of the busy lines can be the total number of lines in the bus and, consequently, the circuitry used to Driving this line is required to be downsized.

In Fig. 5 ist eine Warte-Transaktion als Beispiel dargestellt. Eine Haupteinheit, die eine Warte-Transaktion wünscht, macht ihr Prioritätssignal über die Entscheidungsleitung 31 geltend. Wenn die Halte- und die DBBZ-Leitungen beide auf einem nicht geltend gemachten Pegel sind und die Priorität der Haupteinheit die höchste ist, erhält sie die Steuerung der DBBZ-Leitung und beansprucht die DBBZ-Leitung. Sie überträgt dann gleichzeitig Adresse- und Steuerinformation für einen Zyklus an die Daten/Adressenleitung. Die adressierte untergeordnete Einheit beansprucht die DBBZ-Leitung und erhält die Signale auf der Daten/Adressenleitung. Am Anfang des letzten Zyklus verschiebt die untergeordnete Einheit das DBBZ-Signal auf einen nicht beanspruchten Pegel und überträgt Zustandsinformation auf der Zustandsleitung 34. Der letzte Zyklus beginnt dann zum Zeitpunkt D. Da die DBBZ-Leitung niedrig ist, kann eine andere Haupteinheit ihr Prioritätssignal geltend machen, und wenn die Halte- und Warteleitungen nicht beansprucht sind, kann sie eine Steuerung des Bus durch Beanspruchen der DBBZ-Leitung zum Zeitpunkt E erhalten.In Fig. 5 a waiting transaction is shown as an example. A master unit wishing to have a wait transaction asserts its priority signal through decision line 31 . If the hold and DBBZ lines are both at a non-asserted level and the priority of the main unit is the highest, it receives control of the DBBZ line and claims the DBBZ line. It then simultaneously transmits address and control information to the data / address line for one cycle. The addressed subordinate unit uses the DBBZ line and receives the signals on the data / address line. At the beginning of the last cycle, the slave shifts the DBBZ signal to an unused level and transmits status information on status line 34 . The last cycle then begins at time D. Since the DBBZ line is low, another master can assert its priority signal, and if the hold and wait lines are not used, it can gain control of the bus by claiming the DBBZ line at time E.

In Fig. 6 und 7 sind Beispiele von Master- bzw. Slave-Schaltungen dargestellt, welche die DBBZ-Leitung zwischen geltendgemachten und nicht beanspruchten Pegeln verschieben. Eine in Fig. 6 dargestellte Kommandosignaleinrichtung 50, die in jeder Funktionseinheit vorgesehen ist, verhindert, daß eine andere Funktionseinheit mit einem Lesesperrkommando Zugriff zu der DBBZ-Leitung 37 erhält, wenn bereits eine Funktionseinheit vorher ein Lesesperrkommando ausgegeben hat, das durch ein Schreib-Freigabekommando nicht freigegeben worden ist. In Figs. 6 and 7 show examples of the master or slave circuits are shown which move the DBBZ line between asserted and non-claimed levels. A command signal device 50 shown in FIG. 6, which is provided in each functional unit, prevents another functional unit with a read inhibit command from gaining access to the DBBZ line 37 if a functional unit has previously issued a read inhibit command that was issued by a write-release command has not been released.

Die Kommandosignaleinrichtung 50 weist einen Befehlsdekodierer 51 auf, der die Kommandosignaleinrichtung entsprechend einem Lese- oder Schreibkommando, einem Lesesperrkommando READ LOCK oder einem Schreib-Freigabekommando WRITE UNLOCK betätigt. Wenn ein Lesesperrkommando ausgegeben wird, gibt der Dekodierer 51 einen hohen Eingang an ein NAND-Glied 52 und einen hohen Eingang an ein UND-Glied 53 ab. Wenn, wie nachstehend beschrieben, der zweite Eingang des NAND-Glieds 52 niedrig ist, wird der Ausgang des NAND-Glieds 52 hoch, und wenn das Haltesignal niedrig ist (nicht geltend gemacht wird), wenn die Entscheidungsleitung der Haupteinheit hoch ist (wodurch angezeigt ist, daß diese Haupteinheit die Priorität hat) und wenn die DBBZ- Leitung laufend niedrig ist (nichtbeansprucht wird), ist der Ausgang des UND-Glieds 53 hoch. Bei dem nächsten Taktimpuls eines Taktgebers 54 wird der Setzausgang eines D-Flip-Flops 55 hoch, wodurch die DBBZ-Leitung 37 auf einen hohen (beanspruchten) Pegel verschoben wird. Ein Inverter 54 A macht dann den Ausgang des UND-Glieds 53 niedrig. Bei dem nächsten Taktimpuls wird das Flip-Flop 55 rückgesetzt, wodurch die DBBZ-Leitung auf einen nicht beanspruchten Pegel verschoben wird. Folglich beansprucht die Haupteinheit die DBBZ-Leitung für einen Zyklus für die Zeit zwischen den zwei ersten Taktimpulsen.The command signal device 50 has a command decoder 51 , which actuates the command signal device in accordance with a read or write command, a read lock command READ LOCK or a write release command WRITE UNLOCK. When a read inhibit command is issued, decoder 51 outputs a high input to a NAND gate 52 and a high input to an AND gate 53 . As described below, when the second input of NAND gate 52 is low, the output of NAND gate 52 becomes high, and when the latch signal is low (not asserted) when the decision line of the main unit is high (indicating) is that this main unit has priority) and if the DBBZ line is continuously low (not used), the output of the AND gate 53 is high. At the next clock pulse from a clock generator 54 , the set output of a D flip-flop 55 goes high, as a result of which the DBBZ line 37 is shifted to a high (claimed) level. An inverter 54 A then makes the output of the AND gate 53 low. At the next clock pulse, flip-flop 55 is reset, causing the DBBZ line to shift to an unused level. As a result, the main unit takes up the DBBZ line for one cycle for the time between the first two clock pulses.

Die Kommandosignaleinrichtung 50 weist ein UND-Glied 56 und ein D-Flip-Flop 57 auf, welches den ersten Zyklus einer Master-Bus-Transaktion identifiziert. Bevor das Flip- Flop 55 die DBBZ-Leitung beansprucht, wird der Rücksetzausgang des Flip-Flops 57 ebenso wie der eine Eingang eines UND-Glieds 56 hoch. Wenn das Flip-Flop 55 die DBBZ-Leitung beansprucht wird der zweite Eingang an dem UND-Glied 56 hoch, und sein Ausgang wird ebenfalls hoch. Bei dem nächsten Taktimpuls wird das Flip-Flop 57 gesetzt, sein Rücksetzausgang wird niedrig und dadurch wird das UND-Glied 56 niedrig. Das UND-Glied 56 ist folglich nur während des ersten Zyklus hoch, der sonst der Adressenzyklus genannt wird.The command signal device 50 has an AND gate 56 and a D flip-flop 57 , which identifies the first cycle of a master bus transaction. Before the flip-flop 55 takes up the DBBZ line, the reset output of the flip-flop 57 , like the one input of an AND gate 56, goes high. When the flip-flop 55 is DBBZ claims the line of the second input of the AND gate 56 high, and its output is also high. At the next clock pulse, the flip-flop 57 is set, its reset output goes low and the AND gate 56 thereby goes low. The AND gate 56 is consequently high only during the first cycle, which is otherwise called the address cycle.

Die Kommandosignaleinrichtung 50 weist ein JK-Flip-Flop 58 auf, das die Transaktion auf dem Bus als Transaktion erkennt, die durch die betreffende Funktionseinheit als Master-Einheit eingeleitet wurde. Wenn der Ausgang des UND-Glieds 53 bei dem nächsten Taktimpuls hoch wird, wird auch der Setzausgang des JK-Flip-Flops 58 hoch (und sein Rücksetzausgang wird niedrig). Dadurch, daß die Setz- und Rücksetzausgänge des Flip-Flops 58 hoch bzw. niedrig werden, wird die Transaktion angezeigt, die durch diese Mastereinheit eingeleitet worden ist.The command signal device 50 has a JK flip-flop 58 which recognizes the transaction on the bus as a transaction which was initiated by the relevant functional unit as a master unit. When the output of the AND gate 53 goes high on the next clock pulse, the set output of the JK flip-flop 58 also goes high (and its reset output goes low). The fact that the set and reset outputs of flip-flop 58 go high and low indicates the transaction initiated by this master unit.

Die Kommandosignaleinrichtung 50 weist auch ein zweites JK-Flip-Flop 59 auf, das erkennt, wenn ein Lesesperrkommando auf den Funktion- Leitungen und wenn ein Befehl abgegeben worden ist. Das Flip-Flop 59 erkennt auch, wenn das vorherige Lesesperrkommando durch diese spezielle Mastereinheit ausgegeben worden ist. Wenn diese Mastereinheit das Lesesperrkommando ausgegeben hat, ist nicht verhindert, daß ein weiteres Lesesperrkommando ausgegeben wird. Mit dem Flip-Flop 59 ist dies auf die folgende Weise erreicht. Wenn ein Lesesperrkommando auf den Funktion-Leitungen 33 während eines Adressenzyklus untergebracht wird, dekodieren Inverter 60 A den Befehl auf den Funktion-Leitungen und setzen die Funktionseingänge an dem UND-Glied 60 hoch. Dadurch wird der Ausgang des UND- Glieds 56 hoch. Wenn das Lesesperrkommando von der Kommandosignaleinrichtung 50 nicht mehr ausgegeben wird, wird der Rücksetzausgang des Flip-Flops 58 hoch. Folglich wird der Ausgang des UND- Glieds 60 hoch, und bei dem nächsten Taktimpuls wird der Setzeingang des JK-Flip-Flops 59 hoch. Wenn der Setzausgang hoch ist und wenn ein Lesesperrkommando durch den Dekodierer 51 dekodiert wird, wird das NAND-Glied 52 niedrig angesteuert, und die Kommandosignaleinrichtung 50 kann die DBBZ-Leitung nicht beanspruchen. Der Setzausgang des JK-Flip-Flops 59 bleibt hoch, bis der K- Eingang bei einem Taktimpuls hoch angesteuert wird. Dies ist der Fall, wenn ein Schreib-Freigabekommando während eines Adressenzyklus auf den Funktion-Leitungen ausgegeben wird. Der Inverter 61 A dekodiert diesen Befehl und setzt die Funktionseingänge des UND-Glieds 61. Während des Adressenzyklus wird der Ausgang des UND-Glieds 56 hoch, welcher den Ausgang des UND-Glieds 61 hoch setzt. Dadurch wird das Flip-Flop 59 rück­ gesetzt und dessen Setzausgang niedrig. Das Flip-Flop bleibt rückgesetzt, bis es wieder durch ein Lesesperrkommando gesetzt wird. Wenn der Setzausgang niedrig ist und wenn ein Lesesperrkommando durch den Dekodierer 51 dekodiert wird, wird das NAND-Glied 52 hoch, so daß die Kommandosignaleinrichtung 50 die DBBZ-Leitung beanspruchen kann.The command signal device 50 also has a second JK flip-flop 59 , which detects when a read lock command on the function lines and when a command has been issued. The flip-flop 59 also recognizes when the previous read lock command has been issued by this special master unit. If this master unit has issued the read lock command, it is not prevented that another read lock command is issued. With the flip-flop 59 , this is achieved in the following way. If a read disable command is placed on the function lines 33 during an address cycle, inverters 60 A decode the command on the function lines and step up the function inputs on the AND gate 60 . This causes the output of the AND gate 56 to go high. When the read lock command is no longer issued by the command signal device 50 , the reset output of the flip-flop 58 goes high. As a result, the output of the AND gate 60 goes high and at the next clock pulse the set input of the JK flip-flop 59 goes high. When the set output is high and a read inhibit command is decoded by decoder 51 , NAND gate 52 is driven low and command signal device 50 cannot use the DBBZ line. The set output of the JK flip-flop 59 remains high until the K input is driven high with a clock pulse. This is the case if a write enable command is issued on the function lines during an address cycle. The inverter 61 A decodes this command and sets the functional inputs of the AND gate 61 . During the address cycle, the output of the AND gate 56 goes high, which sets the output of the AND gate 61 high. As a result, the flip-flop 59 is reset and its set output low. The flip-flop remains reset until it is set again by a read lock command. If the set output is low and when a read lock command is decoded by the decoder 51, the NAND gate 52 is high, so that the command signal 50 may take the DBBZ line.

Wenn dagegen die Kommandosignaleinrichtung 50 das Lesesperrkommando ausgibt, wird der Rücksetzausgang des Flip-Flops sowie der Ausgang des UND-Glieds 60 niedrig. Das Flip-Flop 59 bleibt somit rückgesetzt, und sein Setzausgang wird niedrig. Das NAND-Glied 52 läßt ein Lesesperrkommando durch, wenn der Ausgang des Flip-Flops 59 niedrig ist, was nur eintreten kann, wenn das vorherige Lesesperrkommando durch die Kommandosignaleinrichtung 50 ausgegeben worden ist oder wenn dieser Befehl durch das Schreibfreigabekommando ungültig gemacht worden ist.On the other hand, when the command signal device 50 issues the read lock command, the reset output of the flip-flop and the output of the AND gate 60 go low. The flip-flop 59 thus remains reset and its set output goes low. The NAND gate 52 passes a read inhibit command when the output of the flip-flop 59 is low, which can only occur if the previous read inhibit command has been issued by the command signal device 50 or if this command has been invalidated by the write enable command.

In Fig. 7 ist eine Ausführungsform einer Slave-Schaltung 70 zum Ansteuern der DBBZ-Leitung dargestellt. Wenn die Mastereinheit eine Adresseninformation auf der Daten/Adressenleitung abgibt, dekodiert ein Adressendekodierer 71 die Adresse und kennzeichnet diese Verknüpfungseinheit als die adressierte Slave-Einheit. Der Dekodierer 71 ist mit einem Eingang eines UND-Glieds 72 verbunden, dessen Ausgang mit dem J-Eingang eines JK-Flip-Flops 73 verbunden ist, das die DBBZ-Leitung 37 ansteuert. Die DBBZ- Leitung 37 ist ihrerseits mit einem UND-Glied 76 und dem D- Eingang eines Flip-Flops 77 verbunden. Der Rücksetzausgang des Flip-Flops 77 ist mit dem anderen Eingang des UND-Glieds 76 verbunden. Der Ausgang des UND-Glieds 76 ist mit dem zweiten Eingang des UND-Glieds 72 verbunden. Das Flip-Flop 77 identifiziert den ersten (Adressen-)Zyklus der Transaktion auf dem Bus in ähnlicher Weise wie es mit dem UND-Glied 56 in der Kommandosignaleinrichtung 50 erfolgt ist. Der Adressenzyklus wird für einen Zyklus beansprucht, worauf er auf einen nicht beanspruchten Pegel verschoben wird. Wenn der Adressenzyklus beansprucht wird, steuert das Flip-Flop 73 die DBBZ-Leitung 37 an. Während der nachfolgenden Taktzyklen wird der Adressenzyklus und das UND-Glied 72 niedrig, das Flip-Flop 73 bleibt jedoch angeschaltet (bzw. beansprucht) bis, wie nachstehend ausgeführt, die Information abgesendet werden kann. FIG. 7 shows an embodiment of a slave circuit 70 for driving the DBBZ line. When the master unit outputs address information on the data / address line, an address decoder 71 decodes the address and designates this link unit as the addressed slave unit. The decoder 71 is connected to an input of an AND gate 72 , the output of which is connected to the J input of a JK flip-flop 73 which drives the DBBZ line 37 . The DBBZ line 37 is in turn connected to an AND gate 76 and the D input of a flip-flop 77 . The reset output of flip-flop 77 is connected to the other input of AND gate 76 . The output of the AND gate 76 is connected to the second input of the AND gate 72 . The flip-flop 77 identifies the first (address) cycle of the transaction on the bus in a similar manner as was done with the AND gate 56 in the command signal device 50 . The address cycle is used for one cycle, after which it is shifted to an unused level. When the address cycle is claimed, flip-flop 73 drives DBBZ line 37 . During the subsequent clock cycles, the address cycle and AND gate 72 go low, but flip-flop 73 remains on (or claimed) until, as explained below, the information can be dispatched.

Ein Befehlsdekodierer 78 in der Slave-Verknüpfungseinheit erkennt, wenn die Daten bereit sind, um über die Daten/ Adressenleitung übertragen zu werden; die Datenbereitschafts-H- Leitung wird dann hoch, wodurch das Flip-Flop 73 rückgesetzt und die DBBZ-Leitung 37 niedrig wird. Hierdurch wird der Ausgang des UND-Glieds 76 niedrig gesteuert, welcher wiederum den Ausgang des UND-Glieds 72 niedrig steuert. Die Flip-Flops 73 und 77 werden beide durch den Taktgeber 54 gesteuert.A command decoder 78 in the slave link unit detects when the data is ready to be transmitted over the data / address line; the data ready H line then goes high, causing the flip-flop 73 to reset and the DBBZ line 37 to go low. As a result, the output of the AND gate 76 is controlled low, which in turn controls the output of the AND gate 72 low. The flip-flops 73 and 77 are both controlled by the clock 54 .

Entsprechend Fig. 6 wird bei einer Schreibtransaktion ein Lesesperrkommando von dem Befehlsdekodierer 51 nicht ausgegeben. Die Lesesperrkommando-Leitung wird niedrig (nicht beansprucht), so daß die Verknüpfungseinheit schreiben kann, ob nun ein Lesesperrkommando auf den Funktion-Leitungen vorliegt oder nicht. Die Speicheranforderungs-H-Leitung wird für eine Lesetransaktion beansprucht, wodurch das UND-Glied 53 hoch gesteuert und das Flip-Flop 55 gesetzt wird, das die DBBZ-Leitung 37 ansteuert. Die Slaveeinheit beansprucht bei einer Schreibtransaktion die DBBZ-Leitung in ähnlicher Weise wie bei einer Lesetransaktion. Die Slaveeinheit steuert die DBBZ-Leitung 37 an, bis sie einen Befehl erhält, der anzeigt, daß der nächste Zyklus der letzte Zyklus ist. Der Befehlsdekodierer 78 der Slaveeinheit steuert dann die Datenbereit-Leitung H hoch, wodurch das Flip-Flop 73 rückgesetzt wird. Eine Zustandsinformation wird dann von der Slaveeinheit über die Zustandsleitung zu der Mastereinheit übertragen.According to FIG. 6, a read lock command is not issued by the command decoder 51 in a write transaction. The read lock command line becomes low (not claimed) so that the link unit can write whether there is a read lock command on the function lines or not. The memory request H line is claimed for a read transaction, thereby driving the AND gate 53 high and setting the flip-flop 55 that drives the DBBZ line 37 . The slave unit claims the DBBZ line in a write transaction in a similar manner to a read transaction. The slave unit drives the DBBZ line 37 until it receives a command indicating that the next cycle is the last cycle. The command decoder 78 of the slave unit then drives the data ready line H high, whereby the flip-flop 73 is reset. Status information is then transmitted from the slave unit to the master unit via the status line.

Claims (1)

Funktionseinheit (10, 10 A, 12) wie Prozessor (10, 10 A) oder E/A-Einheit (12) für ein digitales Datenverarbeitungssystem mit einem Speicher (11), einem gemeinsamen Bus (14) sowie mit mindestens einer weiteren Funktionseinheit (10, 10 A, 12), welcher Speicher (11) und welche Funktionseinheiten (10, 10 A, 12) mit dem gemeinsamen Bus (14) verbunden sind, der Leitungen (31 bis 38) zur Übertragung von Daten und Kommandosignalen zwischen den Funktionseinheiten (10, 10 A, 11) und dem Speicher (11) aufweist, wobei jede Funktionseinheit (10, 10 A, 12) eine Kommandosignaleinrichtung (50, Fig. 6) aufweist, dadurch gekennzeichnet,
  • - daß die Kommandosignaleinrichtung (50, Fig. 6) auf Lesesperrkommandos (READ LOCK) und Schreib-Freigabekommandos (WRITE UNLOCK), die von den Funktionseinheiten (10, 10 A, 12) erzeugt und von den Funktionseinheiten (10, 10 A, 12) empfangen werden, derart anspricht, so
  • - daß sie ein Blockiersignal (DBBZ) auf der Blockiersignalleitung (37) des gemeinsamen Busses (14) erzeugt, wenn eine Funktionseinheit (10, 10 A, 12) als Master-Funktionseinheit (10, 10 A, 12) den Zugriff zum gemeinsamen Bus (14) erlangt hat und ein Lesesperrkommando (READ LOCK) auf den Funktion-Leitungen (33) des gemeinsamen Busses (14) ausgegeben hat und
  • - daß das Blockiersignal (DBBZ) auf die Kommandosignaleinrichtungen (50, Fig. 6) der anderen Funktionseinheiten (10, 10 A, 12) derart einwirkt, daß diese solange daran gehindert werden, als Master-Funktionseinheit (10, 10 A, 12) den Zugriff zum gemeinsamen Bus (14) zu erlangen und ein Lesesperrkommando (READ LOCK) auszugeben, bis durch die Ausgabe eines Schreib-Freigabekommandos (WRITE UNLOCK) das Blockiersignal (DBBZ) aufgehoben wird.
Functional unit ( 10, 10 A , 12 ) such as processor ( 10, 10 A ) or I / O unit ( 12 ) for a digital data processing system with a memory ( 11 ), a common bus ( 14 ) and with at least one further functional unit ( 10, 10 A , 12 ), which memory ( 11 ) and which functional units ( 10, 10 A , 12 ) are connected to the common bus ( 14 ), the lines ( 31 to 38 ) for the transmission of data and command signals between the functional units ( 10, 10 A , 11 ) and the memory ( 11 ), each functional unit ( 10, 10 A , 12 ) having a command signal device ( 50 , Fig. 6), characterized in that
  • - That the command signal device ( 50 , Fig. 6) on read lock commands (READ LOCK) and write-release commands (WRITE UNLOCK), which are generated by the functional units ( 10, 10 A , 12 ) and by the functional units ( 10, 10 A , 12 ) are received, so responsive, so
  • - That it generates a blocking signal ( DBBZ ) on the blocking signal line ( 37 ) of the common bus ( 14 ) when a functional unit ( 10, 10 A , 12 ) as a master functional unit ( 10, 10 A , 12 ) access to the common bus ( 14 ) and has issued a read lock command (READ LOCK) on the function lines ( 33 ) of the common bus ( 14 ) and
  • - That the blocking signal ( DBBZ ) acts on the command signal devices ( 50, Fig. 6) of the other functional units ( 10, 10 A , 12 ) in such a way that they are prevented as long as a master functional unit ( 10, 10 A , 12 ) to gain access to the common bus ( 14 ) and to issue a read lock command (READ LOCK) until the blocking signal ( DBBZ ) is released by issuing a write release command (WRITE UNLOCK).
DE19803009530 1979-03-12 1980-03-12 DATA PROCESSING SYSTEM Granted DE3009530A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US1935079A 1979-03-12 1979-03-12

Publications (2)

Publication Number Publication Date
DE3009530A1 DE3009530A1 (en) 1980-09-25
DE3009530C2 true DE3009530C2 (en) 1990-06-13

Family

ID=21792732

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19803009530 Granted DE3009530A1 (en) 1979-03-12 1980-03-12 DATA PROCESSING SYSTEM

Country Status (5)

Country Link
JP (1) JPS55134470A (en)
CA (1) CA1143854A (en)
DE (1) DE3009530A1 (en)
FR (1) FR2451600B1 (en)
GB (1) GB2044499B (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4381542A (en) * 1980-10-20 1983-04-26 Digital Equipment Corporation System for interrupt arbitration
DE3126384C2 (en) * 1981-07-03 1983-04-21 Siemens AG, 1000 Berlin und 8000 München Priority selector
US4719567A (en) * 1982-04-29 1988-01-12 Motorola, Inc. Method and apparatus for limiting bus utilization
AU564271B2 (en) * 1983-09-22 1987-08-06 Digital Equipment Corporation Retry mechanism for releasing control of a communications path in a digital computer system
US5341510A (en) * 1987-05-01 1994-08-23 Digital Equipment Corporation Commander node method and apparatus for assuring adequate access to system resources in a multiprocessor
US4949239A (en) * 1987-05-01 1990-08-14 Digital Equipment Corporation System for implementing multiple lock indicators on synchronous pended bus in multiprocessor computer system
US4941083A (en) * 1987-05-01 1990-07-10 Digital Equipment Corporation Method and apparatus for initiating interlock read transactions on a multiprocessor computer system
US4858116A (en) * 1987-05-01 1989-08-15 Digital Equipment Corporation Method and apparatus for managing multiple lock indicators in a multiprocessor computer system
JP2807010B2 (en) * 1988-01-27 1998-09-30 ストレイジ テクノロジー コーポレイション Tape drive control unit for interconnection between host computer and tape drive and method of operating the same
US5175829A (en) * 1988-10-25 1992-12-29 Hewlett-Packard Company Method and apparatus for bus lock during atomic computer operations
JPH02306355A (en) * 1988-10-25 1990-12-19 Apollo Computer Inc Bus lock system
US5167022A (en) * 1988-10-25 1992-11-24 Hewlett-Packard Company Multiprocessor bus locking system with a winning processor broadcasting an ownership signal causing all processors to halt their requests

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3815099A (en) * 1970-04-01 1974-06-04 Digital Equipment Corp Data processing system
US3710324A (en) * 1970-04-01 1973-01-09 Digital Equipment Corp Data processing system
NL7300218A (en) * 1973-01-08 1974-07-10
US3999163A (en) * 1974-01-10 1976-12-21 Digital Equipment Corporation Secondary storage facility for data processing systems
US4000485A (en) * 1975-06-30 1976-12-28 Honeywell Information Systems, Inc. Data processing system providing locked operation of shared resources

Also Published As

Publication number Publication date
FR2451600B1 (en) 1987-03-20
GB2044499A (en) 1980-10-15
JPS55134470A (en) 1980-10-20
JPS6119062B2 (en) 1986-05-15
DE3009530A1 (en) 1980-09-25
FR2451600A1 (en) 1980-10-10
GB2044499B (en) 1983-11-16
CA1143854A (en) 1983-03-29

Similar Documents

Publication Publication Date Title
DE3750938T2 (en) Multiprocessor system.
DE2856483C2 (en)
DE3146356C2 (en) Device for controlling the transmission of device control information in a data terminal
DE3685876T2 (en) MASTER SLAVE MICROPROCESSOR SYSTEM WITH A VIRTUAL MEMORY.
DE3204905C2 (en)
DE3114961C2 (en)
DE2448212C2 (en) Asynchronous bus line for communication with self-determined priority between mother computer devices and daughter computer devices
DE3909948C2 (en)
DE69127101T2 (en) DISTRIBUTED MULTIPLE COMPUTER COMMUNICATION SYSTEM
DE3783370T2 (en) CIRCUIT FOR BLOCKING PREVENTION OF HIGH PRIORITY REQUIREMENTS ON A SYSTEM CONTROL.
DE68923944T2 (en) RAM with double inputs / outputs.
DE68924313T2 (en) Multi-processor arrays with cross-polled write-in caches.
DE69131840T2 (en) Process for duplicating shared memory
EP0006164B1 (en) Multiprocessor system with jointly usable storages
DE69422221T2 (en) Accurate and complete transmission between different bus architectures
DE3009530C2 (en)
DE2523372B2 (en) Input-output port controller
DE3049774C2 (en)
DE69130946T2 (en) METHOD FOR EXCLUSIVE CONTROL FOR A COMMON STORAGE
DE3850514T2 (en) Cache with hit prediction logic.
DE69230483T2 (en) Quadrature bus protocol for executing transactions in a computer arrangement
DE69017367T2 (en) Circuit for testability.
DE4328909C2 (en) Information processing system, information processor in an information processing system and interrupt controller in an information processing system
EP0141332A2 (en) Arrangement with a plurality of buses for the connection of processors and memories in a multiprocessor system
DE3855718T2 (en) Transfer system between processors in a message processing system with transfer between execution processors during transfer between other processors

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee