DE3852904T2 - Eingangs-/Ausgangssystem für Multiprozessoren. - Google Patents
Eingangs-/Ausgangssystem für Multiprozessoren.Info
- Publication number
- DE3852904T2 DE3852904T2 DE3852904T DE3852904T DE3852904T2 DE 3852904 T2 DE3852904 T2 DE 3852904T2 DE 3852904 T DE3852904 T DE 3852904T DE 3852904 T DE3852904 T DE 3852904T DE 3852904 T2 DE3852904 T2 DE 3852904T2
- Authority
- DE
- Germany
- Prior art keywords
- bus
- controller
- channel
- coupled
- data
- 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 - Lifetime
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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
-
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
- Hardware Redundancy (AREA)
Description
- Die vorliegende Erfindung betrifft allgemein die Kommunikation zwischen einer Mehrzahl von digitalen Prozessoren in einem Mehrprozessorcomputersystem und Peripherievorrichtungen, wie Plattenlaufwerke und Bandlaufwerke, die mit verschiedenen Geschwindigkeiten arbeiten. Genauer betrifft die Erfindung eine Architektur zur Kommunikation zwischen zwei unabhängig arbeitenden Ports und an eine Version der Kleinrechner-Systemschnittstelle (engl.: Small Computer System Interface = SGSI) gekoppelten Peripherievorrichtungen.
- Verschiedene Klassen von digitalen Computersystemen verwenden eine Mehrzahl von unabhängigen Prozessoren, um Rechneroperationen auszuführen. Beispiele enthalten fehlertolerante, modulare und parallelverarbeitende Systeme. Diese Prozessoren, die hierin als Hauptrechner bezeichnet werden, erfordern einen digitalen Datenaustausch (Eingabe und Ausgabe) mit anderen Vorrichtungen, die als Peripherievorrichtungen bekannt sind.
- Typischerweise werden Daten über einen Systembus unter der Kontrolle einer Bussteuerung ausgetauscht. Mit den Peripherievorrichtungen werden Informationen typischerweise unter der Kontrolle eines Eingabe-/Ausgabe-Untersystems ausgetauscht, das Vorrichtungssteuerung genannt wird.
- In einem Beispiel eines fehlertoleranten Rechensystems, das im US Patent Nr. 4 228 496 für Katzman et al. offenbart ist, ist eine Vorrichtungssteuerung vorgesehen, die einen Hochgeschwindigkeitsaustausch von im wesentlichen synchron mit relativ niedriger Geschwindigkeit übertragenen Daten hauptsächlich asynchroner Peripherievorrichtungen fördert. Die Vorrichtungssteuerung ist so aufgebaut, daß sie sicherstellt, daß kein einzelner Hauptrechnerfehler den Systembetrieb beeinträchtigen kann. Das Patent von Katzman et al. ist durch die Bezugnahme hierin enthalten und zu einem Teil hiervon gemacht, da eine spezielle Ausfühmngsform der vorliegenden Erfindung beabsichtigt, die im Patent von Katzman et al. offenbarte Vorrichtungssteuerung zu verbessern.
- Die Vorrichtungssteuerung im Patent von Katzman et al. ist mit dem Ziel konstruiert worden, den Datenaustausch, soweit der Hauptrechner betroffen ist, mit relativ hohen Datenraten zu behandeln, um eine Beeinträchtigung von im Hauptrechner laufenden Programmen zu mlnlmieren. Die Vorrichtungssteuerung ist ein interrupt- oder unterbrechungsgesteuertes System und stellt eine Eingabe-/Ausgabe-Programmunterbrechung (I/O-Interrupt) nur nach Abschluß einer Datenübertragung bereit, um den Hauptrechner von der Last zu befreien, sich während der Datenübertragung der Peripherievorrichtung zu widmen. Die Vorrichtungssteuerung hat Mehrfachports, von denen jeder logisch und physikalisch unabhängig von allen anderen Ports ist, so daß jede Vorrichtungssteuerung zum Zugriff auf wenigstens zwei verschiedene Hauptrechner angeschlossen werden kann.
- Um ihre Aufgaben auszuführen, verwendet die Vorrichtungssteuerung des im Patent von Katzman et al. offenbarten Rechensystems einen Mikroprozessor, der sich Eingabe-/Ausgabe-Operationen (I/O-MPU) widmet. Der I/O-MPU steuert eine interne Eingabe-/Ausgabe-Busstruktur der Vorrichtungssteuerung (Vorrichtungssteuerungsbusstruktur), über die alle Daten von jedem anfordernden Hauptrechner und jeder antwortenden Peripherievorrichtung sowie nur für ihre eigene Operation und Steuerung von Befehlen vorgesehenen Daten übertragen werden. Es erfolgt durch diese interne Busstruktur, daß der Hauptrechner den I/O-MPU über den Datenübertragungstyp, die angeforderte Peripherievorrichtung, die Datenblockgröße, die Priorität und ähnliches informiert. Es erfolgt ebenfalls durch den I/O-MPU und die Vorrichtungssteuerungsbusstruktur, daß der "Eigenbesitz" oder die "Zuordnung" der Operation der Vorrichtungssteuerung bewirkt wird.
- Die Erfahrung mit der Vorrichtungssteuerung gemäß des Patents hat eine Anzahl von Mängeln aufgedeckt. Zum Beispiel ist ein Mangel innerhalb der Vorrichtungssteuerung selbst. Es wurde entdeckt, daß, ungeachtet des Vorteils der unabhängigen Steuerung von Eingabe-/Ausgabe-Funktionen durch einen zugewiesenen Mikroprozessor, eine derartige Anordnung die wertvolle Zeit des Hauptrechners nicht so effizient wie möglich nutzt. Es wurde gefunden, daß selbst die schnellsten Mikroprozessoren noch eine endliche Zeit zum Interpretieren von Befehlen (z.B. Eingabe-/Ausgabe-Anforderungen) benötigen, wodurch in der relativ komplexen Umgebung eines Mehrprozessorsystems keine effiziente Zeitnutzung sowohl der Vorrichtungssteuerungsbusstruktur als auch des Systembusses erfolgt.
- Außerdem ist bei der Vorrichtungssteuerung des Patents von Katzman et al. die Vorrichtungssteuemng so aufgebaut, daß sie durch ein Schaltschema, das unter Ports der Vorrichtungssteuerung auswählt, nur einem Hauptrechner gleichzeitig eine "alleinige Zuordnung" gewährt. Herkömmlicherweise gibt es nur zwei Ports und nur eine Zuordnungsverriegelung, die entweder einem ersten Port oder einem zweiten Port und somit nur einem Kanal-I/O-Bus eine Zuordnung oder einen Eigenbesitz gewährt. Somit kann, selbst wenn es theoretisch durch eine Vorrichtungssteuerung mehrere Wege zu einer Peripherievorrichtung gibt, nur eine Peripherievorrichtung von einem Hauptrechner verwendet werden, und nur ein Hauptrechner kann durch die Vorrichtungssteuemng Zugriff auf jegliche Peripherievorrichtung haben, wenn nur ein einzelner Port in Verwendung und im Datenaustauschprozeß ist. Ein Zugriff auf die Vorrichtungssteuerung von anderen Hauptrechnern muß anschließend durch den Hauptrechner erfolgen, der den Eigenbesltz der Vorrichtungssteuerung hat. Dies stellt einen schwerwiegenden Mangel dar, wenn verschiedene Peripherievorrichtungen durch eine einzelne Vorrichtungssteuerung gekoppelt sind und verschiedene Hauptrechner auf diese Peripherievorrichtungen zugreifen wollen.
- Ein weiterer Mangel der Vorrichtungssteuerung gemäß der im Patent von Katzman et al. offenbarten Erfindung ist die beschränkte Fähigkeit, die Vorrichtungssteuerung mit einer großen Anzahl von Peripherievorrichtungen oder mit Peripherievorrichtungen zu verbinden, die eine Zwischenverbindungsstruktur bestimmter Typen haben, die weit verbreitet als Standards akzeptiert wurden. Mit der Verbreitung von Peripherievorrichtungstypen ist es nicht mehr länger durchführbar, eine bestimmte Schnittstelle für jeden Typ oder jede Sorte von Peripherievorrichtungen jeweils mit ihren eigenen Anforderungen und Charakteristika zu gestalten. Dies trifft Insbesondere am wachsenden "unteren Ende" des Computermarkts zu, wo Systeme, die einmal Hunderttausend von Dollars kosteten, durch Systeme ersetzt werden, die nur einen Bruchteil ihrer Vorgänger kosten. Ein Grund war die Standardisierung, die einen wirtschaftlichen Maßstab erzeugt.
- Jedoch wurde wenig getan, um die fehlertoleranten Rechensysteme mit ihren Vorteilen mit den verschiedenen Standard-Eingabe-/Ausgabe-Schnittstellen oder -Bussen zusammenzubringen. Eine zunehmend Verbreitung findende Peripherievorrichtungs-Eingabe-/Ausgabe-Schnittstelle ist der SGSI-Bus, der nunmehr für viele Personalcomputeranwendungen auf breiter Basis akzeptiert ist. Als Folge sind nun viele billige, jedoch hochqualitative Peripherievorrichtungen verfügbar.
- Was benötigt wird, ist eine Vorrichtungssteuerung, die diesen Nachteilen nicht unterliegt.
- Gemäß der vorliegenden Erfindung wird für die Verwendung in einem Digitalcomputersystem eine Vorrichtungssteuerung geschaffen, enthaltend:
- eine erste Port-Eingabe-/Ausgabesteuerung, die an einen ersten Eingabe- /Ausgabekanalbus gekoppelt ist,
- eine zweite Port-Eingabe/Ausgabesteuerung, die an einen zweiten Eingabe- /Ausgabekanalbus gekoppelt ist,
- wobei jede der ersten und zweiten Port-Eingabe-/Ausgabe- (I/O) Steuerungen hat:
- erste Eigenbesitz- oder Zuordnungs-Verriegelungseinrichtungen zum Gewähren einer geteilten Zuordnung der Vorrichtungssteuerung zu einem ersten Hauptrechner, um einen ersten Datenweg auf einem ersten I/O-Kanal durch die erste Port-I/O-Steuerung zwischen dem ersten Hauptrechner und jeglicher Peripherie bereitzustellen, und
- wenigstens zweite, von den ersten Eigenbesitz- oder Zuordnungs-Verriegelungseinrichtungen unabhängige Eigenbesitz- oder Zuordnungs-Verriegelungseinrichtungen zum Gewähren einer geteilten Zuordnung der Vorrichtungssteuerung zu einem zweiten Hauptrechner unabhängig von der ersten Port-Eingabe-/Ausgabesteuerung, um einen zweiten Datenweg auf einem zweiten I/O-Kanal durch die zweite Port-I/O-Steuerung zwischen dem zweiten Hauptrechner und jeglichen Peripherievorrichtungen bereitzustellen, die mit der Vorrichtungssteuerung gekoppelt sind.
- Die Erfindung schafft ferner ein Verfahren zum Steuern des Daten- und Befehlstransfers in einer Vorrichtungssteuerung zur Verwendung bei einem Digitalcomputersystem, enthaltend:
- Gewähren einer geteilten Zuordnung der Vorrichtungssteuerung zu einem ersten Hauptrechner mittels einer ersten Eigenbesitz- oder Zuordnungs-Verriegelungseinrichtung einer ersten Port-Eingabe-/Ausgabe- (I/O) Steuerung, um einen ersten Datenweg auf einem ersten I/O-Kanal durch die erste Port-I/O- Steuerung zwischen dem ersten Hauptrechner und jeglicher Peripherie bereitzustellen, und
- Gewähren einer geteilten Zuordnung der Vorrichtungssteuerung zu einem zweiten Hauptrechner unabhängig von der ersten Port-Eingabe- /Ausgabesteuerung mittels einer zweiten Eigenbesitz- oder Zuordnungs-Verriegelungseinrichtung unabhängig von der ersten Eigenbesitz- oder Zuordnungs-Verriegelungseinrichtung, um einen zweiten Datenweg auf einem zweiten I/O-Kanal durch die zweite Port-I/O-Steuerung zwischen dem zweiten Hauptrechner und jeglichen Peripherievorrichtungen bereitzustellen, die mit der Vorrichtungssteuerung gekoppelt sind.
- Somit wird bei der Erfindung in einem Digitalcomputersystem, das eine Mehrzahl von Hauptrechnern, wenigstens zwei Systembusse und eine Mehrzahl von Peripherie-Eingabe-/Ausgabeports einsetzt, ein Eingabe-/Ausgabesystem geschaffen, wodurch die Zuordnung oder der Eigenbesitzt der Eingabe- /Ausgabekanäle geteilt ist. Die Vorrichtungssteuerung enthält eine erste Portsteuerung mit einer ersten Zuordnungsverriegelung, eine zweite Portsteuerung mit einer zweiten Zuordnungsverriegelung, einen ersten Bus, einen speziellen Mikroprozessor, der die Kontrolle über den ersten Bus (den MPU-Bus) hat, einen zweiten, schnelleren Bus, eine Mehrkanal-Direktspeicherzugriffs- (DMA) Steuerung, die eine sehr schnelle Zustandsmaschine ist, die den zweiten Bus (den Datenpufferbus) und den Zugriff auf die Eingabe-/Ausgabeports steuert, einen Busschalter, durch den zwischen Vorrichtungen auf dem MPU-Bus und Vorrichtung auf dem Datenpufferbus übertragene Daten wirksam ausgetauscht werden, eine Mehrfachport-Peripherievorrichtungsschnittstelle, wie eine Kleinrechner-Systemschnittstelle (engl.: Small Computer System Interface = SCSI), und wenigstens das Vorsehen einer Abstimmung mit Datenübertragungsgeräten (DCEs) oder Datenanschlußgeräten (DTEs). Der Datenpufferbus arbeitet in synchroner Weise. Die DMA stellt eine dynamische Zuweisung der Verwendung der Kanäle der DMA bereit. Die DMA weist als Antwort auf Datenaustauschanforderungen abwechselnde Bustaktzyklen zu. Dem Mikroprozessor wird ein Zugriff auf den Datenpufferbus nur gewährt, wenn der Datenpufferbus nicht zur Datenübertragung verwendet wird.
- Bei einer speziellen Ausführungsform sind mit dem Datenpufferbus alle Eingabe-/Ausgabeports zum Systembus, die DMA-Steuerung, ein schneller Pufferspeicher, der Busschalter und eine gemultiplexte SCSI-Steuerung gekoppelt, und mit dem MPU-Bus sind ein Mikroprozessor, ein Programmspeicher, ein Datenspeicher, Befehlsregister, Kommunikationsvorrichtungen (wie Schnittstellen für Datenanschlußgeräte und Datenkommunikationsgeräte) und der Busschalter gekoppelt. Alle Daten werden durch den Datenpufferbus geleitet. Der Mikroprozessor konfiguriert die SCSI-Steuerung und die DMA-Steuerung für den Typ des Datenaustausches. Die mit jedem Port verbundenen Verriegelungen gewähren zu jedem Port oder allen Pons Zugriff, was einen Datenaustausch zwischen adressierten Peripherievorrichtungen und Anforderungsports zuläßt. Ein Eigenbesitz oder eine Zuordnung wird nicht übergeben, solange ein Hauptrechner eine Vorrichtungssteuerung benötigt.
- Die Erfindung ist durch Bezugnahme auf die folgenden genauen Beschreibungen im Zusammenhang mit den begleitenden Zeichnungen besser zu verstehen.
- Fig. 1 ist eine Blockdiagrammansicht eines Mehrprozessorsystems, das gemäß einer Ausführungsform der vorliegenden Erfindung aufgebaut ist und eine Mehrzahl von Doppelportvorrichtungssteuerungen enthält, die sich an die Kleinrechner-Systemschnittstellen-Busse gekoppelte Peripherievorrichtungen teilen.
- Fig. 2 ist ein vereinfachtes Blockdiagramm einer Ausführungsform einer Vorrichtungssteuerung gemäß der Erfindung, das eine Direktspeicherzugriffssteuerung, einen Datenpufferbus, einen Mlkroprozessorbus, einen Busschalter und zwei SCSI-Busse darstellt.
- Fig. 3 ist ein vereinfachtes Blockdiagramm einer Ausführungsform einer Zweikanal-DMA-Steuerung.
- Fig. 4 ist ein vereinfachtes Zustandsdiagramm des Betriebs einer Ausführungsform einer Zweikanal-DMA-Steuerung.
- Fig. 5 ist ein Blockdiagramm der Architektur einer speziellen Ausführungsform iner Zweikanal-DMA-Steuerung.
- Fig. 6 ist ein Zeitsteuerdiagramm, das eine Betriebsart einer speziellen Ausführungsform einer Zweikanal-DMA-Steuerung darstellt.
- Fig. 7 ist ein Blockdiagramm einer speziellen Ausführungsform von zwei Peripherie-Portsteuerungen gemäß einer speziellen Ausführungsform der Erfindung.
- Fig. 8 ist ein Blockdiagramm einer speziellen Ausführungsform einer Kleinrechner-Systemschnittstellen-Steuerung gemäß der Erfindung.
- Fig. 9 ist ein Blockdiagramm, das eine spezielle Ausführungsform der Beziehung zwischen Software-Modulen gemäß der Erfindung darstellt.
- Fig. 10 ist ein Blockdiagramm, das eine spezielle Ausführungsform von Aufrufprotokollen zwischen Softwaremodulen gemäß der Erfindung darstellt.
- Fig. 11 ist ein Blockdiagramm eines Busschalters gemäß einer speziellen Ausführungsform der Erfindung.
- Für einen Überblick über eine spezielle Ausführungsform der Erfindung wird auf die Fig. 1 Bezug genommen. In der Fig. 1 sind verschiedene Rechner- oder Prozessormodule, nachfolgend Hauptrechner 33 (auch bezeichnet als 33-0 und 33-1), durch Doppel-Zwischenprozessorbusse (IPBs) 35, einen X-Bus (IPB-X) und einen Y-Bus (IPB-Y) verbunden. Jeder Bus 35 wird durch eine Bussteuerung 37 gesteuert. Jeder Hauptrechner 33 ist mit einem Eingabe- /Ausgabekanal (I/O-Kanal) 109 (bezeichnet als 109-0 und 109-1) an einen Kanal-1/O-Bus (CIO-Bus) 39 (bezeichnet als 39-0 und 39-1) gekoppelt.
- Die Fig. 1 zeigt auch eine Mehrzahl von Vorrichtungssteuerungen 41 (bezeichnet als 41-0 und 41-1), die gemäß der Erfindung angeschlossen sind. Der CIO-Bus 39 jedes Hauptrechners 33 ist vorzugsweise mit wenigstens einem Port jeder Vorrichtungssteuerung 41 gekoppelt, und genauer ist der erste CIO-Bus 39-0 mit einer ersten Peripherieportsteuerung (PPC-O) 43-0 jeder Vorrichtungssteuerung 41-0 und 41-1 verbunden und der zweite CIO-Bus 39- 1 ist an eine zweite Peripherieportsteuerung (PPG-1) 43-1 jeder Vorrichtungssteuerung 41-0 und 41-1 gekoppelt.
- Die Vorrichtungssteuerung 41 ist mit einer Protokollsteuerung (SPC) 44 für zwei Peripherievorrichtungsbusse 111 einer als das Small Computer System Interface (SCSI) (aus dem Englischen; deutsch: Kleinrechner-Systemschnittstelle) bekannten standardisierten Konfiguration versehen, die hier als SCSI-0 111-0 und SCSI-1 111-1 bezeichnet sind. Der SCSI-Standard wurde in Veröffentlichungen durch das American National Standards Institute als ANSI-Standard X3.131-1986 beschrieben, und kommerzielle Komponententelle sind zum Ausführen von Funktionen des SCSI-Busses verfügbar. Zum Beispiel ist bei einer speziellen Ausführungsform der Erfindung die SCSI-Schnittstelle durch einen MB87030 Chiptyp ausgeführt, der von Fujitsu hergestellt und von Fujitsu America of Santa Clara, Kalifornien, verfügbar ist.
- Die primäre Funktion des SCSI-Busses 111 ist es, Portverbindungen für Standard-SCSI-Peripherievorrichtungen, wie ein Bandlaufwerk 49 (mit internen SCSI-Steuerungen) und Plattenlaufwerke 45 (mit internen SCSI-Steuerungen) bereitzustellen. Der SCSI-Bus ist von einer Art, die zuläßt, daß mehr als eine Vorrichtungssteuerung daran angeschlossen ist. (Zum Beispiel können bis zu acht Einheiten oder Vorrichtungen einschließlich Vorrichtungssteuerungen an einen einzelnen SCSI-Bus angeschlossen sein.) Somit sind sowohl die erste Vorrichtungssteuerung 41-0 als auch die zweite Vorrichtungssteuerung 41-1 an den ersten SCSI-Bus 111-0 angeschlossen, wobei an den ersten SCSI-Bus 111-0 ein erster Satz von SCSI-Peripherievorrichtungen 45 und 49 angeschlossen ist. Zusätzlich sind die erste Vorrichtungssteuerung 41-0 und die zweite Vorrichtungssteuerung 41-1 auch an den zweiten SCSI-Bus 111-1 angeschlossen, wobei an den zweiten SCSI-Bus 111-1 ein zweiter Satz von SCSI-Peripherievorrichtungen 45 angeschlossen ist. Somit hat jeder CIO-Bus 39 wenigstens zwei Wege zu jeder SCSI-Vorrichtung 45 oder 49, und jeder Hauptrechner hat wenigstens vier Wege (zwei durch einen anderen Hauptrechner über einen IPB 35) zu jeder SCSI-Vorrichtung 45 oder 49. Diese Konfiguration steigert die Zuverlässigkeit des gesamten Computersystems wesentlich und gestattet die zeitweise Enfernung zum Beispiel einer Vorrichtungssteuerung, ohne den Zugriff auf jede andere der SCSI-Vorrichtungen zu beeinträchtigen.
- Als ein weiteres Merkmal kann die Vorrichtungssteuerung 41 zum Zugriff auf oder von den Hauptrechnern 33 für asynchrone Anschlüsse 47 und gebündelte Kommunikationsverbindungen 347 sorgen, die Verbindungen enthalten, die sich nach den ANSI-Protokollstandards X.25 oder X.21 richten.
- Die durch die Fig. 1 dargestellte Konfiguration und Computerarchitektur ist ein neuer Systemtyp, der eine Abkehr von und eine Steigerung gegenüber der in dem Patent von Katzman et al. offenbarten Struktur darstellt, die durch Bezugnahme hierin enthalten ist.
- Unter Bezugnahme auf die Fig. 2 ist dort ein Blockdiagramm der Vorrichtungssteuerung 41 gemäß einer speziellen Ausführungsform der Erfindung gezeigt. Gemäß der Erfindung sind in Kombination ein Datenpufferbus (DB-Bus) 100 und ein Mikroprozessorbus (MPU-Bus) 102 vorgesehen, die mittels eines ersten Busschalters (DBBS) 104 aneinander gekoppelt sind. Gemäß der Erfindung ist der DB-Bus 100 ein Synchronbus, dessen Betriebstaktrate eine zum MPU-Bus 102 im wesentlichen verschiedene Rate ist, und der DBBS 104 ist ein Busschalter, der Daten- und Befehlsübertragungen zwischen dem DB-Bus 100 und dem MPU-Bus 102 puffert, um eine günstige oder rechtzeitige Daten- und Befehlsübertragung zwischen den bei verschiedenen Taktraten arbeitenden Bussen sicherzustellen.
- An den DB-Bus 100 sind eine Datenpuffer-Direktspeicherzugriffssteuerung (DB DMA) 106, die erste PPC 43-0, die zweite PPC 43-1, die SPC 44 und ein schneller Lese-/Schreib-RAM (DB MEM) 108 zum zeitweisen Speichern von allen über den DB-Bus 100 übertragenen datenartigen Informationen gekoppelt.
- An den MPU-Bus 102 sind ein Mikroprozessor (MPU) 119 (wie ein Typ 68010 Mikroprozessor hergestellt unter Lizenz an Motorola), ein Befehlsspeicher, wie ein elektronisch löschbarer, nur lesbarer Speicher (EEROM; engl.: Electronically Erasable Read Only Memory) 110 in der Größe von 16 KB, ein RAM (MEM) 112 in der Größe von 512 KB, eine herkömmliche Direktspeicherzugriffssteuerung (DMA) 114, wie eine Typ 68450 DMA-Vorrichtung, hergestellt von z.B. Hitachi (Teil HD68450) und eine Standard-Seriellkommunikations- Chipvorrichtung (SCC) 116 (wie ein Zilog-Z8030-Seriellkommunikationschip), die sowohl das X.25-Bit-orientierte Bündelprotokoll als auch das X.21-Byteorientierte Bündelprotokoll unterstützt, wenigstens ein Standard-Dual-Universal-Asynchron-Empfänger-Sender (DUART) 118-1 und 118-2, wie ein von Signetics hergestellter Chip des Typs Signetics 2861, gekoppelt. Die externe Konfiguration der SCC 116 und der DUARTs 118 sind vorrichtungsabhängig und erfordern keine weitere Erläuterung.
- Die DMA 114 wird zum Übertragen von Daten zur und von der SCC 116 oder den DUARTs 118 und dem MEM 112 auf dem MPU-Bus verwendet. Sie kooperiert eng mit dem MPU 119. Die Kanäle der DMA 114 können programmiert sein, um große Datenblöcke zu bewegen und am Ende einer Übertragung ein Unterbrechungssignal an den MPU 119 zu erzeugen.
- Die SPC 44 hat zwei Ports 144-0 und 144-1 für die SCSI-Busse 111-0 und 111-1. Die SCSI-Busse sind gemultiplext. Zusätzlich ist, wie anschließend beschrieben wird, ein SPC-Bus 120 als Teil der SPC-Konfiguration zusammen mit dem SPC-Busschalter 122 vorgesehen, der eine bidirektionale Befehls- und Steuerungskopplung zwischen dem MPU-Bus 102 und dem SPC-Bus 120 bereitstellt.
- Die Vorrichtungssteuerung 41 erzeugt oder antwortet auf eine Mehrzahl von Unterbrechungen auf Unterbrechungs- oder Interruptleitungen (der Klarheit wegen nicht gezeigt). Die Unterbrechungen oder Interrupts werden von I/O- Kanälen durch die PPCs 431 von I/O-Vorrichtungen durch die SPC 44, von DMA-Kanälen von der DB DMA 106 oder DMA 114, von Kommunikationsschnittstellen, wie die SCC 116 und die DUARTs 118, durch Überschreitungen des Zeitlimits und durch Hardwarefehler erzeugt. Von primärem Interesse ist die von den PPCs 43 als Antwort auf einen EIO von einem Hauptrechner ausgegebene Unterbrechung.
- Unter Bezugnahme auf die Fig. 3 ist die DB DMA 106 eine sehr schnelle Zustandsmaschine, deren Funktion es ist, den Zugriff auf den DB-Bus 100 zu steuern. Die DB DMA 106 verwendet eine als dynamische Zuweisung bekannte Technik, um durch die SPC 44 zur Datenübertragung auf dem DB-Bus 100 zwischen den PPCs 43 und den Peripherievorrichtungen Zeit zuzuweisen. Zu diesem Zweck enthält die DB DMA 106 eine Zuweisungslogik 200 zum Zuweisen von Zeit auf dem DB-Bus 100 (Fig. 2) zwischen zwei Kanälen der Datenubertragungsfunktionen sowie unter der Steuerung des MPU 119 ausgeführten Verwaltungsfunktionen der Vorrichtungssteuerung, von denen alle die Verwendung des DB-Busses 100 erfordern. Die DB DMA 106 ist eine Dual- oder Doppelkanalvorrichtung, die dazu geeignet ist, gleichzeitig zwei Datenkanäle zu unterstützen, reprogrammiert zu werden, um ein Aneinanderhängen von aufeinanderfolgenden Datenrahmen zu unterstützen, ohne daß für jeden Datenrahmen ein Interrupt-Zyklus wiederholt werden muß, und reprogrammiert zu werden, um eine Datenübertragung mit der zweifachen Standardrate durch Verwendung beider Kanäle für eine einzelne Aufgabe zu unterstützen.
- Unter Bezugnahme auf die Fig. 3, die Fig. 4 und die Fig. 6 zusammen ist die Zuweisungslogik für die folgenden Anforderungen verantwortlich: Anforderung für Kanal 0 (REQ0*) (der * wird verwendet, um anzugeben, daß logisch NIEDRIG WAHR ist), Anforderung für Kanal 1 (REQ1*) und Busanforderung für den MPU 119 (BREQ*). Die DB DMA löst wenigstens die folgenden Interrupts aus: Bestätigung der Verfügbarkeit des Kanals 0 (ACK0*), Bestätigung der Verfügbarkeit des Kanals 1 (ACK1*), Busverwendung als Antwort auf BREQ* gewährt (BGNT*). Ein Muster der relativen Zeitsteuerung jeder dieser Interrupts ist in der Fig. 6 in Beziehung zu einem Systemtakt (SYSCLK) und einer Zweikanal-Datenübertragung (XFR0 und XFR1) gezeigt. Die Fig. 6 stellt den Betrieb der DB DMA 106 dar, wenn alle Anforderungsslgnale gleichzeitig bestehen. Zunächst ist ein Dreiwege-Konflikt dargestellt, und dann ist ein Zweiwege-Konflikt zwischen Kanälen dargestellt. Das Auftreten einer Datenübertragung über einen einzelnen Kanal wird über nicht mehr als eine Hälfte der verfügbaren Zeit zugelassen. Jedoch führt die DB DMA 106 über die Zuweisungslogik 200 eine derartige Steuerung über den DB-Bus 100 aus, das vlrtuell kein Taktzyklus verschwendet wird, wenn Daten übertragen oder ein Befehl verarbeitet werden sollen. Die maximale Latenz- oder Wartezeit (210, Fig. 6) von der DMA-Anforderung bis zur DMA-Bestätigung ist für jeden Kanal des DB-Busses 100 zwei Taktzyklen. (Die Latenzzeit für eine Busanforderung hängt von der Belastung der Kanäle ab. Zum Beispiel kann es ein Überschreiten des Zeitlimits geben. Im Extremfall kann die Latenzzeit nicht länger als die Zeit sein, die zum Ausgeben der Schlange von offenen Kanalanforderungen erforderlich ist, da alle Kanalanforderungen durch den MPU 119 erzeugt werden.)
- Unter Bezugnahme wieder auf die Fig. 3 und die Fig. 4 ist die Zuweisungslogik mit drei im wesentlichen identischen Zustandsmaschinen, einer Kanal-0-Zustandsmaschine (CH0 SM) 202, einer Kanal-1-Zustandsmaschine (CH1 SM) 204 und einer Busanforderungs-/Buszuweisungs-Zustandsmaschine (BREQ/BGNT SM) 206 in Verbindung. Jede der Zustandsmaschinen 202, 204, 206 ist im wesentlichen darin identisch, daß jede vier Zustände S0, S1, S2, S3 hat, wie in der Fig. 4 wiedergegeben ist. Der Zustand S0 ist der Leerlaufzustand; der Zustand S1 ist der Bestätigungszustand, der jeder Anforderung (REQ0, REQ1, BREQ) folgt, die während des Leeriaufzustandes erfolgt; der Zustand 2 ist ein Datenübertragungszustand, und der Zustand 3 ist der Fehlerzustand. Wenn einer oder beide Datenübertragungskanäle inaktiv (CH0 SM 202 und/oder CH1 SM 204 sind im Leerlaufzustand S0) sind und das BREQ*-Signal ausgegeben ist, wird der DB-Bus 100 für eine Übertragungsperiode (z.B. BXFR 212, Fig. 6) dem MPU 119 überlassen. Wenn eine der Zustandsmaschinen 202, 204, 206 im Leerlaufzustand S0 ist, verursacht das Aufstellen eines Anforderungssignals (REQ*) den Übergang zum Zustand S1. Wenn die Zustandsmaschine im Zustand S1 ist, errechnet die DB DMA 106 die vom DB MEM 108 zu verwendende Adresse sowie die Adressenparität für die nächste Adresse. Der Zustand S1 ist der Bestätigungszustand, was bedeutet, daß die Zustandsmaschine eine der Ausgabe einer Bestätigung an das anfordernde Element folgende bestimmte Signalsequenz erwartet. Insbesondere wird das fortgesetzte Aufstellen eines Anforderungsignals (REQ*) und einer Datenübertragung auf den Zustand S1 folgend erwartet; andernfalls wird eine Fehlerbedingung angezeigt (Zustand 53). Die Zustandsmaschine wechselt zwischen dem Zustand S1 und dem Zustand S2, bis die gesamte Datenübertragung abgeschlossen und das Anforderungssignal zurückgenommen ist (REQ* zurückgenommen). Wenn im Zustand S1 REQ* zurückgenommen wird, wechselt die Zustandsmaschine zum Fehlerzustand S3. Sie bleibt bis zur Aufstellung des Rückstellsignals im "Fehler"-Zustand. Wenn im Fehlerzustand das Rückstell*-Signal vorliegt, wird die Zustandsmaschine in den Leerlaufzustand zurückgesetzt. Wenn der Zustand S2 aufgerufen wird, findet eine Datenübertragung statt; daher kommt seine Bezeichnung als der Datenübertragungszustand (DXFR). Wenn das Anforderungssignal (REQ*) zurückgenommen bleibt, kehrt die Zustandsmaschine zum Zustand S1 zurück. Wenn kein neues Anforderungssignal vorliegt, bevor ein Rücksteilsignal (RESET*) aufgestellt ist, kehrt die Zustandsmaschine zum Leerlaufzustand S0 zurück. Wenn jedoch im Zustand S2 das Anforderungssignal REO* zurückgenommen wird, kehrt die Zustandsmaschine ebenfalls zum Leerlaufzustand S0 zurück.
- Die beiden Kanäle zur Datenübertragung (XFR0 und XFR1 von Fig. 1 gehören zu CH0 bzw. CH1) arbeiten unabhängig voneinander, können jedoch nicht während desselben Buszyklus Daten zwischen denselben Peripherievorrichtungen durch die SPC 44 und denselben Anforderungsport PPC-0 43-0 oder PPC-1 43-1 übertragen. Jede normale Datenübertragung wird geschrieben an eine oder ausgelesen aus einer Speicherstelle im DB MEM 108, die durch die Speicheradressenausgabe (MADRS) 224 der DB DMA bezeichnet wurde (Fig. 5).
- Unter Bezugnahme auf die Fig. 5 ist dort ein Diagramm der Architektur der DB DMA 106 gezeigt. Ein Schlüsselmerkmal der Architektur ist ein schneller Addierer oder genauer ein zweistufiger Parallelübertrag- (CLA) Addierer, der geeignet ist, Addier- und Subtrahieroperationen für die Kanaladressenerzeugung in weniger als einer Taktperiode durchzuführen. Die Inhalte der Kanal-0- und Kanal-1-Adressenregister 216 und 218 werden dem CLA-Addierer 214 über einen Adressenmultiplexer ADRS MUX 220 als eine Eingabe bereitgestellt. Die Augendadresse (ADRS AUGEND) 222 ist als die andere Eingabe an den CLA- Addierer 214 vorgesehen, dessen Ausgabe die Speicheradresse (MADRS) im DB MEM 108 ist, in die oder von der die Daten auf dem DB-Bus 100 geschrieben oder gelesen werden.
- Die DB DMA 108 ist geeignet, zusammengehörige Daten zur kontinuierlichen Übertragung von Prioritätsdaten mit der festgelegten Standarddatenübertragungsrate in einem Block aneinanderzuhängen. Dies ist eine Funktion, die normalerweise vom MPU 119 (Fig. 2) ausgeführt würde und erfordern würde, daß ein Interruptzyklus für jeden Datenrahmen wiederholt wird. Jedoch ist die DB DMA 106 gemäß der Erfindung statt dessen zu diesem Zweck eingesetzt. Das Ergebnis ist eine wesentliche Geschwindigkeitserhöhung von ausgewählten Datentransferoperationen der Vorrichtungssteuerung 41. Unter Bezugnahme auf die Fig. 5 sind ein Hauptsteuerregister 260, ein Kanal-0-Steuerregister 262 und ein Kanal-1-Steuerregister 264 gekoppelt, um über einen Registerbus 266 von einem Dateneingabe-/-ausgabeport 268 Eingabedaten zu erhalten und ferner über einen Registermultiplexer 270 eine Ausgabe an den Registerbus 266 und an den Dateneingabe-/-ausgabeport 268 bereitzustellen. Wie ferner in der Fig. 5 gezeigt ist, wobei nun auf den Betriebsmodus sowie die Architektur Bezug genommen wird, ist ein Kanal-0-Kettenzeigerregister CHO CHAIN PTR REF 226 an den Kanal-0-Adressenmultiplexer 228 zum Kanal-0- Adressenregister CHO ADR REG 216 gekoppelt, und ein Kanal-1-Kettenzeigerregister CH1 CHAIN PTR REF 230 ist an den Kanal-1-Adressenmultiplexer 232 zum Kanal-1-Adressenregister CH1 ADR REG 218 gekoppelt. Die Verkettungsfunktion ist durch Einsetzen eines passenden Befehlswortes in den Kanalsteuerregister 262 ermöglicht. Wenn einmal das Verketten ermöglicht wurde, werden die jeweiligen Kanaladressenregister 216 und 218 des ermöglichten Kanals von dem entsprechenden Kanalkettenzeigerregister 226 oder 228 geladen, so daß ein verketteter Ablauf gestartet wird. Der verkettete Ablauf geht weiter, bis Kettenparameter aus dem Speicher geholt werden; anschließend gehen die regulären Kanaloperationen weiter. Die Möglichkeit zum Reprogrammieren eines Kanals der DB DMA 106 für Verkettungsoperationen während der Unterstützung normaler Funktionen auf anderen Kanälen stellt eine Abkehr von der bekannten Technologie auf diesem Gebiet dar.
- Um den Abschluß jedes Transfers zu überprüfen, ist ein Komparator 250 zum Vergleichen des Inhalts des aktiven Kanaladressenregisters 216 oder 218 über den Adressen-MUX 220 mit dem Inhalt des entsprechenden Endzelgerregisters 254 oder 256 über einen Endadressenmultlplexer (END-ADRS-MUX) 258 vorgesehen. Die Ausgabe des Komparators 250 ist entweder ein Gleich- oder ein NICHT-Gleich-Wert der zur Steuerung der Datenübertragung verwendet wird.
- Ein weiteres Merkmal der Erfindung ist die Verwendung einer Adressenparitätsvorhersage, um sicherzustellen, daß das System richtig arbeitet. Genauer wird die Adressenparität der nächsten planmäßigen Adresse vorhergesagt und mit der aktuellen Parität verglichen, um sicherzustellen, daß Daten tatsächlich nacheinander zu und von den richtigen Speicherstellen übertragen werden. Zu diesem Zweck sind ein konventioneller Paritätskomparator 270, dessen Eingabe die Ausgabe des CLA-Addierers 214 ist, und ein Paritätsprädiktor 272 vorgesehen, dessen Eingabe die Ausgabe des Kanaladressenregisters 216 oder 218 über die Ausgabe des Adressenmultiplexers 220, und dessen andere Eingabe ausgewählte Steuerbits des entsprechenden Kanalsteuerregisters 262 und 264 über den Multiplexer 270 durch den Registerbus 266 sind. Die Ausgaben des Paritätsgenerators 270 und des Paritätsprädiktors 272 sind an einen Komparator 274 gekoppelt. Der Kanalsteuerregister 262, 264 enthält Informationen betreffend den Übertragungstyp und das Adresseninkrement für jeden Kanal. Der Kanaladressenregister 216, 218 enthält die gegenwärtige Adresse jedes Kanals. Der Paritätsprädiktor 272 enthält Einrichtungen zum Kombinieren des Adresseninkrements und der gegenwärtigen Adresse, um eine vorhergesagte Parität zu erhalten. Die Ausgabe des Komparators 274 ist somit eine Anzeige, ob die gegenwärtige Parität und die von der vorhergehenden Adresse vorhergesagte Parität gleich sind. Ungleichheit ist ein Fehlerzustand.
- Die Fig. 7 ist ein Blockdiagramm einer speziellen Ausführungsform von zwei Peripherieportsteuerungen (PPCs) 43-0 und 43-1 gemäß einer speziellen Ausführungsform der Erfindung. Gemäß der Erfindung ist verbunden mit oder enthalten in jeder PPC 43 eine unabhängig betriebene PPC-Verriegelung 300 (PPC-0 hat die PPC-Verriegelung 300-0 und PPG-1 hat die PPC-Verriegelung 300-1). Jede PPC-Verriegelung 300 arbeitet unabhängig, sodaß zwei I/O-Kanäle gleichzeitig eine Zuordnung eingestellt haben können. Bei einer speziellen Ausführungsform, wie in der Fig. 7 gezeigt ist, enthält jede PPC 43- 0, 43-1 einen Portchip 302-0, 302-1, der an einen Datenpuffer 303-0, 303-1 gekoppelt ist, wodurch die an die CIOs 39-0. 39-1 ausgegebenen EIOs Interrupts verursachen und die PPC-Verriegelungen 300-0, 300-1 einstellen. Die Portchips 302-0, 302-1 stellen auch ein begrenztes Datenpuffern zwischen den CIOs 39-0, 39-1 und dem DB-Bus 100 bereit. Jede PPC 43 hat die folgenden Register zum Empfangen von EIOs und zum Datenpuffern:
- Puffer A: einen Datenpuffer
- Puffer B: einen Datenpuffer
- Puffer C: einen Datenpuffer
- RAC: Register zum Speichern des Leseadressen- und des Befehlswortes (engl.: Read Address and Command word) einer Rückverbindungssequenz
- RIC: Register zum Speichem des Leseinterrupt-Verursachungswortes (engl.: Read Interrupt Cause word) einer Interruptsequenz
- RIST: Register zum Speichern des Leseinterrupt-Zustandsworts (engl.: Read Interrupt STatus word) einer Interruptsequenz
- LAC: Register zum Speichern des Ladeadressen- und des Befehlswortes (engl.: Load Address and Command word) einer EIO-Sequenz
- LPRM: Register zum Speichern des Ladeparameterwortes (engl.: Load PaRameter word) einer EIO-Sequenz
- Zustand: Drei Register, die einen Zugriff durch den MPU 119 auf Zustandssignale in der PPC bereitstellen
- Markierungssteuerung: Register, durch das der MPU 119 verschiedene Markierungen in der PPC einstellen und löschen kann
- Blocklänge: Register, das die Maximalzahl von Wörtern in einem einzelnen Rückverbindungsblock steuert (Maximum 128).
- Die DB DMA 106 hat Direktzugriff auf die drei Puffer A, B und C für sowohl Lesezugriffe als auch Schreibzugriffe. Diese Puffer sind wortbreite Register, die in einer bidirektionalen Schlange konfiguriert sind. Diese Register werden während Hineinübertragungen vom DB-Bus 100 zum CIO 39 durch den Systemtakt (SYS CLK) (verbunden mit den Hauptrechnern) getaktet. Während Herausübertragungen sind sie durch das CIO-39 Kanal-Handshakesignal SVO getaktet (siehe das Patent von Katzman et al. zur weiteren Erklärung des CIO 39). Zwei Dreibit-Rundschieberegister werden als Zeiger verwendet. Der erste Zeiger wird durch SYS CLK getaktet, und die Verschiebung wird durch das DMA ACK-Signal von der DB-DMA 106 ermöglicht (Fig. 6). Der zweite Zeiger wird durch SVO getaktet, und die Verschiebung wird durch einen IN- oder OUT TBUS-Befehl durch den CIO 39 ermöglicht. Die zwei Zeiger halten die Spur der nächsten Register (Puffer A, B oder C), die mit Daten geladen oder davon entladen werden sollen. Ein Zweibit-Synchronzähler hält die Spur der Wortzahl in den Puffern A, B und C. Die Synchronzählung wird verwendet, um zu bestimmen, wenn das DMA REQ*-Signal ausgegeben werden muß, und sie ist über die Zustandsregister für den MPU 119 verfügbar.
- Im Leerlaufzustand stellen die PPC-Verriegelungen 300 kein "Portbesitz"-Signal (PO OWN* durch die PPC-Verriegelung 300-0 und P1 OWN* durch die PPC-Verriegelung 300-1) auf. Jedoch wird, wann immer der geeignete EIO von dem PPC-Chip 302 empfangen wird, durch den PPC-Chip 302 über die Signalleitung 304 ein "Übernehme Zuordnung"-Interruptsignal (Takeown*) an die PPC-Verriegelung 300 ausgegeben. Jeder PPC-Port 41 ist über Komparatoren 306 und geeignete Schalter 308 genau identifiziert. Die adressierte PPC-Verriegelung 300 gibt die Portzuordnung (P0 OWN* und P1 OWN*) als Interrupts an den MPU 119 aus. Es ist anschließend die Aufgabe des MPU 119, den EIO zu interpretieren, um zu bestimmen, welcher der Ports welchen Datenkanal des DB-Busses 100 haben soll, und die DB DMA 106 zu konfigurieren, um so die zwei Datenkanäle CH0 und CH1 des DB-Busses 100 einem oder beiden der bestimmten Ports zuzuweisen. Wegen der Doppelzuordnung durch die PPC-Verriegelungen 300 und Zweikanaloperation der DB DMA 106 kann die Vorrichtungssteuerung alle Protokolle und Datenübertragungen zu und von Peripherievorrichtungen innerhalb eines gemeinsamen Zeitrahrnens und, soweit die CIO-Busse 39 betroffen sind, gleichzeitig handhaben. Jede PPC 43 ist zum im wesentlichen gleichzeitigen Betrieb geeignet. Beim gleichzeitigen Betrieb kann eine erste PPC 43-0 aktiv Daten und Befehle übertragen, während die zweite PPC 43-1 ebenso aktiv Informationen übertragen kann; jedoch ist eine derartige Übertragung auf Befehle beschränkt.
- All dies wird ohne eine direkte Datenübertragung über den MPU 119 ausgeführt, was eine wesentliche Abweichung von anderen auf diesem Gebiet bekannten Vorrichtungssteuerungen darstellt, d.h. Vorrichtungssteuerungen, die gemäß des gewünschten Datenübertragungstyps rekonfiguriert werden können.
- Beim Vorgang des Empfangens eines EIO muß die DB DMA 106 dem MPU 119 einen Buszugriff gewähren. Zu diesem Zweck antwortet der MPU 119 auf den von der PPC 43 ausgegebenen geeigneten Interrupt durch Ausgeben eines BRQT-Signals über den Busschalter 104 an die DB DMA 106.
- Unter Bezugnahme auf die Fig. 11 ist dort eine Ausführungsform des Busschalters 104 gezeigt. Der Busschalter 104 enthält einen Drei-Zustands-Puffer 400, eine Verzögerungseinrichtung 402 und eine Verriegelung 404. Der Ausgabefreigabeanschluß des Drei-Zustands-Puffers 400 wird von der DB DMA 106 (eine Taktleitung in Synchronisation mit dem verwendeten Kanal) durch die Verzögerungseinrichtungen 402 gesteuert, deren Funktion es ist, den Drei-Zustands-Puffer 400, nachdem eine ausreichende Zeit nach einer vorhergehenden Datenübertragung verstrichen ist, freizugeben, um die Beeinflussung zwischen aufeinanderfolgenden Datenblöcken vom MPU-Bus 102 zu minimieren, die zum schnelleren DB DMA-Bus 100 übertragen werden sollen. Die Verzögerungseinrichtungen 402 stellen typischerweise eine 20 ns Verzögerung und daher ein 20 ns Fenster zwischen Datenübertragungen bereit, die mit einem 200 ns Takt arbeiten. Der Busschalter 104 enthält ferner eine Verriegelung 404, die zum Empfangen von Daten vom schnelleren DB-Bus 100 angekoppelt ist. Sie arbeitet, um die empfangenen Daten zur Verwendung durch den langsameren MPU-Bus 102 zu verriegeln oder zu speichern. Die Verriegelung 404 ist ebenfalls eine Drei-Zustands-Vorrichtung, bei der der Ausgabefreigäbeanschluß unter der Kontrolle des MPU 119 ist, da der MPU 119 entscheidet, wenn die Inhalte der Verriegelung oder des Speichers 404 gelesen werden sollen. Bezeichnenderweise liegt die Betriebssteuerung des Busschalters 104 in der DB DMA 106, und ist genauer ein Teil der Zuweisungslogik 200 und des Busanforderungs-/Buszuweisungsprotokolls der BREQ/BGNT-Zustandsmaschine 206 zur Kommunikation mit dem MPU 119 und jedem anderen an den MPU-Bus 102 gekoppelten Element. (Die überwiegende Datenübertragung erfolgt zum Beispiel über den Speicher 112 unter der Kontrolle der 68450 DMA 114). Der Betrieb des Busschalters 104 im Zusammenhang mit dem MPU 119 wird durch das folgende Beispiel dargestellt.
- Die Übertragung des EIO zum MPU 119 erfolgt durch den Busschalter 104 von der PPC 43 zum MPU 119. Die PPC 43 gibt einen Intermpt an den MPU 119 aus, der seinerseits eine Busanforderung an die DB DMA 106 initiiert. Die DB DMA 106 gibt dann eine Buszuweisung an den MPU 119 aus. Der MPU 119 erhält dann den EIO über den DB-Bus 100 und den Busschalter 104 von der PPC 43. Der MPU 119 interpretiert dann die Befehlsstruktur, während die DB DMA 106 andere Datenübertragungen auf dem DB-Bus 100 steuert. Wenn der MPU 119 die Interpretation des EIO abgeschlossen hat, fordert er wieder einen Buszyklus des DB-Busses an, um auf die DB DMA 106 zuzugreifen, um sie bezüglich des Ports und der Form der Datenübertragung zu instruieren. Wenn einmal eine Buszuweisung erfolgte, überträgt der MPU 119 Instruktionen über den Busschalter 104 zu den Registern der DB DMA 106.
- Einer der bedeutenden Vorteile der Mehrbusarchitektur der Erfindung, wobei die synchronen Busse durch Busschalter gekoppelt sind, die Puffer und Verriegelungen enthalten, besteht darin, daß unterschiedlich schnelle Vorrichtungen sehr leicht aufeinander abgestimmt und selbst gewechselt werden können, falls dies erforderlich ist. Wenn es zum Beispiel gewünscht ist, einen schnelleren Mikroprozessorchip an der Stelle des MPU 119 einzusetzen, wird dies die relativ triviale Aufgabe, Komponenten zu wechseln und die MPU-Bustaktgeschwindigkeit zu erhöhen. Die Geschwindigkeit und der Betrieb des DB-Busses 100 wird nicht beeinflußt.
- Der MPU 119 greift über den SPC-Busschalter 122 und den SPG-Bus 120 auf die SPC 44 zu, um die SPC 44 für den durch den EIO und zugehörige Vektoren bestimmte Datenübertragung zu konfigurieren.
- Unter Bezugnahme auf die Fig. 8 ist die SPC 44 gemäß der Erfindung gezeigt. Die SPC 44 ist um einen SCSI-Protokollsteuerchip (SPC-Chip) 402 aufgebaut, der bei einer speziellen Ausführungsform ein von Fujitsu bereitgestellter Typ MB87030 sein kann. Der SPC-Chip 402 ist Indirekt an den DB-Bus 100 und direkt an den SPC-Bus 120 gekoppelt. Zwischen den DB-Bus 100 und den SPC-Ghip 402 ist ein Byte-Zusammenstellregister 404 auf dem DB-Bus 100 gekoppelt, der die Datenbytes für den SPC-Chip 402 zusammenstellt, die über Leitungen 403 und ein Paritätsregister 406 geschickt werden sollen, das eine ungerade Parität für Daten im Byte-Zusammenstellregister 404 erzeugt, um eine Kompatibilität mit der von dem SPG-Chip 402 erwarteten Parität bereitzustellen.
- Der SPC-Busschalter 122 enthält eine Verriegelung 410 und einen Puffer 412. Er ist zwischen den MPU-Bus 102 und den SPC-Bus 120 gekoppelt, um eine bidirektionale Befehls- und Steuerkopplung zwischen dem MPU-Bus 102 und dem SPC-Bus 120 bereitzustellen. Der SPC-Busschalter 122 wird durch ein Signal auf einer Interruptleitung 408 vom MPU 119 zur Verriegelung 410 und zum Puffer 412 freigegeben.
- Da der SPC-Chip 402 nur einen SCSI-Port hat, müssen Vorkehrungen gemäß der Erfindung getroffen werden, um zwei SCSI-Busse 111-0 und 111-1 anzuschließen. Daher stellt der SPC-Chip 402 einen Satz von Treiberleitungen 414 und Empfängerleitungen 416 an einen Multiplexersatz 418 bereit. Bei der dargestellten Ausführungsform enthält der Multiplexersatz 418 für den SPC- Chip 402 selbst erste und zweite Sätze von NAND-Gates 420-0 und 420-1 mit Doppeleingang und Ausgang mit offenem Kollektor, die als Freigabetreiber für den SCSI-Bus 0 111-0 bzw. den SCSI-Bus 1 111-1 und entsprechend erste und zweite Sätze von Invertern 420-0 und 420-1 fungieren, die als Drei-Zustands-Empfänger für den SCSI-Bus 0 111-0 bzw. den SCSI-Bus 1 111-1 fungieren. Zusätzlich sind dritte und vierte Invertersätze 424-0 und 424-1 als Empfänger von den jeweiligen SCSI-Bussen 111-0 und 111-1 angekoppelt und für SCSI-Interrupt-Logikeinrichtungen 426 bereitgestellt, die an den SPC- Bus 120 gekoppelt sind und eine Interruptleitung 428 haben, die an den MPU 119 gekoppelt ist. Noch weiter ist ein Busauswahlregister 430 auf dem SPC- Bus 120 vorgesehen, der als Ausgänge eine Bus-0-Freigabeleitung 432 und eine Bus-1-Freigabeleitung 434 hat. Die Bus-0-Freigabeleitung 432 ist an Treiber 420-0 und Empfänger 422-0 gekoppelt, die mit dem SCSI-Bus 0 111- 0 verbunden sind, und die Bus-1-Freigabeleitung 434 ist an Treiber 420-1 und Empfänger 422-1 gekoppelt, die mit dem SCSI-Bus 1 111-1 verbunden sind.
- Die SPC 44 kann über den SPC-Bus 102, der zum SPC-Chip 402 verläuft, auf Programmbefehle vom MPU 119 antworten, kann Daten (Lesen und Schreiben) vom/zum DB-Bus 100 von/zu jedem SCSI-Bus 111-0 oder 111-1 leiten, wie es durch einen Befehl vom MPU 119 über die Busauswahlregistereinrichtungen 432 ausgewählt wurde, oder sie kann den MPU 119 über die Interruptleitung 428 von den SCSI-Interrupt-Logikeinrichtungen trennen, die auf Signale von Peripherievorrichtungen auf entweder den SCSI-Bus 111-0 oder 111-1 ansprechen. Somit gestattet die Vorrichtungssteuerung 41 einen Mehrfachzugriff von mehreren Kanälen auf mehrere Vorrichtungen auf wählbaren SCSI-Bussen innerhalb desselben Betriebszyklus während zwei oder mehreren überlappenden Befehlen.
- Um die Übertragung von ungeraden Bytes auf dem DB-Bus 100 zum oder vom SPC-Chip 402 zu erleichtern, kann der Byte-Zusammenstellregister 404 durch den MPU 119 über den DB-Bus 100 im Wort-Modus gelesen und geschrieben werden. Dies erleichtert die Datenübertragung zwischen einer Acht-Bit-Vorrichtung (dem SPC-Chip 402) und einem schnellen Sechzehn-Bit-Bus (DB- Bus 100). Insbesondere während EINWÄRTS-Modus-Übertragungen vom SPC-Chip 402 wird das erste Byte zum DB-Bus 100 auf der Seite des höchstwertigen Bytes des Byte-Zusammenstellregisters 404 gespeichert, und wenn das zweite Byte fertig ist, wird das erste Byte vom Byte-Zusammenstellregister 404 zur Seite des höchstwertigen Bytes des DB-Busses 100 gegeben, während das geringstwertige Byte über den Drei-Zustands-Treiber 405 zur Seite des geringstwertigen Bytes des DB-Busses 100 gegeben wird. Während AUSWÄRTS-Modus-Übertragungen zum SPC-Chip 402 wird das geringstwertige Byte des DB-Busses 100 zur Seite des geringstwertlgen Bytes des Byte-Zusammenstellregisters 404 übertragen, so wie das höchstwertige Byte des DB-Busses 10 direkt durch den Drel-Zustands-Treiber 407 zur SPC übertragen wird. Das nächste zum SPC-Chip 402 übertragene Byte ist das geringstwertige Byte vom Byte-Zusammenstellregister 404.
- Die SCSI-Interrupt-Logikeinrichtungen 426 sind eine Logikvorrichtung, die drei Bedingungen oder Zustände steuert, die locker als Interrupts von jedem der zwei SCSI-Busse 111 bezeichnet werden, wodurch ein Interrupt auf einer Interruptleitung 428 zum MPU 119 unter sechs möglichen Bedingungen bereitgestellt wird. Die Bedingungen sind: 1) SCSI-Bus war zurückgesetzt; 2) SCSI- Bus war frei; 3) Vorrichtungssteuerung ist auf dem SCSI-Bus wieder aufgerufen. Alle sechs Bedingungen sind dumh "ODER" miteinander verbunden, so daß jede der Bedingungen die Ausgabe des Interrupts über die Interruptleitung 428 an den MPU 119 verursachen wird.
- Die sechs Bedingungen zum Verursachen des Interrupts können einzeln mittels sechs Leitungen vom MPU 119 zum Lese-/Schreibe-/Steuerport 429 freigegeben, gelesen und gelöscht werden, der an Register in den SCSI-Interrupt- Logikeinrichtungen 426 gekoppelt ist. Zusätzlich kann eine Haupt-Interruptfreigabe über eine siebte Leitung zum Lese-/Schreib-/Steuerport 429 vorgesehen sein. Diese Interrupts überwachen beide SCSI-Busse 111 unabhängig vom SPC-Chip 402 und vom Multiplexer 418 mittels Empfängern 424-0 und 421-1. Selbst wenn die Interruptleitung 428 nicht freigegeben ist, kann der Zustand des Interruptregisters über den SPC-Bus 120 vom MPU 119 erhalten werden.
- Der MPU 119 wird zum Ausführen des Programmierens der SPC 44 verwendet. Genauer stellt der MPU 119 Befehlsschlangen für die Ports und für einzelne Vorrichtungen im Speicher MEM 112 auf, die mit der SPC 44 in der Reihenfolge der Anfrage verbunden sind. Der MPU 119 kann verschiedene Aufgaben gleichzeitig handhaben, wie ein Lesen einer Vorrichtung, was eine Suche erfordert, bevor Daten übertragen werden. Der MPU 119 kann fortfahren, die Befehlsschlange einer anderen Vorrichtungsaufgabe für eine weitere Vorrichtung auszuführen, während sie den Abschluß der Suche auf der ersten Vorrichtung abwartet. Auf diese Weise wird die Verarbeltungsleistung des MPU 119 wirksamer genutzt.
- Unter Bezugnahme auf die Fig. 9 ist dort ein Blockdiagramm gezeigt, das eine spezielle Ausführungsform der Softwarestruktur 900 gemäß der Erfindung darstellt. Die Softwarestruktur 900 ist in Module gemäß der Funktion, einschließlich Kontrolle, Vorrichtungstreibern und Eingabe-/Ausgabe-Aufgaben, unterteilt. Die Softwarestruktur 900 enthält ein Kernprogramm 910 oder Betriebssystem, ein Peripherieportsteuer-Treibermodul (PPC-Treiber) 912, eine Port-Aufgabe 914, die logisch zwischen den PPC-Treiber und alle anderen Aufgaben gekoppelt ist, einschließend aber nicht notwendigerweise beschränkt auf eine Aufgabe 916 und eng verbundene Einrichtungen, eine Band-Aufgabe 918, Bündelkommunikation- (X.25) Aufgaben 920, (unter Verwendung des X.25- Protokolls), Asynchronkommunikations-Aufgaben 922 (Async) und Fernwartungsschnittstellen-Aufgaben 924 (RMI).
- Die Platten-Aufgabe 916 und die Band-Aufgabe 918 sind lokal an den SCSI- Peripheriesteuerungs- (SPG) Treiber 926 gekoppelt. Die X.25-Aufgaben oder -prozesse 920 sind logisch an einen seriellen Kommunikationssteuerungs- (SCC) Treiber 928 gekoppelt. Die Async-Aufgaben oder -Prozesse 922 sind logisch an einen Async-Treiber 930 gekoppelt. Die RMI-Aufgaben oder -prozesse sind an einen Wartungs-Diagnose-Bus- (MDB) Treiber 932 gekoppelt. Da es für eine Einschätzung der Erfindung nicht erforderlich ist, die Details der einzelnen Treiber oder Aufgaben zu verstehen, werden anschließend nur ausgewählte Treiber oder Aufgaben oder Prozesse zu Darstellungszwecken erläutert. Es ist für den Durchschnittsfachmann ausreichend, zu wissen, daß Fernwartung über den MDB-Treiber bereitgestellt ist, der eine Vorrichtungssteuerung an einen Wartungs-Diagnose-Bus bereitstellt, daß der SCC-Treiber 928 einen Standard-SCC-Chip, wie einen Zilog-Z8030-Seriellkommunikationschip, steuert, der sowohl das X.25 Bit-orientierte Bündelprotokoll als auch das X.21 Byte-orientierte Bündelprotokoll unterstützt, und daß der Async- Treiber 930 Standard-Dual-Universal-Asynchron-Empfänger-Sender (DUARTs), wie einen Signetics-2861-Chip, steuert.
- Das Kernprogramm 910 ist ein Standardbetriebssystem, das als ein kommerzielles Produkt für die 68000-Familie der Mikroprozessoren erhältlich ist. (Die 68000-Famllie wird von oder unter Lizenz von Motorola, Inc., hergestellt.) Ein bestimmtes Beispiel eines Kernprogramms 910 ist das T8120-Gemeinschaftskernprogramm-Softwaremodul, das bei mit Tandem gekennzeichneten Computersystemen verwendet wird, die von Tandem Computers, Inc., Cupertino, Kalifornien, hergestellt werden.
- Unter Bezugnahme auf die Fig. 10 und unter Verwendung einer Kommunikation zwischen einem Hauptrechner (nicht gezeigt, siehe Fig. 1) über den PPC- Treiber 912 und einen zugehörigen Port (nicht gezeigt, siehe Fig. 1) und einer Peripherievorrichtung (nicht gezeigt, siehe Fig. 1) auf dem SCSI-Bus (nicht gezeigt, siehe Fig. 1) unter Zugriffsmöglichkeit durch den SPC-Treiber 926 und zugehörige Hardware als ein Beispiel, ist es die Funktion der Treiber, auf hardwareerzeugte Interrupts zu antworten (wie ein Interrupt in Verbindung mit einem Ausführ-Eingabe-Ausgabe-Befehl) (EIO), der durch einen Hauptrechner (nicht gezeigt, siehe Fig. 1) ausgegeben wurde, um eine Port-Aufgabe oder einen Port-Prozeß 914 aufzunehmen, um Nachrichten (einschließlich Nachrichten in Verbindung mit dem EIO) zu einer anderen Aufgabe, wie einer Platten-Aufgabe oder einem Platten-Prozeß 916, zu übertragen, wodurch die andere Aufgabe 916 instruiert wird, eine gewünschte Aktion auszuführen, wie eine "Lies Daten"- oder "Schreibe Daten"-Unterroutine aufzurufen, um über einen Treiber, wie den SPC-Treiber 926 mit der Peripherievorrichtung (nicht gezeigt) zu kommunizieren. Als Antwort erzeugt die Peripherievorrichtung (nicht gezeigt), wenn die Lese- oder Schreibaufgabe erledigt ist, bei der exemplarischen Ausführungsform einen weiteren Hardwareinterrupt, der beim SPC-Treiber 926 empfangen und interpretiert wird, um ein Signal zu erzeugen, daß der Befehl abgeschlossen wurde. Das Signal CMD COMPLETE oder sein Äquivalent wird zur Platten-Aufgabe 916 übertragen, die ihrerseits eine Nachricht zur Port-Aufgabe weiterleitet, um eine Wiederverbindung oder einen Interrupt zu veranlassen. Die Port-Aufgabe gibt dann einen Unterroutinenaufruf an den PPC-Treiber 912, um die Wiederverbindung oder den Interrupt an den Hauptrechner auszugeben.
- Somit erfolgt die Kommunikation zwischen dem Hauptrechner und der Vorrichtungssteuerung mittels eines EIO, der unter der Steuerung einer Vorrichtungssteuerung an eine Peripherievorrichtung adressiert ist, und die Vorrichtungssteuerung antwortet dem Hauptrechner durch eine Wiederverbindungskette oder einen Interrupt.
- Die Port-Aufgabe 914 und zugehörige Software haben die folgenden interessierenden Charakteristika:
- Die Port-Aufgabe/Der Port-Prozeß 914 sendet die EIO-Anforderungsnachricht, die sie/er empfängt, basierend auf der Steuerungsadresse zur Vorrichtungs-Aufgabe 916. Wenn der Hauptrechner 33 mehrere EIOs zur selben Steuerungsadresse ausgibt, wird die Port-Aufgabe 914 mehrere Nachrichten zur selben Vorrichtungs-Aufgabe schicken.
- Der Port-Prozeß 914 verbindet nicht EIOs mit Wiederverbindungen oder Interrupts. Alle Entscheidungen zum Wiederverbinden und Unterbrechen werden durch die Vorrichtungs-Prozesse oder -Aufgaben getroffen.
- Der Port-Prozeß 914 hat nicht das Konzept der Zuordnung oder des Eigenbesitzes. Wenn ein Zuordnungskonzept erforderlich ist, wird es durch den Hauptrechner bereitgestellt. Soweit es die Vorrichtungssteuerung selbst betrifft, kann die Vorrichtungssteuerung durch beide Kanäle gleichzeitig in Besitz genommen sein. Somit sind alle EIOs mit derselben Steuerungsadresse von jedem Kanal auf denselben Vorrichtungs-Prozeß gerichtet.
- Der Port-Prozeß 914 empfängt die Adresse jedes Datenblocks von den Vorrichtungs-Prozessen oder -Aufgaben und bricht dann den Datenblock in Ketten, die gesendet oder empfangen werden sollen. Wenn die Adresse des Datenblocks im Speicher MEM 112 ist, wird er die Daten zwischen MEM 122 und DB MEM 108 unter Verwendung eines der zwei reservierten 256 Daten-Puffer in dem DB MEM 108 verschieben, wobei er Daten in einen Puffer verschiebt, während er über die PPC auf dem anderen Puffer wieder eine Verbindung zum Hauptrechner herstellt.
- Der Port-Prozeß 914 steuert die Wiederverbindungs- und Interruptanforderungen. Wenn die PPC 43 nicht rechtzeltig fertlg wird, stellt der Port-Prozeß 914 die PPC 43 zurück und kehrt mit einem Fehlerzustand zum Vorrichtungs- Prozeß zurück.
- Vorfälle, wie Takeown EIO, Abbruch EIO und Kanalrückstellung werden als Zustand zum Wiederverbinden, Unterbrechen und Lese_Zustand berichtet und nicht als Nachrichten oder Sendungen zu den Vorrichtungs-Prozessen oder -Aufgaben geschickt. Kanalrückstellung veranlaßt die Vorrichtungssteuerung 41, sich in ihren Leerlaufzustand zurückzustellen. Takeown EIO erfordert keine Aktion, zeigt aber an, daß eine Übertragung abgebrochen wurde.
- Die Portverwendung arbeitet innerhalb der folgenden Beschränkungen:
- EIOs werden jederzeit von jedem Port akzeptiert.
- Ein Hauptrechner-Interrupt wird nur ausgegeben, wenn ein Port nicht im Wiederverbindungszustand ist.
- Daten für den Hauptspeicher des Hauptrechners werden unter der Verfügbarkeit von Speicherplatz im DMA-Datenpuffer (DMA DB MEM 108) gesendet oder empfangen.
- Eine exemplarische Auflistung von Vorrichtungs-Prozessen oder Aufgaben und Treibern, die im Zusammenhang mit der Erfindung verwendet werden, ist im Anhang A bereitgestellt, der zu dieser Anmeldung gehört. Jedoch ist die Operation der Erfindung für den Durchschnittsfachmann anhand der vorhergehenden Beschreibung deutlich.
- Die Erfindung wurde unter Bezugnahme auf spezielle Ausführungsformen beschrieben. Andere Ausführungsformen sind für den Durchschnittsfachmann im Lichte dieser Offenbarung ersichtlich. Es ist daher nicht beabsichtigt, daß diese Erfindung mit der durch die angefügten Ansprüche bestimmten Ausnahme beschränkt ist.
Claims (22)
1. Vorrichtungssteuerung (41) zur Verwendung in einem
Digitalcomputersystem, enthaltend:
eine erste Port-Eingabe-/Ausgabesteuerung (43-0), die an einen ersten
Eingabe-/Ausgabekanalbus (39-0) gekoppelt ist,
eine zweite Port-Eingabe-/Ausgabesteuerung (43-1), die an einen zweiten
Eingabe-/Ausgabekanalbus (39-1) gekoppelt ist,
wobei jede der ersten und zweiten Port-Eingabe-/Ausgabe- (I/O)
Steuerungen hat:
erste Zuordnungs-Verriegelungseinrichtungen (300-0) zum Gewähren einer
geteilten Zuordnung der Vorrichtungssteuerung zu einem ersten
Hauptrechner (33-0), um einen ersten Datenweg auf einem ersten I/O-Kanal
durch die erste Port-I/O-Steuerung zwischen dem ersten Hauptrechner und
jeglicher Peripherie bereitzustellen, und
wenigstens zweite, von den ersten Zuordnungs-Verriegelungseinrichtungen
unabhängige Zuordnungs-Verriegelungseinrichtungen (300-1) zum
Gewähren einer geteilten Zuordnung der Vorrichtungssteuerung zu einem
zweiten Hauptrechner (33-1) unabhängig von der ersten Port-Eingabe-
/Ausgabesteuerung, um einen zweiten Datenweg auf einem zweiten I/O-
Kanal durch die zweite Port-I/O-Steuerung zwischen dem zweiten
Hauptrechner und jeglichen Peripherievorrichtungen bereitzustellen, die mit der
Vorrichtungssteuerung gekoppelt sind.
2. Vorrichtungssteuerung nach Anspruch 1, ferner enthaltend:
eine Peripherievorrichtungs-Eingabe-/Ausgabesteuerung, und
an einem Ende mit der Peripherievorrichtungs-Eingabe-/Ausgabesteuerung
gekoppelte und am anderen Ende mit einem ersten SCSI-Bus und einem
zweiten SCSI-Bus gekoppelte Multiplexeinrichtungen, um dadurch eine
Verbindung von dem ersten Hauptrechner und dem zweiten Hauptrechner zu
entweder dem ersten SCSI-Bus oder dem zweiten SCSI-Bus
bereitzustellen.
3. Vorrichtungssteuerung nach Anspruch 2, ferner enthaltend:
einen ersten Bus, der bei einer ersten Taktrate arbeitet,
einen zugewiesenen ersten Mikroprozessor, der die Kontrolle über den
ersten Bus hat,
einen zweiten Bus, der bei einer zweiten Taktrate synchron ist, die von der
ersten Taktrate verschieden ist,
eine Mehrkanal-Direktspeicherzugriffs- (DMA) Steuerung, die eine
Zustandsmaschine enthält, wobei die DMA-Steuerung die Kontrolle über den
zweiten Bus und die Kontrolle über und Zugriff auf den ersten I/O-Kanal, den
zweiten I/O-Kanal und die Peripherievorrichtungs-I/O-Steuerung hat, um
Zugriffsanforderungen auf den zweiten Bus zu entscheiden, und
einen ersten Busschalter, der zwischen den ersten Bus und den zweiten Bus
gekoppelt ist, um unter der Kontrolle der DMA-Steuerung und auf die
Anforderung des Mikroprozessors hin erste Informationen auf dem ersten Bus
mit der ersten Taktrate auf den zweiten Bus mit der zweiten Taktrate und
zweite Informationen auf dem zweiten Bus mit der zweiten Taktrate auf den
ersten Bus mit der ersten Taktrate zu übertragen.
4. Vorrichtungssteuerung nach Anspruch 1, ferner enthaltend:
einen ersten Bus,
einen zugewiesenen ersten Mikroprozessor, der die Kontrolle über den
ersten Bus hat,
einen zweiten Bus,
eine Mehrkanal-Direktspeicherzugriffs- (DMA) Steuerung, die eine
Zustandsmaschine enthält, wobei die DMA-Steuerung die Kontrolle über den
zweiten Bus und die Kontrolle über und Zugriff auf den ersten I/O-Kanal, den
zweiten I/O-Kanal und die Peripherievorrichtungs-I/O-Steuerung hat, um
Zugriffsanforderungen auf den zweiten Bus zu entscheiden, und
einen Busschalter, der zwischen den ersten Bus und den zweiten Bus
gekoppelt ist, um unter der Kontrolle der DMA-Steuerung und auf die
Anforderung des Mikroprozessors hin erste Informationen auf dem ersten Bus auf
den zweiten Bus und zweite Informationen auf dem zweiten Bus auf den
ersten Bus zu übertragen.
5. Vorrichtungssteuerung nach Anspruch 1, ferner enthaltend:
einen ersten Bus, der bei einer ersten Taktrate arbeitet,
einen zugewiesenen ersten Mikroprozessor, der die Kontrolle über den
ersten Bus hat,
einen zweiten Bus, der bei einer zweiten Taktrate synchron ist, die von der
ersten Taktrate verschieden ist,
eine Mehrkanal-Direktspeicherzugriffs- (DMA) Steuerung, die eine
Zustandsmaschine enthält, wobei die DMA-Steuerung die Kontrolle über den
zweiten Bus und die Kontrolle über und Zugriff auf den ersten I/O-Kanal, den
zweiten I/O-Kanal und die Peripherievorrichtungs-I/O-Steuerung hat, um
Zugriffsanforderungen auf den zweiten Bus zu entscheiden, und
einen Busschalter, der zwischen den ersten Bus und den zweiten Bus
gekoppelt ist, um unter der Kontrolle der DMA-Steuerung und auf die
Anforderung des Mikroprozessors hin erste Informationen auf dem ersten Bus mit der
ersten Taktrate auf den zweiten Bus mit der zweiten Taktrate und zweite
Informationen auf dem zweiten Bus mit der zweiten Taktrate auf den ersten
Bus mit der ersten Taktrate zu übertragen.
6. Vorrichtungssteuerung nach Anspruch 5, wobei die DMA-Steuerung eine
erste programmierbare Zustandsmaschine enthält, die durch alternierende
Zeitzuteilung einen ersten DMA-Kanal und einen zweiten DMA-Kanal auf
dem zweiten Bus definiert, wobei die programmierbare Zustandsmaschine
Einrichtungen zum Entscheiden der Zeitaufteilung zwischen dem ersten
DMA-Kanal und dem zweiten DMA-Kanal zur Datenübertragung auf dem
zweiten Bus und zur Zeitzuteilung auf dem zweiten Bus an den
Mikroprozessor mit einer niedrigeren Priorität als für die Datenübertragung hat.
7. Vorrichtungssteuerung nach Anspruch 5, wobei die programmierbare
Zustandsmaschine ferner Einrichtungen zum Auferlegen einer Latenz zwischen
einer Datenanforderung und einer Datenbestätigung, die von der
Zustandsmaschine ausgegeben werden, von nicht mehr als zwei Buszyklen auf jedem
Kanal enthält, so daß dem Mikropmzessor während der Latenz ein Zugriff auf
den zweiten Bus garantiert ist, und wobei eine maximale Latenz zwischen
einer von dem Mikroprozessor ausgegebenen Busanforderung und einer von
der Zustandsmaschine ausgegebenen Buszuteilung von der Belastung des
ersten Kanals und des zweiten Kanals abhängt.
8. Vorrichtungssteuerung nach Anspruch 5, wobei die DMA-Steuerung ferner
Einrichtungen zum Erzeugen von Kanaladressenwerten in weniger als einer
Taktperiode enthält, um eine rechtzeitige Erzeugung der Kanaladressenwerte
sicherzustellen.
9. Vorrichtungssteuerung nach Anspruch 5, wobei ferner Registereinrichtungen
und Programmeinrichtungen zum Programmieren der DMA-Steuerung
während des Betriebs enthalten sind.
10. Vorrichtungssteuerung nach Anspruch 9, wobei die DMA-Steuerung ferner
Einrichtungen zum Programmieren einer Verkettung von
zusammenhängenden Datenblöcken für eine kontinuierliche Übertragung von
Prioritätsdaten auf einem der Kanäle unabhängig von dem anderen Kanal enthält.
11. Vorrichtungssteuerung nach Anspruch 10, wobei die DMA-Steuerung
ferner Programmiereinrichtungen zum Bereitstellen einer direkten
Datenübertragung ohne Eingriff des Mikroprozessors enthält.
12. Vorrichtungssteuerung nach Anspruch 5, wobei die DMA-Steuerung ferner
Einrichtungen zum Vorhersagen der Adressenparität, Einrichtungen zum
Erzeugen einer Adressenparität und Einrichtungen zum Vergleichen der
vorhergesagten Parität mit der erzeugten Parität hat, um zu verifizieren, daß
die DMA-Steuerung korrekte sequentielle Adressen erzeugt.
13. Vorrichtungssteuerung nach Anspruch 5, wobei der Busschalter enthält:
Verriegelungseinrichtungen zum Halten von Daten von dem zweiten
Synchronbus zum Lesen durch die mit dem ersten Bus gekoppelten
Mikroprozessoreinrichtungen,
Drei-Zustands-Puffereinrichtungen zum Puffern von von dem ersten Bus an
den zweiten Synchronbus geschickten Daten, und
mit einem Freigabeeingang der Drei-Zustands-Puffereinrichtungen
gekoppelte Verzögemngseinrichtungen zum Schaffen eines Intervalls zwischen
aufeinanderfolgenden Datenübertragungen durch den Drei-Zustands-Puffer
in Synchronisation mit einem ausgewählten Kanal der zweiten
Buseinrichtungen.
14. Vorrichtungssteuerung nach Anspruch 3, ferner enthaltend:
eine Peripherievorrichtungs-Eingabe-/Ausgabesteuerung, wobei die
Peripherievorrichtungs-Eingabe-/Ausgabesteuerung einen Steuerungdatenbus
einer ersten Bitbreite hat, und wobei der zweite Synchronbus eine von der
ersten Bitbreite verschiedene zweite Bitbreite hat, und
ein zwischen den zweiten Synchronbus und den Steuerungsdatenbus
gekoppeltes Byte-Zusammensetzregister zum Zusammensetzen der Daten in
Bytes und Wörtern zum Austausch zwischen den Steuerungsdatenbus- und
den zweiten Synchronbuseinrichtungen.
15. Vorrichtungssteuerung nach Anspruch 14, ferner enthaltend:
Paritätskonvertierungseinrichtungen, die zum Konvertieren der zwischen dem
zweiten Bus und dem Steuerungsbus hindurchgelaufenen Daten zwischen
den zweiten Bus und den Steuerungsbus gekoppelt sind.
16. Vorrichtungssteuerung nach Anspruch 14, ferner enthaltend:
einen an einem Ende mit der Peripherievorrichtungs-Eingabe-
/Ausgabesteuerung gekoppelten und am anderen Ende mit einem ersten
SCSI-Bus und einem zweiten SCSI-Bus gekoppelten Multiplexer, um durch
die Vorrichtungssteuerung eine Verbindung entweder zum ersten SCSI-Bus
oder zum zweiten SCSI-Bus bereitzustellen,
einen an die Peripherievorrichtungs-Eingabe-/Ausgabesteuerung
gekoppelten dritten Bus,
programmierbare Interrupt-Logikeinrichtungen, die zwischen die dritten
Buseinrichtungen und den ersten SCSI-Bus und den zweiten SCSI-Bus
gekoppelt sind, um vorgewählte Zustände sowohl auf dem ersten SCSI-Bus
als auch auf dem zweiten SCSI-Bus zu überwachen, und
zweite Busschalteinrichtungen, die zwischen die ersten Buseinrichtungen
und die dritten Buseinrichtungen gekoppelt sind, um Befehlsmitteilungen zu
den Multiplexereinrichtungen, um zwischen dem ersten SCSI-Bus und dem
zweiten SCSI-Bus zu wählen, zu den programmierbaren
Interrupt-Logikeinrichtungen, um Zustände vorher auszuwählen, die einen Interrupt bei den
Mikroprozessoreinrichtungen verursachen, und zu den
Vorrichtungs-Eingabe-/Ausgabe-Steuerungseinrichtungen hindurchzuführen, um einen
gewählten SCSI-Bus zu steuern.
17. Vorrichtungssteuerung nach Anspruch 5, ferner enthaltend mit den ersten
Buseinrichtungen gekoppelte Einrichtungen, die wenigstens einen
Universalsender-Empfänger und eine Synchron-Kommunikationssteuerung
enthalten, um Daten zwischen DCEs oder DTEs über den zweiten Bus und die
erste Port-Eingabe-/Ausgabe-Steuerung oder die zweite Port-Eingabe-
/Ausgabe-Steuerung zu übertragen.
18. Vorrichtungssteuerung nach Anspruch 5, ferner enthaltend
Programmeinrichtungen
zum Handhaben von Eingabe-/Ausgabe-Ausführbefehlen, die
von jedem der Hauptrechner an die Mikroprozessoreinrichtungen
ausgegeben werden, wobei die Programmeinrichtungen enthalten:
Peripherieport-Steuertreibereinrichtungen zum Steuern der ersten Port-
Eingabe-/Ausgabe-Steuerung oder der zweiten Port-Eingabe-/Ausgabe-
Steuerung,
Vorrichtungs-Task-Einrichtungen in Verbindung mit den
Port-Task-Einrichtungen, um die Tasks der Vorrichtungen zu bestimmen, und
Vorrichtungstreibereinrichtungen zum Steuern von an die SCSI-Busse oder
den ersten Bus gekoppelten Peripherievorrichtungen.
19. Vorrichtungssteuerung nach Anspruch 1, wobei das Digitalcomputersystem
wenigstens einen mit dem ersten Eingabe-/Ausgabekanalbus gekoppelten
ersten Hauptrechner, einen mit dem zweiten Eingabe-/Ausgabekanalbus
gekoppelten zweiten Hauptrechner, einen Zwischenrechnerbus, der die
ersten und zweiten miteinander gekoppelten Hauptrechner miteinander
verbindet, wobei die Vorrichtungssteuerung eine erste mit dem ersten SCSI-Bus
gekoppelte Peripherievorrichtungs-Eingabe-/Ausgabesteuerung und eine
mit dem zweiten SCSI-Bus gekoppelte Peripherievorrichtungs-Eingabe-
/Ausgabesteuerung enthält, wobei das Digitalcomputersystem ferner enthält:
eine zweite Vorrichtungssteuerung, wobei die zweite Vorrichtungssteuerung
eine mit dem ersten Eingabe-/Ausgabekanalbus gekoppelte dritte Port-
Eingabe-/Ausgabesteuerung und eine mit dem zweiten Eingabe-
/Ausgabekanalbus gekoppelte vierte Port-Eingabe-/Ausgabesteuerung, eine
mit dem ersten SCSI-Bus gekoppelte dritte
Peripherievorrichtungs-Eingabe-/Ausgabesteuerung und eine mit dem zweiten SCSI-Bus gekoppelte
vierte Peripherievorrichtungs-Eingabe-/Ausgabesteuerung hat, und
eine zweite Port-Eingabe-/Ausgabesteuerung, die zweite
Zuordnungs-Verriegelungseinrichtungen zum Gewähren einer geteilten Zuordnung jeder der
Vorrichtungssteuerungen zu den ersten und wenigstens zweiten
Hauptrechnern hat, was wenigstens zwei weitere Datenwege zwischen den ersten
oder zweiten Hauptrechnern und einer an den zweiten SCSI-Bus
gekoppelten Peripherievorrichtung bereitstellt.
20. Verfahren zum Steuern des Daten- und Befehlstransfers in einer
Vorrichtungssteuerung zur Verwendung bei einem Digitalcomputersystem,
enthaltend:
Gewähren einer geteilten Zuordnung der Vorrichtungssteuerung zu einem
ersten Hauptrechner mittels einer ersten
Zuordnungs-Verriegelungseinrichtung einer ersten Port-Eingabe-/Ausgabe- (I/O) Steuerung, um einen ersten
Datenweg auf einem ersten I/O-Kanal durch die erste Port-I/O-Steuerung
zwischen dem ersten Hauptrechner und jeglicher Peripherie bereitzustellen,
und
Gewähren einer geteilten Zuordnung der Vorrichtungssteuerung zu einem
zweiten Hauptrechner unabhängig von der ersten Port-Eingabe-
/Ausgabesteuerung mittels einer zweiten
Zuordnungs-Verriegelungseinrichtung unabhängig von der ersten Zuordnungs-Verriegelungseinrichtung, um
einen zweiten Datenweg auf einem zweiten I/O-Kanal durch die zweite Port-
I/O-Steuerung zwischen dem zweiten Hauptrechner und jeglichen
Peripherievorrichtungen bereitzustellen, die mit der Vorrichtungssteuerung gekoppelt
sind.
21. Verfahren nach Anspruch 20, ferner enthaltend die Schritte:
Definieren eines ersten DMA-Kanals und eines zweiten DMA-Kanals auf
einem Synchronbus durch alternierende Zeitzuteilung, und
Entscheiden der Zeitaufteilung zwischen dem ersten DMA-Kanal und dem
zweiten DMA-Kanal mittels einer programmierbaren Zustandsmaschine, um
den Datentransfer auf dem Synchronbus zu regulieren, um einem
Mikroprozessor auf dem Synchronbus Zeit mit einer niedrigeren Priorität als für die
Datenübertragung zuzuteilen.
22. Verfahren nach Anspruch 21, ferner enthaltend die Schritte:
Auferlegen einer Latenz zwischen einer Datenanforderung und einer
Datenbestätigung, die von der Zustandsmaschine ausgegeben werden, von
nicht mehr als zwei Buszyklen auf jedem Kanal, so daß dem Mikroprozessor
während der Latenz ein Zugriff auf den zweiten Bus garantiert ist, und wobei
eine Latenz zwischen einer Busanforderung und einer von der
Zustandsmaschine ausgegebenen Buszuteilung von der Belastung des ersten Kanals
und des zweiten Kanals abhängt.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/040,513 US4821170A (en) | 1987-04-17 | 1987-04-17 | Input/output system for multiprocessors |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE3852904D1 DE3852904D1 (de) | 1995-03-16 |
| DE3852904T2 true DE3852904T2 (de) | 1995-06-29 |
Family
ID=21911380
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE3852904T Expired - Lifetime DE3852904T2 (de) | 1987-04-17 | 1988-04-11 | Eingangs-/Ausgangssystem für Multiprozessoren. |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US4821170A (de) |
| EP (1) | EP0287301B1 (de) |
| JP (1) | JPH0743697B2 (de) |
| AU (1) | AU607206B2 (de) |
| DE (1) | DE3852904T2 (de) |
Families Citing this family (73)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5151999A (en) * | 1986-03-31 | 1992-09-29 | Wang Laboratories, Inc. | Serial communications controller for transfer of successive data frames with storage of supplemental data and word counts |
| US4855899A (en) * | 1987-04-13 | 1989-08-08 | Prime Computer, Inc. | Multiple I/O bus virtual broadcast of programmed I/O instructions |
| DE3779313D1 (de) * | 1987-08-20 | 1992-06-25 | Ibm | Schnittstellenmechanismus fuer informationsuebertragungssteuerung zwischen zwei vorrichtungen. |
| US4999771A (en) * | 1987-08-31 | 1991-03-12 | Control Data Corporation | Communications network |
| US5185877A (en) * | 1987-09-04 | 1993-02-09 | Digital Equipment Corporation | Protocol for transfer of DMA data |
| US4864532A (en) * | 1987-09-21 | 1989-09-05 | Unisys Corporation | Small computer systems interface--data link processor |
| US5230067A (en) * | 1988-05-11 | 1993-07-20 | Digital Equipment Corporation | Bus control circuit for latching and maintaining data independently of timing event on the bus until new data is driven onto |
| JPH0769882B2 (ja) * | 1988-05-11 | 1995-07-31 | 富士通株式会社 | クロスコール機能を有する入出力制御システム及びそのシステムにおける動的構成変更方法 |
| CA1320767C (en) * | 1988-05-11 | 1993-07-27 | Robert C. Frame | Atomic sequence for phase transitions |
| US5016160A (en) * | 1988-12-15 | 1991-05-14 | International Business Machines Corporation | Computer system having efficient data transfer operations |
| EP0374764B1 (de) * | 1988-12-19 | 2001-04-04 | Nec Corporation | Datenübertragungsvorrichtung |
| DE68924051T2 (de) * | 1988-12-30 | 1996-05-02 | Ibm | Vielfacher Ein-/Ausgabe-Kanal. |
| US5303351A (en) * | 1988-12-30 | 1994-04-12 | International Business Machines Corporation | Error recovery in a multiple 170 channel computer system |
| US5081609A (en) * | 1989-01-10 | 1992-01-14 | Bull Hn Information Systems Inc. | Multiprocessor controller having time shared control store |
| DE3917715A1 (de) * | 1989-05-31 | 1990-12-06 | Teldix Gmbh | Rechnersystem |
| US5175822A (en) * | 1989-06-19 | 1992-12-29 | International Business Machines Corporation | Apparatus and method for assigning addresses to scsi supported peripheral devices |
| US5347637A (en) * | 1989-08-08 | 1994-09-13 | Cray Research, Inc. | Modular input/output system for supercomputers |
| US5418933A (en) * | 1990-02-20 | 1995-05-23 | Sharp Kabushiki Kaisha | Bidirectional tri-state data bus buffer control circuit for delaying direction switching at I/O pins of semiconductor integrated circuit |
| FR2659460B1 (fr) * | 1990-03-08 | 1992-05-22 | Bull Sa | Sous-systeme peripherique de memoire de masse. |
| US5758109A (en) * | 1990-03-19 | 1998-05-26 | Thomas A. Gafford | Repeater/switch for distributed arbitration digital data buses |
| US5289589A (en) * | 1990-09-10 | 1994-02-22 | International Business Machines Corporation | Automated storage library having redundant SCSI bus system |
| JPH0823859B2 (ja) * | 1990-09-28 | 1996-03-06 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データ処理システム |
| US5471639A (en) * | 1990-10-24 | 1995-11-28 | At&T Global Information Solutions Company | Apparatus for arbitrating for a high speed direct memory access bus |
| US5182800A (en) * | 1990-11-16 | 1993-01-26 | International Business Machines Corporation | Direct memory access controller with adaptive pipelining and bus control features |
| JP2770936B2 (ja) * | 1990-12-18 | 1998-07-02 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 通信ネットワークおよび通信チャンネルをつくる方法 |
| 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 |
| JP3187525B2 (ja) * | 1991-05-17 | 2001-07-11 | ヒュンダイ エレクトロニクス アメリカ | バス接続装置 |
| US5586302A (en) * | 1991-06-06 | 1996-12-17 | International Business Machines Corporation | Personal computer system having storage controller with memory write control |
| US5313610A (en) * | 1991-07-03 | 1994-05-17 | Picker International, Inc. | Direct memory access control device for use with a single n-bit bus with MOF the n-bits reserved for control signals and (n-m) bits reserved for data addresses |
| US5257391A (en) * | 1991-08-16 | 1993-10-26 | Ncr Corporation | Disk controller having host interface and bus switches for selecting buffer and drive busses respectively based on configuration control signals |
| DE4227346C2 (de) * | 1991-08-19 | 1999-09-09 | Sequent Computer Systems Inc | Gerät zur Datenübertragung zwischen mehreren, mit einem SCSI-Bus verbundenen Einheiten |
| US5272396B2 (en) * | 1991-09-05 | 1996-11-26 | Unitrode Corp | Controllable bus terminator with voltage regulation |
| US5388217A (en) * | 1991-12-13 | 1995-02-07 | Cray Research, Inc. | Distributing system for multi-processor input and output using channel adapters |
| US5724549A (en) * | 1992-04-06 | 1998-03-03 | Cyrix Corporation | Cache coherency without bus master arbitration signals |
| US5506964A (en) * | 1992-04-16 | 1996-04-09 | International Business Machines Corporation | System with multiple interface logic circuits including arbitration logic for individually linking multiple processing systems to at least one remote sub-system |
| US5659690A (en) * | 1992-10-15 | 1997-08-19 | Adaptec, Inc. | Programmably configurable host adapter integrated circuit including a RISC processor |
| US5535414A (en) * | 1992-11-13 | 1996-07-09 | International Business Machines Corporation | Secondary data transfer mechanism between coprocessor and memory in multi-processor computer system |
| US5588112A (en) * | 1992-12-30 | 1996-12-24 | Digital Equipment Corporation | DMA controller for memory scrubbing |
| US5495584A (en) * | 1993-03-09 | 1996-02-27 | Dell Usa, L.P. | SCSI bus concatenator/splitter |
| US5598538A (en) * | 1993-08-16 | 1997-01-28 | Tektronix, Inc. | SCSI multiplexer for coupling a computer local bus to a shared peripheral global bus |
| JP3237736B2 (ja) * | 1993-09-07 | 2001-12-10 | ヒュンダイ エレクトロニクス アメリカ | データ記憶装置のマトリックス構造 |
| US5422580A (en) * | 1993-10-14 | 1995-06-06 | Aps Technologies | Switchable active termination for SCSI peripheral devices |
| US5572698A (en) * | 1994-04-18 | 1996-11-05 | Rolm Company | System and method for allocating memory resources where the category of a memory resource determines where on a circular stack a pointer to the memory resource is placed |
| US5907684A (en) * | 1994-06-17 | 1999-05-25 | International Business Machines Corporation | Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image |
| JP3474646B2 (ja) * | 1994-09-01 | 2003-12-08 | 富士通株式会社 | 入出力制御装置及び入出力制御方法 |
| US5729719A (en) * | 1994-09-07 | 1998-03-17 | Adaptec, Inc. | Synchronization circuit for clocked signals of similar frequencies |
| US5619726A (en) * | 1994-10-11 | 1997-04-08 | Intel Corporation | Apparatus and method for performing arbitration and data transfer over multiple buses |
| DE59406569D1 (de) * | 1994-11-17 | 1998-09-03 | Siemens Nixdorf Inf Syst | Peripherie-Einheit mit erhöhter Verfügbarkeit |
| 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 |
| JP3072014B2 (ja) * | 1995-02-10 | 2000-07-31 | 富士通株式会社 | 記憶装置 |
| US5864712A (en) * | 1995-03-17 | 1999-01-26 | Lsi Logic Corporation | Method and apparatus for controlling (N+I) I/O channels with (N) data managers in a homogenous software programmable environment |
| DE69614291T2 (de) * | 1995-03-17 | 2001-12-06 | Lsi Logic Corp., Fort Collins | (n+i) Ein/Ausgabekanälesteuerung, mit (n) Datenverwaltern, in einer homogenen Software-Programmierbetriebsumgebung |
| US5710892A (en) * | 1995-07-19 | 1998-01-20 | International Business Machines Corporation | System and method for asynchronous dual bus conversion using double state machines |
| US5745763A (en) * | 1995-09-29 | 1998-04-28 | International Business Machines Corporation | Method and apparatus for device driver funnelling |
| US5884100A (en) * | 1996-06-06 | 1999-03-16 | Sun Microsystems, Inc. | Low-latency, high-throughput, integrated cache coherent I/O system for a single-chip processor |
| US6341301B1 (en) | 1997-01-10 | 2002-01-22 | Lsi Logic Corporation | Exclusive multiple queue handling using a common processing algorithm |
| US5966547A (en) * | 1997-01-10 | 1999-10-12 | Lsi Logic Corporation | System for fast posting to shared queues in multi-processor environments utilizing interrupt state checking |
| US5922057A (en) * | 1997-01-10 | 1999-07-13 | Lsi Logic Corporation | Method for multiprocessor system of controlling a dynamically expandable shared queue in which ownership of a queue entry by a processor is indicated by a semaphore |
| TW406229B (en) * | 1997-11-06 | 2000-09-21 | Hitachi Ltd | Data process system and microcomputer |
| FR2776400B1 (fr) * | 1998-03-18 | 2000-04-28 | Bull Sa | Sous-systeme de disques a multiples interfaces configurables |
| US6182167B1 (en) | 1998-10-22 | 2001-01-30 | International Business Machines Corporation | Automatic sharing of SCSI multiport device with standard command protocol in conjunction with offline signaling |
| US6594541B1 (en) * | 2000-01-10 | 2003-07-15 | Siemens Aktiengesellschaft | Universal motion control |
| GB2372115A (en) * | 2001-02-08 | 2002-08-14 | Mitel Semiconductor Ltd | Direct memory access controller |
| US6954819B2 (en) * | 2002-01-09 | 2005-10-11 | Storcase Technology, Inc. | Peripheral bus switch to maintain continuous peripheral bus interconnect system operation |
| US6928524B2 (en) * | 2002-12-05 | 2005-08-09 | International Business Machines Corporation | Data processing system with naked cache line write operations |
| US7523235B2 (en) * | 2003-06-11 | 2009-04-21 | Lsi Corporation | Serial Advanced Technology Attachment (SATA) switch |
| CN100334562C (zh) * | 2003-07-10 | 2007-08-29 | 联发科技股份有限公司 | 动态调整微处理器模拟装置的操作时钟脉冲的相关方法 |
| US20060259164A1 (en) * | 2005-05-16 | 2006-11-16 | Texas Instruments Incorporated | Event and stall selection |
| US7788538B2 (en) * | 2005-05-16 | 2010-08-31 | Texas Instruments Incorporated | Event and stall selection |
| US8356200B2 (en) * | 2008-09-26 | 2013-01-15 | Apple Inc. | Negotiation between multiple processing units for switch mitigation |
| US8249049B2 (en) * | 2009-03-17 | 2012-08-21 | Cisco Technology, Inc. | Clock synchronization |
| CN118069218A (zh) * | 2017-09-12 | 2024-05-24 | 恩倍科微公司 | 极低功率微控制器系统 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
| JPS54129941A (en) * | 1978-03-31 | 1979-10-08 | Fujitsu Ltd | Cross-call control system |
| EP0088789B1 (de) * | 1981-09-18 | 1987-08-05 | CHRISTIAN ROVSING A/S af 1984 | Multiprozessor-rechnersystem |
| US4486826A (en) * | 1981-10-01 | 1984-12-04 | Stratus Computer, Inc. | Computer peripheral control apparatus |
| US4480307A (en) * | 1982-01-04 | 1984-10-30 | Intel Corporation | Interface for use between a memory and components of a module switching apparatus |
| US4590554A (en) * | 1982-11-23 | 1986-05-20 | Parallel Computers Systems, Inc. | Backup fault tolerant computer system |
-
1987
- 1987-04-17 US US07/040,513 patent/US4821170A/en not_active Expired - Lifetime
-
1988
- 1988-04-11 EP EP88303218A patent/EP0287301B1/de not_active Expired - Lifetime
- 1988-04-11 DE DE3852904T patent/DE3852904T2/de not_active Expired - Lifetime
- 1988-04-13 AU AU14596/88A patent/AU607206B2/en not_active Ceased
- 1988-04-18 JP JP63095374A patent/JPH0743697B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| AU1459688A (en) | 1988-10-20 |
| EP0287301A2 (de) | 1988-10-19 |
| DE3852904D1 (de) | 1995-03-16 |
| AU607206B2 (en) | 1991-02-28 |
| JPH0743697B2 (ja) | 1995-05-15 |
| EP0287301A3 (en) | 1990-07-18 |
| EP0287301B1 (de) | 1995-02-01 |
| JPS63279358A (ja) | 1988-11-16 |
| US4821170A (en) | 1989-04-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE3852904T2 (de) | Eingangs-/Ausgangssystem für Multiprozessoren. | |
| DE69027515T2 (de) | Vorrichtung für Prioritätsarbitrierungskonditionierung bei gepufferter Direktspeicheradressierung | |
| DE69108434T2 (de) | Mehrgruppen-Signalprozessor. | |
| DE69522608T2 (de) | Mehreinrichtungskopplung | |
| DE69932400T2 (de) | Steuerungsvorrichtung für einen Portverwalter zur Verbindung von verschiedenen Funktionsmodulen | |
| DE3752205T2 (de) | Multiprozessor-Busprotokoll | |
| DE69032481T2 (de) | Buszugriff für Digitalrechnersystem | |
| DE3909948C2 (de) | ||
| DE69030861T2 (de) | Bus-Master-Steuerprotokoll | |
| DE69329904T2 (de) | Echtzeitverarbeitungssystem | |
| DE69507636T2 (de) | Ein rechnersystem mit einer brücke zwischen bussen | |
| DE69627528T2 (de) | Stoss-rundsenden über einen pci-bus | |
| DE3689226T2 (de) | Multiprozessorsystem mit multihierarchischen Ebenen. | |
| DE3853574T2 (de) | Steuerung von Benutzerantworten in einem Übertragungsbus. | |
| DE3688763T2 (de) | Mehrfachport-Übertragungsadaptiervorrichtung. | |
| DE3688363T2 (de) | Unterbrechungsabwicklung in einem Multiprozessorrechnersystem. | |
| DE69936060T2 (de) | Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten | |
| DE69423056T2 (de) | Arbitrierungslogik für Mehrfachbus-Rechnersystem | |
| DE69128133T2 (de) | Fernmeldenetz | |
| EP0929041B1 (de) | Verfahren und Anordnung zum Betreiben eines Bussystems | |
| US4490788A (en) | Well-logging data processing system having segmented serial processor-to-peripheral data links | |
| DE68915701T2 (de) | Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung. | |
| DE3689087T2 (de) | Modularer Mehrfachportdatenknoten. | |
| DE3689198T2 (de) | Systembus für Kommunikation zwischen Prozessoren. | |
| EP0006164B1 (de) | Multiprozessorsystem mit gemeinsam benutzbaren Speichern |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition |