DE3889511T2 - Speicherung von Grenzzeitüberschreitungen und Quittungsantworten nach Ein-/Ausgabebefehlen. - Google Patents

Speicherung von Grenzzeitüberschreitungen und Quittungsantworten nach Ein-/Ausgabebefehlen.

Info

Publication number
DE3889511T2
DE3889511T2 DE3889511T DE3889511T DE3889511T2 DE 3889511 T2 DE3889511 T2 DE 3889511T2 DE 3889511 T DE3889511 T DE 3889511T DE 3889511 T DE3889511 T DE 3889511T DE 3889511 T2 DE3889511 T2 DE 3889511T2
Authority
DE
Germany
Prior art keywords
signal
bus
command
subsystem
subsystems
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE3889511T
Other languages
English (en)
Other versions
DE3889511D1 (de
Inventor
Richard A Lemay
Michael D Smith
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Inc
Original Assignee
Bull HN Information Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull HN Information Systems Inc filed Critical Bull HN Information Systems Inc
Application granted granted Critical
Publication of DE3889511D1 publication Critical patent/DE3889511D1/de
Publication of DE3889511T2 publication Critical patent/DE3889511T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

  • Die Erfindung bezieht sich allgemein auf Datenverarbeitungssysteme und insbesondere auf eine Vorrichtung, die dem Programmierer Antworten auf Eingabe-/Ausgabebefehle zur Verfügung stellt.
  • Viele Datenverarbeitungssysteme schließen eine Zahl von Untersystemen ein, die gemeinsam an einen Systembus gekoppelt sind. Die Untersysteme können eine Anzahl zentraler Prozessoren einschließen, ein Speicheruntersystem und eine Anzahl von peripheren Untersystemen. Diese peripheren Untersysteme können eine Anzahl von Kommunikationsuntersystemen einschließen, eine Anzahl von Massenspeicher-Untersystemen, eine Anzahl von Einheitsaufnahme-Untersystemen, eine Anzahl von Arbeitsstation- Untersystemen, und ähnliches.
  • Jedes Untersystem, ein Master, kann mit einem Untersystem, einem Slave, kommunizieren, indem ein Befehl über den Systembus generiert wird. Der Befehl schließt eine Kanalnummer ein, die den Slave identifiziert, einen Funktionscode, der die Operation spezifiziert, die der Slave durchzuführen hat, und einige Befehle, Daten, die der Slave benutzen wird, um die spezifizierte Operation durchzuführen. Der Slave wird ein Bestätigungssignal über den Systembus generieren, wenn der Befehl empfangen worden ist. Der Master wird das Bestätigungssignal von dem Systembus empfangen und sich von dem Systembus abtrennen.
  • In gleicher Weise kann der Slave ein Nichtbestätigungssignal über den Systembus ausgeben, um anzugeben, daß der Slave den Befehl nicht akzeptiert hat. Der Master wird das Nichtbestätigungssignal von dem Systembus empfangen und sich selbst von dem Systembus abtrennen. Der Master wird dann eine Entscheidung treffen, ob ein Wiederholungsversuch vorzunehmen ist.
  • Es ist möglich, daß der Slave den Befehl nicht beantworten wird. In diesem Fall wird der Master ein Zeitlimit überschreiten und sich selbst von dem Systembus trennen. Der Master kann den Befehl wiederauszuführen versuchen und wenn noch keine Antwort vorliegt, eine Entscheidung treffen, um möglicherweise die Bedienperson auf ein Problem aufmerksam zu machen.
  • Jedoch hat eine zentrale Prozessoreinheit, die als ein Master viele Befehle für verschiedene Slaves generiert, das Problem, die Antworten auf diese Befehle weiter zu verfolgen und dabei den Durchsatz seiner Software aufrechtzuerhalten, insbesondere wenn irgendein I/O-Befehl durch einen Befehl höherer Priorität unterbrochen werden kann.
  • Eine Busschnittstelle eines Datenverarbeitungssystems in einer Kommunikationsumgebung ist aus der Patentanmeldung EP-A-0 049 159 des Anmelders der vorliegenden Patentanmeldung bekannt. Diese Patentanmeldung betrifft eine Kommunikationssteuereinheit, die als ein Slave für von einem Master gesendete Busbefehle handelt und mit Quittungs- (ACK)/Nichtquittungs-(NAK)-Signalen auf derartige Befehle antwortet. Die Slave-Kommunikationssteuereinrichtung speichert ACK/NAK-Bits vor, um diese beim Antworten auf die Master-Befehle zu benutzen. Die vorgespeicherten Bits basieren auf Informationen, die der Kommunikationssteuereinheit zur Verfügung stehen, hinsichtlich der Frage, ob ein von dem Master plaziertes Kommando ausgeführt wird hinsichtlich dem besonderen Kanal, der durch das Kommando identifiziert ist.
  • Das US-Patent 4,562,533 offenbart einen Adapter für Zwischen-Prozessor- Kommunikationen, wobei die Information, die zwischen zwei zentralen Systemen übermittelt wird, zeitweise in einem Datenpuffer gespeichert wird. Ein Steuerprozessor koordiniert und überwacht den Informationstransfer in und aus dem Datenpuffer durch Schnittstellenbildung mit einem Nachrichtenprotokollmodul gemäß einem definierten Nachrichtenprotokoll, wobei der Informationstransfer zwischen dem Paar zentraler Systeme erzielt wird.
  • In einem Artikel "Multiple Timer Servive" von R.W. Callahan und M.J. Mitchel, Jr., in IBM Techn. Discl. Bull. Band 18, Nr. 11, April 1976, S. 3608-3609, ist ein Zeitgeber-Mikroprogramm offenbart, das in Zeitmultiplex mit anderen direkter produktiven Mikroprogrammen eines Unterstützungsverarbeitungssystems ausgeführt wird, das Teil eines Datenverarbeitungssystems ist, das variabel mikroprogrammierbare Zentralprozessoren und Eingangs-/Ausgangs-Unterstützungsprozessoren verwendet, die Dienste für Task-Programme vorsieht, die zwischen den zentralen Prozessoren und den Unterstützungsprozessoren übermittelt werden. Ein Dienst, der gewinnbringend von dem Unterstützungsprozessor durchgeführt wird, ist der von Zeitabfolgen-Eingang-/Ausgangtransferprozessen bezüglich des Speichers, der im allgemeinen für beide Prozessoren zugänglich ist. Der Zeitgeberinstruktionsstrom beendet den Zeit-Aus-Prozeß beim Erkennen eines "vollständigen" Zustandes (Nullwert). Zu diesen Zeiten setzt es das geeignete gültige Bit und den Signalzwischenspeicher zurück, nachdem es der individuellen Schnittstelle angezeigt worden ist.
  • Dementsprechend ist es ein Ziel der vorliegenden Erfindung, in einem Datenverarbeitungssystem, in dem eine Vielzahl von Untersystemen miteinander über einen gemeinsamen Systembus kommunizieren, einen verbesserten Prozessor zum Speichern einer Aufzeichnung von Antworten auf Kommandos vorzusehen, die auf den Systembus zum Verfolgen der Antworten auf diese Befehle gelegt werden.
  • Dieses Ziel wird in einem Datenverarbeitungssystem mit den Merkmalen des Anspruchs 1 erreicht. Vorteilhafte Ausführungsformen sind in den Unteransprüchen definiert.
  • Ein Datenverarbeitungssystem schließt eine Anzahl von zentralen Verarbeitungsuntersystemen ein, ein Speicheruntersystem und eine Anzahl von peripheren Untersystemen, die alle gemeinsam an einen Systembus gekoppelt sind.
  • Ein zentrales Verarbeitungsuntersystem kommuniziert mit den anderen Untersystemen, indem Kommandos über den Systembus gesendet werden. Das Kommando zu dem peripheren Untersystem (I/O-Kommandos) schließt eine Kanalnummer ein, die ein peripheres Untersystem identifiziert, einen Funktionscode, der den Betrieb spezifiziert, den das periphere Untersystem ausführen wird, sowie möglicherweise Daten.
  • Das periphere Untersystem kann zurück zu dem Systembus ein Quittungssignal, ein Nichtquittungssignal oder eine Nichtantwort senden. Wenn keine Antwort empfangen wird, wird das zentrale Verarbeitungssystem das Zeitlimit überschreiten. Das zentrale Verarbeitungssystem schließt einen Antwortspeicher ein, der die Quittungssignalantwort oder die Auszeitantwort an einer Speicherstelle speichert, die durch die Kanalnummer des peripheren Untersystems spezifiziert ist. Ein Mikroprozessor in dem zentralen Verarbeitungsuntersystem liest die Inhalte der Speicherplätze unter Softwaresteuerung, um zu bestimmen, welche Antwort das zentrale Verarbeitungssystem erhalten hat.
  • Die Inhalte einer binären 10 an der Adresse entsprechend der Kanalnummer der peripheren Untersysteme gibt an, daß das Kommando von dem peripheren Untersystem quittiert worden ist. Die Inhalte einer binären 00 geben an, daß ein Nichtquittungssignal empfangen worden ist. Die Software kann dann die zugehörige Maßnahme durchführen. Die Inhalte einer binären 01 geben an, daß das periphere Untersystem nicht geantwortet hat. Es ist möglich, daß es kein peripheres Untersystem mit der Kanalnummer auf dem Systembus gibt. Die Art und Weise, in der das Verfahren gemäß der vorliegenden Erfindung durchgeführt wird, und die Art und Weise, in der die Vorrichtung gemäß der vorliegenden Erfindung aufgebaut ist und ihre Betriebsweise können am besten anhand der folgenden Beschreibung in Verbindung mit den beigefügten Zeichnungen verstanden werden, in denen gleiche Bezugszeichen die selben Elemente in den einzelnen Figuren bezeichnen:
  • Es zeigt
  • Fig. 1 ein Gesamtblockdiagramm eines Datenverarbeitungssystems;
  • Fig. 2 typische I/O-Kommandoformate;
  • Fig. 3A ein detailliertes Logikdiagramm der Antwortspeicherlogik;
  • Fig. 3B die Busverbindungslogik;
  • Fig. 4 ein Zeitabfolgendiagramm der Systembusverbindungslogik für die normalen und die Auszeitbedingungen.
  • Figur 1 zeigt ein Blockdiagramm eines Datenverarbeitungssystems 1, das eine Systemmanagementeinrichtung (SMF, system management facility) 32 einschließt, eine Anzahl optionaler Prozessoren 34, einen Fernspeicher 30, eine Anzahl von optionalen peripheren Untersystemen 36 und ein nichtgeschütztes Untersystem 3, die alle gemeinsam an einen Systembus 16 gekoppelt sind. Die Einrichtung SMF 32 sieht den Start und die zentralisierte Steuerung des gesamten Datenverarbeitungssystems 1 vor. Der Fernspeicher 30, die optionalen Prozessoren 34 und die optionalen peripheren Untersysteme 36 weisen einen herkömmlichen Betrieb auf.
  • Das nichtgeschützte System (NPE) 3, das eine Familie von Plattformsystemen bereitstellt, auf denen nichtgeschützte Betriebssysteme getragen werden können, kann getragen bzw. portiert werden. Dies ermöglicht Systemherstellern, "Lösungen" zu strukturieren, indem ein weiter Bereich von allgemein erhältlichen Softwareanwendungen mit der Standardsoftware anderer konventioneller Untersysteme kombiniert wird, die das Datenverarbeitungssystem 1 bilden. Das System NPE 3 schließt eine zentrale- Verarbeitungseinheit (CPU) 2 ein, eine wissenschaftlich orientierte Verarbeitungseinheit (SPU) 4, eine Speichermanagementeinheit (MMU) 10 und eine Nichtspeicherreferenzeinheit 14, die alle gemeinsam an einen Adreßbus 6 und an einen Datenbus 8 gekoppelt sind. Eine Speicherreferenzeinheit (MRU) 12 ist an den Datenbus 8 und an die Einheit MMU 10 durch einen physikalischen Adreßbus 18 gekoppelt. Ein lokaler Speicher 28 ist an die Einheit 12 über einen Datenbus 24 und einen Adreßbus 26 gekoppelt. Die Einheit MRU 12 und die Einheit NMRU 14 sind beide an einen Systembus 16 gekoppelt.
  • Die CPU 2 ist typischerweise ein Motorola 68020-Mikroprozessor, der 32 Adreßsignale über den Adießbus 6 generiert, 32 Datensignale über den Datenbus 8 empfängt oder generiert und eine Anzahl von Steuerleitungen hat. Die Einheit SPU 4 ist typischerweise ein Motorola 68881 Gleitkomma-Coprozessor. Die Einheiten SPU 4 und CPU 2 arbeiten bei der Ausführung von Gleitkommainstruktionen zusammen.
  • Die CPU 2 holt und decodiert die Instruktionen, berechnet die effektive Adresse und initiiert Operandenreferenzen. Die SPU 4 führt dann die Instruktionen aus.
  • Die Einheit MMU 10 ist typischerweise eine seitenweise aufgebaute Motorola 68851 - Speichermanagementeinheit, die logische Adressen von der CPU 2 über den Adreßbus 6 erhält und sie erzeugt physikalische Adressen für einen Transfer über den Bus 18.
  • Die MRU 12 empfängt physikalische Adressen von der Einheit MMU 10 und vom Systembus 16 und bestimmt, ob Speicherplätze des lokalen Speichers 28 oder des Fernspeichers 30 adressiert sind. Betrifft die Transaktion ein Lokalspeicherschreiben, fügt die Einheit MRU 12 eine Parität an jedes Datenbite, das von der CPU empfangen worden ist und speichert es in dem adressierten Speicherplatz im Lokalspeicher 28 ab. Ist die Transaktion ein Lokalspeicherlesen, greift die Einheit MRU 12 auf die Daten von dem adressierten Speicherplatz zu, führt die zugehörigen Paritätsprüfungen durch und leitet die Daten zu der anfordernden Einheit CPU 2 oder SPU 4 oder zu dem Systembus 16.
  • Wenn die Transaktion auf den Fernspeicher 30 gerichtet ist, dann sendet die Einheit MRU 12 ein Kommando auf den Systembus 16 einschließlich Adresse, Steuer- und Dateninformation für eine Schreibinformation zu dem Fernspeicher 30 auf dem Systembus 16 aus. Für eine Leseoperation sendet die Einheit MRU 12 das Kommando einschließlich der Adresse und einer Steuerinformation auf den Systembus 16. In diesem Fall identifiziert die Dateninformation (Kanalnummer) die sendende Einheit. Das Antwortkommando wird daher während des zweitens Halbbuszyklus die angeforderten Daten einschließen sowie die Adresse der anfordernden Einheit, die Kanalnummer.
  • Die Einheit MRU 14 steuert alle Nichtspeicherkommandos einschließlich interne NPE 3 (lokale Nichtspeicherkommandos) und alle Nichtspeicherkommandos auf dem Systembus 16 (entfernt). Lokale Nichtspeicherkommandos machen eine Anzahl von Registern für den Programmierer verfügbar. Fernnichtspeicher (I/O)-Kommandos machen dem Programmierer eine Anzahl von Registern in den peripheren Untersystemen verfügbar, die an den Systembus 16 gekoppelt sind und führen Daten zu den peripheren Untersystemen zu. Die Antworten auf die I/O-Kommandos werden empfangen und in der Antwortspeicherlogik 38 gespeichert.
  • Figur 2 zeigt das Format einiger typischer Nichtspeicherkommandos. Ein I/O-Ausgabekommando, d.h. ein Untersystem, gekoppelt an den Systembus 16, sendet Daten zu einem anderen Untersystem aus, das an den Systembus 16 gekoppelt ist, schließt die Kanalnummer des empfangenden Untersystems in den Bitpositionen 8 bis 17 des Adreßbusses 16-2 ein, einen Funktionscode in Bitpositionen 18 bis 23 des Adreßbusses 16-2 und Daten in Bitpositionen 0 bis 31 des Datenbusses 16-4. Zu den Steuersignalen auf den Steuerbus 16-6 gehören ein Steuerreferenzsignal BSMREF, das angibt, daß dies nicht ein Speicher 30-Kommando ist, und ein Zweithälftenbuszyklussignal BSSHBC, das angibt, daß dies nicht eine Antwort auf ein vorhergehendes Kommando ist. Jedes Untersystem wird auf seine einmal vorhandene Kanalnummer antworten. Der Funktionscode gibt den Betrieb an, den das empfangende Untersystem durchführen wird. Es ist auch ein I/O-Eingabekommando mit seiner Eingabeantwort gezeigt. Es ist darauf hinzuweisen, daß Bitpositionen 0 bis 9 des Datenbusses 16- 4 die Kanalnummer des sendenden Untersystems spezifizieren. Diese Kanalnummer wird in dem Eingabeantwortkommando in den Bitpositionen 6 bis 17 des Adreßbusses 16-2 erscheinen. Es ist darauf hinzuweisen, daß das Signal BSSHBC angibt, daß dies eine Antwort auf ein vorhergehendes Eingabekommando ist.
  • Ein peripheres Untersystem 36 wird auf ein Kommando antworten, das seine Kanalnummer einschließt, indem ein Quittungssignal BSACKR oder ein Nichtquittungssignal BSNAKR gesendet wird. Wenn die Einheit NPE 3 keinerlei Antwort erhält, wird eine Auszeit von 3 Mikrosekunden ein Auszeitsignal TIM3US (Figur 3A) erzeugen und eine Auszeit von 5 Mikrosekunden wird ein Signal TIM5US erzeugen. Der Systembus 16 schließt einen 32 Bit-Adreßbus 16-2, einen 32 Bit-Datenbus 16-4 und einen Steuerbus 16-6 ein. Das Signal BSACKR wird empfangen und in einer Antwortspeicherlogik 38 mit einer Eingabe der Auszeit abgespeichert.
  • Figur 3A ist ein detailliertes Logikdiagramm der Antwortspeicherlogik 3. Wenn das I/O-Kommando über den Systembus 16 zu einem peripheren Untersystem ausgesendet wird, kann das periphere Untersystem das Kommando akzeptieren und ein Quittungssignal BSACKR zurück auf den Systembus 16 abgeben oder es kann das Kommando zurückweisen und ein Nichtquittungssignal BSNAKR zurück auf den Systembus 16 geben. Aus dem selben Grunde kann das Kommando auch nicht erkannt werden und eine Nichtantwort wird auf den Systembus 16 ausgegeben. Der Betrieb des Systembusses 16 ist in dem US-Patent 4,030,075 mit der Bezeichnung "Data Processing System Having Distributed Priority Network" beschrieben.
  • Wenn kein Quittungssignal oder eine Nichtquittungsantwort von der Antwortspeicherlogik 3 empfangen wird, bleiben die Signale BSDCND und BSDCNB, die der 3 Mikrosekunden-Zeitschaltung 68 zugeführt werden, hoch und das Signal MYDCNN, das einem CD-Eingabenanschluß seiner Flopschaltung 66 zugeführt wird, bleibt hoch. Wenn diese Signale mehr als 3 Mikrosekunden hoch bleiben, was eine Auszeit des Systembusses 16 angibt, dann geht das Signal TIM3US hoch und eine Flopschaltung 66 setzt zwangsweise das Ausgabesignal MYTOUR+ hoch. Nach 5 Mikrosekunden, da die Signale BSDCND und BSDCNB noch hoch sind, wird eine Zeitschaltung 74 ein Signal TIM5US erzeugen, das eine Flopschaltung 76 zu einem hohen Ausgabesignal BSTMOT veranlaßt.
  • Wenn das my Kanalnummernsignal MYCHNO, das die Einheit NPE 3 identifiziert, hoch ist, dann generiert ein UND-Gatter 78 ein Signal MYNAKR, das die Auszeit der Einheit NPE 3 angibt. Ein Treiber 80 plaziert das Nichtquittungssignal BSNAKR- auf den Systembus 16. Das Signal wird sofort von einem Empfänger 82 empfangen, der das Nichtquittungssignal BSNAKR+ generiert, das zu einer ODER-Schaltung 84 zugeführt wird.
  • Eine Flopschaltung 60 wird mit der ansteigenden Flanke eines Taktsignals CPASKC gesetzt, da das Auszeitsignal MYTOUT von der Flopschaltung 66 hoch ist und zu dem CD-Eingabeanschluß zugeführt wird. Das Signal MYTMOT+ wird zwangsweise in den Hochzustand geführt und eine binäre EINS wird in einen RAM-Speicher 50 in einen Speicherplatz eingeschrieben, der durch Signale CPLA 8 bis CPLA 17 spezifiziert ist. Signale CPLA 8-17 werden von der CPU 2 erzeugt und zu den Adreßanschlüssen 1-512 zugeführt, um die Kanalnummern des peripheren Untersystems, das das Kommando empfängt, zu spezifizieren. Das Aktivierungssignal
  • aktiviert den Speicher RAM 50 und ein Signal
  • spezifiziert eine Schreiboperation. Ein negatives ODER-Gatter 54 erzeugt ein Signal
  • und ein negatives UND-Gatter 58 erzeugt ein Signal
  • Ein Adreßstrobesignal von der CPU 2 wird zu einem Eingabeanschluß 2 zugeführt und ein Signal
  • das ein I/O- Kommando angibt, wird dem anderen Eingabeanschluß des negativen UND-Gatters 58 zugeführt. Eine programmierbare Feldlogik (PAL) erzeugt ein Signal
  • gemäß der folgenden Boolschen Gleichung:
  • Signale FCODE 0-2 werden von der CPU 2 generiert und geben den Prozessorstatus als einen Überwachungsdatenraum an, wenn die Oktalzahl 5 vorliegt. Adreßsignale CPLA 0 bis CPLA 7 werden von der CPU 2 als Hexadezimalzahlen FF erzeugt.
  • Ein Lesesignal
  • und ein Schreibsignal
  • werden den Eingabeanschlüssen des negativen ODER-Gatters 54 zugeführt. Ein Signal
  • die Ausgabe der Schaltung PAL 56, wird gemäß der folgenden Boolschen Gleichung erzeugt:
  • Alle diese Signale werden von der CPU 2 erzeugt. Das Signal ist ein Adreßstrobesignal, das Signal R/ spezifiziert eine Leseoperation, Signale FCODE 0-2 bei der Oktalzahl 5 spezifizieren einen Überwachungsdatenprozessorstatus und Adreßsignale CPLA 0-7 sind auf Hexadezimal FF.
  • Würde ein Quittungssignal BSACKR- in Antwort zu dem auf dem Systembus 16 von der Einheit NPE 3 ausgesandten Kommando empfangen werden, dann würde eine Flopschaltung 62 mit der ansteigenden Flanke eines Taktsignals CPASKC gesetzt werden. Das Signal BSACKR- wird einem Treiber 72 zugeführt, der ein Signal BSACKR+ zuführt, das seinerzeit zu dem CD-Eingabeanschluß der Flopschaltung 62 zugeführt wird. Ausgelöst durch ein Ausgabesignal BSACKF wird eine Binär-EINS in einen Speicher RAM 52 in einen Speicherplatz eingeschrieben, der durch die Signale CPLA 8-17 spezifiziert ist, der die Kanalnummer des peripheren Untersystems angibt, das das Kommando quittiert.
  • Das Signal BSACKR oder BSNAKR, das von der Einheit NPE 3 empfangen wird, resultiert im Zurücksetzen der Zeitgeber 68 und 74, indem die Signale BSDCND und BSDCNB in den niedrigen Zustand gesetzt werden (Figur 4). Auch wird die Flopschaltung 76 zurückgesetzt, wenn das Signal BSDCNB in den niedrigen Zustand geht.
  • Wird ein Systembus 16 Zeitaussignal MYTMOT- von der Flopschaltung 60 zu dem Busfehleranschluß BERR der CPU 2 über ein negatives ODER-Gatter 70 zugeführt, wird die CPU dann eine Ausnahmehandhabungsoperation initiieren, die eine Wiederholungsoperation sein kann.
  • Die CPU 2 kann die Inhalte des Speichers in den Speichern RAM 50 und 52 lesen, indem ein Lesesignal
  • erzeugt wird, ein Aktivierungssignal
  • und Adreßsignale CPfA 8-17, um die Kanalnummer zu spezifizieren. Die Ausgabe, Datensignale CPDT 6 und CPDT 7 sind für die CPU 2 verfügbar. Signale CPDT 6 bzw. CPDT 7 bei binär 00 geben an, daß das Kommando zurückgewiesen wurde (nicht quittiert); binär 10 gibt an, daß das Kommando akzeptiert wurde (quittiert); und binär 01 gibt an, daß kein peripheres Untersystem auf die Kanalnummer in dem Kommando geantwortet hat. Ein Adreßstrobesignal , die Ausgabe eines Inverters 59, wird den Rücksetzanschlüssen der Flopschaltungen 60, 61, 62 und 66 zugeführt und bleibt hoch, bis entweder das Quittungssignal BSACKF oder das Nichtquittungssignal BSNAKF erzeugt swird. Die Flopschaltung 61 wird mit dem Ansteigen der Flanke des Taktsignals CPASKC gesetzt, wenn das Nichtquittungssignal BSNAKR+ zu dem CD-Anschluß zugeführt wird.
  • Die Ausgabesignale BSNAKF bzw. BSACKF von den Flopschaltungen 61 und 62 werden zu einer Schaltung PAL 63 zugeführt. Auch werden zu der Schaltung PAL 63 Signale R/ und von der CPU 2 zugeführt, das Signal MCYCLE 0, MCYCLE 1 und MCYCLE 2, sowie das Signal
  • Die Schaltung 63 erzeugt Signale
  • und
  • welche der CPU 2 zugeführt werden, um das Ende eines Systembus 16- Zyklus anzugeben. Die CPU 2 setzt dann das Signal hoch, welches das Signal CAS niedrig setzt, wobei die Flopschaltungen 60, 61, 62 und 66 zurückgesetzt werden.
  • Die Schaltung PAL 63 erzeugt Signale DSACK 0 und DSACK 1 gemäß der Boolschen Gleichung:
  • Das Signal DSACK 0 ist aktiv bei einer Adreßstrobetime, und das Signal ist niedrig. Das Signal
  • gibt an, daß dies ein I/O-Kommando ist. Die Signale
  • MCYCLE 1 und
  • bei Oktal 2 geben an, daß die CPU 2 ein I/O-Schreibkommando auf den Systembus 16 sendet. Das Signal R/W gibt eine Schreiboperation an.
  • Das Signal R/ gibt an, daß dies eine Leseoperation ist und die Signale
  • und MCYCLE 0 bei Oktal 1 geben an, daß die CPU 2 ein I/O-Lesekommando auf den Systembus 16 aussendet.
  • Es ist darauf hinzuweisen, daß die CPU 2 32 Datenbits CPDT 0-31 über den Datenbus 8 gesendet und empfangen hat und 32 Adreßbits CPLA 0-23 und CPPA 24-31 über den Adreßbus 6.
  • Figur 3B zeigt die detaillierte Logik zum Ankoppeln der Einheit NPE 3 an den Systembus 16. Das CPU 2-Busanforderungssignal CPMBRQ wird gemäß der folgenden Boolschen Gleichung erzeugt:
  • Das Signal CAS gibt den Adreßstrobe von der CPU 2 an, das Signal
  • gibt an, daß dies ein I/O-Kommando ist, das Signal R/ gibt eine Leseoperation an, das Signal gibt eine Schreiboperation und das Signal gibt ein Datenstrobe von der CPU 2 an.
  • Eine Flopschaltung 100 wird gesetzt, wenn ein Busanforderungssignal
  • niedrig wird. Ein Ausgabesignal CPASKK+ wird zwangsweise hochgesetzt, wodurch das Ausgabesignal MYREQS- von einem NAND- Gatter 102 niedrig gesetzt wird. Das Busverbindungssignal BSDCNN- ist zu diesem Zeitpunkt hoch.
  • Das Signal MYREQS- wird niedrig und setzt die Flopschaltung 104. Dies führt dazu, daß das Ausgabesignal MYREQT in den hohen Zustand gesetzt wird. Wenn die Einheit NPE 3 die höchste Priorität des Untersystems hat, das den Systembus 16 anfordert, dann ist das Signal PRIORITY hoch. Dies führt dazu, daß das Ausgabesignal MYDCNS- vom NAND-Gatter 106 niedrig gesetzt wird und eine Flopschaltung 110 sgesetzt wird. Ausgabesignale MYDCNN+ und MYDCNN- verbinden die Einheit NPE 3 mit dem Systembus 16, um das I/O-Kommando, das in den (nicht gezeigten) Registern gespeichert ist, auf den Systembus 16 zu einem peripheren Untersystem zu senden, das auf die Kanalnummer des I/O-Kommandos antworten wird.
  • Das my Datenzyklus-now-Signal MYDCNN+ wird zu einer Verzögerungsleitung 112 und zu einem ODER-Gatter 114 zugeführt, um die Buszeitabfolgensignale BSDCND+ und BSDCNB+ von Figur 4 zu generieren. Ein Inverter 116 setzt das Signal BSDCND- niedrig und setzt das Signal MYREQS- hoch. Der Systembus 16 Zyklus ist abgeschlossen, wenn entweder das Quittungssignal BSACKR+ oder das Nichtquittungssignal BSNAKR+ von einem NOR-Gatter 108 empfangen worden ist und das Ausgabesignal MYDCNR- die Flopschaltung 110 zurücksetzt. Die Flopschaltung 104 wird mit der ansteigenden Flanke des Signals MYDCNN- zurückgesetzt und die Flopschaltung 100 wird durch das Signal RESET am Ende des Buszyklus zurückgesetzt.
  • Figur 4 zeigt ein Zeitabfolgendiagramm der Busverbindungssignale MYDCNN+, BSDCNB+ und BSDCND+, um die normale Zeitabfolge und die Wirkung der 3 Mikrosekunden-Auszeit des Systembusses 16 und die 5 Mikrosekunden-Auszeit der Einheit NPE 3 auf diese Signale zu zeigen. Die Logik, die die Generierung der Busverbindungssignale zeigt, ist nicht in Einzelheiten dargestellt, da sie in dem zuvor erwähnten U.S. Patent 4,030,075 beschrieben ist. Jedoch ist derjenige Teil der Logik, der zur Beschreibung der Erfindung für den Durchschnittsfachmann erforderlich ist, voll beschrieben.
  • In Figur 4 zeigen durchgezogenene Linien den normalen Betrieb der Signale, die die Einheit NPE 3 mit dem Systembus 16 verbinden und diese zeitlich steuern. Die gestrichelten Linien unterstellen, daß keine Antwort von dem peripheren Untersystem empfangen worden ist, das das von der Einheit NPE 3 ausgesandte Kommando zu empfangen hatte.
  • Normaler Betrieb (durchgezogene Linien) unterstellt, geht das my-Datenzyklus-now Signal MYDCNN+ in den hohen Zustand geht, um die Einheit NPE 3 mit dem Systembus 16 zu verbinden und das I/O-Kommando auf den Systembus 16 auszusenden. Zum selben Zeitpunkt geht das Zeitabfolgensignal BSDCNB+ hoch. Nach einer Verzögerung von 60 Nanosekunden geht das Strobesignal BSDCND+ hoch. Beide Signale starten die 3-Mikrosekunden-Zeitschaltung 68 und die 5-Mikrosekunden- Zeitschaltung 74 hoch.
  • Das I/O-Kommando wird über den Systembus 16 zu den peripheren Untersystemen mit der ansteigenden Flanke des Signals MYDCNN ausgesendet. Das periphere Untersystem erkennt seine Kanalnummer und sendet das Quittungssignal BSACKR+ oder das Nichtquittungssignal BSNAKR+ zurück. Dies führt dazu, daß das Signal MYDCNN+ in den niedrigen Zustand übergeht, um die Einheit NPE 3 von dem Systembus 16 zu trennen. 60 Nanosekunden nach dem Abfall des Signals MYDCNN+ gehen die Signale BCDCNB+ und BSDCND+ in den niedrigen Zustand. Das Signal BSDCNB+, das in den niedrigen Zustand geht, setzt die beiden Zeitschaltungen 68 und 74 zurück.
  • Unterstellt man, daß weder das Quittungssignal noch die Nichtquittungssignale BSACKR+ oder BSNAKR+ von den peripheren Untersystemen empfangen werden, bleiben die Signale MYDCNN+, BSDCNB+ und BSDCND+ hoch. Nach 3 Mikrosekunden geht das Signal TIM3US hoch, sund setzt die Flopschaltung 66, und bewirkt, daß das Ausgabesignal MYTOUT in den hohen Zustand übergeht. 5 Mikrosekunden danach geht das Signal TIM5US in den hohen Zustand, und setzt die Flopschaltung 76, was dazu führt, daß das Nichtquittungssignal BSNAKR+ in den hohen Zustand übergeht. Die Signale MYDCNN+, BSDCNB+ und BSDCND+ gehen in den niedrigen Zustand wie zuvor, setzen die Zeitschaltungen 68 und 78 zurück und setzen die Flopschaltung 76 zurück.

Claims (5)

1. Prozessor (3) zum Speichern einer Aufzeichnung von Antworten auf Kommandos, die an einem Systembus (16) eines Datenverarbeitungssystems (DPS) gelegt werden, wobei dieses System (DPS) eine Vielzahl von Untersystemen (34, 36) einschließt, die an diesen Bus gekoppelt sind, wobei dieser Prozessor Kommandos auf diesen Bus gibt, um diese Untersysteme zu veranlassen, spezifizierte Operationen durchzuführen, wobei jedes dieser Kommandos eine Kanalnummer einschließt, die ein bestimmtes der Untersysteme identifiziert; an welches ein derartiges Kommando adressiert ist, wobei jedes der Untersysteme angepaßt ist, auf irgendeinen der Befehle, dessen Kanalnummer dieses eine Untersystem identifizien, auf diesem Bus eine Aktion durchzuführen, wobei eine derartige Aktion einschließt (i) ein Quittungssignal (ACK) auf diesen Bus auszugeben, wenn dieses Untersystem die spezifizierte Operation ausführen wird, und (ii) ein Nichtquittungssignals (NAK) auf diesen Bus auszugeben, wenn dieses Untersystem das Kommando zurückweist; wobei dieser Prozessor gekennzeichnet ist durch:
eine adressierbare Speichereinheit (50, 52), die eine Vielzahl von adressierbaren Speicherplätzen hat, wobei der bestimmte darin adressierte Platz ein solcher ist, dessen Adresse der Kanalnummer des Kommandos entspricht, das auf den Bus durch diesen Prozessor ausgegeben worden ist;
eine erste Schaltungsanordnung (72, 62), die gekoppelt ist, um das ACK-Signal (BSACKR-) von dem Bus zu empfangen und um das ACK-Signal (BSACKF) dieser Speichereinheit (52) zum Eintragen in den darin adressierten Platz zuzufähren;
einen Auszeitschaltung (66, 63, 74, 76, 78, 80, 82), die gestartet wird, wenn dieses Kommando (BSDCND +) auf diesen Bus ausgegeben wird, zum Generieren eines Ausgabesignals (MYTOUT) nach einem vorbestimmten Zeitintervall, wenn entweder das ACK-Signal (BSACKR+) oder dieses NAK-Signal (BSNAKR+) nicht auf diesen Bus ausgegeben worden ist; und
eine zweite Schaltung (84, 60), die gekoppelt ist, um das Ausgabesignal (MYTOUT) zu empfangen und zum Zuführen dieses Ausgabesignals (MYTMOT+) an die Speichereinheit (50) zum Eintragen in den darin adressierten Platz.
2. Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß die adressierbare Speichereinheit einschließt:
eine erste Speichereinrichtung (52) zum Speichern eines ersten Binärbits in diesem Platz, wenn das ACK-Signal (BSACKR-) empfangen worden ist; und
eine zweite Speichereinrichtung (50) zum Speichern eines zweiten Binärbits in diesem Speicherplatz, wenn das ACK-Signal (BSACKR-) oder das NAK-Signal (BSNAKR+) nicht bis zu der vorbestimmten Zeit empfangen worden ist.
3. Prozessor nach Anspruch 1, dadurch gekennzeichnet, daß eines der Untersysteme ein peripheres Untersystem ist, und daß das eine der Kommandos, das auf den Bus ausgegeben worden ist und eine Kanalnummer hat, die das periphere Untersystem identifiziert, ein Eingabe-/Ausgabekommando ist.
4. Prozessor nach Anspruch 1 oder 2, dadurch gekennzeichnet, das die Auszeitschaltung aufweist:
eine erste Zeitschaltungseinrichtung (66, 68) zum Starten einer ersten Auszeit (3 µs), wenn das Kommando (BSDCND+) über den Systembus gesendet wird und zum Rücksetzen der ersten Auszeit, wenn das ACK-Signal (BSACKR-) oder das NAK-Signal (BSNAKR+) von der ersten Zeitschaltungseinrichtung innerhalb einer ersten vorbestimmten Zeit empfangen wird, und zum Generieren eines ersten Auszeitsignals (MYTOUT), wenn das ACK-Signal oder das NAK-Signal nicht bis zu einer ersten vorbestimmten Zeit (3 µs) empfangen worden ist; und
eine zweite Zeitschaltungseinrichtung (74, 76, 78, 80, 82) zum Starten einer zweiten Auszeit (5 µs), wenn das Kommando über den Systembus gesendet wird, und zum Rücksetzen der zweiten Auszeit, wenn das ACK-Signal oder das NAK-Signal von der zweiten Zeitschaltungseinrichtung innerhalb einer zweiten vorbestimmten Zeit empfangen wird, und zum Generieren eines Nichtquittungssignals (BSNAKR+), wenn das ACK-Signal oder das NAK-Signal nicht bis zur einer zweiten vorbestimmten Zeit (5 µs) generiert worden ist.
5. Prozessor nach Anspruch 4, dadurch gekennzeichnet, daß die zweite Speichereinrichtung (50) auf das erste Auszeitsignal (MYTOUT) antwortet zum Speichern einer Binär-EINS in dem durch die Kanalnummer spezifizierten Platz.
DE3889511T 1987-09-03 1988-09-02 Speicherung von Grenzzeitüberschreitungen und Quittungsantworten nach Ein-/Ausgabebefehlen. Expired - Fee Related DE3889511T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/092,863 US4872110A (en) 1987-09-03 1987-09-03 Storage of input/output command timeout and acknowledge responses

Publications (2)

Publication Number Publication Date
DE3889511D1 DE3889511D1 (de) 1994-06-16
DE3889511T2 true DE3889511T2 (de) 1994-12-15

Family

ID=22235532

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3889511T Expired - Fee Related DE3889511T2 (de) 1987-09-03 1988-09-02 Speicherung von Grenzzeitüberschreitungen und Quittungsantworten nach Ein-/Ausgabebefehlen.

Country Status (5)

Country Link
US (1) US4872110A (de)
EP (1) EP0306043B1 (de)
AU (1) AU602238B2 (de)
CA (1) CA1308199C (de)
DE (1) DE3889511T2 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8800858A (nl) * 1988-04-05 1989-11-01 Philips Nv Rekenmachinesysteem voorzien van een hoofdbus en een tussen processor en geheugen direkt verbonden extra kommunikatielijn.
JPH03231320A (ja) * 1990-02-06 1991-10-15 Mitsubishi Electric Corp マイクロコンピュータシステム
JPH04236682A (ja) * 1991-01-18 1992-08-25 Mitsubishi Electric Corp マイクロコンピュータシステム
US5333272A (en) * 1991-06-13 1994-07-26 International Business Machines Corporation Warning timer for users of interactive systems
JP3261665B2 (ja) * 1993-01-29 2002-03-04 インターナショナル・ビジネス・マシーンズ・コーポレーション データ転送方法及びデータ処理システム
DE69507360T2 (de) * 1994-04-06 1999-06-17 Advanced Micro Devices, Inc., Sunnyvale, Calif. Parallelschlussschnittstellenschaltkreise in Rechnersystemen
US5754887A (en) * 1995-06-07 1998-05-19 International Business Machines Corporation System for limiting access of plurality of requests to peripheral bus by halting transmission to particular peripheral devices and resuming transmission after second predetermined time period expiration
US5574858A (en) * 1995-08-11 1996-11-12 Dell U.S.A., L.P. Method and apparatus for, upon receipt of data from a mouse, requiring the remainder of data needed to constitute a packet to be received within one second
US5802269A (en) * 1996-06-28 1998-09-01 Intel Corporation Method and apparatus for power management of distributed direct memory access (DDMA) devices
US6000043A (en) * 1996-06-28 1999-12-07 Intel Corporation Method and apparatus for management of peripheral devices coupled to a bus
US6584587B1 (en) * 1999-10-14 2003-06-24 Sony Corporation Watchdog method and apparatus
US6543003B1 (en) * 1999-11-08 2003-04-01 International Business Machines Corporation Method and apparatus for multi-stage hang recovery in an out-of-order microprocessor
US6496890B1 (en) 1999-12-03 2002-12-17 Michael Joseph Azevedo Bus hang prevention and recovery for data communication systems employing a shared bus interface with multiple bus masters
US6658510B1 (en) * 2000-10-18 2003-12-02 International Business Machines Corporation Software method to retry access to peripherals that can cause bus timeouts during momentary busy periods
US20070260777A1 (en) * 2003-11-25 2007-11-08 Timpe Barrie R Queues for information processing and methods thereof
TWI311705B (en) * 2005-05-23 2009-07-01 Via Tech Inc Peripheral component interconnect express and changing method of link power states thereof
US20090113143A1 (en) * 2007-10-26 2009-04-30 Dell Products L.P. Systems and methods for managing local and remote memory access
CN106325739A (zh) * 2016-08-01 2017-01-11 孟海同 经过点阵轨迹的表现和在软件中输入轨迹打开链接的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4475011A (en) * 1977-12-27 1984-10-02 Stromberg-Carlson Corporation Arrangement of interactive telephone switching processors providing selective functional capability by port
US4220990A (en) * 1978-09-25 1980-09-02 Bell Telephone Laboratories, Incorporated Peripheral processor multifunction timer for data processing systems
US4426679A (en) * 1980-09-29 1984-01-17 Honeywell Information Systems Inc. Communication multiplexer using a random access memory for storing an acknowledge response to an input/output command from a central processor
US4562533A (en) * 1981-12-03 1985-12-31 Ncr Corporation Data communications system to system adapter
US4733351A (en) * 1984-12-31 1988-03-22 Wang Laboratories, Inc. Terminal protocols
US4858108A (en) * 1985-03-20 1989-08-15 Hitachi, Ltd. Priority control architecture for input/output operation

Also Published As

Publication number Publication date
EP0306043B1 (de) 1994-05-11
US4872110A (en) 1989-10-03
AU2171088A (en) 1989-03-09
EP0306043A3 (en) 1990-06-13
AU602238B2 (en) 1990-10-04
CA1308199C (en) 1992-09-29
DE3889511D1 (de) 1994-06-16
EP0306043A2 (de) 1989-03-08

Similar Documents

Publication Publication Date Title
DE3889511T2 (de) Speicherung von Grenzzeitüberschreitungen und Quittungsantworten nach Ein-/Ausgabebefehlen.
DE69228582T2 (de) Vorrichtung zur Vermeidung von Prozessorblockierungen in einem Multiprozessorsystem
DE69424272T2 (de) Auf Warteschlangen basierender prädiktiver Durchflusssteuerungsmechanismus
DE3587493T2 (de) Betriebssicheres Datenverarbeitungsbussystem.
DE69423874T2 (de) Verbessertes Schema zur geordneten Cachespeicherkohärenz
DE3786967T2 (de) Protokoll zum Ungültigerklären eines Cachespeichers für ein digitales Datenverarbeitungssystem.
DE69628127T2 (de) Verfahren und Gerät um die Kohärenz in einem Multiprozessorsystem anzuzeigen
DE69519816T2 (de) Anordnung mit Duplikat des Cache-Etikettenspeichers
DE69023018T2 (de) Prozessor-Unterbrechungssteuerung.
DE69016837T2 (de) VME-Multibus II-Schnittstellen-Anpassungsbaustein.
DE69108434T2 (de) Mehrgruppen-Signalprozessor.
DE19900245B4 (de) Vorrichtung und Verfahren zum Senden von Daten von einem USB-Endpunkt an einen USB-Host
DE3280451T2 (de) Verfahren zur Initialisierung eines Datenverarbeitungssystems.
DE3887886T2 (de) Verfahren und anordnung zur sicherung von angepasstem zugriff zu betriebsmitteln in einem multiprozessordatenverarbeitungssystem.
DE68913914T2 (de) Multiprozessorsystem mit Vervielfältigung von globalen Daten.
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE3689198T2 (de) Systembus für Kommunikation zwischen Prozessoren.
DE68915701T2 (de) Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung.
DE3882988T2 (de) Verfahren und anordnung zur einleitung von vorgängen in einem multiprozessordatenverarbeitungssystem mit verwendung von mehrverriegelungsanzeigen.
DE19900331A1 (de) Vorrichtung und Verfahren zur Implementierung eines USB-Endpunktkanals mit doppelter Pufferunterstützung
DE4035837A1 (de) Bus-hauptschnittstellenschaltung mit transparenter unterbrechung einer datenuebertragungsoperation
DE68926954T2 (de) Schnittstelle zwischen einer Systemsteuereinheit und einer Dienst-Processoreinheit in einem Digitalrechner
DE3485980T2 (de) Datenverarbeitungsapparat zur verbindung mit einem gemeinsamen uebertragungsbus in einem datenverarbeitungssystem.
DE4313190B4 (de) Vorrichtung und Verfahren zur Initialisierung einer Datenschnittstelle für eine programmierbare Steuerung
DE3750045T2 (de) Unterbrechungssteuerungsvorrichtung für eine virtuelle Maschine mit einer Vielzahl von Verarbeitungseinheiten.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: BULL HN INFORMATION SYSTEMS INC., BILLERICA, MASS.

8339 Ceased/non-payment of the annual fee