DE3500254C2 - High speed parallel bus structure and method for data transmission - Google Patents

High speed parallel bus structure and method for data transmission

Info

Publication number
DE3500254C2
DE3500254C2 DE19853500254 DE3500254A DE3500254C2 DE 3500254 C2 DE3500254 C2 DE 3500254C2 DE 19853500254 DE19853500254 DE 19853500254 DE 3500254 A DE3500254 A DE 3500254A DE 3500254 C2 DE3500254 C2 DE 3500254C2
Authority
DE
Germany
Prior art keywords
station
bus
data
parallel bus
lines
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE19853500254
Other languages
German (de)
Other versions
DE3500254A1 (en
Inventor
Raymond S Tetrick
John Beaston
Robert L Farrell
Alireza Sarabi
Sudarshan Balachandran
Jun Edwin L Jacks
Steven D Kassell
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.)
Radisys 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 DE19853500254 priority Critical patent/DE3500254C2/en
Publication of DE3500254A1 publication Critical patent/DE3500254A1/en
Application granted granted Critical
Publication of DE3500254C2 publication Critical patent/DE3500254C2/en
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/374Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4213Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol

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)

Description

Die Erfindung bezieht sich auf ein Verfahren zur Datenübertra­ gung nach dem Oberbegriff des Anspruchs 1 sowie auf eine Hoch­ geschwindigkeits-Parallelbusstruktur nach dem Anspruch 9.The invention relates to a method for data transmission supply according to the preamble of claim 1 and a high Speed parallel bus structure according to claim 9.

In der Computerindustrie ist es üblich, Daten und Befehle zwischen verschiedenen Datenverarbeitungsgeräten, z. B. Compu­ tern, Druckern, Speichern o. dgl. über einen System- oder Da­ tenbus zu übertragen.In the computer industry it is common for data and commands between different data processing devices, e.g. B. Compu tern, printers, storage or the like. Via a system or Da to transfer tenbus.

In dem Artikel "A systematic approach to the design of digital bussing structures" geben K.J. Thurber u. a. (Fall Joint Computer Conference, 1972 S. 719 ff) einen allgemeinen Überblick über Busstrukturen, Bussteuerungen, Kommunikations­ techniken und Datenübertragungsphilosophien.In the article "A systematic approach to the design of digital bussing structures "are given by K.J. Thurber u. a. (Case Joint Computer Conference, 1972 p. 719 ff) a general Overview of bus structures, bus controls, communication techniques and data transmission philosophies.

Ein Datenverarbeitungssystem weist in typischer Ausführung einen Prozessor auf, der an Adressen in einem Speicher gespeicherte Befehle ausführt. Die verarbeite­ ten 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 ver­ bindet. Übliche Begrenzungen in der Geschwindigkeit der Daten­ übertragung zwischen mit einem Bus verbundenen Datenverarbei­ tungsgeräten sind Protokoll- oder "handshake-" Beschränkungen, die den Ablauf einer vorgegebenen Folge von Ereignissen inner­ halb vorgegebener Zeitabschnitte vor dem tatsächlichen Daten­ austausch zwischen den Geräten erforderlich machen. A data processing system shows in typical execution on a processor that addresses in executes commands stored in memory. The process Data is generated using input / output (I / O) devices transferred into and out of the system via a bus that the Data processing system with other digital hardware ver binds. Usual limits on the speed of the data transfer between data processing connected to a bus devices are protocol or "handshake" restrictions, which are internal to a given sequence of events half a predetermined time period before the actual data require an exchange between the devices.  

Es wurden verschiedene Methoden angegeben, um Daten zwischen einem Datenverarbeitungsgerät und einem Peripheriegerät, bei­ spielsweise einer Speichereinheit, einer zweiten Prozessorein­ heit, einem Plattenlaufwerk o. dgl., zu übertragen. Ein bekann­ tes Verfahren verwendet direkte Speicherübertragungen und ermöglicht die Bewegung großer Informationsmengen zwischen einem Prozessorspeicher und einem Peripheriegerät. Ein Nach­ teil existierender direkter Speicherübertragungssysteme be­ steht darin, daß für jede direkte Speicherübertragung eine gewisse Prozessorfunktion bzw. -aktivität erforderlich ist. 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 Prozessorein­ heit. 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 verhin­ dern. So erfordert beispielsweise die Datenübertragung zwi­ schen einem lokalen Ressource-Speicher eines Primärprozessors A und dem lokalen Ressource-Speicher eines Sekundärprozessors B über einen gemeinsamen Bus typischerweise die Unterbrechung der Sekundärprozessorfunktionen, um zum Sekundärspeicher zuzu­ greifen und eine Datenübertragung über den Bus zum Primärpro­ zessor einzuleiten. Außerdem kompliziert jede Überlappung von Speicheradressen zwischen dem dem Primärprozessor zugeordneten Speicher und dem Speicher des Sekundärprozessors zusätzlich das Datenübertragungsprotokoll, wenn Mehrdeutigkeiten bezüg­ lich 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 Systemressourcen von vitaler Bedeutung sind, um einen optimalen Wirkungsgrad bei den Datenübertragungen sicherzustellen. Various methods have been specified to transfer data between a data processing device and a peripheral device for example a storage unit, a second processor unit to transfer a disk drive or the like. One known The method uses direct memory transfers and enables the movement of large amounts of information between a processor memory and a peripheral device. A night part of existing direct memory transfer systems is that for each direct memory transfer certain processor function or activity is required. Different commands or other signals are needed to get the Start or stop transmission, and generation these signals require an interruption in the processor Ness. In data processing systems that have multiple processors use, the direct memory transfer between the memory and a first processor and the memory and a second processor a complex system protocol and a complicated addressing to avoid ambiguity other. For example, data transmission between a local resource store of a primary processor A and the local resource storage of a secondary processor B. typically the interruption via a common bus of secondary processor functions to add to secondary memory grab and transfer data over the bus to the primary pro initiate processor. It also complicates any overlap of Memory addresses between that assigned to the primary processor Memory and the memory of the secondary processor in addition the data transfer protocol if there are ambiguities The contents of each memory are numbered identically Address spaces should be excluded. It becomes clear that in data processing systems with multiple processors the appropriate allocation and access to system resources are vital to ensure optimal efficiency ensure during data transfers.  

Aus der US-PS 4,038,644 ist eine Mehrfachbusstruktur bekannt, bei der mehrere Subsysteme an einen Parallelbus über lokale Busadapter angeschlossen sind. Die für eine Nachrichtenübertra­ gung von einem Quell-Subsystem zu einem Ziel-Subsystem erfor­ derlichen Handshake-Operationen werden u. a. mit Hilfe zusätzli­ cher die Busadapter verbindender "Besetzt"-Leitungen ausge­ führt.A multiple bus structure is known from US Pat. No. 4,038,644, where several subsystems are connected to a parallel bus via local Bus adapters are connected. The one for a message transfer from a source subsystem to a target subsystem Such handshake operations are u. a. with the help of additional "Busy" lines connecting the bus adapters leads.

Aufgabe der Erfindung ist es, bei dem eingangs genannten Ver­ fahren bzw. der Mehrfachbusstruktur die Handshake-Folgen zu minimieren und unterschiedliche Operationsgeschwindigkeiten der rufenden und der antwortenden Stationen zu ermöglichen.The object of the invention is in the Ver drive or the multiple bus structure towards the handshake sequences minimize and different operating speeds of the calling and answering stations.

Bei einem Verfahren der o.g. Art wird diese Aufgabe erfindungs­ gemäß durch die Merkmale des kennzeichnenden Teils des An­ spruchs 1 sowie durch eine Hochgeschwindigkeits-Parallelbus­ struktur zur Durchführung des Verfahrens nach einem der Ansprü­ che 1 bis 8 mit den Merkmalen des kennzeichnenden Teils des An­ spruchs 9 gelöst.In a procedure of the above Art is this task fiction according to the characteristics of the characterizing part of the An Proverb 1 as well as a high-speed parallel bus structure for performing the method according to one of the claims che 1 to 8 with the characteristics of the characterizing part of the An Proverb 9 solved.

Die erfindungsgemäße Busstruktur weist einen Parallelbus auf, der die Datenverarbeitungseinheiten und Peripheriegeräte - ge­ meinsam 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. Die par­ allelen 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 sekun­ dären Verarbeitungsressourcen ohne Beeinträchtigung des Daten­ verkehrs über den Parallelbus zugegriffen werden können. The bus structure according to the invention has a parallel bus, of the data processing units and peripheral devices - ge collectively referred to as "agents" - with each other connects to the exchange of data and messages at high Speed with a minimum of handshake events enable before the actual data transmission. The par Allele bus protocols are used by message control devices controlled, which are coupled to each subscriber station. On local bus is connected to the processing stations within the Systems coupled so that the local storage and sekun där processing resources without affecting the data can be accessed via the parallel bus.  

Wenn eine rufende Busstation einen Datenaustausch über den Par­ allelbus einzuleiten sucht, setzt sie ein Busanforderungssignal (BREQ) und sendet einen ihrer speziellen Stationsentscheidungs­ nummer entsprechenden Digitalcode auf einen ID-Bus, der mit al­ len Systemstationen verbunden ist. Die den Bus anfordernde Sta­ tion gewinnt den Parallelbusbesitz, wenn ihre Entscheidungsnum­ mer die höchste vorgegebene Priorität hat. Die anfordernde bzw. rufende Station gibt danach die Adresse der antwortenden Sta­ tion zusammen mit ihrer eigenen Adresse auf einen Adreß/Daten-Bus (bzw. Adreß/Daten-Leitungen) und gibt gleichzeitig einen Befehl auf einen Befehlsbus (bzw. Befehlsleitungen) an die ant­ wortende Station. Die rufende Station gibt ein Rufer-Bereit-Si­ gnal (REQ_RDY) aus, wenn sie zum Fortsetzen des Datenaustauschs bereit ist. In ähnlicher Weise gibt die antwortende Station ein Antworter-Bereit-Signal (REPLY_RDY) aus, wenn sie zur Fortset­ zung der Datenübertragung bereit ist. Nur bei Anliegen beider Bereitschaftssignale werden die Daten auf dem Adreß/Daten-Bus als gültig angesehen. Eine Datenübertragungsoperation wird da­ durch beendet, daß die rufende Station ein Zyklus-Ende-Signal (EOC) in Verbindung mit dem REQ_RDY-Signal ausgibt.If a calling bus station exchanges data via par tries to initiate allelbus, it sets a bus request signal (BREQ) and sends one of their special station decisions number corresponding digital code on an ID bus, which with al len system stations is connected. The Sta tion wins the parallel bus ownership if its decision number always has the highest predetermined priority. The requesting or calling station then gives the address of the responding sta tion together with their own address on an address / data bus (or address / data lines) and gives one at the same time Command on a command bus (or command lines) to the ant wording station. The calling station issues a ready-to-call Si gnal (REQ_RDY) if it is to continue the data exchange ready. Similarly, the answering station enters Responder ready signal (REPLY_RDY) off when continuing data transmission is ready. Only when both are concerned Ready signals are the data on the address / data bus considered valid. A data transfer operation is there ended by the calling station receiving a cycle end signal (EOC) in connection with the REQ_RDY signal.

Vorteilhafte Weiterbildungen der Erfindung sind in den Unteran­ sprüchen gekennzeichnet.Advantageous developments of the invention are in the Unteran sayings marked.

Im folgenden wird die Erfindung anhand eines in der Zeichnung dargestellten Ausführungsbeispiels näher erläutert. In der Zeichnung zeigen:In the following the invention with reference to one in the drawing illustrated embodiment explained in more detail. In the Show drawing:

Fig. 1 ein Datenverarbeitungssystem, das zur Implementie­ rung der Lehre der vorliegenden Erfindung geeignet ist; Figure 1 shows a data processing system suitable for implementing the teachings of the present invention.

Fig. 2 ein Blockschaltbild der Hauptkomponenten der er­ findungsgemäß vorgesehenen Nachrichtensteuer­ logik; Fig. 2 is a block diagram of the main components of the message control logic provided according to the invention;

Fig. 3 schematisch die verschiedenen Sub-Bus-Strukturen des erfindungsgemäß verwendeten Parallelsystem­ bus; FIG. 3 shows schematically the various sub-bus structures of the parallel system bus according to the invention;

Fig. 4 ein Zeitdiagramm, das das Parallelsystembus­ protokoll für die Datenübertragung zwischen mit dem Parallelbus gekoppelten Stationen veranschau­ licht; Fig. 4 is a timing diagram illustrating the parallel system bus protocol for data transmission between stations coupled to the parallel bus;

Fig. 5a und 5b Signalflußdiagramme, welche die Opera­ tionsfolge einer mit dem Parallelbus gekoppelten rufenden Station zum Datenempfang von einer ant­ wortenden Station über den Bus veranschaulicht; FIGS. 5a and 5b signal flow, which the Opera tion follow a coupled to the parallel calling station for receiving data from a word ant station illustrated on the bus;

Fig. 6 die Zuteilung von Leitungen des Steuerbus während der Ruf- und Antwortphasen; Fig. 6 shows the allocation of lines of the control bus during the calling and response phases;

Fig. 7 ein Flußdiagramm, das die Folge von durch eine mit dem Parallelbus gekoppelte antwortende Station ausgeführten logischen Operationen zur Datenüber­ tragung an eine rufende Station veranschaulicht; Fig. 7 is a flow chart illustrating the sequence of logical data transfer operations to a calling station performed by a reply bus coupled to the parallel bus;

Fig. 8 schematisch eine beantragte Nachrichtenübertragung über den Parallelbus; Fig. 8 schematically shows a requested message transmission over the parallel bus;

Fig. 9 ein Blockschaltbild der Hauptkomponenten des Se­ riennachrichtensteuergeräts zur Übertragung von Nachrichten über den erfindungsgemäßen seriellen Bus Fig. 9 is a block diagram of the main components of the serial message control device for transmitting messages via the serial bus according to the invention

Fig. 10 eine schematische Darstellung der Buszustands- Detektorschaltung des Seriennachrichtensteuer­ geräts; Fig. 10 is a schematic representation of the bus state detector circuit of the serial message control device;

Fig. 11a die Datenverkapselungsstruktur zur Übertragung von Nachrichten zwischen mit der erfindungsgemäßen Busstruktur gekoppelten Stationen; Figure 11a Datenverkapselungsstruktur for transmitting messages between coupled to the bus structure according to the invention stations.

Fig. 11b die Bestätigungsnachrichtstruktur, die bei dem seriellen Bus zur Quittierung einer Nachrichten­ übertragung über den seriellen Bus verwendet wird; Fig. 11b is the acknowledgment message structure, the transfer at the serial bus for acknowledging a message is used via the serial bus;

Fig. 12a ein Signalflußdiagramm, das die Folge von durch eine sendende Station über den seriellen Bus aus­ geführten logischen Operationen darstellt; Figure 12a is a signal representing the result of by a sending station via the serial bus out of logical operations.

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. 12b is a flow diagram illustrating the sequence of logical operations performed concurrently by stations over the serial bus to detect message collisions;

Fig. 12c ein Signalflußdiagramm, das die Folge derjenigen logischen Operationen darstellt, welche von Sta­ tionen über den seriellen Bus zur Feststellung und zum Empfang von Nachrichten ausgeführt werden; Fig. 12c is a signal which represents that the result of logical operations performed by Sta functions are performed over the serial bus to determine and to receive messages;

Fig. 13 den deterministischen Kollisionsneusende-Ent­ scheidungszyklus, der von dem seriellen Bus ver­ wendet wird; Fig. 13 shows the deterministic collision resend decision cycle used by the serial bus;

Fig. 14 schematisch die verschiedenen Sub-Bus-Strukturen, die im erfindungsgemäßen lokalen Bus enthalten sind; FIG. 14 schematically depicts the various sub-bus structures, which are included in the inventive local bus;

Fig. 15 ein Zeitdiagramm, das den Entscheidungszyklus zur Gewinnung eines Zugriffs zum lokalen Bus veran­ schaulicht; Fig. 15 is a timing diagram illustrating the arbitration cycle to obtain an access to the local bus veran;

Fig. 16 ein Zeitdiagramm, das die lokale Bus-Verwendung von WAIT veranschaulicht; Figure 16 is a timing diagram illustrating local bus use of WAIT;

Fig. 1 7 ein Zeitdiagramm, das einen Lesezugriff des loka­ len Bus mit WAIT und Ausnahmebedingungen veran­ schaulicht; Fig. 1 7 is a timing diagram illustrating a read access of the local bus with WAIT and exception conditions;

Fig. 18 ein Zeitdiagramm, das die lokale Bus-Blocküber­ tragung und den Fortsetzungsfehlerbericht veran­ schaulicht; FIG. 18 is a time chart showing the transmission, the local bus via block and the continuation error report illustrates veran;

Fig. 19 ein Zeitdiagramm, das die lokale Bus-Entschei­ dung, die Pipeline-Operation und WAIT veranschau­ licht, wenn der lokale Bus unter Steuerung der rufenden Primärstation aktiv ist;Illustrates when the local bus is active 19 is a timing chart dung local bus decision, the pipeline operation and WAIT under the control of the calling primary station.

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. 20 is a time chart illustrating the local bus arbitration and WAIT when the local bus is initially under the control of the calling primary station;

Fig. 21 ein Zeitdiagramm, das die lokalen Bus-Blocküber­ tragungs- und Ausnahmebedingen veranschaulicht; und Fig. 21 is a timing diagram illustrating local bus block transfer and exception conditions; and

Fig. 22 ein Zeitdiagramm, das die jeweils exklusiven Operationen auf dem lokalen Bus unter einem Ver­ riegelungssignal veranschaulicht. Fig. 22 is a time chart lock-out signal illustrates the respective exclusive operations on the local bus under a Ver.

Allgemeine SystembeschreibungGeneral system description

Angegeben werden eine Mehrfachbussystem-Architektur und ein verbessertes Datenübertragungsverfahren zum Übertragen von Daten zwischen einer Vielzahl von Datenverarbeitungsressourcen bzw. -systemelementen. In der folgenden Beschreibung werden zu Erläuterungszwecken spezielle Zahlen, Bytes, Register, Adres­ sen, 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 bekann­ te Schaltungen und Bauelemente in Form von Blöcken eines Blockdiagramms angegeben, um die Beschreibung der Erfindung nicht mit unnötigen Einzelheiten zu belasten.A multiple bus system architecture and a are specified improved data transmission method for transmitting Data between a variety of computing resources or system elements. In the description below, too Special numbers, bytes, registers, addresses times, signals, etc. It is for the professional however, it is clear that the invention is also without these special Details can be used. On the other hand, become known circuits and components in the form of blocks Block diagram given to describe the invention not burdened with unnecessary details.

Im folgenden wird auf Fig. 1 Bezug genommen. Die Erfindung kann eine Vielzahl von Verarbeitungseinheiten, die generell durch die Bezugszeichen 25 und 26 bezeichnet sind, sowie Peri­ pheriegeräte, wie den globalen Speicher 30 (oder andere Gerä­ te, wie beispielsweise Drucker, Plattenlaufwerke o. dgl.) um­ fassen. Für die Zwecke der vorliegenden Beschreibung werden alle Datenverarbeitungs- und Peripheriegeräte, die mit der erfindungsgemäßen Busstruktur gekoppelt sind, kollektiv als "Stationen" bezeichnet. Wie in Fig. 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 Verarbeitungs­ einheiten 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 Datenverarbeitungsressourcen 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. Spei­ chern 54, über eine lokale Bus-Schnittstellenschaltung 58 gekoppelt.In the following, reference is made to FIG. 1. The invention can include a variety of processing units, generally designated by reference numerals 25 and 26 , as well as peripheral devices such as global memory 30 (or other devices such as printers, disk drives, or the like). For the purposes of the present description, all data processing and peripheral devices which are coupled to the bus structure according to the invention are collectively referred to as "stations". As shown in FIG. 1, the processing units 25 , 26 and the global memory 30 for mutual data transmission are connected to one another via a parallel bus 35 and a series bus 37 . The processing units 25 and 26 each have primary processors 40 and 41 , which are coupled to the parallel bus 35 and the series bus 37 via corresponding bus interface units 44 . As will be described in more detail below, the interface units 44 have an I / O logic 46 and a message control logic 50 . As shown, each processing unit is provided with local data processing resources or system elements, such as. B. store 54 or in the case of the processing unit 25 with a secondary processor 57 , connected via a local bus 56 . Processors 40 and 41 are associated with their associated local system elements, e.g. B. Save 54 , coupled via a local bus interface circuit 58 .

Wie sich aus der nachfolgenden Beschreibung ergeben wird, ermöglicht die Busarchitektur eine serielle Hochgeschwindigkeitsnachrichtenübertragung zwischen allen mit dem Bus gekoppelten Stationen sowie eine parallele Hochge­ schwindigkeitsdatenübertragung zwischen den Stationen. Dar­ überhinaus minimiert die beschriebene Architektur die Prozes­ sorunterbrechung bei der Datenübertragung zwischen Bussta­ tionen, einschließlich des Zugriffs zu den in lokalen Spei­ chern 54 gespeicherten Daten, wobei die lokalen Speicher 54 eine örtliche Ressource 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 Fig. 1 nur zwei mit dem Bus gekoppelte Prozessoreinheiten dargestellt sind, ist klar, daß die erfindungsgemäße Struktur die Verbin­ dung einer Vielzahl von Verarbeitungseinheiten und Peripherie­ geräten, wie Speichern, Plattenlaufwerken, Druckern o. dgl. unter Verwendung aller hier bezeichneten Busstrukturen ermög­ licht.As will become apparent from the description below, the bus architecture enables high speed serial communication between all stations coupled to the bus and parallel high speed data transmission between the stations. In addition, the architecture described minimizes processor interruption in data transfer between bus stations, including access to data stored in local memories 54 , with local memories 54 forming a local resource or system element for each processing unit. As will also be described, the data transfer protocols for both the parallel bus 35 and the serial bus 37 and the local bus 56 have been defined so that minimal handshake sequences are required to perform the data transfer. Although only two processor units coupled to the bus are shown in FIG. 1, it is clear that the structure according to the invention enables the connection of a multiplicity of processing units and peripheral devices, such as memories, disk drives, printers or the like, using all the bus structures designated here light.

ParallelbusParallel bus

Im folgenden wird auf Fig. 3 Bezug genommen. Der Parallelbus 35 weist Adreß/Daten-Leitungen 60 auf, die bei dem beschrie­ benen Ausführungsbeispiel zweiunddreißig Adreß/Daten-Leitungen (plus vier Paritätsleitungen) enthalten, auf die Adressen und Daten abwechselnd im Multiplexbetrieb gegeben werden. Zusätz­ lich enthält der parallele Bus 35 Stationsentscheidungslei­ tungen 62, welche jeder mit dem Parallelbus 35 gekoppelten Station die Übertragung einer besonderen Stationsentschei­ dungsnummer für die Busaquisition ermöglichen, und eine Pri­ oritätsvorzugsleitung 64 (high priority line), welche, wie die nachfolgende Beschreibung zeigen wird, einer Station die Ge­ winnung einer Parallelbusbelegung bzw. Besitzes unabhängig von dem generellen Entscheidungsprotokoll ermöglicht. Der Bus-Be­ sitz bzw. die Belegung kann mit Hilfe eines Bus-Verriegelungs­ signals auf einer Bus-Verriegelungsleitung 69 aufrechterhalten werden, wodurch andere Stationen effektiv von einer Busaquisi­ tion ausgesperrt werden. Zusätzlich ist eine Bus-Anforderungs­ leitung (BREQ) 66 vorgesehen, die den Stationen die Anforde­ rung 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.In the following, reference is made to FIG. 3. The parallel bus 35 has address / data lines 60 , which in the described embodiment contain thirty-two address / data lines (plus four parity lines), to which addresses and data are alternately given in multiplex mode. Zusätz Lich the parallel bus contains 35 Stationsentscheidungslei obligations 62 which each station is coupled to the parallel bus 35 enable the transmission of a particular Stationsentschei number number for the Busaquisition, and Pri oritätsvorzugsleitung 64 (high priority line) which, as will show the following description, enables a station to acquire parallel bus occupancy or ownership regardless of the general decision protocol. The bus ownership or occupancy can be maintained with the aid of a bus locking signal on a bus locking line 69 , whereby other stations are effectively locked out by a bus acquisition. In addition, a bus request line (BREQ) 66 is provided, which enables the stations to request parallel bus control. A command bus 68 is also provided which allows the processing units 25 and 26 to communicate commands to other bus stations. Exception lines 70 as well as clock and system control lines 72 are provided to denote error conditions, 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 Verarbeitungs­ einheit 25 eingeleitet werden, nämlich den "Entscheidungs- (arbitration)-"Zyklus, den "Übertragungs-"Zyklus und den "Ausnahme-"Zyklus. Für die Zwecke der vorliegenden Beschrei­ bung wird der Entscheidungszyklus als derjenige Parallelbus­ zyklus definiert, bei dem von einer Station der Versuch unter­ nommen wird, eine exklusive Steuerung des Parallelbus 35 zu gewinnen. Der Entscheidungszyklus gewährleistet, daß nur eine anfordernde Station zu irgendeinem Zeitpunkt einen Datenüber­ tragungszyklus 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 der­ art, daß andere Stationen während eines laufenden Übertra­ gungszyklus Entscheidungszyklen ausführen können, um festzu­ stellen, welche Station als nächste die Belegung des Parallel­ bus haben wird.The parallel bus 35 carries out three types of bus cycles, which when requested by a station, e.g. B. can be initiated by the processing unit 25 , namely the "decision (arbitration) -" cycle, the "transfer" cycle and the "exception" cycle. For the purposes of the present description, the decision cycle is defined as the parallel bus cycle in which an attempt is made by a station to gain exclusive control of the parallel bus 35 . The decision cycle ensures that only one requesting station can perform a data transfer cycle on the parallel bus 35 at any one time. At the end of the decision cycle, only a single station (e.g., processing unit 26 ) can use the parallel bus and exchange data with another station. A system error that triggers the exception cycle can occur during the data transfer process. All 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 will next occupy the parallel bus.

