DE69029648T2 - Hochleistungsschnittstelle für anteilig genutzten Hauptspeicher - Google Patents

Hochleistungsschnittstelle für anteilig genutzten Hauptspeicher

Info

Publication number
DE69029648T2
DE69029648T2 DE69029648T DE69029648T DE69029648T2 DE 69029648 T2 DE69029648 T2 DE 69029648T2 DE 69029648 T DE69029648 T DE 69029648T DE 69029648 T DE69029648 T DE 69029648T DE 69029648 T2 DE69029648 T2 DE 69029648T2
Authority
DE
Germany
Prior art keywords
units
data bus
unit
slave unit
master
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
DE69029648T
Other languages
English (en)
Other versions
DE69029648D1 (de
Inventor
Richard Glenn Eikill
Sheldon Bernard Levenstein
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE69029648D1 publication Critical patent/DE69029648D1/de
Publication of DE69029648T2 publication Critical patent/DE69029648T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • 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

Landscapes

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

Description

  • Die vorliegende Erfindung bezieht sich auf Informationsverarbeitungssysteme, in denen eine Vielzahl von Verarbeitungs- und Speichereinheiten anteilig einen gemeinsamen Datenbus benutzen und insbesondere auf Anordnungen, um die Steuerung des Datenbusses unter den Einheiten aufzuteilen, die diesen anteilig nutzen. Die Erfindung ist besonders gut zur Nutzung mit "intelligenten" Schnittstellen geeignet, die von einem Prozessor benutzt werden, der eine Datenanforderung (einschließlich Befehls- und Adreßinformation) an eine der vielen Speicherkarten des Hauptspeichers sendet, nachdem der anfordernde Prozessor auf eine Rücksendung der Daten wartet.
  • Jüngste Entwicklungen in Computersystemarchitekturen tendieren in Richtung von größeren Hauptspeichern, mehreren Prozessoren, die einen Datenbus, der sie mit dem Hauptspeicher verbindet, anteilig nutzen und höheren Betriebsgeschwindigkeiten in den eigentlichen Prozessoren. Alle diese Trends fordern eine effizientere Übertragung der steigenden Anzahl von Daten zwischen den Prozessoren und dem Hauptspeicher und verlangen dadurch ein verbessertes Schnittstellendesign.
  • Eine solche Verbesserung enthält die Bereitstellung von separaten Datenbussen oder Datenbussegmenten in der Schnittstelle. US Patentschrift Nr. 4.375.639 (Johnson, Jr.) beschreibt eine synchrone Buszuteilungsanordnung, in der ein Kommunikationsbus einen Datenbusteil mit parallelen Datenbusleitungen, einen Adreßbusteil und einen Steuerbusteil enthält. Ebenso beschreibt die US Patentschrift Nr. 4.561.051 (Rodman et al.) einen Speicherbus mit separaten Daten-, Adreß- und Befehlspfaden, die anteihg eine Anzahl von unabhängigen Prozessoren nutzen.
  • Systeme mit einer Vielzahl von Prozessoren enthalten normalerweise Zuteilungsschemata, um die Zugriffspriorität auf den Bus unter den Prozessoren festzulegen. Das vorerwähnte Patent von Johnson beschreibt eine Kombination von "lokalen" Signalsteuerleitungen, die zwischen einem bestimmten Bus und einem vorausblickenden Benutzer des Busses mit "gemeinsamen" Steuerleitungen gekoppelt sind, welche mit allen Einheiten in dem System verbunden sind, um die Benutzerpriorität festzulegen. In der US Patentschrift Nr. 4.719.622 (Whipple et al.) nutzen Zentralprozessoren, Speichereinheiten und andere Einheiten anteilig einen Systembus. Die Steuerung des Systembusses wird an eine Verkettungsanordnung übergeben, in der eine Einheit, die ständig den Bus steuert, die Steuerung des Busses an die nächste Einheit entlang der Kette übergibt, die auf den Bus zugreifen muß. Die US Patentschrift Nr. 4.730.268 (Mann) beschreibt ein verteiltes Zuteilungsschema, in dem eine Anzahl von Prozessoren die Bezeichnung "Haupt" Prozessor anteilig nutzen sowie die Steuerung des anteilig genutzten Daten- und Adreßbusses. Sowohl Buszugriff als auch Zuteilungsmeisterschaft werden von jedem Taktzyklus bestimmt, einem Schema, das allen Prozessoren ermöglicht, über Leitungen vollkommen miteinander verknüpft zu sein, mit dem Potential für volle (100 Prozent) Busnutzung.
  • Weitere Verfahren zur Erhöhung der Schnittstelleneffizienz enthalten eine Kombination aus einem inhaltsbezogenen Schreibpuffer und einer Steuereinheit, die in dem vorerwähnten Rodman Patent beschrieben wurde, um Prozessoren anders als ein Prozessor, der ständig in eine Lese-/Änderungs-/Schreibprozedur verwickelt ist, zu ermöglichen, Zugriff auf den Speicherbus zu erlangen. Die US Patentschrift Nr. 4.223.380 (Antonaccio et al.) beschreibt ein verteiltes Mehrprozessor-Kommunikationssystem, in dem eine Vielzahl von Prozessoren, einen Kommunikationsbus und Pufferdaten anteilig nutzen, wobei jeder Prozessor eine Kommunikationsschnittstelleneinheit hat, um Kommunikationen in dem Bus zu decodieren und eine Bestätigung an einen Absender zu übertragen, dessen Daten empfangen wurden. Demzufolge werden diese Aufgaben unabhängig von jeder Zentralprozessoreinheit bearbeitet.
  • Obwohl die vorerwähnten Verfahren die Schnittstellendatenübertragung um unterschiedliche Grade verbessert haben, bleibt ein wichtiges Problem bestehen. Der Datenbus der intelligenten Schnittstelle wird normalerweise für die Nutzung eingeplant und bleibt dann während der gesamten Datenübertragung "belegt". Die Schnittstelle wird somit während einer relativ langen Zugriffszeit auf den Speicherbereich festgelegt, die einen Systemengpaß auslöst, wenn mehrere Prozessoren die Schnittstelle anteilig nutzen.
  • Es ist deshalb ein Gegenstand der vorliegenden Erfindung eine Schnittstelle bereitzustellen, in welcher der Datenbus frei ist, um während eines Speicherbereichszugriffs, der mit einer Datenübertragung verbunden ist, andere Übertragungen durchzuführen.
  • Ein weiterer Gegenstand der Erfindung ist, ein Mittel bereitzustellen, um die Steuerung eines anteilig genutzten Datenbusses unter mehreren Prozessoren und Speichereinheiten, die den Bus anteilig nutzen, zu verteilen, während eine der Einheiten den Bus steuert, um die schnelle Übertragung der Steuerung aus der aktuellen Steuereinheit zu ermöglichen.
  • Ein weiterer Gegenstand der Erfindung ist, eine Schnittstelle zwischen mehreren Verarbeitungseinheiten und mehreren Speichereinheiten bereitzustellen, in welcher der Schnittstellenaufwand (d.h. Steuer-, Status- und Adreßinformation im Gegensatz zur Arbeitsinformation) von dem Strom der Arbeitsinformation verdeckt wird.
  • Noch ein weiterer Gegenstand ist, eine Schnittstelle zwischen einem Satz von Verarbeitungseinheiten bereitzustellen, die als Haupteinheiten konfiguriert sind und einem Satz Speichereinhei ten, die als Nebeneinheiten konfiguriert sind, in der die Datenbussteuerungslogik unter allen Einheiten in Kombination mit der Zuteilungslogik benutzt wird, um die Priorität nur unter den Haupteinheiten festzulegen, und in der die Funktion der Adreßgenerierung für den Speicherbereich in den Speichereinheiten resident ist.
  • Die Erfindung wird in den unabhängigen Ansprüchen 1 und 12 ausgeführt. Es wird ein Informationsverarbeitungssystem bereitgestellt, das eine Vielzahl von Einheiten enthält, um die bitcodierte Arbeitsinformation zu übertragen und zu empfangen. Das System enthält einen ersten Satz Einheiten, die wenigstens eine Haupteinheit enthalten, einen zweiten Satz Einheiten, die wenigstens eine Nebeneinheit enthalten und eine Schnittstelle zwischen dem ersten und dem zweiten Satz von Einheiten.
  • Die Schnittstelle enthält einen ersten Datenbus, der von den Einheiten anteilig genutzt wird, um Übertragungen der Arbeitsinf ormation zwischen dem ersten und zweiten Satz von Einheiten auszuführen. Jede der Einheiten steuert, wenn die Arbeitsinformation dem ersten Datenbus während einer der Übertragungen bereitgestellt wird, ausschließlich den ersten Datenbus.
  • Die Schnittstelle enthält außerdem ein bidirektionales Signaltransportmittel, das mit dem ersten und zweiten Satz der Einheiten verbunden ist, um ein Datenbushaltesignal von einer der Einheiten, die aktuell von dem ersten Datenbus gesteuert wird, an die anderen Einheiten zu übertragen, um eine andere Einheit an der Steuerung des ersten Datenbusses zu hindern, bis die aktuelle Steuereinheit eine der Übertragungen ausgeführt hat. Die Schnittstelle enthält außerdem ein Auswahlmittel, das mit dem ersten und dem zweiten Satz der Einheiten verbunden ist. Das Auswahlmittel ermöglicht die Übertragungen von Steuersignalen, jedes aus einer der ausgewählten Haupteinheiten an eine der ausgewählten Nebeneinheiten, um so die Übertragung der Steuerung des ersten Datenbusses an eine der Einheiten zu ermöglichen, nachdem die aktuelle Steuereinheit ihre Übertragung beendet hat. Die Steuersignale enthalten ein erstes Steuersignal, das nach Beendigung des Datenbushaltesignals funktionsfähig ist, um die Steuerung des ersten Datenbusses zu übertragen, indem der ausgewählten Haupteinheit ermöglicht wird, die Arbeitsinformation über den ersten Datenbus an eine ausgewählte Nebeneinheit zu übertragen; ein zweites Steuersignal, um einer ausgewählten Nebeneinheit zu ermöglichen, die Arbeitsinformation für die nachfolgende Übertragung von einer ausgewählten Nebeneinheit in eine ausgewählte Haupteinheit zwischenzuspeichern; und ein drittes Steuersignal, das nach Beendigung des Datenbushaltesignals funktionsfähig ist, die Steuerung des ersten Datenbusses über die ausgewählte Haupteinheit an die ausgewählte Nebeneinheit zu übergeben, um die Übertragung der zuvor zwischengespeicherten Arbeitsinformation an die ausgewählte Haupteinheit durchzuführen.
  • In dem bevorzugten Netz enthält der erste Satz Einheiten eine Vielzahl von Haupteinheiten, von denen einige Prozessoren sind, während der zweite Satz Einheiten eine Vielzahl von Nebeneinheiten enthält, von denen einige Speicherkarten sind. Das Netz enthält vorzugsweise ein Zuteilungsschema, das nur in den Haupteinheiten funktionsfähig ist, um die Priorität des generierten Steuersignals festzulegen, d.h. die Zugriffspriorität im ersten Datenbus. In diesem Zusammenhang muß es klar sein, daß die vorliegende Erfindung kein Zuteilungsschema ist, sondem eher geeignet ist, um in Kombination mit einem Zuteilungsschema genutzt zu werden, um effektiver einen anteilig genutzten Datenbus zu nutzen. Demgemäß kann das Zuteilungsschema Zuteilungslogik in jeder Haupteinheit enthalten oder einen einzigen Vermittler, der mit allen Haupteinheiten verbunden ist, in jedem Fall gemäß den Praktiken, die im Stand der Technik bekannt sind.
  • Zusammen mit dem ersten Datenbus benutzt das Netz vorteilhaft einen zweiten Datenbus, um Befehl- und Adreßinformation zu übertragen und einen dritten Datenbus, um auf Befehle empfangene Bestätigungen und andere Statusinformationen zu übertragen. Die Busse werden mit allen Einheiten verbunden und arbeiten parallel.
  • In einem besonders bevorzugten Verfahren wird das Datenbushaltesignal von einem Bewilligungstoken in einer Einzelleitung transportiert, die mit allen Einheiten verbunden ist, und die Auswahlmittel enthalten eine Vielzahl von Auswahltoken. Jeder der Auswahltoken besteht aus einer befehlsaktiven Leitung, um die ersten und zweiten Steuersignale zu übertragen, einer Rückkehrdatenleitung, um das dritte Steuersignal zu übertragen und einer Leitung "Puffer voll", um von seiner zugehörigen Nebeneinheit eine Angabe an alle Haupteinheiten zu übertragen, daß sein Speicher voll ist. Zu diesem Zweck ist jeder Auswahltoken nur mit seiner zugehörigen Nebeneinheit und mit allen Haupteinheiten verbunden.
  • Gemäß der vorliegenden Erfindung folgt die Übertragung der Steuerung an die Einheiten den Protokollen, die zu zwei Arten von Befehlen gehören: einem Speicherbefehl für die Übertragung der Arbeitsinformation von einer Haupteinheit an eine Nebeneinheit und einem Abrufbefehl zur Übertragung von Daten von einer Nebeneinheit an eine Haupteinheit. Wenn eine ausgewählte Haupteinheit einen Speicherbefehl an eine ausgewählte Nebeneinheit gibt, liefert diese gleichzeitig das erste Steuersignal. Die Arbeitsdaten werden von der Haupteinheit während des nächsten Taktzyklus an die Nebeneinheit im Arbeitsdatenbus übertragen.
  • Eine Abrufoperation enthält drei Stufen: eine Anfangsstufe, in der ein Abrufbefehl von einer ausgewählten Haupteinheit über den zweiten Datenbus an eine ausgewählte Nebeneinheit geliefert wird und gleichzeitig das erste Steuersignal an die ausgewählte Nebeneinheit gegeben wird. In der zweiten Stufe greift die Nebeneinheit für die angeforderten Daten auf ihre Speicherbereiche zu. Schließlich - als Reaktion auf das dritte Steuersignal von der Haupteinheit über die Rückkehrdatenleitung an die Nebeneinheit - steuert die Nebeneinheit den ersten Datenbus, um die angeforderte Arbeitsinformation an die Haupteinheit zu senden. Jede Speicherkarte enthält genügend Logik, um die Zugriffsanforderungen unabhängig von der Prozessorsteuerung zu verarbeiten und so den ersten Datenbus freizugeben, dämit dieser die Daten verarbeiten kann, die nicht zu der Abrufoperation gehören
  • Ein Informationsverarbeitungsnetz, das gemäß der vorliegenden Erfindung konfiguriert ist, bietet eine Anzahl von Einrichtungen, die für hohe Effizienz der anteilig genutzten Schnittstelle sorgen. Die Nutzung der Auswahl- und Bewilligungstoken, des Befehls-/Adreßbusses und des Kommunikationsbusses, alle zur Unterstützung des Arbeitsdatenbusses, verbirgt effektiv den Schnittstellenaufwand aus dem Arbeitsdatenstrom und bietet potentiell 100 Prozent Nutzung des Datenbusses bei maximaler Datenübertragungsgeschwindigkeit. Die Bewilligüngs- und Auswahltoken verteilen die Steuerung des Arbeitsdatenbusses unter allen Einheiten und die Übertragungssteuerung von diesem Bus vor seiner Benutzung. Bestimmte einfache Datenmanipulationsoperationen werden einschließlich der Speicherbereichsadreßgenerierung von den Prozessoren an die Speicherkarten verschoben. Dies erfordert einen höheren Befehlssatz, um die Speicherkarten zu steuern, reduziert jedoch die Belastung der Schnittstelle. Der separate Befehls-/Adreßbus ermöglicht die parallele Übertragung von Befehlen und Arbeitsdaten zwischen zwei einzigartigen Paaren von Einheiten. Das Ausladen von Speichersteuerungsfunktionen und einfachen Operationen in Speicherkarten ermöglicht es, den einzelnen Zyklus im Hauptspeicher zu speichern, wobei dann die Schnittstelle für weitere Übertragungen verfügbar ist, während die Speicherkarte die Speicherung beendet. Schließlich ermöglicht das Schnittstellenprotokoll Befehlen, zu überlappen, um so den Arbeitsdatenbus für weitere Übertragungen während der zweiten Abrufstufe freizugeben.
  • Die oben genannten Einrichtungen erleichtern die Nutzung des Arbeitsdatenbusses bei nahezu 100 Prozent der gesamten Schnittstelleneffizienz. Sie sorgen für Flexibilität, in dem Nebeneinheiten von verschiedenen Arten in dem gleichen Netz genutzt werden können. Eine Nebeneinheit, die mit langsamer Geschwindigkeit läuft, hält nur die Schnittstelle länger, wenn die Rückübertragung von Daten gewünscht ist. Die einzig notwendigen Bedingungen für die Schnittstelle sind, daß alle Speicherkarten die gleiche synchronisierte Zykluszeit haben müssen und kompatible Technologien für die Buslogik benutzen, d.h. Treiber und Empfänger. Das Dual-Token-Übertragungsschema verbessert wesentlich die Effizienz der Schnittstelle bei der Handhabung von mehreren Prozessoren und E/A Einheiten, die anteilig einen einzelnen Datenpfad im Hauptspeicher nutzen und somit wesentlich die Gesamtsystemleistung steigern.
  • Für ein weiteres, besseres Verständnis der oben genannten und der weiteren Einrichtungen und Vorteile wird Bezug auf die folgende ausführliche Beschreibung des bevorzugten Ausführungsbeispiels und die Zeichnungen genommen, in denen
  • Figur 1 eine schematische Darstellung eines Informationsverarbeitungsnetzes zeigt, das gemäß der vorliegenden Erfindung konfiguriert wurde;
  • Figur 2 zeigt ein ausführlicheres Schema des Netzes, das die Einrichtungen einer Schnittstelle zwischen Haupt- und Nebeneinheiten darstellt;
  • Figur 3 zeigt ein Taktdiagramm, welches das Protokoll der Schnittstelle bei Datenspeicherübertragungen darstellt;
  • Figur 4 zeigt ein Taktdiagramm, welches das Protokoll der Schnittstelle bei Rückübertragungen von Daten darstellt;
  • Figur 5 zeigt ein Taktdiagramm, das eine Speichersequenz und Datenabrufoperationen gemäß den Schnittstellenprotokollen darstellt;
  • Figur 6 zeigt ein Taktdiagramm, das eine Sequenz illustriert, die ähnlich der von Figur 5 ist, jedoch die Bestätigungseinrichtung für das in Figur 3 dargestellte Protokoll enthält; und
  • Figur 7 zeigt ein Taktdiagramm, das eine Sequenz illustriert, die ähnlich der von Figur 5 ist, jedoch mit einer Speicherkarte des belegten Netzes.
  • Wenden wir uns nun den Zeichnungen zu. In Figur 1 ist ein Informationsverarbeitungsnetz 16 dargestellt, das einen Satz Haupteinheiten, einen Satz Nebeneinheiten und eine Schnittstelle 18 zwischen den jeweiligen Sätzen enthält. Die Haupteinheit enthält eine Vielzahl von Hauptprozessoren 20. Der Satz mit Nebeneinheiten enthält den Hauptspeicher einschließlich einer Vielzahl von Speicherkarten 22. Die Nebeneinheiten enthalten außerdem eine Hilfsnebeneinheit 24, die zum Beispiel eine E/A Einheit, ein Vektorprozessor, ein Hilf sprozessor usw. sein kann. Netze wie zum Beispiel ein Netz 16 enthält eine Vielzahl von Hilfsnebeneinheiten oder alternativ keine derartigen Einheiten. In jedem Fall enthält das Netz wenigstens eine Haupteinheit und wenigstens eine Nebeneinheit.
  • Das Netz 16 ist detaillierter in Figur 2 dargestellt. Der Hauptsatz enthält "N" Prozessoren, wobei der erste bzw. der zweite Prozessor in 26 und 28 dargestellt ist. Der Prozessor 26 enthält die Zuteilunglogik 30 und der Prozessor 28 enthält die im wesentlichen identische Zuteilungslogik 32. Die restlichen Prozessoren enthalten ebenfalls die Zuteilungslogik. Jeder der Prozessoren ist mit allen restlichen Prozessoren im Punkt-zu- Punkt-Modus verbunden, d.h. mit mehreren Leitungen. Ein Satz solcher Leitungen verknüpft die Zuteilungsschaltlogik in jedem Prozessor mit der entsprechenden Schaltlogik in jedem der anderen Prozessoren. Diese Leitungen sind mit 2-N für den ersten Prozessor und 1 und 3-N für den zweiten Prozessor gekennzeichnet. Jeder der Prozessoren enthält außerdem die Schnittstellensteuerungslogik, die dazu dient, die Steuerung von Schnittstelle 18 unter den Prozessoren und Nebeneinheiten aufzuteilen, wie dies unter 34 und 36 in Verbindung mit dem Prozessor 26 bzw. 28 angegeben ist.
  • Die Verarbeitungseinheiten benutzen anteilig Schnittstelle 18 mit "X" Nebeneinheiten, von denen vier in 38, 40, 42 und 44 dargestellt sind. Die Nebeneinheit 38 enthält die Schaltlogik 46 der Schnittstellensteuerung mit den Nebeneinheiten 40-44, welche die im wesentlichen identische Schaltlogik 48, 50, 52 der Schnittstellensteuerung enthalten. Die Nebeneinheit 38 enthält außerdem die Speicherbereiche, die bei 54 angegeben sind, um die bitcodierten Daten zu speichern und einen Puffer 56 zur Zwischenspeicherung der Arbeitsdaten, die von der Schnittstelle 18 empfangen wurden und um die Daten, die aus den Bereichen wiedergewonnen wurden, für die Übertragung zu laden. Ähnliche Speicherbereiche 58, 60 und 62 und die Puffer 64, 66 und 68 sind Teil der Nebeneinheiten 40, 42 bzw. 44.
  • Die Schnittstelle 18 wird anteilig gemeinsam von allen Haupteinheiten und allen Nebeneinheiten genutzt, um die Arbeitsinformation zwischen einzelnen Haupt- und Nebeneinheiten zu übertragen, normalerweise zur Manipulation innerhalb einer Haupteinheit oder zur Speicherung innerhalb einer Nebeneinheit. Die Schnittstelle bringt außerdem die Übertragungen von Steuerungs-, Adreß- und Statusinformation unter, von denen alle die Verarbeitung der Arbeitsinformation betreffen.
  • Die Schnittstelle 18 enthält drei Busse für Datenübertragungen einschließlich einem Datenbus 70 zur Übertragung der Arbeitsinformation, einem Befehls-/Adreßbus 72 zur Übertragung von Speicher- und Abrufbefehlen, Adreßinformation und der Anzahl von enthaltenen Datenbytes sowie einen Kommunikationsbus 74 zur Übertragung der Statusinformation.
  • Die Schnittstelle 18 enthält außerdem eine Reihe von Leitungen, um die Steuerung der Schnittstelle unter den Haupt- und Nebeneinheiten zu übertragen. Diese enthalten einen Bewilligungstoken 76, bei dem es sich um eine einzelne Leitung handelt, die anteilig gemeinsam von allen Einheiten genutzt wird und eine Reihe von "X" Auswahltoken, die nur mit einer der Nebeneinheiten und mit allen Haupteinheiten verbunden ist. Der Auswahltoken, der mit der Nebeneinheit 38 verbunden ist, ist detailliert dargestellt, um darzulegen, daß dieser aus drei Leitungen besteht: einer befehlsaktiven Leitung 78, einer Rückkehrdatenleitung 80 und einer Leitung "Puffer voll" oder "Puffer belegt" 82.
  • Die Schnittstellenleitungen, welche die Auswahltoken bilden, übertragen die Datenbussteuerungssignale zwischen den Hauptund Nebeneinheiten, um die Steuerung des Datenbusses 70 unter diesen Einheiten zu übertragen. Der Bewilligungstoken 76 ist eine einzelne Leitung, die mit jedem der Haupt- und Nebeneinheiten für bidirektionale Übertragung verbunden ist. Anders ausgedrückt, jede der Haupt- und Nebeneinheiten kann entweder den Bewilligungstoken triggern oder Signale von dem Bewilligungstoken empfangen.
  • Wenn eine Einheit über den Datenbus 70 Arbeitsinformationen an eine der anderen Einheiten sendet, steuert diese den Datenbus unter Ausschließung aller anderen Einheiten. Diese Einheit, die aus Bequemlichkeit als "aktuell steuernde" Einheit bezeichnet wird, hält die Steuerung des Busses 70, indem über den Bewilligungstoken 76 ein Datenbushaltesignal an die anderen Einheiten geliefert wird. Insbesondere muß der Bewilligungstoken 76 aktiv sein, um den Auswahltoken zu ermöglichen, die Datenbussteuerung an eine der anderen Einheiten zu verschieben. Dadurch hält die aktuell steuernde Einheit die Steuerung durch Deaktivierung und hält den Bewilligungstoken inaktiv. Wenn jedoch die aktuell steuernde Einheit den letzten Zyklus von ihrer Operation erreicht, d.h. ihrer Übertragung der Arbeitsdaten, aktiviert diese Einheit den Bewilligungstoken. Dies geschieht zum Beispiel, indem der logische Pegel des Signals im Bewilligungstoken von "0" auf "1" geändert wird. Die Aktivierung des Bewilligungstokens 76 ist ein Signal für alle Einheiten, daß sich die aktuell steuernde Einheit im letzten Zyklus ihrer Operation befindet, wodurch die Schnittstelle für den folgenden Zyklus freigegeben wird. Während des letzten Zyklus der aktuellen Operation, verschieben die Auswahltoken die Steuerung des Datenbusses 70 zu einer der nächsten Einheiten, so daß die nächste Einheit sofort nach Beendigung der aktuellen Übertragung die Daten an den Datenbus 70 liefern kann.
  • Die einzelnen Leitungen, die jeden der Auswahltoken bilden, übertragen die Datenbussteuerungssignale unidirektional. Was den Auswahltoken angeht, der zum Beispiel zu der Nebeneinheit 38 gehört, so überträgt die befehlsaktive Leitung 78 für einen Speicherbef ehl ein "befehlsaktives" Signal von einer der Haupteinheiten an die Nebeneinheiten 38, indem signalisiert wird, daß einer der Haupteinheiten die Steuerung des Datenbusses für die nächste Operation bewilligt wurde. Die Rückkehrdatenleitung 80 überträgt auch ein Steuersignal von einer der Haupteinheiten an die Nebeneinheit 38, was in diesem Beispiel darauf hindeutet, daß die Steuerung des Datenbusses 70 von der ausgewählten Haupteinheit an die Nebeneinheit 38 übertragen wurde, um über den Datenbus Daten an die ausgewählte Haupteinheit zu senden.
  • Die Leitung "Speicher belegt" ist ebenfalls unidirektional, sendet jedoch ein "Speicher voll" Signal von der Nebeneinheit 38 an alle Haupteinheiten. Dieses Signal gibt an, daß die Nebeneinheit 38, normalerweise weil der Puffer 56 belegt ist, keine Befehle von einer der Haupteinheiten akzeptieren wird, weder um Daten von einer Haupteinheit zwecks Speicherung zu empfangen, noch um Daten aus Bereichen 54 in ihrem Puffer zwecks späterer Übertragung an eine ausgewählte Haupteinheit wiederzugewinnen.
  • Die verbleibenden Auswahltoken sind im wesentlichen identisch. Im allgemeinen wird jede befehlsaktive Leitung von einer Haupteinheit zu der Nebeneinheit getrieben, die nur mit dem Auswahltoken verbunden ist. Jede Rückkehrdatenleitung wird ebenso von einer ausgewählten Haupteinheit zu einer einzelnen Nebeneinheit getrieben, und die Nebeneinheit wird aufgefordert, die zuvor angeforderten Daten im folgenden Zyklus an die ausgewählte Haupteinheit zu senden. Die Datenbussteuerungssignale, die über die befehlsaktive Leitung und die Rückkehrdatenleitung geliefert werden, sind selbstverständlich nur gültig, wenn der Bewilligungstoken aktiv ist. Wenn der Bewilligungstoken von der aktuell steuernden Einheit inaktiv gehalten wird, werden solche Signale ignoriert und müssen von den ausgewählten Haupteinheiten erneut ausgegeben werden, um wirksam zu werden, wenn diese bei aktivem Bewilligungstoken ausgegeben wurden. Jede "Speicher belegt" Leitung wird von ihrer nur zu ihr gehörenden Nebeneinheit zu allen Haupteinheiten getrieben. Wenn diese Leitung aktiv ist, akzeptiert die zugehörige Nebeneinheit keine Befehle und zwar ungeachtet des Status von irgendeiner der anderen Leitungen.
  • Der Datenbus 70 ist bidirektional und die einzige Leitung für die Arbeitsinformation. Dieser sendet nur Arbeitsinformationen. Alle Haupteinheiten und Nebeneinheiten sind mit dem Bus 70 für Übertragungen verbunden, so daß jede der Einheiten den Bus 70 während der Steuerung treiben und die Arbeitsinformation über tragen kann und außerdem die Arbeitsinformation empfangen kann, die von einer anderen Einheit gesendet wird. Der Datenbus 70 ist vorzugsweise in der Lage, bis zu acht Datenbytes parallel zu übertragen, obwohl die Kapazität dieses Busses schwanken kann, um den Bedarfen der besonderen Netze zu entsprechen.
  • Der Befehls-/Adreßbus 72 überträgt die Information von einer ausgewählten Haupteinheit an eine ausgewählte Nebeneinheit. Die Information enthält einen Befehl (d.h. Speichern oder Abrufen), eine auf Bytes ausgerichtete Startadresse, in welcher sich Daten befinden oder Daten zu speichern sind, und die Länge der Adresse, welche als Menge der enthaltenen Bytes ausgedrückt wird. Die Nebeneinheiten empfangen diese Information, senden diese jedoch nicht. Die bidirektionale Verbindung der Haupteinheiten mit dem Bus 72 aktiviert jede Haupteinheit, wenn die Befehls- und Adreßinformation an den Bus 72 geliefert wird, um die anderen Haupteinheiten bezüglich Länge und Adresse des Zugriffs zu informieren.
  • Der Kommunikationsbus 74 gehört zu allen Haupt- und Nebeneinheiten und funktioniert parallel zu dem Datenbus 70 und dem Befehls-/Adreßbus 72. Der Kommunikationsbus wird von den Nebeneinheiten zu den Haupteinheiten getrieben und liefert die Kommunikationsverbindung zwischen Haupt- und Nebeneinheiten, welche die Schnittstelle mit Intelligenz ergänzen. Der Kommunikationsbus 74 funktioniert mit drei Protokollen, um die Information mit dem aktuellen Protokoll zu übertragen, das von den Datenbussteuerungssignalen bestimmt wird, die von dem vorherigen Zyklus und dem Bewilligungstoken des aktuellen Zyklus ausgegeben werden.
  • Mit dem ersten Protokoll überträgt eine Nebeneinheit, welche den Datenbus 70 steuert und die Arbeitsinformation an eine der Haupteinheiten überträgt, gleichzeitig die Statusinformation an diese Haupteinheit. Die Statusinformation gehört zur Arbeitsinformation, die. gleichzeitig übertragen wird und erkennt, ob die Arbeitsinformation richtig, falsch oder korrigiert ist. Dieses Protokoll ist gültig, wenn die Nebeneinheit die Schnittstelle (d.h. den Datenbus 70) steuert, um Daten zurückzusenden und aktuell den Bewilligungstoken 76 aktiviert.
  • Mit dem zweiten Protokoll informiert eine ausgewählte Nebeneinheit eine Haupteinheit, daß sie einen Dienst benötigt; d.h. einem internen Fehler, einer Fangbedingung usw. ausgesetzt ist. Dieses Protokoll ist gültig, wenn die Nebeneinheit die Schnittstelle 18 steuert, um Daten zurückzusenden, aber den Bewilligungstoken nicht aktiviert hatte, was darauf hindeutet, daß die Nebeneinheit die Steuerung der Schnittstelle noch nicht zurückgegeben hat.
  • Das dritte Protokoll ist optional und wird von einer Nebeneinheit benutzt, um einen Prozessor oder eine andere Haupteinheit zu informieren, daß entweder ein Befehl empfangen wurde oder der Befehl nicht empfangen wurde (z.B. Speicherkarte belegt), wobei der Befehl während des vorherigen Taktzyklus von der Haupteinheit gesendet wurde. In diesem Protokoll kann die Nebeneinheit eine Nachricht bereitstellen, daß ein Dienst benötigt wird. Dieses Protokoll ist während der dem Zyklus folgenden Aktivierung der zugehörigen befehlsaktiven Leitung und des Bewilligungstokens gültig.
  • Übertragungen zwischen den Haupt- und Nebeneinheiten sind entweder Speicheroperationen, in denen Daten von einer Haupteinheit an eine Nebeneinheit zwecks Speicherung übertragen werden oder Abrufoperationen, in denen Daten, die in einer der Nebeneinheiten gespeichert sind, an die Haupteinheit übertragen werden, welche die Daten angefordert hat. Speicher- und Abrufoperationen werden gemäß zwei Protokollen der Schnittstelle 18 ausgeführt, eines für Befehlübertragungen und eines für Rückübertragungen von Daten.
  • Das Befehlsübertragungsprotokoll ist in Figur 3 dargestellt und kann entweder bei einer Speicheroperation oder bei der Anfangsstufe einer Abrufoperation angewendet werden. Während des Anfangstaktzyklus einer Befehlsübertragung aktiviert eine ausgewählte Haupteinheit die befehlsaktive Leitung und den Bewilligungstoken und liefert gleichzeitig über den Befehls-/Adreßbus 72 einen Befehl an eine ausgewählte Nebeneinheit. Wenn der Befehl Teil einer Speicheroperation ist, werden die Arbeitsdaten während des folgenden Taktzyklus über den Datenbus 70 von der Haupteinheit an die Nebeneinheit übertragen. Wenn außerdem das optionale Bestätigungsprotokoll benutzt wird, sendet die Nebeneinheit über den Kommunikationsbus 74 eine Bestätigung an die Haupteinheit, daß der Speicherbefehl empfangen wurde.
  • Bei Rücksendung des Datenübertragungsprotokolls aus Figur 4 aktiviert eine ausgewählte Haupteinheit die Rückkehrdatenleitung, die zu einer ausgewählten Nebeneinheit gehört, sowie den Bewilligungstoken; es sei denn, der Bewilligungstoken wird von einer anderen Nebeneinheit gesteuert. Die Steuerung des Bewilligungstokens wird an die Nebeneinheit übertragen. Die Nebeneinheit hält den Bewilligungstoken aktiviert, überträgt über den Datenbus 70 die angeforderten Daten an die Haupteinheit und überträgt über den Kommunikationsbus gleichzeitig die zugehörige Statusinformation an die Haupteinheit.
  • Jede Speicheroperation enthält eine Befehlsübertragung mit einem Befehl, der einen Speicherbefehl enthält. Abrufoperationen treten in drei Stufen auf. Zuerst wird mit dem Befehlsübertragungsprotokoll, das sich von dem aus Figur 3 unterscheidet, indem keine Daten während des nächsten, nachfolgenden Taktzyklus über die Schnittstelle übertragen werden, ein Abrufbefehl von der Haupteinheit an die Nebeneinheit gesendet. Während der zweiten Stufe einer Abrufoperation übernimmt die Nebeneinheit, die auf den Abrufbefehl reagiert, die Wiedergewinnung der angeforderten Daten aus ihren Speicherbereichen und überträgt die wiedergewonnenen Daten in ihre Puffer. In der dritten Stufe werden die zuvor gepufferten Daten an die Haupteinheit übertragen, die auf die Aktivierung der zugehörigen Rückkehrdatenleitung durch die Haupteinheit und die begleitende Übertragung der Bussteuerung an die Nebeneinheit reagiert.
  • Im Zusammenhang mit den Figuren 3 und 4 ist zu bemerken, daß die besondere Haupteinheit, die den Speicherbefehl ausgibt und die befehlsaktive Leitung aktiviert oder alternativ die Haupteinheit, welche die Rückkehrdatenleitung aktiviert, gemäß einem Zuteilungsschema ausgewählt wird, das selbst nicht zu der vorliegenden Erfindung gehört, aber von einer Anzahl von Zuteilungsschemata ausgewählt wird, die dem Fachmann bekannt sind und in der vorliegenden Erfindung benutzt werden.
  • Eine herausragende Einrichtung der vorliegenden Erfindung steigert die Effizienz der Schnittstelle, hauptsächlich infolge der effektiveren Nutzung des Datenbusses 70. Figur 5 zeigt eine Reihe von Befehls- und Rückübertragungen von Daten über fünfzehn Taktzyklen, in denen die Nutzung des Datenbusses 70 nach dem ersten Taktzyklus 100 Prozent beträgt. Das Taktdiagramm zeigt die Übertragungen zwischen den Haupteinheiten 26 und 29 und den Nebeneinheiten 38, 40, 42 und 44, die über die Schnittstelle miteinander verbunden sind. Darauf aufbauend, läuft eine Beschreibung von Zyklus-zu-Zyklus wie folgt ab:
  • 1. Die Haupteinheit 26 sendet über den Bus 72 einen Speicherbefehl an die Nebeneinheit 38. Die Haupteinheit steuert den Bewilligungstoken 76.
  • 2. Die Raupteinheit 28 sendet einen Speicherbefehl an die Nebeneinheit 40 und erhält die Steuerung des Bewilligungstokens. Die Haupteinheit 26 sendet über den Datenbus 70 Arbeitsinformationen an die Nebeneinheit 38.
  • 3. Die Haupteinheit 26 gibt über den Bus 70 einen Abrufbefehl an die Nebeneinheit 38 aus und aktiviert die zugehörige befehlsaktive Leitung. Die Haupteinheit 26 erlangt erneut die Steuerung des Bewilligungstokens. Die Nebeneinheit 40 beginnt, Daten aus der Haupteinheit 28 zu akzeptieren.
  • 4. Die Nebeneinheit 38, die auf den Abrufbefehl in Zyklus 3 reagiert, hat Daten in ihren Puffer geladen und liefert ein "Speicher voll" Signal an die Haupteinheiten. Die Nebeneinheit 40 akzeptiert weiterhin Daten aus der Haupteinheit 28.
  • 5. Eine Fortsetzung des Zyklus 4.
  • 6. Die Haupteinheit 26 aktiviert die Rückkehrdatenleitung, die zu der Nebeneinheit 38 gehört. Die Haupteinheit 26 gibt gleichzeitig einen Abrufbefehl an die Nebeneinheit 40 aus. Die Nebeneinheit 40 schließt ihre Akzeptanz von Daten aus der Haupteinheit 28 ab.
  • 7. Die Haupteinheit 28 gibt einen Speicherbefehl an die Nebeneinheit 42 aus und aktiviert die entsprechende befehlsaktive Leitung. Die Nebeneinheit 40 gibt das "Puffer belegt" Signal aufgrund des Abrufbefehls aus, den sie im vorherigen Zyklus empfangen hat. Weil die Rückkehrdatenleitung in Zyklus 6 aktiv wird, wird die Steuerung des Bewilligungstokens von der Haupteinheit 26 an die Nebeneinheit 38 verschoben. Diese Nebeneinheit steuert auch den Datenbus 70, um die Arbeitsinformation an die Haupteinheit 26 zu übertragen und steuert den Kommunikationsbus 74, um gleichzeitig die Statusinformation zu befördern.
  • 8. Die Nebeneinheit 42 beginnt die Daten aus einer Haupteinheit zu akzeptieren.
  • 9. Die Haupteinheit 28 aktiviert die Rückkehrdatenleitung der Nebeneinheit 40. Die Haupteinheit 28 steuert den Bewilligungstoken, während die Nebeneinheit 42 ihre Akzeptanz von Daten aus der Haupteinheit 28 abschließt.
  • 10. Die Haupteinheit 28 hält die Rückkehrdatenleitung der Nebeneinheit 40 für einen anderen Zyklus aktiv, weil mehr Daten zurückgesendet werden. Die Nebeneinheit 40 steuert den Bewilligungstoken. Die Haupteinheit 26 gibt einen Abrufbefehl an die Nebeneinheit 42 aus.
  • 11. Die Haupteinheit 26 gibt einen Speicherbefehl an die Nebeneinheit 44 aus und aktiviert die entsprechende befehlsaktive Leitung. Die Nebeneinheit schließt ihre Übertragung der Arbeitsdaten und der Statusinformation an die Haupteinheit ab.
  • 12. Die Nebeneinheit 44 beginnt, die Daten von der Haupteinheit 26 zu akzeptieren.
  • 13. Die Haupteinheit 26 aktiviert die Rückkehrdatenleitung der Nebeneinheit 42 und steuert den Bewilligungstoken. Die Nebeneinheit 44 schließt die Akzeptanz der Daten von der Haupteinheit 26 ab.
  • 14. Die Haupteinheit 26 fährt fort, die Rückkehrdatenleitung der Nebeneinheit 42 zu aktivieren und überträgt die Steuerung des Bewilligungstokens an die Nebeneinheit 42. Anschließend wird diese Nebeneinheit die Übertragung der Arbeits- und Statusinformation an die Haupteinheit 26 beenden.
  • 15. Die Nebeneinheit 42 aktiviert den Bewilligungstoken 76 und schließt die Übertragung der Arbeits- und Statusinformation ab.
  • Figur 6 zeigt eine getaktete Sequenz der Operationen, die ähnlich denen in Figur 5 sind, jedoch mit dem optionalen Bestätigungsprotokoll. Demgemäß überträgt der Kommunikationsbus nicht nur Statusinformation sondern Bestätigungen von den Nebeneinheiten an die Haupteinheiten, deren Befehle empfangen wurden. In den Taktzyklen 2 und 3 bestätigen die Nebeneinheiten 38 und 40 "Speicherbefehl empfangen" an die Haupteinheit 26 bzw. 28. In dem Taktzyklus 4 bestätigt die Nebeneinheit 38 der Haupteinheit ihren Empfang des Abrufbefehls, der in dem vorherigen Zyklus ausgegeben wurde.
  • Bei einem Vergleich mit Figur 5 wird festgestellt, daß das Bestätigungsprotokoll die Effizienz der Schnittstelle leicht reduziert. Mit der Befehlsbestätigung wartet der Bus 72 auf einen verfügbaren freien Zyklus im Datenbus 70 bevor ein Befehl gesendet werden kann. Der Grund dafür ist, daß der Kommunikationsbus 74 noch mit dem Datenbus über dessen Protokoll verbunden ist, so daß der Status der Daten gleichzeitig mit den Arbeitsdaten zurückgesendet wird. Insbesondere tritt der Abrufbefehl von der Haupteinheit 26 an die Nebeneinheit 40, der in Zyklus 6 ohne Bestätigung (Figur 5) auftritt, in Figur 6 nicht bis Taktzyklus 7 auf. Mit der bereits von der Nebeneinheit 38 während des Taktzyklus 7 übertragenen Statusinformation steht der Kornmunikationsbus während dieses Zyklus zur Übertragung einer Bestätigung von einem Befehl, der in Zyklus 6 empfangen wurde, nicht zur Verfügung.
  • Ohne diese Bestätigung erfolgen andere Übertragungen wie Speicherbefehle an den Befehlsbus unabhängig von dem Datenbusverkehr. Der Befehl wird als akzeptiert angenommen, wenn der Bewilligungstoken aktiv und die "Speicher belegt" Leitung inaktiv ist. Die besondere Speicherkarte oder die andere, enthaltene Nebeneinheit ist nicht in der Lage, mit Fehlermeldungen an den Prozessor zu reagieren, bis zum nächsten Mal, wenn diese den Kommunikationsbus steuert. Der Vorteil des Bestätigungsprotokolls ist, trotz der leicht reduzierten Leistung, die frühere Fehlererkennung.
  • Das Taktdiagrarnm in Figur 7 illustriert die Situation in der eine der Nebeneinheiten aktiviert wurde, um Daten an eine ausgewählte Haupteinheit zurückzusenden oder zu senden, ist jedoch nicht in der Lage, Daten zurückzusenden, vielleicht weil die Daten noch nicht aus den Bereichen der Speicherkarte wiedergewonnen wurden. In diesem Fall wird durch die Aktivierung der zugehörigen Rückkehrdatenleitung die Steuerung des Datenbusses 70 wie zuvor von der ausgewählten Haupteinheit an die ausgewählte Nebeneinheit übertragen. Die Nebeneinheit hält nur die Steuerung des Bewilligungstokens, der die Bewilligungsleitung inaktiv hält, bis die Nebeneinheit die angeforderten Daten übertragen kann. In Figur 7 wird diese Sequenz der Ereignisse in Verbindung mit der Haupteinheit 26 und der Nebeneinheit 38 dargestellt. Die entsprechende Rückkehrdatenleitung wird in Taktzyklus 6 aktiviert. Die Nebeneinheit 38, die während den Zyklen 7-9 von dem Bewilligungstoken gesteuert wird, überträgt gemäß dem zweiten der drei Protokolle, die zuvor in Verbindung mit dem Kommunikationsbus 74 erörtert wurden, ein entsprechendes Signal. Dieses Protokoll ist gültig, da die Nebeneinheit 38 den Datenbus 70 steuert, jedoch nicht den Bewilligungstoken aktiviert hat. Im Taktzyklus 9 aktiviert die Nebeneinheit 38 den Bewilligungstoken und überträgt die angeforderte Arbeitsinformation über den Datenbus 70 an die Haupteinheit 26. Während die Nebeneinheit 38 den Bewilligungstoken steuert, ist die Haupteinheit 28 nicht in der Lage, die Steuerung zu erhalten, um die Daten an die Nebeneinheit 42 zu übertragen. Die Haupteinheit 28 fährt somit fort, einen Speicherbefehl auszugeben und hält die zugehörige befehlsaktive Leitung in den Zyklen 6-9 aktiv, bis die Nebeneinheit 38 den Bewilligungstoken aufhebt, um sowohl den Befehl von der Haupteinheit 28 an die Nebeneinheit 42 als auch die Datenübertragung von der Nebeneinheit 38 an die Haupteinheit 26 abzuschließen.
  • Somit können gemäß der vorliegenden Erfindung mehrere Prozessoren und E/A Einheiten den gleichen Datenbus im Hauptspeicher mit der gesamten Systemleistung anteilig nutzen, die wesentlich durch wirksame Nutzung des Datenbusses verbessert wird. Während die Einheiten, die als Haupt einheiten konfiguriert sind, sowohl die Zuteilungs- als auch die Buslogik anteilig nutzen, nutzen die Nebeneinheiten nur die Buslogik anteilig, um die Steuerung des Datenbusses unter allen Haupt- und Nebeneinheiten aufzuteilen. Die Nutzung des zusätzlichen Befehls-/Adreßbusses und Kommunikationsbusses parallel mit dem Datenbus mit einer Schnittstellenprotokollauswahl der nächsten Schnittstellensteuerung während einer aktuellen Übertragung, verbessert wesentlich die Nutzung des Arbeitsdatenbusses. Die Übertragung bestimmter Logikfunktionen von den Hauptprozessoren an die Nebenspeicherkarten und ein Datenabrufprotokoll, das die Busse für die nicht zugehörigen Übertragungen während einer Stufe der Abrufoperation freigibt, verbessert außerdem die Busnutzung.

Claims (15)

1. Ein Informationsverarbeitungsnetz mit
einer Vielzahl von Einheiten, um bitcodierte Arbeitsinformationen zu übertragen und zu empfangen, mit einem ersten Satz von Einheiten (26,28), der wenigstens eine Haupteinheit enthält, einem zweiten Satz von Einheiten (38,40,42,44), der wenigstens eine Nebeneinheit enthält und eine Schnittstelle zwischen dem ersten und zweiten Satz mit Einheiten, wobei die Schnittstelle enthält:
(a) einen ersten Datenbus (70), der von der Vielzahl von Einheiten anteilig genutzt wird, um die Übertragungen der Arbeitsinformation zwischen dem ersten und zweiten Satz der Einheiten auszuführen, wobei die Einheiten ausschließlich den ersten Datenbus steuern, wenn die Arbeitsinformation während einer der Übertragungen an den ersten Datenbus geliefert wird;
(b) ein bidirektionales Signaltransportmittel (76), das mit dem ersten und zweiten Satz der Einheiten verbunden ist, um ein Datenbushaltesignal von einer der Einheiten, die aktuell von dem ersten Datenbus gesteuert wird, an die anderen Einheiten zu übertragen, um dadurch eine der anderen Einheiten daran zu hindern, den ersten Datenbus zu steuern, bis die aktuell steuernde Einheit eine dieser Übertragungen abgeschlossen hat; und
(c) ein Auswahlmittel (78,80), das mit dem ersten und zweiten Satz Einheiten verbunden ist, um Steuersignale jeweils von einer der ausgewählten Haupteinheiten an eine der ausgewählten Nebeneinheiten zu übertragen, um so die Steuerung des ersten Datenbusses an eine der Einheiten zu übertragen, nachdem die aktuell steuernde Einheit eine der Übertragungen abgeschlossen hat, wobei die Steuersignale enthalten:
ein erstes Steuersignal, das nach Beendigung des Datenbushaltesignals funktionsfähig ist, um die Übertragung der Steuerung des ersten Datenbusses zu ermöglichen und die ausgewählte Haupteinheit zu aktivieren, die Arbeitsinformation über den ersten Datenbus an eine ausgewählte Nebeneinheit zu übertragen; ein zweites Steuersignal, um eine ausgewählte Nebeneinheit zu aktivieren, die Arbeitsinformation zur nachfolgenden Übertragung aus der ausgewählten Nebeneinheit an eine ausgewählte Haupteinheit zwischenzuspeichern; und ein drittes Steuersignal, das nach Beendigung des Datenbushaltesignals funktionsfähig ist, um die Steuerung des ersten Datenbusses über die ausgewählte Haupteinheit an die ausgewählte Nebeneinheit zu übertragen, damit die vorher zwischengespeicherte Arbeitsinformation an die ausgewählte Haupteinheit übertragen werden kann.
2. Das Netz aus Anspruch 1, wobei
das Auswahlmittel außerdem ein Mittel (82) enthält, um ein "Speicher voll" Signal von einer ausgewählten Nebeneinheit an den ersten Satz Einheiten zu übertragen, um anzugeben, daß ein Puffer der ausgewählten Nebeneinheit belegt ist, um die ausgewählte Nebeneinheit daran zu hindern, irgendeines der ersten oder zweiten Steuersignale zu akzeptieren.
3. Das Netz aus Anspruch 1, wobei
die Schnittstelle außerdem einen zweiten Datenbus (72) enthält, um bitcodierte Speicher- und Adreßinformation zu übertragen, wobei der zweite Bus anteilig von der Vielzahl von Einheiten genutzt wird und parallel mit dem ersten Datenbus arbeitet.
4. Das Netz aus Anspruch 3, wobei
diese Auswahlmittel enthält ein erstes Signalübertragungsmittel, um die ersten und zweiten Steuersignale zu übertragen, und ein zweites Signalübertragungsmittel, um das dritte Steuersignal zu übertragen.
5. Das Netz aus Anspruch 3, wobei
dieser erste Satz (26,28) eine Vielzahl von Haupteinheiten enthält, wobei wenigstens einige der Haupteinheiten Prozessoren sind, und der zweite Satz (38,40,42,44) eine Vielzahl von Nebeneinheiten enthält, wobei wenigstens einige der Nebeneinheiten Speicherkarten sind;
das Signaltransportmittel eine einzelne Leitung mit Bewilligungstoken (76) enthält, die mit der Vielzahl von Einheiten verbunden ist; und
dieses Auswahlmittel eine Vielzahl von Auswahltoken enthält, wobei jeder der Auswahltoken nur zu einer der Nebeneinheiten gehört und zwischen ihrer zugehörigen Nebeneinheit und allen Haupteinheiten angeschlossen ist; wobei jeder der Auswahltoken eine befehlsaktive Leitung (78) enthält, um die ersten und zweiten Steuersignale zu übertragen und eine Rückkehrdatenleitung (80), um das dritte Steuersignal zu übertragen.
6. Das Netz aus Anspruch 5, wobei
jeder der Auswahltoken außerdem eine "Speicher voll" Leitung (82) enthält, um ein Signal von der zugehörigen Nebeneinheit an jede der Haupteinheiten zu übertragen, um anzugeben, daß ein Puffer der zugehörigen Nebeneinheit belegt ist, um die ausgewählte Nebeneinheit daran zu hindem, die ersten Befehle oder die zweiten Befehle von einer der Haupteinheiten zu akzeptieren, wobei der Auswahltoken aus einer der befehlsaktiven Leitungen, einer der Rückkehrdatenleitungen und einer der "Speicher belegt" Leitungen besteht.
7. Das Netz aus Anspruch 5, wobei
die Haupteinheiten, die Nebeneinheiten und die Schnittstelle gemäß einem zuvor bestimmten Taktzyklus arbeiten, und das erste Steuersignal von einer ausgewählten Haupteinheit generiert wird und über eine zugehörige befehlsaktive Leitung während eines der bestimmten Taktzyklen an eine ausgewählte Nebeneinheit geliefert wird, wobei ein Speicherbefehl mit Zieladreßinformation durch die ausgewählte Haupteinheit generiert wird und über den zweiten Datenbus während des bestimmten Zyklus an die ausgewählte Nebeneinheit geliefert wird, und die Arbeitsinformation von der ausgewählten Haupteinheit über den ersten Datenbus während des nächsten Taktzyklus, der sich an den bestimmten Taktzyklus anschließt, an die ausgewählte Nebeneinheit übertragen wird;
die zweiten und dritten Steuersignale Teile einer Datenabrufsequenz enthalten, die in drei aufeinanderfolgenden Stufen einschließlich einer ersten Stufe auftreten, während der das zweite Steuersignal von einer ausgewählten Haupteinheit generiert und über eine zugehörige befehlsaktive Leitung an eine ausgewählte Nebeneinheit geliefert wird und während der die ausgewählte Haupteinheit einen Abrufbefehl einschließlich der Adreßinformation über den zweiten Datenbus an die ausgewählte Nebeneinheit ausgibt, eine zweite Stufe während der die Nebeneinheit, die auf das zweite Steuersignal reagiert, die ausgewählte Arbeitsinformation zwischenspeichert und eine dritte Stufe, während der die ausgewählte Nebeneinheit, die auf den Empfang des dritten Steuersignals von der ausgewählten Haupteinheit reagiert, die gepufferte Arbeitsinformation über eine zugehörige Rückkehrdatenleitung an die ausgewählte Haupteinheit überträgt; und
der erste und zweite Datenbus während dieser zweite Stufe verfügbar sind, um andere Informationen als diejenigen zu übertragen, die in dieser Datenabrufsequenz enthalten sind.
8. Das Netz aus Anspruch 3, das außerdem enthält:
einen dritten Datenbus (74), der anteilig von dieser Vielzahl von Einheiten genutzt wird und parallel mit dem ersten und zweiten Datenbus arbeitet, um bitcodierte Statusinformationen von dem zweiten Satz Einheiten an den ersten Satz Einheiten zu übertragen.
9. Das Netz aus Anspruch 8, wobei
die Statusinformation der Arbeitsinformation entspricht, die von einer ausgewählten Nebeneinheit an eine ausgewählte Haupteinheit übertragen wird, wenn die ausgewählte Nebeneinheit den ersten Bus steuert, wobei diese ausgewählte Nebeneinheit auch den dritten Datenbus steuert, um die Arbeitsinformation und die zugehörige Statusinformation gleichzeitig zu übertragen.
10. Das Netz aus Anspruch 8, wobei
die Statusinformation eine Bestätigung enthält, daß Befehls- und Adreßinformation über den zweiten Datenbus aus einer ausgewählten Haupteinheit von der ausgewählten Nebeneinheit empfangen wurde, wobei die Bestätigung über den dritten Datenbus während des nächsten Taktzyklus an die ausgewählte Haupteinheit gesendet wird, nachdem Befehisund Adreßinformation übertragen wurden.
11. Das Netz aus Anspruch 3, wobei
die Steuer- und Adreßinformation eine auf Bytes ausgerichtete Startadresse und eine Länge der Adresse enthalten, in der die Daten entweder gespeichert oder abgerufen werden müssen.
12. In einem Datenverarbeitungssystem, das eine Vielzahl von Haupteinheiten mit wenigstens einer Verarbeitungseinheit und eine Vielzahl von Nebeneinheiten mit wenigstens einer Speicherkarte enthält, und eine Schnittstelle zwischen den Haupt- und Nebeneinheiten, die einen ersten Datenbus enthalten, der anteilig von den Haupt- und Nebeneinheiten genutzt wird, um die bitcodierte Arbeitsinformation zwischen den Haupt- und Nebeneinheiten zu übertragen, ein Verfahren, um ausschließlich die Steuerung des ersten Datenbusses unter den Haupt- und Nebeneinheiten zu übertragen, einschließlich der Schritte, um
ein Datenbushaltesignal von einer der Einheiten, wenn diese aktuell den ersten Datenbus steuert, an die anderen Einheiten zu übertragen, um dadurch eine der Einheiten daran zu hindern, den ersten Datenbus zu steuern, bis die aktuell steuernde Einheit eine aktuelle Übertragung der Arbeitsinformation über den ersten Datenbus abgeschlossen hat;
Steuersignale zu übertragen, wobei jedes von einer der ausgewählten Haupteinheiten über ein Auswahlmittel, das mit den Haupt und Nebeneinheiten verbunden ist, an eine der ausgewählten Nebeneinheiten übertragen wird, um so die Steuerung des ersten Datenbusses an eine der Einheiten zu übertragen, nachdem die aktuell steuernde Einheit die aktuelle Übertragung abschließt, wobei die Übertragungen der Steuerung jeweils einen der alternativen Schritte enthalten, um
(a) Daten durch Übertragung eines ersten Steuersignals zu speichern, das nach Beendigung des Datenbushaltesignals funktionsfähig ist, um die Steuerung des ersten Busses an eine ausgewählte Haupteinheit zu übertragen, wobei die ausgewählte Haupteinheit aktiviert wird, um die Arbeitsinformation über den ersten Datenbus an eine ausgewählte Nebeneinheit zu übertragen; und
(b) Daten durch Übertragung eines zweiten Steuersignals abzurufen, um eine ausgewählte Nebeneinheit zu aktivieren, Arbeitsinformation für die nachfolgende Übertragung von der ausgewählten Nebeneinheit an eine ausgewählte Haupteinheit zwischenzuspeichern und ein drittes Steuersignal zu übertragen, das nach Beendigung des Datenbushaltesignals funktionsfähig ist, um die Steuerung des ersten Datenbusses über die ausgewählte Haupteinheit an die ausgewählte Nebeneinheit zu übertragen und die zuvor gepufferte Arbeitsinformation an die ausgewählte Haupteinheit zu übertragen.
13. Das Verfahren aus Anspruch 12, wobei
der Schritt zur Übertragung der Steuerung des ersten Datenbusses den Schritt enthält, das erste Steuersignal zu übertragen oder alternativ den Schritt enthält, das zweite und dritte Steuersignal zu übertragen, während die aktuell steuernde Einheit den ersten Datenbus steuert.
14. Das Verfahren aus Anspruch 13, das außerdem den Schritt enthält, um
ein "Puffer voll" Signal von einer ausgewählten Nebeneinheit über das Auswahlmittel an alle Haupteinheiten zu übertragen, um anzugeben, daß ein Puffer der ausgewählten Nebeneinheit belegt ist, um so die ausgewählte Nebeneinheit daran zu hindern, eines der ersten und zweiten Steuersignale zu akzeptieren.
15. Das Verfahren aus Anspruch 13, wobei das Auswahlmittel eine Vielzahl von Auswahltoken enthält, wobei jeder der Auswahltoken nur zu einer Nebeneinheit gehört und mit der zu ihm gehörenden Nebeneinheit und mit allen Haupteinheiten verbunden ist, wobei der Auswahltoken eine befehlsaktive Leitung und eine Rückkehrdatenleitung enthält und wobei der Schritt zur Speicherung enthält:
die Übertragung des ersten Steuersignals von einer ausgewählten Haupteinheit über eine zugehörige befehlsaktive Leitung während eines bestimmten Taktzyklus an eine ausgewählte Nebeneinheit, die Bereitstellung eines Speicherbefehls von der ausgewählten Haupteinheit über einen zweiten Datenbus, der mit allen Einheiten parallel zu dem ersten Datenbus verbunden ist, während des bestimmten Taktzyklus an die ausgewählte Nebeneinheit und die Übertragung der Arbeitsinformation während des nächsten Taktzyklus, nach dem bestimmten Taktzyklus, von der ausgewählten Haupteinheit über den ersten Datenbus an die ausgewählte Nebeneinheit;
der Schritt zum Abruf von Daten enthält die Bereitstellung eines Abrufbefehls mit Adreßinformation von einer ausgewählten Haupteinheit über den zweiten Datenbus an eine ausgewählte Nebeneinheit und gleichzeitig die Bereitstellung des zweiten Steuersignals von der ausgewählten Haupteinheit über eine zugehörige befehlsaktive Leitung an die ausgewählte Nebeneinheit;
die Pufferung der ausgewählten Arbeitsinformation in der ausgewählten Nebeneinheit, die auf den Empfang des zweiten Steuersignals reagiert; und
die Reaktion auf den Empfang des dritten Steuersignals von der ausgewählten Haupteinheit über eine zugehörige Rückkehrdatenleitung und die Übertragung der gepufferten Arbeitsinformation über den zweiten Datenbus an die ausgewählte Haupteinheit von der ausgewählten Nebeneinheit;
das Verfahren enthält außerdem den Schritt, um
die bitcodierte Statusinformation von der ausgewählten Nebeneinheit an die ausgewählte Haupteinheit gleichzeitig mit der gepufferten Arbeitsinformation zu übertragen.
DE69029648T 1989-12-04 1990-10-31 Hochleistungsschnittstelle für anteilig genutzten Hauptspeicher Expired - Fee Related DE69029648T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/445,320 US5131085A (en) 1989-12-04 1989-12-04 High performance shared main storage interface

Publications (2)

Publication Number Publication Date
DE69029648D1 DE69029648D1 (de) 1997-02-20
DE69029648T2 true DE69029648T2 (de) 1997-07-17

Family

ID=23768465

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69029648T Expired - Fee Related DE69029648T2 (de) 1989-12-04 1990-10-31 Hochleistungsschnittstelle für anteilig genutzten Hauptspeicher

Country Status (4)

Country Link
US (1) US5131085A (de)
EP (1) EP0432076B1 (de)
JP (1) JPH0619754B2 (de)
DE (1) DE69029648T2 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276809A (en) * 1990-06-26 1994-01-04 Digital Equipment Corporation Method and apparatus for capturing real-time data bus cycles in a data processing system
US5339397A (en) * 1990-10-12 1994-08-16 International Business Machines Corporation Hardware primary directory lock
US5257356A (en) * 1991-05-28 1993-10-26 Hewlett-Packard Company Method of reducing wasted bus bandwidth due to slow responding slaves in a multiprocessor computer system
US5953510A (en) * 1991-09-05 1999-09-14 International Business Machines Corporation Bidirectional data bus reservation priority controls having token logic
US5422885A (en) * 1992-06-01 1995-06-06 Motorola, Inc. Contention free local area network
DE4317567A1 (de) * 1993-05-26 1994-12-01 Siemens Ag Verfahren zum Betreiben eines Bussystems sowie Anordnung zur Durchführung des Verfahrens
US5469435A (en) * 1994-01-25 1995-11-21 Apple Computer, Inc. Bus deadlock avoidance during master split-transactions
US5572687A (en) * 1994-04-22 1996-11-05 The University Of British Columbia Method and apparatus for priority arbitration among devices in a computer system
US5717931A (en) * 1994-12-20 1998-02-10 Motorola, Inc. Method and apparatus for communicating between master and slave electronic devices where the slave device may be hazardous
US6199133B1 (en) * 1996-03-29 2001-03-06 Compaq Computer Corporation Management communication bus for networking devices
US6081860A (en) * 1997-11-20 2000-06-27 International Business Machines Corporation Address pipelining for data transfers
US6185646B1 (en) * 1997-12-03 2001-02-06 International Business Machines Corporation Method and apparatus for transferring data on a synchronous multi-drop
WO2000017726A2 (en) * 1998-09-18 2000-03-30 Computron Switchable master/slave memory controller
US6658552B1 (en) * 1998-10-23 2003-12-02 Micron Technology, Inc. Processing system with separate general purpose execution unit and data string manipulation unit
US6684279B1 (en) * 1999-11-08 2004-01-27 International Business Machines Corporation Method, apparatus, and computer program product for controlling data transfer
US20020178283A1 (en) * 2001-03-29 2002-11-28 Pelco, A Partnership Real-time networking protocol
US7007121B1 (en) * 2002-02-27 2006-02-28 Xilinx, Inc. Method and apparatus for synchronized buses
US6934782B2 (en) * 2002-12-23 2005-08-23 Lsi Logic Corporation Process and apparatus for managing use of a peripheral bus among a plurality of controllers
JP2009532082A (ja) * 2006-03-30 2009-09-10 ギブン イメージング リミテッド 生体内検出デバイス、ならびにイメージャとイメージャのプロセッサとの間の通信方法
US8935336B2 (en) * 2008-06-18 2015-01-13 Cisco Technology, Inc. Optimizing program requests over a wide area network
KR101611157B1 (ko) * 2009-11-24 2016-04-11 삼성전자 주식회사 공기조화기 및 그 통신방법
JP6358088B2 (ja) * 2012-03-15 2018-07-18 オムロン株式会社 制御装置、情報処理装置、制御方法、コンピュータ読取可能な記録媒体、およびプログラム
US20140120845A1 (en) * 2012-10-30 2014-05-01 Anayas360.Com, Llc Low noise and loss biasing circuit
US9213660B2 (en) * 2013-06-14 2015-12-15 Arm Limited Receiver based communication permission token allocation
US9665707B2 (en) * 2015-01-09 2017-05-30 GM Global Technology Operations LLC Systems and methods for cyber security of intra-vehicular peripherals powered by wire
DE102017117288A1 (de) * 2017-07-31 2019-01-31 Hengstler Gmbh Datenübertragungsverfahren zwischen einem Drehwinkelgeber und einer Motorsteuereinrichtung oder einer Auswerteeinheit
US20230064969A1 (en) * 2021-08-30 2023-03-02 International Business Machines Corporation Reservation mechanism for node with token constraints

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4223380A (en) * 1978-04-06 1980-09-16 Ncr Corporation Distributed multiprocessor communication system
FR2474199B1 (fr) * 1980-01-21 1986-05-16 Bull Sa Dispositif pour superposer les phases successives du transfert des informations entre plusieurs unites d'un systeme de traitement de l'information
US4314335A (en) * 1980-02-06 1982-02-02 The Perkin-Elmer Corporation Multilevel priority arbiter
US4375639A (en) * 1981-01-12 1983-03-01 Harris Corporation Synchronous bus arbiter
CA1179069A (en) * 1981-04-10 1984-12-04 Yasushi Fukunaga Data transmission apparatus for a multiprocessor system
US4481572A (en) * 1981-10-13 1984-11-06 Teledyne Industries, Inc. Multiconfigural computers utilizing a time-shared bus
US4504906A (en) * 1982-11-30 1985-03-12 Anritsu Electric Company Limited Multiprocessor system
US4698746A (en) * 1983-05-25 1987-10-06 Ramtek Corporation Multiprocessor communication method and apparatus
JPS60107170A (ja) * 1983-11-15 1985-06-12 Nec Corp マルチプロセッサ制御方式
JPS60129872A (ja) * 1983-12-19 1985-07-11 Toshiba Corp デ−タの分散処理装置
US4561051A (en) * 1984-02-10 1985-12-24 Prime Computer, Inc. Memory access method and apparatus in multiple processor systems
US4633394A (en) * 1984-04-24 1986-12-30 International Business Machines Corp. Distributed arbitration for multiple processors
US4639859A (en) * 1984-05-24 1987-01-27 Rca Corporation Priority arbitration logic for a multi-master bus system
US4719622A (en) * 1985-03-15 1988-01-12 Wang Laboratories, Inc. System bus means for inter-processor communication
US4730268A (en) * 1985-04-30 1988-03-08 Texas Instruments Incorporated Distributed bus arbitration for a multiprocessor system
US4803617A (en) * 1986-02-10 1989-02-07 Eastman Kodak Company Multi-processor using shared buses
EP0257061A1 (de) * 1986-02-10 1988-03-02 EASTMAN KODAK COMPANY (a New Jersey corporation) Vielfachprozessorvorrichtung

Also Published As

Publication number Publication date
EP0432076A3 (en) 1993-09-29
JPH03214343A (ja) 1991-09-19
EP0432076A2 (de) 1991-06-12
US5131085A (en) 1992-07-14
EP0432076B1 (de) 1997-01-08
DE69029648D1 (de) 1997-02-20
JPH0619754B2 (ja) 1994-03-16

Similar Documents

Publication Publication Date Title
DE69029648T2 (de) Hochleistungsschnittstelle für anteilig genutzten Hauptspeicher
DE3751514T2 (de) Adressieranordnung für RAM-Puffer-Steuereinrichtung.
DE3789625T2 (de) Methode zur dynamischen Partitionierung von Parallelprozessoren.
DE69229716T2 (de) Schaltungsarchitektur zum mehrkanaligen DMA-Betrieb
DE3751091T2 (de) Übertragungsprotokoll zwischen Prozessoren.
DE69328841T2 (de) Mehrfachprozessorrechnersystem
DE102009023898B4 (de) Optimierung von gleichzeitigen Zugriffen in einem verzeichnisbasierten Kohärenzprotokoll
DE19636381C1 (de) Bus mit anforderungsabhängiger Anpassung der in beiden Richtungen zur Verfügung stehenden Bandbreite
DE69519926T2 (de) Verfahren und vorrichtung zum einhalten der transaktionssteuerung und zur unterstützung von verzögerten antworten in einer busbrücke
DE2856483C2 (de)
DE3882977T2 (de) Verfahren und anordnung zur implementierung von mehrverriegelungsanzeigen in einem multiprozessordatenverarbeitungssystem.
DE3043894C2 (de)
DE69323861T2 (de) Multiprozessorsystem mit gemeinsamem Speicher
DE69519117T2 (de) Ein Rechnersystem
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE69424272T2 (de) Auf Warteschlangen basierender prädiktiver Durchflusssteuerungsmechanismus
DE3933361A1 (de) Einrichtung und verfahren zur warteschlangenbildung von anforderungen und antworten auf einem pipeline-paketbus
CH620306A5 (de)
DE2847216A1 (de) Datenverarbeitungssystem mit mehrprogrammbetrieb
DE69520886T2 (de) System und verfahren zur verarbeitung von signaldaten und kommunikationssystem mit system zur verarbeitung von signaldaten
DE68918077T2 (de) Verfahren und System zur Übertragung von gepufferten Datenpaketen auf einem Übertragungsnetz.
DE68927795T2 (de) Übertragungssystem mit einem gemeinsamen Speicher
DE69123987T2 (de) Stossbetrieb für Mikroprozessor mit externem Systemspeicher
DE3853162T2 (de) Gemeinsamer intelligenter Speicher für die gegenseitige Verbindung von verteilten Mikroprozessoren.
DE69230483T2 (de) Quadraturbusprotokoll zum Ausführen von Transaktionen in einer Rechneranordnung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee