[go: up one dir, main page]

DE68926725T2 - Atomare Sequenz für Phasenübergänge - Google Patents

Atomare Sequenz für Phasenübergänge

Info

Publication number
DE68926725T2
DE68926725T2 DE68926725T DE68926725T DE68926725T2 DE 68926725 T2 DE68926725 T2 DE 68926725T2 DE 68926725 T DE68926725 T DE 68926725T DE 68926725 T DE68926725 T DE 68926725T DE 68926725 T2 DE68926725 T2 DE 68926725T2
Authority
DE
Germany
Prior art keywords
information
bus
phase
data
target device
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
DE68926725T
Other languages
English (en)
Other versions
DE68926725D1 (de
Inventor
Robert C Frame
Fernando A Zayas
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Application granted granted Critical
Publication of DE68926725D1 publication Critical patent/DE68926725D1/de
Publication of DE68926725T2 publication Critical patent/DE68926725T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4213Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)
  • Debugging And Monitoring (AREA)
  • Small-Scale Networks (AREA)
  • Information Transfer Systems (AREA)

Description

    GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft einen Bus zur Verwendung in einem Computersystem, und insbesondere eine Kleincomputerspeicherverbindung und eine rein hardwaremäßige Protokollsteuerung mit einer atomaren geordneten Folge von Informationsphasen übergängen.
  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung verbessert den Industriestandard Kleincomputersystemschnittstelle (SCSI), der hierdurch durch Bezugnahme enthalten ist.
  • Die SCSI-Verbindung wurde als Folge der weiten Verbreitung billiger VLSI- Vorrichtungssteuerungen entwickelt, die die Wirtschaftlichkeit von Schnittstellen für Kleinsystemspeichervorrichtungen änderten. Die billigen VLSI- Vorrichtungssteuerungen ließen zu, daß in jede Vorrichtung eine Steuerung eingebaut wird.
  • Ebenso wären deshalb, weil Vorrichtungsschnittstellen für bestimmte Vorrichtungstypen sehr spezifisch sind, viele Vorrichtungsschichten-Schnittstellenstandards erforderlich, um alle Kleincomputervorrichtungstypen zu bedienen. Als Folge davon wäre zum Anschließen aller Busse an die Rückwandleiterplatte jeder Vorrichtungsschnittstelle über eine Steuerung eine fast unbegrenzte Anzahl von spezifischen Steuerprodukten erforderlich. Die Entwicklung des SCSI-Standards ließ zu, daß ein einzelner Computersteckplatz für eine Vielzahl von Vorrichtungen dient.
  • Angesichts der obigen Probleme wurde ein paralleler Kleinsystembus entwickelt, der allgemein die Kleinsystemanforderungen an eine vorrichtungsunabhängigen Peripherie oder einen Systembus erfüllte. Der Kleincomputersystem- Schnittstellenbus hatte sehr großen Markterfolg und wurde schließlich der lndustriestandard SCSI.
  • Die SCSI-Schnittstelle ist ein lokaler Eingabe-/Ausgabe-(I/O)-Bus, der mit Datengeschwindigkeiten von über fünf Mega-Bytes pro Sekunde in Abhängigkeit von der Schaltkreisimplementierung betrieben werden kann. Die primäre Aufgabe der Schnittstelle besteht darin, Hostcomputer zu schaffen, die innerhalb einer Klasse von Vorrichtungen unabhängig von der Vorrichtung sind. Das Schnittstellenprotokoll enthält Vorkehrungen für den Anschluß vieler Initiatoren, d.h. Vorrichtungen, die eine Operation initiieren können, und vieler Ziele, d.h. Vorrichtungen, die auf eine Anfrage zum Durchführen einer Operation antworten können.
  • Die SCSI-Architektur enthält acht unterschiedliche Busphasen: FREIER BUS, ZUTEILUNG, AUSWAHL, ERNEUTE AUSWAHL, BEFEHL, DATEN, STATUS und NACHRICHT. Die letzten vier Phasen, nämlich BEFEHL, DATEN, STATUS und NACHRICHT sind die Informationsübertragungsphasen, wie sie alle zum Übertragen von Daten- oder Steuerinformation über den Datenbus verwendet werden. Der SCSI-Standard bietet Befehls-Daten-(CID)-, Eingabe-/Ausgabe-(I/O)- und Nachrichten-(MSG)-Signale, um zwischen den unterschiedlichen Informationsübertragungsphasen zu unterscheiden. Die Zielvorrichtung treibt die drei Signale und steuert daher alle Änderungen von einer Phase zu einer anderen. In der Datenphase und der Nachrichtenphase sind jeweils die Unterphasen DATENEINGABE, DATENAUSGABE und NACHRICHTENEINGABE, NACHRICHTENAUSGABE enthalten.
  • Der SCSI-Standard erlegt den Ablauffolgen zwischen den Informationsübertragungsphasen keine Beschränkungen auf. Als Ergebnis davon, daß den Informationsphasenübergängen keine Beschränkungen auferlegt werden, die zwischen Phasen während irgendeiner Übertragung auftreten können, d.h. einer Befehlsausgabe, einer Datenausgabe, einer Dateneingabe, eines Status, einer Nachrichtenausgabe und einer Nachrichteneingabe, ist die Anzahl von Verbindungen, die hergestellt werden müssen, so groß, daß für eine richtige Operation eine softwaremäßige Unterstützung erforderlich ist. Bezüglich einer softwaremäßigen Unterstützung tritt ein Problem auf, das dann. besteht, daß beim Bedienen der Änderungen bezüglich der Buszustände eine Software-Latenzzeit auftritt.
  • Weiterhin benötigen die im SCSI-Bus verwendeten Informationsübertragungsphasen einen oder mehrere Anfrage-Bestätigungs-(REQ/ACK)-Handshakes zwischen dem Initiator und dem Ziel, um die Informationsübertragung zu steuern. Jeder REQ/ACK-Handshake läßt die Übertragung eines Informations-Bytes zu. Einer synchronen Datenübertragung, die den SCSI-Bus verwendet, muß zuvor durch den Initiator und das Ziel über einen Austausch von Nachrichten zugestimmt werden.
  • Die Nachrichten bestimmen die Verwendung der synchronen Übertragungsbetriebsart durch beide SCSI-Vorrichtungen und bilden eine REQ/ACK- Distanzadresse und eine Übertragungsperiode.
  • Die REQ/ACK-Distanzadresse bestimmt die maximale Anzahl von REQ-Impulsen, die durch das Ziel gesendet werden kann, vor der Anzahl von ACK-Impulsen, die vom Initiator empfangen werden, wodurch ein Datenflußdosierungs- bzw. Pacingmechanismus aufgebaut wird. Die Bestimmung der REQ/ACK-Distanzadresse in der SCSI benötigt eine Verhandlung zwischen dem Ziel und dem Initiator. Ein Mikroprozessor wird dazu verwendet, diesen Wert für jede Übertragung einzustellen. Jedoch kann die Verhandlung über die REQ/ACK-Distanzadresse und die Notwendigkeit, die verhandelten Werte beizubehalten, die synchrone Datenübertragung verlangsamen.
  • Zum Prüfen der Integrität des SCSI-Busses verwendet das SCSI-System eine Byte- Parität als seinen einzigen Mechanismus zum Erfassen von Datenfehlern. Die Verwendung von nur einem einzigen Fehlererfassungsmechanismus bringt Probleme für die richtige Gültigkeitserklärung von Daten mit sich.
  • Andere bekannte Busverbindungen bieten eine feste Folge von Phasenübergängen, wodurch das Protokoll der Steuerung vereinfacht wird. Weiterhin sind, weil einige dieser früheren Busse ein Koaxialkabel verwenden, die festen Folgen so festgelegt, daß in dem Fall, daß in einer der Phasen ein Fehler entwickelt wird, die Folge durch die anderen Phasen weitergehen muß, bevor ein ungültiges Signal zurückgebracht wird. Daher muß das System dann, wenn in der Befehlsphase zuerst ein Fehler erfaßt werden mußte, auf die Übergänge durch die Daten- und Statusphasen warten, bevor ein ungültiges oder Nicht-Bestätigungs-(NAK)-Signal zurückgebracht wird. Dies verbraucht mehr Zeit und verlangsamt das System.
  • Devon, P.: "The Migration from SASI to SCSI a New Generation", Westcon Proceedings San Francisco, CA, 19. - 22. November 1985, Seiten 1-5, beschreibt, daß die SCSI eine Fähigkeit getrennter Operationen hat, wo eine Steuerung den Befehl annimmt, einem Host durch die Nachrichtenphase signalisiert, daß er vom Bus getrennt wird, während er auf eine zeitaufwendige Operation (wie beispielsweise ein Suchen) wartet, und dann damit fortfährt, sich von einem Bus zu lösen. Wenn einmal eine Ansteuerung dazu bereit ist, Daten anzunehmen oder zu liefern, kann die Steuerung die Rolle eines Hosts übernehmen und eine Buszuteilung durchzuführen, um erneut eine Verbindung zum anfragenden Host herzustellen und Daten und einen Status auf normale Weise zu übertragen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung ist im Anspruch 1 als Verfahren zum Übertragen von Information definiert, im Anspruch 36 als Computersystem, im Anspruch 66 als Initiatorvorrichtung, im Anspruch 67 als Zielvorrichtung und im Anspruch 68 als Busschnittstelle. Weitere Ausführungsbeispiele der Erfindung sind in den entsprechenden Unteransprüchen definiert.
  • Die zu den früheren Busverbindungen gehörigen Probleme werden bei der vorliegenden Erfindung durch die Verwendung einer atomaren geordneten Folge von Informationsphasenübergängen überwunden. Die atomare Natur der Folge behandelt die Informationsübertragungsphasen als einzelne Operation. Die geordnete Folge läßt den Aufbau einer rein hardwaremäßigen Protokollsteuerung zur Verwendung in einem digitalen Kleinspeicherverbindungsbus zu.
  • Die geordnete Folge von Busphasenübergängen ist bei der Datenverbindungsschicht der Schnittstelle, d.h. dem Protokoll der zweitniedrigsten Schicht, über der physikalischen Schicht und unter der Anschlußstellenschicht implementiert. Die Folge von Busphasenübergängen läßt den Durchgang von Informationsdatenübertragungsblöcken zwischen einem Knoten und einem anderen bei der Datenverbindungsschicht zu. Weiterhin arbeitet die Folge von Busphasenübergängen zwischen einem Knoten und einem anderen als einzelne atomare Operation. In einem normalen vertikalen Pfad von Busphasenübergängen, die zu einer Anfangsphase eines freien Busses zurückkehren, werden unter Verwendung der Befehis-, Daten- und Statusphasen drei Informationsteile zwischen Knoten ausgetauscht. Jene Phasen sind als Informationsphasenübergänge definiert und folgen dem folgenden Ablauf: Befehlsausgabephase, Datenausgabephase und Statuseingabephase.
  • Eine Kommunikation auf dem Bus ist auf zwei Vorrichtungen zur gleichen Zeit beschränkt. Jeder Vorrichtung oder jedem Knoten ist ein Identifikations-(ID)-Bit entsprechend ihrer bzw. seiner ID-Nummer zugeordnet. Wenn zwei Vorrichtungen oder Knoten auf dem Bus kommunizieren, handelt eine(r) als Initiator, die (der) andere als Ziel. Der Initiator beginnt die Operation durch Versuchen, eine Zuteilung einer Steuerung des Busses zu erlangen, und durch ein Auswählen des Ziels. Das Ziel fordert dann die Daten vom Initiator an. Alle Vorrichtungen sollen sowohl als Ziel als auch als Initiator handeln können.
  • Die Befehlsausgabe-, die Datenausgabe- und die Statuseingabephasen sind miteinander als Informationsübertragungsphasen gruppiert, die die atomare geordnete Folge bilden. Die C/D- und I/O-Signale werden zum Unterscheiden zwischen diesen Phasen verwendet. Das Ziel treibt die C/D- und I/O-Signale und kann daher von einer Phase zur anderen schalten, wenn es erwünscht ist. Die folgende Tabelle zeigt den Zustand der C/D- und I/O-Bits für die verfügbaren Phasen.
  • Einige der auf dem Bus verwendeten Signale sind nachfolgend beschrieben:
  • C/D (Befehl/Daten) - wenn es auf niedrig aktiviert ist, zeigt dieses Signal an, daß eine Steuerinformation auf dem Datenbus ist. Ein falsches Signal zeigt an, daß Dateninformation übertragen wird.
  • I/O (Eingabe/Ausgabe) - wenn es auf niedrig aktiviert ist, zeigt dieses Signal an, daß die Datenbewegung in Richtung zum Initiator verläuft. Ein falsches Signal zeigt eine Datenbewegung in Richtung zum Ziel an.
  • REQ (Anfrage) - wenn es auf niedrig aktiviert ist, zeigt dieses Signal einen Wunsch des Ziels an, einen REQ/ACK-Handshake zu beginnen.
  • ACK (Bestätigung) - wenn es auf niedrig aktiviert ist, zeigt dieses Signal eine Bestätigung eines REQ/ACK-Handshakes durch den Initiator an.
  • Information wird unter Verwendung eines oder mehrerer REQ/ACK-Handshakes übertragen. Jeder Handshake läßt die Übertragung eines einzelnen Bytes zu. Zwei Übertragungstypen werden in der atomaren Folge verwendet: ein asynchroner und ein synchroner Typ.
  • Asynchrone Übertragungen werden dazu verwendet, die Befehlsphasen- oder Anfangsblock-Bytes zum Ziel zu senden, sowie auch dazu, den Status zum Initiator zurückzubringen. In den Befehlsphasen-Bytes werden keine aktuellen Befehle, wie z.B. SCHREIBEN, LESEN etc., ausgegeben. Vielmehr werden die Befehle in der Datenausgabephase ausgegeben, die eine synchrone Übertragung ist.
  • Synchrone Übertragungen werden dazu verwendet, Dateninformation, wie z.B. Befehle und Daten, zum Ziel zu senden. Der Initiator bestimmt einen REQ/ACK- Distanzadressenparameter in der Befehlsausgabephase. Dieser Parameter definiert die maximale Anzahl von REQ-Impulsen, die durch ein Ziel vor den ACK-Impulsen gesendet werden können, die es vom Initiator empfängt. Wann immer die ausstehenden REQ-Impulse dem REQ/ACK-Distanzadressenparameter gleichen, muß das Ziel warten, bis der nächste ACK-Impuls empfangen wird, bevor REQ aktiviert wird.
  • Eine synchrone Übertragung wird als erfolgreich beendet angesehen, wenn die Anzahl von ACK-Impulsen der Anzahl von REQ-Impulsen gleicht und die Anzahl von während der Datenphase übertragenen Bytes gleich der in der Befehlsausgabephase bestimmten Übertragungslänge ist.
  • Die atomare geordnete Folge wird durch Verwenden eines Busses ermöglicht, der acht Datenbits und zwei Status- oder Phasenbits enthält. Die zwei Status- oder Phasenbits sind ein Befehls/Daten-(C/D)-Bit und ein Eingabe-/Ausgabe-(I/O)-Bit. Die Ordnung der atomaren Folge ist für eine eingestellte Anzahl von Bytes eine Befehlsausgabephase, für eine bestimmte Anzahl von Bytes eine Datenausgabephase und für ein Byte eine Statuseingabephase. Die einzige andere zugelassene Übergangsfolge geht von der Befehlsausgabephase direkt zur Statuseingabephase Das Verwenden der atomaren geordneten Folge vereinfacht die Anzahl möglicher Zustände und Phasenübergänge sehr, was es einfacher macht, sie hardwaremäßig zu implementieren.
  • Die Schnittstellen- und Protokollsteuerung der vorliegenden Erfindung verbessert bislang bekannte Vorrichtungen durch Implementieren der Bussteuerung vollständig in Hardware ohne softwaremäßige Unterstützung. Dies verbessert die Leistungsfähigkeit auf dem Bus, da es keine Software-Latenzzeit beim Bedienen von Änderungen bezüglich der Buszustände gibt. Weiterhin verbessert es auch die Leistungsfähigkeit der Vorrichtungen am Bus, da die lokale Intelligenz der Busvorrichtungen die Steuerungsschnittstelle nicht in Echtzeit bedienen muß.
  • Die Befehlsausgabephase ist tatsächlich ein Anfangsblock, der sieben Informations- Bytes ausgibt. Im Anfangsblock sind ein REQ/ACK-Distanzadressen-Byte, Quellen- und Zielort-ID-Verifizierungs-Bytes, Datenübertragungsblocklängen-Bytes und ein Prüfsummen-Byte enthalten.
  • In der Befehlsausgabephase gibt der Initiator Steuerinformation zum Ziel aus, um die Datenausgabephase vorzubereiten. Das Ziel aktiviert das C/D-Signal und negiert während der REQ/ACK-Handshakes der Befehisausgabephase das I/O-Signal.
  • Die Datenausgabephase kann irgendeine in den Befehlsausgabe- Datenübertragungsblocklängen-Bytes definierte Anzahl von Bytes enthalten. In der Datenausgabephase gibt der Initiator Daten zum Ziel aus. Die Ausgabe der Daten wird durch Verwenden synchroner Datenübertragungen erreicht. Das Ziel deaktiviert C/D und während der REQ/ACK-Handshakes der Datenausgabephase I/O.
  • Die Statuseingabephase ist ein einzelnes Byte, das dazu verwendet wird, dem Initiator den Ausgang der versuchten Datenausgabe zu berichten. Es werden nur zwei Statuseingabe-Bytewerte verwendet, da nur zwei Ausgänge möglich sind: Bestätigung (ACK) oder Nicht-Bestätigung (NAK). In der Statuseingabephase bringt das Ziel den Status zum Initiator zurück, was ihn darüber informiert, ob es die Information ohne Übertragungsfehler empfangen hat. Das Ziel aktiviert während des REQ/ACK-Handshakes C/D und I/O. Jede der obigen Phasen hat ein bestimmtes Format für die übertragene Information.
  • Es ist ein Vorteil der vorliegenden Erfindung, daß eine Anfangsblockprüfung vorgesehen ist, damit sichergestellt wird, daß der Initiator die gewünschte Vorrichtung oder das Ziel richtig ausgewählt hat. Die Anfangsblockprüfung arbeitet durch Senden sowohl der ID des Initiators als auch jener des Ziels, das er auswählen wollte, während der Befehlsausgabephase. Die ausgewählte Zielvorrichtung verifiziert dann, daß diese gesendeten Werte mit jenen übereinstimmen, die sie erwartete Wenn die Anfangsblockprüfung aus irgendeinem Grund unrichtig ist, dann springt die feste Folge von der Befehlsausgabephase direkt zur Statuseingabephase, während der ein NAK-Signal zurückgebracht wird. Die Anfangsblockprüfung bietet eine zusätzliche Prüfung zum Sicherstellen der Datenintegrität.
  • Es ist ein weiterer Vorteil der vorliegenden Erfindung, daß die Notwendigkeit zum Verhandeln über eine REQ/ACK-Distanzadresse eliminiert ist, wie es im früheren SCSI-Standard durchgeführt wird. Dies wird bei der vorliegenden Erfindung deshalb möglich, weil alle synchronen Datenübertragungen vom Initiator zum Ziel durchgeführt werden. Daher kann die bei der Übertragung der atomaren Folge zu verwendende REQ/ACK-Distanzadresse in den Befehlsausgabephasen-Bytes zugeführt werden, die vom Initiator zum Ziel geführt werden. Der Wert zeigt die maximalen Distanzadresse, die vom Initiator akzeptiert wird, d.h. ein Maß der Größe seines REQ-Zählers. Das Ziel verwendet das Minimum des REQ/ACK-Wertes und die aktuelle Größe des FIFO-Puffers des Ziels. Daher tritt keine "Verhandlung" zwischen dem Initiator und dem Ziel auf, und zwischen den zwei Knoten auf dem Bus wird kein Zustand beibehalten. Dies eliminiert weiter die Notwendigkeit für den Mikroprozessor, den REQ/ACK-Distanzadressen-Wert für jede Übertragung einzustellen, da der Wert in der hardwaremäßigen Protokollsteuerung bestimmt wird.
  • Weiterhin sind Datenübertragungsblocklängen-Bytes in der Befehlsausgabephase vorgesehen, was zuläßt, daß das gesamte digitale Kleinsystemverbindungsprotokoll hardwaremäßig behandelt wird. Das Datenübertragungsblocklängen-Byte liefert dem Ziel oder dem Empfangsknoten die Länge der Daten in Bytes, die in der Datenausgabephase übertragen werden.
  • Ein weiterer Vorteil ist, daß Prüfsummen für sowohl die Befehlsausgabe- als auch die Datenausgabephasen vorgesehen sind. Die Verwendung einer Prüfsumme am Ende der Befehlsausgabe- und der Datenausgabephasen verbessert die Integrität des Busses durch Vorsehen eines zusätzlichen Mechanismus zum Erfassen von Fehlern.
  • Diese und weitere Vorteile werden durch die Vorrichtung der vorliegenden Erfindung realisiert, wie es im Detail nachfolgend erklärt wird.
  • BESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 ist ein Systemblockdiagramm der Vorrichtungen, die mit dem Bus der vorliegenden Erfindung gekoppelt sind.
  • Fig. 1A ist ein Blockdiagramm der Zustandsmaschinen der vorliegenden Erfindung.
  • Fig. 1B ist ein Blockformat der Befehlsausgabephase der vorliegenden Erfindung.
  • Fig. 1C ist ein Blockformat der Datenausgabephase der vorliegenden Erfindung.
  • Fig. 2 ist ein Blockdiagramm der bei der vorliegenden Erfindung verwendeten Zustandsmaschinen.
  • Fig. 3 ist ein Zustandsdiagramm für die Haupt-Zustandsmaschine der Fig. 2.
  • Fig. 4 ist ein Zustandsdiagramm für die Listensteuer-Zustandsmaschine der Fig. 2.
  • Fig. 5 ist ein Zustandsdiagramm für die Übertragungs-Zustandsmaschine der Fig. 2.
  • Fig. 5A ist eine Tabelle für die Verzweigungsbedingungen der Fig. 5.
  • Fig. 6 ist ein Blockdiagramm der Datentransfereinheit der vorliegenden Erfindung.
  • Fig. 7 ist ein Blockdiagramm der DMA-Steuer-Zustandsmaschinen der Fig. 6.
  • Fig. 8 ist ein Zustandsdiagramm für die Steuer-Zustandsmaschine der Fig. 7.
  • Fig. 9 ist ein logisches Diagramm für den Fehler-Multiplexblock der Fig. 7.
  • Fig. 10 ist ein logisches Diagramm für die Anfangsblockprüfung der vorliegenden Erfindung.
  • DETAILLIERTE BESCHREIBUNG
  • In Fig. 1 ist ein Systemblockdiagramm des Busses 9 der vorliegenden Erfindung gezeigt, der mit mehreren Vorrichtungen 2 bis 8 gekoppelt ist. Obwohl bei diesem beispielhaften Ausführungsbeispiel vier Vorrichtungen mit dem Bus 9 gekoppelt dargestellt sind, kann eine andere Anzahl von Vorrichtungen mit dem Bus 9 gekoppelt sein, ohne vom Schutzbereich der Erfindung abzuweichen. Diese Vorrichtungen können zentrale Verarbeitungseinheiten, periphere Speichereinheiten, etc. sein. Jede der Vorrichtungen 2 bis 8 hat die Fähigkeit, während der Informationsübertragungsphasen entweder eine Initiator- oder eine Zielvorrichtung zu sein. Zwischen den Vorrichtungen werden während der Informationsübertragungsphasen Daten ausgetauscht.
  • In Fig. 1A ist ein Blockdiagramm der Zustandsmaschine der vorliegenden Erfindung gezeigt. Die Operation und die Verbindung zwischen den Zustandsmaschinen sind nachfolgend unter Bezugnahme auf die einzelne Operation der Zustandsmaschinen vollständig beschrieben.
  • In Fig. 1B ist das Befehlsausgabeformat gezeigt, das bei der atomaren Operation zum Ausgeben von Information verwendet wird. Das Befehlsausgabeformat ist sieben Bytes lang, die ein Datenverbindungsoperationscode-Byte 200, ein REQ/ACK- Distanzadressen-Byte 202, ein Zielortanschlußstellen-Byte 204, ein Quellenanschlußstellen-Byte 206, Datenübertragungsblocklängen-Bytes 208 und 209 und ein Prüfsummen-Byte 210 enthalten.
  • Der Datenverbindungs-Operationscode enthält den Operationscode für die Datenverbindungsschicht. Der REQ/ACK-Distanzadressenwert 202 enthält die bei der bestimmten Kommunikation zu verwendende maximale REQ/ACK-Distanzad resse. Diese Zahl wird durch die Größe des FIFO-Puffers des Ziels und die Größe des vom Initiator verwendeten Zählers bestimmt. Der Wert zeigt tatsächlich die maximale vom Initiator akzeptierte Distanzadresse, d.h. ein Maß der Größe seines REQ- Zählers. Daher hat der REQ/ACK-Distanzadressenwert 202 einen Wert, der der maximalen REQ/ACK-Distanzadresse des Initiators genau gleich ist. Die Zielvorrichtung verwendet dann das Minimum von entweder dem Wert des REQ/ACK- Distanzadressen-Bytes 202 oder der aktuellen Größe ihres FIFO-Puffers. Auf diese Weise tritt keine "Verhandlung" auf und zwischen den zwei Knoten auf dem Bus wird kein Zustand beibehalten.
  • Das Zielortanschlußstellen-Byte 204 ist die Bus-ID für den Knoten, der die Information empfängt, d.h. das Ziel. Weiterhin ist das Quellenanschlußstellen-Byte 206 die Bus-ID für den Knoten, der die Information sendet, d.h. den Initiator. Die Datenübertragungsblocklängen-Bytes 208, 209 sind die Länge der Daten in Bytes, die der Befehlsausgabephase in der Datenausgabephase folgen werden. Dieser Wert schließt das Prüfsummen-Byte 222 aus, das das letzte Byte in der Datenausgabephase ist. Die Befehlsausgabephase endet mit einem Prüfsummen-Byte 210.
  • Das Format für die Datenausgabephase ist in Fig. 1C gezeigt und enthält ein Operationscode-Byte 221, ein Flag-Byte 223 und die Anzahl von durch die Datenübertragungsblocklängen-Bytes 208, 209 der Befehlsausgabephase bestimmten Informations-Bytes 220. Weiterhin endet die Datenausgabephase mit einem Prüfsummen-Byte 222.
  • Die Statuseingabephase ist ein einzelnes Byte, das dazu verwendet wird, dem Initiator den Ausgang der versuchten Datenausgabe zu berichten. Nur zwei der Zustands-Bytewerte werden von der Datenverbindungsschicht verwendet, da nur zwei Ausgänge möglich sind: ACK oder NAK. ACK ist als positive Bestätigung einer vorherigen Befehlsausgabe-/Datenausgabe-Informationsphase definiert. NAK ist als negative Bestätigung einer vorherigen Befehlsausgabe-/Datenausgabe- Informationsphase definiert.
  • In Fig. 2 ist ein Blockdiagramm von den Zustandsmaschinen gezeigt, die die Informationsphasenübergänge der vorliegenden Erfindung bearbeiten. Jede Vorrichtung am Bus hat eine Schnittstelle, die alle in den Figuren beschriebenen Zustandsmaschinen enthalten. Eine Haupt-Zustandsmaschine 10 ist mit sowohl einer Übertragungs-Zustandsmaschine 14 als auch einer Listensteuerungs-Zustandsmaschine 12 gekoppelt. Die Haupt-Zustandsmaschine 10 betreibt sowohl die Listensteuerungs-Zustandsmaschine als auch die Übertragungs-Zustandsmaschine 14. Weiterhin steuert die Übertragungs-Zustandsmaschine 14 die Übertragung von Daten durch einen Datenpfad (siehe Fig. 1A).
  • Eine Folge von Busphasenübergängen wird bei der Datenverbindungsschicht für die Durchführung von Informations-Datenübertragungsblöcken zwischen einem Knoten und einem anderen auf dem Bus benötigt. Fig. 3 ist ein Zustandsdiagramm für die Haupt-Zustandsmaschine 10, die die zulässige Folge von Informationsphasenübergängen zeigt. Die Folge von Informationsphasenübergängen zwischen einem Knoten und einem anderen arbeitet als einzelne atomare Operation.
  • Das Zustandsdiagramm für die Haupt-Zustandsmaschine beginnt in einem Startübertragungszustand 16. Der Startübertragungszustand 16 ändert sich in einen Befehlsübertragungszustand 20, wie es durch den Teil 18 gezeigt ist. Der Befehlsübertragungszustand 20 verzweigt, wie es durch die Pfeile 22 und 24 gezeigt ist, in Abhängigkeit von den Ergebnissen der Befehlsübertragung. Eine ohne Fehler beendete Übertragung veranlaßt den Übergang der Busphase zum Datenübertragungszustand 26. Jedoch ändert eine mit einem Fehler beendete Übertragung den Zustand der Maschine direkt in den Statusübertragungszustand 30.
  • Unter der Annahme, daß es bei der Befehlsübertragung keinen Fehler gibt, würde der Datenübertragungszustand 26 beginnen. Auf ein Beenden der Datenübertragung hin, und zwar mit oder ohne Fehler, ändert sich die Busphase in den Statusübertragungszustand 30, wie es durch den Pfeil 28 gezeigt ist. Wenn die Hauptzustandsmaschine einmal den Statusübertragungszustand 30 beendet, führt ein Pfeil 32 zum Endübertragungszustand 34. Der Endübertragungszustand 34 bringt das Zustandsdiagramm zum ursprünglichen Startübertragungszustand der Maschine 16 zurück, wie es durch den Pfeil 36 gezeigt ist. Die feste atomare Folge zwischen dem Befehlsübertragungszustand 20, dem Datenübertragungszustand 26 und dem Statusübertragungszustand 30 definiert die atomare Folge für die Informationsphasenübergänge auf der Datenverbindungsschicht.
  • In Fig. 4 ist das Zustandsdiagramm für die in Fig. 2 gezeigte Listensteuerungs- Zustandsmaschine 12 gezeigt. Die Listensteuerungs-Zustandsmaschine 12 wird zu Beginn eines Startübertragungs- und eines Endübertragungszustands freigegeben (was im Zustandsdiagramm der Fig. 3 gezeigt ist). Der Informationsfluß durch die Listensteuerungs-Zustandsmaschine 12 ist im Zustandsdiagramm der Fig. 4 beginnend bei einem Zustand eines Leerzustands 38 gezeigt. Ein Teil 40 zeigt den Zustandsmaschinenübergang vom Zustand des Leerzustands 38 zu einem Speicheroperationszustand 48. Ein Pfeil 42 zeigt den Fluß vom Leerzustand 38 zu einem Zustand 44 eines Wartens auf einen Bus. Von dem Zustand 44 eines Wartens auf einen Bus erfolgt der Fluß entweder entlang einem Pfeil 46 oder entlang einem Pfeil 43 zum Speicheroperationszustand 48. Es stehen drei Möglichkeiten zur Auswahl zum Zurückkehren vom Speicheroperationszustand 48 zum Leerzustand 38. Ein Pfeil 56 fließt direkt zum Leerzustand 31, wohingegen Pfeile 50 und 51 jeweils eine Rückkehrschleife durch den Trennbefehlszustand 52 und den Zielauswahlzustand 53 bilden. Das Listensteuerungs-Zustandsdiagramm zeigt sowohl, wie ein Initiatorknoten eine Verbindung zu einem Bus herstellt und sich selbst zum Kommunizieren mit einem Zielknoten initialisiert, als auch wie ein Zielknoten sich selbst auf eine Kommunikation vorbereitet. Weiterhin zeigt das Zustandsdiagramm, wie die Knoten sich vom Bus trennen. Die Einzelheiten der sich ändernden Zustände für alle Zustandsmaschinen wird nachfolgend in Zusammenhang mit einem Beispiel ihrer Operation erörtert.
  • Fig. 5 zeigt das Zustandsdiagramm für die Übertragungszustandsmaschine 14, die den Datenpfad bearbeitet. Fig. 5A ist eine Tabelle, die die Betriebsarten der Übertragungszustandsmaschine 14 und die Bedingungen, auf welche hin jene Betriebsarten im Zustandsdiagramm der Fig. 5 verzweigen, auflistet. Das Übertragungszustandsdiagramm erklärt die Zustandsänderungen, die bei den Befehlsübertragungs- Datenübertragungs- und Zustandsübertragungszuständen 20, 26 und 30 auftreten, die im Haupt-Zustandsdiagramm der Fig. 3 gezeigt sind. Die Übertragungszustandsmaschine 14 bleibt im Leerzustand 58, der darauf wartet, daß die Haupt- Zustandsmaschine 10 in eine der Befehlsübertragungs-, Datenübertragungs- oder Statusübertragungsphasen eintritt. Wenn die Zustandsmaschine 14 in eine der obigen Übertragungsphasen eintritt, wird die Übertragungszustandsmaschine 14 freigegeben. Die Maschine 14 verzweigt dann vom Leerzustand 58 in Abhängigkeit von den in der Tabelle 5A gezeigten Verzweigungsbedingungen entlang einem Pfeil 60 zu einem DMA-Übertragungszustand 62 oder über einen Pfeil 76 zu einem Ein- Bytezustand 72. Der DMA-Übertragungszustand 62 kehrt in Abhängigkeit vom Ausgang der DMA-Übertragung über einen Pfeil 64 zum Leerzustand 58 zurück oder geht über einen Pfeil 66 zu einem Deaktivier-Weitergehzustand 68. Der Zustand 68 einer Deaktivierung eines Weitergehens ändert sich über einen Pfeil 70 zum Ein- Bytezustand 72, der zum Leerzustand 58 zurückkehrt, wie es durch einen Pfeil 74 gezeigt ist.
  • Ein Beispiel der atomaren geordneten Folge von Phasenübergängen, die bei dem Schnittstellenbus der vorliegenden Erfindung verwendet werden, ist nachfolgend angegeben. Die Operation der Informationsphasenübergänge auf dem Bus wird unter Bezugnahme auf die Zustandsdiagramme der Zustandsmaschinen dargestellt. Jede Vorrichtung oder jeder Knoten im System hat ihre (seine) eigene Schnittstellensteuerung, die den Zustandsdiagrammen folgt. Die Pfade, denen jeder Knoten folgt, hängen jedoch davon ab, ob er die Initiator- oder die Zielvorrichtung ist. Eine Phasenübertragung beginnt bei dem Bus in der Phase eines freien Busses, wobei keiner der Knoten auf dem Bus ist.
  • Nimmt man nun Bezug auf Fig. 3, ist das Hauptsteuerungs-Zustandsdiagramm beginnend mit dem Startübertragungszustand 16 gezeigt. Während einer Operation gibt eine Auswahlphase Startübertragungszustände 16 für die zwei Knoten frei, die bei der Informationsübertragung aktiv sind. Die Auswahlphase bestimmt auch, ob der Knoten ein Initiator- oder ein Zielknoten ist. Der Startübertragungszustand 16 der Fig. 3 gibt die Listensteuerungs-Zustandsmaschine 12 frei (LCTRLEN), die das in Fig. 4 gezeigte Zustandsdiagramm hat.
  • Nach Fig. 4 beschreibt das Listensteuerungs-Zustandsdiagramm beginnend bei dem Leerzustand 38 den Ablauf eines Knotens, der entweder als Ziel oder als Initiator ausgewählt ist. Wenn der Knoten ein Zielknoten ist, dann folgt der Ablauf des Zustandsdiagramms einem Pfeil 40 zum Speicheroperationszustand 48. Während dem Speicheroperationszustand 48 bereitet die Listensteuerungs- Zustandsmaschine 12 die geeigneten Daten vor, die bei der Informationsübertragung zu verwenden sind. Wenn die Vorrichtung statt dessen ein Initiator sein möchte, dann ändert sich der Zustand zum Zustand 44 eines Warten auf den Bus, wie es durch einen Pfeil 42 gezeigt ist. Die Vorrichtung versucht, eine Entscheidung über eine derartige Zuteilung zum Bus zu erlangen (ARBCOMM), daß sie ein Initiator wird, während sie im Zustand 44 eines Warten auf einen Bus ist, und dann, wenn sie eine Entscheidung über die Zuteilung gewonnen hat (ARBWON), ändern sich die Zustände, wie es durch einen Pfeil 46 gezeigt ist, zum Speicheroperationszustand 48. Wenn die Vorrichtung eine Entscheidung über die Zuteilung verliert, aber noch als Zielvorrichtung ausgewählt ist, dann ändert sich die Übertragungszustandsmaschine vom Zustand 44 eines Wartens auf einen Bus zum Speicheroperationszustand 48, wie es durch einen Pfeil 43 gezeigt ist.
  • Wenn einmal das Signal LCTRLDONE des Ziels aktiviert ist, d.h. die Speicheroperationen des Ziels beendet sind, kehrt die Listensteuerungs-Zustandsmaschine 12 des Ziels zum Leerzustand 38 zurück, wie es durch einen Pfeil 56 gezeigt ist. Auf ein Beenden der Speicheroperationen des Initiators hin, muß der Initiatorknoten jedoch das Ziel auswählen, wie es durch einen Zielauswahlzustand 53 gezeigt ist. Dies tritt auf, weil der Initiatorknoten Daten zum Ziel senden möchte. Wenn der Zielauswahlzustand 53 einmal beendet ist, dann wird ein Signal LCTRLDONE aktiviert und die Listensteuerungs-Zustandsmaschine des Initiators kehrt zum Leerzustand 38 zurück, wie es durch einen Pfeil 55 gezeigt ist.
  • Kehrt man zurück zur Fig. 3 haben die Haupt-Zustandsmaschinen sowohl des Initiators als auch des Ziels Signale LCTRLDONE empfangen und gehen daher weiter zum Befehlsübertragungszustand 20, wie es durch einen Pfeil 18 gezeigt ist. Der Befehlsübertragungszustand 20 ist der Beginn der Informationsphasenübergänge, die der atomaren geordneten Folge folgen. Der Befehlsübertragungszustand 20 gibt die Übertragungs-Zustandsmaschine 14 frei, deren Operation durch das Übertragungszustandsdiagramm der Fig. 5 und die Tabelle 5A gezeigt ist. Die Übertragungs-Zustandsmaschine 14 wird freigegeben, wenn der Befehlsübertragungszustand 20 in der Befehlsausgabephase (PHASE = COMMAND OUT) ist und ein Befehlsübertragungssignal (COMSFER) aktiviert ist.
  • Gemäß Fig. 5 wird der Leerzustand 58 durch das Übertragungsfreigabesignal (XFEREN) aktiviert, das bei dem Befehlsübertragungszustand 20 auftritt. Der Ablauf des Übertragungszustandsdiagramms hängt von der Betriebsart der Operation des Knotens ab. Bei unserem Beispiel empfängt das Ziel Befehle/Daten und ist daher in der Betriebsart B, wie es in der Tabelle 5A gezeigt ist. Der Initiator sendet Befehle/Daten und ist daher in der Betriebsart D.
  • Betrachtet man weiterhin Fig. 5 verzweigen die Übertragungszustandsmaschinen sowohl des Ziels als auch des Initiators am Pfeil 60 zum DMA-Übertragungszustand 62. Aufgrund der atomaren geordneten Folge muß die DMA eine Sieben-Byte- Übertragung sein, wie es in der Befehlsausgabephase definiert ist. Der DMA- Übertragungszustand 62 aktiviert auf ein Beginnen seiner Operation hin ein Weitergehsignal. In Abhängigkeit von der Operation der DMA-Übertragung ändert sich die Übertragungszustandsmaschine 14 des Ziels entweder zum Zustand 68 einer Deaktivierung des Weitergehens, wie es durch einen Pfeil 66 gezeigt ist, oder kehrt zum Leerzustand 58 zurück, wie es durch einen Pfeil 64 gezeigt ist. Wie es in der Tabelle gezeigt ist, ändert sich die Übertragungszustandsmaschine 14 des Ziels dann, wenn die DMA-Übertragung des Ziels durchgeführt ist (DONE), ohne eine Parität (-IPE), Anfangsblock-Bytes (-ERR) oder Busphasen-Fehlanpassungsfehler (- MISMATCH) zu haben, zum Deaktivierungs-Weitergehzustand 68. Im Zustand 68 einer Deaktivierung des Weitergehens wird das Weitergehsignal deaktiviert, so daß eine andere DMA-Operation beginnen kann. Wenn jedoch die Übertragung durchge- führt ist (DONE) und es einen Paritätsfehler (IPE) oder einen Befehls-Bytefehler (ERR) gibt, kehrt die Übertragungszustandsmaschine 14 des Ziels zum Leerzustand 58 zurück, wie es durch einen Pfeil 64 gezeigt ist. Wenn die Übertragungszustandsmaschine 14 einem Pfeil 64 folgt, dann wird eine mit einem Fehlersignal (XFERERR) durchgeführte Übertragung (XFERDONE) aktiviert.
  • Wiederum aus Tabelle 5A ist zu ersehen, daß dann, wenn die DMA-Übertragung des Initiators mit einem Fehlanpassungsfehler durchgeführt ist (DONE * MISMATCH), die Übertragungszustandsmaschine 14 des Initiators zum Leerzustand 58 zurückkehrt und ein Signal für eine Durchführung mit Fehler (XFERDONE und XFERERR) aktiviert wird. Die Übertragungszustandsmaschine 14 des Initiators geht weiter zum Zustand 68 einer Deaktivierung des Weitergehens, wenn die DMA- Übertragung ohne Busphasenfehlanpassung durchgeführt wird (DONE und - MISMATCH).
  • Im Zustand 68 einer Deaktivierung des Weitergehens wird das Weitergehsignal deaktiviert, nachdem die DMA-Übertragung beendet ist, und der Zustand ändert sich zum Ein-Bytezustand 72. Im Ein-Bytezustand 72 wird das Prüfsummen-Byte übertragen. In Abhängigkeit vom Ergebnis vom Ein-Bytezustand 72 wird entweder ein Signal XFERDONE oder ein Signal XFERDONE mit XFERERR aktiviert und der Zustand der Übertragungszustandsmaschine kehrt zum Leerzustand 58 zurück, wie es durch einen Pfeil 74 gezeigt ist.
  • Nimmt man nun wiederum Bezug auf Fig. 3 ändert sich dann, wenn die Befehlsausgabeübertragung ohne Fehler beendet wurde (XFERDONE*-XFERERR), die Informationsphase zum Datenübertragungszustand 26, wie es durch einen Pfeil 22 gezeigt ist. Wenn jedoch in der Befehlsausgabephase ein Fehler erfaßt wird (XFERDONE * XFERERR), geht die Informationsphase direkt zum Statusübertragungszustand 30, wie es durch einen Pfeil 24 gezeigt ist. Dieser direkte Übergang erhöht beim Auftreten eines Fehlers die Operationsgeschwindigkeit des Schnittstellenbusses durch vollständiges Umgehen der Datenphase.
  • Bei dem Beispiel ist der Datenübertragungszustand 26 nun in der Datenausgabephase (PHASE = DATA OUT) und die Übertragung ist freigegeben (XFEREN). Dies gibt wiederum die Übertragungszustandsmaschine 14 frei. Nimmt man wiederum Bezug auf das Übertragungsmaschinen-Zustandsdiagramm der Fig. 5, beginnt die Datenausgabe eine Übertragung. Die Übertragungszustandsmaschinen sowohl des Initiators als auch des Ziels arbeiten in der Datenausgabephase, wie es zuvor oben für die Befehisausgabephase beschrieben ist. Jedoch hängt die Länge des DMA- Übertragungszustands 62 vom Wert der in der vorherigen Befehlsausgabephase geladenen Datenübertragungsblocklängen-Bytes ab (was nachfolgend beschrieben ist).
  • Kehrt man nun zurück zur Fig. 3, aktiviert die Haupt-Zustandsmaschine 10 im Datenübertragungszustand 26 entweder ein Signal für eine durchgeführte Übertragung (XFERDONE) oder ein Signal für eine mit Fehler durchgeführte Übertragung (XFERDONE * XFERERROR) und ändert sich zum Statusübertragungszustand 30, wie es durch einen Pfeil 28 gezeigt ist. Wenn die Übertragung ohne Übertragungsfehlersignal (-XFERERR) durchgeführt wird, dann wird ein Statusbit gesetzt, um einen guten oder ACK-Status anzuzeigen.
  • Der Statusübertragungszustand 30 ist die Statuseingabephase der atomaren Folge von Informationsphasen übergängen. Der Statusübertragungszustand 30 gibt den Leerzustand 58 im Zustandsdiagramm für die Übertragungszustandsmaschine 14 frei. Weil die Übertragungszustandsmaschine 14 nun in der Statusphase ist, zeigt die Tabelle 5A, daß das Ziel in der Sendestatusbetriebsart A ist, während der Initiator in der Empfangsstatusbetriebsart C ist. Weiterhin verzweigen die Übertragungszustandsmaschinen 14 sowohl des Initiators als auch des Ziels, wie es in der Tabelle gezeigt ist, entlang dem Sprung-DMA-Pfad 76 zum Ein-Bytezustand 72. Die Sendestatusbetriebsart A überträgt nur ein Informations-Byte vom Ziel zum Initiator, weil das Statussignal nur ein einziges Byte ist, d.h. ACK oder NAK. Ebenso muß die Initiator-Empfangsstatusbetriebsart C nur ein Byte verarbeiten. Bei Beendigung kehren die Übertragungszustandsmaschinen 14 vom Ein-Bytezustand 72 zum Leerzustand 58 zurück, wie es durch einen Pfeil 74 für die Übertragungszustandsmaschinen 14 sowohl des Initiators als auch des Ziels gezeigt ist.
  • Fährt man fort mit dem Beispiel, wie es in Fig. 3 gezeigt ist, ändert sich der Statusübertragungszustand 30, der entweder das Signal ACK oder das Signal NAK aktiviert hat, zum Endübertragungszustand 34, wie es durch einen Pfeil 32 gezeigt ist. Der Endübertragungszustand 34 gibt die Listensteuerungs-Zustandsmaschine 12 frei. In Fig. 4 wird der Leerzustand 38 des Listensteuerungs-Zustandsdiagramms während des Endübertragungszustands 34 aktiviert und ändert sich, wie es durch einen Pfeil 40 gezeigt ist, zum Speicheroperationszustand 48. Die Listensteuerungs-Zustandsmaschinen 12 sowohl des Ziels als auch des Initiators führen denselben Übergang durch. Der Speicheroperationszustand 48 führt die Endoperationen für das Ende der Informationsphasenübergänge durch.
  • Nachdem der Speicheroperationszustand 48 endet, ändert sich die Listensteuerungs-Zustandsmaschine 12 zum Trennbefehlszustand 52, wie es durch einen Pfeil 40 gezeigt ist. Im Trennbefehlszustand 52 werden sowohl das Ziel als auch der Initiator vom Bus getrennt (DISCOMM), und die Listensteuerungs-Zustandsmaschine 12 kehrt zum Leerzustand 38 zurück, wie es durch einen Pfeil 54 gezeigt ist. Daher wird ein Signal für eine durchgeführte Listensteuerung (LCTRLDONE) aktiviert.
  • Während des Endübertragungszustands 34 des Haupt-Zustandsdiagramms liest die Haupt-Zustandsmaschine 10 das Signal LCTRLDONE und aktiviert das Signal LISTDONE. Das Haupt-Zustandsdiagramm verläuft dann zum Startübertragungszustand 16, wie es durch einen Pfeil 36 gezeigt ist. Somit wird entweder ein Signal ACK oder NAK von der Statuseingabephase zurückgebracht. Wenn die Informationsphasenübergänge einmal zum Startübertragungszustand 16 zurückgebracht worden sind, sind beide Knoten weg vom Bus, und der Bus kehrt zum Zustand eines freien Busses zurück.
  • Das obige Beispiel stellt die Phasenübergänge unter Verwendung der atomaren Folge dar, die in den Informationsphasen auftreten. Die beschränkte Anzahl von Phasen und strenge Anordnung der Übergänge läßt zu, daß die Schnittstellenprotokolle rein hardwaremäßig aufgebaut werden.
  • Fig. 6 stellt in Blockdiagrammform den in die Informationsübertragungsphasen verwendeten Datentransfereinheit dar. Die Datentransfereinheit enthält einen Datenpfadblock 90, der mit sowohl einer Länge eines Übertragungszählerblocks 92 als auch einem Direktzugriffsspeicher-(DMA)-Steuerungsblock 94 gekoppelt ist. Weiterhin ist der DMA-Steuerungsblock 94 mit der Länge des Übertragungszählerblocks 92 gekoppelt. Die Übertragungszustandsmaschine 14 betreibt den Datenpfadblock 90 über den DMA-Steuerungsblock 94.
  • Fig. 7 zeigt ein Blockdiagramm eines Teils des DMA-Steuerungsblocks 94. Das DMA-Steuerungsblock-Diagramm enthält einen Steuerungs- Zustandsmaschinenblock 96, der mit einem Fehler-Multiplexerblock 98 gekoppelt ist. Der Steuerungs-Zustandsmaschinenblock 96 bildet eine Schnittstelle zwischen der Übertragungszustandsmaschine 14 und den aktuellen physikalischen Gattern der Steuerung. Der Fehler-Multiplexerblock 98 prüft fortlaufend auf Fehlerzustände in den während der Phasen übertragenen Informations-Bytes.
  • In Fig. 8 ist ein Zustandsdiagramm für die Zustandsmaschine 96 gezeigt. Dieses Zustandsdiagramm stellt die Operation der Steuerungs-Zustandsmaschine zum Steuern des Datenpfads dar. Ein Beispiel des Ablaufs durch die Steuerungs- Zustandsmaschine 96 beginnt mit der Steuerungs-Zustandsmaschine in der Befehlsausgabe-Informationsübertragungsphase, wie es in der geordneten atomaren Folge definiert ist. Im Rücksetzzustand 100 erkennt die Steuerungs- Zustandsmaschine eine Befehlsausgabeübertragung (COMXFER) und ändert sich zum Zustand 102 für ein Beschreiben des Übertragungslängenzählers 1 (WRT LOTC1), wie es durch einen Pfeil 112 gezeigt ist. Die Steuerungs- Zustandsmaschine im Zustand 102 für ein WRT LOTC1 lädt den Wert von sechs (LOTC_LD und LOAD6) in eine Länge des Übertragungszählers. Dies erfolgt, weil die Befehlsausgabephase in der atomaren geordneten Folge sechs Bytes einer zum Ziel übertragenen Anfangsblockinformation haben muß. Das siebte Byte, d.h. die Prüfsumme, verwendet den Datenpfad nicht. Daher endet die Übertragung, wenn der Zähler sich auf 0 dekrementiert.
  • Als nächstes ändert sich die Steuerungs-Zustandsmaschine in der Befehlsübertragungsphase zum Fehlerlöschzustand 104. Die Steuerungs-Zustandsmaschine im Fehlerlöschzustand 104 löscht irgendwelche Fehlersignale aus, die bei den vorherigen Operationen gespeichert wurden, wie beispielsweise Paritäts- oder Prüfsummenfehler. Vom Fehlerlöschzustand 104 ändert sich die Steuerungs- Zustandsmaschine zum Übertragungszustand 106. Die Steuerungs- Zustandsmaschine im Übertragungszustand 106 wird freigegeben (XFER_ENA), wodurch dem Datenpfad befohlen wird, zu beginnen, die DMA-Maschine laufenzulassen. Im Übertragungszustand 106 wartet dann die Steuerungs- Zustandsmaschine auf entweder ein Signal für eine durchgeführte Übertragung (XFER_DONE) oder ein Fehlersignal (XFER_ERROR), das vom Datenpfad zu aktivieren ist. Das Fehlersignal (XFER_ERROR), das aktiviert werden kann, würde vom Fehler-Multiplexerblock 98 der Fig. 6 erzeugt.
  • Wenn einmal entweder das Signal für eine durchgeführte Übertragung oder das Übertragungsfehlersignal aktiviert ist, ändert sich die Steuerungs- Zustandsmaschine 96 zum Endübertragungszustand 108, wie es durch einen Pfeil 116 gezeigt ist, wo der Endübertragungszustand 108 die Übertragungszustandsmaschine verzögert, bis die DMA vollständig beendet ist. Wenn es in der Befehlsausgabephase keinen Fehler gibt, ändert sich die Steuerungs-Zustandsmaschine vom Endübertragungszustand 108 zum Zustand 109 für WRT LOTC2, wie es durch einen Pfeil 120 gezeigt ist. Wenn ein Fehler in der Befehlsausgabephase angetroffen wird (Befehlsfehler), dann wird der Zustand 109 für WRT LOTC2 umgangen, wie es durch einen Pfeil 118 gezeigt ist. Unter der Annahme, daß kein Fehler auftritt, lädt die Steuerungs-Zustandsmaschine während des Zustandes 109 für WRT LOTC2 die Länge des Übertragungszählers mit dem Wert, der in den Befehlsausgabe- Datenübertragungsblocklängen-Bytes bestimmt ist. Der Wert bestimmt die Anzahl von Daten-Bytes in der Datenausgabephase, die der Befehlsausgabephase folgt. Die Datenübertragungsblocklängen-Bytes sind die letzten zwei Befehlsausgabephasen-Bytes vor dem Prüfsummen-Byte, wie es durch die atomare Folge definiert ist. Somit wird die Anzahl von Bytes in der Datenausgabephase vor dem Auftreten der Datenausgabephase gespeichert. Die Steuerungs-Zustandsmaschine ändert sich vom Zustand 109 für WRT LOTC2 zum Durchgeführt-Zustand 110 und dann zurück zum Rücksetzzustand 100, wie es durch einen Pfeil 122 gezeigt ist. Nach einem erfolgreichen Beenden der Befehlsausgabephase geht die Informationsphase zur Datenausgabephase über. In der Datenausgabephase arbeitet die Steuerungs-Zustandsmaschine 96, wie es im Zustandsdiagramm gezeigt und nachfolgend beschrieben ist. Der Rücksetzblock 100 wird freigegeben, und die Steuerungs-Zustandsmaschine 96 in der Datenausgabephase ändert sich zum Fehlerlöschzustand 104, wie es durch einen Pfeil 114 gezeigt ist. Es gibt in der Datenausgabephase keine Notwendigkeit für die Steuerungs-Zustandsmaschine 96, durch einen Zustand 102 für WRT LOTC1 zu gehen, da die Anzahl von Byteübertragungen zuvor von der Befehisausgabephase durch den Zustand 109 für WRT LOTC2 geladen worden ist.
  • Vom Fehlerlöschzustand 104 ändert sich die Steuerungs-Zustandsmaschine 96 in der Datenausgabephase zum Übertragungszustand 106 und dann zum Endübertragungszustand 108, wie es zuvor in der Befehlsausgabephase durchgeführt wurde. Nach dem Endübertragungszustand 108 ändert sich die Steuerungs- Zustandsmaschine 96 in der Datenausgabephase dann zunick zum Rücksetzzustand 100 über den Durchgeführt-Zustand 110. Weil die Steuerungs- Zustandsmaschine 96 eine DMA-Steuerung ist, wird daher die Statuseingabephase, die ein einzelnes Byte ist, nicht durch die Steuerungs-Zustandsmaschine betätigt. Nun wird unter Bezugnahme auf Fig. 9 die Operation des Fehler-Multiplexerblocks 98 beschrieben. Der Fehler-Multiplexerblock 98 enthält einen Multiplexer (MUX) 99, der Fehlersignale von fortlaufend arbeitenden Komparatoren 101, 103 und 105 empfängt, die alles, was auf dem Datenbus 107 ist, mit den geeigneten Fehlerbits 109 vergleichen. Der Fehler-Multiplexerblock 98 schaltet in das richtige Fehlersignal zu der Steuerungs-Zustandsmaschine, und zwar zu einer geeigneten Zeit für ein Überprüfen eines Fehlersignais. Der Fehler-Multiplexerblock 98 führt eine automatische Überprüfung des Datenverbindungsoperationscodes und der Zielort/Quellenanschlußstelle durch.
  • Ein weiterer Vorteil der atomaren geordneten Folge ist in Fig. 10 gezeigt, wo in Abhängigkeit von der C/D-Statusleitung und der I/O-Statusleitung ein Anpassungsoder Fehlanpassungssignal zur Hauptsteuerungs-Zustandsmaschine 10 ausgegeben wird. Dies läßt zu, daß der Initiatorknoten feststellt, ob er mit dem Zielknoten auf dem Bus in der richtigen Phase ist. Fig. 10 zeigt das Logikdiagramm für die Übertragungssteuerung, die das Anpassungs- oder Fehlanpassungssignal von den Statusleitungen erzeugt. Die C/D-Eingabe- und I/O-Eingabe-Statusbitleitungen 130 sind alle mit einer Gruppe von Synchronisierern 134 gekoppelt. Die C/D-Ausgabeund I/O-Ausgabe-Statusbits oder -leitungen 132 werden über eine Gruppe von Invertern 140 zu einem Komparator 136 geführt. Weiterhin tritt die Ausgabe von den Synchronisierern 134 auch in den Komparator 136 ein. Der Komparator 136 vergleicht erwartete C/D und I/O mit aktuellen C/D und I/O, um festzustellen, ob die richtigen Knoten miteinander kommunizieren. Die Ausgabe vom Komparator 136 sendet ein Anpassungssignal zur Hauptsteuerungs-Zustandsmaschine, wenn die ankommenden Statusbits und die erwarteten Statusbits gleich sind.