Wie in Fig. 2 dargestellt ist, weist die Nachrichtensteuer­ logik 50 ein Nachrichtensteuergerät 80, das über einen her­ kömmlichen Bus mit einem Pufferspeicher 82 gekoppelt ist, ein Bus-Steuergerät 84 sowie eine direkte Speicherzugriffs(DMA)-Schnittstelle 86 und FIFO-Zeiger 88 auf. Die Nach­ richtensteuerlogik 50 ist für die Implementierung des Paral­ lel- 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 ver­ bundenen Stationen verantwortlich.As shown in FIG. 2, the message control logic 50 has a message control device 80 , which is coupled to a buffer memory 82 via a conventional bus, a bus control device 84, and a direct memory access (DMA) interface 86 and FIFO pointer 88 on. Message control logic 50 is for implementing the parallel and serial bus protocol, gaining access to the appropriate buses, and transferring data via DMA interface 86 between others using the parallel (as well as serial) bus and memories 54 via the local bus 56 connected stations responsible.

Es sei beispielsweise 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 Parallel­ bus 35 durch Einleiten eines Entscheidungszyklus gewinnen. Wie am deutlichsten im Flußdiagramm gemäß Fig. 5a und b gezeigt ist, bestimmt das Bus-Steuergerät 84 innerhalb der Verarbei­ tungseinheit 25 zunächst, ob die Bus-Anforderungsleitung (BREQ) 66 gerade aktiv ist. Nimmt man an, daß die Verarbei­ tungseinheit 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 ein­ treten kann. Wenn die BREQ-Leitung 66 nicht aktiv bzw. bean­ sprucht ist, belegt die Verarbeitungseinheit 25 die BREQ-Lei­ tung 66 und legt gleichzeitig einen Digitalcode entsprechend ihrer speziellen Stationsentscheidungsnummer auf die Stations­ entscheidungsleitungen 62 (siehe Fig. 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.For example, assume that the processing unit 25 is to fetch data stored in the global memory 30 using the parallel bus 35 . The processing unit 25 must first gain access to the parallel bus 35 via its bus control unit 84 by initiating a decision cycle. As shown most clearly in the flow chart of FIG. 5a and b is shown, the bus controller 84 determines in the process ing unit 25 first determines whether the bus request line (BREQ) is currently active 66th Assuming that processing unit 25 has no preferred priority request, it must wait until BREQ line 66 is not asserted before it can enter the decision cycle resolution phase. If the BREQ line 66 is not active or claimed, the processing unit 25 occupies the BREQ line 66 and at the same time places a digital code corresponding to its special station decision number on the station decision lines 62 (see FIGS. 4 and 5a). Appropriate logic within bus controller 84 of each station coupled to parallel bus 35 selects the arbitration number of the requesting station that has the highest predetermined priority within a fixed number of clock cycles after the decision cycle is initiated (assuming that the Priority line 64 was not called). If another station, for example processing unit 26 , simultaneously requests parallel bus acquisitions and the other station has a decision number of higher priority, processing unit 25 must wait for an end of cycle signal (EOC), which indicates the end of a data exchange or the release of the bus. If a previous bus occupier called the lock line 69 , all stations coupled to the parallel bus 35 must wait for the parallel bus to be released (unlocked) before they can gain access and repeat the attempt to gain access to the bus by applying their decision number to the station decision lines 62 .

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 spezielle "T" Pin-Leitung ist mit jeder Schlitz-Position gekoppelt. Bei Einschaltung wird jede Station mit einer Stationsschlitz-Identifizierungsnummer sowie einer speziellen Entscheidungsnummer von einem zentralen Ser­ vicemodul (CSM) versehen, der mit dem Bus verbunden ist (nicht gezeigt). Der zentrale Servicemodul legt eine Stations­ schlitz-Identifizierungsnummer an die Stationsentscheidungs­ leitungen 62 an und setzt die T-Belegungsleitung entsprechend der Zuordnung der Schlitz-Identifizierungsnummer auf low. Das Setzen der T-Belegungsleitung auf low speichert die Schlitz-Identifizierungsnummer in Registern der Station. In ähnlicher Weise legt der CSM eine spezielle Entschei­ dungsnummer an die Stations-Entscheidungsleitungen 62 an und treibt die T-Belegungsleitung auf low (niedrig), die derjenigen Station entspricht, 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 Ent­ scheidungsleitungen befindliche Nummer einer Schlitz-Nummer oder einer Entscheidungsnummer entspricht. Dieser Vorgang wird wiederholt, bis alle Stationen ihre zugehörigen Schlitz-Iden­ tifizierungs- und Entscheidungsnummern erhalten haben. Es ist für den Fachmann klar, daß verschiedene andere Prioritätshierar­ chien zwischen den Stationen, z. B. den Verarbeitungseinheiten 25 und 26 definiert werden können.In the described embodiment, the priority among the stations connected to the parallel bus 35 is determined by their associated decision numbers. Each station is coupled to a slot on bus 35 and a special "T" pin line is coupled to each slot position. When switched on, each station is provided with a station slot identification number and a special decision number by a central service module (CSM) which is connected to the bus (not shown). The central service module applies a station slot identification number to the station decision lines 62 and sets the T occupancy line to low in accordance with the assignment of the slot identification number. Setting the T-occupancy line to low stores the slot identification number in registers of the station. Similarly, the CSM applies a special decision number to the station decision lines 62 and drives the T-occupancy line low corresponding to the station to which the decision number is to be assigned. Setting the T seizure line to an H (high) level locks the decision number. In the described embodiment, the state of a decision line 62 indicates whether the number on the remaining decision lines corresponds to a slot number or a decision number. This process is repeated until all stations have received their associated slot identification and decision numbers. It is clear to those skilled in the art that various other priority hierarchies between the stations, e.g. B. the processing units 25 and 26 can be defined.

Es sei angenommen, daß die Verarbeitungseinheit 25 (durch Priorität ihrer Entscheidungsnummer) den Bus in Besitz genom­ men bzw. belegt hat. Die Verarbeitungseinheit 25 hält den Bus selbst nach Beendigung der Übertragung solange in Besitz bzw. Belegung, wie das BREQ-Signal ungetastet bleibt. Bei Feststel­ lung eines EOC-Signals oder bei unbelegtem Bus legt die Verar­ beitungseinheit 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 entspre­ chend der von der Antwortstation (im beschriebenen Beispiel dem globalen Speicher 30) durchzuführenden Funktion an den Befehlsbus. Wie in Fig. 4 gezeigt ist, werden die Befehlsbus­ leitungen 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 Verar­ beitungseinheit 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 "Anforderungs­ phase" bezeichnet wird. Wie gezeigt, dauert die tatsächliche Anforderungsphase nur einen Taktzyklus bei dem beschriebenen Ausführungsbeispiel.Assume that processing unit 25 (by priority of its decision number) has taken possession of the bus. The processing unit 25 holds the bus even after the transmission has ended, as long as the BREQ signal remains intact. When an EOC signal is detected or when the bus is empty, the processing unit 25 applies a digital code corresponding to the address of the response station (destination address) and the address of the processing unit 25 (source address) to the address / data bus if the data contains a message. At the same time, the processing unit 25 places a digital code corresponding to the function to be performed by the response station (in the example described, the global memory 30 ) on the command bus. As shown in Fig. 4, the command bus lines are effectively split, and various acknowledged signals can be sent from both the requesting station and the answering station as soon as a requesting station, e.g. B. the processing unit 25 , which applies various address and command codes to the parallel bus 35 . The creation of the addresses and commands by the calling station (processing unit 25 in the present example) ends what is referred to as the "request phase". As shown, the actual request phase lasts only one clock cycle in the described embodiment.

Am Ende der Anforderungsphase wird den Leitungen des Be­ fehlsbus 68 in der in Fig. 6 dargestellten Weise eine neue Funktion zugewiesen. Insbesondere werden fünf Befehlsleitungen der rufen­ den bzw. anfordernden Station und fünf Befehlsleitungen der antwortenden Station zugeordnet, um das erforderliche hand­ shake für die Datenübertragung zwischen den Stationen zu ver­ vollständigen. Insbesondere gibt die anfordernde bzw. rufende Station (Verarbeitungseinheit 25 bei dem beschriebenen Bei­ spiel) 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 Fig. 7), was der rufenden Station anzeigt, daß Daten auf dem Adreß-Da­ ten-Bus 60 gültig sind und angenommen werden können. Das Pro­ tokoll 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 latch gespeichert werden. Zusätzliche Datenpakete können zwischen der rufenden und der antwortenden Station über den Parallelbus 35 durch nachfolgende Wehnahme der Antworter-bereit- und Rufer-bereit-Signale und deren Wiederanlegen entsprechend Darstellung in Fig. 4 übertragen werden. Wie dargestellt ist, entwickelt die rufende Station (im beschriebenen Beispiel die Verarbeitungs­ einheit 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 ge­ koppelte Stationen von dem Ende des laufenden Übertragungs­ zyklus, so daß die Busbelegung bzw. der Busbesitz übergeben werden kann. Wie am besten in Fig. 5b gezeigt ist, kann eine antwortende Station (im beschriebenen Bespiel der globale Speicher 30) der rufenden Station einen Datenübertragungsfeh­ ler (eine "Ausnahme") während ihres handshake-Abschnitts, der normalerweise durch ein Antworter-bereit-Signal bezeichnet wird, signalisieren, sobald gültige Daten abgetastet werden. Ein Datenübertragungszyklusfehler, der während dieser Periode von der rufenden Station (in diesem Falle die Verarbeitungs­ einheit 25) festgestellt wird, erzwingt das Anlegen eines EOC-Signals bei dem nächsten Taktzyklus, wodurch weitere Da­ tenübertragungen unterbrochen werden und die Busbelegung für wartende Stationen freigegeben wird, welche den oben beschrie­ benen Entscheidungszyklus erfolgreich beendet haben.At the end of the request phase, the lines of the command bus 68 are assigned a new function in the manner shown in FIG. 6. In particular, five command lines of the calling or requesting station and five command lines of the answering station are assigned to complete the required hand shake for data transmission between the stations. In particular, the requesting or calling station (processing unit 25 in the example described) gives a caller-ready (REQ RDY) signal to a suitable command line, which indicates to the responder that the calling station is accepting data on the address / data -Bus 60 is available. Similarly, the answering station (global memory 30 in the example described) issues a REPLY RDY signal (see FIG. 7) indicating to the calling station that data is on the address data bus 60 are valid and can be accepted. The protocol on the parallel bus 35 thus requires the application of both the answering and the caller-ready signals before data on the address / data bus 60 is considered valid and latch is stored. Additional data packets can be transmitted between the calling and the answering station via the parallel bus 35 by subsequent perception of the answer ready and call ready signals and their reapplication as shown in FIG. 4. As shown, the calling station (in the example described the processing unit 25 ) develops an end of cycle (EOC) signal simultaneously with the application of the REQ RDY signal. The generation and transmission of the EOC signal notifies other stations coupled to the parallel bus 35 of the end of the current transmission cycle, so that the bus occupancy can be transferred. As best shown in Fig. 5b, a responding station (in the example described, global memory 30 ) of the calling station may experience a data transfer error (an "exception") during its handshake portion, which is typically signaled by a reply ready signal is signaled as soon as valid data is scanned. A data transmission cycle error, which is detected by the calling station (in this case the processing unit 25 ) during this period, forces the application of an EOC signal on the next clock cycle, whereby further data transmissions are interrupted and the bus occupancy is released for waiting stations, who have successfully completed the decision cycle described above.

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. der Verarbeitungseinheit 25) im wesentlichen dem identischen Protokoll entsprechend der Darstellung in Fig. 4 folgt, da das Parallelbusprotokoll nach der vorliegenden Erfindung ein­ fach das Anlegen sowohl des REQ RDY- als auch des REPLY RDY-Signals vor dem Abgreifen (Latch-off) der Daten von dem Parallelbus er­ forderlich macht. Daher ermöglicht die Erfindung Unterschiede in der relativen Operationsgeschwindigkeit der rufenden und antwortenden Stationen unter Verwendung des gleichen Übertra­ gungsprotokolls.Although the example described above showed data transmission from a responding station to a calling station coupled to the parallel bus 35 , it is clear that data transmission from a calling station (e.g. processing unit 26 ) to a responding station ( e.g. processing unit 25 ) essentially follows the identical protocol as shown in Fig. 4, since the parallel bus protocol according to the present invention simply applies both the REQ RDY and REPLY RDY signals before tapping (latch -off) of the data from the parallel bus. Therefore, the invention enables differences in the relative speed of operation 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 Un­ terbrechung des primären Prozessors innerhalb der Verarbei­ tungseinheit. So können beispielsweise Daten zum lokalen Pro­ zessor 40 oder alternativ zu und von einem speziellen Ressource-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 Nachrichten­ steuerlogik 50 Nachrichtenadressen, die innerhalb der Daten­ pakete über den Parallelbus 35 sowie den Serienbus 37 laufen, um festzustellen, ob die spezielle Station in die Nachrichten­ übertragungsoperation einbezogen werden soll. Wenn ein beson­ deres 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 Ressource-Speicher 54 von einer externen rufenden Station zu ermöglichen.The message control logic 50 according to the invention enables numerous messages and data transfers between coupled to the parallel bus 35 stations (and, as will be described below, the serial bus 37) with minimal interruption of the primary processor Un within the process ing unit. For example, data can be transferred to the local processor 40 or alternatively to and from a special resource memory 54 without the primary processor 40 being interrupted. As will be described, the message controller 80 within the message control logic 50 checks message addresses that run within the data packets over the parallel bus 35 and the serial bus 37 to determine whether the particular station should be involved in the message transfer operation. When a particular message controller is addressed, it checks the type field contained in the message packet and generates any interruption required by the primary processor. On the other hand, if an interruption is not required, appropriate direct memory access (DMA) interface 86 information is then transmitted to allow resource memories 54 to be accessed by an external calling station.

Im folgenden wird auf Fig. 7 Bezug genommen, in der die Nach­ richtenübertragungsoperationen unter Verwendung der Nachrich­ tensteuerlogik 50 angegeben sind. Es sei beispielsweise ange­ nommen, daß der primäre Prozessor 41 innerhalb der Verarbei­ tungseinheit 26 Daten zu dem von der Verarbeitungseinheit 25 direkt zugreifbaren Speicher zu übertragen wünscht. Die anfor­ dernde 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 ent­ sprechend einer speziellen gewünschten Operation (in diesem Falle einer Daten-Schreiboperation), ein Identifizierungsbyte entsprechend der speziellen Identifizierungsnummer der rufen­ den 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 Nachrichtensteuer­ logik 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 Puffer­ speichers 82 oder der DMA 86 der Nachrichtensteuerlogik 50. Das Nachrichtensteuergerät 80 addiert außerdem ein Byte zu dem Anforderungspaket, welches eine spezielle Querübertragungsnum­ mer (ID/S) enthält, die die vorliegende Anforderung identifi­ ziert. Das Nachrichtensteuergerät 80 schickt das Puffer-Anfor­ derungspaket über das Bus-Steuergerät 84 auf den Parallelbus zur antwortenden Station (in diesem Falle die Verarbeitungs­ einheit 25) unter Verwendung des zuvor unter Bezugnahme auf die Fig. 4, 5a, 5b, 6 und 7 beschriebenen Datenübertra­ gungsprotokolls. Die Nachrichtensteuerlogik 50 der antworten­ den 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 ₁" definierten Länge zuge­ ordnet 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 ₂") 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. Schließlich wird das die Querübertragungsidentifi­ zierungsnummer (ID/S) bezeichnende Byte wiederholt, welche die besondere Pufferanforderung speziell identifiziert. Das Puf­ ferzuteilungs-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₂ in der DMA 86 speichert und, wie gezeigt, die Querübertra­ gungs-Rufer-Nummer (ID/R) zu dem erzeugten Puffer-Anforde­ rungspaket addiert. Die Puffer-Zuteilungsnachricht wird zur Nachrichten-Steuerlogik 50 der rufenden Station übertragen, die danach unter Verwendung der DMA-Schnittstelle 86 zur ant­ wortenden Station zu übertragende Daten abruft und diese Daten zum Bussteuergerät 84 für die Übertragung zur antwortenden Station entsprechend dem zuvor anhand der Fig. 4, 5, 6 und 7 erörterten Protokoll schicken kann. Die Datenübertragung kann aus einem oder mehreren Datenpaketen bestehen, wie in Fig. 8 gezeigt ist.Referring now to FIG. 7, the message transfer operations using message control logic 50 are indicated. For example, assume that the primary processor 41 within the processing unit 26 wishes to transfer data to the memory directly accessible by the processing unit 25 . The requesting or calling station (processing unit 26 ) issues a "buffer request" to its message control device 80 which, as shown, shows a destination byte corresponding to the address of the destination replies, a command "type" byte corresponding to a specific desired operation (in this In the case of a data write operation), an identification byte corresponding to the specific identification number of the call to the station, a byte which designates the local data address where the data intended for access by the calling station are stored, an optional file name, and 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 station. The message controller 80 of the particular calling station (in this example, the processing unit 26 ) stores the local address and length information within the buffer memory 82 or the DMA 86 of the message control logic 50 . The message controller 80 also adds a byte to the request packet that contains a special cross transfer number (ID / S) that identifies the present request. The message controller 80 sends the buffer request packet via the bus controller 84 onto the parallel bus to the responding station (in this case the processing unit 25 ) using the one previously described with reference to FIGS. 4, 5a, 5b, 6 and 7 Data transfer protocol. The reply control station's message control logic 50 transparently passes the request to the primary processor 40 of the responding processor unit 25 . Upon receipt of the message, the primary processor 40 of the processing unit 25 determines whether a suitable memory buffer with the length defined by the length byte "length ₁" can be allocated. As soon as the primary processor 40 has allocated the queried storage space, a buffer allocation message is generated in which the type byte corresponds to a special code identifying a buffer allocation. In addition, the address space of the local answering station is specified together with the associated buffer length ("length ₂"), which indicates the memory size actually allocated or occupied by the answering station. This allocated memory size can differ from the memory size requested by the calling station. Finally, the byte denoting the Transmit Identification Number (ID / S) is repeated, which specifically identifies the particular buffer request. The buffer allocation data packet is then transferred over the local internal bus 29 to the answering station's message controller 80 , which stores the buffer's local address as well as the cross-transfer identification number (ID / S) and length ₂ in the DMA 86 and, as shown, the cross-transmission caller number (ID / R) added to the generated buffer request packet. The buffer allocation message is transmitted to the message control logic 50 of the calling station, which then retrieves data to be transmitted using the DMA interface 86 to the answering station and this data to the bus control unit 84 for transmission to the answering station in accordance with the previously described with reference to FIG can send 6 and 7 protocol discussed. 4, 5,. The data transmission can consist of one or more data packets, as shown in FIG. 8.

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 Übertra­ gung abgeschlossen ist. Demgemäß können sowohl Nachrichten als auch Daten zwischen den mit der erfindungsgemäßen Busstruktur gekoppelten Stationen bei minimaler Unterbrechung der Primär­ prozessorstationen übertragen werden und können direkten Spei­ cherzugriff für Datenübertragungen unter Steuerung durch die Nachrichtensteuerlogik 50 enthalten. Es ist zu erkennen, daß die oben beschriebenen Nachrichtenübertragungsoperationen gemäß Darstellung in Fig. 8 auch von dem Serienbus 37 benutzt werden können.As soon as the desired data transmission has ended, the respective message control unit 80 generates a general completion message, as a result of which the primary processors of the calling and answering stations are informed that the transmission has been completed. Accordingly, both messages and data can be transmitted between the stations coupled to the bus structure according to the invention with minimal interruption of the primary processor stations and can contain direct memory access for data transmissions under the control of the message control logic 50 . It can be seen that the message transmission operations described above, as shown in FIG. 8, can also be used by the serial bus 37 .

SERIENBUSSERIAL BUS

Wie zuvor unter Bezugnahme auf Fig. 1 beschrieben wurde, kann jede Station innerhalb der erfindungsgemäßen Busstruktur durch einen Serienbus 37 und/oder den zuvor beschriebenen Parallel­ bus 35 angekoppelt sein. Während die Struktur und Betriebswei­ se des Parallelbus 35 in erster Linie für eine große Hochge­ schwindigkeitsdatenübertragung zwischen den mit dem Parallel­ bus gekoppelten Stationen ausgelegt ist, dient der erfindungs­ gemäße Serienbus in erster Linie schnellen und wirksamen Nach­ richtenübertragungen zwischen den Busstationen. Bei dem be­ schriebenen Beispiel besitzt der Serienbus 37 eine zweiadrige Serienverbindung mit den als "SDA" und "SDB" bezeichneten Leitungen. Wie in Fig. 9 gezeigt ist, weist das Nachrich­ tensteuergerät 80 innerhalb der Nachrichtensteuerlogik 50 jeder Station ein Seriennachrichtensteuergerät 100 zum Senden und Empfangen von Seriendaten zu und von verschiedenen Statio­ nen ü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 Kolli­ sion zwischen den über den Serienbus 37 laufenden Nachrichten aufgetreten ist. Eine Kollisionsfeststellungsleinleitung 117 verbindet den Bus-Zustandsdetektor 110 mit einer Seriennach­ richten-Steuergerätlogik 124, welche, wie die nachfolgende Beschreibung ergeben wird, den Kollisionsrücksende-Entschei­ dungszyklus 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 Nachrichten­ steuerleitungen (nicht gezeigt) zur Steuergerätlogik 124 ge­ koppelt, die direkt mit einer anderen Nachrichtensteuergeräte­ schaltung 80 innerhalb des in Fig. 2 gezeigten Nachrichten­ steuerlogikblocks 50 gekoppelt ist.As described above with reference to FIG. 1, each station can be coupled within the bus structure according to the invention by a series bus 37 and / or the parallel bus 35 described above. While the structure and mode of operation of the parallel bus 35 is primarily designed for large high-speed data transmission between the stations coupled to the parallel bus, the serial bus according to the invention primarily serves fast and effective communications between the bus stations. In the example described, the serial bus 37 has a two-wire serial connection with the lines designated as "SDA" and "SDB". As shown in FIG. 9, the message controller 80 within the message control logic 50 of each station has 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 status detector 110 , which supplies three basic output signals. Encrypted data picked up by the serial bus 37 are passed to a decoder 115 together with a signal denoting a carrier scanning signal. As will be described in more detail below, the bus condition detector 110 also determines whether a collision has occurred between the messages passing over the serial bus 37 . A collision determination initiation 117 connects the bus condition detector 110 to a serial message controller logic 124 which, as will be described below, controls the collision return decision cycle according to the invention. A serial transmitter 128 is connected to controller logic 124 and each serial line SDA and SDB to send messages over serial bus 37 . As shown, messages to be sent serially via the serial bus 37 are first coupled to control unit logic 124 via internal message control lines (not shown), which is directly coupled to another message control unit circuit 80 within the message control logic block 50 shown in FIG. 2.

