DE68926725T2 - Atomare Sequenz für Phasenübergänge - Google Patents
Atomare Sequenz für PhasenübergängeInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4213—Bus 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
- 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.
- 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.
- 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.
- 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.
- 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.
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)
| 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)
| 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 |
-
1989
- 1989-05-10 CA CA000599257A patent/CA1320767C/en not_active Expired - Fee Related
- 1989-05-11 DE DE68926725T patent/DE68926725T2/de not_active Expired - Fee Related
- 1989-05-11 JP JP1118511A patent/JPH0682349B2/ja not_active Expired - Fee Related
- 1989-05-11 EP EP89108479A patent/EP0341710B1/de not_active Expired - Lifetime
-
1990
- 1990-07-19 US US07/562,433 patent/US5287463A/en not_active Expired - Lifetime
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 |