DE3500248A1 - High-speed multiple bus structure and method of data transmission - Google Patents

High-speed multiple bus structure and method of data transmission

Info

Publication number
DE3500248A1
DE3500248A1 DE19853500248 DE3500248A DE3500248A1 DE 3500248 A1 DE3500248 A1 DE 3500248A1 DE 19853500248 DE19853500248 DE 19853500248 DE 3500248 A DE3500248 A DE 3500248A DE 3500248 A1 DE3500248 A1 DE 3500248A1
Authority
DE
Germany
Prior art keywords
bus
station
request
data
signal
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
DE19853500248
Other languages
German (de)
Inventor
Robert Leland Portland Oreg. Farrell
Alireza Hillsboro Oreg. Sarabi
Raymond Scott Portland Oreg. Tetrick
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Priority to DE19853500248 priority Critical patent/DE3500248A1/en
Publication of DE3500248A1 publication Critical patent/DE3500248A1/en
Withdrawn 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/376Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a contention resolving method, e.g. collision detection, collision avoidance
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)

Abstract

The bus structure comprises both a parallel bus (35) and a series bus (37), which connect to one another data processing units (25, 26) and peripheral devices (30), jointly referred to as "stations", in order to permit the interchange of data and messages at high speed using a minimum of "handshake" events before the actual data transmission. The serial and parallel bus protocols are controlled by message control devices (44, 50), which are coupled to each participating station. A local bus (56) is coupled to processing stations (25, 26) within the system in such a way that access can be made to local memories (54) and secondary processing resources (57) without adversely affecting the data traffic via the parallel bus (35). A direct access by other bus stations to resources (54) coupled to the local bus (56) of one station is likewise controlled by the message control device (44). <IMAGE>

Description

Hochgeschwindigkeits-Mehrfachbusstruktur und Verfahren High speed multiple bus structure and method

zur Datenübertragung Die Erfindung bezieht sich auf eine Hochgeschwindigkeits-Parallelbusstruktur und ein Verfahren zur Datenübertragung zwischen einer Quelle und einer Vielzahl von Empfangsdatenverarbeitungsgeräten. Insbesondere bezieht sich die Erfindung auf die Datenübertragung entlang eines Bus zwischen einer Quelle und einer Vielzahl von Datenverarbeitungs- und Peripheriegeräten unter Verwendung von Mehrfachbusstrukturen. for data transfer The invention relates to a high speed parallel bus structure and a method of transferring data between a source and a plurality of receiving data processing devices. In particular, the invention relates to the transfer of data along a bus between a source and a plurality of data processing and peripheral devices using multiple bus structures.

In der Computerindustrie ist es üblich, Daten und Befehle zwischen verschiedenen Datenverarbeitungsgeräten, z.B. Computern, Druckern, Speichern o.dgl. über einen System- oder Datenbus zu übertragen. Ein Datenverarbeitungssystem weist in typischer Ausführung einen Prozessor auf, der an Adressen in einem Speicher gespeicherte Befehle ausführt. Die verarbeiteten Daten werden mit Hilfe von Eingabe/Ausgabe-(I/O-) Geräten in das und aus dem System über einen Bus übertragen, der das Datenverarbeitungssystem mit anderer digitaler Hardware verbindet. Übliche Begrenzungen in der Geschwindigkeit der Datenübertragung zwischen mit einem Bus verbundenen Datenverarbeitungsgeräten sind Protokoll- oder ~handshake-" Beschränkungen, die den Ablauf einer vorgegebenen Folge von Ereignissen innerhalb vorgegebener Zeitabschnitte vor dem tatsächlichen Datenaustausch zwischen den Geräten erforderlich machen.In the computer industry, it is common to have data and commands between various data processing devices, e.g. computers, printers, memories or the like. to be transmitted via a system or data bus. A data processing system has typically has a processor stored at addresses in a memory Executes commands. The processed data is transmitted with the help of input / output (I / O) Devices are transferred to and from the system over a bus that controls the data processing system connects to other digital hardware. Usual speed limits data transfer between data processing devices connected to a bus are protocol or handshake restrictions that prevent a specified Sequence of events within specified time periods before the actual one Make data exchange between the devices necessary.

Es wurden verschiedene Methoden angegeben, um Daten zwischen einem Datenverarbeitungsgerät und einem Peripheriegerät, beispielsweise einer Speichereinheit, einer zweiten Prozessoreinheit, einem Plattenlaufwerk o.dgl., zu übertragen. Ein bekanntes Verfahren verwendet direkte Speicherübertragungen und ermöglicht die Bewegung großer Informationsmengen zwischen einem Prozessorspeicher und einem Peripheriegerät. Ein Nachteil existierender direkter Speicherübertragungssysteme besteht darin, daß für jede direkte Speicherübertragung eine gewisse Prozessorfunktion bzw. -aktivität erforderlich ist.Different methods have been given to compare data between a Data processing device and a peripheral device, for example a memory unit, A second processor unit, a disk drive or the like. To transfer. A known method uses direct memory transfers and enables movement large amounts of information between a processor memory and a peripheral device. A disadvantage of existing direct memory transfer systems is that a certain processor function or activity for each direct memory transfer is required.

Verschiedene Befehle oder andere Signale sind nötig, um die Übertragung zu starten oder zu beenden, und die Erzeugung dieser Signale erfordert eine Unterbrechung der Prozessoreinheit. Bei Datenverarbeitungssystemen, die mehrere Prozessoren verwenden, bedingt die direkte Speicherübertragung zwischen dem Speicher und einem ersten Prozessor und dem Speicher und einem zweiten Prozessor ein komplexes Systemprotokoll und eine komplizierte Adressierung, um eine Mehrdeutigkeit zu verhindern. So erfordert beispielsweise die Datenübertragung zwischen einem lokalen Resource-Speicher eines Primärprozessors A und dem lokalen Resource-Speicher eines Sekundärprozessors B über einen gemeinsamen Bus typischerweise die Unterbrechung der Sekundärprozessorfunktionen, um zum Sekundärspeicher zuzugreifen und eine Datenübertragung über den Bus zum Primärprozessor einzuleiten. Außerdem kompliziert jede Überlappung von Speicher adressen zwischen dem dem Primärprozessor zugeordneten Speicher und dem Speicher des Sekundärprozessors zusätzlich das Datenübertragungsprotokoll, wenn Mehrdeutigkeiten bezüglich des Inhalts jedes Speichers an identisch numerierten Adreßplätzen ausgeschlossen werden sollen. Daraus wird klar, daß bei Datenverarbeitungssystemen mit mehreren Prozessoren die geeignete Zuordnung und der Zugriff der Systemresourcen von vitaler Bedeutung sind, um einen optimalen Wirkungsgrad bei den Datenübertragungen sicherzustellen.Various commands or other signals are needed for the transmission to start or stop, and the generation of these signals requires an interruption the processor unit. In data processing systems that use multiple processors, requires the direct memory transfer between the memory and a first processor and the memory and a second processor a complex system log and a complicated addressing to avoid ambiguity. For example, requires the data transfer between a local resource memory of a primary processor A and the local resource memory of a secondary processor B via a common one Bus typically interrupting secondary processor functions in order to secondary storage access and initiate a data transfer over the bus to the primary processor. In addition, any overlap of memory addresses between that of the primary processor complicates allocated memory and the memory of the secondary processor additionally the data transfer protocol, if ambiguities regarding the contents of each memory numbered on identically Address spaces should be excluded. It is clear from this that in data processing systems with several processors the appropriate allocation and access of the system resources are of vital importance to optimal efficiency in data transfers to ensure.

Die Erfindung schafft eine Datenverarbeitungssystem-Architektur, die Mehrfachbusstrukturen zum Optimieren der Daten-und Nachrichtenübertragung zwischen mehreren Prozessoren sowie eine ordnungsgemäße Zuteilung der Systemresourcen zu allen Geräten innerhalb jedes Busses aufweist. Die erfindungsgemäße Busstruktur enthält einen Vielzweck-Parallelbus sowie spezielle Busse, die über Systemschnittstellen zusammengeschaltet sind und die Kommunikation und Datenübertragungsprotokolle definieren.The invention provides a data processing system architecture that Multiple bus structures to optimize data and message transmission between multiple processors and a proper allocation of system resources all devices within each bus. The bus structure according to the invention contains a general-purpose parallel bus as well as special buses that interfere with the system are interconnected and define the communication and data transmission protocols.

Angegeben wird eine Mehrfachbussystemarchitektur und ein verbessertes Datenübertragungsverfahren zur Datenübertragung zwischen mehreren Datenverarbeitungsresourcen. Die erfindungsgemäße Busstruktur weist sowohl einen Parallelbus als auch einen seriellen Bus auf, der die Datenverarbeitungseinheiten und Peripheriegeräte - gemeinsam als "Stationen" ("agents") bezeichnet-miteinander verbindet, um den Austausch von Daten und Nachrichten bei hoher Geschwindigkeit bei einem Minimum an "handshake"-Ereignissen vor der tatsächlichen Datenübertragung zu ermöglichen. Sowohl die seriellen als auch die parallelen Busprotokolle werden von Nachrichtensteuereinrichtungen gesteuert, die mit jeder Teilnehmerstation gekoppelt sind. Ein lokaler Bus ist mit den Verarbeitungsstationen innerhalb des Systems derart gekoppelt, daß die lokalen Speicher- und sekundären Verarbeitungsresourcen ohne Beeinträchtigung des Datenverkehrs über den Parallelbus zugegriffen werden können. Ein direkter Zugriff zu den mit dem lokalen Bus einer Station gekoppelten Resourcen von anderen Busstationen wird auch von der Nachrichtensteuereinrichtung gesteuert.A multiple bus system architecture and an improved one are specified Data transmission method for data transmission between several data processing resources. The bus structure according to the invention has both a parallel bus and a serial bus Bus on which the data processing units and peripheral devices - together as "Stations" ("agents") denoted-connects with each other in order to exchange data and messages at high speed with a minimum of "handshake" events before the actual data transfer. Both the serial and the parallel bus protocols are also controlled by message control devices, which are coupled to each subscriber station. A local bus is with the processing stations coupled within the system so that the local storage and secondary Processing resources without affecting data traffic over the parallel bus can be accessed. A direct access to the one with the local bus Station-coupled resources from other bus stations are also used by the message control device controlled.

Wenn eine rufende Busstation einen Datenaustausch über den Parallelbus einzuleiten sucht, setzt sie ein Busanforderungssignal (BREQ) und sendet einen Digitalcode entsprechend ihrer speziellen Stationsentscheidungsnummer (agent arbitation number) auf einen I.D. Bus, der mit allen Systemstationen verbunden ist. Die den Bus anfordernde Station gewinnt Parallelbusbesitz, wenn ihre Entscheidungsnummer die höchste vorgegebene Priorität hat. Die anfordernde bzw. rufende Station gibt danach die Adresse der antwortenden Station zusammen mit ihrer eigenen Adresse auf einen Adreß/Datenbus und gibt gleichzeitig einen Befehl über einen Befehlsbus an die antwortende Station. Die rufende Station gibt ein Rufer-Bereit-Signal (REQ RDY), wenn sie zum Fortsetzen des Datenaustauschs bereit ist. In ähnlicher Weise gibt die antwortende Station ein Antworter-Bereit-Signal (REPLY RDY), wenn sie zur Fortsetzung der Datenübertragung bereit ist. Nur bei Anstehen der beiden Bereitschaftssignale werden die Daten auf dem Adreß/Daten-Bus als gültig angesehen. Eine Datenübertragungsoperation wird dadurch beendet, daß die rufende Station ein Zyklus-Ende--Signal (EOC) in Verbindung mit dem REQ RDY-Signal abgibt.When a calling bus station has a data exchange over the parallel bus seeks to initiate, it sets a bus request signal (BREQ) and sends a digital code according to their special station decision number (agent arbitation number) to an I.D. Bus that is connected to all system stations. The station requesting the bus gains parallel bus ownership if its decision number is has the highest given priority. The requesting or calling station gives then the address of the responding station along with its own address an address / data bus and at the same time gives a command via a command bus the answering station. The calling station gives a caller ready signal (REQ RDY), when it is ready to continue exchanging data. Similarly there the responding station issues a REPLY RDY signal when it is ready to continue data transfer is ready. Only when the two ready signals are pending the data on the address / data bus are considered valid. A data transfer operation is terminated by the calling station sending an end-of-cycle signal (EOC) with the REQ RDY signal.

Eine Busstation, welche eine Nachricht zu einer anderen Station über den erfindungsgemäßen seriellen Bus zu senden wünscht, kapselt die Datennachricht ein und sendet sie unter Verwendung ihrer Nachrichtensteuereinrichtung, nachdem sie festgestellt hat, daß der serielle Bus nicht in Gebrauch ist.A bus station that sends a message to another station wishes to send the serial bus according to the invention encapsulates the data message and sends it using your message controller after it has determined that the serial bus is not in use.

Eine antwortende Station, welche die Nachricht erhält, sendet ein Bestätigungssignal (ACK) an die rufende Station während einer vorgegebenen Zwischenrahmenperiode, die der seriellen Nachricht folgt. Wenn eine Kollision über den Bus festgestellt wird, lösen die seriellen Busstationen einen Kollisions-Neusende-Entscheidungszyklus (collision retransmit arbitration cycle) aus, der den Besitz bzw. die Belegung des seriellen Bus in geeigneter Weise zuteilt.A responding station that receives the message sends in Acknowledgment signal (ACK) to the calling station during a predetermined interframe period, which follows the serial message. When a collision is detected on the bus the serial bus stations initiate a collision re-transmission arbitration cycle (collision retransmit arbitration cycle), which determines the ownership or occupancy of the serial bus appropriately allocates.

Der erfindungsgemäße lokale Bus bildet einen Hochgeschwindigkeits-Parallelbus mit großer Bandbreite zu den lokalen Speicher - und Verarbeitungsresourcen für den Primärprozessor einer Station. Daten werden zwischen einem primären (oder sekundären) Prozessor und einer lokalen Speicherresource entsprechend dem lokalen Busprotokoll übertragen. Alle Ereignisse auf dem lokalen Bus werden auf die internen Taktzyklen des primären Prozessors getaktet. Wenn eine antwortende Station die erforderliche Datenoperation (z.B. eine Schreib- oder Leseoperation) bei der durch den Bustakt definierten Frequenz nicht ausführen kann, kann sie ein WAIT-Signal abgeben, welches bewirkt, daß der Zustand und der Informationsgehalt des lokalen Bus für den nächsten Taktzyklus ungeändert gehalten werden. Die Verwendung eines WAIT-Signals macht es den antwortenden Stationen möglich, bei einer geringeren Geschwindigkeit als der Pimärprozessor zu arbeiten, indem eine Verzögerung eingeschoben wird, während WAIT ansteht.The local bus according to the invention constitutes a high-speed parallel bus with large bandwidth to local storage - and processing resources for the primary processor of a station. Data is shared between a primary (or secondary) processor and a local memory resource corresponding to the local Transfer bus protocol. All events on the local bus are transferred to the internal Clock cycles of the primary processor. If a responding station has the required Data operation (e.g. a write or read operation) in the case of the bus clock cannot execute a defined frequency, it can emit a WAIT signal, which causes the state and the information content of the local bus for the next Clock cycle are kept unchanged. Using a WAIT signal does it the answering stations possible at a lower speed than the Primary processor to work by inserting a delay while WAIT pending.

Im folgenden wird die Erfindung anhand eines in der Zeichnung dargestellten Ausführungsbeispiels näher erläutert. In der Zeichnung zeigen: Fig. 1 ein Datenverarbeitungssystem, das zur Implementierung der Lehre der vorliegenden Erfindung geeignet ist; Fig. 2 ein Blockschaltbild der Hauptkomponenten der erfindungsgemäß vorgesehenen Nachrichtensteuerlogik; Fig. 3 schematisch die verschiedenen Sub-Bus-Strukturen des erfindungsgemäß verwendeten Parallelsystembus; Fig. 4 ein Zeitdiagramm, das das Parallelsystembustokoll für die Datenübertragung zwischen mit dem Parallelbus gekoppelten Stationen veranschaulicht; Fig. 5a und 5b Signalflußdiagramme, welche die Operationsfolge einer mit dem Parallelbus gekoppelten rufenden Station zum Datenempfang von einer antwortenden Station über den Bus veranschaulicht; Fig. 6 die Zuteilung von Leitungen des Steuerbus während der Ruf- und Antwortphasen; Fig. 7 ein Flußdiagramm, das die Folge von durch eine mit dem Parallelbus gekoppelte antwortende Station ausgeführten logischen Operationen zur Datenübertragung an eine rufende Station veranschaulicht; Fig. 8 schematisch eine beantragte Nachrichtenübertragung über den Parallelbus; Fig. 9 ein Blockschaltbild der Hauptkomponenten des Seriennachrichtensteuergeräts zur Übertragung von Nachrichten über den erfindungsgemäßen seriellen Bus; Fig. 10 eine schematische Darstellung der Buszustands-Detektorschaltung des Seriennachrichtensteuergeräts; Fig. 11a die Datenverkapselungsstruktur zur Übertragung von Nachrichten zwischen mit der erfindungsgemäßen Busstruktur gekoppelten Stationen; Fig. 11b die Bestätigungsnachrichtstruktur, die bei dem seriellen Bus zur Quittierung einer Nachrichtenübertragung über den seriellen Bus verwendet wird; Fig. 12a ein Signalflußdiagramm, das die Folge von durch eine sendende Station über den seriellen Bus ausgeführten logischen Operationen darstellt; Fig. 12b ein Flußdiagramm, das die Folge von logischen Operationen darstellt, die gleichzeitig durch Stationen über den seriellen Bus zur Feststellung von Nachrichtenkollisionen ausgeführt werden; Fig. 12c ein Signalflußdiagramm, das die Folge derjenigen logischen Operationen darstellt, welche von Stationen über den seriellen Bus zur Feststellung und zum Empfang von Nachrichten ausgeführt werden; Fig. 13 den deterministischen Kollisionsneusende-Entscheidungszyklus, der von dem seriellen Bus verwendet wird; Fig. 14 schematisch die verschiedenen Sub-Bus-Strukturen, die im erfindungsgemäßen lokalen Bus enthalten sind; Fig. 15 ein Zeitdiagramm, das den Entscheidungszyklus zur Gewinnung eines Zugriffs zum lokalen Bus veranschaulicht; Fig. 16 ein Zeitdiagramm, das die lokale Bus-Verwendung von WAIT veranschaulicht; Fig. 17 ein Zeitdiagramm, das einen Lesezugriff des lokalen Bus mit WAIT und Ausnahmebedingungen veranschaulicht; Fig. 18 ein Zeitdiagramm, das die lokale Bus-Blockübertragung und den Fortsetzungsfehlerbericht veranschaulicht; Fig. 19 ein Zeitdiagramm, das die lokale Bus-Entscheidung, die Pipeline-Operation und WAIT veranschaulicht, wenn der lokale Bus unter Steuerung der rufenden Primärstation aktiv ist; Fig. 20 ein Zeitdiagramm, das die lokale Bus-Entscheidung und WAIT veranschaulicht, wenn sich der lokale Bus anfangs unter der Steuerung der rufenden Primärstation befindet; Fig. 21 ein Zeitdiagramm, das die lokalen Bus-Blockübertragungs- und Ausnahmebedingen veranschaulicht; und Fig. 22 ein Zeitdiagramm, das die jeweils exklusiven Operationen auf dem lokalen Bus unter einem Verriegelungssignal veranschaulicht.In the following, the invention is illustrated by means of one in the drawing Embodiment explained in more detail. The drawing shows: FIG. 1 a data processing system, suitable for implementing the teachings of the present invention; Fig. 2 is a block diagram of the main components of the message control logic provided in accordance with the invention; 3 schematically shows the various sub-bus structures used according to the invention Parallel system bus; Figure 4 is a timing diagram illustrating the parallel system bus protocol for illustrates data transfer between stations coupled to the parallel bus; Figures 5a and 5b are signal flow diagrams showing the sequence of operations one calling station coupled to the parallel bus for receiving data from a responding Station on the bus illustrated; 6 shows the allocation of lines of the control bus during the calling and answering phases; Fig. 7 is a flow chart showing the sequence of through a responding station coupled to the parallel bus performs logical operations for data transmission to a calling station illustrated; Fig. 8 schematically a requested message transmission over the parallel bus; 9 is a block diagram the main components of the serial message controller used to transmit messages via the serial bus according to the invention; Fig. 10 is a schematic representation the bus state detector circuit of the serial message controller; 11a the Data encapsulation structure for the transmission of messages between with the invention Bus structure coupled stations; Figure 11b shows the confirmation message structure that in the case of the serial bus to acknowledge a message transmission via the serial Bus is used; Fig. 12a is a signal flow diagram showing the sequence of through a represents logical operations performed over the serial bus by sending station; Figure 12b is a flow diagram illustrating the sequence of logical operations that at the same time by stations via the serial bus to detect message collisions to be executed; Fig. 12c is a signal flow diagram showing the sequence of those logic Operations represents which of stations over the serial Bus to detect and receive messages; Fig. 13 the deterministic end-of-collision decision cycle derived from the serial Bus is used; 14 schematically shows the various sub-bus structures which are included in the local bus according to the invention; Fig. 15 is a timing diagram showing the Illustrates a decision cycle for gaining access to the local bus; Figure 16 is a timing diagram illustrating local bus usage of WAIT; 17 is a timing diagram showing read access of the local bus with WAIT and exceptional conditions illustrates; 18 is a timing diagram showing the local bus block transfer and illustrates the continuation failure report; 19 is a timing diagram showing the illustrates local bus arbitration, pipeline operation and WAIT if the local bus is active under the control of the calling primary station; Fig. 20 is a timing diagram; which illustrates the local bus arbitration and WAIT when the local bus is on initially under the control of the calling primary station; 21 is a timing diagram, which illustrates the local bus block transfer and exception conditions; and 22 is a timing diagram showing the exclusive operations on the local Bus illustrated under a lock signal.

Allgemeine Systembeschreibung Angegeben werden eine Mehrfachbussystem-Architektur und ein verbessertes Datenübertragungsverfahren zum Übertragen von Daten zwischen einer Vielzahl von Datenverarbeitungsresourcen bzw. -systemelementen. In der folgenden Beschreibung werden zu Erläuterungszwecken spezielle Zahlen, Bytes, Register, Adressen, Zeiten, Signale usw. angegeben. Es ist für den Fachmann jedoch klar, daß die Erfindung auch ohne diese speziellen Detailangaben benutzt werden kann. Andererseits werden bekannte Schaltungen und Bauelemente in Form von Blöcken eines Blockdiagramms angegeben, um die Beschreibung der Erfindung nicht mit unnötigen Einzelheiten zu belasten. General system description A multiple bus system architecture is specified and an improved data transfer method for transferring data between a variety of data processing resources or system elements. In the following Description, special numbers, bytes, registers, addresses, Times, signals, etc. are given. However, it is clear to those skilled in the art that the invention can also be used without these special details. On the other hand will be known circuits and components indicated in the form of blocks of a block diagram, so as not to overload the description of the invention with unnecessary details.

Im folgenden wird auf Figur 1 Bezug genommen. Die Erfindung kann eine Vielzahl von Verarbeitungseinheiten, die generell durch die Bezugszeichen 25 und 26 bezeichnet sind, sowie Peripheriegeräte, wie den globalen Speicher 30 (oder andere Geräte, wie beispielsweise Drucker, Plattenlaufwerke o.dgl.) umfassen. Für die Zwecke der vorliegenden Beschreibung werden alle Datenverarbeitungs- und Peripheriegeräte, die mit der erfindungsgemäßen Busstruktur gekoppelt sind, kollektiv als ~Stationen1' bezeichnet. Wie in Figur 1 gezeigt ist, sind die Verarbeitungseinheiten 25, 26 und der globale Speicher 30 zur gegenseitigen Datenübertragung über einen Parallelbus 35 und einen Serienbus 37 miteinander verbunden. Die Verarbeitungseinheiten 25 und 26 weisen jeweils primäre Prozessoren 40 und 41 auf, welche mit dem Parallelbus 35 und dem Serienbus 37 über entsprechende Bus-Schnittstelleneinheiten 44 gekoppelt sind. Wie nachfolgend noch genauer beschrieben werden wird, weisen die Schnittstelleneinheiten 44 eine I/O-Logik 46 und eine Nachrichtensteuerlogik 50 auf. Wie dargestellt, ist jede Verarbeitungseinheit mit lokalen Datenverarbeitungsresourcen bzw. -systemelementen, wie z.B. Speichern 54 oder im Falle der Verarbeitungseinheit 25 mit einem sekundären Prozessor 57, über einen lokalen Bus 56 verbunden. Die Prozessoren 40 und 41 sind mit ihren zugehörigen lokalen Systemelementen, z.B. Speichern 54, über eine lokale Bus-Schnittstellenschaltung 58 gekoppelt.Reference is made to FIG. 1 below. The invention can be a A plurality of processing units, generally identified by the reference symbols 25 and 26, as well as peripheral devices such as global memory 30 (or other Devices such as printers, disk drives or the like.) Include. For the purposes this description covers all data processing and peripheral devices, which are coupled to the bus structure according to the invention, collectively as ~ stations1 ' designated. As shown in Figure 1, the processing units are 25, 26 and the global memory 30 for mutual data transmission via a parallel bus 35 and a serial bus 37 connected to one another. The processing units 25 and 26 each have primary processors 40 and 41, which are connected to the parallel bus 35 and the serial bus 37 are coupled via corresponding bus interface units 44 are. As will be described in more detail below, the interface units 44 an I / O logic 46 and a message control logic 50. As shown is each processing unit with local data processing resources or system elements, such as store 54 or in the case of the Processing unit 25 connected to a secondary processor 57 via a local bus 56. The processors 40 and 41 with their associated local system elements, e.g. memories 54, coupled via a local bus interface circuit 58.

Wie sich aus der nachfolgenden Beschreibung ergeben wird, ermöglicht die erfindungsgemäße Busarchitektur eine serielle Hochgeschwindigkeitsnachrichtenübertragung zwischen allen mit dem Bus gekoppelten Stationen sowie eine parallele Hochgeschwindigkeitsdatenübertragung zwischen den Stationen. Darüberhinaus minimiert die beschriebene Architektur die Prozessorunterbrechung bei der Datenübertragung zwischen Busstationen, einschließlich des Zugriffs zu den in lokalen Speichern 54 gespeicherten Daten, wobei die lokalen Speicher 54 eine örtliche Resource bzw. ein lokales Systemelement für jede Verarbeitungseinheit bilden. Wie außerdem beschrieben werden wird, wurden die Datenübertragungsprotokolle sowohl für den Parallelbus 35 als auch den Serienbus 37 und den lokalen Bus 56 so definiert, daß für die Ausführung der Datenübertragung minimale handshake-Folgen erforderlich sind. Obwohl in Figur 1 nur zwei mit dem Bus gekoppelte Prozessoreinheiten dargestellt sind, ist klar, daß die erfindungsgemäße Struktur die Verbindung einer Vielzahl von Verarbeitungseinheiten und Peripheriegeräten, wie Speichern, Plattenlaufwerken, Druckern o.dgl. As will become apparent from the following description, made possible the bus architecture according to the invention enables high-speed serial messaging between all stations coupled to the bus as well as parallel high-speed data transmission between stations. In addition, the architecture described minimizes the Processor interruption in data transmission between bus stations, including of access to the data stored in local memories 54, the local Memory 54 a local resource or a local system element for each processing unit form. As will also be described, the data transfer protocols were so for the parallel bus 35 as well as the serial bus 37 and the local bus 56 defines that minimal handshake sequences for the execution of the data transmission required are. Although in Figure 1 only two processor units coupled to the bus are shown, it is clear that the structure of the invention is the compound of a Variety of processing units and peripheral devices, such as memories, disk drives, Printers or the like.

unter Verwendung aller hier bezeichneten Busstrukturen ermöglicht. using all the bus structures described here.

Parallelbus Im folgenden wird auf Figur 3 Bezug genommen. Der Parallelbus 35 weist Adreß/Daten-Leitungen 60 auf, die bei dem beschriebenen Ausführungsbeispiel zweiunddreißig Adreß/Daten-Leitungen (plus vier Paritätsleitungen) enthalten, auf die Adressen und Daten abwechselnd im Multiplexbetrieb gegeben werden. Zusätzlich enthält der parallele Bus 35 Stationsentscheidungsleitungen 62, welche jeder mit dem Parallelbus 35 gekoppelten Station die Übertragung einer besonderen Stationsentscheidungsnummer für die Busaquisition ermöglichen, und eine Prioritätsvorzugsleitung 64 (high priority line), welche, wie die nachfolgende Beschreibung zeigen wird, einer Station die Gewinnung einer Parallelbusbelegung bzw. Besitzes unabhängig von dem generellen Entscheidungsprotokoll ermöglicht. Der Bus-Besitz bzw. die Belegung kann mit Hilfe eines Bus-Verriegelungssignals auf einer Bus-Verriegelungsleitung 69 aufrechterhalten werden, wodurch andere Stationen effektiv von einer Busaquisition ausgesperrt werden. Zusätzlich ist eine Bus-Anforderungsleitung (BREQ) 66 vorgesehen, die den Stationen die Anforderung der Parallel-Bussteuerung ermöglicht. Ferner ist ein Befehlsbus 68 vorgesehen, der den Verarbeitungseinheiten 25 und 26 erlaubt, Befehle anderen Busstationen mitzuteilen. Zur Bezeichnung von Fehlerbedingungen sind Ausnahmeleitungen 70 sowie Takt- und Systemsteuerleitungen 72 vorgesehen, die eine geeignete Synchronisation und Steuerung ermöglichen. Parallel bus Reference is made to FIG. 3 below. The parallel bus 35 has address / data lines 60, which in the exemplary embodiment described thirty-two address / data lines (plus four parity lines) the addresses and Data given alternately in multiplex mode will. In addition, the parallel bus 35 includes station arbitration lines 62, which each station coupled to the parallel bus 35 the transmission of a particular Enable station decision number for bus acquisition, and a priority line 64 (high priority line), which, as the following description will show, a station to obtain a parallel bus occupancy or possession regardless of the general decision protocol. Bus ownership or occupancy can with the help of a bus interlock signal on a bus interlock line 69 can be sustained, effectively preventing other stations from being acquired by a bus be locked out. In addition, a bus request line (BREQ) 66 is provided, which enables the stations to request the parallel bus control. Furthermore is an instruction bus 68 is provided which allows the processing units 25 and 26 to Communicate commands to other bus stations. Used to denote error conditions exception lines 70 as well as clock and system control lines 72 are provided which enable suitable synchronization and control.

Der Parallelbus 35 führt drei Arten von Buszyklen, welche bei Anforderung durch eine Station, z.B. durch die Verarbeitungseinheit 25 eingeleitet werden, nämlich den "Entscheidungs-(arbitration)-" Zyklus, den "Übertragungs-" Zyklus und den ~Ausnahme-" Zyklus. Für die Zwecke der vorliegenden Beschreibung wird der Entscheidungszyklus als derjenige Parallelbuszyklus definiert, bei dem von einer Station der Versuch unternommen wird, eine exklusive Steuerung des Parallelbus 35 zu gewinnen. Der Entscheidungszyklus gewährleistet, daß nur eine anfordernde Station zu irgendeinem Zeitpunkt einen Datenübertragungszyklus auf dem Parallelbus 35 durchführen kann. Am Ende des Entscheidungszyklus kann nur eine einzige Station (z.B. die Verarbeitungseinheit 26) den Parallelbus benutzen und Daten mit einer anderen Station austauschen. Während des Vorgangs der Datenübertragung kann ein Systemfehler auftreten, der den Ausnahmezyklus einleitet. Alle drei Parallelbuszyklen arbeiten zusammen in einer überlappenden Weise, und zwar derart, daß andere Stationen während eines laufenden Übertragungszyklus Entscheidungszyklen ausführen können, um festzustellen, welche Station als nächste die Belegung des Parallelbus haben wird.The parallel bus 35 performs three types of bus cycles, which are when requested be initiated by a station, e.g., by the processing unit 25, viz the "arbitration" cycle, the "transfer" cycle and the ~ exception- " Cycle. For the purposes of this description, the decision cycle defined as the parallel bus cycle in which one station attempts an attempt is made to gain exclusive control of the parallel bus 35. The decision cycle ensures that only one requesting station can start a data transfer cycle at any one time on the parallel bus 35 can perform. At the end of the decision cycle only can a single station (e.g. processing unit 26) can use the parallel bus and Exchange data with another station. During the data transfer process a system error can occur that initiates the exception cycle. Every three parallel bus cycles work together in an overlapping manner, such that other stations can execute decision cycles during an ongoing transmission cycle, to determine which station is next to occupy the parallel bus will.

Wie in Figur 2 dargestellt ist, weist die Nachrichtensteuerlogik 50 ein Nachrichtensteuergerät 80, das über einen herkömmlichen Bus mit einem Pufferspeicher 82 gekoppelt ist, ein Bus-Steuergerät 84 sowie eine direkte Speicherzugriffs(DMA)-Schnittstelle 86 und einen FIFO-Markierer 88 auf. Die Nachrichtensteuerlogik 50 ist für die Implementierung des Parallel- und Serienbusprotokolls, die Zugriffsgewinnung zu den entsprechenden Bussen und die Datenübertragung über die DMA-Schnittstelle 86 zwischen anderen mit den Parallel- (wie auch Serien) Bus und den Speichern 54 über den lokalen Bus 56 verbundenen Stationen verantwortlich.As shown in FIG. 2, the message control logic 50 a message controller 80, which over a conventional bus with a buffer memory 82 is coupled, a bus control device 84 and a direct memory access (DMA) interface 86 and a FIFO marker 88. Message control logic 50 is for implementation of the parallel and serial bus protocol, gaining access to the corresponding Buses and data transfer over the DMA interface 86 between others with the parallel (as well as serial) bus and memories 54 via local bus 56 connected stations responsible.