Über den Serienbus 37 übertragene Daten werden bei dem be­ schriebenen bevorzugten Ausführungsbeispiel um 180° phasenver­ schoben auf die Leitungen SDA und SDB gegeben. Außerdem ver­ schlüsselt die Seriennachrichten-Steuergerätlogik 124 die zu sendenden Daten bei dem beschriebenen Beispiel unter Verwen­ dung der bekannten Manchester-Kodiermethoden. Im folgenden wird auf Fig. 10 Bezug genommen. Der Buszustandsdetektor 110 erzeugt aus den empfangenen Serienübertragungen kodierte Da­ ten, Kollisionsfeststellungs- und Trägerabtastsignale. Der Bus-Zustandsdetektor 110 weist optionelle "D"-Verriegelungs­ schaltungen 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 Verriegelungs­ schaltungen 132 und einer Detektor-Logikschaltung 136 (Fig. 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 Fig. 10 der Detektorlogikschaltungen 136 verbun­ den. In ähnlicher Weise sind die Ausgänge der D-Verriegelungs­ schaltungen 133 mit Eingängen A1 und B1 der Detektor-Logik­ schaltung 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-Verrie­ gelungsschaltungen 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 in the preferred exemplary embodiment described be shifted 180 ° out of phase onto the lines SDA and SDB. In addition, ver the serial communications controller logic 124, the breakdown of the known Manchester encoding methods dung data to be sent in the example described under USAGE. 10 is referred to below . The bus state detector 110 generates encoded data, collision detection, and carrier scan signals from the received serial transmissions. The bus state detector 110 has optional "D" latches 131 (for synchronization purposes) connected in series with two similar latches 132 . A third pair of D latches 133 is in turn connected to the output of the corresponding latches 132 and a detector logic circuit 136 ( Fig. 10). The outputs of the D latch circuits 132 are connected for both lines SDA and SDB with associated inputs A2 and B2 in FIG. 10 of the detector logic circuits 136 . Similarly, the outputs of the D latch circuits 133 are connected to inputs A1 and B1 of the detector logic circuit 136 . All latches are clocked simultaneously by a clock signal, typically at 20 MHz, that is generated by detector logic circuit 136 or an external clock. The use of the D latches 131 , 132 and 133 enables the comparison of sequential data bits which are received on the SDA and SDB lines simultaneously.

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 Fig. 10 gezeigt ist, werden Kollisionen über den Seri­ endatenbus leicht dadurch festgestellt, daß das Ausgangssignal des Kollisionsfeststellungsports (CD) des Buszustandsdetektors 110 überwacht wird. Wenn alle Eingänge A1, A2, B1 und B2 der Detektorlogik 136 auf einem niedrigen Pegel (logische Null) sind, so wurden beide Leitungen SDA und SDB auf einen niedri­ gen Pegel gezogen, was eine Kollision anzeigt, da beide Daten­ leitungen normalerweise von jedem seriellen Sender 128 inner­ halb der zugehörigen Stationen um 180° phasenverschoben sind. Daher kann ein niedriger Pegel (L-Pegel) an allen Ports A1 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 Serien­ bus-Ruheperioden durch Beobachtung des Ausgangs des Trägerab­ tastports (CS) des Buszustandsdetektors 110 bestimmt. Wie ge­ zeigt, 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 logi­ sche Zustände beschrieben worden ist, ist dem Fachmann klar, daß andere Kombinationen von logischen Zuständen in gleicher Weise verwendet werden können. The bus status detector 110 according to the invention provides a simple method for extracting coded data which are transmitted serially via the serial bus 37 , and for determining the collisions of messages via the serial bus. As shown in Fig. 10, collisions over the serial data bus are easily detected by monitoring the output of the collision detection port (CD) of the bus state detector 110 . If all of the inputs A1, A2, B1 and B2 of detector logic 136 are at a low level (logic zero), then both lines SDA and SDB have been pulled to a low level, indicating a collision, since both data lines are normally from each serial Transmitter 128 are 180 ° out of phase within the associated stations. Therefore, a low level (L level) at all ports A1 A2, B1 and B2 of the detector logic can only occur in the event of a collision on the bus, since by design a logical one on the SDA line requires the presence of a logical zero on the SDB line . Similarly, the series bus idle periods are determined by observing the output of the carrier scan port (CS) of the bus state detector 110 . As shown, a bus idle period is indicated by both lines SDA and SDB being high (H level). The carrier scan port of detector 110 indicated an idle condition by a logic zero (low) signal. Although the operation of the bus state detector 110 for specific logic states has been described, it will be apparent to those skilled in the art that other combinations of logic states can be used in the same way.

Im folgenden wird kurz auf Fig. 11a Bezug genommen. Alle über den Serienbus 37 übertragenen Nachrichten enthalten eine Syn­ chronisations ("sync")-Präambel 200, die für die Manchester-Kodierung erforderlich ist, gefolgt von einem die Bestimmungs­ stationsadresse (z. B. Verarbeitungseinheit 26) enthaltenden Byte 210. Zusätzlich ist die Quellenstationsadresse 220 vorge­ sehen, um die die Nachricht sendende Ursprungsstation zu iden­ tifizieren. 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 spe­ zielle sendende Station entspricht, und ein Datenfeld 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 zwi­ schen den Stationen übertragene Seriennachricht wird gefolgt von einer nachrichtenübertragungsfreien Periode, die als Zwi­ schenraum "interframe space" (IFS) bezeichnet wird und bei dem beschriebenen Ausführungsbeispiel etwa vier Byte-Zeiten bil­ det. Alle über den Serienbus 37 laufenden Nachrichten werden von der Empfangsstation unter Verwendung des in Fig. 11b 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 darstel­ lenden speziellen Digitalcode enthält. Bei dem beschriebenen System findet das Quittierungsfeld 260 nicht Verwendung; statt dessen 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 Ruhe­ periode innerhalb der IFS-Zeit festgestellt wird, wird ein Fehler angenommen. In the following, reference is briefly made to FIG. 11a. All messages transmitted over the serial bus 37 contain a synchronization ("sync") preamble 200 , which is required for the Manchester coding, followed by a byte 210 containing the destination station address (e.g. processing unit 26 ). In addition, the source station address 220 is provided to identify the originating station sending the message. A "type" byte 225 identifies the character of the messages transmitted between the stations. 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 corresponds to a special identification number for the special transmitting station, and a data field 235 . The message is ended by an error check CRC (16 bit CCITT) code 240 (known) in order to ensure error-free transmissions via the serial bus 37 . Each serial message transmitted via the bus 37 between the stations is followed by a message-free period, which is referred to as the interframe space (IFS) and, in the exemplary embodiment described, forms approximately four byte times. All messages passing over the serial bus 37 are acknowledged by the receiving station using the message acknowledgment format shown in FIG. 11b. As shown, the acknowledgment signal includes a sync preamble 200 followed by an optional simple acknowledgment field 260 which contains a special digital code representing a message acknowledgment signal. The acknowledgment field 260 is not used in the system described; instead, acknowledgment is denoted by the sync preamble 200 followed by a bus idle period within the interval time. If no sync preamble 200 and / or idle period is determined within the IFS time, an error is assumed.

Anhand der Fig. 12a wird die von der Nachrichtensteuerlogik 50 zum Senden einer Nachricht über den Serienbus 37 ausgeführ­ te Folge von logischen Operationen beschrieben. Es sei als Beispiel angenommen, daß die Verarbeitungseinheit 25 unter Verwendung des Serienbusses 37 eine Nachricht zur Verarbei­ tungseinheit 26 senden muß. Die Verarbeitungseinheit 25 be­ stimmt zunächst durch Prüfung des Trägerabtast (CS)-Ausgangs­ signals 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. Fig. 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 fest­ stellt, daß der Serienbus 37 nicht in Benutzung ist, kapselt die Seriennachrichten-Steuergerätlogik 124 der Verarbeitungs­ einheit 25 die Nachricht unter Verwendung des in Fig. 11a dargestellten Nachrichtenformats ein und schickt die Nachricht zum seriellen Sender 128 zum Anlegen an die SDA- und SDB-Lei­ tungen. 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 Ver­ wendung des in Fig. 11b dargestellten Formats. Nimmt man an, daß die Quittierung innerhalb des Zwischenraums empfangen wird, ist der serielle Nachrichtenzyklus jetzt abgeschlossen.The sequence of logical operations carried out by the message control logic 50 for sending a message via the serial bus 37 is described with reference to FIG. 12a. For example, assume that the processing unit 25 must send a message to the processing unit 26 using the serial bus 37 . The processing unit 25 first determines whether the serial bus 37 is currently in use or not by checking the carrier scan (CS) output signal of the bus status detector 110 . In the example described, the lack of data transmissions via the serial bus 37 leads to the two lines SDA and SDB remaining at a high level (cf. FIG. 10). NAND operation by detector logic 136 between lines SDA and SDB would result in an L state in the absence of a carrier signal on serial bus 37 . Once the processing unit 25 determines that the serial bus 37 is not in use, the serial message controller logic 124 of the processing unit 25 encapsulates the message using the message format shown in Figure 11a and sends the message to the serial transmitter 128 for application to 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 an acknowledgment message from the processing unit 26 during the interval following the message using the format shown in FIG. 11b. Assuming that the acknowledgment is received within the space, 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 Fig. 12b, c und 13 beschrieben werden kann.If the processing unit 25 does not receive an acknowledgment message during the interval and the bus status detector 110 on the serial bus 37 has not found a collision, the processing unit 25 repeats the data transmission after setting an identification bit with the message type byte 225 , for the second transmission as a duplicate message packet to mark. When the bus-state detector 110, however, a collision is detected, the processing unit conducts 25 (as well as the other stations coupled to the serial bus 37) a serial-retransmission decision cycle, which are best described with reference to Fig. 12b, c and 13 can.

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 sen­ denden Stationen, daß beide Leitungen SDA und SDB auf einen L-Pegel (niedrigen Pegel) gehen. Nach Feststellen einer Kol­ lision 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 wer­ den, um den Serienbus für eine vorgegebene Anzahl von Bit-Zei­ ten 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. Sobald der Stauzyklus beendet worden ist, beginnt jede Sende­ station gleichzeitig über vorgegebene Zeitschlitze #0 bis #N (entsprechend Darstellung in Fig. 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 Fig. 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 einlei­ ten und die Teilzeitschlitze innerhalb des primären Zeit­ schlitzes (Zeitschlitz #2 in Fig. 13) zu zählen beginnen. Im Ergebnis kann die erfindungsgemäße Sendeentscheidung bei zahl­ reichen mit dem Serienbus 37 gekoppelten Stationen wirksam benutzt werden. Obwohl Fig. 13 die Verwendung von Teilzeit­ schlitzen darstellt, wird bei dem beschriebenen Ausführungs­ beispiel nur ein einziger Pegel derart verwendet, daß nur einer Station ein spezieller Schlitz zugeordnet ist.Due to the type of data transmission via the serial bus, namely the feeding of the data with a phase shift between the lines SDA and SDB, the sum of the colliding messages between one or more transmitting stations causes both lines SDA and SDB to be at an L level ( low level). After detection of a collision, all the stations connected to the serial bus 37 initiate a "jam cycle" which begins with both lines SDA and SDB being driven to an L level in order to drive the serial bus for a predetermined number of times To "disrupt" bit times. The stations then remain idle, monitor the bus state for a predetermined time to allow the collision to resolve, and wait an additional period (like an IFS) to ensure that a valid congestion cycle has expired. As soon as the congestion cycle has ended, each transmitting station begins to count simultaneously over predetermined time slots # 0 to #N (as shown in FIG. 13). Each station coupled to the serial bus 37 is assigned one of the special time periods in which its message is retransmitted. As shown in FIG. 13, each time slot can in turn be divided into several (# 0- # M) sub-slots, each sub-slot being assigned to a special station coupled to the serial bus. In such a case, all stations would again initiate a congestion cycle when counting up to a time slot with associated part-time slot, and the part-time slots would begin to count within the primary time slot (time slot # 2 in FIG. 13). As a result, the transmission decision according to the invention can be effectively used with numerous stations coupled to the serial bus 37 . Although Fig. 13 illustrates the use of part-time slots, only a single level is used in the described embodiment such that only one station is assigned a special slot.

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 Fest­ stellung der Kollision treten alle mit den Serienbus 37 gekop­ pelten Stationen in den Stauzyklus ein und beginnen das se­ quentielle 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 Zeit­ schlitz #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 gekennzeich­ neten Protokolls neu gesendet hat, beginnen alle Stationen wieder mit der Zeitschlitzzählung, und zwar mit dem Zeit­ schlitz #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 wesent­ lichen 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 Sta­ tionen eine zufallsbewertete Zeit vor der neuen Sendung erwar­ ten, so daß eine Station schließlich Zugriff zum Bus gewinnt.As an example, assume that a collision between messages sent from station "A" and station "B" has occurred via serial bus 37 . After the collision has been determined, all stations coupled to the serial bus 37 enter the congestion cycle and begin the sequential counting of the time slots (in the example, each time slot contains approximately eight bit times) starting with time slot # 0. In the example, station A is assigned to time slot # 0. Accordingly, all stations coupled to bus 37 stop counting the time slots until station A has retransmitted their data message. Once station A has resent its message using the protocol identified in Fig. 12, all stations begin time slot counting again, with time slot # 1. (In the event that part-time slots have been assigned, as in the case of time slot # 2 in Fig. 13, after a pause, part-time slots are similarly counted down from all stations in order for the stations to which the specific part-time slot has been assigned to transmit their Accordingly, the collision transmission retransmission decision protocol according to the invention is essentially characteristic of the fact that each station coupled to the serial bus 37 is assigned a predetermined time slot in which it can resend its message. This provision differs fundamentally from previous CSMA / CD protocols, e.g. B. the "Ethernet" method (US Pat. No. 4,063,220), which simply requires that all transmitting stations expect a randomly assessed time before the new broadcast, so that a station finally gains access to the bus.

Lokaler BusLocal bus

Der erfindungsgemäße lokale Bus 56 bildet einen Hochgeschwin­ digkeitsparallelbus großer Bandbreite zum lokalen Speicher und zu den Verarbeitungsressourcen eines primären Prozessors inner­ halb 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 typi­ sche rufende Station wäre ein primärer Prozessor 40 oder ein sekundärer Prozessor 57, der mit dem lokalen Bus 56 als Ressource 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 Speicherressource 54. Der lokale Bus 56 erlaubt daher die Verwendung von mehreren zugeordneten Datenverarbeitungsressourcen 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üh­ rungsbeispiel können maximal zwei "rufende Stationen" (Prozes­ soren) mit dem lokalen Bus 56 gleichzeitig gekoppelt sein.The local bus 56 according to the invention forms a high-speed parallel bus of large bandwidth to the local memory and to the processing resources of a primary processor within a processing unit, for example 25 and 26 according to FIG. 1. All information transmissions 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 coupled to the local bus 56 as a resource or system element of the primary processor 40 in handling data operations. Similarly, a typical answering station on local bus 56 is a storage resource 54 . The local bus 56 therefore permits the use of a plurality of assigned data processing resources between the primary processing station 40 and a secondary processing station 57 , insofar as they are coupled to the local bus 56 . In the exemplary embodiment described, a maximum of two “calling stations” (processors) can be coupled to the local bus 56 at the same time.

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 sekun­ dären rufenden Station 57 und der primären rufenden Station 40 eingeschaltet. In ähnlicher Weise liefert eine Bus-Quittie­ rungs (BUS ACK) Leitung 330 zwischen der sekundären Antwort­ station 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 der­ art 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-Taktperi­ ode 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 FIG. 14, the local bus 56 includes address lines 300 , command lines 310 , data lines 315 and a plurality of control lines 320 for maintaining system control according to the protocol for the local bus 56 . A bus request line (BUS REQ) 325 is switched on via the local bus interface 58 (see FIG. 1) between the secondary calling station 57 and the primary calling station 40 . Similarly, a bus acknowledgment (BUS ACK) line 330 provides signals between the secondary answering station 57 and the primary answering station 40 to indicate the acknowledgment of the bus ownership transition. A bus clock line 335 is coupled to the primary calling station 40 such that the local bus 56 can be synchronized with the internal clock of the primary processor. Accordingly, all bus events are defined as integer multiples of the bus clock period, and the start and end of each event or its period of validity 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 "Ent­ scheidungs (arbitration)"-Zyklus, dem "Übertragungs"-Zyklus und dem "Ausnahme"-Zyklus. Der Entscheidungszyklus gewährlei­ stet, 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 Zeit­ punkt 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 Pro­ zessor zur Busbelegung keine Entscheidung durchzuführen hat).All bus data transfer operations consist of three types of events called 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) can initiate data transmission over a local bus 56 at any given time. In the example described, the primary calling station 40 is given control of the local bus 56 in the absence of a bus request by the secondary calling station 57 . Therefore, the primary calling station 40 only needs to enter the decision cycle when the secondary calling station 57 is coupled to the local bus and when the local bus is busy under the control of the secondary calling station (note that the processing unit 26 according to FIG Fig. 1 does not have a secondary processor on its local bus, so that its primary processor does not have to make a decision for bus assignment).

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-An­ forderungsleitung 325. Die primäre rufende Station 40 quit­ tiert 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-Ressource, z. B. zum Speicher 54 geben, um die er­ forderliche 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 Speicherressource 54) kann dann geeignete Daten (im Falle einer Lese-Operation) auf die Daten­ leitungen 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. 15. When the secondary calling station 57 requests use of the local bus 56 , it applies a bus request signal (BUS REQ) to the bus request line 325 . The primary calling station 40 acknowledges the bus request of the secondary calling station by generating a bus acknowledge signal (BUS ACK) on the bus acknowledge line 330 , whereby the bus ownership is transferred to the secondary calling station 57 . The secondary calling station 57 can then send appropriate address and command signals to address lines 300 and command lines 310 to a local bus resource, e.g. B. to memory 54 to initiate the required 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 answering station (e.g., a memory resource 54 ) can then put appropriate data (in the case of a read operation) on the data lines 315 for receipt by the secondary calling station 57 using the protocols described below. The secondary calling station 57 releases the bus request line 325 upon completion of the desired operation by the answering station, whereby the bus ownership returns to the primary calling station 40 .

