DE3853129T2 - Direkte Kontrolleinrichtung für Multiprozessornetzwerk. - Google Patents

Direkte Kontrolleinrichtung für Multiprozessornetzwerk.

Info

Publication number
DE3853129T2
DE3853129T2 DE3853129T DE3853129T DE3853129T2 DE 3853129 T2 DE3853129 T2 DE 3853129T2 DE 3853129 T DE3853129 T DE 3853129T DE 3853129 T DE3853129 T DE 3853129T DE 3853129 T2 DE3853129 T2 DE 3853129T2
Authority
DE
Germany
Prior art keywords
bus
processor
control
unit
command
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
DE3853129T
Other languages
English (en)
Other versions
DE3853129D1 (de
Inventor
Bruce Leroy Beukema
David Wayne Marquart
Ronald Dale Morse
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 DE3853129D1 publication Critical patent/DE3853129D1/de
Publication of DE3853129T2 publication Critical patent/DE3853129T2/de
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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing

Landscapes

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

Description

    Hintergrund der Erfindung
  • Die Erfindung betrifft die Steuerung von Prozessoren und insbesondere das Vorsehen einer Standardschnittstelle zur Steuerung mehrerer miteinander verbundener Prozessoren.
  • Steuerkonsolen dienen dazu, einem Bediener Diagnosefunktionen in bezug auf einen Prozessor zur Verfügung zu stellen. Sie erlauben einem Benutzer, direkt auf Prozessorregister und den Hauptspeicher in einem Prozessor zuzugreifen, wodurch Ebenen von möglicherweise fehlerhafter Prozessorsoftware umgangen werden können. Frühere Steuerkonsolen bestanden aus Schaltern, die von einem Bediener gesetzt werden konnten. Register konnten mit Hilfe der Schalter gesetzt werden, und ihr Inhalt wurde durch Lampen dargestellt, die sich gewöhnlich an einer physischen Seite oder Konsole des Rechners befanden. Neuere Versionen von Steuerkonsolen enthalten einen Service-Prozessor, der direkt an einen Prozessor und dessen Hauptspeicher angeschlossen ist. Der Service-Prozessor wird dann über eine Schreibmaschinentastatur gesteuert, die Programme in dem Service-Prozessor aufrufen kann, um Registerinhalte und Hauptspeicherdaten zu lesen und zu schreiben. Jeder Prozessor ist für gewöhnlich mit seiner eigenen Steuerkonsole ausgestattet, sofern er überhaupt eine hat. Dies hat zur Folge, daß ein Großteil der Schaltungen doppelt vorgesehen werden muß, da beide E/A-Busse und die Steuerkonsole getrennte Pfade zum Hauptspeicher haben. Begrenzte Pfade sind zu einigen Registern auch über E/A-Busse vorgesehen.
  • In der US-Patentschrift Nr. 3 879 712 ist eine Diagnoseschnittstelle beschrieben, die mit jedem Prozessor verbunden ist. Jede Schnittstelle ist auch an einen Bus angeschlossen und erscheint als eine von dem Prozessor getrennte Einheit, an den sie angeschlossen ist. Die Diagnoseschnittstelle wird von einem anderen Prozessor verwendet, um zur Ausführung von Diagnoseroutinen den Zugriff auf den Prozessor zu ermöglichen, mit dem die Schnittstelle verbunden ist. Die Schnittstelle ermöglicht den Zugriff auf einige der internen Register. Ein Problem mist dieser Art von Schnittstelle ist, daß viele E/A-Busse eine begrenzte Anzahl von Adressen verfügbar oder eine beschränkte elektrische Belastbarkeit haben. Sie schränkt die Anzahl von Prozessoren mit Diagnoseschnittstellen erheblich ein, die auf einem E/A-Bus miteinander verbinden werden könnten. Die Schnittstelle ermöglicht nur einen beschränkten Zugriff auf Steuerregister und bietet somit keine vollständige Steuerkonsolenfunktion. Sie ist auch von der E/A-Schnittstelle getrennt und würde somit die vorstehend erwähnte Duplizierung von Schaltungen erforderlich machen.
  • Die Hauptaufgabe der Erfindung ist es, eine Anordnung und ein Verfahren vorzusehen, um eine Buseinheit mit Steuerkonsolenfunktionen auszustatten, die mit einem Busschnittstellenadapter gemäß Anspruch 1 beziehungsweise Anspruch 15 verbunden ist.
  • Zusammenfassung der Erfindung
  • Eine Steuerkonsolenfunktion wird durch die E/A-Anschlußschnittstelle eines Prozessors durch das Hinzufügen einer Einrichtung vorgesehen, die auf Steuerkonsolenbefehle reagiert. Steuerkonsolenbefehle werden von der Steuerkonsoleneinrichtung von Nachrichten auf dem E/A-Pfad zu dem Prozessor abgefangen, während normale Nachrichten auf dem Bus zum Prozessor weitergehen. Wenn ein Steurkonsolenbefehl festgestellt wird, wird der Befehl von der Einrichtung unter Benutzung bestehender und hinzugefügter Pfade zu den Prozessorregistern und dem Hauptspeicher ausgeführt, um Lese- und Schreiboperationen auszuführen. Die Steuerkonsoleneinrichtung ist vorzugsweise in jeden an den Bus angeschlossenen Prozessor integriert, und jede beliebige an den Bus angeschlossene Einheit kann als Steuerkonsole dienen und Steuerkonsolenbefehle liefern. Durch weitreichende Benutzung von bestehenden Pfaden zu Registern und dem Hauptspeicher bedarf es nur weniger Hardware, um die Einrichtung zu bestehenden Prozessoren hinzuzufügen.
  • Die Erfindung sieht eine vollständige Steuerkonsolenfunktion unter Benutzung der bestehenden Pfade in einem Prozessor von seinem Anschluß an einen E/A-Bus vor. Keine zusätzlichen Verbindungen zu dem E/A-Bus sind erforderlich, wodurch eine volle Auslastung der Buskapazität für Prozessoren und E/A-Einheiten ermöglicht wird. Da die Einrichtung normale Nachrichten weiterleitet und nur Steuerkonsolenbefehle abfängt, braucht die Einrichtung nicht entfernt oder deaktiviert zu werden, wenn Steuerkonsolenfunktionen nicht ausgeführt werden.
  • Die Steuerkonsolenbefehle können von jedem anderen an den Bus angeschlossenen Prozessor ausgegeben werden, der in der Lage ist, die Befehle auszugeben. Ein Benutzer an einer Arbeitsstation, die mit einer an den Bus angeschlossenen Arbeitsstations-Steuereinheit verbunden ist, kann ein Diagnosehilfsprogramm aufrufen, das auf einem Prozessor läuft, der Steuerbefehle an einen anderen Prozessor ausgibt. Oder der Benutzer kann die Befehle direkt von der Arbeitsstation ausgeben.
  • Mit geringem zusätzlichem Kostenaufwand wird auf diese Weise eine große Flexibilität erreicht. Da nur ein Prozessor in der Lage zu sein braucht, Steuerbefehle für alle am Bus angeschlossenen Prozessoren auszugeben, ist eine Duplizierung der Steuerkonsolenfunktion nicht erforderlich. Weitere Flexibilität wird dadurch erreicht, daß Steuerkonsolenbefehle nicht die vollständige Steuerung eines an den Bus angeschlossenen Prozessors zu übernehmen brauchen. Andere Befehle, die von einem Prozessor im Anschluß an einen Steuerbefehl empfangen werden, werden wie gewöhnlich verarbeitet, sofern der Steuerbefehl den Prozessor nicht absichtlich angehalten hat. Ein lästiges Umschalten zwischen Betriebsarten, um die Funktion bereitzustellen, ist nicht notwendig.
  • Weitere Vorteile werden offensichtlich, wenn man die ausführliche Beschreibung gelesen hat.
  • Beschreibung der Zeichnungen
  • Fig. 1 ist ein Blockdiagramm eines Busses mit mehreren Buseinheiten, die eine Direktsteuereinrichtung enthalten.
  • Fig. 2 ist ein ausführliches Blockdiagramm einer Direktsteuereinrichtung, wie sie in einer Buseinheit enthalten ist.
  • Fig. 3 ist ein Flußdiagramm der Verarbeitung und Weiterleitung von Nachrichten auf dem Bus.
  • Fig. 4 ist ein Flußdiagramm der Verarbeitung von Steuerbefehlen durch die Steuereinrichtung von Fig. 2.
  • Fig. 5 ist ein Flußdiagramm einer Leseoperation, die von der Direktsteuereinrichtung von Fig. 2 ausgeführt wird.
  • Fig. 6 ist ein Flußdiagramm einer Schreiboperation, die von der Direktsteuereinrichtung von Fig. 2 ausgeführt wird.
  • Fig. 7 ist ein Flußdiagramm von Operationen "Verarbeitungsstart" und "Stopp", die von der Direktsteuereinrichtung von Fig. 2 ausgeführt werden.
  • Ausführliche Beschreibung
  • In Fig. 1 ist ein Bus 10 mit mehreren angeschlossenen Buseinheiten 12, 14 und 16 gezeigt. Der Bus 10 ist ein E/A-(Eingabe-/Ausgabe-)Bus, der dazu dient, Daten zwischen den Buseinheiten weiterzuleiten. Die Buseinheiten sind eine Mischung aus Prozessoren, einschließlich E/A-Steuereinheiten zur Steuerung der Direktzugriffsspeicher 16A, 16C, Datenübertragungseinheiten und vieler anderer Sekundärspeicher, wie beispielsweise das Bandlaufwerk 16B. Die Datenübertragungseinheiten enthalten gewöhnlich die Arbeitsstationen 14A, 14B und Einheiten, um den Zugriff auf ein externes Datenübertragungsmedium, wie beispielsweise den Modem 14C, zu ermöglichen.
  • Die Buseinheit 12 ist über eine Busschnittstelle 18 mit dem Bus 10 verbunden. Die Busschnittstelle 18 führt Funktionen aus, die notwendig sind, um die Buseinheit 12 an den Bus anzuschließen. Zu solchen Funktionen gehören Entscheidungsfunktionen hinsichtlich des Erhalts der Bussteuerung und Datenbearbeitungsfunktionen, um Datenprotokolle der Buseinheit 12 auf den Bus abzustimmen.
  • Die Busschnittstelle 18 verbindet einen Prozessor 20 der Steuerbuseinheit mit dem Bus. Der Prozessor 20 wiederum ist über eine Steuerkonsolenschnittstelle 24 mit einer Steuerkonsole 22 verbunden. Der Prozessor 20 verarbeitet Befehle von der Steuerkonsole 22, die dann über den Bus 10 an die anderen Buseinheiten 14 und 16 übertragen werden. Die Buseinheiten 14 und 16 haben auch ähnliche Busschnittstellenadapter 26 und 28, um Entscheidungsfunktionen auszuführen und einen Protokollabgleich zwischen den Einheiten und dem Bus vorzunehmen. Außerdem haben die Busschnittstellenadapter 26 und 28 eine eingebaute Direktzugriffssteuereinrichtung, um Steuerkonsolenbefehle zu erkennen, die an ihre jeweiligen Buseinheiten gerichtet sind.
  • In der bevorzugten Ausführungsform ist die Steuerkonsole 22 eine Benutzerschnittstelle, die aus einem Personal-Computer mit einer Schnittstelle für die Schreibmaschinentastatur und einem Bildschirm besteht. Andere Benutzerschnittstellen wie beispielsweise physische Schalter können auch verwendet werden. Sie bietet einem Benutzer eine Standard-Steuerkonsolenfunktion, um Register und den Hauptspeicher von beliebigen Buseinheiten, welche die Direktzugriffssteuereinrichtung enthalten, zu lesen und zu beschreiben. Die vorstehend erwähnten Funktionen werden gewöhnlich von Programmen verwendet, die auf dem Prozessor 20 der Steuerbuseinheit laufen, nachdem sie vom Benutzer über die Steuerkonsole 22 aufgerufen wurden. Die Busschnittstelle 18 der Steuerbuseinheit 12 kann auch die Direktzugriffssteuereinrichtung enthalten und von jedem anderen an den Bus angeschlossenen Prozessor gesteuert werden, der steuerkonsolenfähig ist.
  • Die Direktzugriffssteuereinrichtung ermöglicht die Diagnosesteuerung von Prozessoren auf einem Bus, auf dem die Prozessoren keine Steuerkonsolen haben, um die Ursache von Hardware- und Softwarefehlern festzustellen. Die Einrichtung ist vorzugsweise in Hardware ausgeführt, so daß keine Software auf der Buseinheit ausgeführt zu werden braucht, um auf die Prozessorregister oder den Hauptspeicher zugreifen zu können. Beabsichtigt ist, eine Einrichtung bereitzustellen, die früheren Systemsteuerkonsolen ähnlich ist, die Prozessorregister und den Speicherinhalt lesen und ändern kann und die über Steuerfunktionen verfügt, um den Status abzufragen und Prozessorfunktionen, wie beispielsweise Rücksetz- und Ausführungssteuerungsfunktionen, zu steuern.
  • Die Einrichtung hat eine Vielzahl von Funktionen, einschließlich Fehlerbeseitigung in der Hardware und der Software, Statusabfrage nach einem Softwarefehler in einem Co-Prozessor, Diagnose von Hardwarefehlern, ohne die Hardware zu entfernen, einleitendes Programmladen, Initialisieren und Testen der Hardware während der normalen Verarbeitung. Man kann einen Prozessor anhalten, indem man einfach einen entsprechenden Wert in ein bekanntes Register schreibt. Der Inhalt der restlichen Register wird dann über Befehle gelesen, und ihr Inhalt kann dazu verwendet werden, um Fehler in Softwareprogrammen zu beseitigen.
  • In Fig. 2, in der die Numerierung gleich ist wie in Fig. 1, ist die Buseinheit 14 an den Bus 10 über den Busschnittstellenadapter 26 und eine Verbindungsleitung 39 angeschlossen gezeigt. Die Buseinheit 14 umfaßt einen Prozessor 40, der mit einem Hauptspeicher 42 verbunden ist. Der Prozessor 40 enthält Register, die bei 44 gekennzeichnet sind und aus Mehrzweckregistern, Adressenregistern, Steuerregistern und anderen verschiedenartigen Registern bestehen, auf die der Steuerprozessor 40 in früheren Systemen über eine Steuerkonsole hätte zugreifen können.
  • Der Busschnittstellenadapter 26 enthält eine Buseinheitenadresse 46, die ein Register mit der E/A-Adresse der Buseinheit ist und vom Busschnittstellenadapter 26 beim Erhalt des Zugriffs auf den Bus und bei der Feststellung, wann eine Nachricht von einer anderen Einheit für sie bestimmt ist, verwendet wird. Der Busschnittstellenadapter 26 enthält des weiteren eine Direktzugriffssteuereinrichtung 48, die Nachrichten auf dem Bus auf Steuerkonsolenbefehle überwacht, welche für die Buseinheit 14 bestimmt sind. Informationen, die über den Bus 10 übertragen werden, haben ein zugehöriges Identifizierungskennzeichen, das angibt, um welche Art von Informationen es sich bei ihnen handelt. In einer bevorzugten Ausführungsform wird das Identifizierungskennzeichen auf Adressenleitungen übertragen, kann aber genausogut in dem Befehl selbst eingefügt sein. Getrennte Busleitungen könnten auch verwendet werden, um die Befehle anzuzeigen. Steuerkonsolenbefehle werden durch solch ein Identifizierungskennzeichen angezeigt und an die Steuereinrichtung 48 weitergeleitet. Der E/A-Adapter 26 ergreift keine Maßnahme, sofern sie nicht von der Steuereinrichtung 48 angefordert wird.
  • Die Direktzugriffssteuereinrichtung 48 hat Zugriff auf eine Reihe von Steuereinrichtungsregistern 50, die von ihr verwendet werden, um Daten zwischen der Buseinheit 14 und dem Bus 10 zwischenzuspeichern. Die Direktzugriffssteuereinrichtung 48 hat über viele Leitungen und eine Logik Zugriff auf einige Register 44 und den größten Teil des Hauptspeichers 42, die bereits vor der Implementierung der Direktzugriffssteuereinrichtung 48 vorhanden waren. Durch die Implementierung des direkten Speicherzugriffs auf den Hauptspeicher 42 hatte der E/A-Adapter 26 lesenden und schreibenden Zugriff auf die meisten Speicherplätze im Hauptspeicher 42. Eine Leitung oder Leitungen 52 vom E/A- Adapter 26 zur Adressenleitungs-Steuerlogik im Prozessor 40 ermöglicht dem Hauptspeicher 42 die Adressensteuerung auf einer Leitung 56. Ferner sorgt eine Leitung 58 für die Übertragung von Daten vom E/A-Adapter 26 durch den Datenweiterleitungs- und Steuerblock 60 über eine Leitung 62 zum Hauptspeicher 42.
  • Solche Leitungen in früheren E/A-Adaptern hatten hauptsächlich den Zweck, für die Übertragung von Daten zwischen an den Bus 10 angeschlossenen Speichern und dem Hauptspeicher 42 des Prozessors zu sorgen, ohne daß die Verarbeitungsaktivitäten des Prozessors 40 dazwischentreten, eine Standardfunktion beim direkten Speicherzugriff (DMA). Einige frühere E/A-Adapter sahen des weiteren eine Leitung 64 vor, die mit einem Registerauswahl-Steuerblock 66 verbunden war. Der Registerauswahl-Steuerblock 66 ermöglichte den lesenden und schreibenden Zugriff auf einige der Steuerregister 44. Daten wurden über den Datenweiterleitungs- Steuerblock 60 über die Leitung 62 geschrieben und gelesen, die ebenfalls mit den Registern verbunden war.
  • Die Direktzugriffssteuereinrichtung 48, obwohl sie als ein diskreter Block angegeben ist, ist in Form einer vollständigeren Gruppe von Zugriffsverbindungen zu weiteren Registern 44 in den E/A-Adapter 26 und teilweise in den Prozessor 40 integriert, um eine vollständige Steuerkonsolenfunktion bereitzustellen. Ferner wurde die Buseinheit 14 um ein in den Steuerregistern 44 enthaltenes Steuereinrichtungs-Statusregister erweitert. Das Statusregister ist zwar nicht erforderlich, ist aber nützlich, um den Status von Operationen zu liefern. Es kann vorzugsweise ausschließlich von der Buseinheit 14 gesetzt werden, um eine präzise Darstellung des Status von ausgewählten Operationen zu geben.
  • Dem Statusregister, das mit den Registern 44 angegeben ist, sind in der bevorzugten Ausführungsform die folgenden Werte zugeordnet: Bit Wert Bedeutung Bei der letzten Operation der Direktsteuereinrichtung in bezug auf diese Buseinheit trat kein Fehler auf. Bei der letzten Operation der Direktsteuereinrichtung in bezug auf diese Buseinheit trat ein Fehler auf. Der Prozessor in dieser Buseinheit läuft nicht, oder es gibt in dieser Buseinheit keinen Prozessor. Der Prozessor in dieser Buseinheit läuft. Diese Buseinheit hat keine Prüfbedingung. Diese Buseinheit hat eine Prüfbedingung. Diese Buseinheit wird nicht aufgrund eines Fehlers gestoppt. Diese Buseinheit wird aufgrund eines Fehlers gestoppt. Reserviert. Von jeder Buseinheit definiert.
  • Die Bits 16 bis 31 werden von jeder Buseinheit definiert und können von den Entwicklern der Buseinheit gewünschte Informationen enthalten. Diese Informationen werden ausgewählt, um den Status der Buseinheit anzuzeigen und um die Anzahl der Operationen der Direktsteuereinrichtung zu reduzieren, die für die Steuereinheit notwendig sind, um den Status der Zielbuseinheit festzustellen. Das Statusregister 44 kann nicht geladen werden. Bei den Statuswerten handelt es sich um echte Register oder um die Ausgangswerte einer beliebigen arbiträren Logikfunktion.
  • In Fig. 3 ist bei 67 ein Befehl in Blockform angegeben. Er umfaßt einen Befehlsnamen, ein Auswahlfeld, ein reserviertes Feld und ein Direktdatenfeld. Diese Felder werden nachstehend ausführlicher erläutert. Weitere Informationen auf dem Bus 10 sind bei 68 angegeben, einschließlich der Adresse der Buseinheit, für welche die Nachricht bestimmt ist, und des Identifizierungskennzeichens, das die Art der Nachricht kennzeichnet, wie beispielsweise einen direkten Speicherzugriff, Standard-Lese- oder -Schreibbefehle oder Steuerkonsolenbefehle.
  • Der E/A-Adapter 26 vergleicht bei 70 die Adresse der Buseinheit und ignoriert die Nachricht bei 72, wenn die Adresse nicht mit seiner eigenen Adresse übereinstimmt. Wenn der Vergleich positiv ausfällt, werden die Nachrichten 67 und 68 empfangen, und das Identifizierungskennzeichen wird bei 74 geprüft. Das Identifizierungskennzeichen kennzeichnet bei 76 die Art der Nachricht für eine normale Verarbeitung durch den E/A-Adapter 26 und die Buseinheit 14 oder gibt an, daß es sich um einen Steuerbefehl handelt, der beim Block 78 zur Steuereinrichtung 48 weitergeleitet wird. Im Block 79 wird auf den nächsten Befehl gewartet. In einer Ausführungsform wird die Verarbeitung eines Befehls durch die Buseinheit beendet, bevor ein weiterer Befehl gesendet wird. In einer anderen Ausführungsform werden Befehle in eine Warteschlange gestellt, und der Block 79 wartet im Aktivzustand auf den nächsten Befehl, um ihn in die Warteschlange zu stellen, und zwar unmittelbar nachdem die Adresse der Buseinheit beim Block 70 auf eine frühere Nachricht verglichen worden ist.
  • Die Funktionsweise der Steuereinrichtung 48 ist in Fig. 4 in Form eines Flußdiagramms ausführlicher gezeigt. Der Befehl wird bei 80 vom Block 78 empfangen. Nach dem Empfang des Befehls wird der E/A-Adapter daran gehindert, weitere Informationen zu verarbeiten, die er vom Bus 10 auf eine von vielen Arten empfangen hat, wie bei den Blöcken 82, 84, 86 und 88 angegeben ist. Die genaue Art, die ausgewählt wird, hängt von den Kenndaten des Busses 10 und des E/A-Adapters des Systems ab, in dem die Erfindung implementiert ist.
  • Bei 90 wird die in dem Befehl gekennzeichnete Operation danach klassifiziert, zu welchem Prozessor oder zu welcher Einrichtung in der Buseinheit sie gehört und bei 92, 94 und 96 danach, welche Gruppe von Registern und/oder welchen Speicher sie betrifft. Es sei darauf hingewiesen, daß nur drei Möglichkeiten gezeigt sind, daß aber weitaus mehr als drei möglich sind. Die drei, die gezeigt sind, gelten für einen Prozessor oder eine Einrichtung, der bzw. die mindestens zwei verschiedene Gruppen von Registern, A und B, wie bei 92 und 94 angegeben ist, und mindestens eine Hauptspeichereinheit hat, wie bei 96 angegeben ist. An dieser Stelle manipuliert die Steuereinrichtung bei 98, 100 und 102 Datenweiterleitungs-, Steuer- und Datenspeicherelemente, um die Operation auszuführen. Gebrauch wird von den bestehenden Pfaden in Fig. 2 gemacht, wie beispielsweise dem Pfad 64 vom E/A-Adapter 26 zur Registerauswahl-Steuerkonsole 66, dem Pfad 52 zur Adressenleitungssteuerung 54 und dem Pfad 58 zur Datenweiterleitungssteuerung 60. Wie vorher bereits erwähnt wurde, sind die Pfade von den Steuerblöcken 66, 54 und 60 verbessert, um einen vollständigen Zugriff zu ermöglichen, wie er zur Ausführung einer gleichwertigen Steuerkonsolenfunktion erforderlich ist. Da viele der Pfade bereits vorhanden waren, ist die Implementierung der von der Erfindung vorgesehenen vollständigen Steuerkonsolenfunktion mit geringen Kosten verbunden.
  • Schließlich wird die Operation bei 104 beendet. Die aktive Operation bei 82, 84, 86 oder 88, die den E/A-Adapter 26 bis zur Beendigung der Operation in Schach hielt, ist nicht mehr aktiv. Der E/A-Adapter 26 ist somit zur Verarbeitung weiterer Informationen in Fig. 3 bereit.
  • Eine Gruppe generischer Konsolenbefehle wird nun erläutert. Die tatsächlich implementierte Befehlsgruppe hängt von der Art der Buseinheit ab, für die eine Steuerkonsole gewünscht ist. Die Direktzugriffssteuereinrichtung ist vorzugsweise in Hardware ausgeführt, so daß in der Buseinheit keine Software geladen werden oder lauffähig sein muß, damit die Einrichtung arbeiten kann.
  • Ein Befehl "Stopp" kann die gesamte Buseinheit oder einen Teil der Buseinheit stoppen.
  • Ein Befehl "Start" kann die gesamte Buseinheit oder einen Teil der Buseinheit starten.
  • Mit einem Befehl "Lesen" wird jede Entität in der Buseinheit, sei es ein Register oder ein Hauptspeicherplatz, von denen beide durch eindeutige Adressen näher bezeichnet sind, gelesen.
  • Mit einem Befehl "Schreiben" wird jeder beliebige Speicherplatz in der Buseinheit beschrieben.
  • Ein Befehl "Laden" bewirkt, daß ein Befehl in der Direktsteuereinrichtung der angegebenen Buseinheit geladen wird.
  • Mit einem Befehl "Daten laden" werden ausgewählte Daten in der Direktsteuereinrichtung der angegebenen Buseinheit geladen.
  • Ein Befehl "Zuvor geladenen Befehl ausführen" bewirkt, daß ein zuvor geladener Befehl ausgeführt wird.
  • Weitere spezielle Befehle können vorgesehen werden, um buseinheitenspezifische Funktionen auszuführen.
  • Die Buseinheiten und der Bus können äußerst funktionelle Befehle wie beispielsweise "beliebigen Speicherplatz oder beliebiges Register lesen oder beschreiben" ermöglichen, oder sie können auf das Laden oder Anrufen von ein paar Registern 50 im E/A- Adapter 26 beschränkt sein, die der Direktzugriffssteuereinrichtung 48 zugeordnet sind. Im letzteren Fall ermöglicht die Gruppe von Befehlen, diese Register 50 zu laden und abzurufen und die Direktzugriffssteuereinrichtung 48 anzuweisen, Befehle auszuführen, die auf den Werten dieser Register beruhen. Ein Beispiel ist das Einlesen eines Speicherplatzes in ein Register 50 der Direktsteuereinrichtung, wobei die Adresse von einem anderen Register 50 der Direktsteuereinrichtung genommen wird. Die Direktsteuereinrichtung benötigt sowohl den lesenden als auch den schreibenden Zugriff auf Register, den Speicher und die Steuereinrichtungen 54, 60 und 66 in der Buseinheit. Dieser Zugriff braucht nicht über einen einzigen Befehl zu erfolgen. Um die Hardware zu minimieren, kann es mehrerer Befehle bedürfen, um Entitäten innerhalb der Buseinheit zu prüfen oder zu ändern.
  • Zusätzlich zur Steuerkonsole 22 in Fig. 1, die eine Benutzerschnittstelle vorsieht, um die Buseinheit 12 zu veranlassen, Steuerbefehle an die Buseinheit 14 oder 16 auszugeben, können andere Buseinheiten einen Steuerbefehl an eine andere Buseinheit ausgeben. In einer Ausführungsform ist die Buseinheit 14 eine Arbeitsstations-Steuereinheit. Ein Benutzer an einer der angeschlossenen Arbeitsstationen 14A oder 14B könnte ein auf der Buseinheit 12 laufendes Programm aufrufen, das Steuerbefehle an die Buseinheit 16 ausgibt. Unter der Annahme, daß die Buseinheit 12 die Direktsteuereinrichtung 48 enthält, könnte der Benutzer außerdem veranlassen, daß die für die Buseinheit 12 bestimmten Befehle von der Buseinheit 16 ausgegeben werden.
  • Beispiele für Abläufe von Operationen für die Direktzugriffssteuereinrichtung 48 sind in den Fig. 5, 6 und 7 gezeigt. Die Abläufe gehen von ziemlich strengen Hardwareeinschränkungen aus. Auf einem System mit weniger Einschränkungen könnten viele der Operationen kombiniert werden. Beispielsweise könnte eine Leseoperation aus einem einzelnen Speicherplatz eine Operation und Antwort in einem sein.
  • In Fig. 5 ist der Anlauf für einen Befehl "Lesen" gezeigt. Leseoperationen können direkt aus dem Speicher oder Register oder aus den Registern 50 der Direktzugriffssteuereinrichtung erfolgen. Das Format von Befehlen im allgemeinen und Beispiele der Befehle werden nachstehend in dieser Beschreibung erläutert.
  • Der Befehl "Lesen" wird im Block 106 von der Steuerkonsole 22 und dem Prozessor 20 der Steuerbuseinheit von Fig. 1 initiiert. Die Busschnittstelleneinheit 18 erhält die Steuerung des Busses 10, formatiert den Befehl und überträgt den Befehl auf dem Bus 10 mit einer Adresse, die der gewünschten Buseinheit entspricht. Der Befehl "Lesen" enthält eine Adresse von einem der Register 44 oder dem Speicherplatz des Hauptspeichers 42 in Fig. 2. Wenn der Befehl "Lesen" für die Buseinheit 14 bestimmt ist, erkennt der Busschnittstellenadapter 26 ihre Adresse in dem Befehl und nimmt den Befehl vom Bus 10. Die Direktzugriffssteuereinrichtung 48 erkennt den Befehl als einen Steuerkonsolenbefehl und verarbeitet ihn. Die Direktzugriffssteuereinrichtung 48 benutzt dann die Steuerblöcke 54, 60 und 66, um das Register oder den Hauptspeicherplatz, das bzw. der in dem Befehl angegeben ist, zu lesen und gibt den Wert in einen Puffer oder in das Register 50 der Steuereinrichtung, wie in dem Anlaufdiagramm bei 107 angegeben ist. In einer weiteren Ausführungsform kann sich der Befehl "Lesen" von einem Befehl "Register lesen" unterscheiden, um zu verhindern, daß Speicheradressen Registern zugeordnet werden. Die Steuerbuseinheit 12 sendet dann bei 108 einen Befehl "Wert der Leseoperation zurücksenden", den die Direktzugriffssteuereinrichtung 48 wieder als einen Steuerkonsolenbefehl erkennt, den Befehl verarbeitet und den Wert, den sie in einem der Register 50 der Steuereinrichtung gespeichert hat, zurücksendet, wie beim Block 109 angegeben ist. Der von der Host-Einheit geschriebene Wert des Statusregisters wird dann zurückgesendet.
  • Es ist offensichtlich, daß die Trennung des Vorgangs, bei dem der Speicherinhalt in mehrere Befehle ausgelesen wird, sowohl von den Kenndaten des E/A-Busses 10 als auch von der Komplexität der Logik der Steuereinrichtung 48 abhängt. Das Auslesen könnte in einem einzigen Befehl ausgeführt werden, wobei die Daten direkt an den Prozessor zurückgesendet werden, der den Befehl "Lesen" ausgibt.
  • Ein Anlauf für einen Befehl "Schreiben" ist in Fig. 6 gezeigt. Der Befehl gibt die Maßnahme an, die von einer Steuereinrichtung zu ergreifen ist. Es kann sich um einen Speicher- oder Registerzugriff oder eine Prozessorsteuerungsmaßnahme handeln, wie beispielsweise STOPP, ZURÜCKSETZEN oder START. Das erste Datenwort von Schreibbefehlen ist eine von dem Befehl zu verwendende - Adresse, wenn der Befehl eine Adresse erfordert. Andernfalls wird das erste Datenwort ignoriert. Das zweite Datenwort von Schreibbefehlen sind von dem Befehl zu verwendende Daten, wenn der Befehl Daten erfordert. Unter der Annahme, daß der Bus breit ist, könnten die Datenworte problemlos zusammen statt gemultiplext gesendet werden.
  • Ein Schreibbefehl wird von der Steuerbuseinheit gesendet, wie beim Block 110 angegeben ist. Der Schreibbefehl wird auf dem Bus 10 mit einer Adresse gesendet, welche die gewünschte Buseinheit angibt. Bei 120 speichert die Buseinheit, für die der Befehl bestimmt ist, den Befehl und die Adresse in den Registern 50. Die zu schreibenden Daten werden dann bei 130 gesendet und bei 140 in einem Register 50 gespeichert. Bei 150 wird ein Befehl "Ausführen" an die Buseinheit gesendet und von der Direktzugriffssteuereinrichtung an dieser Einheit abgefangen. Bei 160 führt die Direktzugriffssteuereinrichtung den Befehl aus, wobei sie die Daten im Register 50 an das Register oder den Speicherplatz sendet, das bzw. der in den Registern 50 gespeichert ist. Der Status der Schreiboperation wird im Statusregister 63 gespeichert. Die Steuerbuseinheit sendet dann bei 170 einen Befehl "Status abfragen", der ein Lesen des Statusregisters und bei 180 ein Zurücksenden des Status der Schreiboperation auf dem Bus bewirkt. Eine andere Implementierung des Busses 10 und der Steuereinrichtung 48 vorausgesetzt, könnte eine Schreiboperation wieder weitaus effizienter ausgeführt werden.
  • In Fig. 7 dient ein Flußdiagramm zur Darstellung sowohl der Befehle "Stopp" als auch "Verarbeitungsstart". Bei 210 wird der Befehl "Verarbeitungsstart" oder "Stopp" von der Bussteuereinheit erzeugt und an eine gewünschte Buseinheit gesendet. Bei 220 nimmt der entsprechende E/A-Adapter den Befehl an, und seine Direktzugriffssteuereinrichtung 48 erkennt ihn als einen Steuerkonsolenbefehl und führt ihn aus, was bewirkt, daß die Buseinheit den Betrieb aufnimmt oder einstellt. Die Steuerkonsole macht dies, indem sie ein adressierbares Register in den Registern 44 lädt, das die Steuerkonsolenfunktion mit den Werten "Betrieb aufnehmen" oder "Stopp" laden kann -- das Register steuert die Lauf/Stopp-Logik der Buseinheit. In einer weiteren Ausführungsform stehen eindeutige Befehle wie "Betrieb aufnehmen" und "Stopp" mit der Steuerlogik anstatt mit Registern in Wechselwirkung, um die Buseinheit zu starten und zu stoppen.
  • Ein Merkmal der vorliegenden Erfindung ist, daß Steuerkonsolenbefehle eine Buseinheit nicht vollständig davon abzuhalten brauchen, andere Befehle und Daten zu verarbeiten. Die Steuerbefehle werden wie andere Befehle behandelt und ausgeführt. Sofern einer der Steuerbefehle den betreffenden Prozessor nicht anhält, werden andere Befehle weiterhin ausgeführt. Wenn die E/A-Einheit Busbefehle in eine Warteschlange stellt, kann Steuerbefehlen jede gewünschte Priorität zugeordnet werden. Eine direkte Speicherzugriffs-(DMA)-Operation kann unmittelbar im Anschluß an einen Steuerbefehl erfolgen. Es ist wahrscheinlich effizienter, Hauptspeicherdaten mittels einer DMA-Operation als durch Verwendung mehrerer Steuerbefehle abzurufen. Wenn eine DMA-Operation nicht möglich ist, könnten Steuerbefehle verwendet werden.
  • Das Befehlsformat und mehrere grundlegende Befehle werden nun definiert. Da es sich bei der Direktzugriffssteuereinrichtung um eine maschinennahe Schnittstelle handelt und sie von Prozessor zu Prozessor verschieden ist, werden nur wenige der Befehle vollständig spezifiziert. Andere Befehle werden definiert, die von Entwicklern von Buseinheiten verwendet werden können, wenn sie zu der Buseinheit passen. Das Befehlswortformat ist vorzugsweise wie folgt:
  • Bits Beschreibung
  • 0 - 7 Befehlsname
  • 8 - 11 Prozessorauswahl
  • 12 - 15 Reserviert
  • 16 - 31 Direktdaten
  • Die Bits 0 bis 7 enthalten eine Kennung des Befehls. Mehrere werden aufgeführt, gefolgt von den Befehlsdefinitionen.
  • Das Prozessorauswahlfeld der Bits 8 bis 11 wird verwendet, um den Prozessor oder eine andere Einrichtung auf der Buseinheit auszuwählen, an den bzw. an die der Befehl übertragen werden soll. Der Wert "0000" wird von einigen Befehlen verwendet, um alle Prozessoren auszuwählen. Jede Buseinheit ordnet den Prozessoren oder Einrichtungen auf der Buseinheit Vier-Bit-Kennungen zu, und die Befehle müssen in der Lage sein, diese getrennt zu behandeln, wie bei 90 in Fig. 4 angegeben ist. Buseinheiten können auch Gruppen von Prozessoren und Einrichtungen definieren, die alle bei bestimmten Werten dieses Feldes ausgewählt werden.
  • Das Direktdatenfeld, das die Bits 16 bis 31 umfaßt, wird von Befehlen, die von den Buseinheiten definiert werden, als Befehlserweiterung oder als ein Direktdatenfeld oder eine Adresse verwendet.
  • Befehle sind im folgenden Text definiert. Befehle, die mit einem markiert sind, sind in der bevorzugten Ausführungsform notwendig. Andere sind optional, aber erwünscht. Wenn besondere Befehle oder Befehlsfolgen notwendig sind, um auf den Speicher oder auf Register in einer Buseinheit zuzugreifen, führt die Buseinheit ihren eigenen Befehl oder ihre eigenen Befehle aus, um einen solchen Zugriff zu ermöglichen. Sie verwenden nicht die nachstehend definierten Befehle, es sei denn, auf einen bestimmten Speicher oder auf bestimmte Register kann durch die nachstehend definierten Befehle zugegriffen werden.
  • PROZESSOR DER BUSEINHEIT ANHALTEN* HEX "01"
  • Der Befehl "Prozessor der Buseinheit anhalten" ist als X'01' gekennzeichnet, was eine Darstellung des hexadezimalen "01" ist, das acht binäre Bits zur Darstellung braucht. Dieser Befehl hält den (die) Prozessor(en) auf der Buseinheit an. Die Direktzugriffssteuereinrichtung 48 verwendet das Prozessorauswahlfeld des Befehls, um den Prozessor oder die Einrichtung auszuwählen, der bzw. die angehalten werden soll, wenn es mehr als einen Prozessor oder eine Einrichtung gibt; andernfalls ignoriert sie das Prozessorauswahlfeld. Wenn es auf der Zielbuseinheit mehrere Prozessoren gibt und der Wert des Prozessorauswahlfeldes "0000" ist, hält der Befehl "Stopp" alle Prozessoren und Einrichtungen an. Wenn es sich bei dem Prozessorauswahlfeld um eine Gruppe von Prozessoren und Einrichtungen handelt, hält der Befehl "Stopp" alle Prozessoren und Einrichtungen in dieser Gruppe an.
  • PROZESSOR DER BUSEINHEIT STARTEN* HEX "02"
  • Der Befehl "Prozessor der Buseinheit starten" startet den (die) Prozessor(en) auf der Buseinheit. Die Direktzugriffssteuereinrichtung 48 verwendet das Prozessorauswahlfeld des Befehls, um den Prozessor oder die Einrichtung auszuwählen, der bzw. die gestartet werden soll, wenn es mehr als einen Prozessor oder eine Einrichtung gibt; andernfalls ignoriert sie das Prozessorauswahlfeld. Wenn es auf der Zielbuseinheit mehrere Prozessoren gibt und der Wert des Prozessorauswahlfeldes "0000" ist, startet der Befehl "START" alle Prozessoren und Einrichtungen. Wenn es sich bei dem Prozessorauswahlfeld um eine Gruppe von Prozessoren und Einrichtungen handelt, startet der Befehl "START" alle Prozessoren und Einrichtungen in dieser Gruppe.
  • PROZESSOR DER BUSEINHEIT ZURÜCKSETZEN* HEX "03"
  • Der Befehl "Prozessor der Buseinheit zurücksetzen" setzt den (die) Prozessor(en) auf der Buseinheit zurück. Die Direktzugriffssteuereinrichtung 48 verwendet das Prozessorauswahlfeld des Befehls, um den Prozessor oder die Einrichtung auszuwählen, der bzw. die zurückgesetzt werden soll, wenn es mehr als einen Prozessor oder eine Einrichtung gibt; andernfalls ignoriert sie das Prozessorauswahlfeld. Wenn es auf der Zielbuseinheit mehrere Prozessoren gibt und der Wert des Prozessorauswahlfeldes "0000" ist, setzt der Befehl "ZURÜCKSETZEN" alle Prozessoren und Einrichtungen zurück. Wenn es sich bei dem Prozessorauswahlfeld um eine Gruppe von Prozessoren und Einrichtungen handelt, setzt der Befehl "ZURÜCKSETZEN" alle Prozessoren und Einrichtungen in dieser Gruppe zurück.
  • PROZESSOR DER BUSEINHEIT IN EINZELBEFEHLSAUSFÜHRUNG BETREIBEN HEX "04"
  • Dieser Befehl bewirkt, daß ein Prozessor oder eine Buseinheit in Einzelbefehlsausführung betrieben wird. Die Direktzugriffssteuereinrichtung 48 verwendet das Prozessorauswahlfeld des Befehls, um den Prozessor oder die Einrichtung auszuwählen, der bzw. die in Einzelbefehlsausführung betrieben werden soll. Der Prozessor wird zuerst angehalten. Der Prozessor führt dann eine Anweisung aus und hält wieder an. Register können dann von anderen Befehlen geprüft werden, oder es kann schrittweise durch den nächsten Befehl gegangen werden. Dieser Befehl wird während der Fehlersuche oft verwendet.
  • SPEICHER BESCHREIBEN HEX "05"
  • Der Befehl "Speicher beschreiben" schreibt das zweite Datenwort des Befehls in den Speicherplatz auf der Buseinheit, die von dem ersten Datenwort des Befehls adressiert worden ist.
  • Die Direktzugriffssteuereinrichtung 48 verwendet das Prozessorauswahlfeld des Befehls, um den Speicher auf der Buseinheit auszuwählen, der beschrieben werden soll, wenn es mehr als einen Prozessor oder eine Einrichtung gibt. Andernfalls ignoriert sie das Prozessorauswahlfeld. Der Befehl "Speicher beschreiben" funktioniert mit jeweils einer Speichereinheit.
  • REGISTER BESCHREIBEN HEX "06"
  • Der Befehl "Register beschreiben" schreibt ein zweites Datenwort des Befehls in das Register auf der Buseinheit, die von dem ersten Datenwort des Befehls adressiert worden ist. Die Direktzugriffssteuereinrichtung 48 verwendet das Prozessorauswahlfeld des Befehls, um die Gruppe von Registern auf der Buseinheit auszuwählen, die beschrieben werden soll, wenn es mehr als einen Prozessor oder eine Einrichtung gibt. Andernfalls ignoriert sie das Prozessorauswahlfeld. Der Befehl "Register beschreiben" funktioniert mit jeweils einer Gruppe von Registern.
  • RESERVIERTE BEFEHLE* HEX "07" bis "3F"
  • Diese Befehle sind für eine zusätzliche Erweiterung reserviert.
  • BUSEINHEITENABHÄNGIGE BEFEHLE HEX "40" bis "FF"
  • Die Befehlscodes X'40' bis X'FF' können von jeder Buseinheit nach Erfordernis definiert werden. Buseinheitenbefehle können die Felder Registeradresse, Prozessorauswahl und Direktdaten in dem Befehl und beide Datenworte bei der Operation der Einheit wie gewünscht verwenden. Diese Befehle bedürfen wahrscheinlich zusätzlicher Hardware, um ausgeführt zu werden. Sie können zur Ausführung von Funktionen ausgewählt werden, für die normalerweise mehrere andere Befehle ausgeführt werden müßten. Durch Verwendung komplexerer Befehle bleibt die Busbandbreite erhalten, da weniger Befehle übertragen werden müssen. Wenn man das Befehlsformat hat, und wenn man die richtigen Register kennt, die man über die Befehle steuern muß, kann man leicht Befehle erzeugen, um eine Vielzahl an Funktionen auszuführen und die Steuerung vorzunehmen. Unter Verwendung der speziellen Buszugriffsprotokolle werden die Befehle an gewünschte Buseinheiten gesendet. Eine Buseinheit kann über die Befehle gesteuert werden, und weitere an die Buseinheit angeschlossene Einheiten können ebenfalls gesteuert werden. Die Einheiten, wie beispielsweise die Arbeitsstationen 14A, 14B und die Plattenlaufwerkseinheiten 16A und 16C kommunizieren mit ihren entsprechenden Buseinheiten für gewöhnlich mittels eines Registers. Da die Direktzugriffssteuereinrichtung vorzugsweise den Zugriff auf alle Register in der Buseinheit ermöglicht, können die Einheiten selbst bis zu einem gewissen Grad ohne Betriebssoftware in der Buseinheit gesteuert werden.
  • Während die Erfindung in Form von einer oder mehreren bevorzugten Ausführungsformen beschrieben worden ist, erkennt der Fachmann, daß viele Variationen möglich sind. Der einzelne Bus, der verwendet wird, beeinflußt wesentlich die resultierende Befehlsstruktur, die verwendet werden kann. Je größer die Leistungsfähigkeit des Busses ist, desto komplexer kann ein Befehl sein. Außerdem braucht eine einzelne Buseinheit nicht ausschließlich für eine Steuerkonsolenfunktion bestimmt zu werden, da jede beliebige Einheit die Funktion einer Steuerkonsole übernehmen oder Steuerkonsolenbefehle empfangen kann. Eine vollständige Steuerkonsolenfunktion wird mit einem Minimum an zusätzlicher Hardware erreicht.

Claims (17)

1. Busschnittstellenadapter-Anordnung (26), um eine Buseinheit (14), die der Busschnittstellenadapter-Anordnung (26) zugeordnet ist, mit Steuerkonsolenfunktionen auszustatten, wobei die Buseinheit mit zumindest einer anderen solchen Buseinheit (16) über einen E/A-Bus (10) verbunden ist, der Informationen einschließlich Befehlen und Daten zwischen Buseinheiten überträgt, wobei jede Buseinheit einen Prozessor (40), eine Hauptspeichereinheit (42) und Register (44) hat, auf die der E/A-Bus (10) über ihren Busschnittstellenadapter zugreifen kann, und die Busschnittstellenadapter- Anordnung dadurch gekennzeichnet ist, daß sie folgendes umfaßt:
i) eine Direktzugriffssteuereinrichtung (48) mit
- Überwachungsmitteln, die mit dem E/A-Bus verbunden sind, um Nachrichten auf dem E/A-Bus zu überwachen, die für den Prozessor der gesteuerten Buseinheit (14) bestimmt sind;
- Anfangmitteln, die mit den Überwachungsmitteln verbunden sind, um Nachrichten abzufangen, die aus Steuerbefehlen bestehen, die für den Prozessor der gesteuerten Buseinheit (14) bestimmt sind;
- Steuerbefehlausführungsmitteln, um die von den Anfangmitteln abgefangenen Befehle auszuführen; und
ii) Registerauswahlmittel (64), die mit den Steuerbefehlausführungsmitteln und dem Prozessor der gesteuerten Buseinheit (14) verbunden sind, um Register (44) in dem Prozessor wie von den Steuerbefehlen angewiesen zu lesen und zu beschreiben, um den Prozessor direkt über den E/A-Bus zu steuern.
2. Anordnung gemäß Anspruch 1, wobei die Nachrichten auf dem Bus Daten und Befehle von anderen an den E/A-Bus angeschlossenen Prozessoren und Steuerbefehle umfassen.
3. Anordnung gemäß Anspruch 2, wobei einer der anderen Prozessoren ein Steuerprozessor ist, um Programme auszuführen, welche die Steuerbefehle auf dem E/A-Bus erzeugen.
4. Anordnung gemäß Anspruch 1, die des weiteren Mittel umfaßt, um entsprechend den Steuerbefehlen auf die Hauptspeichereinheit (42) eines Prozessors zuzugreifen.
5. Anordnung gemäß Anspruch 4, wobei ein Steuerbefehl eine Adresse der Hauptspeichereinheit (42) umfaßt und das Ausführungsmittel die Adresse verwendet, um das Zugriffsmittel zu veranlassen, auf Daten in der Hauptspeichereinheit an der Adresse zuzugreifen.
6. Anordnung gemäß Anspruch 5, wobei andere Prozessoren mit dem E/A-Bus verbunden sind und das Zugriffsmittel den anderen Prozessoren, die den Zugriff anfordern, den Zugriff auf die Hauptspeichereinheit ermöglicht.
7. Anordnung gemäß Anspruch 1, wobei der Prozessor eine Vielzahl von Einrichtungen umfaßt und wobei jeder Steuerbefehl ein Auswahlfeld hat, um die Einrichtung in dem Prozessor anzugeben, die der Steuerbefehl betrifft.
8. Anordnung gemäß Anspruch 7, wobei das Auswahlfeld eine Gruppe von Einrichtungen in dem Prozessor angibt, die der Steuerbefehl betrifft.
9. Anordnung gemäß Anspruch 1, wobei das Steuerbefehlausführungsmittel Mittel zur Ausführung eines Stoppbefehls umfaßt, um einen Prozessor an der Ausführung zu hindern.
10. Anordnung gemäß Anspruch 1, wobei das Steuerbefehlausführungsmittel Mittel zur Ausführung eines Startbefehls umfaßt, um einen Prozessor zu starten, so daß er mit der Ausführung beginnt.
11. Anordnung gemäß Anspruch 1, wobei das Steuerbefehlausführungsmittel Mittel zur Ausführung eines Lesebefehls umfaßt, um Speicherplätze in dem Prozessor zu lesen.
12. Anordnung gemäß Anspruch 1, wobei das Steuerbefehlausführungsmittel Mittel zur Ausführung eines Schreibbefehls umfaßt, um Speicherplätze in dem Prozessor zu beschreiben.
13. Anordnung gemäß Anspruch 1, wobei das Steuerbefehlausführungsmittel Mittel zum Laden von Informationen in ein ausgewähltes Register des Prozessors umfaßt.
14. Anordnung gemäß Anspruch 13, wobei das Steuerbefehlausführungsmittel Mittel umfaßt, um den Prozessor zu veranlassen, einen zuvor geladenen Befehl auszuführen.
15. Ein Verfahren, um eine Buseinheit (14) mit Steuerkonsolenfunktionen auszustatten, die einem Busschnittstellenadapter (26) zugeordnet ist und zumindest mit einer anderen solchen Buseinheit (16) über einen E/A-Bus (10) verbunden ist, der Informationen einschließlich Befehlen und Daten zwischen Buseinheiten überträgt, wobei jede Buseinheit einen Prozessor (40), eine Hauptspeichereinheit (42) und Register (44) hat, auf die der E/A-Bus über ihren Busschnittstellenadapter zugreifen kann, und das Verfahren dadurch gekennzeichnet ist, daß es die folgenden Schritte umfaßt:
a) Erzeugen eines Steuerbefehls in einer ersten Buseinheit der einem ersten Schnittstellenadapter zugeordneten Buseinheiten;
b) Übertragen des Steuerbefehls an eine zweite Buseinheit der einem zweiten Schnittstellenadapter zugeordneten Buseinheiten;
c) Empfangen des Steuerbefehls an dem zweiten Schnittstellenadapter der zweiten Buseinheit der Buseinheiten;
d) Weiterleiten des Steuerbefehls an eine Direktzugriffssteuereinrichtung (48), die in den zweiten Schnittstellenadapter und teilweise in die zweite Buseinheit integriert ist;
e) die Direktzugriffssteuereinrichtung (48) die empfangenen Informationen als einen Steuerbefehl erkennt; und
f) Ausführen des Steuerbefehls zur Bereitstellung der Steuerkonsolenfunktion durch die Benutzung bereits bestehender und hinzugefügter Pfade zu der Hauptspeichereinheit (42) und den Registern (44) der zweiten Buseinheit.
16. Verfahren gemäß Anspruch 15, wobei jeder Busschnittstellenadapter, der einer Buseinheit zugeordnet ist, eine Direktzugriffssteuereinrichtung umfaßt, die teilweise darin integriert ist, so daß zumindest eine der Buseinheiten als eine Steuerkonsole für die anderen Buseinheiten fungiert.
17. Verfahren gemäß Anspruch 15, wobei mehr als eine Buseinheit in der Lage ist, Steuerbefehle zu erzeugen und sie an andere Buseinheiten zu übertragen.
DE3853129T 1987-11-12 1988-09-13 Direkte Kontrolleinrichtung für Multiprozessornetzwerk. Expired - Fee Related DE3853129T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11975887A 1987-11-12 1987-11-12

Publications (2)

Publication Number Publication Date
DE3853129D1 DE3853129D1 (de) 1995-03-30
DE3853129T2 true DE3853129T2 (de) 1995-08-10

Family

ID=22386199

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3853129T Expired - Fee Related DE3853129T2 (de) 1987-11-12 1988-09-13 Direkte Kontrolleinrichtung für Multiprozessornetzwerk.

Country Status (7)

Country Link
EP (1) EP0316251B1 (de)
JP (1) JPH01134651A (de)
KR (1) KR930001588B1 (de)
CN (1) CN1038278C (de)
DE (1) DE3853129T2 (de)
GB (1) GB8814629D0 (de)
HK (1) HK23396A (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7398286B1 (en) * 1998-03-31 2008-07-08 Emc Corporation Method and system for assisting in backups and restore operation over different channels
US7610526B2 (en) * 2005-01-24 2009-10-27 Hewlett-Packard Development Company, L.P. On-chip circuitry for bus validation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1422952A (en) * 1972-06-03 1976-01-28 Plessey Co Ltd Data processing system fault diagnostic arrangements
US4667287A (en) * 1982-10-28 1987-05-19 Tandem Computers Incorporated Multiprocessor multisystem communications network
US4663706A (en) * 1982-10-28 1987-05-05 Tandem Computers Incorporated Multiprocessor multisystem communications network
JPS6149260A (ja) * 1984-08-17 1986-03-11 Fujitsu Ltd チヤネル処理装置
AU4907285A (en) * 1984-11-09 1986-05-15 Spacelabs, Inc. Communications bus broadcasting
US4803683A (en) * 1985-08-30 1989-02-07 Hitachi, Ltd. Method and apparatus for testing a distributed computer system

Also Published As

Publication number Publication date
JPH0574110B2 (de) 1993-10-15
JPH01134651A (ja) 1989-05-26
KR930001588B1 (ko) 1993-03-05
CN1036088A (zh) 1989-10-04
KR890008681A (ko) 1989-07-12
DE3853129D1 (de) 1995-03-30
EP0316251A2 (de) 1989-05-17
EP0316251A3 (de) 1991-07-03
HK23396A (en) 1996-02-16
EP0316251B1 (de) 1995-02-22
GB8814629D0 (en) 1988-07-27
CN1038278C (zh) 1998-05-06

Similar Documents

Publication Publication Date Title
DE69209538T2 (de) Automatische Konfiguration einer Einheit für koppelbare Rechner
DE2856483C2 (de)
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE3786967T2 (de) Protokoll zum Ungültigerklären eines Cachespeichers für ein digitales Datenverarbeitungssystem.
DE68925474T2 (de) Verriegelungsrechnersysteme
DE69630126T2 (de) Historische zustandinformation verwendendes entscheidungsprotokoll für zugriff auf ein geteiltes speichergebiet
DE3855673T2 (de) Von Peripheriegeräten ausgelöste Systemsteilrekonfiguration
DE3851928T2 (de) Steuerung von asynchron arbeitenden Peripheriegeräten.
DE3689696T2 (de) Datenverarbeitungssystem mit einem Hauptprozessor und einem Ko-Prozessor mit gemeinsamen Betriebsmitteln.
DE69730276T2 (de) Vorrichtung und Verfahren zur Erleichterung der Vermeidung von exzeptionellen bestimmten Zuständen während des Ablaufs eines Programmes
DE68903693T2 (de) Einrichtung zur datenverarbeitung.
DE68923026T2 (de) Speicherdiagnosegerät und Verfahren.
DE2657848C2 (de)
DE3783370T2 (de) Schaltung zur blockierungsverhinderung von hochprioritaetsanforderungen an eine systemsteuerung.
DE68915074T2 (de) Integrierte Zeitgeberschaltung mit mehreren Kanälen und zugeordnetem Bedienungsprozessor.
DE3688191T2 (de) Editor für virtuelle Maschinen.
DE2030812A1 (de) Modulare Datenrechnersysteme
DE19747396A1 (de) Verfahren und Anordnung zur Schaffung einer Ferndiagnose für ein elektronisches System über ein Netz
DE2401995A1 (de) Pruefsystem mit einem feinprogrammierbaren steuerspeicher
DE4313190B4 (de) Vorrichtung und Verfahren zur Initialisierung einer Datenschnittstelle für eine programmierbare Steuerung
DE68922545T2 (de) Zugeordneter Dienstprozessor mit Übertragungsmöglichkeiten zwischen Kanälen.
DE68923864T2 (de) Anordnung zur Speicher- und Peripherie-Bausteinauswahl.
DE68924992T2 (de) Symmetrische Steuerungsanordnung für Multiverarbeitung.
EP0500973A1 (de) Initialisierungsroutine im EEPROM
DE68923829T2 (de) Startsteuerung von logischen Systemen in einem Datenverarbeitungssystem mit logischer Prozessormöglichkeit.

Legal Events

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