Es sei beispeilsweise angenommen, daß die Verarbeitungseinheit 25 unter Verwendung des Parallelbusses 35 im globalen Speicher 30 gespeicherte Daten holen soll. Die Verarbeitungseinheit 25 muß zunächst über ihr Bus-Steuergerät 84 Zugriff zum Parallelbus 35 durch Einleiten eines Entscheidungszyklus gewinnen. Wie am deutlichsten im Flußdiagramm gemäß Figuren 5a und b gezeigt ist, bestimmt das Bus-Steuergerät 84 innerhalb der Verarbeitungseinheit 25 zunächst, ob die Bus-Anforderungsleitung (BREQ) 66 gerade aktiv ist. Nimmt man an, daß die Verarbeitungseinheit 25 keine Vorzugsprioritäts-Anforderung hat, muß sie warten, bis die BREQ-Leitung 66 nicht beansprucht ist, bevor sie in die Auflösungsphase des Entscheidungszyklus eintreten kann. Wenn die BREQ-Leitung 66 nicht aktiv bzw. beansprucht ist, belegt die Verarbeitungseinheit 25 die BREQ-Leitung 66 und legt gleichzeitig einen Digitalcode entsprechend ihrer speziellen Stationsentscheidungsnummer auf die Stationsentscheidungsleitungen 62 (siehe Figuren 4 und 5a). Eine geeignete Logik innerhalb des Bus-Steuergeräts 84 jeder mit dem Parallelbus 35 gekoppelten Station wählt die Entscheidungsnummer (arbitration number) der anfordernden Station, welche die höchste vorgegebene Priorität innerhalb einer festen Anzahl von Taktzyklen nach Einleitung des Entscheidungszyklus besitzt (unter der Annahme, daß die Prioritätsvorzugsleitung 64 nicht aufgerufen wurde). Wenn eine andere Station, beispielsweise die Verarbeitungseinheit 26, gleichzeitig Parallelbusaquisitionen anfordert und die andere Station eine Entscheidungsnummer höherer Priorität hat, muß die Verarbeitungseinheit 25 auf ein Zyklusende-Signal (EOC) warten, welches das Ende eines Datenaustausches oder die Freigabe des Busses bezeichnet. Wenn ein vorhergehender Busbeleger die Verriegelungsleitung 69 aufgerufen hat, müssen alle mit dem Parallelbus 35 gekoppelten Stationen die Freigabe (Entriegelung) des Parallelbuses abwarten, bevor sie Zugriff gewinnen können, und den Versuch zur Zugriffsgewinnung zum Bus durch Anlegen ihrer Entscheidungsnummer auf die Stationsentscheidungsleitungen 62 wiederholen.It is assumed, for example, that the processing unit 25 data stored in the global memory 30 using the parallel bus 35 should fetch. The processing unit 25 must first be controlled via its bus control device 84 Gain access to parallel bus 35 by initiating an arbitration cycle. As as shown most clearly in the flow chart of Figures 5a and b determines that Bus control device 84 within the processing unit 25 first of all whether the bus request line (BREQ) 66 is currently active. Assuming that the processing unit 25 does not Has priority request, it must wait until the BREQ line 66 fails is claimed before they enter the resolution phase of the decision cycle can. When the BREQ line 66 is not active or claimed is, the processing unit 25 seizes the BREQ line 66 and simultaneously puts one Digital code corresponding to your specific station decision number on the station decision lines 62 (see Figures 4 and 5a). Appropriate logic within the bus control device 84 each station coupled to the parallel bus 35 dials the arbitration number (arbitration number) of the requesting station, which has the highest specified priority within a fixed number of clock cycles after initiation of the decision cycle (assuming priority line 64 is not called became). If another station, for example the processing unit 26, at the same time Requests parallel bus acquisitions and the other station requests a decision number has higher priority, the processing unit 25 must respond to an end-of-cycle signal (EOC) wait for the end of a data exchange or the release of the bus designated. When a previous bus user calls the interlock line 69 has, all stations coupled with the parallel bus 35 must release (unlock) of the parallel bus before they can gain access and try to Gaining access to the bus by placing your decision number on the station decision lines 62 repeat.

Bei dem beschriebenen Ausführungsbeispiel wird die Priorität unter den mit dem Parallelbus 35 verbundenen Stationen durch ihre zugehörigen Entscheidungsnummern bestimmt. Jede Station ist mit einer Position ("slot") bzw. Schlitz auf dem Bus 35 gekoppelt, und eine reservierte "T" Belegungsleitung ist mit jeder Schlitz-Position gekoppelt. Bei Einschaltung wird jede Station mit einer Stationsschlitz-Identifizierungsnummer sowie einer speziellen Entscheidungsnummer von einem zentralen Servicemodul (CSM) versehen, der mit dem Bus verbunden ist (nicht gezeigt). Der zentrale Servicemodul legt eine Stationsschlitz -Identifizierungsnummer an die Stationsentscheidungsleitungen 62 an und setzt die T-Belegungsleitung entsprechend der Zuordnung der Schlitz-Identifizierungsnummer auf einen L-Wert. Das Setzen der T-Belegungsleitung auf L-Wert legt die Schlitz-Identifizierungsnummer in den Registern der Station fest. In ähnlicher Weise legt der CSM eine spezielle Entscheidungsnummer an die Stations-Entscheidungsleitungen 62 an und treibt die T-Belegungsleitung auf einen L-Wert (niedrig) entsprechend derjenigen Station, der die Entscheidungsnummer zugeordnet werden soll. Das Setzen der T-Belegungsleitung auf einen H (hohen) Pegel verriegelt die Entscheidungsnummer. Bei dem beschriebenen Ausführungsbeispiel bezeichnet der Zustand einer Entscheidungsleitung 62, ob die auf den restlichen Entscheidungsleitungen befindliche Nummer einer Schlitz-Nummer oder einer Entscheidungsnummer entspricht. Dieser Vorgang wird wiederholt, bis alle Stationen ihre zugehörigen Schlitz-Identifizierungs- und Entscheidungsnummern erhalten haben. Es ist für den Fachmann klar, daß verschiede andere Prioritätshierarchien zwischen den Stationen, z.B. den Verarbeitungseinheiten 25 und 26 definiert werden können.In the embodiment described, the priority is below the stations connected to the parallel bus 35 by their associated decision numbers certainly. Each station has a position ("slot") or slot on the bus 35 coupled, and a reserved "T" seizure line is with each slot position coupled. When powered up, each station is assigned a station slot identification number as well as a special decision number from a central service module (CSM) which is connected to the bus (not shown). The central service module lays a station slot -Identification number to the station decision lines 62 and sets the T-seizure line according to the assignment of the slot identification number to an L value. Setting the T-seizure line to the L value sets the slot identification number in the registers of the station. Similarly, the CSM defines a special Decision number to the station decision lines 62 and drives the T-occupancy line to an L-value (low) corresponding to the station that the decision number is to be assigned. Setting the T-seizure line to an H (high) level locks the decision number. With the one described Embodiment denotes the state of a decision line 62 whether the the number of a slot number on the remaining arbitration lines or corresponds to a decision number. This process is repeated until all Stations receive their associated slot identification and decision numbers to have. It will be clear to those skilled in the art that various other priority hierarchies between the stations, e.g., the processing units 25 and 26 can.

Es sei angenommen, daß die Verarbeitungseinheit 25 (durch Priorität ihrer Entscheidungsnummer) den Bus in Besitz genommen bzw. belegt hat. Die Verarbeitungseinheit 25 hält den Bus selbst nach Beendigung der Übertragung solange in Besitz bzw.It is assumed that the processing unit 25 (by priority their decision number) has taken possession of or occupied the bus. The processing unit 25 holds the bus in possession or operation even after the transmission has ended.

Belegung, wie das BREQ-Signal ungetastet bleibt. Bei Feststellung eines ECO-Signals oder bei unbelegtem Bus legt die Verarbeitungseinheit 25 einen Digitalcode entsprechend der Adresse der Antwortstation (Bestimmungsadresse) sowie die Adresse der Verarbeitungseinheit 25 (Quellenadresse) an den Adreß/Daten-Bus, wenn die Daten eine Nachricht enthalten. Gleichzeitig legt die Verarbeitungseinheit 25 einen Digitalcode entsprechend der von der Antwortstation (im beschriebenen Besspiel dem globalen Speicher 30) durchzuführenden Funktion an den Befehlsbus. Wie in Figur 4 gezeigt ist, werden die Befehlsbusleitungen effektiv aufgespalten, wobei verschiedene bestätigte Signale sowohl von der anfordernden bzw. rufenden Station als auch von der antwortenden Station gesendet werden können, sobald eine anfordernde bzw. rufende Station, z.B. die Verarbeitungseinheit 25, die verschiedenen Adreß- und Befehlscodes an den Parallelbus 35 anlegt. Das Anlegen der Adressen und Befehle durch die rufende Station (Verarbeitungseinheit 25 bei dem vorliegenden Beispiel) beendet das, was als "Anforderungsphase" bezeichnet wird. Wie gezeigt, dauert die tatsächliche Anforderungsphase nur einen Taktzyklus bei dem beschriebenen Ausführungsbeispiel.Assignment of how the BREQ signal remains untouched. Upon finding of an ECO signal or if the bus is unoccupied, the processing unit 25 sets a Digital code corresponding to the address of the answering station (destination address) and the address of the processing unit 25 (source address) on the address / data bus, if the data contains a message. At the same time, the processing unit lays down 25 a digital code corresponding to that of the answering station (in the example described the global memory 30) to the function to be performed Command bus. As shown in Figure 4, the command bus lines are effectively split, taking various acknowledged signals from both the requesting and calling Station as well as from the responding station can be sent as soon as a requesting or calling station, e.g. processing unit 25, the various Address and command codes are applied to the parallel bus 35. The creation of addresses and Commands by the calling station (processing unit 25 in the present case Example) completes what is known as the "request phase". As shown, the actual request phase only takes one clock cycle in the case of the one described Embodiment.

Am Ende der Anforderungsphase werden die Leitungen des Befehlsbus 68 wieder in der in Figur 6 dargestellten Weise rückgeordnet. Insbesondere werden fünf Befehlsleitungen der rufenden bzw. anfordernden Station und fünf Befehlsleitungen der antwortenden Station zugeordnet, um das erforderliche handshake für die Datenübertragung zwischen den Stationen zu vervollständigen. Insbesondere gibt die anfordernde bzw. rufende Station (Verarbeitungseinheit 25 bei dem beschriebenen Beispiel) ein Rufer-bereit (REQ RDY) Signal auf eine geeignete Befehlsleitung, was dem Antworter anzeigt, daß die rufende Station für die Annahme von Daten auf dem Adreß/Daten-Bus 60 zur Verfügung steht. In ähnlicher Weise gibt die antwortende Station (bei dem beschriebenen Beispiel der globale Speicher 30) ein Antworter-bereit-(REPLY RDY) Signal (siehe Figur 7), was der rufenden Station anzeigt, daß Daten auf dem Adreß-Daten-Bus 60 gültig sind und angenommen werden können. Das Protokoll auf dem Parallelbus 35 bedingt also das Anlegen sowohl der Antworter- als auch der Rufer-bereit-Signale, bevor Daten auf dem Adreß/Daten-Bus 60 als gültig angesehen und verriegelt werden. Zusätzliche Datenpakete können zwischen der rufenden und der antwortenden Station über den Parallelbus 35 durch nachfolgende Abnahme der Antworter-bereit- und Rufer-bereit-Signale und deren Wiederanlegen entsprechend Darstellung in Figur 4 übertragen werden. Wie dargestellt ist, entwickelt die rufende Station (im beschriebenen Beispiel die Verarbeitungseinheit 25> ein Zyklusende (EOC)-Signal gleichzeitig mit dem Anlegen des REQ RDY-Signals. Die Erzeugung und Übertragung des EOC-Signals benachrichtigt andere mit dem Parallelbus 35 gekoppelte Stationen von dem Ende des laufenden Übertragungszyklus, so daß die Busbelegung bzw. der Busbesitz übergeben werden kann. Wie am besten in Figur 5b gezeigt ist, kann eine antwortende Station (im beschriebenen Bespiel der globale Speicher 30) der rufenden Station einen Datenübertragungsfehler (eine "Ausnahme") während ihres handshake-Abschnitts, der normalerweise durch ein Antworter-bereit-Signal bezeichnet wird, signalisieren, sobald gültige Daten abgetastet werden.At the end of the request phase, the lines of the command bus 68 rearranged again in the manner shown in FIG. In particular, will be five command lines of the calling or requesting station and five command lines assigned to the responding station to carry out the required handshake for data transmission to complete between stations. In particular, the requesting or calling station (processing unit 25 in the example described) a caller ready (REQ RDY) Signal on an appropriate command line, indicating to the responder that the calling station is available to accept data on the address / data bus 60 stands. Similarly, the answering station (in the example described the global memory 30) a REPLY RDY signal (see Figure 7), indicating to the calling station that data on the address data bus 60 is valid and can be accepted. The protocol on the parallel bus 35 is therefore conditional asserting both the answering and calling ready signals before data on the address / data bus 60 are considered valid and locked. Additional Data packets can travel between the calling and the answering station via the parallel bus 35 through subsequent decrease in the answerer-ready and caller-ready signals and their reapplication are transmitted as shown in FIG. As is shown, the calling station (in the example described, the processing unit 25> an end of cycle (EOC) signal simultaneously with the application of the REQ RDY signal. The generation and transmission of the EOC signal notifies others using the parallel bus 35 coupled stations from the end of the current transmission cycle so that the Bus occupancy or bus ownership can be transferred. As best in Figure 5b shown, a responding station (in the example described, the global Memory 30) of the calling station a data transmission error (an "exception") during their handshake section, usually by a responder-ready signal signal as soon as valid data is scanned.

Ein Datenübertragungszyklusfehler, der während dieser Periode von der rufenden Station (in diesem Falle die Verarbeitungseinheit 25) festgestellt wird, erzwingt das Anlegen eines EOC-Signals bei dem nächsten Taktzyklus, wodurch weitere Datenübertragungen unterbrochen werden und die Busbelegung für wartende Stationen freigegeben wird, welche den oben beschriebenen Entscheidungszyklus erfolgreich beendet haben.A data transfer cycle error that occurred during this period of of the calling station (in this case the processing unit 25) forces the assertion of an EOC signal on the next clock cycle, whereby further data transfers are interrupted and the bus occupancy for waiting Stations is released which successfully complete the decision cycle described above have finished.

Obwohl das zuvor beschriebene Beispiel eine Datenübertragung von einer antwortenden Station zu einer rufenden Station, die an den Parallelbus 35 angekoppelt sind, zeigte, ist klar, daß eine Datenübertragung von einer rufenden Station (z.B. der Verarbeitungseinheit 26) zu einer antwortenden Station (z.B.Although the example described above is a data transfer from a answering station to a calling station, which is coupled to the parallel bus 35 is shown, it is clear that data transmission from a calling station (e.g. the processing unit 26) to a responding station (e.g.

der Verarbeitungseinheit 25) im wesentlichen dem identischen Protokoll entsprechend der Darstellung in Figur 4 folgt, da das Parallelbusprotokoll nach der vorliegenden Erfindung einfach das Anlegen sowohl des REQ RDY- als auch des REPLY RDY-Signals vor dem Abschalten der Daten von dem Parallelbus erforderlich macht. Daher ermöglicht die Erfindung Unterschiede in der relativen Operationsgeschwindigkeit der rufenden und antwortenden Stationen unter Verwendung des gleichen Übertragungsprotokolls.of the processing unit 25) essentially the identical protocol as shown in FIG. 4, the parallel bus protocol follows of the present invention, simply putting on both the REQ RDY and the REPLY RDY signal required before disconnecting data from the parallel bus power. Therefore, the invention allows for differences in the relative Operation speed of the calling and answering stations using the same transmission protocol.

Die erfindungsgemäße Nachrichtensteuerlogik 50 ermöglicht zahlreiche Nachrichten- und Datenübertragungen zwischen mit dem Parallelbus 35 gekoppelten Stationen (und, wie nachfolgend beschrieben werden wird, dem Serienbus 37) bei minimaler Unterbrechung des primären Prozessors innerhalb der Verarbeitungseinheit. So können beispielsweise Daten zum lokalen Prozessor 40 oder alternativ zu und von einem speziellen Resource-Speicher 54 übertragen werden, ohne daß der primäre Prozessor 40 unterbrochen wird. Wie beschrieben werden wird, prüft das Nachrichtensteuergerät 80 innerhalb der Nachrichtensteuerlogik 50 Nachrichtenadressen, die innerhalb der Datenpakete über den Parallelbus 35 sowie den Serienbus 37 laufen, um festzustellen, ob die spezielle Station in die Nachrichtenübertragungsoperation einbezogen werden soll. Wenn ein besonderes Nachrichtensteuergerät adressiert wird, prüft es das im Nachrichtenpaket enthaltene Typenfeld und erzeugt irgendeine für den Primärprozessor erforderliche Unterbrechung. Wenn andererseits eine Unterbrechung nicht erforderlich ist, werden danach geeignete Informationen zur Direktspeicherzugriffs (DMA)-Schnittstelle 86 übertragen, um den Zugriff der Resource-Speicher 54 von einer externen rufenden Station zu ermöglichen.The message control logic 50 of the present invention enables many Communication and data transmission between those coupled to the parallel bus 35 Stations (and, as will be described below, the serial bus 37) at minimal Interruption of the primary processor within the processing unit. So can for example data to the local processor 40 or alternatively to and from a special one Resource memory 54 can be transferred without the primary processor 40 being interrupted will. As will be described, the message controller 80 checks within the message control logic 50 message addresses contained within the data packets run via the parallel bus 35 and the serial bus 37 to determine whether the special station should be involved in the message transfer operation. When a particular message control device is addressed, it checks this in the message packet Type field contained and generates any required by the primary processor Interruption. On the other hand, if an interruption is not required, then then appropriate direct memory access (DMA) interface 86 information transferred to access the resource memory 54 from an external calling party Enable station.

Im folgenden wird auf Figur 7 Bezug genommen, in der die Nachrichtenübertragungsoperationen unter Verwendung der Nachrichtensteuerlogik 50 angegeben sind. Es sei beispielsweise angenommen, daß der primäre Prozessor 41 innerhalb der Verarbeitungseinheit 26 Daten zu dem von der Verarbeitungseinheit 25 direkt zugreifbaren Speicher zu übertragen wünscht. Die anfordernde bzw. rufende Station (Verarbeitungseinheit 26) gibt eine "Puffer-Anforderung" an ihr Nachrichtensteuergerät 80, die gemäß Darstellung ein Bestimmungsbyte entsprechend der Adresse der Bestimmungsantworten, ein Befehl "Typ"- Byte entsprechend einer speziellen gewünschten Operation (in diesem Falle einer Daten-Schreiboperation), ein Identifizierungsbyte entsprechend der speziellen Identifizierungsnummer der rufenden Station, ein Byte das die lokale Datenadresse bezeichnet, wo die für den Zugriff durch die rufende Station vorgesehenen Datengespeichert sind, einen optionellen Dateinamen, sowie ein Längenbyte und schließlich irgendwelche Daten (wenn Daten übertragen werden sollen) enthält. Diese Nachrichtenbytes werden über den lokalen internen Bus 29 zur Nachrichtensteuerlogik 50 der rufenden bzw. anfordernden Station geschickt. Das Nachrichtensteuergerät 80 der speziellen rufenden Station (in diesem Beispiel die Verarbeitungseinheit 26) speichert die lokale Adresse und die Längeninformation innerhalb des Pufferspeichers 82 oder der DMA 86 der Nachrichtensteuerlogik 50.Referring now to Figure 7, the message transfer operations using message control logic 50. Let it be for example Assume that the primary processor 41 within the processing unit 26 data to the memory directly accessible by the processing unit 25 wishes. The requesting or calling station (processing unit 26) gives one "Buffer request" to your message control device 80, which is shown as a Determination byte corresponding to the address of the determination responses, a "Type" command - Byte corresponding to a specific desired operation (in this case a Data write operation), an identification byte corresponding to the special identification number of the calling station, a byte indicating the local data address where the for the access provided by the calling station data are stored, a optional file names, as well as a length byte and finally any data (if data is to be transferred) contains. These message bytes are sent via the local internal bus 29 to the message control logic 50 of the calling or requesting Sent station. The message controller 80 of the particular calling station (in this example the processing unit 26) stores the local address and the length information within the buffer 82 or the DMA 86 of the message control logic 50

Das Nachrichtensteuergerät 80 addiert außerdem ein Byte zu dem Anforderungspaket, welches eine spezielle Querübertragungsnummer (ID/S) enthält, die die vorliegende Anforderung identifiziert. Das Nachrichtensteuergerät 80 schickt das Puffer-Anforderungspaket über das Bus-Steuergerät 84 auf den Parallelbus zur antwortenden Station (in diesem Falle die Verarbeitungseinheit 25) unter Verwendung des zuvor unter Bezugnahme auf die Figuren 4, 5a, 5b, 6 und 7 beschriebenen Datenübertragungsprotokolls. Die Nachrichtensteuerlogik 50 der antwortenden Station läßt die Anforderung transparent zum primären Prozessor 40 der antwortenden Prozessoreinheit 25 durch. Bei Erhalt der Nachricht bestimmt der primäre Prozessor 40 der Verarbeitungseinheit 25, ob ein geeigneter Speicherpuffer mit der durch das Längenbyte Länge 1" definierten Länge zugeordnet werden kann. Sobald der Primärprozessor 40 den abgefragten Speicherplatz zugeordnet hat, wird eine Puffer-Zuteilungsnachricht erzeugt, in der das Typ-Byte einem eine Pufferzuteilung identifizierenden speziellen Code entspricht. Zusätzlich wird der Adressenplatz der lokalen Antwortstation zusammen mit der zugehörigen Pufferlänge ("Länge 2") angegeben, welche die von der antwortenden Station tatsächlich zugeordnete bzw. belegte Speichergröße angibt. Diese belegte Speichergröße kann von der durch die rufende Station verlangten Speichergröße abweichen.The message controller 80 also adds a byte to the request packet, which contains a special cross transmission number (ID / S) that includes the present Requirement identified. The message controller 80 sends the buffer request packet Via the bus control device 84 on the parallel bus to the responding station (in this Case the processing unit 25) using the method previously referred to Figures 4, 5a, 5b, 6 and 7 described data transmission protocol. The message control logic 50 of the responding station leaves the request transparent to the primary processor 40 of the responding processor unit 25. Determined upon receipt of the message the primary processor 40 of the processing unit 25, whether a suitable memory buffer with the length defined by the length byte length 1 ". Once the primary processor 40 has allocated the queried memory space, will generates a buffer grant message in which the type byte is a one Buffer allocation corresponds to identifying special code. In addition, the Address space of the local answering station together with the associated buffer length ("Length 2") indicates which is actually assigned by the responding station or used memory size. This amount of memory used can depend on the the calling station may deviate from the memory size required.

Schließlich wird das die Querübertragungsidentifizierungsnummer (ID/S) bezeichnende Byte wiederholt, welche die besondere Puff#eranforderung speziell identifiziert. Das Pufferzuteilungs-Datenpaket wird dann über den lokalen internen Bus 29 zum Nachrichtensteuergerät 80 der antwortenden Station übertragen, welches die lokale Adresse des Puffers sowie die Querübertragungs-Identifzierungsnummer <ID/S) und die Länge 2 in der DMA 86 speichert und, wie gezeigt, die Querübertragungs-Rufer-Nummer (ID/R) zu dem erzeugten Puffer-Anforderungspaket addiert. Die Puffer-Zuteilungsnachricht wird zur Nachrichten-Steuerlogik 50 der rufenden Station übertragen, die danach unter Verwendung der DMA-Schnittstelle 86 zur antwortenden Station zu übertragende Daten abruft und diese Daten zum Bussteuergerät 84 für die Übertragung zur antwortenden Station entsprechend dem zuvor anhand der Figuren 4, 5, 6 und 7 erörterten Protokoll schicken kann. Die Datenübertragung kann aus einem oder mehreren Datenpaketen bestehen, wie in Figur 8 gezeigt ist.Eventually this will be the cross transmission identification number (ID / S) repeats designating bytes which specifically identify the particular buffer requirement. The buffer allocation data packet then becomes the message control device via the local internal bus 29 80 of the responding station, which is the local address of the buffer as well the cross transmission identification number <ID / S) and the length 2 in the DMA 86 stores and, as shown, the cross-transmission caller number (ID / R) to the generated Buffer request packet added. The buffer grant message becomes the message control logic 50 of the calling station, which is then transmitted using the DMA interface 86 retrieves data to be transmitted to the responding station and this data to the bus control device 84 for the transmission to the answering station according to the previously based on the Figures 4, 5, 6 and 7 can send the protocol discussed. The data transfer can consist of one or more data packets, as shown in FIG.

Sobald die gewünschte Datenübertragung beendet worden ist, erzeugt das jeweilige Nachrichtensteuergerät 80 eine generelle Abschlußnachricht, wodurch den Primärprozessoren der rufenden und antwortenden Stationen mitgeteilt wird, daß die Übertragung abgeschlossen ist. Demgemäß können swohl Nachrichten als auch Daten zwischen den mit der erfindungsgemäßen Busstruktur gekoppelten Stationen bei minimaler Unterbrechung der Primärprozessorstationen übertragen werden und können direkten Speicherzugriff für Datenübertragungen unter Steuerung durch die Nachrichtensteuerlogik 50 enthalten. Es ist zu erkennen, daß die oben beschriebenen Nachrichtenübertragungsoperationen gemäß Darstellung in Figur 8 auch von dem Serienbus 37 benutzt werden können.As soon as the desired data transfer has been completed, it is generated the respective message control device 80 a general completion message, whereby the primary processors of the calling and answering stations are notified that the transfer is complete. Accordingly, messages can be as well as data between the stations coupled with the bus structure according to the invention at a minimum Interruption of the primary processor stations can be transmitted and direct Memory access for data transfers under the control of the Message control logic 50 included. It can be seen that the above-described Message transmission operations as shown in FIG. 8 also from the serial bus 37 can be used.

SERIENBUS Wie zuvor unter Bezugnahme auf Figur 1 beschrieben wurde, kann jede Station innerhalb der erfindungsgemäßen Busstruktur durch einen Serienbus 37 und/oder den zuvor beschriebenen Parallelbus 35 angekoppelt sein. Während die Struktur und Betriebsweise des Parallelbus 35 in erster Linie für eine große Hochgeschwindigkeitsdatenübertragung zwischen den mit dem Parallelbus gekoppelten Stationen ausgelegt ist, dient der erfindungsgemäße Serienbus in erster Linie schnellen und wirksamen Nachrichtenübertragungen zwischen den Busstationen. Bei dem beschriebenen Beispiel besitzt der Serienbus 37 eine zweiadrige Serienverbindung mit den als "SDA" und "SDB" bezeichneten Leitungen. Wie in Figur 9 gezeigt ist, weist das Nachrichtensteuergerät 80 innerhalb der Nachrichtensteuerlogik 50 jeder Station ein Seriennachrichtensteuergerät 100 zum Senden und Empfangen von Seriendaten zu und von verschiedenen Stationen über den Serienbus 37 auf. Beide Leitungen des Serienbus 37 sind mit einem Bus-Zustandsdetektor 110 verbunden, der drei Basisausgangssignale liefert. Vom Serienbus 37 aufgenommene verschlüsselte Daten werden zusammen mit einem ein Trägerabtastsignal bezeichnenden Signal zu einem Dekodierer 115 geleitet. Wie weiter unten genauer beschrieben werden wird, bestimmt der Bus-Zustandsdetektor 110 außerdem, ob eine Kollision zwischen den über den Serienbus 37 laufenden Nachrichten aufgetreten ist. Eine Kollisionsfeststellungsleinleitung 117 verbindet den Bus-Zustandsdetektor 110 mit einer Seriennachrichten-Steuergerätlogik 124, welche, wie die nachfolgende Beschreibung ergeben wird, den Kollisionsrücksende-Entscheidungszyklus gemäß der Erfindung steuert. Ein serieller Sender 128 ist mit der Steuergerätlogik 124 und jeder Serienleitung SDA und SDB verbunden, um Nachrichten über den Serienbus 37 zu senden. Wie dargestellt, werden seriell über den Serienbus 37 zu schickende Nachrichten zuerst über interne Nachrichtensteuerleitungen (nicht gezeigt) zur Steuergerätlogik 124 gekoppelt, die direkt mit einer anderen Nachrichtensteuergeräteschaltung 80 innerhalb des in Figur 2 gezeigten Nachrichtensteuerlogikblocks 50 gekoppelt ist.SERIAL BUS As previously described with reference to Figure 1, can each station within the bus structure according to the invention by a serial bus 37 and / or the previously described parallel bus 35 can be coupled. While the The structure and operation of the parallel bus 35 is primarily for large, high-speed data transfer is designed between the stations coupled to the parallel bus, the serial bus according to the invention primarily fast and effective communications between the bus stations. In the example described, the serial bus has 37 a two-wire series connection with the lines designated as "SDA" and "SDB". As shown in Figure 9, the message controller 80 has, within the message control logic 50 each station a serial message controller 100 for sending and receiving Serial data to and from various stations via the serial bus 37. Both Lines of the serial bus 37 are connected to a bus state detector 110, the provides three basic output signals. Encrypted recorded from the serial bus 37 Data become one together with a signal indicative of a carrier scanning signal Decoder 115 passed. As will be described in more detail below, is determined the bus state detector 110 also determines whether there is a collision between the over the serial bus 37 pending messages has occurred. A collision determination initiation 117 connects the bus state detector 110 to serial message controller logic 124, which, like the following Description will reveal the Controls collision retransmission decision cycle according to the invention. A serial one The transmitter 128 is connected to the control unit logic 124 and each serial line SDA and SDB connected to send messages over the serial bus 37. As shown, will be Messages to be sent serially via the serial bus 37 first via internal message control lines (not shown) coupled to the control unit logic 124, which is directly linked to another Message controller circuitry 80 within the message control logic block shown in FIG 50 is coupled.

Über den Serienbus 37 übertragene Daten werden bei dem beschriebenen bevorzugten Ausführungsbeispiel um 180C phasenverschoben auf die Leitungen SDA und SDB gegeben. Außerdem verschlüsselt die Seriennachrichten-Steuergerätlogik 124 die zu sendenden Daten bei dem beschriebenen Beispiel unter Verwendung der bekannten Manchester-Kodiermethoden. Im folgenden wird auf Figur 10 Bezug genommen. Der Buszustandsdetektor 110 erzeugt aus den empfangenen Serienübertragungen kodierte Daten, Kollisionsfeststellungs- und Trägerabtastsignale. Der Bus-Zustandsdetektor 110 weist optionelle "D"-Verriegelungsschaltungen 131 (für Synchronisationszwecke) auf, die mit zwei ähnlichen Verriegelungsschaltungen 132 in Reihe geschaltet sind. Ein drittes Paar von D-Verriegelungsschaltungen 133 ist seinerseits mit dem Ausgang der entsprechenden Verriegelungsschaltungen 132 und einer Detektor-Logikschaltung 136 (Figur 10) verbunden. Die Ausgänge der D-Verriegelungsschaltungen 132 sind für beide Leitungen SDA und SDB mit zugehörigen Eingängen A2 und B2 in Figur 10 der Detektorlogikschaltungen 136 verbunden. In ähnlicher Weise sind die Ausgänge der D-Verriegelungsschaltungen 133 mit Eingängen Al und B1 der Detektor-Logikschaltung 136 verbunden. Alle Verriegelungsschaltungen werden gleichzeitig durch ein Taktsignal, typischerweise bei 20 MHz getaktet, das von der Detektor-Logikschaltung 136 oder einem externen Taktgeber erzeugt wird. Die Verwendung der D-Verriegelungsschaltungen 131, 132 und 133 ermöglicht den Vergleich von sequentiellen Datenbits, welche auf den Leitungen SDA und SDB gleichzeitig empfangen werden.Data transmitted via the serial bus 37 are used in the case of the described preferred embodiment 180C out of phase with lines SDA and SDS given. The serial message controller logic 124 also encrypts the to be sent data in the example described using the known Manchester coding methods. Reference is made to FIG. 10 below. The bus status detector 110 generates encoded data from the received serial transmissions, collision detection and carrier scan signals. The bus state detector 110 has optional "D" locking circuits 131 (for synchronization purposes) with two similar interlock circuits 132 are connected in series. A third pair of D-latch circuits 133 is in turn connected to the output of the corresponding latch circuits 132 and a detector logic circuit 136 (Figure 10). The outputs of the D-latch circuits 132 are for both lines SDA and SDB with associated inputs A2 and B2 in Figure 10 of the detector logic circuits 136 connected. Similarly, are the Outputs of the D-latch circuits 133 with inputs A1 and B1 of the detector logic circuit 136 connected. All interlocking circuits are activated simultaneously by a clock signal, typically clocked at 20 MHz, which is determined by the detector logic circuit 136 or one external clock is generated. The use of the D-latch circuits 131, 132 and 133 enables the comparison of sequential data bits which are based on the SDA and SDB lines are received at the same time.

Der erfindungsgemäße Bus-Zustandsdetektor 110 liefert eine einfache Methode zum Extrahieren kodierter Daten, die seriell über den Serienbus 37 übertragen werden, sowie zum Feststellen der Kollisionen von Nachrichten über den Serienbus. Wie in Figur 10 gezeigt ist, werden Kollisionen über den Seriendatenbus leicht dadurch festgestellt, daß das Ausgangssignal des Kollisionsfeststellungsports (CD) des Buszustandsdetektors 110 überwacht wird. Wenn alle Eingänge Al , A2, B1 und B2 der Detektorlogik 136 auf einem niedrigen Pegel (logische Null) sind, so wurden beide Leitungen SDA und SDB auf einen niedrigen Pegel gezogen, was eine Kollision anzeigt, da beide Datenleitungen normalerweise von jedem seriellen Sender 128 innerhalb der zugehörigen Stationen um 1800 phasenverschoben sind.The bus state detector 110 according to the invention provides a simple one Method of extracting encoded data transmitted serially via the serial bus 37 as well as to determine the collisions of messages over the serial bus. As shown in Figure 10, collisions over the serial data bus easily become thereby detected that the output of the collision detection port (CD) of the bus state detector 110 is monitored. If all inputs A1, A2, B1 and B2 of the detector logic 136 are at a low level (logic zero), then both lines SDA and SDB pulled low indicating a collision as both data lines usually from each serial transmitter 128 within its associated stations are out of phase by 1800.

Daher kann ein niedriger Pegel (L-Pegel) an allen Ports Al, A2, B1 und B2 der Detektorlogik nur im Falle einer Kollision auf dem Bus auftreten, da auslegungsbedingt eine logische Eins auf der Leitung SDA das Anstehen einer logischen Null auf der Leitung SDB erfordert. In ähnlicher Weise werden die Serienbus-Ruheperioden durch Beobachtung des Ausgangs des Trägerabtastports (CS) des Buszustandsdetektors 110 bestimmt. Wie gezeigt, wird eine Bus-Ruheperiode dadurch angezeigt, daß beide Leitungen SDA und SDB auf einem hohen (H-Pegel) sind. Der Trägerabtastport des Detektors 110 zeigte eine Ruhebedingung durch ein logisches Null (niedriges) Signal an. Obwohl die Arbeitsweise des Bus-Zustandsdetektors 110 für spezielle logische Zustände beschrieben worden ist, ist dem Fachmann klar, daß andere Kombinationen von logischen Zuständen in gleicher Weise verwendet werden können.Therefore, a low level (L level) can be applied to all ports A1, A2, B1 and B2 of the detector logic only occur in the event of a collision on the bus, since Due to the design, a logical one on the SDA line means that a logical one is pending Requires zero on the SDB line. Similarly, the serial bus idle periods by observing the output of the carrier scan port (CS) of the bus state detector 110 determined. As shown, a bus idle period is indicated by both Lines SDA and SDB are high (H level). The carrier scan port of the detector 110 indicated an idle condition by a logic zero (low) signal. Even though the operation of the bus state detector 110 for specific logic states is described has been, it is clear to those skilled in the art that other combinations of logic states can be used in the same way.

Im folgenden wird kurz auf Figur 11a Bezug genommen. Alle über den Serienbus 37 übertragenen Nachrichten enthalten eine Synchronisations ("sync")-Präambel 200, die für die Manchester-Kodierung erforderlich ist, gefolgt von einem die Bestimmungsstationsadresse (z.B. Verarbeitungseinheit 26) enthaltenden Byte 210. Zusätzlich ist die Quellenstationsadresse 220 vorgesehen, um die die Nachricht sendende Ursprungsstation zu identifizieren. Ein "Typ-Byte 225 identifiziert den Charakter der zwischen den Stationen übertragenen Nachrichten. Beispiele von Typ-Befehlen sind eine Pufferanforderung, eine Pufferzuteilung o.dgl. Dem Typ-Byte 252 folgt ein Identifikations (ID)-Byte 230, das einer speziellen Identifizierungsnummer für die spezielle sendende -Station entspricht, und ein Datenfeld 235.Reference is briefly made below to FIG. 11a. All over the Messages transmitted via serial bus 37 contain a synchronization ("sync") preamble 200 required for Manchester encoding followed by one of the destination address (e.g. processing unit 26) containing byte 210. Additionally, is the source station address 220 is provided to identify the originating station sending the message. A "type byte 225" identifies the character of the information transmitted between the stations News. Examples of type commands are a buffer request, a buffer allocation or the like. The type byte 252 is followed by an identification (ID) byte 230, which is a special Identification number for the specific sending station, and a data field 235

Beendet wird die Nachricht durch einen Fehler-Prüf CRC (16 Bit CCITT)-Code 240 (bekannt), um fehlerfreie Übertragungen über den Serienbus 37 zu gewährleisten. Jede über den Bus 37 zwischen den Stationen übertragene Seriennachricht wird gefolgt von einer nachrichtenübertragungsfreien Periode, die als Zwischenraum "interframe space" (INS) bezeichnet wird und bei dem beschriebenen Ausführungsbeispiel etwa vier Byte-Zeiten bildet. Alle über den Serienbus 37 laufenden Nachrichten werden von der Empfangsstation unter Verwendung des in Figur lib bezeichneten Nachrichtenquittierungsformats quittiert. Wie gezeigt, enthält das Quittierungssignal eine sync-Präambel 200, gefolgt von einem optionellen einfachen Quittierungsfeld 260, welches einen ein Nachrichtenquittierungssignal darstellenden speziellen Digitalcode enthält. Bei dem beschriebenen System findet das Quittierungsfeld 260 nicht Verwendung; stattdessen wird eine Quittierung durch die sync-Präambel 200 bezeichnet, gefolgt durch eine Bus-Ruheperiode innerhalb der Zwischenraumzeit. Wenn keine sync-Präambel 200 und/oder Ruheperiode innerhalb der IFS-Zeit festgestellt wird, wird ein Fehler angenommen.The message is ended by an error-checking CRC (16-bit CCITT) code 240 (known) to ensure error-free transmissions via the serial bus 37. Any serial message transmitted between the stations over the bus 37 is followed of a message-free period called the "interframe space "(INS) and in the described embodiment, for example forms four byte times. All messages running over the serial bus 37 will be from the receiving station using the message acknowledgment format indicated in Figure lib acknowledged. As shown, the acknowledge signal includes a sync preamble 200 followed from an optional simple acknowledgment field 260 which is a message acknowledgment signal contains special digital code representing it. In the system described takes place acknowledgment field 260 not used; instead an acknowledgment is given denotes the sync preamble 200 followed by a bus idle period within the Interval time. If there is no sync preamble 200 and / or idle period within the IFS time is detected, an error is assumed.

Anhand der Figur 12a wird die von der Nachrichtensteuerlogik 50 zum Senden einer Nachricht über den Serienbus 37 ausgeführte Folge von logischen Operationen beschrieben. Es sei als Beispiel angenommen, daß die Verarbeitungseinheit 25 unter Verwendung des Serienbusses 37 eine Nachricht zur Verarbeitungseinheit 26 senden muß. Die Verarbeitungseinheit 25 bestimmt zunächst durch Prüfung des Trägerabtast (CS)-Ausgangssignals des Bus-Zustandsdetektors 110, ob der Serienbus 37 gerade in Benutzung ist oder nicht. Bei dem beschriebenen Beispiel führt das Fehlen von Datenübertragungen über den Serienbus 37 dazu, daß die beiden Leitungen SDA und SDB auf hohem Pegel bleiben (vgl. Figur 10). Eine NAND-Operation durch die Detektorlogik 136 zwischen Leitungen SDA und SDB würde bei Abwesenheit eines Trägersignals auf dem Serienbus 37 einen L-Zustand ergeben. Sobald die Verarbeitungseinheit 25 feststellt, daß der Serienbus 37 nicht in Benutzung ist, kapselt die Seriennachrichten-Steuergerätlogik 124 der Verarbeitungseinheit 25 die Nachricht unter Verwendung des in Figur 11a dargestellten Nachrichtenformats ein und schickt die Nachricht zum seriellen Sender 128 zum Anlegen an die SDA- und SDB-Leitungen. Sobald die Verarbeitungseinheit 25 ihre Nachricht über den Serienbus 37 abgesetzt hat, wartet sie auf den Empfang einer Quittierungsnachricht von der Verarbeitungseinheit 26 während des der Nachricht folgenden Zwischenraums unter Verwendung des in Figur 11b dargestellten Formats. Nimmt man an, daß die Quittierung innerhalb des Zwischenraums empfangen wird, ist der serielle Nachrichtenzyklus jetzt abgeschlossen.Based on FIG. 12a, the message control logic 50 is used for the Sending a message over the serial bus 37 executed sequence of logical operations described. It is assumed as an example that the processing unit 25 under Using the serial bus 37, send a message to the processing unit 26 got to. The processing unit 25 first determines by examining the carrier scan (CS) output signal of the bus state detector 110, whether the serial bus 37 is currently in Use is or not. In the example described, the lack of data transfers results via the serial bus 37 so that the two lines SDA and SDB are at a high level remain (see Figure 10). A NAND operation by detector logic 136 between Lines SDA and SDB would be on the serial bus in the absence of a carrier signal 37 result in an L state. As soon as the processing unit 25 determines that the Serial bus 37 is not in use encapsulates the serial message controller logic 124 of the processing unit 25 the message using the in Figure 11a message format and sends the message to the serial sender 128 for connection to the SDA and SDB lines. As soon as the processing unit 25 has sent its message via the serial bus 37, it waits for the receipt of a Acknowledgment message from processing unit 26 during the message following space using the format shown in Figure 11b. Assuming that the acknowledgment is received within the space is the serial message cycle is now complete.

Wenn die Verarbeitungseinheit 25 keine Quittierungsnachricht während des Zwischenraums erhält und der Bus-Zustandsdetektor 110 auf dem Serienbus 37 keine Kollision festgestellt hat, wiederholt die Verarbeitungseinheit 25 die Datensendung nach Setzen eines Kennzeichnungsbits mit dem Nachrichten-Typ-Byte 225, um die zweite Übertragung als Duplikatnachrichtenpaket zu kennzeichnen. Wenn der Bus-Zustandsdetektor 110 jedoch eine Kollision festgestellt hat, leitet die Verarbeitungseinheit 25 (sowie die anderen mit dem Serienbus 37 gekoppelten Stationen) einen Serienbus-Neusende-Entscheidungszyklus ein, der am besten unter Bezugnahme auf Figuren 12b, c und 13 beschrieben werden kann.If the processing unit 25 does not receive an acknowledgment message during of the gap and the bus state detector 110 on the serial bus 37 does not Has determined a collision, the processing unit 25 repeats the data transmission after setting an identification bit with the message type byte 225 to the second Transmission as a duplicate message packet too mark. if however, bus state detector 110 detects a collision, the Processing unit 25 (as well as the other stations coupled to the serial bus 37) a serial bus resend arbitration cycle, best referred to by reference on Figures 12b, c and 13 can be described.

Aufgrund der Art der Datenübertragung über den Serienbus, nämlich das Einspeisen der Daten mit einer Phasenverschiebung zwischen den Leitungen SDA und SDB, bewirkt die Summe der kollidierenden Nachrichten zwischen einer oder mehreren sendenden Stationen, daß beide Leitungen SDA und SDB auf einen L-Pegel (niedrigen Pegel) gehen. Nach Feststellen einer Kollision leiten alle mit dem Serienbus 37 verbundenen Stationen einen "Stauzyklus (jam cycle)" ein, der damit beginnt, daß beide Leitungen SDA und SDB auf einen L-Pegel getrieben werden, um den Serienbus für eine vorgegebene Anzahl von Bit-Zeiten zu "stören". Die Stationen bleiben dann im Ruhezustand bzw. Leerlauf, überwachen den Buszustand für eine vorgegebene Zeit, um eine Auflösung der Kollision zu ermöglichen, und warten eine zusätzliche Periode (gleich einem IFS) ab, um sicherzustellen, daß ein gültiger Stauzyklus abgelaufen ist.Due to the nature of the data transmission via the serial bus, namely the feeding of the data with a phase shift between the lines SDA and SDB, causes the sum of the conflicting messages between one or more transmitting stations that both lines SDA and SDB at an L level (low Level) go. After a collision has been established, everyone is routing with the serial bus 37 connected stations a "jam cycle", which begins with that both lines SDA and SDB are driven to a low level to the serial bus to "disturb" for a predetermined number of bit times. The stations then remain in idle or idle mode, monitor the bus status for a specified time, to allow the collision to be resolved and wait an additional period (like an IFS) to ensure that a valid jam cycle has expired is.

Sobald der Stauzyklus beendet worden ist, beginnt jede Sendestation gleichzeitig über vorgegebene Zeitschlitze #0 bis #N (entsprechend Darstellung in Figur 13) zu zählen. Jeder mit dem Serienbus 37 gekoppelten Station wird eine der speziellen Zeitperioden zugeordnet, in der ihre Nachricht neu gesendet wird. Wie in Figur 13 gezeigt ist, kann jeder Zeitschlitz seinerseits in mehrere (#0 - #M) Teilschlitze unterteilt sein, wobei jeder Teilschlitz einer mit dem Serienbus gekoppelten speziellen Station zugeordnet ist. In einem solchen Falle würden alle Stationen beim Zählen bis zu einem Zeitschlitz mit zugehörigem Teilzeitschlitz wiederum einen Stauzyklus einleiten und die Teilzeitschlitze innerhalb des primären Zeitschlitzes (Zeitschlitz #2 in Figur 13) zu zählen beginnen. Im Ergebnis kann die erfindungsgemäße Sendeentscheidung bei zahlreichen mit dem Serienbus 37 gekoppelten Stationen wirksam benutzt werden. Obwohl Figur 13 die Verwendung von Teilzeitschlitzen darstellt, wird bei dem beschriebenen Ausführungsbeispiel nur ein einziger Pegel derart verwendet, daß nur einer Station ein spezieller Schlitz zugeordnet ist.As soon as the congestion cycle has ended, each transmitting station begins simultaneously over predefined time slots # 0 to #N (as shown in the illustration in Figure 13). Each station coupled to the serial bus 37 becomes one assigned to the specific time periods in which your message will be re-sent. As shown in FIG. 13, each time slot can in turn be divided into several (# 0 - #M) sub-slots, each sub-slot being one with the serial bus coupled special station is assigned. In such a case everyone would Stations when counting up to a time slot with an associated part time slot initiate a congestion cycle and the partial time slots within the primary time slot (Time slot # 2 in Figure 13) start counting. As a result, the transmission decision according to the invention can be effectively used in numerous stations coupled to the serial bus 37. Although FIG. 13 illustrates the use of partial time slots, this is described Embodiment only uses a single level so that only one station a special slot is assigned.

Es sei als Beispiel angenommen, daß über den Serienbus 37 eine Kollision zwischen Nachrichten aufgetreten ist, die von einer Station "A" und einer Station "B" gesendet wurden. Nach Feststellung der Kollision treten alle mit den Serienbus 37 gekoppelten Stationen in den Stauzyklus ein und beginnen das sequentielle Zählen der Zeitschlitze (bei dem Beispiel enthält jeder Zeitschlitz etwa acht Bit-Zeiten) beginnend mit dem Zeitschlitz #0. Bei dem Beispiel ist der Station A der Zeitschlitz #0 zugeordnet. Demgemäß hören alle mit dem Bus 37 gekoppelten Stationen mit dem Zählen der Zeitschlitze auf, bis Station A ihre Datennachricht neu gesendet hat. Sobald Station A ihre Nachricht unter Verwendung des in Fig. 12 gekennzeichneten Protokolls neu gesendet hat, beginnen alle Stationen wieder mit der Zeitschlitzzählung, und zwar mit dem Zeitschlitz #1. In dem Falle, daß Teilzeitschlitze zugeordnet wurden, wie im Falle des Zeitschlitzes #2 in Fig. 13, nach einer Pause werden Teilzeitschlitze in ähnlicher Weise von allen Stationen abwärts gezählt, um den Stationen, denen der spezielle Teilzeitschlitz zugeordnet wurde, das Senden ihrer Nachrichten zu ermöglichen.) Demgemäß ist das erfindungsgemäße Kollisionssendewiederholungsentscheidungsprotokoll im wesentlichen kennzeichnend dafür, daß jeder mit dem Serienbus 37 gekoppelten Station ein vorgegebener Zeitschlitz zugeordnet ist, in welchem sie ihre Nachricht neu senden kann. Diese Bestimmung unterscheidet sich grundsätzlich von früheren CSMA/CD Protokollen, z.B. der "Ethernet"-Methode (US-PS 4 063 220), die einfach erforderlich macht, daß alle sendenden Stationen eine zufallsbewertete Zeit vor der neuen Sendung erwarten, so daß eine Station schließlich Zugriff zum Bus gewinnt.It is assumed as an example that a collision occurs via the serial bus 37 between messages that occurred from a station "A" and a station "B" were sent. Once the collision has been established, everyone uses the serial bus 37 coupled stations in the traffic jam cycle and start the sequential counting the time slots (in the example, each time slot contains about eight bit times) starting with time slot # 0. In the example station A is the time slot Assigned to # 0. Accordingly, all of the stations coupled to the bus 37 listen in counting the time slots until station A resends its data message Has. Once station A sends its message using the one marked in FIG Has re-sent the protocol, all stations start counting the time slot again, namely with the time slot # 1. In the event that part time slots have been allocated, as in the case of time slot # 2 in Fig. 13, after a pause, sub-time slots become similarly counted down from all stations to the stations that the special part time slot was assigned to send their messages to Accordingly, the inventive collision retransmission decision protocol is essentially indicative of the fact that each coupled to the serial bus 37 Station is assigned a predefined time slot in which it sends its message can resend. This provision differs fundamentally from previous ones CSMA / CD protocols such as the "Ethernet" method (U.S. Patent 4,063 220), which simply requires that all sending stations have a randomized one Expect time before the new broadcast so that a station can finally access the Bus wins.

Lokaler Bus Der erfindungsgemäße lokale Bus 56 bildet einen Hochgeschwindigkeitsparallelbus großer Bandbreite zum lokalen Speicher und zu den Verarbeitungsresourcen eines primären Prozessors innerhalb einer Verarbeitungseinheit, beispielsweise 25 und 26 gemäß Fig. 1. Alle Informationsübertragungen, die auf dem lokalen Bus 56 stattfinden, beziehen sich auf eine anfordernde bzw. rufende Station oder eine antwortende Station. Eine typische rufende Station wäre ein primärer Prozessor 40 oder ein sekundärer Prozessor 57, der mit dem lokalen Bus 56 als Resource oder Systemelement des primären Prozessors 40 bei der Abwicklung von Datenoperationen gekoppelt ist. In ähnlicher Weise ist eine typische antwortende Station an dem lokalen Bus 56 eine Speicherresource 54. Der lokale Bus 56 erlaubt daher die Verwendung von mehreren zugeordneten Datenverarbeitungsresourcen zwischen der primären Verarbeitungsstation 40 und einer sekundären Verarbeitungsstation 57, soweit sie mit dem lokalen Bus 56 gekoppelt sind. Bei dem beschriebenen Ausführungsbeispiel können maximal zwei "rufende Stationen" (Prozessoren) mit dem lokalen Bus 56 gleichzeitig gekoppelt sein. Local Bus The local bus 56 of the present invention forms a high speed parallel bus large bandwidth to local storage and to the processing resources of a primary Processor within a processing unit, for example 25 and 26 according to Fig. 1. All information transfers that take place on the local bus 56, relate to a requesting or calling station or an answering station. A typical calling station would be a primary processor 40 or a secondary Processor 57 using the local bus 56 as a resource or system element of the primary Processor 40 is coupled in the processing of data operations. In a similar way Thus, a typical responding station on local bus 56 is a memory resource 54. The local bus 56 therefore allows the use of several dedicated data processing resources between the primary processing station 40 and a secondary processing station 57, as far as they are coupled to the local bus 56. In the described embodiment A maximum of two "calling stations" (processors) can use the local bus 56 at the same time be coupled.

Wie in Fig. 14 dargestellt ist, enthält der lokale Bus 56 Adreßleitungen 300, Befehlsleitungen 310, Datenleitungen 315 und mehrere Steuerleitungen 320 für die Aufrechterhaltung der Systemsteuerung entsprechend dem Protokoll für den lokalen Bus 56. Eine Bus-Anforderungsleitung (BUS REQ) 325 ist über die lokale Bus-Schnittstelle 58 (siehe Fig. 1) zwischen der sekundären rufenden Station 57 und der primären rufenden Station 40 eingeschaltet. In ähnlicher Weise liefert eine Bus-Quittierungs (BUS ACK) Leitung 330 zwischen der sekundären Antwortstation 57 und der primären Antwortstation 40 Signale, um die Quittierung des Busbesitzübergangs zu kennzeichnen. Eine Bus-Taktleitung 335 ist mit der primären rufenden Station 40 derart gekoppelt, daß der lokale Bus 56 mit dem internen Takt des primären Prozessors synchronisiert werden kann. Demgemäß sind alle Busereignisse als ganzzahlige Vielfache der Bus-Taktperiode definiert, und der Start und das Ende jedes Ereignisses oder dessen Gültigkeitsdauer haben eine definierte Beziehung zur Flanke des Bus-Taktsignals.As shown in Figure 14, the local bus 56 includes address lines 300, command lines 310, data lines 315 and several control lines 320 for maintaining the system control according to the protocol for the local Bus 56. A bus request line (BUS REQ) 325 is over the local bus interface 58 (see Fig. 1) between the secondary calling station 57 and the primary calling station Station 40 switched on. A bus acknowledgment is provided in a similar manner (BUS ACK) line 330 between the secondary responder 57 and the primary Response station 40 signals to identify the acknowledgment of the transfer of bus ownership. A bus clock line 335 is coupled to the primary calling station 40 such that that the local bus 56 synchronizes with the internal clock of the primary processor can be. Accordingly, all bus events are integral multiples of the bus clock period defined, and the start and end of each event or its duration have a defined relationship to the edge of the bus clock signal.

Alle Bus-Datenübertragungsoperationen bestehen aus drei Typen von Ereignissen, die als Zyklen bezeichnet werden: dem "Entscheidungs (arbitration)"-Zyklus, dem ~Übertragungs"-Zyklus und dem "Ausnahme"-Zyklus. Der Entscheidungszyklus gewährleistet, daß eine und nur eine rufende Station (entweder der primäre oder der sekundäre Prozessor) eine Datenübertragung über einen lokalen Bus 56 zu irgendeinem vorgegebenen Zeitpunkt einleiten kann. Bei dem beschriebenen Beispiel wird der primären rufenden Station 40 die Kontrolle über den lokalen Bus 56 bei Fehlen einer Busanforderung durch die sekundäre rufende Station 57 gegeben. Daher braucht die primäre rufende Station 40 nur in den Entscheidungszyklus einzutreten, wenn die sekundäre rufende Station 57 mit dem lokalen Bus gekoppelt ist und wenn der lokale Bus gerade unter der Kontrolle der sekundären rufenden Station belegt ist (zu beachten ist, daß die Verarbeitungseinheit 26 gemäß Fig. 1 keinen sekundären Prozessor an ihrem lokalen Bus hat, so daß ihr primärer Prozessor zur Busbelegung keine Entscheidung durchzuführen hat).All bus data transfer operations consist of three types of Events known as cycles: the "arbitration" cycle, the ~ transfer "cycle and the" exception "cycle. The decision cycle ensures that one and only one calling station (either the primary or the secondary processor) a data transfer over a local bus 56 at any given time can initiate. In the example described, this will be the primary calling station 40 control over the local bus 56 in the absence of a bus request by the secondary calling station 57 given. Hence the primary calling station needs 40 only to enter the arbitration cycle when the secondary calling station 57 is coupled to the local bus and when the local bus is currently under control the secondary calling station is busy (note that the processing unit 26 of FIG. 1 does not have a secondary processor on its local bus, so you primary processor does not have to make a decision for bus occupancy).

Im folgenden wird anhand von Fig. 15 der erfindungsgemäße lokale Bus-Entscheidungszyklus beschrieben. Wenn die sekundäre rufende Station 57 die Benutzung des lokalen Bus 56 anfordert, legt sie ein Bus-Anforderungssignal (BUS REQ) auf die Bus-Anforderungsleitung 325. Die primäre rufende Station 40 quittiert die Bus-Anforderung der sekundären rufenden Station durch Erzeugung eines Bus-Quittierungssignals (BUS ACK) auf der Bus-Quittierungsleitung 330, wodurch der Busbesitz an die sekundäre rufende Station 57 übergeht. Die sekundäre rufende Station 57 kann dann geeignete Adreß- und Befehlssignale auf die Adreßleitungen 300 und die Befehlsleitungen 310 zu einer lokalen Bus-Resource, z.B. zum Speicher 54 geben, um die erforderliche spezielle Busoperation einzuleiten. Das Anlegen der Adreß- und Befehlsinformationen durch eine rufende Station (Prozessor) wird als "Anforderungsphase" bezeichnet und dauert bei dem Beispiel wenigstens zwei Taktzyklen. Die antwortende Station (beispielsweise eine Speicherresource 54) kann dann geeignete Daten (im Falle einer Lese-Operation) auf die Datenleitungen 315 zum Empfang durch die sekundäre rufende Station 57 unter Verwendung der nachfolgend beschriebenen Protokolle legen. Die sekundäre rufende Station 57 gibt bei Beendigung der gewünschten Operation durch die antwortende Station die Bus-Anforderungsleitung 325 frei, wodurch der Busbesitz wieder an die primäre rufende Station 40 zurückgeht.The local bus decision cycle according to the invention is described below with reference to FIG described. When the secondary calling station 57 use the local bus 56 requests, it applies a bus request signal (BUS REQ) the bus request line 325. The primary calling station 40 acknowledges the bus request the secondary calling station by generating a bus acknowledgment signal (BUS ACK) on bus acknowledge line 330, releasing bus ownership to the secondary calling station 57 passes. The secondary calling station 57 can then appropriate Address and command signals on address lines 300 and command lines 310 to a local bus resource, e.g. to memory 54, to obtain the required initiate special bus operation. The creation of the address and command information by a calling station (processor) is referred to as the "request phase" and takes at least two clock cycles in the example. The responding station (for example a memory resource 54) can then suitable data (in the case of a read operation) onto data lines 315 for reception by secondary calling station 57 Use the protocols described below. The secondary calling Station 57 issues upon completion of the desired operation by the responding station the bus request line 325 free, thereby returning bus ownership to the primary calling station 40 goes back.

Anhand der Fig. 16 wird die erfindungsgemäße besondere Benutzung eines WAIT-Signals beschrieben. Das WAIT-Signal kann von allen mit dem lokalen Bus 56 gekoppelten antwortenden Stationen benutzt werden, um die Antwortphase auszudehnen, indem Verzögerungstaktzyklen injiziert werden. Wenn Pipelining durchgeführt wird (die Anforderungsphase einer laufenden Busoperation überlappt mit der Antwortphase einer vorhergehenden Busoperation) kann das Anlegen des WAIT-Signals durch die die vorhergehende Busoperation bedienende antwortende Station zu einer Ausdehnung der Anforderungsphase der laufenden Busoperation führen. Wie in Fig. 16 gezeigt ist, hat der primäre Prozessor 40 eine Anforderung (unter Verwendung von Adreßleitungen 300 und Befehlsleitungen 310) an eine mit dem lokalen Bus 56 gekoppelte antwortende Station gegeben. Die die vorhergehende Busoperation bedienende antwortende Station hat während des ersten Taktzyklus der Anforderungsphase der laufenden Busoperation ein WAIT-Signal entwickelt, welches der primären anfordernden Station 40 anzeigt, daß die ihre vorhergehende Busoperation bediendende antwortende Station nicht in der Lage war, die Adreß- und Befehlsinformation während des laufenden Bus-Taktzyklus aufzunehmen. Wenn die adressierte antwortende Station zusätzliche Zeit benötigt, um zuzugreifen und die angeforderten Daten an den lokalen Bus zu geben, muß beim letzten Taktzyklus der Anforderungsphase ein WAIT-Signal geltend machen. Die anfordernde Station muß mit der Entwicklung des WAIT-Signals solange weitermachen, bis die geeignete Anzahl von Zugriffsverzögerungszyklen eingegeben worden ist. Die Verwendung des WAIT-Signals zur Entwicklung von Verzögerungszyklen im lokalen Bus 56 wäre in dem Falle üblich, wenn der primäre Prozessor 40 bei einer höheren Geschwindigkeit als die Zugriffszeit beispielsweise einer lokalen Speicherresource 54 arbeitet, da, wie erinnerlich sein wird, der lokale Bus 56 mit derselben Frequenz wie der primäre Prozessor 40 getaktet wird.With reference to FIG. 16, the particular use according to the invention of a WAIT signal described. The WAIT signal can be used by anyone on the local bus 56 coupled answering stations are used to extend the response phase, by injecting delay clock cycles. When pipelining is in progress (The request phase of an ongoing bus operation overlaps with the response phase of a previous bus operation), the application of the WAIT signal can be initiated by the responding station serving previous bus operation to an extension of the Carry out the request phase of the current bus operation. As shown in Fig. 16, the primary processor 40 has a request (using address lines 300 and command lines 310) to a responder coupled to local bus 56 Station given. The answering station serving the previous bus operation has during the first clock cycle of the request phase of the current bus operation develops a WAIT signal indicating to the primary requesting station 40 that that the responding station serving its previous bus operation is not in was able to store the address and command information during the current bus clock cycle to record. If the addressed answering station needs additional time, in order to gain access and to give the requested data to the local bus, the assert a WAIT signal on the last clock cycle of the request phase. The requesting The station must continue developing the WAIT signal until the appropriate one Number of access delay cycles has been entered. Using the WAIT signal to develop delay cycles on local bus 56 would be in that Common case when the primary processor 40 is at a speed higher than the access time of, for example, a local memory resource 54 is working, since as will be recalled, the local bus 56 operates at the same frequency as the primary Processor 40 is clocked.

Wie in Fig. 16 gezeigt ist, führt das Anlegen des WAIT-Signals in dem ersten Taktzyklus der Anforderungsphase zu einer Fortsetzung der Anforderungsphase der primären rufenden Station für zusätzliche zwei Taktzyklen. Daher schiebt das WAIT-Signal tatsächlich eine Verzögerung in den Zustand der lokalen Busleitungen ein, ändert jedoch das Standardprotokoll des lokalen Bus nicht. Obwohl jede Anforderung auf dem lokalen Bus 56 für eine Minimalzeit von zwei Taktperioden aufrechterhalten wird, kann eine antwortende Station auf die Anforderung jederzeit nach deren Empfang antworten. Mit anderen Worten, eine antwortende Station kann so schnell wie ein Taktzyklus nach dem Anlegen einer Anforderung (Null-Zyklus-Verzögerung) antworten, obwohl die rufende Station (der primäre oder sekundäre Prozessor) die Anforderung noch angelegt oder aufrechterhält.As shown in FIG. 16, the assertion of the WAIT signal results in the first clock cycle of the request phase to a continuation of the request phase the primary calling station for an additional two clock cycles. Hence that pushes WAIT signal actually introduces a delay in the state of the local bus lines but does not change the standard local bus protocol. Though any requirement on the local bus 56 for a minimum of two clock periods a responding station can respond to the request at any time after it has been received answers. In other words, an answering station can be as fast as an Clock cycle after Creating a request (zero cycle delay) answer even though the calling station (the primary or secondary processor) has the Request still created or maintained.

Es ist zu sehen, daß das Anlegen eines WAIT-Signals nach dem ersten Taktzyklus einer Anforderungsphase (d.h. während des zweiten Taktzyklus) keinen Einfluß auf die spezielle Anforderungsphase hat und nur die Antwortphase durch Ausdehnen über die eingefügten Zeitverzögerungen beeinflußt. So beginnt beispielsweise gemäß Darstellung in Fig. 16 die Anforderungsphase der zweiten Busoperation der primären rufenden Station während desjenigen Taktzyklus, bei dem die Antwortphase einer vorhergehenden Busoperation beendet werden sollte. Wenn ein WAIT-Signal dazu geführt hat, daß die Antwortphase der vorhergehenden Busoperation um einen zusätzlichen oder mehrere Taktzyklen verzögert wird, wird die Anforderungsphase der zweiten Busoperation entsprechend ausgedehnt werden. Ein Anlegen des WAIT-Signals während des ersten Taktzyklus der Antwortphase (des letzten Taktzyklus der Anforderung) führt zu einer Verzögerung in der Antwort der antwortenden Station bis zum Taktzyklus, bei dem das WAIT-Signal von der antwortenden Station abgenommen wird. Bei dem beschriebenen Ausführungsbeispiel hat nur der augenblickliche Antworter das Recht, das WAIT-Signal während einer Antwortphase einer vorgegebenen Busoperation zu entwickeln bzw. anzulegen.It can be seen that the application of a WAIT signal after the first Clock cycle of a request phase (i.e. during the second clock cycle) none Has an influence on the special request phase and only the response phase through extension influenced by the inserted time delays. For example, according to begins 16 shows the request phase of the second bus operation of the primary calling station during that clock cycle in which the response phase of a previous Bus operation should be terminated. When a WAIT signal has caused the Response phase of the previous bus operation by an additional one or more Clock cycles is delayed, the request phase of the second bus operation becomes corresponding be expanded. An application of the WAIT signal during the first clock cycle of the Response phase (of the last clock cycle of the request) leads to a delay in the response of the responding station up to the clock cycle at which the WAIT signal is picked up by the answering station. In the described embodiment only the current responder has the right to the WAIT signal during a response phase to develop or create a given bus operation.

Fig. 17 stellt die Verwendung des WAIT-Signals durch eine antwortende Station während der Antwortphase sowie die erfindungsgemäßen Ausnahmezyklen dar. Wie gezeigt ist, hat die primäre rufende Station eine Anforderung (Adreß- und Befehlsinformation) auf die Adreßleitungen 300 und die Befehlsleitungen 310 gegeben. Da kein WAIT-Signal während des ersten Taktzyklus der Anforderung des Primärprozessors anstand, dauerte die Anforderungsphase nur die Minimalzeit von zwei Taktzyklen.Figure 17 illustrates the use of the WAIT signal by a respondent Station during the response phase and the exception cycles according to the invention. As shown, the primary calling station has a request (address and command information) on the address lines 300 and the command lines 310. There is no WAIT signal was pending the request from the primary processor during the first clock cycle the request phase only has the minimum time of two clock cycles.

Die antwortende Station legte in Abhängigkeit von der Anforderung das WAIT-Signal während des ersten Taktzyklus der Antwortphase (letzter Taktzyklus der Anforderungsphase) an, wodurch allen Bus-Stationen angezeigt wird, daß die angeforderte Busoperation solange nicht durchgeführt wird, bis das WAIT-Signal abgenommen ist, und daß alle anderen Busfunktionen entsprechend verzögert werden. Bei dem Beispiel benötigte die antwortende Station nur einen Zyklus als Zugriffsverzögerung, um von der primären rufenden Station zu lesende Daten zu gewinnen und nahm gleichzeitig mit dem Anlegen ihrer Antwort auf die Datenleitungen 315 das WAIT-Signal ab. Die Abnahme des WAIT-Signals während der Antwortphase signalisiert der rufenden Station entweder, daß die Lesedaten auf dem lokalen Bus gültig sind und abgetastet werden können oder, daß die "Schreibdaten", die von der rufenden Station eingegeben wurden, eingelesen und die Schreiboperation von der antwortenden Station beendet worden ist.The responding station placed depending on the request the WAIT signal during the first clock cycle of the response phase (last clock cycle the request phase), which indicates to all bus stations that the requested Bus operation is not carried out until the WAIT signal has been picked up, and that all other bus functions are delayed accordingly. In the example the answering station only needed one cycle as an access delay to get from the primary calling station to be read and recorded at the same time with the application of their response to the data lines 315, the WAIT signal. the Decrease in the WAIT signal during the response phase is signaled to the calling station either that the read data on the local bus is valid and is being scanned or that the "write data" entered by the calling station read in and the write operation has been terminated by the responding station is.

Wie in Figur 17 dargestellt, muß eine antwortende Station die rufende Station (Prozessor) von jedem Fehler oder jeder Ausnahme in Bezug auf die ausgegebene Anforderungsphase während der ersten Datenübertragungsperiode der Antwortphase unterrichten. Mit anderen Worten, bei dem beschriebenen Ausführungsbeispiel werden alle Ausnahmen für eine Anforderung während der ersten Datenübertragungsperiode der Antwortphase berichtet. Wenn ein WAIT-Signal während des letzten Taktzyklus der Anforderungsphase nicht ansteht, wird eine Ausnahme für diese Anforderungsphase in diesem letzten Taktzyklus angezeigt. Ausnahmen für Daten werden während des dem Anlegen der Daten auf den Datenbus 315 unmittelbar folgenden Taktzyklus berichtet (Figur 17).As shown in Figure 17, an answering station must be the calling Station (processor) of any error or exception related to the issued Teach the request phase during the first data transfer period of the response phase. In other words, in the described embodiment all exceptions are made for a request during the first data transfer period of the response phase reported. When a WAIT signal during the last clock cycle of the request phase is not pending, an exception is made for this request phase in this last one Clock cycle displayed. Exceptions for data are made while the data is being created is reported on the data bus 315 immediately following clock cycle (Figure 17).

Figuren 18 und 21 zeigen das erfindungsgemäße Ausnahmeberichtprotokoll für Anforderungen, Daten sowie "Fortsetzungs"-Ausnahmen. Wie in Figur 14 gezeigt, enthalten Steuerleitungen 320 Adreßfehler (AERR)- und Datenfehler (DERR)-Leitungen, welche zwischen allen Stationen auf dem lokalen Bus 56 angeordnet sind. Wie zuvor beschrieben, werden Ausnahmen für eine Anforderungsphase, die beispielsweise von einer primären rufenden Station 40 angelegt ist, während der ersten Datenübertragungsperiode der Antwortphase der rufenden Station berichtet. In ähnlicher Weise werden Ausnahmen für Daten, die an die Datenleitungen 315 angelegt sind, während des der Datenanlegung unmittelbar folgenden Taktzyklus berichtet. Erfindungsgemäß werden Fortsetzungsausnahmen auf der Adreßfehler-Signalleitung (AERR) über den lokalen Bus zu der die Busoperation ausführenden rufenden Stationen berichtet. Das AERR-Signal zeigt an, daß die an den Datenbus angelegten Daten nicht von der erwarteten antwortenden Station angenommen worden sind und zeigt, daß in Wirklichkeit ein Fortsetzungsfehler (d.h. ein eine pyhsikalische Grenze (Überlauf) darstellender Fehler) aufgetreten ist. Ein Fortsetzungsfehler kann im Falle von Blockübertragungen auftreten, wenn die antwortetende Station die Antworter-Datenadresse nach jeder Operation weiterschaltet und den zulässigen Adreßbereich der antwortenden Station überschreitet. In einem solchen Falle zeigt die antwortende Station der rufenden Station an, daß ein Fortsetzungsfehler aufgetreten ist. Diese geschieht durch Ansteuerung der AERR-Leitung während der Periode, in der die angeforderten Daten gültig sein sollten. Daher werden alle Fortsetzungsfehler gleichzeitig mit demjenigen Taktzyklus berichtet, in welchem die Daten anderenfalls gültig wären. Fortsetzungsfehler können auch durch eine antwortende Station berichtet werden, welche keine Blockübertragungen übernimmt, wenn eine Blockübertragsanforderung vorgelegen hat. Wenn ein WAIT-Signal angelegt worden ist, wird diese Periode entsprechend verzögert.Figures 18 and 21 show the exception report log of the present invention for requests, dates, and "continuation" exceptions. As in As shown in Figure 14, control lines 320 contain address (AERR) and data errors (DERR) lines which are arranged between all stations on the local bus 56 are. As previously described, exceptions are made for a requirements phase such as from a primary calling station 40 during the first data transmission period reported to the answering phase of the calling station. Similarly, there are exceptions for data applied to data lines 315 during data application immediately following clock cycle reported. According to the invention, continuation exceptions are made on the address error signal line (AERR) over the local bus to which the bus operation is taking place executing calling stations reported. The AERR signal indicates that the data applied to the data bus is not accepted by the expected responding station and shows that what is really a continuation error (i.e., a physical limit (overflow) error) has occurred. A continuation bug can occur in the case of block transfers when the responding station receives the Responder data address advances after each operation and the admissible address range of the answering station. In such a case the respondent shows Station to the calling station that a continuation error has occurred. These is done by activating the AERR line during the period in which the requested Data should be valid. Therefore, all continuation errors are concurrent with reported to the clock cycle in which the data would otherwise be valid. Continuation errors can also be reported by a responding station, which does not handle block transfers when there is a block transfer request Has. When a WAIT signal has been applied, this period is delayed accordingly.

Im folgenden wird auf Figur 19 Bezug genommen, in der die Fähigkeit des lokalen Bus 56 zum "Pipeline"-Betrieb durch Ermöglichung der Überlappung einer Anforderungsphase einer Busoperation einer gegebenen rufenden Station mit der Antwortphase der vorhergehende Busoperation gezeigt ist. Bei dem beschriebenen Beispiel gibt der primäre Prozessor 40 seine erste Anforderungsphase auf die Adreß- und Befehlsleitungen.Reference is now made to FIG. 19, in which the capability of the local bus 56 for "pipeline" operation by allowing one to overlap Request phase of a given calling station bus operation with the response phase the previous bus operation is shown. In the example described there primary processor 40 its first phase of request on the address and command lines.

Die primäre rufende Station (Prozessor) 40 kann ihre zweite Busoperation unmittelbar nach Beendigung der laufenden Anforderungsphase einleiten, wenn die erste Busoperation keine Blockübertragung ist. Wenn die erste Busoperation eine Blockübertragung ist, kann die zweite Busoperation bis zu demjenigen Taktzyklus nicht eingeleitet werden, bei dem die letzte Datenübertragungsperiode der ersten Busoperation erwartet wird.The primary calling station (processor) 40 can perform its second bus operation initiate immediately after the end of the current request phase, if the first bus operation is not a block transfer. If the first bus operation is a Block transfer is the second bus operation can be up to that clock cycle cannot be initiated in which the last data transmission period is the first Bus operation is expected.

Figur 20 zeigt den Fall, bei dem die primäre rufende Station 40 Zugriff zum lokalen Bus 56 gewonnen hat und die sekundäre rufende Station 57 Buszugriff verlangt. Wie gezeigt ist, belegt der sekundäre Prozessor 57 die BUS REQ-Leitung während der Anforderungsphase der primären rufenden Station. Die primäre rufende Station darf den lokalen Bus nicht vor dem dem Ende ihrer Antwortphase folgenden Taktzyklus für die sekundäre rufende Station freigeben. Wie gezeigt ist, beginnt die Anforderungsphase der sekundären rufenden Station 57 an dem Taktzyklus, der dem Taktzyklus folgt, bei dem BUS ACK von der primären rufenden Station 40 gesetzt ist.Figure 20 shows the case where the primary calling station 40 has access to local bus 56 and secondary calling station 57 has gained bus access required. As shown, the secondary processor 57 seizes the BUS REQ line during the primary calling station's request phase. The primary calling Station may not use the local bus before the one following the end of its response phase Enable the clock cycle for the secondary calling station. As shown, begins the secondary calling station 57 request phase on the clock cycle that follows the clock cycle at which the BUS ACK is set by the primary calling station 40 is.

Figur 20 zeigt auch die Zeit, bei der die sekundäre rufende Station 57 die Leitungen nach Beendigung ihrer Antwortphase für die primäre rufende Station 40 freigibt. Wie angegeben, ist der früheste Zeitpunkt, zu dem die sekundäre rufende Station die Belegung des Bus an die primäre rufende Station zurückgeben kann, der dem letzten Taktzyklus ihrer Antwortphase folgende Taktzyklus. Dies wird dadurch erreicht, daß die sekundäre antwortende Station 57 ihr BUS REQ-Signal zurücksetzt.Figure 20 also shows the time at which the secondary calling station 57 the lines upon completion of their answering phase for the primary calling station 40 releases. As indicated, is the earliest time the secondary will be calling Station can return the occupancy of the bus to the primary calling station, the the clock cycle following the last clock cycle of their response phase. This is because of this that achieved the secondary responding station 57 receives its BUS REQ signal resets.

Im folgenden Taktzyklus muß die primäre rufende Station 40 das BUS ACK-Signal rücksetzen bzw. löschen und kann die Anforderungsphase einer neuen Busoperation beginnen.In the following clock cycle, the primary calling station 40 must use the BUS Reset or delete ACK signal and can initiate the request phase of a new bus operation kick off.

Bei dem in Figur 20 dargestellten Beispiel hat die antwortende Station 40 das WAIT-Signal während des ersten Taktzyklus der Antwortphase der sekundären rufenden Station gesetzt, wodurch das Anlegen von Daten für einen zusätzlichen Taktzyklus verzögert wird. Das Rücksetzen bzw. Löschen des WAIT-Signals im folgenden Zyklus zeigt an, daß Lese-Daten auf den Datenleitungen gültig sind und von der anfordernden Station angenommen werden müssen. Das WAIT-Signal wird auch dazu benutzt, die Ein-Takt-Verzögerung in der Antwortphase der Busoperation der sekundären antwortenden Station einzuführen.In the example shown in FIG. 20, the answering station has 40 the WAIT signal during the first clock cycle of the response phase of the secondary calling station, which means that data is created for an additional clock cycle is delayed. Resetting or deleting the WAIT signal in the following cycle indicates that read data on the data lines is valid and from the requesting Station must be accepted. The WAIT signal is also used for the one-clock delay to be introduced in the response phase of the bus operation of the secondary responding station.

Zusätzlich zum WAIT-Steuersignal enthält der lokale Bus 56 andere Steuerleitungen, z.B. LOCK, das einen Signalmechanismus darstellt, durch den gegenseitig exklusive Busoperationen erzwungen werden können. Das LOCK-Signal wird von einer rufenden Station eingegeben und von allen mit dem lokalen Bus 56 gekoppelten antwortenden Stationen empfangen. Das LOCK-Signal kann von der rufenden Station gesetzt werden, die zu einem vorgegebenen Zeitpunkt Besitz an bzw. Zugriff zu dem Bus hat.In addition to the WAIT control signal, the local bus 56 contains others Control lines, e.g. LOCK, which is a signaling mechanism through which each other exclusive bus operations can be enforced. The LOCK signal is from a and from all respondents coupled to the local bus 56 Stations received. The LOCK signal can be set by the calling station, who has possession of or access to the bus at a given point in time.

Alle antwortenden Stationen müssen das LOCK-Signal überwachen, und wenn sie bei gesetztem LOCK in die Busoperation einbezogen sind, müssen sie nicht-lokale Busports verriegeln bzw. sperren und gesperrt halten, bis LOCK rückgesetzt ist. Es liegt in der Verantwortung sowohl der primären als auch der sekundären rufenden Stationen, ihre Belegung des Bus solange nicht freizugeben, bis ihr zugehöriger Satz von gegenseitig exklusiven Busoperationen abgeschlossen und LOCK rückgesetzt bzw. gelöscht ist. Wie in Figur 22 gezeigt ist, besteht die Wirkung des LOCK-Signals im Aufruf einer gegenseitig Ausschlußbedingung, die es einer vorgegebenen Busstation ermöglicht, eine Folge von Busoperationen mit einer antwortenden Station durchzuführen, ohne daß eine andere rufende Station in der Zwischenzeit diese antwortende Station benutzen kann. Wenn der lokale Bus 56 Multiport-Antwortstationen aufweist, erfordert die gegenseitige Ausschlußfunktion eine Aussperrung aller nicht-lokalen Busports.All responding stations must monitor the LOCK signal, and if they are involved in the bus operation when the LOCK is set, they must be non-local Lock or lock bus ports and keep them locked until LOCK is reset. It is the responsibility of both the primary and the secondary calling Stations do not release their occupancy of the bus until they belong Set of mutually exclusive bus operations completed and LOCK reset or is deleted. As shown in Figure 22, the effect of the LOCK signal is when calling a mutually exclusive condition, which it a given Bus station enables a sequence of bus operations with a responding station without another calling station answering it in the meantime Station can use. If the local bus has 56 multiport answering stations, the mutual exclusion function requires a lockout of all non-local ones Bus ports.

Obwohl Figuren 15 bis 22 unter Bezugnahme auf eine primäre oder sekundäre Station, die auf Daten einer Speicherresource 54 o.dgl. zugreifen und Daten aus dieser Resource erhalten, beschrieben worden sind, ist klar, daß das gleiche Datenübertragungsprotokoll auch für den Fall Verwendung finden kann, bei der eine rufende Station (Prozessor) Daten in eine Speicherresource 54, einen Prozessor oder eine andere Datenverarbeitungseinrichtung schreibt. Im Falle einer Schreiboperation kann eine antwortende Station durch Verwendung des WAIT-Signals Pausen innerhalb des Buszustandes einführen, so daß Puffer zugeordnet und Daten empfangen und nach Fehlern überprüft werden können. Die anfordernde Station, welche Daten während einer Schreiboperation eingibt, muß die Dateneingabe auf den nächsten Taktzyklus ausdehnen, wenn das WAIT-Signal auch in diesem Taktzyklus gesetzt ist (siehe Figur 21).Although Figures 15 through 22 referring to a primary or secondary Station based on data of a storage resource 54 or the like. access and data from Obtaining this resource, have been described, it is clear that the same data transfer protocol can also be used in the event that a calling station (processor) Data to a memory resource 54, processor, or other data processing device writes. In the case of a write operation, a responding station can by using of the WAIT signal introduce pauses within the bus state so that buffers are allocated and data can be received and checked for errors. The requesting station, which data inputs during a write operation, the data input must be on the Extend the next clock cycle if the WAIT signal is also set in this clock cycle is (see Figure 21).

Wie die obige Beschreibung gezeigt hat, stellt die Erfindung eine besondere Systembus-Architektur und Datenübertragungsprotokolle zur Verfügung, die im Stande der Technik bisher nicht bekannt waren. Der erfindungsgemäße Parallelbus 35 erlaubt Übertragungen großer Datenmengen bei hoher Geschwindigkeit zwischen mit dem Bus gekoppelten Stationen bzw. Teilnehmern, beispielsweise Datenübertragungen zwischen Verarbeitungseinheiten, globalen Speichern oder anderen Datenverarbeitungsgeräten. In ähnlicher Weise ermöglicht der erfindungsgemäße serielle Bus 37 eine wirksame Nachrichtenübertragung zwischen Stationen bzw. Teilnehmern innerhalb der Busstruktur, wodurch Nachrichtenpassierverkehr auf dem Parallelbus 35 eliminiert wird. Außerdem schafft der lokale Bus 56 einen Hochgeschwindigkeits-Parallelbus großer Bandbreite zur Datenübertragung zwischen einem primären Prozessor und einer Vielzahl lokaler Resourcen ohne Beeinträchtigung der verfügbaren Bandbreite anderer Systembusse.As the above description has shown, the invention provides a special system bus architecture and data transmission protocols are available that were not previously known in the prior art. The parallel bus according to the invention 35 allows large amounts of data to be transferred at high speed between with stations or participants coupled to the bus, for example data transmissions between processing units, global memories or other data processing devices. Similarly, the serial bus 37 according to the invention enables an effective Message transmission between Stations or participants within the bus structure, thereby eliminating message passing traffic on the parallel bus 35 will. In addition, the local bus 56 provides a high speed parallel bus large bandwidth for data transfer between a primary processor and a Large number of local resources without affecting the available bandwidth of others System buses.

- Leerseite -- blank page -

Claims (24)

PATENTANSPRÜCHE 1. Hochgeschwindigkeits-Mehrfachbusstruktur zur Übertragung von Daten zwischen mehreren Datenverarbeitungsgeräten (~Stationen"), von denen wenigstens eine Station einen über einen lokalen Parallelbus mit wenigstens einer antwortenden Station gekoppelten Primärprozessor aufweist, dadurch gekennzeichnet, daß Adreßleitungen (300) zur Übertragung von Adreßinformationen mit dem Primärprozessor (40) und der antwortenden Station (54) gekoppelt sind, daß Befehlsleitungen (310) zur Übertragung von Befehlsinformatiönen mit dem Primärprozessor (40) und der antwortenden Station (54) gekoppelt sind, daß Datenleitungen (315) zur Datenübertragung mit dem Primärprozessor (40) und der antwortenden Station (54) gekoppelt sind und daß eine WAIT-Signal-Erzeugungseinrichtung mit der antwortenden Station (54) verbunden ist, deren WAIT-Signal zu den Mit dem lokalen Bus (56) gekoppelten Stationen (25, 57) übertragbar ist, wobei weitere Busoperationen bis zum Löschen des WAIT-Signals verzögert werden, so daß Daten über den lokalen Datenbus unabhängig von Unterschieden zwischen den Operationsgeschwindigkeiten der antwortenden Station (54) und des Primärprozessors (40) übertragbar sind. CLAIMS 1. High speed multiple bus structure for transmission of data between several data processing devices (~ stations "), of which at least a station one via a local parallel bus with at least one responding Station-coupled primary processor, characterized in that address lines (300) for the transmission of address information with the primary processor (40) and the answering station (54) are coupled that command lines (310) for transmission of command information with the primary processor (40) and the responding station (54) are coupled that data lines (315) for data transmission with the primary processor (40) and the responding station (54) are coupled and that a WAIT signal generating device is connected to the responding station (54), whose WAIT signal to the local bus (56) coupled stations (25, 57) can be transmitted, with further bus operations be delayed until the WAIT signal is cleared, so that data on the local Data bus regardless of differences between the operating speeds of the answering station (54) and the primary processor (40) are transferable. 2. Busstruktur nach Anspruch 1, dadurch gekennzeichnet, daß der lokale Bus (56) außerdem eine Taktleitung (335) aufweist, die derart mit dem Primärprozessor (40) und der antwortenden Station (54) gekoppelt ist, daß alle Ereignisse auf dem lokalen Bus (56) als ganzzahlige Vielfache der Operationsperiode (operating rate) des Primärprozessors (40) getaktet sind.2. Bus structure according to claim 1, characterized in that the local Bus (56) also has a clock line (335) which is so connected to the primary processor (40) and the responding station (54) is coupled that all events on the local bus (56) as an integer multiple of the operating rate of the primary processor (40) are clocked. 3. Busstruktur nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Anordnung so getroffen ist, daß ein während des ersten Taktzyklus der Adreß- und Dateninformation (eine "Anforderung") des Primärprozessors (40) gesetztes WAIT-Signal den Primärprozessor das Anlegen der Adreß- und Dateninformation (Anforderung) fortsetzen läßt, bis das WAIT-Signal gelöscht ist.3. Bus structure according to claim 1 or 2, characterized in that the arrangement is made so that a during the first clock cycle of the address and data information (a "request") of the primary processor (40) asserted WAIT signal the primary processor continues creating the address and data information (request) leaves until the WAIT signal is cleared. 4. Busstruktur nach Anspruch 3, dadurch gekennzeichnet, daß das Setzen des WAIT-Signals nach- dem ersten Taktzyklus der Anforderung des Primärprozessors (40) zu einer Verzögerung aller weiteren Busoperationen, ausgenommen die Beendigung der Anforderung des Primärprozessors, führt.4. bus structure according to claim 3, characterized in that the setting of the WAIT signal after the first clock cycle of the request from the primary processor (40) to a delay in all further bus operations, with the exception of termination the request of the primary processor. 5. Busstruktur nach Anspruch 4, dadurch gekennzeichnet, daß nach Löschen des WAIT-Signals durch die antwortende Station (54) weitere Busoperationen, beginnend während des Taktzyklus des Löschens, zulässig sind.5. Bus structure according to claim 4, characterized in that after deletion of the WAIT signal by the responding station (54) further bus operations beginning during the erase clock cycle. 6. Busstruktur nach Anspruch 5, dadurch gekennzeichnet, daß daß die Primärprozessor-Anforderung an die entsprechenden Adreß- und Befehlsleitungen (300, 310) für ein Minimum von zwei Taktzyklen bei Fehlen eines WAIT-Signals während des ersten Taktzyklus der Anforderung anstehen gelassen wird.6. Bus structure according to claim 5, characterized in that that the Primary processor request to the corresponding address and command lines (300, 310) for a minimum of two clock cycles in the absence of a WAIT signal during the first clock cycle of the request is left pending. 7. Busstruktur nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß ein Sekundärprozessor (57) mit dem lokalen Bus (56) gekoppelt ist, daß der Sekundärprozessor eine Busanforderungssignal-Erzeugungseinrichtung zum Anlegen eines Busanforderungssignals (BUS REQ) über eine mit den Primär- und Sekundärprozessoren (40, 57) gekoppelte Busanforderungsleitung (325) an den Primärprozessor (40) aufweist, wobei das Anstehen des BUS REQ-Signal eine Anforderung des Sekundärprozessors (57) zur Zugriffsgewinnung zum lokalen Bus (56) anzeigt, und daß der Primärprozessor (40) eine Busquittierungssignal-Erzeugungseinrichtung aufweist, welche ein Bus-Quittierungssignal (BUS ACK) über eine mit den Primär- und Sekundärprozessoren (40, 57) gekoppelte Bus-Quittierungsleitung (330) an den Sekundärprozessor (57) anlegt, wobei das Anlegen des BUS ACK-Signals durch den Primärprozessor (40) eine Bus-Zugriffszuweisung für den Sekundärprozessor (57) anzeigt.7. Bus structure according to one of claims 1 to 6, characterized in that that a secondary processor (57) is coupled to the local bus (56) that the secondary processor a bus request signal generating device for applying a bus request signal (BUS REQ) via one coupled to the primary and secondary processors (40, 57) Bus request line (325) to the primary processor (40), the queuing of the BUS REQ signal, a request from the secondary processor (57) to gain access to the local bus (56), and that the primary processor (40) one Has bus acknowledgment signal generating device which has a bus acknowledgment signal (BUS ACK) via one coupled to the primary and secondary processors (40, 57) Bus acknowledgment line (330) is applied to the secondary processor (57), the application of the BUS ACK signal by the primary processor (40) a bus access assignment for indicates the secondary processor (57). 8. Busstruktur nach Anspruch 7, dadurch gekennzeichnet, daß die Anordnung so getroffen ist, daß das Anstehen der BUS REQ und BUS ACK-Signale und das Fehlen eines WAIT-Signals dem Sekundärprozessor (57) das Anlegen von Adreß- bzw. Befehlsinformationen (eine "Anforderung") auf die Adreß- bzw. Befehlsleitungen (300, 310) ermöglicht.8. bus structure according to claim 7, characterized in that the arrangement is made so that the presence of the BUS REQ and BUS ACK signals and the absence a WAIT signal to the secondary processor (57) the application of address or command information (a "request") on the address or command lines (300, 310). 9. Busstruktur nach Anspruch 8, dadurch gekennzeichnet, daß die antwortende Station (54) eine Busoperation nach dem ersten Taktzyklus einer Anforderung beenden kann.9. bus structure according to claim 8, characterized in that the responding Station (54) terminate a bus operation after the first clock cycle of a request can. 10. Busstruktur nach Anspruch 9, dadurch gekennzeichnet, daß die antwortende Station (54) einen Ausnahmesignalgenerator aufweist, der Ausnahmesignale in Abhängigkeit von einer Anforderung während des ersten Taktzyklus entwickelt, in der die antwortende Station (54) auf die Anforderung antworten kann.10. Bus structure according to claim 9, characterized in that the responding Station (54) has an exception signal generator, the exception signals as a function from a request developed during the first clock cycle in which the respondent Station (54) can respond to the request. 11. Busstruktur nach Anspruch 10, dadurch gekennzeichnet, daß die antwortende Station (54) Signalerzeugungsmittel zur Erzeugung von Fortsetzungsausnahmesignalen in Abhängigkeit von einer Anforderung eines Prozessors (40, 57) während desjenigen Taktzyklus, in welchem gültige Daten an die Datenleitungen (315) angelegt werden sollen, aufweist.11. Bus structure according to claim 10, characterized in that the answering station (54) signal generating means for generating continuation exception signals depending on a request from a processor (40, 57) during that Clock cycle in which valid data is applied to the data lines (315) should, has. 12. Busstruktur nach Anspruch 11, dadurch gekennzeichnet, daß die Primär- und Sekundärprozessoren (40, 57) Verriegelungssignal -Erzeugungsmittel zum Anlegen eines Verriegelungssignals an wenigstens eine antwortende Station (54) aufweisen, wobei das Anlegen des Verriegelungssignals bedingt, daß jede antwortende Station (25, 57) Anforderungen nur von dem rufenden Prozessor annimmt, bis das Verriegelungssignal gelöscht ist.12. Bus structure according to claim 11, characterized in that the Primary and secondary processors (40, 57) lock signal -Means of production for applying a locking signal to at least one responding station (54) have, the application of the locking signal causing each responding Station (25, 57) only accepts requests from the calling processor until the lock signal is deleted. 13. Verfahren zur Datenübertragung in einer Busstruktur zwischen mehreren Datenverarbeitungsgeräten ("Stationen"), von denen wenigstens eine einen über einen lokalen Parallelbus mit wenigstens einer antwortenden Station verbundenen Primärprozessor aufweist, dadurch gekennzeichnet, daß ein eine Adresse der antwortenden Station darstellender Digitalcode erzeugt und an mit den Stationen des lokalen Busses gekoppelte Adreßleitungen angelegt wird, daß ein einen Befehl für die antwortende Station darstellender Digitalcode erzeugt und übertragen wird, der eine gewünschte Operation auf mit den Stationen des lokalen Busses gekoppelten Befehlsleitungen bezeichnet, daß eine mit den Stationen gekoppelte WAIT-Leitung nach einem WAIT-Signal überwacht wird und bei Feststellung des WAIT-Signals weitere Busoperationen verzögert werden, bis das WAIT-Signal gelöscht ist, und daß Daten auf mit allen Stationen des lokalen Busses gekoppelten Datenleitungen entsprechend der vom Befehlssignal identifizierten Operation aufgenommen werden, so daß Daten zwischen mit dem lokalen Bus gekoppelten Stationen übertragen werden und antwortende Stationen weitere Busoperationen verzögern können, bis das WAIT-Signal gelöscht wird.13. Method for data transmission in a bus structure between several Data processing equipment ("stations"), at least one of which has one local parallel bus primary processor connected to at least one responding station characterized in that an address of the responding station representing digital code generated and coupled to the stations of the local bus Address lines are applied that a command to the responding station representative Digital code is generated and transmitted that perform a desired operation on with the Stations of the local bus coupled command lines denotes that one with WAIT line coupled to the stations is monitored for a WAIT signal and if the WAIT signal is detected, further bus operations are delayed until the WAIT signal is cleared and that data is on with all stations on the local bus coupled data lines according to the operation identified by the command signal be recorded so that data between stations coupled to the local bus and responding stations can delay further bus operations, until the WAIT signal is cleared. 14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß Taktsignale synchron mit dem internen Taktbetrieb des Primärprozessors erzeugt werden und daß die Taktsignale an eine mit jeder Station an dem lokalen Bus gekoppelte Taktleitung angelegt werden, so daß alle lokalen Busoperationen als ganzzahlige Vielfache der Taktsignale des Primärprozessors getaktet werden.14. The method according to claim 13, characterized in that clock signals are generated synchronously with the internal clock operation of the primary processor and that the clock signals to a clock line coupled to each station on the local bus are created so that all local bus operations as integer multiples of the Clock signals of the primary processor are clocked. 15. Verfahren nach Anspruch 13 oder 14, dadurch gekennzeichnet, daß das Anlegen des WAIT-Signals während des ersten Taktzyklus des Anlegens der Adreß- und Dateninformationen (eine "Anforderung") durch den Primärprozessor erforderlich macht, daß der Primärprozessor das Anlegen der Adreß- und Dateninformation (Anforderung) fortsetzt, bis das WAIT-Signal gelöscht wird.15. The method according to claim 13 or 14, characterized in that the application of the WAIT signal during the first clock cycle of the application of the address and data information (a "request") required by the primary processor makes that the primary processor creates the address and data information (request) continues until the WAIT signal is cleared. 16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, daß das Anlegen des WAIT-Signals nach dem ersten Taktzyklus der Anforderung des Primärprozessors zu einer Verzögerung aller weiteren Busoperationen, ausgenommen der Beendigung der Anforderung des Primärprozessors, führt.16. The method according to claim 15, characterized in that the application of the WAIT signal after the first clock cycle of the request from the primary processor to a delay in all further bus operations, with the exception of the termination of the Request of the primary processor, leads. 17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß nach Löschen des WAIT-Signals durch die antwortende Station weitere Busoperationen, beginnend während des Taktzyklus des Löschens, zugelassen werden.17. The method according to claim 16, characterized in that after deletion of the WAIT signal by the responding station further bus operations, beginning during the erase clock cycle. 18. Verfahren nach einem der Ansprüche 15 bis 17, dadurch gekennzeichnet, daß die Anforderung des Primärprozessors auf den zugehörigen Leitungen für ein Minimum von zwei Taktzyklen bei Fehlen eines WAIT-Signals während des ersten Taktzyklus der Anforderung aufrechterhalten wird.18. The method according to any one of claims 15 to 17, characterized in that that the requirement of the primary processor on the associated lines for a minimum of two clock cycles in the absence of a WAIT signal during the first clock cycle the requirement is maintained. 19. Verfahren nach einem der Ansprüche 15 bis 18, dadurch gekennzeichnet, daß die antwortende Station eine Busoperation nach dem ersten Taktzyklus einer Anforderung beenden kann.19. The method according to any one of claims 15 to 18, characterized in, that the responding station initiate a bus operation after the first clock cycle of a request can finish. 20. Verfahren nach einem der Ansprüche 15 bis 19, dadurch gekennzeichnet, daß von der antwortenden Station Fehler in einer Anforderung eines Prozessors bezeichnende Ausnahmesignale während des ersten Taktzyklus, in welchem die antwortende Station auf die Anforderung antworten kann, erzeugt werden.20. The method according to any one of claims 15 to 19, characterized in, that from the responding station errors in a request from a processor indicative Exceptions during the first clock cycle in which the responding station can respond to the request. 21. Verfahren nach einem der Ansprüche 13 bis 20, dadurch gekennzeichnet, daß von einem Sekundärprozessor ein Bus-Anforderungssignal (BUS REQ) über eine mit den Primär- und Sekundärprozessoren gekoppelte Busanforderungsleitung an den Primärprozessor angelegt wird, wodurch eine Zugriffsanforderung des Sekundärprozessors zu dem lokalen Bus angezeigt wird und daß von dem Primärprozessor ein Bus-Quittierungssignal (BUS ACK) über eine Busquittierungsleitung an den Sekundärprozessor angelegt wird, wodurch von dem Primärprozessor die Zuweisung des Buszugriffs für den Sekundärprozessor angezeigt wird.21. The method according to any one of claims 13 to 20, characterized in that that from a secondary processor a bus request signal (BUS REQ) via a with Bus request line coupled to the primary and secondary processors to the primary processor is applied, whereby an access request from the secondary processor to the local Bus is displayed and that a bus acknowledgment signal (BUS ACK) is applied to the secondary processor via a bus acknowledgment line, whereby from the primary processor assigning bus access for the secondary processor is shown. 22. Verfahren nach Anspruch 21, dadurch gekennzeichnet, daß bei Anstehen der BUS REQ und BUS ACK-Signale und bei Fehlen eines WAIT-Signals das Anlegen von Adreß- und Befehlsinformationen ("Anforderung") an die Adreß- bzw. Befehlsleitungen zugelassen wird.22. The method according to claim 21, characterized in that when queuing the BUS REQ and BUS ACK signals and, in the absence of a WAIT signal, the application of Address and command information ("request") on the address or command lines is allowed. 23. Verfahren nach Anspruch 22, dadurch gekennzeichnet, daß von der antwortenden Station einen Adressenfehler bezeichnende Fortsetzungsausnahmesignale in Antwort auf eine Prozessoranforderung während desjenigen Taktzyklus erzeugt werden, in welchem gültige Daten an die Datenleitungen angelegt werden sollen.23. The method according to claim 22, characterized in that of the continuation exception signals indicating an address error at the responding station generated in response to a processor request during that clock cycle, in which valid data should be applied to the data lines. 24. Verfahren nach einem der Ansprüche 15 bis 23, dadurch gekennzeichnet, daß von den Prozessoren ein Verriegelungssignal erzeugt und zu wenigstens einer antwortenden Station übertragen werden kann und daß das Verriegelungssignal bewirkt, daß die antwortende Station Anforderungen nur von dem rufenden Prozessor annimmt, bis das Verriegelungssignal gelöscht wird.24. The method according to any one of claims 15 to 23, characterized in that that generated by the processors and a lock signal to at least one answering station can be transmitted and that the interlocking signal causes that the answering station only accepts requests from the calling processor, until the interlock signal is cleared.
DE19853500248 1985-01-05 1985-01-05 High-speed multiple bus structure and method of data transmission Withdrawn DE3500248A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19853500248 DE3500248A1 (en) 1985-01-05 1985-01-05 High-speed multiple bus structure and method of data transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19853500248 DE3500248A1 (en) 1985-01-05 1985-01-05 High-speed multiple bus structure and method of data transmission

Publications (1)

Publication Number Publication Date
DE3500248A1 true DE3500248A1 (en) 1986-07-10

Family

ID=6259328

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19853500248 Withdrawn DE3500248A1 (en) 1985-01-05 1985-01-05 High-speed multiple bus structure and method of data transmission

Country Status (1)

Country Link
DE (1) DE3500248A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3732798A1 (en) * 1986-10-27 1988-05-05 Burr Brown Ltd DATA PROCESSING SYSTEM WITH OVERLAPPING ACCESS TO A GLOBAL STORAGE THROUGH A SOURCE WITH A HIGH PRIORITY

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3732798A1 (en) * 1986-10-27 1988-05-05 Burr Brown Ltd DATA PROCESSING SYSTEM WITH OVERLAPPING ACCESS TO A GLOBAL STORAGE THROUGH A SOURCE WITH A HIGH PRIORITY

Similar Documents

Publication Publication Date Title
DE2953444C2 (en) Arrangement and method for a digital data transmission network
DE3043894C2 (en)
DE3546683C3 (en) Method for operating a data processing system
DE2913288C2 (en) Multiprocessor system with a large number of processor modules
DE2557896C2 (en) Data packet switching system
DE2652303C2 (en) Data processing system consisting of several subsystems
DE2901762C2 (en) Data transmission system
DE3642324C2 (en) Multiprocessor system with processor access control
DE2230830A1 (en) DATA PROCESSING SYSTEM
DE2854397A1 (en) BUFFER STORAGE UNIT FOR A DATA PROCESSING SYSTEM
DE3114961A1 (en) DATA PROCESSING SYSTEM
DE19924922A1 (en) Transmission of information between network computer nodes
DE102005062575B4 (en) Method and device for transmitting data via a data connection from a sender to a receiver by means of packets
DE1295595B (en) Method for the transmission of data messages via a digital data transmission system
DE69735546T2 (en) PACKAGE-LEADED GUIDANCE ARCHITECTURE FOR MULTIPLE SIMULTANEOUS CONNECTIONS
DE2951426A1 (en) TIME PART MULTIPLEX TRANSFER DEVICE
DE60036121T2 (en) High-speed connection for embedded systems in a computer network
DE2629401C2 (en)
DE3500254C2 (en) High speed parallel bus structure and method for data transmission
DE3500248A1 (en) High-speed multiple bus structure and method of data transmission
DE3500264A1 (en) High-speed series bus structure and method of data transmission
EP1121645A1 (en) Electronic control device comprising a parallel databus, and a method for operating the control device
DE3925843C2 (en)
EP1121646B1 (en) Data bus and method for establishing communication between two modules by means of such a data bus
DE2900380C2 (en)

Legal Events

Date Code Title Description
8141 Disposal/no request for examination