Anhand der Fig. 16 wird die erfindungsgemäße besondere Benut­ zung eines WAIT-Signals beschrieben. Das WAIT-Signal kann von allen mit dem lokalen Bus 56 gekoppelten antwortenden Statio­ nen benutzt werden, um die Antwortphase auszudehnen, indem Verzögerungstaktzyklen injiziert werden. Wenn Pipelining durchgeführt wird (die Anforderungsphase einer laufenden Bus­ operation ü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 Busopera­ tion führen. Wie in Fig. 16 gezeigt ist, hat der primäre Pro­ zessor 40 eine Anforderung (unter Verwendung von Adreßleitun­ gen 300 und Befehlsleitungen 310) an eine mit dem lokalen Bus 56 gekoppelte antwortende Station gegeben. Die die vorher­ gehende Busoperation bedienende antwortende Station hat wäh­ rend 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 bedienende 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 gel­ tend machen. Die anfordernde Station muß mit der Entwicklung des WAIT-Signals solange weitermachen, bis die geeignete An­ zahl von Zugriffsverzögerungszyklen eingegeben worden ist. Die Verwendung des WAIT-Signals zur Entwicklung von Verzögerungs­ zyklen 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 Speicherressource 54 arbeitet, da, wie erinnerlich sein wird, der lokale Bus 56 mit derselben Frequenz wie der primäre Prozessor 40 getaktet wird.The particular use according to the invention of a WAIT signal is described with reference to FIG. 16. The WAIT signal can be used by all answering stations coupled to local bus 56 to extend the reply phase by injecting delay clock cycles. When pipelining is performed (the request phase of an ongoing bus operation overlaps the response phase of a previous bus operation), the application of the WAIT signal by the answering station serving the previous bus operation can lead to an extension of the request phase of the current bus operation. As shown in FIG. 16, the primary processor 40 has made a request (using address lines 300 and command lines 310 ) to a responding station coupled to the local bus 56 . The responding station serving the previous bus operation developed a WAIT signal during the first clock cycle of the request phase of the current bus operation, indicating to the primary requesting station 40 that the answering station serving its previous bus operation was unable to provide the address. and record command information during the current bus clock cycle. If the addressed responding station needs additional time to access and pass the requested data to the local bus, a WAIT signal must be asserted on the last clock cycle of the request phase. The requesting station must continue to develop the WAIT signal until the appropriate number of access delay cycles have been entered. The use of the WAIT signal to develop delay cycles on the local bus 56 would be common when the primary processor 40 is operating at a higher speed than the access time of, for example, a local memory resource 54 , since, as will be remembered, the local bus 56 is clocked at the same frequency as the primary processor 40 .

Wie in Fig. 16 gezeigt ist, führt das Anlegen des WAIT-Signals in dem ersten Taktzyklus der Anforderungsphase zu einer Fort­ setzung 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 Bus­ leitungen 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 antwor­ tende 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 Prozes­ sor) die Anforderung noch angelegt oder aufrechterhält.As shown in Fig. 16, the application of the WAIT signal in the first clock cycle of the request phase results in the request phase of the primary calling station continuing for an additional two clock cycles. Therefore, the WAIT signal actually introduces a delay in the state of the local bus lines, but does not change the standard protocol of the local bus. Although each request is maintained on local bus 56 for a minimum of two clock periods, a responding station can respond to the request at any time after it is received. In other words, a responding station can respond as quickly as one clock cycle after applying a request (zero cycle delay) even though the calling station (the primary or secondary processor) is still creating or maintaining the request.

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 Anforde­ rungsphase hat und nur die Antwortphase durch Ausdehnen über die eingefügten Zeitverzögerungen beeinflußt. So beginnt bei­ spielsweise gemäß Darstellung in Fig. 16 die Anforderungsphase der zweiten Busoperation der primären rufenden Station während desjenigen Taktzyklus, bei dem die Antwortphase einer vorher­ gehenden Busoperation beendet werden sollte. Wenn ein WAIT-Si­ gnal 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 Bus­ operation entsprechend ausgedehnt werden. Ein Anlegen des WAIT-Signals während des ersten Taktzyklus der Antwortphase (des letzten Taktzyklus der Anforderung) führt zu einer Ver­ zögerung in der Antwort der antwortenden Station bis zum Takt­ zyklus, 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 (ie during the second clock cycle) has no influence on the special request phase and only affects the response phase by extending over the inserted time delays. For example, as shown in FIG. 16, the request phase of the second bus operation of the primary calling station begins during the clock cycle at which the response phase of a previous bus operation should be ended. If a WAIT signal has resulted in the response phase of the previous bus operation being delayed by an additional or several clock cycles, the request phase of the second bus operation will be extended accordingly. Applying the WAIT signal during the first clock cycle of the response phase (the last clock cycle of the request) leads to a delay in the response of the answering station until 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 develop or apply the WAIT signal during a response phase of a given bus operation.

Fig. 17 stellt die Verwendung des WAIT-Signals durch eine antwortende Station während der Antwortphase sowie die erfin­ dungsgemäßen Ausnahmezyklen dar. Wie gezeigt ist, hat die primäre rufende Station eine Anforderung (Adreß- und Befehls­ information) auf die Adreßleitungen 300 und die Befehlsleitun­ gen 310 gegeben. Da kein WAIT-Signal während des ersten Takt­ zyklus der Anforderung des Primärprozessors anstand, dauerte die Anforderungsphase nur die Minimalzeit von zwei Taktzyklen. Fig. 17 illustrates the use of the WAIT signal by a responding station during the response phase as well as the OF INVENTION to the invention except cycles. As shown, the primary calling station has gen a request (address and command information) to the address lines 300 and the Befehlsleitun 310 given. Since there was no WAIT signal during the first clock cycle of the primary processor's request, the request phase only lasted the minimum time of two clock cycles.

Die antwortende Station legte in Abhängigkeit von der Anforde­ rung das WAIT-Signal während des ersten Taktzyklus der Ant­ wortphase (letzter Taktzyklus der Anforderungsphase) an, wo­ durch allen Bus-Stationen angezeigt wird, daß die angeforderte Busoperation solange nicht durchgeführt wird, bis das WAIT-Si­ gnal abgenommen ist, und daß alle anderen Busfunktionen ent­ sprechend 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 ge­ winnen 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 rufen­ den 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 wur­ den, eingelesen und die Schreiboperation von der antwortenden Station beendet worden ist.Depending on the request, the answering station applied the WAIT signal during the first clock cycle of the response phase (last clock cycle of the request phase), where it is indicated by all bus stations that the requested bus operation is not carried out until the WAIT -Si signal is removed, and that all other bus functions are delayed accordingly. In the example, the answering station required only one cycle as an access delay to acquire data to be read by the primary calling station and simultaneously took the WAIT signal when its response to data lines 315 was asserted. The decrease in the WAIT signal during the response phase signals the call to the station either that the read data on the local bus is valid and can be scanned or that the "write data" entered by the calling station is read in and the write operation has been ended by the answering station.

Wie in Fig. 17 dargestellt, muß eine antwortende Station die rufende Station (Prozessor) von jedem Fehler oder jeder Aus­ nahme in Bezug auf die ausgegebene Anforderungsphase während der ersten Datenübertragungsperiode der Antwortphase unter­ richten. Mit anderen Worten, bei dem beschriebenen Ausfüh­ rungsbeispiel werden alle Ausnahmen für eine Anforderung wäh­ rend 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 ange­ zeigt. Ausnahmen für Daten werden während des dem Anlegen der Daten auf den Datenbus 315 unmittelbar folgenden Taktzyklus berichtet (Fig. 17).As shown in Fig. 17, a responding station must notify the calling station (processor) of any error or exception related to the request phase issued during the first data transfer period of the response phase. In other words, in the exemplary embodiment described, all exceptions for a request are reported during the first data transmission period of the response phase. If a WAIT signal is not present during the last clock cycle of the request phase, an exception for this request phase is indicated in this last clock cycle. Exceptions to data are reported during the clock cycle immediately following the application of data to data bus 315 ( Fig. 17).

Fig. 18 und 21 zeigen das erfindungsgemäße Ausnahmebericht­ protokoll für Anforderungen, Daten sowie "Fortsetzungs"-Aus­ nahmen. Wie in Fig. 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 Anfor­ derungsphase, die beispielsweise von einer primären rufenden Station 40 angelegt ist, während der ersten Datenübertragungs­ periode der Antwortphase der rufenden Station berichtet. In ähnlicher Weise werden Ausnahmen für Daten, die an die Daten­ leitungen 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ühren­ den rufenden Stationen berichtet. Das AERR-Signal zeigt an, daß die an den Datenbus angelegten Daten nicht von der erwar­ teten antwortenden Station angenommen worden sind und zeigt, daß in Wirklichkeit ein Fortsetzungsfehler (d. h. ein eine physikalische Grenze (Überlauf) darstellender Fehler) aufge­ treten ist. Ein Fortsetzungsfehler kann im Falle von Block­ übertragungen auftreten, wenn die antwortende Station die Antworter-Datenadresse nach jeder Operation weiterschaltet und den zulässigen Adreßbereich der antwortenden Station über­ schreitet. In einem solchen Falle zeigt die antwortende Sta­ tion der rufenden Station an, daß ein Fortsetzungsfehler auf­ getreten ist. Diese geschieht durch Ansteuerung der AERR-Lei­ tung während der Periode, in der die angeforderten Daten gül­ tig sein sollten. Daher werden alle Fortsetzungsfehler gleich­ zeitig 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übertrags­ anforderung vorgelegen hat. Wenn ein WAIT-Signal angelegt worden ist, wird diese Periode entsprechend verzögert. FIGS. 18 and 21 report the exception to the invention showing protocol for requests, data, and "continue" -From increased. As shown in FIG. 14, control lines 320 include address error (AERR) and data error (DERR) lines located between all stations on local bus 56 . As previously described, exceptions for a request phase, for example created by a primary calling station 40 , are reported during the first data transmission period of the answering phase of the calling station. Similarly, exceptions for data applied to data lines 315 are reported during the clock cycle immediately following data application. According to the invention, continuation exceptions on the address error signal line (AERR) are reported to the calling stations via the local bus to which the bus operation is being carried out. The AERR signal indicates that the data applied to the data bus has not been accepted by the expected answering station and shows that in reality a continuation error (ie an error representing a physical limit (overflow)) has occurred. A continuation error can occur in the case of block transmissions if the answering station switches on the answering data address after each operation and exceeds the permissible address range of the answering station. In such a case, the answering station indicates to the calling station that a continuation error has occurred. This is done by controlling the AERR line during the period in which the requested data should be valid. Therefore, all continuation errors are reported simultaneously with the clock cycle in which the data would otherwise be valid. Continuation errors can also be reported by a responding station that does not take over block transfers when there is a block transfer request. If a WAIT signal has been applied, this period is delayed accordingly.

Im folgenden wird auf Fig. 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 Antwort­ phase der vorhergehende Busoperation gezeigt ist. Bei dem beschriebenen Beispiel gibt der primäre Prozessor 40 seine erste Anforderungsphase auf die Adreß- und Befehlsleitungen. Die primäre rufende Station (Prozessor) 40 kann ihre zweite Busoperation unmittelbar nach Beendigung der laufenden Anfor­ derungsphase einleiten, wenn die erste Busoperation keine Blockübertragung ist. Wenn die erste Busoperation eine Block­ übertragung ist, kann die zweite Busoperation bis zu demjeni­ gen Taktzyklus nicht eingeleitet werden, bei dem die letzte Datenübertragungsperiode der ersten Busoperation erwartet wird.Referring now to FIG. 19, the ability of local bus 56 to "pipeline" is shown by allowing a request phase of a bus operation of a given calling station to overlap with the response phase of the previous bus operation. In the example described, the primary processor 40 places its first request phase on the address and command lines. The primary calling station (processor) 40 may initiate its second bus operation immediately after the current request phase has ended if the first bus operation is not a block transfer. If the first bus operation is a block transfer, the second bus operation cannot be initiated until the clock cycle at which the last data transfer period of the first bus operation is expected.

Fig. 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, be­ legt der sekundäre Prozessor 57 die BUS REQ-Leitung während der Anforderungsphase der primären rufenden Station. Die pri­ mä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 Anfor­ derungsphase der sekundären rufenden Station 57 an dem Takt­ zyklus, der dem Taktzyklus folgt, bei dem BUS ACK von der primären rufenden Station 40 gesetzt ist. Fig. 20 shows the case where the primary calling station 40 has gained access to the local bus 56 and the secondary calling station 57 has requested bus access. As shown, the secondary processor 57 seizes the BUS REQ line during the request phase of the primary calling station. The primary calling station must not release the local bus for the secondary calling station before the clock cycle following the end of its response phase. As shown, the request phase of the secondary calling station 57 begins on the clock cycle that follows the clock cycle at which BUS ACK is set by the primary calling station 40 .

Fig. 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 Sta­ tion die Belegung des Bus an die primäre rufende Station zu­ rückgeben kann, der dem letzten Taktzyklus ihrer Antwortphase folgende Taktzyklus. Dies wird dadurch erreicht, daß die se­ kundäre antwortende Station 57 ihr BUS REQ-Signal zurücksetzt. Im folgenden Taktzyklus muß die primäre rufende Station 40 das BUS ACK-Signal rücksetzen bzw. löschen und kann die Anforde­ rungsphase einer neuen Busoperation beginnen. Fig. 20 also shows the time at which the secondary calling station 57 releases the cables after their response phase for the primary calling station 40. As indicated, the earliest time at which the secondary calling station can return bus occupancy to the primary calling station is the clock cycle following the last clock cycle of its response phase. This is achieved in that the secondary answering station 57 resets its BUS REQ signal. In the following clock cycle, the primary calling station 40 must reset or clear the BUS ACK signal and can begin the request phase of a new bus operation.

Bei dem in Fig. 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 Datenlei­ tungen 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 40 has set the WAIT signal during the first clock cycle of the response phase of the secondary calling station, thereby delaying data creation for an additional clock cycle. Resetting or clearing the WAIT signal in the following cycle indicates that "read" data on the data lines is valid and must be accepted by the requesting station. The WAIT signal is also used to introduce the one-stroke delay in the response phase of the bus operation of the secondary answering 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 rufen­ den 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. 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 frei­ zugeben, bis ihr zugehöriger Satz von gegenseitig exklusiven Busoperationen abgeschlossen und LOCK rückgesetzt bzw. ge­ löscht ist. Wie in Fig. 22 gezeigt ist, besteht die Wirkung des LOCK-Signals im Aufruf einer gegenseitig Ausschlußbedin­ gung, die es einer vorgegebenen Busstation ermöglicht, eine Folge von Busoperationen mit einer antwortenden Station durch­ zuführen, ohne daß eine andere rufende Station in der Zwi­ schenzeit diese antwortende Station benutzen kann. Wenn der lokale Bus 56 Multiport-Antwortstationen aufweist, erfordert die gegenseitige Ausschlußfunktion eine Aussperrung aller nicht-lokalen Busports.In addition to the WAIT control signal, the local bus 56 contains other control lines, e.g. B. LOCK, which is a signaling mechanism by which mutually exclusive bus operations can be forced. The LOCK signal is input from a calling station and received by all answering stations coupled to local bus 56 . The LOCK signal can be set by the calling station, which has or has access to the bus at a predetermined time. All responding stations must monitor the LOCK signal, and if they are involved in the bus operation when LOCK is set, they must lock or lock and lock non-local bus ports until LOCK is reset. It is the responsibility of both the primary and the secondary calling stations not to give up their bus assignment until their associated set of mutually exclusive bus operations has been completed and LOCK has been reset or deleted. As shown in Fig. 22, the effect of the LOCK signal is to invoke a mutual exclusion condition that enables a given bus station to perform a series of bus operations with a responding station without another calling station in the meantime can use this answering station. If the local bus has 56 multiport answering stations, the mutual exclusion function requires that all non-local bus ports be locked out.

Obwohl Fig. 15 bis 22 unter Bezugnahme auf eine primäre oder sekundäre Station, die auf Daten einer Speicherressource 54 o. dgl. zugreifen und Daten aus dieser Ressource erhalten, beschrieben worden sind, ist klar, daß das gleiche Datenüber­ tragungsprotokoll auch für den Fall Verwendung finden kann, bei der eine rufende Station (Prozessor) Daten in eine Spei­ cherressource 54, einen Prozessor oder eine andere Datenverar­ beitungseinrichtung schreibt. Im Falle einer Schreiboperation kann eine antwortende Station durch Verwendung des WAIT-Si­ gnals Pausen innerhalb des Buszustandes einführen, so daß Puffer zugeordnet und Daten empfangen und nach Fehlern über­ prü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 Fig. 21).Have been described though FIG. 15 to 22 with reference to a primary or secondary station, the data of a memory resource 54 o. The like. Access and data obtained from this resource, it is clear that the same data transmission protocol also for the case using can find, where a calling station (processor) writes data to a storage resource 54 , a processor or other data processing device. In the event of a write operation, a responding station can use the WAIT signal to introduce pauses within the bus state so that buffers can be allocated and data can be received and checked for errors. The requesting station, which inputs data during a write operation, must extend the data input to the next clock cycle if the WAIT signal is also set in that clock cycle (see Fig. 21).

Wie die obige Beschreibung gezeigt hat, stellt die Erfindung eine besondere Systembus-Architektur und Datenübertragungspro­ tokolle 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 Verarbeitungsein­ heiten, globalen Speichern oder anderen Datenverarbeitungs­ gerä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 Hochgeschwin­ digkeits-Parallelbus großer Bandbreite zur Datenübertragung zwischen einem primären Prozessor und einer Vielzahl lokaler Ressourcen 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 that were previously unknown in the prior art. The parallel bus 35 according to the invention allows large data transfers at high speed between coupled to the bus stations or subscribers, for example, data transfers between Verarbeitungsein units, devices, global memories or other data processing. Similarly, the serial bus 37 according to the invention enables effective message transmission between stations or subscribers within the bus structure, as a result of which message passing traffic on the parallel bus 35 is eliminated. In addition, the local bus 56 provides a high bandwidth, high bandwidth parallel bus for data transfer between a primary processor and a variety of local resources without affecting the available bandwidth of other system buses.

Claims (22)