Claims (68)

1.Verfahren zum Übertragen von Information zwischen wenigstens zwei Vorrichtungen (2, 4, 6, 8), die an einen gemeinsamen parallelen Bus (9) gekoppelt sind, und zwar während Informationsübertragungsphasen (BEFEHL, DATEN, STATUS, NACHRICHT) eines den parallelen Bus (9) steuernden Busprotokolls, wobei eine der Vorrichtungen (2, 4, 6, 8) eine Initiatorvorrichtung und eine andere eine Zielvorrichtung ist, wobei der Bus (9) getrennte Daten- und Steuerleitungen hat und gemäß einer Folge von die Informationsphasen enthaltenden Busphasen (BEFEHLSAUSGABE, DATENAUSGABE, STATUSEINGABE) arbeitet, wobei die Informationsphasen eine erste Informationsphase (BEFEHLSAUSGABE), die die Übertragung einer Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) über den Bus (9) zuläßt, eine zweite Informationsphase (DATENAUSGABE), die die Übertragung von Dateninformation (220-223) über den Bus (9) zuläßt, und eine dritte Informationsphase (STATUSEI NGABE), die die Übertragung von Statusinformation (ACK, NAK) über den Bus (9) zuläßt, sind, wobei das Verfahren zum Übertragen von Information während der Informationsübertragungsphasen (BEFEHL, DATEN, STATUS, NACHRICHT) aus folgenden Schritten besteht:
(a) Anordnen eines ersten Steuersignals auf einer oder mehreren Steuerleitungen, was anzeigt, daß der Bus (9) in der ersten Informationsphase (BEFEHLSAUSGABE) ist und was Dateianfangs-Etiketteninformation (200, 202, 204, 206, 208, 209, 210) von der Initiatorvorrichtung über den Bus (9) zur Zielvorrichtung überträgt;
(b) Anordnen eines zweiten Steuersignals auf einer oder mehreren Steuerleitungen, was anzeigt, daß der Bus (9) in der zweiten Informationsphase (DATENAUSGABE) ist, in die der Bus (9) von der ersten Informationsphase (BEFEHLSAUSGABE) übergegangen ist, und was Daten information (220-223) von der Initiatorvorrichtung über den Bus (9) zur Zielvorrichtung überträgt; und
(c) Anordnen eines dritten Steuersignais auf einer oder mehreren Steuerleitungen, was anzeigt, daß der Bus (9) in der dritten Informationsphase (STATUSEINGABE) ist, wobei der Bus (9) von der zweiten Informationsphase (DATENAUSGABE) zur dritten Informationsphase (STATUSEINGABE) übergegangen ist, und was Statusinformation (ACK, NAK) von der Zielvorrichtung über den Bus (9) zur Initiatorvorrichtung überträgt;
(d) Durchführen der Schritte des Anordnens der Steuersignale (C/D, I/O) auf einer oder mehreren Steuerleitungen nur in folgender Reihenfolge: Anordnen des ersten Steuersignals, gefolgt durch Anordnen des zweiten Steuersignals, gefolgt durch Anordnen des dritten Steuersignals, um zu veranlassen, daß alle Informationsübertragungen zwischen wenigstens zwei Vorrichtungen (2, 4, 6, 8) während der Informationsübertragungsphasen (BEFEHL, DATEN, STATUS, NACHRICHT) nur in folgender Reihenfolge auftreten: Dateianfangs-Etiketteninformation (200, 202, 204, 206, 208, 209, 210) von der Initiatorvorrichtung zur Zielvorrichtung, Dateninformation (220-223) von der Initiatorvorrichtung zur Zielvorrichtung und Statusinformation (ACK, NAK) von der Zielvorrichtung zur Initiatorvorrichtung, wobei die Reihenfolge unabhängig von der Konfiguration der Initiatorvorrichtung und der Zielvorrichtung und unabhängig vom Typ der Informationsübertragung ist.
2. Verfahren nach Anspruch 1, das weiterhin folgenden Schritt aufweist:
zwischen den Schritten (a) und (b):
(e) Überwachen der Übertragung der Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210), um zu bestimmen, ob ein oder mehrere Fehlerzustände aufgetreten sind;
wobei der Schritt (c) nur durchgeführt wird, wenn der eine oder die mehreren Fehlerzustände nicht aufgetreten sind;
und wobei der Schritt (d) folgendermaßen durchgeführt wird:
(f) Anordnen eines dritten Steuersignals auf einer oder mehreren Steuerleitungen, was anzeigt, daß der Bus (9) in der dritten Informationsphase (STATUSEINGABE) ist, in die der Bus (9) zur dritten Informationsphase (STATUSEINGABE) übergegangen ist, und zwar entweder von
(i) der ersten Informationsphase (BEFEHLSAUSGABE), wenn der eine oder die mehreren Fehlerzustände aufgetreten sind, oder
(ii) der zweiten Informationsphase (DATENAUSGABE), wenn der eine oder die mehreren Fehlerzustände nicht aufgetreten sind;
(g) Durchführen der Schritte des Anordnens der Steuersignale (C/D, I/O) auf einer oder mehreren Steuerleitungen (130) nur in folgender Reihenfolge: Anordnen des ersten Steuersignals, gefolgt durch Anordnen des zweiten Steuersignals, gefolgt durch Anordnen des dritten Steuersignals, wenn der eine oder die mehreren Fehlerzustände nicht aufgetreten sind, um zu veranlassen, daß alle Informationsübertragungen zwischen wenigstens zwei Vorrichtungen (2, 4, 6, 8) während der Informationsübertragungsphasen (BEFEHL, DATEN, STATUS, NACHRICHT) nur in folgender Reihenfolge auftreten: Dateianfangs-Etiketteninformation (200, 202, 204, 206, 208, 209, 210) von der Initiatorvorrichtung zur Zielvorrichtung, Dateninformation (220-223) von der Initiatorvorrichtung zur Zielvorrichtung und Statusinformation (ACK, NAK) von der Zielvorrichtung zur Initiatorvorrichtung, wenn der eine oder die mehreren Fehlerzustände nicht aufgetreten sind;
(h) Durchführen der Schritte des Anordnens der Steuersignale (C/D, I/O) auf einer oder mehreren Steuerleitungen (130) nur in folgender Reihenfolge: Anordnen des ersten Steuersignals, gefolgt durch Anordnen des dritten Steuersignals, wenn der eine oder die mehreren Fehlerzustände aufgetreten sind, um zu veranlassen, daß alle Informationsübertragungen zwischen wenigstens zwei Vorrichtungen (2, 4, 6, 8) während der Informationsübertragungsphasen (BEFEHL, DATEN, STATUS, NACHRICHT) nur in folgender Reihenfolge auftreten: Dateianfangs-Etiketteninformation (200, 202, 204, 206, 208, 209, 210) von der Initiatorvorrichtung zur Zielvorrichtung und Statusinformation (ACK, NAK) von der Zielvorrichtung zur Initiatorvorrichtung, wenn der eine oder die mehreren Fehlerzustände aufgetreten sind;
wobei die Reihenfolge der Phasenübergänge der Schritte (g) und (h) unabhängig von der Konfiguration der Initiatorvorrichtung und der Zielvorrichtung und unabhängig vom Typ der Informationsübertragung ist.
3. Verfahren nach Anspruch 1 oder 2, wobei das Anordnen des ersten, des zweiten und des dritten Steuersignals (C/D, I/O) auf dem Bus (9) durch die Zielvorrichtung durchgeführt wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, wobei dann, wenn der Bus (9) in der dritten Informationsphase (STATUSEINGABE) ist, die Statusinformation (ACK, NAK) folgendes ist:
a) entweder ein ACK-Signal, wenn während der zweiten Informationsphase (DATENAUSGABE) Dateninformation (220-223) übertragen wird und kein Fehler erfaßt wird;
(b) oder ein NAK-Signal, wenn während der zweiten Informationsphase (DATENAUSGABE) Dateninformation (220-223) übertragen wird und ein Fehler erfaßt wird.
5. Verfahren nach einem der Ansprüche 1 bis 3, das dann, wenn der Bus (9) in der ersten Informationsphase (BEFEHLSAUSGABE) ist, weiterhin folgendes aufweist:
(a) Übertragen einer Zielort-ID (204) und einer Quellen-ID (206) zur Zielvorrichtung, wobei die Zielvorrichtung eine erwartete Zielort-ID und eine erwartete Quellen-ID hat; und
(b) Vergleichen der übertragenen Zielort-ID (204) mit der erwarteten Zielort-ID und Vergleichen der übertragenen Quellen-ID (206) mit der erwarteten Quellen-ID.
6. Verfahren nach Anspruch 5, wobei die übertragene Zielort-ID (204) und die übertragene Quellen-ID (206) als Teil der Dateianfangs-Etiketteninformation (200, 202, 204, 206, 208, 209, 210) übertragen wird.
7. Verfahren nach Anspruch 2, das dann, wenn der Bus (9) in der ersten Informationsphase (BEFEHLSAUSGABE) ist, weiterhin ein Übertragen einer Zielort-ID (204) und einer Quellen-ID (206) zur Zielvorrichtung aufweist, wobei die Zielvorrichtung eine erwartete Zielort-ID und eine erwartete Quellen-ID hat;
wobei der Schritt des Überwachens der Übertragung von Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) ein Vergleichen der übertragenen Zielort-ID (204) mit der erwarteten Zielort-ID und ein Vergleichen der übertragenen Quellen-ID (206) mit der erwarteten Quellen-ID aufweist.
8. Verfahren nach Anspruch 1 oder 2, wobei die Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) ein Sieben-Byte- Format hat.
9. Verfahren nach Anspruch 1 oder 2, wobei die Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) eine Zahl aufweist, die die Quantität der in der zweiten Informationsphase (DATENAUSGABE) zu übertragenden Informationsbytes bestimmt, wobei die Informationsbytes einen Teil (208, 209) der Dateninformation (220-223) bilden.
10. Verfahren nach Anspruch 9, wobei die Zahl, die die Quantität der in der zweiten Informationsphase (DATENAUSGABE) zu übertragenden Informationsbytes bestimmt, in einem Zwei-Byte-Format angeordnet ist.
11. Verfahren nach Anspruch 1 oder 2, wobei die Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) einen Datenverknüpfungs-Operationscode (200) aufweist.
12. Verfahren nach Anspruch 1 oder 2, wobei die Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) einen REQ/ACK- Offset (202) aufweist.
13. Verfahren nach Anspruch 1 oder 2, wobei die Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) eine Zielort-ID- Information (204) aufweist.
14. Verfahren nach Anspruch 1 oder 2, wobei die Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) eine Quellen-ID Information (206) aufweist.
15. Verfahren nach Anspruch 1 oder 2, wobei die Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) eine Prüfsumme (210) aufweist.
16. Verfahren nach Anspruch 1 oder 2, wobei die Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) folgendes aufweist:
(a) einen Datenverknüpfungs-Operationscode (200);
(b) einen REQ/ACK-Offset (202);
(c) eine Zielort-ID-Information (204);
(d) eine Quellen-ID-Information (206);
(e) eine Zahl (208, 209), die die Quantität von in der zweiten Informationsphase (DATENAUSGABE) zu übertragenden Informationsbytes bestimmt, wobei die Informationsbytes einen Teil der Dateninformation (220-223) bilden; und
(f) eine Prüfsumme (210).
17. Verfahren nach Anspruch 1 oder 2, wobei die Statusinformation (ACK, NAK) ein Ein-Byte-Format hat.
18. Verfahren nach Anspruch 1 oder 2, wobei die Dateninformation (220-223) einen Operationscode (221) aufweist.
19. Verfahren nach Anspruch 1 oder 2, wobei die Dateninformation (220-223) ein Flag-Byte (223) aufweist.
20. Verfahren nach Ansprudh 1 oder 2, wobei die Dateninformation (220-223) ein oder mehrere Informationsbytes (220) aufweist.
21. Verfahren nach Anspruch 1 oder 2, wobei die Dateninformation (220-223) eine Prüfsumme (222) aufweist.
22. Verfahren nach Anspruch 1 oder 2, wobei die Dateninformation (220-223) folgendes aufweist:
(a) einen Operationscode (221);
(b) ein Flag-Byte (223);
(c) ein oder mehrere Informationsbytes (220); und
(d) eine Prüfsumme (222).
23. Verfahren nach Anspruch 1 oder 2, wobei die Zielvorrichtung eine erste Zustandsmaschine (10) aufweist, wobei die Zustandsmaschine Zustände enthält, die der ersten, der zweiten und der dritten Informationsphase (BEFEHLSAUSGABE, DATENAUSGABE, STATUSEINGABE) des Busses (9) entsprechen.
24. Verfahren nach Anspruch 1 oder 2, wobei die Initiatorvorrichtung eine erste Zustandsmaschine (10) aufweist, wobei die Zustandsmaschine Zustände enthält, die der ersten, der zweiten und der dritten Informationsphase (BEFEHLSAUSGABE, DATENAUSGABE, STATUSEINGABE) des Busses (9) entsprechen.
25. Verfahren nach Anspruch 23, wobei die erste Zustandsmaschine (10) eine zweite Zustandsmaschine (14) freigibt, wobei die zweite Zustandsmaschine die Vorbereitung der Zielvorrichtung zum Übertragen von Information über den Bus (9) steuert.
26. Verfahren nach Anspruch 24, wobei die erste Zustandsmaschine (10) eine zweite Zustandsmaschine (14) freigibt, wobei die zweite Zustandsmaschine die Vorbereitung der Initiatorvorrichtung zum Übertragen von Information über den Bus (9) steuert.
27. Verfahren nach Anspruch 23, wobei die erste Zustandsmaschine (10) eine dritte Zustandsmaschine (12) freigibt, wobei die dritte Zustandsmaschine die Operation der Zielvorrichtung beim Empfangen von Information in der ersten und der zweiten Informationsphase (BEFEHLSAUSGABE, DATENAUSGABE) und beim Senden von Information in der dritten Informationsphase (STATUSEINGABE) steuert.
28. Verfahren nach Anspruch 24, wobei die erste Zustandsmaschine (10) eine dritte Zustandsmaschine (12) freigibt, wobei die dritte Zustandsmaschine die Operation der Initiatorvorrichtung beim Senden von Information in der ersten und der zweiten Informationsphase (BEFEHLSAUSGABE, DATENAUSGABE) und beim Empfangen von Information in der dritten Informationsphase (STATUSEINGABE) steuert.
29. Verfahren nach Anspruch 25, wobei die erste Zustandsmaschine (10) weiterhin eine dritte Zustandsmaschine (12) freigibt, wobei die dritte Zustandsmaschine die Operation der Zielvorrichtung beim Empfangen von Information in der ersten und der zweiten Informationsphase (BEFEHLSAUSGABE DATENAUSGABE) und beim Senden von Information in der dritten Informationsphase (STATUSEINGABE) steuert.
30. Verfahren nach Anspruch 26, wobei die erste Zustandsmaschine (10) weiterhin eine dritte Zustandsmaschine (12) freigibt, wobei die dritte Zustandsmaschine die Operation der Initiatorvorrichtung beim Senden von Information in der ersten und der zweiten Informationsphase (BEFEHLSAUSGABE, DATENAUSGABE) und beim Empfangen von Information in der dritten Informationsphase (STATUSEINGABE) steuert.
31. Verfahren nach Anspruch 1 oder 2, das dann, wenn der Bus (9) in der ersten Informationsphase (BEFEHLSAUSGABE) ist, weiterhin folgendes aufweist:
(a) Übertragen eines ersten Wertes von der Initiatorvorrichtung zur Zielvorrichtung, wobei der Zielvorrichtung ein zweiter Wert zugeordnet ist;
(b) Vergleichen des ersten Wertes mit dem zweiten Wert; und
(c) Auswählen des kleineren des ersten und des zweiten Wertes als REQ/ACK-Offsetwert für eine Informationsübertragung.
32. Verfahren nach Anspruch 31, wobei der erste Wert ein maximaler REQ/ACK- Offsetwert der Initiatorvorrichtung ist.
33. Verfahren nach Anspruch 31, wobei der zweite Wert der Größe eines Puffers in der Zielvorrichtung entspricht.
34. Verfahren nach Anspruch 31, wobei der erste Wert einen Teil der Dateianfangs-Etiketteninformation (200, 202, 204, 206, 208, 209, 210) bildet.
35. Verfahren nach Anspruch 1 oder 2, wobei die Dateninformation (220-223) Befehlsinformation aufweist.
36. Computersystem mit einem gemeinsamen parallelen Bus (9) und zwei oder mehreren Vorrichtungen (2, 4, 6, 8), die an den Bus (9) gekoppelt sind, zum Übertragen von Information zwischen wenigstens zwei Vorrichtungen, wobei eine der Vorrichtungen eine Initiatorvorrichtung und eine weitere eine Zielvorrichtung ist, wobei der Bus (9) getrennte Daten- und Steuerleitungen aufweist und gemäß einer Folge von Informationsphasen enthaltenden Busphasen (BEFEHLSAUSGABE, DATENAUSGABE, STATUSEINGABE) arbeitet, um eine Informationsübertragung zwischen der Initiatorvorrichtung und der Zielvorrichtung zuzulassen, wobei die Informationsphasen eine erste Informationsphase (BEFEHLSAUSGABE), die die Übertragung von Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) von der Initiatorvorrichtung über den Bus (9) zur Zielvorrichtung zuläßt, eine zweite Informationsphase (DATENAUSGABE), die die Übertragung von Dateninformation (220-223) von der Initiatorvorrichtung über den Bus (9) zur Zielvorrichtung zuläßt, und eine dritte Informationsphase (STATUSEINGABE), die die Übertragung von Statusinformation (ACK, NAK) von der Zielvorrichtung über den Bus (9) zur Initiatorvorrichtung zuläßt, sind;
wobei die Initiatorvorrichtung folgendes aufweist:
(a) einen Informationsphasen-Steuersignalempfänger, der an eine oder mehrere der Steuerleitungen des Busses (9) gekoppelt ist, um Informationsphasen-Steuersignale (C/D, I/O) zu empfangen, die von der Zielvorrichtung über die eine oder die mehreren Steuerleitungen gesendet werden, wobei die Informationsphasen-Steuersignale (C/D, I/O) aus einem ersten Steuersignal zum Anzeigen, daß der Bus (9) in der ersten Informationsphase (BEFEHLSAUSGABE) ist, einem zweiten Steuersignal zum Anzeigen, daß der Bus (9) von der ersten Informationsphase (BEFEHLSAUSGABE) zur zweiten Informationsphase (DATENAUSGABE) übergegangen ist, und einem dritten Steuersignal zum Anzeigen, daß der Bus (9) von der zweiten Informationsphase (DATENAUSGABE) zur dritten Informationsphase (STATUSEINGABE) übergegangen ist, bestehen;
(b) einen Informationssender, der an die Datenleitungen des Busses (9) gekoppelt ist, um während der ersten Informationsphase (BEFEHLSAUSGABE) Dateianfangs-Etiketten information (200, 202, 204, 206, 208, 209, 210) und während der zweiten Informationsphase (DATENAUSGABE) Dateninformation (220-223) zur Zielvorrichtung zu senden;
(c) einen Statusempfänger, der an die Datenleitungen des Busses (9) gekoppelt ist, um während der dritten Informationsphase (STATUSEINGABE) Statusinformation (ACK, NAK) von der Zielvorrichtung zu empfangen;
wobei die Zielvorrichtung folgendes aufweist:
(a) einen Informationsphasen-Steuersignalgenerator, der an eine oder mehrere der Steuerleitungen des Busses (9) gekoppelt ist, um Informationsphasen-Steuersignale (C/D, I/O) zur Sendung über die eine oder die mehreren Steuerleitungen zur Initiatorvorrichtung zu erzeugen, wobei die Informationsphasen-Steuersignale (C/D, I/O) aus einem ersten Steuersignal zum Anzeigen, daß der Bus (9) in der ersten Informationsphase (BEFEHLSAUSGABE) ist, einem zweiten Steuersignal zum Anzeigen, daß der Bus (9) von der ersten Informationsphase (BEFEHLSAUSGABE) zur zweiten Informationsphase (DATENAUSGABE) übergegangen ist, und einem dritten Steuersignal zum Anzeigen, daß der Bus (9) von der zweiten Informationsphase (DATENAUSGABE) zur dritten Informationsphase (STATUSEINGABE) übergegangen ist, bestehen;
(b) einen Informationsempfänger, der an die Datenleitungen des Busses (9) gekoppelt ist, um während der ersten Informationsphase (BEFEHLSAUSGABE) Dateianfangs-Etiketten information (200, 202, 204, 206, 208, 209, 210) und während der zweiten Informationsphase (DATENAUSGABE) Dateninformation (220-223) von der Initiatorvorrichtung zu empfangen; und
(c) einen Statussender, der an die Datenleitungen des Busses (9) gekoppelt ist, um während der dritten Informationsphase (STATUSEINGABE) Statusinformation (ACK, NAK) von der Zielvorrichtung zur Initiatorvorrichtung zu senden;
wobei der Informationsphasen-Steuersignalgenerator aus einem Informationsphasenübergangs-Signalgenerator besteht, der eine Erzeugung der Informationsphasen-Steuersignale (CID, I/O) gemäß einer festen im voraus gewählten Reihenfolge von Informationsphasenübergängen steuert, um zu veranlassen, daß alle Informationsübertragungen zwischen der Initiatorvorrichtung und der Zielvorrichtung während der Informationsübertragungsphasen (BEFEHL, DATEN, STATUS, NACHRICHT) nur in folgender Reihenfolge auftreten: Dateianfangs-Etiketteninformation (200, 202, 204, 206, 208, 209, 210) von der Initiatorvorrichtung zur Zielvorrichtung, Dateninformation (220-223) von der Initiatorvorrichtung zur Zielvorrichtung und Statusinformation (ACK, NAK) von der Zielvorrichtung zur Initiatorvorrichtung, wobei die Reihenfolge unabhängig von der Konfiguration der Initiatorvorrichtung und der Zielvorrichtung und unabhängig vom Typ der Informationsübertragung ist.
37. Computersystem nach Anspruch 36, wobei der Bus (9) gemäß einer Folge von eine Auswahlphase und Informationsphasen enthaltenden Busphasen (BEFEHLSAUSGABE, DATENAUSGABE, STATUSEINGABE) arbeitet, um eine Informationsübertragung zwischen der Initiatorvorrichtung und der Zielvorrichtung zuzulassen, wobei die Auswahlphase eine Übertragung einer Initiator-ID- und einer Ziel-ID-Information von der Initiatorvorrichtung zur Zielvorrichtung enthält;
wobei das Computersystem weiterhin folgendes aufweist:
(e) einen Komparator (136), der mit dem Informationsempfänger gekoppelt ist, um eine während der ersten Informationsphase (BEFEHLSAUSGABE) als Teil der Dateianfangs-Etiketten information (200, 202, 204, 206, 208, 209, 210) empfangene Initiator-ID mit der während der Auswahlphase empfangenen Initiator-ID zu vergleichen und um eine während der ersten Informationsphase (BEFEHLSAUSGABE) als Teil der Dateianfangs-Etiketteninformation (200, 202, 204, 206, 208, 209, 210) empfangene Ziel-ID mit der während der Auswahlphase empfangenen Ziel-ID zu vergleichen, um festzustellen, ob ein oder mehrere Fehlerzustände aufgetreten sind;
(f) wobei der Informationsphasen-Steuersignalgenerator die Informationsphasen-Steuersignale (C/D, I/O) in Antwort auf die Bestimmung durch den Komparator erzeugt, um zu veranlassen, daß dann,
(i) wenn der eine oder die mehreren Fehlerzustände nicht aufgetreten sind, die zwischen der Initiatorvorrichtung und der Zielvorrichtung während der Informationsübertragungsphasen (BEFEHL, DATEN, STATUS, NACHRICHT) übertragene Information nur in folgender Reihenfolge auftritt: Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) von der Initiatorvorrichtung zur Zielvorrichtung, Dateninformation (220-223) von der Initiatorvorrichtung zur Zielvorrichtung und Statusinformation (ACK, NAK) von der Zielvorrichtung zur Initiatorvorrichtung; und
(ii) wenn der eine oder die mehreren Fehlerzustände aufgetreten sind, die zwischen der Initiatorvorrichtung und der Zielvorrichtung während der Informationsübertragungsphasen (BEFEHL, DATEN, STATUS, NACHRICHT) übertragene Information nur in folgender Reihenfolge auftritt: Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) von der Initiatorvorrichtung zur Zielvorrichtung und Statusinformation (ACK, NAK) von der Zielvorrichtung zur Initiatorvorrichtung;
wobei die Reihenfolge der Phasenübergänge von (i) und (ii) unabhängig von der Konfiguration der Initiatorvorrichtung und der Zielvorrichtung und unabhängig vom Typ der Informationsübertragung ist.
38. Computersystem nach Anspruch 36, wobei die Zielvorrichtung weiterhin einen Komparator aufweist, der mit dem Informationsempfänger gekoppelt ist, um eine während der ersten Informationsphase (BEFEHLSAUSGABE) als Teil der Dateianfangs-Etiketteninformation (200, 202, 204, 206, 208, 209, 210) empfangene Quellen-ID mit einer erwarteten Quellen-ID (206) zu vergleichen, und um eine während der ersten Informationsphase (BEFEHLSAUSGABE) als Teil der Dateianfangs-Etiketteninformation (200, 202, 204, 206, 208, 209, 210) empfangene Zielort-ID (204) mit einer erwarteten Zielort-ID zu vergleichen
39. Computersystem nach Anspruch 36 oder 37, wobei der Steuersignalgenerator eine erste Zustandsmaschine (10) mit wenigstens einem ersten, einem zweiten und einem dritten Zustand aufweist, und wobei die Erzeugung des ersten Steuersignals in Antwort darauf erfolgt, daß die erste Zustandsmaschine (10) im ersten Zustand ist, die Erzeugung des zweiten Steuersignals in Antwort darauf erfolgt, daß die erste Zustandsmaschine (10) im zweiten Zustand ist, und die Erzeugung des dritten Steuersignals in Antwort darauf erfolgt, daß die erste Zustandsmaschine (10) im dritten Zustand ist.
40. Computersystem nach Anspruch 39, wobei der Statussender derart auf die erste Zustandsmaschine (10) antwortet, daß der Statussender geeignet wird, Statusinformation (ACK, NAK) zu senden, wenn die erste Zustandsmaschine (10) im dritten Zustand ist.
41. Computersystem nach Anspruch 39, wobei der Informationsempfänger auf die erste Zustandsmaschine derart antwortet, daß der Informationsempfänger geeignet wird, die Dateianfangs-Etiketteninformation (200, 202, 204, 206, 208, 209, 210) und die Dateninformation (220-223) zu empfangen, wenn die Zustandsmaschine im ersten bzw. zweiten Zustand ist.
42. Computersystem nach Anspruch 36 oder 37, wobei die Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) einen Datenverknüpfungs-Operationscode (200) aufweist.
43. Computersystem nach Anspruch 36 oder 37, wobei die Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) einen REQ/ACK- Offset (202) aufweist.
44. Computersystem nach. Anspruch 36 oder 37, wobei die Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) eine Zielort-ID- Information (204) aufweist.
45. Computersystem nach Anspruch 36 oder 37, wobei die Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) eine Quellen-ID- Information (206) aufweist.
46. Computersystem nach Anspruch 36 oder 37, wobei die Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) eine Zahl (208, 209) aufweist, die die Quantität von in der zweiten Informationsphase (DATENAUSGABE) zu übertragenden Informationsbytes bestimmt, wobei die Informationsbytes einen Teil der Dateninformation (220-223) bilden.
47. Computersystem nach Anspruch 36 oder 37, wobei die Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) eine Prüfsumme (210) aufweist.
48. Computersystem nach Anspruch 36 oder 37, wobei die Dateianfangs- Etiketten information (200, 202, 204, 206, 208, 209, 210) folgendes aufweist:
(a) einen Datenverknüpfungs-Operationscode (200);
(b) einen REQ/ACK-Offset (202);
(c) eine Zielort-ID-Information (204);
(d) eine Quellen-ID-Information (206);
(e) eine Zahl (208, 209), die die Quantität von während der zweiten Informationsp hase (DATENAUSGABE) zu übertragenden Informationsbytes bestimmt, wobei die Informationsbytes einen Teil der Dateninformation (220- 223) bilden; und
(f) eine Prüfsumme (210).
49. Computersystem nach Anspruch 36 oder 37, wobei die Dateninformation (220- 223) einen Operationscode (221) aufweist.
50. Computersystem nach Anspruch 36 oder 37, wobei die Dateninformation (220- 223) ein Flag-Byte (223) aufweist.
51. Computersystem nach Anspruch 36 oder 37, wobei die Dateninformation (220- 223) ein oder mehrere Informationsbytes (220) aufweist.
52. Computersystem nach Anspruch 36 oder 37, wobei die Dateninformation (220- 223) eine Prüfsumme (222) aufweist.
53. Computersystem nach Anspruch 36 oder 37, wobei die Dateninformation (220- 223) folgendes aufweist:
(a) einen Operationscode (221);
(b) ein Flag-Byte (223);
(c) ein oder mehrere Informationsbytes (220); und
(d) eine Prüfsumme (222).
54. Computersystem nach Anspruch 36 oder 37, wobei die Dateninformation (220- 223) eine Befehlsinformation aufweist.
55. Computersystem nach Anspruch 36 oder 37, wobei die Zielvorrichtung eine Massenspeichervorrichtung aufweist.
56. Computersystem nach Anspruch 36 oder 37, wobei die Zielvorrichtung eine Schnittstelle aufweist.
57. Computersystem nach Anspruch 36 oder 37, wobei die Zielvorrichtung weiterhin ein REQ/ACK-Offsetselektor ist, der mit dem Informationsempfänger gekoppelt ist, zum Auswählen des kleineren Wertes aus
(i) einem ersten Wert, der von der Initiatorvorrichtung empfangen wird, und
(ii) einem zweiten Wert, der der Zielvorrichtung als REQ/ACK-Offset für die Zielvorrichtung zugeordnet ist.
58. Computersystem nach Anspruch 57, wobei der erste Wert ein maximaler REQ/ACK-Offsetwert der Initiatorvorrichtung ist.
59. Computersystem nach Anspruch 57, wobei der zweite Wert der Größe eines Puffers in der Zielvorrichtung entspricht.
60. Computersystem nach Anspruch 57, wobei der erste Wert einen Teil der Dateianfangs-Etiketteninformation (200, 202, 204, 206, 208, 209, 210) bildet.
61. Computersystem nach Anspruch 36 oder 37, wobei der Steuersignalempfänger eine erste Zustandsmaschine (10) mit wenigstens einem ersten, einem zweiten und einem dritten Zustand aufweist, und wobei die erste Zustandsmaschine (10) in Antwort auf das von der Zielvorrichtung empfangene erste Steuersignal im ersten Zustand ist, in Antwort auf das von der Zielvorrichtung empfangene zweite Steuersignal im zweiten Zustand ist und in Antwort auf das von der Zielvorrichtung empfangene dritte Steuersignal im dritten Zustand ist.
62. Computersystem nach Anspruch 61, wobei der Informationssender auf die erste Zustandsmaschine (10) derart antwortet, daß der Informationssender geeignet wird, Dateianfangs-Etiketteninformation (200, 202, 204, 206, 208, 209, 210) zu senden, wenn die erste Zustandsmaschine (10) im ersten Zustand ist, und Dateninformation (220-223), wenn die erste Zustandsmaschine (10) im zweiten Zustand ist.
63. Computersystem nach Anspruch 61, wobei der Statusempfänger auf die Zustandsmaschine derart antwortet, daß der Statusempfänger geeignet wird, die Statusinformation (ACK, NAK) zu empfangen, wenn die Zustandsmaschine im dritten Zustand ist.
64. Computersystem nach Anspruch 36 oder 37, wobei die Initiatorvorrichtung eine Massenspeichervorrichtung aufweist.
65. Computersystem nach Anspruch 36 oder 37, wobei die Initiatorvorrichtung eine Schnittstelle aufweist.
66. Initiatorvorrichtung zum Koppeln an einen gemeinsamen parallelen Bus (9) zum Übertragen von Information zwischen wenigstens zwei Vorrichtungen, die an den gemeinsamen parallelen Bus gekoppelt sind, wobei eine Zielvorrichtung an den Bus (9) gekoppelt ist, wobei der Bus (9) getrennte Daten- und Steuerleitungen hat, und wobei der Bus (9) gemäß einer Folge von Informationsphasen enthaltenden Busphasen (BEFEHLSAUSGABE, DATENAUSGABE, STATUSEINGABE) arbeitet, um eine Informationsübertragung zwischen der Initiatorvorrichtung und der Zielvorrichtung zuzulassen, wobei die Informationsphasen eine erste Informationsphase (BEFEHLSAUSGABE), die die Übertragung von Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) über den Bus (9) zuläßt, eine zweite Informationsphase (DATENAUSGABE), die die Übertragung von Dateninformation (220-223) über den Bus (9) zuläßt, und eine dritte Informationsphase (STATUSEINGABE), die die Übertragung von Statusinformation (ACK, NAK) über den Bus (9) zuläßt, sind, wobei die Initiatorvorrichtung folgendes aufweist:
einen Informationsphasen-Steuersignalempfänger zur Kopplung an eine oder mehrere der Steuerleitungen des Busses (9) zum Empfangen von Informationsphasen-Steuersignalen (C/D, I/O), die von der Zielvorrichtung über die eine oder die mehreren Steuerleitungen zur Initiatorvorrichtung gesendet werden, wobei die Informationsphasen-Steuersignale (C/D, I/O) aus einem ersten Steuersignal zum Anzeigen, daß der Bus (9) in der ersten Informationsphase (BEFEHLSAUSGABE) ist, einem zweiten Steuersignal zum Anzeigen, daß der Bus (9) in der zweiten Informationsphase (DATENAUSGABE) ist, und einem dritten Steuersignal zum Anzeigen, daß der Bus (9) in der dritten Informationsphase (STATUSEINGABE) ist, bestehen; und
einen Informationssender zur Kopplung an die Datenleitungen des Busses (9) zum Senden von Information zur Zielvorrichtung,
dadurch gekennzeichnet, daß der Informationssender während der ersten Informationsphase (BEFEHLSAUSGABE) Dateianfangs-Etiketteninformation (200, 202, 204, 206, 208, 209, 210) und während der zweiten Informationsphase (DATENAUSGABE) Dateninformation (220-223) zur Zielvorrichtung sendet;
und
die Initiatorvorrichtung weiterhin einen Statusempfänger zur Kopplung an die Datenleitungen des Busses (9) aufweist, um während der dritten Informationsphase (STATUSEINGABE) Statusinformation (ACK, NAK) von der Zielvorrichtung zu empfangen;
wobei der Informationsphasen-Steuersignalempfänger aus einem Signalempfänger besteht, der vorgesehen ist, um Informationsphasen- Steuersignale (C/D, I/O) in einer festen im voraus gewählten Reihenfolge zu empfangen, so daß alle Informationsübertragungen zwischen der Initiatorvorrichtung und der Zielvorrichtung während der Informationsübertragungsphasen (BEFEHL, DATEN, STATUS, NACHRICHT) nur in folgender Reihenfolge auftreten: Dateianfangs-Etiketteninformation (200, 202, 204, 206, 208, 209, 210) von der Initiatorvorrichtung zur Zielvorrichtung, Dateninformation (220-223) von der Initiatorvorrichtung zur Zielvorrichtung und Statusinformation (ACK, NAK) von der Zielvorrichtung zur Initiatorvorrichtung während der dritten Informationsphase (STATUSEINGABE), wobei die Reihenfolge unabhängig von der Konfiguration der Initiatorvorrichtung und der Zielvorrichtung und unabhängig vom Typ der Informationsübertragung ist.
67. Zielvorrichtung zur Kopplung an einen gemeinsamen parallelen Bus (9) zum Übertragen von Information über wenigstens zwei Vorrichtungen, die an den gemeinsamen parallelen Bus gekoppelt sind, wobei eine Initiatorvorrichtung an den Bus (9) gekoppelt ist, wobei der Bus (9) getrennte Daten- und Steuerleitungen hat, und wobei der Bus (9) gemäß einer Folge von Informationsphasen enthaltenden Busphasen (BEFEHLSAUSGABE, DATENAUSGABE, STATUSEINGABE) arbeitet, um eine Informationsübertragung zwischen der Initiatorvorrichtung und der Zielvorrichtung zuzulassen, wobei die Informationsphasen eine erste Informationsphase (BEFEHLSAUSGABE), die die Übertragung von Dateianfangs-Etiketteninformation (200, 202, 204, 206, 208, 209, 210) über den Bus (9) zuläßt, eine zweite Informationsphase (DATENAUSGABE), die die Übertragung von Dateninformation (220-223) über den Bus (9) zuläßt, und eine dritte Informationsphase (STATUSEINGABE), die die Übertragung von Statusinformation (ACK, NAK) über den Bus (9) zuläßt, sind, wobei die Zielvorrichtung folgendes aufweist:
einen Informationsphasen-Steuersignalgenerator zur Kopplung an eine oder mehrere der Steuerleitungen des Busses (9), um Informationsphasen- Steuersignale (C/D, I/O) zur Sendung zur Initiatorvorrichtung über die eine oder die mehreren Steuerleitungen zu erzeugen, wobei die Informationsphasen-Steuersignale (C/D, I/O) aus einem ersten Steuersignal zum Anzeigen, daß der Bus (9) in der ersten Informationsphase (BEFEHLSAUSGABE) ist, einem zweiten Steuersignal zum Anzeigen, daß der Bus (9) in der zweiten Informationsphase (DATENAUSGABE) ist, und einem dritten Steuersignal zum Anzeigen, daß der Bus (9) in der dritten Informationsphase (STATUSEINGABE) ist, bestehen; und
einen Informationsempfänger zur Kopplung an die Datenleitungen des Busses (9), um Information von der Initiatorvorrichtung zu empfangen,
dadurch gekennzeichnet, daß
der Informationsempfänger während der ersten Informationsphase (BEFEHLSAUSGABE) Dateianfangs-Etiketten information (200, 202, 204, 206, 208, 209, 210) und während der zweiten Informationsphase (DATENAUSGABE) Daten information (220-223) von der Initiatorvorrichtung empfängt;
die Zielvorrichtung weiterhin einen Statussender zur Kopplung an die Datenleitungen des Busses (9) aufweist, um während der dritten Informationsphase (STATUSEINGABE) Statusinformation (ACK, NAK) zur Initiatorvorrichtung zu senden;
wobei der Informationsphasen-Steuersignalgenerator aus einem Informationsphasenübergangs-Signalgenerator besteht, der ein Erzeugen der Informationsphasen-Steuersignale (CID, I/O) gemäß einer festen im voraus gewählten Reihenfolge von Informationsphasenübergängen steuert, um zu veranlassen, daß während der Informationsübertragungsphasen (BEFEHL, DATEN, STATUS, NACHRICHT) alle Informationsübertragungen zwischen der Initiatorvorrichtung und der Zielvorrichtung nur in folgender Reihenfolge auftreten: Dateianfangs-Etiketteninformation (200, 202, 204, 206, 208, 209, 210) von der Initiatorvorrichtung zur Zielvorrichtung, Dateninformation (220-223) von der Initiatorvorrichtung zur Zielvorrichtung und Statusinformation (ACK, NAK) von der Zielvorrichtung zur Initiatorvorrichtung, wobei die Reihenfolge unabhängig von der Konfiguration der Initiatorvorrichtung und der Zielvorrichtung und unabhängig vom Typ der Informationsübertragung ist.
68. Busschnittstelle zum Übertragen von Information zwischen wenigstens zwei Vorrichtungen, die mit der Busschnittstelle gekoppelt sind, wobei die Vorrichtungen entweder eine Initiator- oder eine Zielvorrichtung sein können, die an einem gemeinsamen parallelen Bus (9) arbeiten, wobei die Busschnittstelle folgendes aufweist:
(a) eine Einrichtung zum Anordnen eines ersten Steuersignals auf einer oder mehreren Steuerleitungen, was anzeigt, daß der Bus (9) in der ersten Informationsphase (BEFEHLSAUSGABE) ist;
(b) eine Einrichtung, die darauf antwortet, daß der Bus (9) in der ersten Informationsphase (BEFEHLSAUSGABE) ist, um Dateianfangs- Etiketteninformation (200, 202, 204, 206, 208, 209, 210) von der Initiatorvorrichtung über den Bus (9) zu empfangen;
(c) eine Einrichtung zum Anordnen eines zweiten Steuersignals auf einer oder mehreren Steuerleitungen, was anzeigt, daß der Bus (9) in der zweiten Informationsphase (DATENAUSGABE) ist, in die der Bus (9) von der ersten Informationsphase (BEFEHLSAUSGABE) (ibergegangen ist;
(d) eine Einrichtung, die darauf antwortet, daß der Bus (9) in der zweiten Informationsphase (DATENAUSGABE) ist, um Dateninformation (220- 223) von der Initiatorvorrichtung über den Bus (9) zu empfangen;
(e) eine Einrichtung zum Anordnen eines dritten Steuersignals auf einer oder mehreren Steuerleitungen, was anzeigt, daß der Bus (9) in der dritten Informationsphase (STATUSEINGABE) ist, wobei der Bus (9) von der zweiten Informationsphase (DATENAUSGABE) zur dritten Informationsp hase (STATUSEINGABE) übergegangen ist;
(f) eine Einrichtung, die darauf antwortet, daß der Bus (9) in der dritten Informationsphase (STATUSEINGABE) ist, um Statusinformation (ACK, NAK) von der Zielvorrichtung über den Bus (9) zur Initiatorvorrichtung zu übertragen; und
(g) eine Einrichtung zum Steuern der Einrichtung zum Anordnen eines ersten Steuersignals, der Einrichtung zum Anordnen eines zweiten Steuersignals und der Einrichtung zum Anordnen eines dritten Steuersignals gemäß einer festen im voraus gewählten Reihenfolge von Informationsphasenübergängen, um zu veranlassen, daß alle Informationsübertragungen zwischen der Zielvorrichtung und der Initiatorvorrichtung während der Informationsübertragungsphasen (BEFEHL, DATEN, STATUS, NACHRICHT) nur in folgender Reihenfolge auftreten: Dateianfangs-Etiketteninformation (200, 202, 204, 206, 208, 209, 210) von der Initiatorvorrichtung zur Zielvorrichtung, Dateninformation (220-223) von der Initiatorvorrichtung zur Zielvorrichtung und Statusinformation (ACK, NAK) von der Zielvorrichtung zur Initiatorvorrichtung, wobei die Reihenfolge unabhängig von der Konfiguration der Initiatorvorrichtung und der Zielvorrichtung und unabhängig vom Typ der Informationsübertragung ist.
DE68926725T 1988-05-11 1989-05-11 Atomare Sequenz für Phasenübergänge Expired - Fee Related DE68926725T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US19265988A 1988-05-11 1988-05-11

Publications (2)

Publication Number Publication Date
DE68926725D1 DE68926725D1 (de) 1996-08-01
DE68926725T2 true DE68926725T2 (de) 1997-01-23

Family

ID=22710551

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68926725T Expired - Fee Related DE68926725T2 (de) 1988-05-11 1989-05-11 Atomare Sequenz für Phasenübergänge

Country Status (5)

Country Link
US (1) US5287463A (de)
EP (1) EP0341710B1 (de)
JP (1) JPH0682349B2 (de)
CA (1) CA1320767C (de)
DE (1) DE68926725T2 (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850573A (en) * 1990-08-16 1998-12-15 Canon Kabushiki Kaisha Control method for peripheral device in host computer connectable to a plurality of peripheral devices
US5276900A (en) * 1990-12-14 1994-01-04 Stream Computers Master connected to common bus providing synchronous, contiguous time periods having an instruction followed by data from different time period not immediately contiguous thereto
US5655147A (en) * 1991-02-28 1997-08-05 Adaptec, Inc. SCSI host adapter integrated circuit utilizing a sequencer circuit to control at least one non-data SCSI phase without use of any processor
IL100127A0 (en) * 1991-03-11 1992-08-18 Future Domain Corp Scsi controller
US5659690A (en) * 1992-10-15 1997-08-19 Adaptec, Inc. Programmably configurable host adapter integrated circuit including a RISC processor
US5553308A (en) * 1993-03-05 1996-09-03 Alcatel Network Systems, Inc. Serial communication format and methodology
CA2116826C (en) * 1993-03-11 1998-11-24 Timothy J. Sullivan Data processing system using a non-multiplexed, asynchronous address/data bus system
CA2115731C (en) * 1993-05-17 2000-01-25 Mikiel Loyal Larson Dynamically programmable bus arbiter with provisions for historical feedback and error detection and correction
US5634081A (en) * 1994-03-01 1997-05-27 Adaptec, Inc. System for starting and completing a data transfer for a subsequently received autotransfer command after receiving a first SCSI data transfer command that is not autotransfer
US5729719A (en) * 1994-09-07 1998-03-17 Adaptec, Inc. Synchronization circuit for clocked signals of similar frequencies
US5613076A (en) * 1994-11-30 1997-03-18 Unisys Corporation System and method for providing uniform access to a SCSI bus by altering the arbitration phase associated with the SCSI bus
US5784390A (en) 1995-06-19 1998-07-21 Seagate Technology, Inc. Fast AtA-compatible drive interface with error detection and/or error correction
US7020111B2 (en) * 1996-06-27 2006-03-28 Interdigital Technology Corporation System for using rapid acquisition spreading codes for spread-spectrum communications
US7123600B2 (en) * 1995-06-30 2006-10-17 Interdigital Technology Corporation Initial power control for spread-spectrum communications
US6788662B2 (en) 1995-06-30 2004-09-07 Interdigital Technology Corporation Method for adaptive reverse power control for spread-spectrum communications
ZA965340B (en) * 1995-06-30 1997-01-27 Interdigital Tech Corp Code division multiple access (cdma) communication system
US5754803A (en) 1996-06-27 1998-05-19 Interdigital Technology Corporation Parallel packetized intermodule arbitrated high speed control and data bus
US6816473B2 (en) 1995-06-30 2004-11-09 Interdigital Technology Corporation Method for adaptive forward power control for spread-spectrum communications
US7929498B2 (en) * 1995-06-30 2011-04-19 Interdigital Technology Corporation Adaptive forward power control and adaptive reverse power control for spread-spectrum communications
US7072380B2 (en) * 1995-06-30 2006-07-04 Interdigital Technology Corporation Apparatus for initial power control for spread-spectrum communications
US6697350B2 (en) 1995-06-30 2004-02-24 Interdigital Technology Corporation Adaptive vector correlator for spread-spectrum communications
US6885652B1 (en) * 1995-06-30 2005-04-26 Interdigital Technology Corporation Code division multiple access (CDMA) communication system
US6940840B2 (en) 1995-06-30 2005-09-06 Interdigital Technology Corporation Apparatus for adaptive reverse power control for spread-spectrum communications
US6240474B1 (en) * 1997-09-16 2001-05-29 International Business Machines Corporation Pipelined read transfers
US20020051434A1 (en) * 1997-10-23 2002-05-02 Ozluturk Fatih M. Method for using rapid acquisition spreading codes for spread-spectrum communications
US6134617A (en) * 1998-04-03 2000-10-17 Lsi Logic Corporation Method and apparatus for managing access to a loop in a data processing system
US6826646B1 (en) * 2000-12-20 2004-11-30 Adaptec, Inc. Method and structure for supporting data streaming by a SCSI initiator during the data in phase of the packetized SCSI protocol
US6769037B1 (en) 2000-12-20 2004-07-27 Adaptec, Inc. Method and system for flow control during the data out phase of the packetized SCSI protocol
US7047327B1 (en) 2000-12-20 2006-05-16 Adaptec, Inc. Method and structure for supporting flow control by a SCSI initiator during the data out phase of the packetized SCSI protocol
US6745260B1 (en) 2000-12-20 2004-06-01 Adaptec, Inc. Method and system for data streaming during the data in phase of the packetized SCSI protocol
US6728815B1 (en) 2000-12-20 2004-04-27 Adaptec, Inc. Method and structure for supporting data streaming by a SCSI target during the data in phase of the packetized SCSI protocol
US6842798B1 (en) 2000-12-20 2005-01-11 Adaptec, Inc. Method and structure for supporting flow control by a SCSI target during the data out phase of the packetized SCSI protocol
US6766479B2 (en) * 2001-02-28 2004-07-20 Stratus Technologies Bermuda, Ltd. Apparatus and methods for identifying bus protocol violations
US6801975B1 (en) * 2001-12-05 2004-10-05 Adaptec, Inc. Parallel SCSI host adapter and method for fast capture of shadow state data
US6895709B1 (en) * 2002-04-30 2005-05-24 Gary L. Krien Portable seat and platform support
US7129753B2 (en) * 2004-05-26 2006-10-31 Infineon Technologies Ag Chip to chip interface
US7376809B2 (en) * 2005-03-09 2008-05-20 International Business Machines Corporation Systems and methods for multi-frame control blocks
CN100373361C (zh) * 2006-03-14 2008-03-05 杭州华三通信技术有限公司 外设lpc总线接口时序转换方法、装置及输入输出系统
WO2008117164A2 (en) * 2007-03-26 2008-10-02 Marvell World Trade Ltd. Encoding and decoding systems with header and data transmission success indication
GB201507495D0 (en) * 2015-04-30 2015-06-17 Cooper Technologies Co Bus network terminator

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4205200A (en) * 1977-10-04 1980-05-27 Ncr Corporation Digital communications system utilizing controllable field size
US4225919A (en) * 1978-06-30 1980-09-30 Motorola, Inc. Advanced data link controller
US4354229A (en) * 1980-03-10 1982-10-12 International Business Machines Corporation Loop initialization mechanism for a peer-to-peer communication system
US4390944A (en) * 1980-05-13 1983-06-28 Bti Computer Systems System for controlling access to a common bus in a computer system
US4453211A (en) * 1981-04-28 1984-06-05 Formation, Inc. System bus for an emulated multichannel system
US4574362A (en) * 1982-04-12 1986-03-04 Tektronix, Inc. Block mode digital signal conditioning method and apparatus
US4590468A (en) * 1983-03-10 1986-05-20 Western Digital Corporation Token access controller protocol and architecture
US4766536A (en) * 1984-04-19 1988-08-23 Rational Computer bus apparatus with distributed arbitration
US4769818A (en) * 1984-05-30 1988-09-06 Canadian Patents And Development Limited-Societe Canadienne Des Brevets Et D'exploitation Limitee Method and apparatus for coding digital data to permit correction of one or two incorrect data packets (bytes)
US4688168A (en) * 1984-08-23 1987-08-18 Picker International Inc. High speed data transfer method and apparatus
US4715045A (en) * 1984-09-13 1987-12-22 Gridcomm, Inc. System protocol for composite shift keying communication system
US4716525A (en) * 1985-04-15 1987-12-29 Concurrent Computer Corporation Peripheral controller for coupling data buses having different protocol and transfer rates
US4908749A (en) * 1985-11-15 1990-03-13 Data General Corporation System for controlling access to computer bus having address phase and data phase by prolonging the generation of request signal
US4783705A (en) * 1986-02-27 1988-11-08 Quantum Corporation High capacity disk file with embedded sector servo and SCSI interface
JPS62271033A (ja) * 1986-05-19 1987-11-25 Nec Corp デ−タ転送処理装置
US4821170A (en) * 1987-04-17 1989-04-11 Tandem Computers Incorporated Input/output system for multiprocessors
US4839793A (en) * 1987-07-01 1989-06-13 Baytec, Inc. Multiple computer interface
US4864532A (en) * 1987-09-21 1989-09-05 Unisys Corporation Small computer systems interface--data link processor
US4864291A (en) * 1988-06-21 1989-09-05 Tandem Computers Incorporated SCSI converter

Also Published As

Publication number Publication date
EP0341710A3 (de) 1991-09-04
JPH0223453A (ja) 1990-01-25
EP0341710B1 (de) 1996-06-26
CA1320767C (en) 1993-07-27
JPH0682349B2 (ja) 1994-10-19
DE68926725D1 (de) 1996-08-01
EP0341710A2 (de) 1989-11-15
US5287463A (en) 1994-02-15

Similar Documents

Publication Publication Date Title
DE68926725T2 (de) Atomare Sequenz für Phasenübergänge
DE3280451T2 (de) Verfahren zur Initialisierung eines Datenverarbeitungssystems.
DE3587493T2 (de) Betriebssicheres Datenverarbeitungsbussystem.
DE69028462T2 (de) Vorrichtung zur Verbindung von einer Steuereinheit mit parallelem Bus mit einem Kanal mit serieller Verbindung
DE3204905C2 (de)
DE69108434T2 (de) Mehrgruppen-Signalprozessor.
DE3850097T2 (de) Rechnerverbinder für gruppen von datenverarbeitungseinrichtungen.
DE19900245B4 (de) Vorrichtung und Verfahren zum Senden von Daten von einem USB-Endpunkt an einen USB-Host
DE69020306T2 (de) Programmierbare logische Steuerungseinheiten.
DE3382592T2 (de) Zweifachbusstruktur fuer die rechnerverbindung.
DE68927214T2 (de) Verfahren zur Datenübertragung zwischen einem Medienzugriffskontroller und einem Pufferspeicher in einem Tokenring-Netz
DE69132131T2 (de) Kommunikationsschnittstelle zur serialen Übertragung von Datenzeichnen veränderlicher Länge
DE3942661C2 (de)
DE68927394T2 (de) Paritätsprüfgerät
DE69331449T2 (de) Hochleistungskanäle für Datenverarbeitungssysteme
DE3687367T2 (de) Ein/ausgabe-steuerungssystem.
DE3650092T2 (de) E/a-steuerung mit zwei funktionen.
DE3851445T2 (de) Durch Direktspeicherzugriff gesteuertes System.
DE3942639C2 (de)
DE3725343A1 (de) Vielzweck-kanalsteuersystem
CH644235A5 (de) Steuerungsadapter fuer uebertragungsleitungen.
EP0772830A1 (de) Datenreduktion für buskoppler
DE69230699T2 (de) Asynchrone Hochleistungs-Busschnittstelle
DE19539519A1 (de) Antriebssteuerbefehlseinheit, Synchronsteuersystem für eine Vielzahl von Antriebssteuerbefehlseinheiten, und Synchronsteuerverfahren für die Einheiten
DE69129840T2 (de) Nachrichtensteuerungsverfahren für ein datenkommunikationssystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Free format text: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER, 80538 MUENCHEN

8339 Ceased/non-payment of the annual fee