1. Verfahren zur Datenübertragung in einer Mehrfachbus­ struktur zwischen mehreren Datenverarbeitungsgeräten ("Statio­ nen") mit einer rufenden Station und einer antwortenden Station über einen Befehlsleitungen und Adreß/Daten-Leitungen aufweisenden Parallelbus,
dadurch gekennzeichnet,
daß ein Befehl über mit jeder der Stationen verbundene Be­ fehlsleitungen von der rufenden Station zur antwortenden Sta­ tion übertragen wird, wobei der Befehl eine von der antworten­ den Station auszuführende Funktion angibt,
daß Adreßinformationen über mit jeder der Stationen verbun­ dene Adreß/Daten-Leitungen von der rufenden Station zur antwor­ tenden Station übertragen werden,
daß ein von der rufenden Station gesendetes Rufer-Bereit REQ_RDY-Signal an erste ausgewählte Leitungen der Befehlslei­ tungen angelegt wird,
daß ein von der antwortenden Station gesendetes Antworter- Bereit REPLY_RDY-Signal an zweite ausgewählte Leitungen der Befehlsleitungen angelegt wird,
daß Daten an die Adreß/Daten-Leitungen angelegt werden, und daß die Daten nur bei Anliegen sowohl des REQ_RDY-Signals als auch des REPLY_RDY-Signals als gültig gewertet werden, und daß die Signale REQ_RDY und REPLY_RDY weggenommen werden, sobald die Daten von den Adreß/Daten-Leitungen latch-gespeichert wurden.
1. Method for data transmission in a multiple bus structure between several data processing devices ("stations") with a calling station and a responding station via a parallel bus having command lines and address / data lines,
characterized,
that a command is transmitted via command lines connected to each of the stations from the calling station to the answering station, the command indicating a function to be performed by the answering station,
that address information is transmitted via address / data lines connected to each of the stations from the calling station to the answering station,
that a caller ready REQ_RDY signal sent by the calling station is applied to first selected lines of the command lines,
that an answer ready REPLY_RDY signal sent by the answering station is applied to second selected lines of the command lines,
that data is applied to the address / data lines, and that the data are only considered valid if both the REQ_RDY signal and the REPLY_RDY signal are present, and that the REQ_RDY and REPLY_RDY signals are removed as soon as the data is removed from the Address / data lines were latched.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß bei Anlegen neuer Daten an die Adreß/Daten-Leitungen und erneu­ tem Anlegen der Signale REQ_RDY und REPLY_RDY zusätzliche Daten zwischen der rufenden und der antwortenden Station übertragen werden.2. The method according to claim 1, characterized in that when creating new data on the address / data lines and again  Creation of the signals REQ_RDY and REPLY_RDY additional data transmitted between the calling and answering station will. 3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeich­ net, daß von der rufenden Station ein Zyklusendsignal (EOC) er­ zeugt und grundsätzlich gleichzeitig mit dem REQ_RDY-Signal an ausgewählte Befehlsleitungen angelegt wird, wenn keine weiteren Datenübertragungen zwischen der rufenden und der antwortenden Station stattfinden sollen.3. The method according to claim 1 or 2, characterized net that from the calling station an end of cycle signal (EOC) testifies and basically at the same time as the REQ_RDY signal selected command lines is created if no more Data transfers between the calling and the answering Station should take place. 4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch ge­ kennzeichnet, daß der Zugriff zum Parallelbus zwischen Statio­ nen durch einen Entscheidungsschritt bestimmt wird.4. The method according to any one of claims 1 to 3, characterized ge indicates that access to the parallel bus between Statio is determined by a decision step. 5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß in dem Entscheidungsschritt ein Busanforderungssignal (BUS_REQ) von einer rufenden Station erzeugt und an eine mit jeder Sta­ tion des Parallelbus gekoppelte Busanforderungsleitung angelegt wird.5. The method according to claim 4, characterized in that in the decision step a bus request signal (BUS_REQ) generated by a calling station and sent to one with each sta tion of the parallel bus coupled bus request line created becomes. 6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß bei dem Entscheidungsschritt außerdem von der rufenden Station ein einer speziellen Entscheidungsnummer entsprechender Digi­ talcode an einen Entscheidungsbus angelegt wird, wobei die Ent­ scheidungsnummer eine relative Priorität für den Zugriff zu dem Parallelbus bezeichnet.6. The method according to claim 5, characterized in that in the decision step also from the calling station a digi corresponding to a special decision number Talcode is applied to a decision bus, the Ent divorce number a relative priority for access to the Designated parallel bus. 7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß eine rufende Station unabhängig von ihrer Entscheidungsnummer­ priorität dadurch ein Zugriffsvorrecht zum Parallelbus erhält, daß ein Prioritätsvorzugssignal an eine mit jeder der Stationen gekoppelte Prioritätsvorzugsleitung angelegt wird. 7. The method according to claim 6, characterized in that a calling station regardless of its decision number priority is given priority access to the parallel bus, that a priority signal to one with each of the stations coupled priority priority line is created.   8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch ge­ kennzeichnet, daß im Falle eines Datenübertragungsfehlers ein Ausnahmesignal von der antwortenden Station erzeugt und an mit den Stationen gekoppelte Ausnahmeleitungen angelegt wird, wo­ durch der Datenübertragungszyklus abgebrochen wird.8. The method according to any one of claims 1 to 7, characterized ge indicates that in the event of a data transmission error Exception signal generated by the answering station and on with Exception lines coupled to the stations are created where is canceled by the data transfer cycle. 9. Hochgeschwindigkeits-Parallelbusstruktur zur Durchfüh­ rung des Verfahrens nach einem der Ansprüche 1 bis 8,
dadurch gekennzeichnet,
daß alle Stationen (25, 26, 30) über Adreß- und Dateninfor­ mationen zwischen den Stationen übertragende Adreß/Datenleitungen (60) miteinander verbunden sind;
daß ferner alle Stationen über Befehlsleitungen (68) mit­ einander verbindbar sind, wobei die Befehlsleitungen nach dem Übertragen eines Befehls von einer rufenden zu einer antworten­ den Station zum Übertragen von Bereit-Signalen vorgesehen sind, wobei die rufende Station der antwortenden Station (30) ein Ru­ fer-Bereit REQ_RDY-Signal sendet, das der antwortenden Sta­ tion die Bereitschaft der rufenden Station zum Fortfahren mit der durch den Befehl bezeichneten Datenoperation anzeigt und die antwortende Station (30) ein Antworter-Bereit REPLY_RDY- Signal senden kann, das der rufenden Station die Bereitschaft der antwortenden Station zur Datenoperation anzeigt, und
wobei die über die Adreß/Datenleitungen (60) zu übertragen­ den Daten nur dann als gültig gewertet werden, wenn sowohl das REQ_RDY-Signal als auch das REPLY_RDY-Signal angelegt sind; und daß Nachrichtensteuereinrichtungen (44), die zum Anschluß der Stationen an den Parallelbus (35) vorgesehen sind, mit je­ der der Stationen (25, 26, 30) gekoppelt sind.
9. High-speed parallel bus structure for carrying out the method according to one of claims 1 to 8,
characterized,
that all stations ( 25 , 26 , 30 ) via address and data information between the stations transmitting address / data lines ( 60 ) are interconnected;
that further all stations can be connected to one another via command lines ( 68 ), the command lines being provided for transmitting ready signals after the transmission of a command from a calling to a responding station, the calling station of the answering station ( 30 ) being one Send ready REQ_RDY signal which indicates to the answering station that the calling station is ready to continue with the data operation designated by the command and the answering station ( 30 ) can send a reply ready REPLY_RDY signal to the calling station indicates the readiness of the responding station for data operation, and
wherein the data to be transmitted via the address / data lines ( 60 ) are only considered valid if both the REQ_RDY signal and the REPLY_RDY signal are applied; and that message control devices ( 44 ) which are provided for connecting the stations to the parallel bus ( 35 ) are coupled to each of the stations ( 25 , 26 , 30 ).
10. Parallelbusstruktur nach Anspruch 9, dadurch gekenn­ zeichnet, daß die Nachrichtensteuereinrichtungen (44) Entschei­ dungsmittel (84) zur Zuweisung des Parallelbusses (35) zu den beteiligten Stationen (25, 26, 30) aufweisen. 10. Parallel bus structure according to claim 9, characterized in that the message control devices ( 44 ) decision means ( 84 ) for assigning the parallel bus ( 35 ) to the participating stations ( 25 , 26 , 30 ). 11. Parallelbusstruktur nach Anspruch 9 oder 10, dadurch gekennzeichnet, daß die Nachrichtensteuereinrichtungen (44) jeder Station (25, 26, 30) außerdem Mittel zur Erzeugung eines Zyklusendsignals EOC im wesentlichen gleichzeitig mit dem REQ_RDY-Signal aufweisen, wobei das EOC-Signal in dem Falle er­ zeugbar ist, daß über den laufenden Übertragungszyklus hinaus keine weiteren Datenübertragungen zwischen den rufenden und antwortenden Stationen (25 und 30) vorgesehen sind.11. A parallel bus structure according to claim 9 or 10, characterized in that the message control devices ( 44 ) of each station ( 25 , 26 , 30 ) also have means for generating a cycle end signal EOC substantially simultaneously with the REQ_RDY signal, the EOC signal in in the event that it is conceivable that no further data transmissions between the calling and answering stations ( 25 and 30 ) are provided beyond the current transmission cycle. 12. Parallelbusstruktur nach einem der Ansprüche 10 bis 11, dadurch gekennzeichnet, daß die Entscheidungsmittel (84) eine Einrichtung zur Erzeugung eines Busanforderungssignals (BREQ) und zum Anlegen dieses Signals an mit jeder Station (25, 26, 30) an diesem Parallelbus (35) gekoppelte Busanforderungslei­ tungen (66) aufweisen.12. Parallel bus structure according to one of claims 10 to 11, characterized in that the decision means ( 84 ) means for generating a bus request signal (BREQ) and for applying this signal to each station ( 25 , 26 , 30 ) on this parallel bus ( 35 ) have coupled bus request lines ( 66 ). 13. Parallelbusstruktur nach einem der Ansprüche 10 bis 12, dadurch gekennzeichnet, daß die Entscheidungsmittel (84) einen Entscheidungscodegenerator enthalten, der einen der speziellen Entscheidungsnummer entsprechenden Digitalcode für jede Station (25, 26, 30) an Entscheidungsleitungen (62) anlegt, wobei jede Entscheidungsnummer eine relative Priorität für den Zugriff zu dem Parallelbus (35) bezeichnet.13. Parallel bus structure according to one of claims 10 to 12, characterized in that the decision means ( 84 ) contain a decision code generator which applies a digital code corresponding to the special decision number for each station ( 25 , 26 , 30 ) to decision lines ( 62 ), each Decision number denotes a relative priority for access to the parallel bus ( 35 ). 14. Parallelbusstruktur nach Anspruch 13, dadurch gekenn­ zeichnet, daß mit dem Parallelbus (35) ein Servicemodul gekoppelt ist, der jede der Stationen (25, 26, 30) mit dem speziellen digita­ len Entscheidungscode versieht, wenn der Parallelbus beaufschlagt ist.14. A parallel bus structure according to claim 13, characterized in that a service module is coupled to the parallel bus ( 35 ), which provides each of the stations ( 25 , 26 , 30 ) with the special digita len decision code when the parallel bus is loaded. 15. Parallelbusstruktur nach Anspruch 13 oder 14, dadurch gekennzeichnet, daß die Entscheidungsmittel eine Signalerzeu­ gungseinrichtung zum Anlegen eines Prioritätsvorzugssignals an eine mit jeder Station (25, 26, 30) an dem Parallelbus (35) ge­ koppelte Prioritätsvorzugsleitung (64) aufweisen, wobei die An­ ordnung so getroffen ist, daß eine das Prioritätsvorzugssignal anlegende Station unabhängig von der Entscheidungsnummernprio­ rität dieser jeweiligen Station Zugriff zum Parallelbus (35) erhält.15. A parallel bus structure according to claim 13 or 14, characterized in that the decision means have a signal generating device for applying a priority signal to a priority line ( 64 ) coupled to each station ( 25 , 26 , 30 ) on the parallel bus ( 35 ), the An arrangement is made in such a way that a station applying the priority signal receives access to the parallel bus ( 35 ) regardless of the decision number priority of this particular station. 16. Parallelbusstruktur nach Anspruch 15, dadurch gekenn­ zeichnet, daß eine rufende Station (25) die Adresse einer ant­ wortenden Station (30) auf die Adreß/Daten-Leitungen (60) im wesentlichen gleichzeitig mit dem Anlegen eines Befehls für die antwortende Station (30) an die Befehlsleitungen (68) gibt.16. Parallel bus structure according to claim 15, characterized in that a calling station ( 25 ) the address of an answering station ( 30 ) on the address / data lines ( 60 ) substantially simultaneously with the creation of a command for the answering station ( 30 ) to the command lines ( 68 ). 17. Parallelbusstruktur nach einem der Ansprüche 9 bis 16, dadurch gekennzeichnet, daß an die Adreß/Daten-Leitungen (60) Daten anlegbar sind, sobald die antwortende Station (30) den Befehl über die Befehlsleitungen (68) empfangen hat und die Be­ fehlsleitungen neu zugeteilt sind.17. Parallel bus structure according to one of claims 9 to 16, characterized in that data can be applied to the address / data lines ( 60 ) as soon as the answering station ( 30 ) has received the command via the command lines ( 68 ) and the command lines are reallocated. 18. Parallelbusstruktur nach einem der Ansprüche 9 bis 17, dadurch gekennzeichnet, daß die antwortende Station (26, 30) Ausnahmesignal-Erzeugungsmittel zum Senden eines Ausnahmesi­ gnals für die rufende Station (25) über mit jeder Station (25, 26, 30) gekoppelte Ausnahmeleitungen (70) aufweist, wobei das Ausnahmesignal im Falle eines Datenübertragungsfehlers erzeugt wird und zu einem Abbruch des Datenübertragungszyklus führt.18. Parallel bus structure according to one of claims 9 to 17, characterized in that the answering station ( 26 , 30 ) exception signal generating means for sending an exception signal for the calling station ( 25 ) coupled to each station ( 25 , 26 , 30 ) Exception lines ( 70 ), wherein the exception signal is generated in the event of a data transmission error and leads to an abort of the data transmission cycle. 19. Parallelbusstruktur nach einem der Ansprüche 9 bis 18, dadurch gekennzeichnet, daß die rufende Station (25) einen Pri­ märprozessor (40) aufweist, der eine Nachrichtenanforderung er­ zeugt und die Anforderung an die Nachrichtensteuereinrichtung (44) der rufenden Station leitet, welche die Anforderung zur Übertragung über den Parallelbus (35) einkapselt.19. Parallel bus structure according to one of claims 9 to 18, characterized in that the calling station ( 25 ) has a primary processor ( 40 ) which generates a message request and the request to the message control device ( 44 ) of the calling station which directs the Encapsulated request for transmission via the parallel bus ( 35 ). 20. Parallelbusstruktur nach Anspruch 19, dadurch gekenn­ zeichnet, daß die Einkapselung die Addition einer die spezielle Nachrichtenanforderung identifizierenden Verbindungsnummer ent­ hält.20. Parallel bus structure according to claim 19, characterized  records that the encapsulation is the addition of a special one Entity identifying connection request ent holds. 21. Parallelbusstruktur nach Anspruch 19 oder 20, dadurch gekennzeichnet, daß die eingekapselte Anforderung von der Nach­ richtensteuereinrichtung (44) der antwortenden Station aufge­ nommen und über einen internen Bus zu einem Prozessor der ant­ wortenden Station übertragen wird.21. A parallel bus structure according to claim 19 or 20, characterized in that the encapsulated request from the message control device ( 44 ) of the answering station is accepted and transmitted via an internal bus to a processor of the answering station. 22. Parallelbusstruktur nach einem der Ansprüche 19 bis 21, dadurch gekennzeichnet, daß der Prozessor der antwortenden Sta­ tion eine Antwort auf die empfangene Nachrichtenanforderung er­ zeugt und an die Nachrichtensteuereinrichtung (44) der ant­ wortenden Station leitet, welche die Antwort einkapselt und eine die spezielle Antwort identifizierende zweite Verbindungs­ nummer hinzufügt.22. A parallel bus structure according to one of claims 19 to 21, characterized in that the processor of the answering station generates a response to the received message request and forwards it to the message control device ( 44 ) of the answering station, which encapsulates the response and a special one Add answer-identifying second connection number.
DE19853500254 1985-01-05 1985-01-05 High speed parallel bus structure and method for data transmission Expired - Fee Related DE3500254C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19853500254 DE3500254C2 (en) 1985-01-05 1985-01-05 High speed parallel bus structure and method for data transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19853500254 DE3500254C2 (en) 1985-01-05 1985-01-05 High speed parallel bus structure and method for data transmission

Publications (2)

Publication Number Publication Date
DE3500254A1 DE3500254A1 (en) 1986-07-10
DE3500254C2 true DE3500254C2 (en) 1997-01-09

Family

ID=6259332

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19853500254 Expired - Fee Related DE3500254C2 (en) 1985-01-05 1985-01-05 High speed parallel bus structure and method for data transmission

Country Status (1)

Country Link
DE (1) DE3500254C2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19649258C2 (en) * 1996-11-28 2002-11-14 Lucent Tech Network Sys Gmbh Bus system and method for data transmission
CN117971439A (en) * 2024-03-29 2024-05-03 山东云海国创云计算装备产业创新中心有限公司 Task processing method, system, equipment and computer readable storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4038644A (en) * 1975-11-19 1977-07-26 Ncr Corporation Destination selection apparatus for a bus oriented computer system

Also Published As

Publication number Publication date
DE3500254A1 (en) 1986-07-10

Similar Documents

Publication Publication Date Title
DE2854485C2 (en) Data processing system
DE69934124T2 (en) METHOD AND DEVICE FOR REVIEWING, FAILING AND RESTORING AN INPUT / OUTPUT CONNECTION IN A COMPUTER NETWORK
DE60111551T2 (en) MECHANISM FOR COMPLETING MESSAGES IN THE STORAGE
DE3546683C3 (en) Method for operating a data processing system
DE2913288C2 (en) Multiprocessor system with a large number of processor modules
DE3043894C2 (en)
DE2652303C2 (en) Data processing system consisting of several subsystems
DE3642324C2 (en) Multiprocessor system with processor access control
EP0179936B1 (en) Method and apparatus for global bus control
DE2557896C2 (en) Data packet switching system
DE2162806C2 (en) Memory control unit for simplified buffering of requests from the input / output channels
DE69735740T2 (en) ASYNCHRONE PACKAGE TRANSMISSION
DE69533230T2 (en) METHOD AND DEVICE FOR IMPROVING THE ERROR TOLERANCE OF A NETWORK
DE69133518T2 (en) Communication Interface
DE69433293T2 (en) Network transfer method for systems with virtual memory
DE2212501C2 (en) Device for the transmission of asynchronous, digital signals
DE69935065T2 (en) DATA TRANSFER CONTROL AND ELECTRONIC DEVICE
DE3114961A1 (en) DATA PROCESSING SYSTEM
DE3933361A1 (en) DEVICE AND METHOD FOR QUEUEING REQUIREMENTS AND ANSWERS ON A PIPELINE PACKAGE BUS
DE2230830A1 (en) DATA PROCESSING SYSTEM
DE2856483A1 (en) CONNECTION UNIT FOR DATA PROCESSING SYSTEMS
DE69735546T2 (en) PACKAGE-LEADED GUIDANCE ARCHITECTURE FOR MULTIPLE SIMULTANEOUS CONNECTIONS
DE3500254C2 (en) High speed parallel bus structure and method for data transmission
EP1370952B1 (en) Communication method for establishing event channels in a timed communication system
DE102005062575A1 (en) Method and device for transmitting data via a data connection from a sender to a receiver by means of packets

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: RADISYS CORP., BEAVERTON, OREG., US

8339 Ceased/non-payment of the annual fee