DE69329904T2 - Echtzeitverarbeitungssystem - Google Patents

Echtzeitverarbeitungssystem

Info

Publication number
DE69329904T2
DE69329904T2 DE69329904T DE69329904T DE69329904T2 DE 69329904 T2 DE69329904 T2 DE 69329904T2 DE 69329904 T DE69329904 T DE 69329904T DE 69329904 T DE69329904 T DE 69329904T DE 69329904 T2 DE69329904 T2 DE 69329904T2
Authority
DE
Germany
Prior art keywords
bus
memory
address
node
nodes
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
DE69329904T
Other languages
English (en)
Other versions
DE69329904D1 (de
Inventor
Anil Gupta
Hugh Humphreys
Walter Nixon
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Application granted granted Critical
Publication of DE69329904D1 publication Critical patent/DE69329904D1/de
Publication of DE69329904T2 publication Critical patent/DE69329904T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Description

    GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft ein neuartiges Echtzeit-Datenverarbeitungssystem mit zwei oder mehr Datenverarbeitungsknoten bzw. -einheiten, bei dem bei Einschreiben von Daten in einen Speicher in einem Modus diese erfasst und in Speicher der zugehörigen Knoten gespiegelt werden.
  • HINTERGRUND DER ERFINDUNG
  • Derartige Systeme sind aus der unter der Nr. EP-A-0251686 veröffentlichen europäischen Patentanmeldung bekannt. Derartige Systeme verwenden Speicher mit zwei Ports; diese Systeme haben aber trotz erfolgreicher Spiegelung von Daten unter einer Vielzahl von Knoten Einschränkungen, die aus der folgenden Beschreibung besser hervorgehen.
  • ZUSAMMENFASSENDE BESCHREIBUNG DER ERFINDUNG
  • Die in dem selbständigen Anspruch 1 definierte vorliegende Erfindung wird mit einem Datenverarbeitungssystem umgesetzt, das durch eine Architektur gekennzeichnet ist, die eine effiziente Kopplung von mehrfachen Prozessorknoten für Echtzeitanwendungen ermöglicht. Diese Architektur ermöglicht das gemeinsame Nützen von Daten durch verschiedene Verarbeitungsknoten in einer dezentralen Rechenanlage über eine parallele Hochgeschwindigkeits-Echtzeitverbindung zwischen den physikalischen Speichern der Knoten. Sie bietet auch die vollen Vorteile des gemeinsamen Speichers, aber ohne die nicht-deterministischen Zugrifflatenzzeiten, die sich in den meisten herkömmlichen Multiprozessorsystemen mit gemeinsamen Speicher finden.
  • Weitere Ausführungen der Erfindung sind in den beigefügten Unteransprüchen spezifiziert.
  • Andere und weitere Vorteile der vorliegenden Erfindung gehen aus der nachfolgenden Beschreibung einer bevorzugten Ausführung in Verbindung mit den beigefügten Zeichnungen deutlicher hervor.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 ist ein schematisches Diagramm, das ein erfindungsgemäßes System zeigt;
  • Fig. 2 ist ein schematisches Diagramm, das die Busverbindung zeigt;
  • Fig. 3 ist ein schematisches Diagramm, das die Einzelheiten der in der vorliegenden Erfindung verwendeten Schnittstellen und Steuereinheiten zeigt;
  • Fig. 4 ist ein schematisches Diagramm, das Einzelheiten der Hochgeschwindigkeits- Datenschnittstelle zeigt;
  • Fig. 5 ist ein eingehendes Blockdiagramm der Hochgeschwindigkeits- Datenschnittstelle (HSDI);
  • Fig. 6 ist ein Diagramm des Globalspeicheraufbaus;
  • Fig. 7 ist ein Zeitdiagramm der Speicherkopplungsbuszuteilungen, sogenannter MC- Buszuteilungen, bei Anforderungen aller Knoten;
  • Fig. 8 ist ein Zeitdiagramm der MC-Buszuteilungen, bei gestreuten Anforderungen;
  • Fig. 9 ist ein Zeitdiagramm des kontinuierlichen MC-Bus-Knotenanforderungsablaufs;
  • Fig. 10 und 11 zeigen den Steuer-/Zustandsregisterplan und das ID-Register des MC-Systems und
  • Fig. 12 ist ein schematisches Diagramm, das Einzelheiten der in einer Abwandlung der Erfindung verwendete Schnittstellen und Steuereinheiten zeigt.
  • EINGEHENDE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNG
  • Unter Bezug auf Fig. 1 wird ein Verarbeitungssystem gezeigt, das eine Vielzahl von Knoten, von denen nur drei gezeigt sind, umfasst. Knoten 1 umfasst einen Hauptprozessor 20, der mittels herkömmlicher Schnittstellen mit einem als E/A-Bus dienenden VME-Bus 22 und einem Lokalbus 24, der ein SEL-Bus sein könnte, verbunden ist. Der Erweiterungsspeicher 26 ist ebenfalls mit den Bussen 22 und 24 verbunden. Bus 22 weist eine in herkömmlicher Weise mit ihm verbundene Vielzahl von E/A-Vorrichtungen oder Peripheriegeräten auf; Zur Veranschaulichung sind eine Hochgeschwindigkeits-Datenschnittstelle 28, Asynchron-Geräte 30, eine Ethernetschnittstelle 32 und andere Anwenderoptionen 34 gezeigt. Beide Busse 22 und 24 sind mit einem neuartigen Speicherkopplungssystem 40 an Ports 42 bzw. 44 verbunden, welches wiederum an Port 48 mit einem Speicherkopplungssystem 46 gekoppelt ist. Bus 46 dient als Datenleitung zur direkten Kopplung der Speicher der verschiedenen Knoten des Verarbeitungssystems, um die Mehrfachsysteme an gemeinsame Daten anzubinden und eine dezentrale Einheitsadressraumumgebung hoher Leistungsfähigkeit zu schaffen.
  • Knoten 2 umfasst beispielsweise eine Concept 32/67 Verarbeitungseinheit, wie sie von Encore Computer Corporation, Ft. Lauderdale, Florida, hergestellt und vertrieben wird. Nicht alle Einzelheiten sind gezeigt. Knoten 2 beinhaltet einen SEL-Bus 54, an dem E/A 50 und ein Prozessor 52 gekoppelt sind. Ein Speicher 56 mit zwei Ports ist mit einem Port mit dem SEL-Bus 54 und mit seinem anderen Port mit einer Lese- /Abtaststeuerung 58 verbunden, die wiederum mit einer Schreib-/Abtaststeuerung 60 verbunden ist, welche auch mit dem SEL-Bus 54 und dem Speicherkopplungsbus 46 verbindet. Der Aufbau und der Betrieb des Knoten 2 wird in dem US-Patent Nr. US-A-4,991,079 eingehend erläutert.
  • Knoten 3 kann Knoten 2 ähneln oder in anderer Form ausgebildet sein, z. B. als Verarbeitungseinheit wie Concept 32/2000, der ebenfalls von Encore Computer Corporation hergestellt und vertrieben wird. Es können wie beschrieben weitere Knoten, bis zu acht an der Zahl, ebenfalls mit einem Speicherkopplungsbus 46 verbunden werden, so dass die Speicher der Knoten durch den Datenübermittlungsabschnitt des Busses 46 mit einander verbunden sind, um die Speicher ohne Intervention der Prozessoren (CPU) der Verarbeitungseinheiten als Knoten im Wesentlichen gleichzeitig zu aktualisieren.
  • In einem spezifischen Beispiel des Vorstehenden ist Knoten 1 ein Model 91 der Encore 91 Serie, die für zeitkritische Anwendungen eine Architektur offener Systeme verwendet. Dieses symmetrische Multiprozessorsystem verwendet Hardwareplattformen nach Industrienormen, E/O-Schnittstellen sowie Betriebssystem und Anwendungssoftware Zur Verwirklichung deterministischer Echtzeitfähigkeit.
  • Die Hardwarearchitektur beruht auf dem Motorola 88100 32-Bit-RISC- Hochleistungsprozessor mit 25 MHz. Der Einplatinenrechner, der in den VME 9U Formfaktor implementiert ist, umfasst zwei oder vier 88100-Prozessoren mit unterstützendem Cachespeicher, 16 oder 65 MB eingebauten Speicher, zwei SCSI- Ports, einen Ethernet-Port, vier Synchronports, Echtzeituhr, acht Zeitglieder (wovon sieben programmierbar sind), acht direkt verbundene Unterbrechungspaare (ein und aus), einen Hochgeschwindigkeits-Lokalbus und einen Komfort-VME-Bus VME-64. Diese Hardwarearchitektur erzeugt aus dem VME-64 E/O-Bus einen unabhängigen Speicherbus, um eine deterministische Hochleistungssystemreaktion unabhängig von der E/O-Last zu gewährleisten. Die sieben programmierbaren Zeitglieder arbeiten bei 4 MHz und sind durch 2 bis 256 teilbar, um einen breiten Bereich an Zeitsteuerungsanforderungen zu erfüllen. Zusätzlich zu den normalen Unterbrechungen auf Systemebene liefern acht direkt verbundene Unterbrechungen eine schnelle Systemreaktion auf externe Vorgänge. Der Speicher kann mit externen Speicherplatinen bis auf 576 MB erweitert werden.
  • Das Betriebssystem ist das Echtzeit-UNIX von Encore, das leistungsstarke Softwarefähigkeiten nach Industrienorm bei gleichzeitiger Handhabung symmetrischen Multiprocessings liefert. Für eine noch anspruchsvollere Echtzeitleistung kann die Softwarearchitektur Gast-Echtzeitkerne liefern, die unabhängig von dem UNIX-Betriebssystem ausführen. Es sind verschiedene Implementierungen bzw. Compiler erhältlich, darunter C, FORTRAN und Ada. Für die Softwareentwicklung sind standardmäßige UNIX-Tools verfügbar. Auch ein vollständiger Satz CASE-Tools einschließlich Parasight für nichtintrusives Überwachen und Fehlerbeseitigen von paralleler Echtzeitanwendungssoftware ist erhältlich. Encore 91 erfüllt IEEE POSIX 1003.1 und den Binary Compatibility Standard (BCS) von 88open Consortium, Ltd.
  • Das Encore 91 umfasst als Zentralprozessor eine Einplatinen-CPU bestehend aus zwei (dual) oder vier (quad) eng gekoppelten 32-Bit-88100-RISC-Prozessoren der Marke Motorola mit 25 MHz. Die Prozessorplatine unterstützt eine symmetrische Multiprocessing-Anordnung, wodurch alle Prozessoren gleichen Zugriff zu den Systemressourcen haben. Der 88100-RISC-Prozessor erzeugt 51 Befehle, wovon die Mehrzahl in 1 Taktzyklus ablaufen. Die Befehle, die 1 Taktzyklus übersteigen, beispielsweise Speicherreferenz und Gleitpunkt, werden fließbandartig verarbeitet, was das parallele Ausführen anderer Befehle ermöglicht.
  • Die CPU unterstützt sieben Datenarten, einschließlich einfach- und zweifachgenauen IEEE-754 Gleitpunkt.
  • Das Motorola 88000 Family besitzt zwei logische sogenannte "dual-mapped" Adressräume zu 4 GB. Eine 4-GB-Fläche ist Anwenderraum, die andere ist der Betriebssystemraum. Dies trennt den Anwenderanwendungscode von der Betriebssystemumgebung.
  • Der auf der Prozessorplatine angeordnete Speicher umfasst 16 MB oder 64 MB unter Verwendung der 1-Megabit- bzw. der 4-Megabit-DRAM-Technologie. Alle Prozessoren haben gleichen Zugriff auf den Speicher.
  • Die Cache-Kohärenz wird unter Verwendung der 88200-Cache- /Speicherverwaltungseinheiten (CMMUs) von Motorola gewahrt, die eng mit jedem Prozessor gekoppelt sind. Die CCMUs überwachen den Lokalbus bei Schreibtakten um sicherzustellen, dass der Cachespeicher mit neuen Informationen aktualisiert wird, wenn Daten in dem Hauptspeicher geändert werden. Insgesamt sind 128 KB Cachespeicher auf dem System vorgesehen, die von den Prozessoren gemeinsam zu gleichen Teilen genützt werden; die Hälfte wird für Daten verwendet, die andere Hälfte wird für Befehle genutzt.
  • Speichererweiterungskarten können in Stückelungen von 16 MB, 64 MB oder 256 MB bis auf eine maximale Gesamtkapazität von 576 MB hinzugefügt werden. Mehrfache Speichererweiterungskarten erlauben den ineinandergreifenden Speicherzugriff von Platine zu Platine zwischen Platinen der gleichen Kapazität. Das Ineinandergreifen beschleunigt die Speicherzugriffszeit, wodurch der Durchsatz des Gesamtsystems verbessert wird. Ferner besitzt der Erweiterungsspeicher zwei Ports, um gleichzeitige problemlose Zugriffe des CPU-Lokalbusses und des VME-E/A auf den Hauptspeicher zu unterstützen.
  • Der Knoten 1 verwendet interne und externe Hochgeschwindigkeitsbusse. Der Lokalbus unterstützt die Kommunikation unter allen Elementen auf der Prozessorplatine und dem Erweiterungsspeicher bei einer Übertragungsgeschwindigkeit von 100 MB pro Sekunde. Dies erlaubt die Kommunikation mit dem externen Speicher- und Kopplungssystem 40 unabhängig von VME-E/A-Verkehr, wodurch der Determinismus des Prozessorspeicherverkehrs und der Gesamtdurchsatz des Systems erhöht wird.
  • Es sind zwei externe Hauptbusse nach Industrienorm implementiert: der SCSI-Bus und der VME-Bus. Duale SCSI-Busse werden als periphere Busse für Disketten und Bänder verwendet. Ein SCSI-Bus ist einpolig für Peripheriegeräte im Gehäuse; der andere ist an anderer Bus für längere Verkabelungsanforderungen. Beide Busse können asynchrone und synchrone Geräte unterstützen. Der VME-64-Bus 22 ermöglicht Blockmodus-Übertragungen bei gleichbleibenden Geschwindigkeiten von über 55 MB pro Sekunde.
  • Die HSD-Schnittstelle 28 ist für die Hochgeschwindigkeitsein- und ausgabe von Daten vorgesehen. Die HSD wird typischerweise Zur Verbindung zweier Systeme Rücken an Rücken verwendet oder dient als Schnittstelle zu Digitalinstrumenten, graphischen Geräten oder kundenspezifischen Geräten. Die HSD erzeugt eine 32 Bit breite, Halbduplex-Verbindung von Punkt zu Punkt. Die HSD kann in jeden VME- Steckplatz in dem Baugruppenträger eingesetzt werden; es können bis zu fünf hinzugefügt werden.
  • Die Schnittstelle 40 des Speicherverbindungssystems wird zur Schaffung größerer dezentraler heterogener Systeme verwendet, die aus mehrfachen Encore 90 Family und CONCEPT/32 Systemen bestehen. Es können bis zu acht Systeme unter Verwendung eines einfachen Speicherkopplungsbusses 46 mit 26 MB pro Sekunde mit einander verbunden werden.
  • Das System 40 verfügt über drei Ports für maximale Verbindungsmöglichkeit und hohe Leistung. Ein Port verbindet zu dem Lokalbus 24, der andere zu dem VME-Bus 33 und der dritte zu dem Speicherkopplungsbus 46. Die Karte des Systems 40 kann in jeden beliebigen freien Steckplatz geschoben werden, wenngleich eine Lokalbusverbindung maximale Leistung ermöglicht. Das System 40 kann eine Speicherkapazität von 4 oder 16 MB aufweisen.
  • Die Prozessorplatine umfasst vier asynchrone Ports. Zwei sind für Verwendung durch den Bedienungsplatz und für einen der Diagnose dienenden Fernport vorgesehen. Die Hauptkommunikationsverbindung erfolgt über den auf der Prozessorplatine enthaltenen Ethernetport nach Standard IEEE-802.3. Anwenderendgeräte binden unter Verwendung eines von Encore gelieferten Annex -Endgerätservers, der sich auf dem lokalen Ethernet-Flächennetzwerk befindet, an den Knoten 1 an. Endgerätanwender kommunizieren unter Verwendung von Protokollen und Anwendungen nach der Norm TCP/IP über das Netzwerk.
  • Der Knoten 1 kann ein Network File System (NFS ) nach Industrienorm enthalten. Dies ermöglicht Zugriff zu Dateien auf Fernsystemen. Der Knoten 1 kann als NFS- Server (um anderen Dateien zu liefern) oder als Dienstanforderer (um Dateien, die sich auf anderen Systemen befinden, zu verwenden) dienen. NSF verwendet den Standard-Ethernetport.
  • Der Knoten 1 setzt ein standardmäßiges Vorgehen gegenüber Peripheriegeräten ein, wobei er Peripheriegeräte mit 5 ¹/&sub4; Zoll Formfaktor nach Industrienorm verwendet, die in einer SCSI-Chassis befestigt sind. Hierzu gehören 300 MB, 500 MB und 1,0 GB Disketten und ein ¹/&sub4;-Zoll Magnetbandkassettenlaufwerk. Das Kassettenlaufwerk verwendet die von der Branche festgelegten QIC-Bandformate. Es können insbesondere QIC-320, -150 und -120-Formate beschrieben und gelesen werden. Die nach der älteren QIC-24-Norm bespielten Bänder können gelesen werden. Es ist auch eine 8 mm Magnetbandkassette erhältlich, die 2, 3 GB Daten speichert. Die in dem SCSI-Chassis eingesteckten Peripheriegeräte können ohne Absenkung der Hauptprozessorleistung vom System genommen werden. Bei Disketten ermöglicht dieses Merkmal das Entnehmen privater Daten zur sicheren Speicherung.
  • Als Alternative für eine Magnetbandkassettenspeicherung kann ein standardmäßiges Neunspur-Bandlaufwerk dreifacher Dichte verwendet werden. Dies ist ein 125-Ips- Laufwerk mit Frontladezugriff. Für Gehäusekonfigurationen kann das Bandlaufwerk in dem Prozessorgehäuse oder in einem Peripheriegerätgehäuse untergebracht werden. Für Tower-Konfigurationen ist ein Tisch-Bandlaufwerk verfügbar.
  • Für den Bedienungsplatz gibt es zwei Möglichkeiten. Das Gerät auf Eingabeebene verwendet ein Endgerät geringer Funktionalität an einem der zwei asynchronen Ports an der Prozessorplatine. Die Steuerung der mehrfachen vernetzten Systeme der 91 Series von einem Gerät aus kann unter Verwendung eines PC-artigen Endgeräts erhalten werden, das mit dem Ethernetport verbunden ist.
  • Ein Laserdrucker mit 12 Seiten pro Minute kann als Peripheriegerät integriert werden.
  • Unter Bezug insbesondere auf das Kopplungssystem 40 und den Bus 46 wird auf die Fig. 2 und 3 verwiesen. Die Architektur des Speicherkopplungssystems 40 und des Busses 46 liefert eine effiziente Kopplung mehrfacher Prozessorknoten für zeitkritische Anwendungen. Diese Architektur ermöglicht das gemeinsame Nützen von Daten durch verschiedene Verarbeitungsknoten in einem dezentralen Rechnersystem über eine parallele Echtzeit-Hochgeschwindigkeitsverbindung zwischen den physikalischen Speichern der Knoten. Sie bietet auch die vollen Vorteile eines gemeinsamen Speichers, aber ohne die nicht-deterministischen Zugriffslatenzzeiten, die sich in den meisten herkömmlichen Multiprozessorsystemen mit gemeinsamem Speicher finden.
  • Das Speicherkopplungssystem 40 ist in einer Einfachplatine integriert. Als spezifisches Beispiel kann die Platine eine 9U-Formfaktor-VME-Platine mit 4 oder 16 Megabyte Speicher auf der Platine sein. Normalerweise benötigt die Platine einen einfachen Lokalbus-Steckplatz in der VME-Chassis. Ist Prioritätsverkettung erforderlich (Verwendung von abwechselnden Prioritätsverkettungskabeln), ist für den Kabeladapter ein zweiter Steckplatz (Lokalbus-Steckplatz oder VME-Steckplatz) erforderlich. Die komplette Hardwarebaugruppe umfasst vier Kabel Zur Verbindung der Platinen. Die Speicherkopplungsbus-Schnittstelle kann bis zu acht Knoten unterstützen. Geschirmte Kabel für Verbindungen zwischen Knoten, wie zum Beispiel Systeme der Encore 91 Series, würden sich bis zu einer Länge von 38 m erstrecken.
  • Die MCS 40 Platine besitzt drei Ports, mit je einem Port 44, 42 und 48 zu dem erweiterten Lokalbus 24, dem VME-64 Bus 22 und dem Speicherkopplungsbus 46. Der MCS-Echtzeit-Verbindungsabschnitt ist der Speicherkopplungsbus 46 (MC-Bus). Der MC-Bus enthält 28-Bit-Adress- und 32-Bit-Datenbahnen mit Daten- und Adressparität und Steuersignalen. Die MCS-Platine 40 erzeugt die erforderliche Logik, um den Knoten der Encore 91 Series mit dem MC-Bus 46 zu verbinden. Die Platine enthält entweder 4 oder 16 MB DRAM mit drei Ports, welche als Globalspeicher für alle Knoten in der MCS-Konfiguration dient. Der Speicher auf der Platine macht das Hinzufügen einer Speichererweiterung bei minimal konfigurierten Systemen unnötig.
  • Das System ermöglicht es bis zu acht Knoten, eine lokale Kopie einer gemeinsamen Speicherfläche zu halten, wobei die Daten in dieser Fläche allen durch den MC-Bus 46 verbundenen Knoten gemeinsam sind. Jeder Knotenprozessor hat unbeschränkten Zugriff auf seine gemeinsame Speicherfläche, da die Kopie in dem separaten physikalischen Speicher in jedem Knoten aufrechterhalten wird. Speichereinschreibvorgänge in ausgewählte oder vorbestimmte Speicherbereiche oder Adressen werden von dem MC-Bus-Steuergerät erfasst und zu den separaten physikalischen Speichern an jedem Knoten über den MC-Bus 46 gespiegelt.
  • Diese Architektur erzeugt eine Hochgeschwindigkeitsspeicherverbindung mit niedrigen Latenzzeiten zwischen dem Knoten der Encore 91 Series und anderen Systemen der Encore 90 Family, die mit einem MCS ausgestattet sind, Encore CONCEPT/32 Systemen, die mit einem MCS ausgestattet sind, und Encore CONCEPT 32/2000 Systemen, die mit einem sogenannten Reflective Memory System (RMS) ausgestattet sind, das im MCS-Modus arbeitet.
  • Fig. 1 zeigt den Speicherkopplungsaufbau zwischen drei derartigen Encore Systemen: Knoten 1 ist hier ein Encore 91 Series System, Knoten 2 ist ein Encore CONCEPT/32 System und Knoten 3 kann ein Encore CONCEPT 32/2000 System sein, deren Portspeicher mittels Schreibe/Lesesensoren alle mit dem Bus 46 verbunden sind.
  • Das Speicherkopplungssystem 40 enthält die folgenden Subsysteme, siehe Fig. 2 und 3.
  • Eine Lokalbus-Schnittstelle 60 oder eine Lokalbus-Slave-Schnittstelle kann einem Prozessor 20 auf dem Lokalbus 24 die Übertragung von Daten zu dem MC-Bus 46 oder den Zugriff auf den MCS-Globalspeicher 62 auf der Platine ermöglichen. Da der Lokalbus 24 paritätsgeschützt ist, prüft diese Schnittstelle die Parität an den Adress- und Datenleitungen.
  • Eine VME-Bus-Schnittstelle 64 oder eine VME-Slave-Schnittstelle kann eine 32-Bit- Schnittstelle mit Erweiterungen sein, um eine 64 Bit breite Datenbahn während der Blockdatenübertragungen zu erzeugen. Diese Schnittstelle ermöglicht es einem Prozessoran dem VME-Bus, Daten zu dem MC-Bus 46 zu übertragen oder auf den MCS-Globalspeicher 62 auf der Platine zuzugreifen. Da der VME-Bus 22 Parität nicht unterstützt, erzeugt die MCS 40 Parität, bevor sie Daten in ihrem RAM auf der Platine speichert.
  • Eine Speicherkopplungsbus-Schnittstelle 66 kann die gesamte Zuteilung und Steuerung des MC-Busses 46 durchführen. Die MC-Zuteilungslogik ist nur auf dem als Zuteilerknoten gewählten Knoten aktiv. In diesem Fall steuert die MCS-Platine 40 die Zuteilung des MC-Busses 46 für alle Knoten an dem gleichen MC-Bus. Die Steuerungslogik dividiert die MC-Bus-Zeit gleichmäßig unter den anfordernden Knoten auf. Die Ansteuerung einer Anforderungsleitung eines Knoten zeigt, dass der Knoten den MC-Bus 46 benötigt. Die MC-Schnittstelle 66 kann zu Diagnosezwecken eine externe Rückkopplungsfähigkeit vorsehen.
  • Die MC-Bus-Schnittstelle 66 enthält separate Steuergeräte für das Lesen von und Einschreiben in den MC-Bus 66. Das MC-Bus-Schreib-Steuergerät 70 überwacht die Speichereinschreibtransaktionsadresse und das Sendeumsetzungs-RAM (zur Versetzung der Umsetzungsadresse auf dem MC-Bus 46). Das Schreib-Steuergerät 70 erzeugt für Adresse wie auch für Daten Parität. Das MC-Bus-Lese-Steuergerät 72 überwacht den Verkehr an dem MC-Bus und empfängt Umsetzungs-RAM zum Versetzen der Empfangsadresse. Das Lese-Steuergerät 72 prüft die Parität an der Adresse, prüft aber nicht die Datenparität.
  • Eine Globalspeicher- und Steuerungslogik 76 mit einem Globalspeicher auf der Platine ist in Konfigurationen zu 4 und 16 Mbyte erhältlich und Zugriff ist auf sie durch alle drei Bus-Ports 42, 44 und 48 zu dem Lokalbus 24, VME-Bus 22 und MC- Bus 46 möglich. Die Steuerungslogik teilt die Anforderungen jedes Ports zu. Die Steuerungslogikregister erzeugen Steuerungs- und Zustandsinformationen für die MCS-Platine 40 und jede der Bus-Schnittstellen. Auf diese Register kann durch einen VME-Kurzadressenraum (A16) zugegriffen werden.
  • Die Lokalbus-Schnittstelle 60 kann den Zwischenspeicher zwischen dem MCS- Globalspeicher 62 und dem Lokalbus 24 erzeugen. Die Lokalbus-Schnittstelle 62 nimmt beispielsweise die folgenden Datenübertragungen an: D8 (Byte), D16 (Wort) und D32 (Langwort). Die Schnittstelle nimmt auch stoßweise Lese- und Schreibübertragungen (32 Bit) des Speicherbusses (M-Bus) an. Die Parität wird sowohl bei den Adressen als auch den Daten geprüft.
  • Die MCS 40 kann nur die VME-Bus-Slave-Funktionalität vorsehen, wodurch die VME-Bus-Master direkt auf den Speicher 62 auf der Platine zugreifen können. Die VME-Bus-Slave-Schnittstelle 64 nimmt beispielsweise die folgenden Datenübertragungen in Standard- und Erweiterungsübertragungsmoden an: DO8 (O) (nur ungerade Byte), D08 (EO):BLT (gerade und ungerade Byte), D16:BLT, D32:BLT und D64:BLT. Die Schnittstelle unterstützt nicht Datenübertragungszyklen des Lesens mit modifiziertem Rückschreiben (RMW).
  • Die Schnittstelle 64 kann VME-Bus-Zyklen mit Adressen zu 16 Bit (kurz), 24 Bit (Standard) und 32 Bit (erweitert) annehmen. Kurzadressen greifen auf die Steuerungs-/Zustands- und Konfigurationsregister zu; Standardadressen und erweiterte Adressen greifen auf den MCS-Speicher 62 auf der Platine zu.
  • In dem gerade beschriebenen Beispiel kann die MCS-Hardware 40 Adressmodifiziercodes zur Ermittlung von Übertragungsarten und Adresslängen verwenden. Die MCS 40 erkennt beispielsweise die folgenden
  • Adressmodifiziercodes:
  • Kurzadresse (A16) 29, 2D
  • Standardadresse (A24) 39, 3B, 3D, 3F
  • Erweiterte Adresse (A32) O9, OB, OD, OF
  • VME-64-Blockübertragungsmodus (VME-64 BLT) 19, 1B, 1D, 1F
  • Die MCS-Platine in dem Beispiel kann sowohl VME32- als auch VME64- Blockübertragungsmoden unterstützen. Blockübertragungszyklen sind nützlich, wenn ein VME-Bus-Master auf mehrere Globalspeicherplätze in aufsteigender Reihenfolge zugreift. Der VME-Bus-Master erzeugt eine Einfachadresse und greift dann auf Daten in diesem Speicherplatz und folgenden höheren Speicherplätzen zu, ohne zusätzliche Adressen zu liefern.
  • Die VME-Bus-Slave-Schnittstelle 64 kann beispielsweise Lese- /Schreibübertragungen der Datenarten D8 (Byte), D16 (Wort) und D32 (Langwort) im VME32-Blockmodus annehmen. Die Schnittstelle nimmt auch Lese- /Schreibübertragungen von 64-Bit-Daten im VME64-Blockmodus gemäß der VME64 Spezifikation von Performance Technologies, Inc. an. Wenn der VME-Bus-Master bei einer der Übertragungsarten eine 256-Byte-Schwelle überschreitet, gibt die MCS- Platine 40 beispielsweise einen Busfehler aus.
  • Da der VME-Bus separate Adress- und Datenleitungen besitzt, kann der VME-Bus- Master die Adresse für den nächsten Zyklus an alle weitergeben, während die Datenübertragung für den vorherigen Zyklus noch läuft. Dies nennt man Adressenfließbandverarbeitung. Die Slave-Schnittstelle des MCS-VME-Busses 64 setzt beispielsweise Adressenfließbandverarbeitung gemäß der VME-Bus- Spezifikation, Überarbeitung C.1, Genehmigung 2.8 ein.
  • Die MCS-Platine 40 kann eine Unterbrechung auf jeder der sieben VME-Bus- Unterbrechungsanforderungsleitungen erzeugen. Der MCS-VME-Bus-Unterbrecher kann die Adressleitungen niedrigerer Ordnung und die IACKING/IACKOUT- Prioritätskette überwachen, um zu ermitteln, ob seine Unterbrechung quittiert wird. Der Unterbrecher kann auf Unterbrechungsquittierzyklen mit 16 Bit durch Erzeugen eines Zustands/ID-Signals an den Datenleitungen reagieren. Der Quittiermodus, der von der MCS-Platine eingesetzt werden kann, ist Freigabe bei Quittierung (ROAK)- die Unterbrechungsanforderungsleitung (IRQn) wird freigegeben, wenn der Unterbrechungsverwalter einen Unterbrechungsquittierzyklus erzeugt.
  • Die Schnittstelle 66 des MC-Busses kann den Zwischenspeicher zwischen dem MCS-Globalspeicher 62 und dem MC-Bus 46 vorsehen. Die Schnittstelle 66 des MC- Busses kann zwei Steuereinheiten 70 und 72 enthalten, die Lese- und Schreibfunktionen für die Schnittstelle durchführen, wobei jede Steuereinheit einen separaten FIFO-Zwischenspeicher unterhält.
  • Die MC-Schreib-Steuereinheit 70 erfasst Globalspeicher-Schreibübertragungen in den gespiegelten Speicheradressbereich, bildet Sendeadressen ab und speichert Speicherkopplungsübertragungen zur Übertragung über den MC-Bus 46 zwischen. Die MC-Lese-Steuereinheit 72 erkennt Speicherkopplungsübertragungen in dem Globalspeicheradressbereich, bildet Empfangsadressen ab, speichert empfangene Speicherkopplungsübertragungen zwischen und liefert Zustandsüberwachung und Meldungen an die MCS-Platine 40.
  • Die MC-Schreib-Steuereinheit 70 und die MC-Lese-Steuereinheit 72 können jeweils aus 2048 Fenstern mit 8 Kbyte Granularität bestehen. Jedes Fenster kann eine Umsetzungsadresse zur Modifizierung der oberen Bits einer hereinkommenden Adresse und ein einziges Bit zur Anzeige, ob ein Fenster offen oder geschlossen ist, enthalten. Die Steuereinheiten können die oberen Bits einer Speicher-Schreib- oder Leseadresse verwenden, um zu bestimmen, ob ein Sende(Schreib)fenster oder Empfangs(Lese)fenster offen ist. Wenn das Fenster offen ist, ersetzt die Steuereinheit die oberen Adressbits mit der umgesetzten Adresse.
  • Die MC-Lese-Steuereinheit 72 kann eine VME-Bus-Unterbrechung erzeugen und eine Zustands-LED aufleuchten lassen, wenn eine dieser Bedingungen eintritt: ein Paritätsfehler an einer oder mehreren der MC-Bus-Adressenbytes, ein MC-Bus- Adressenhinweis auf einen nicht existenten Speicherplatz oder eine Schreibubertragung, die zu einem Überlaufen eines FIFO-Zwischenspeichers führt.
  • Die MC-Schreib-Steuereinheit 70 kann einen Sende-FIFO-Zwischenspeicher aufrechthalten; die MC-Lese-Steuereinheit 72 kann einen Empfangs-FIFO- Zwischenspeicher aufrechterhalten. Der Sende-FIFO-Zwischenspeicher kann 64 Reihen tief und 64 Bits breit sein, wobei jede Reihe 32 Datenbits, 24 Adressbits, 7 Paritätsbits und ein Byteübertragungsbit speichert. Der Empfangs-FIFO- Zwischenspeicher kann 64 Reihen tief und 72 Bits breit sein, wobei jede Reihe 32 Datenbits, 28 Adressbits, 8 Paritätsbits und ein Byteübertragungsbit speichert.
  • Der Sende-FIFO-Zwischenspeicher kann die Daten und Speicheradressen von dem VME-Bus 22 oder dem Lokalbus 24 halten, bis sie zu dem MC-Bus 46 übertragen werden können. Die MC-Schreib-Steuereinheit 70 kann für jedes Adress- und Datenbyte Parität erzeugen, bevor es in den FIFO-Zwischenspeicher gegeben wird. Der FIFO-Zwischenspeicher kann weitere Einschreibungen in den gespiegelten Speicherbereich verhindern, sobald die Anzahl der FIFO- Zwischenspeichereinschreibungen um 56 über der Anzahl der FIFO- Zwischenspeicherlesungen liegt (Fast-voll-Zustand). Der FIFO-Zwischenspeicher kann weitere Einschreibungen verhindern, indem er die Übertragung an dem VME- Bus 22 nicht quittiert (kein DTACK-Signal) oder einen Wartestatus an dem Lokalbus erzeugt.
  • Der Empfangs-FIFO-Zwischenspeicher kann die Daten- und Speicheradressen von dem MC-Bus 46 halten, bevor sie in den Globalspeicher übertragen werden. Jedes Adressen- und Datenbyte an dem MC-Bus 46 kann ein Paritätsbit aufweisen. Die MC-Lese-Steuereinheit 72 kann die Adressparität prüfen, bevor die Adresse in den FIFO-Zwischenspeichergegeben wird, und die Daten in dem FIFO- Zwischenspeicher speichern, ohne ihr Paritätsbit zu prüfen. Wenn die MC-Lese- Steuereinheit 72 einen Adressparitätsfehler feststellt, kann es die Übertragung sowohl der Adresse als auch der Daten zu dem FIFO-Zwischenspeicher unterdrücken. Der FIFO-Zwischenspeicher kann weitere MC-Bus-Einschreibungen in den Speicherkopplungsbereich verhindern, sobald die Anzahl der FIFO- Zwischenspeicher-Einschreibungen um 56 über der Anzahl der FIFO- Zwischenspeicher-Lesungen liegt. Der FIFO-Zwischenspeicher kann weitere Übertragungen an dem MC-Bus 46 verhindern, indem er das MC-Bus Belegtsignal ansteuert, wodurch ein Überfließen eines FIFO-Zwischenspeichers verhindert wird.
  • Die MCS-Platine 40 kann 4 Mbytes oder 16 Mbytes des paritätsgeschützten Globalspeichers mit separaten Ports zu dem Lokalbus, VME-Bus und MC-Bus enthalten. Dieser Speicher kann in drei Bereiche unterteilt sein: privater Speicher, Sendespiegelspeicher und Empfangsspiegelspeicher. In den Sendespiegelspeicherbereich eingeschriebene Daten können oder werden an dem MC-Bus 46 gespiegelt, so dass an dem MC-Bus 46 ein einziger gemeinsamer Speicherraum für alle Prozessoren gebildet wird (auch wenn er ein separater physikalische Speicher bleibt). Alle von dem MC-Port 42 empfangenen Daten werden in dem Empfangsspiegelspeicherbereich gespeichert. Die Globalspeicher- Basisadressen für die Lokalbus- und VME-Bus-Adressräume können softwareprogrammierbar sein; die Globalspeicher-Basisadresse des MC-Bus-Adressenraums ist vorzugsweise immer 0.
  • Die 4-Mbyte-MCS-Platine 40 kann beispielsweise 80-Nanosekunden DRAMS mit 1- Mbit, die als 256Kx4 angeordnet sind, verwenden; die MCS-Platine 40 mit 16 Mbyte kann 80-Nanosekunden-DRAMS mit 4 Mbit, die als 1Mx4 angeordnet sind, verwenden. Der DRAM ist in zwei Gruppen unterteilt, wobei jede 2-Mbyte-Gruppe eine 64 Bit breite Datenbahn liefert. Dies ermöglicht während des VME64- Blockübertragungsmodus die Speicherung von 64-Bit-Daten in einem Zyklus. Jede Gruppe hat auch 8 Bit Paritätsinformationen, eine pro Byte, die separat in einem 1Mx1 DRAM gespeichert sind. Die Verwendung von DRAMS mit seitenweisem Betrieb verringert die Lese- und Schreibzykluszeiten für die zweiten bis n-ten Zugriffe während der VME-Bus-Blockübertragungart und der stoßweisen Lokalbus- Übertragungsart.
  • Die MCS-Platine 40 kann ein priorisiertes Zuteilungsschema verwenden, um gleichzeitige Lese-/Schreibzugriffe auf den Speicher zu lösen. Während einer stoßweisen Übertragung darf nur der Port, der die Übertragung durchführt, auf den Globalspeicher zugreifen - die MCS-Platine 40 gestattet keinem der anderen zwei Ports Zugriff.
  • Bei eingehender Betrachtung von Fig. 3 ist der VME-Bus 22 mittels des Ports 42 mit der VME-Bus-Schnittstelle 64 verbunden. Daten-, Steuerungs- und Adress- Sender/Empfänger einschließlich der Register 80 überwachen den Bus 22. Der Paritätsgenerator und -prüfer 80 ist mit dem Datenteil der Register 80 verbunden, deren Datenausgabe mit dem Data XBAR 84 in dem gemeinsam benutzten Speicher/Multiplexer 76 verbunden ist. Der Steuerungsabschnitt bzw. die Register 80 sind mit der VME-Adressdekodierung und -Zuteilung 86 verbunden. Der Adressabschnitt der Register 80 ist gemeinsam mit dem VME-Kurzadressdekodierer 88 und dem BLT-Zähler 90 und ebenso gemeinsam mit dem MUX 92 in der MCS- Schreib-Steuereinheit 70 und der VME-Adressdekodierung 86 und der gemeinsam benutzten Speicheradresse MUX 94 verbunden, deren Ausgang mit dem Speicher 96 verbunden ist. Data XBAR 84 ist ebenso mit dem Speicher 96 verbunden. Die VME-Basisadresse 98 ist mit der VME-Adressdekodierung 86 verbunden, um eine Adressbereichssteuerung zur Hand zu geben.
  • Der Speicher 96 ist mit der Byte-Ausrichtung 100 in der Steuereinheit 70 verbunden, welche wiederum mit dem Datensende-FIFO 102 verbunden ist. MUX 92 ist mit dem Adressensende-FIFO 104 mittels des Paritätsgenerators 106 verbunden und das Sendefenster 108 ist mit MUX 92 verbunden und verbindet wiederum mit der Sendesteuerung 110, dem Paritätsgenerator 106 und dem Adressensende-FIFO 104. Die Steuerung 110 ist ebenfalls mit dem FIFO 104 verbunden. Die FIFOs 102 und 104 und die Steuerung 110 sind jeweils mit den entsprechenden Abschnitten der Ausgaberegister 112 in der MC-Bus-Schnittstelle 66 und der Ausgang über den Port 48 mit MC-Bus 46 verbunden.
  • Der Lokalbus 24 ist über den Port 44 mit den Registern 120 mit Adresse, Steuerung und Datenabschnitten in der Schnittstelle 60 verbunden. Der Adressabschnitt ist mit dem Paritätsprüfer 122 und dem Lokalbus-Adressdekodierungsabschnittdes Zuteilers 86 verbunden. Der Steuerungsabschnitt ist ferner mit dem Zuteiler 86 verbunden, der auch mit der Lokalbus-Adresse 124 verbunden ist, um eine Adressbereichsteuerung zu ermöglichen. Der Datenabschnitt der Register 120 ist mit Data Xbar 84 über den Paritätsprüfer 126 verbunden. Die gemeinsame Speicheradresse MUX 94 ist gemeinsam mit dem Adressabschnitt der Register 120 und der Lokalbus-Adressdekodierung des Zuteilers 86 verbunden.
  • Das Lese-Steuergerät 72 nimmt als seinen Eingang den Ausgang der Überwachungsregister 112 des MC-Busses 46. Der Adressabschnitt der Register 112 ist gemeinsam mit dem Empfangsfenster 130 und dem Addressempfangs-FIFO 132 und dem Paritätsprüfer 134 verbunden. Der Datenabschnitt der Register 112 ist mit der Byte-Ausrichtung 126 verbunden, welche wiederum mit dem Daten- Empfangs-FIFO 138 verbindet. Das Empfangsfenster 130 verbindet mit der Empfangssteuerung 140, welche mit dem Unterbrechungszustandsreg. 142 und dem Zuteiler 86 verbindet. Der Steuerungsabschnitt der Register 112 verbindet mit der Empfangssteuerung 140. Das Empfangsfenster 130 verbindet mit dem Adressempfangs-FIFO 132. Die Arbeitsweise der Vorrichtung wurde vorstehend beschrieben.
  • Aus dem Obigen geht hervor, dass der E/A über den VME-Bus 22 und den Port 42 direkt zu dem Speicher auf der Platine 40 des Speicherkopplungssystem und dann hinaus über den Port 48 zu dem Speicherkopplungsbus 46 zu jedem mit dem Bus 46 gekoppelten Knoten speisen kann. Dies ermöglicht ein Spiegeln von Daten, z. B. einer Datenbank auf einer Diskette oder in einem Netzwerk oder anderen Kommunikationsmitteln, in einen vorgewählten Speicher in einem beliebigen Knoten. Der VME-Bus 22 wird, wie erläutert, durch die Adresse formatiert (Speicherbereichszuordnung) und daher kann der E/A-Ausgang an dem Knoten 1 entweder an den Prozessor 20 oder das Speicherkopplungssystem 40 adressiert werden. Da der Globalspeicher bzw. das Empfangsfenster 130 (siehe Fig. 3)jedes Systems 40 mit einem Adressbereich initialisiert werden kann, der durch den Prozessor 20 eingestellt werden kann, kann der E/A-Ausgang auf jeden Knoten X gelenkt werden. Der Port 44 wird zur Eingabe und Ausgabe von Daten von dem System 40 verwendet.
  • Unter Bezug auf Fig. 4 ist nun eine bekannte Hochgeschwindigkeitsdatenschnittstelle 28 auf dem VME-Bus 22 wie beschrieben gekoppelt. Die Daten an dem VME-Bus 22 werden über die Hochgeschwindigkeitsdatenschnittstelle 28 zu einer ähnlichen Hochgeschwindigkeitsdatenschnittstelle 200 geleitet, die an einen anderen VME-Bus oder SEL-Bus 202 gekoppelt ist, um Daten von einem System zu einem anderen derartigen System zu übertragen, wie dies in Fig. 1 dargestellt ist. An dem Bus 202 sind ein Prozessor 204, E/A-Steuereinheiten 206 und andere periphere Geräte gekoppelt, die jeweils durch Block 208 angezeigt sind.
  • Die Hochgeschwindigkeitsdatenschnittstelle 28 kann eine parallele Hochgeschwindigkeitsdatenschnittstelle mit 32 Bit (HSD) sein und dient als Hochleistungs-DMA-Schnittstelle auf VME-Basis. Die HSD 28 verbindet zwei Systeme Rücken an Rücken oder dient als Schnittstelle zu digitalen Instrumenten, Grafikgeräten oder E/A-Vorgeräten. Die HSD 28 kann eine 32 Bit breite Halbduplex- Verbindung von Punkt zu Punkt zur Hand geben.
  • Eine typische komplette HSD 28 Baugruppe kann eine VME-Platine mit 6U Formfaktor auf einer 9U VME-Adapterkarte und die entsprechenden Softwaretreiber umfassen. Die HSD-Platine würde einen einzigen Lokalbus oder einen Steckplatz allein für VME in dem VME-Baugruppenträger einnehmen. Die HSD kann zwei Steckverbinder mit 50 Stiften verbinden, mit je einem Steckverbinder für Daten- und Steuersignale, wobei die Kabel von der Vorderseite der Platine austreten. Die HSD- Hardware erfüllt die VME-Spezifikation Rev. C. In Längen von 16 und 32 Meter erhältliche Verlängerungskabel können ggf. verwendet werden.
  • Die HSD 28 kann eine externe Funktion (EF) und Inter Bus Link Betriebsmoden (IBL) anbieten, wobei die Software das Schalten der Moden steuert. Typische IBL- Verbindungen umfassen beispielsweise zwei oder mehr Encore 91 Series oder CONCEPT/32 Systeme (siehe Fig. 4). Ein einziges Encore 91 Series System kann simultan bis zu fünf HSD-Geräte unter Verwendung verfügbarer Steckplätze in dem VME-Baugruppenträgerunterstützen.
  • Bei Verbindungen von VME-Bus zu VME-Bus muss ein Prozessor 32-Bit- Übertragungen in den kurzen E/A-Adressraum unterstützen. Während die Prozessoren der Encore 91 Series MC88100 diese Anforderung unterstützen, ist dies eventuell bei manchen Prozessoren nicht der Fall.
  • Unter Bezug auf Fig. 5 integriert die HSD 28 eine DMA-Steuereinheit 210, einen Busunterbrecher 212 und einen VME-Bus-Adressmodifikator 214, die jeweils programmierbar sind. Die HSD 28 verwendet den kurzen E/A-Adressraum des VME für Registeradressierung auf der Platine.
  • Der Ausgang des Busunterbrechers 212 liefert die gewöhnlichen HSD-Steuersignale und der Unterbrecher 212 ist mit den Adressmodifikatoren 214 und der Steuereinheit 210 gekoppelt. Die HSD-Daten werden von der Steuereinheit 210 mit der erforderlichen Adressmodifikation für eine Kompatibilität mit der HSD des anderen Systems ausgegeben.
  • Die HSDI ist speicherbereichsorientiert, das heißt adressorientiert und nicht E/Aorientiert. Sie benötigt spezifische Adressbefehle von dem Prozessor, um einen Adressbereichskomparator zu betreiben oder einzustellen. Die HSDI arbeitet in verschiedenen Moden; sie bildet eine 32-Bit-Schnittstelle, die Daten plus Adresse oder einfach nur passierende oder parallel entnommene Daten weiterleitet. Sie arbeitet in verschiedenen Moden, die von dem Prozessor eingestellt werden. Nachfolgend wird das System der vorliegenden Erfindung weiter beschrieben, unter spezieller Betonung der funktionalen Aspekten. Wie bereits erwähnt enthält die Platine 40 vier Megabyte paritätsgeschützten Globalspeicher, die auf 16 MB erweiterbar sind. Dieser Globalspeicher hat drei Ports: den Lokalbusport 44, den VME-Bus-Port 42 und den MC-Busport 48. Dadurch können alle Prozessoren direkt auf den Globalspeicherzugreifen. Die Basisadresse des Globalspeichers an dem Lokal- und VME-Bus-Adressraum ist über Software programmierbar. Die Basisadresse des Speichers an dem MC-Busadressraum ist immer Null. Der Speicher kann in drei Bereiche unterteilt sein, privater Speicher, Sendespiegelspeicher und Empfangsspiegelspeicher. In den Sendespiegelspeicherbereich eingeschriebene Daten werden an dem MC-Bus 46 gespiegelt, so dass ein gemeinsamer Speicherraum für alle CPUs gebildet wird, auch wenn er eigentlich ein separater physikalische Speicher ist. Von dem MC-Port empfangene Daten werden in dem Empfangsspiegelspeicherbereich gespeichert.
  • Die Platine 40 kann ein 80 ns dynamisches RAM mit Megabit (256Kx4) verwenden, um 4 Mbytes Globalspeicher zu implementieren. Der Aufbau der Platine 40 kann die Erweiterung des Globalspeichers auf 16 Mbytes unter Verwendung von 1Mx4 DRAMs ermöglichen. Der DRAM ist in zwei Gruppen unterteilt, wobei jede Gruppe aus 2 Mbytes Speicher besteht. Jede Gruppe hat eine 64 Bit breite Datenbahn. Dies ermöglicht während des VME64-Blockubertragungsmodus die Speicherung von 64- Bit-Daten in einem Zyklus. Jede Gruppe hat auch 8 Bit Paritätsinformationen, eine pro Byte. Das Paritätsbit wird separat in einem 1Mx1 DRAM gespeichert sind. Die Speicherorganisation wird in Fig. 6 gezeigt.
  • Die Verwendung von DRAMS mit seitenweisem Betrieb verringern sich die Lese- und Schreibzykluszeiten für die zweiten bis n-ten Zugriffe während der VME-Bus- Biockübertragungsart und der stoßweisen Lokalbus-Übertragungsart.
  • Da der Globalspeicher drei Ports besitzt, kann das System 40 ein prioritätsgesteuertes Zuteilungsschema zur Lösung des simultanen Lese- /Schreibzugriffs des Speichers verwenden. In dem gewählten Prioritätsschema würde dem VME-Bus 22 die niedrigste Priorität zugeteilt werden. Die Priorität des Lokal- und MC-Busses sind dynamisch. Der Lokalbus 24 würde gegenüber dem MC- Bus 46 die höhere Priorität haben, solange die Empfangs-FIFOs des MUC-Busses weniger als halb voll sind, doch sobald die Empfangs-FIFOs des MC-Busses halb oder mehr als halb voll sind, würde der MC-Bus gegenüber dem Lokalbus die höhere Priorität aufweisen.
  • Während der stoßweisen Übertragung werden den anderen zwei Ports solange nicht Globalspeicherzugriffe gewährt, bis die Anforderung der stoßweisen Übertragung an den gerade auf den Globalspeicher zugreifenden Port erfüllt ist.
  • Zur Funktion der MC-Schreib-Steuereinheit 70 gehört:
  • Feststellung von Globalspeicher-Schreibübertragungen in den gespiegelten Speicheradressbereich;
  • Abbildung der Sendeadresse;
  • Zwischenspeichern der gespiegelten Speicherübertragung zur Sendung über den MC-Bus 46.
  • Der Sendezwischenspeicher-FIFO 102,104 ermöglicht Zwischenspeichern von Daten und Speicheradresse von dem VME-Bus 22 oder dem Lokalbus 24, bis diese auf den MC-Bus 46 übertragen werden können. Der FIFO ist 64 Bits tief und 64 Bits breit für 32 Datenbits, 24 Adressbits, 7 Paritätsbits und ein Byteübertragungsbit. Die Parität wird für jedes Adress- und Datenbyte am MC-Bus 46 übertragen. Die Parität wird erzeugt, bevor die Daten und die Adresse in den FIFO getaktet werden.
  • Wenn die FIFO-Einschreibungen die FIFO-Lesungen um 56 übersteigen, erzeugt der FIFO 102,104 den Nahezuvoll-Zustand. Der Lokalbus 24 und der VME-Bus 22 werden an weiteren Einschreibungen in den gespiegelten Speicherbereich gehindert. Am VME-Bus 22 wird die Einschreibung durch Nichtquittieren der Übertragung (kein DTACK-Signal) unterbunden und am Lokalbus werden die Einschreibungen durch Erzeugen des Wartestatus verhindert.
  • Die Schreib-Steuereinheit 70 des MC-Busses besteht aus einem Sendefenster von 2 K. Jedes Fenster hat eine Umsetzungsadresse, um die oberen 11 Adressbit sowie 1 Bit zur Anzeige, ob das Fenster offen oder geschlossen ist, zu modifizieren. Die oberen 11 Bit der Speicherschreibadresse werden verwendet, um zu ermitteln, ob ein Sendefenster an der Adresse offen ist. Wenn das Fenster offen ist, werden die oberen 11 Adressbits durch die 11 Bits der umgesetzten Adresse in dem MC I Modus oder durch 15 Bits im II Modus ersetzt. Die Programmierung des Sendefensters wird in Verbindung mit den Systemregistern beschrieben. Zur Funktion der MC-Lese-Steuereinheit 72 gehört:
  • Erkennung von gespiegelten Speicherübertragungen in den Globalspeicheradressbereich;
  • Abbildung der Empfangsadresse;
  • Zwischenspeichern der empfangenen gespiegelten Speicherübertragung;
  • Zustandsüberwachung und Meldung.
  • Der Empfangszwischenspeicher-FIFO 132, 138 ermöglicht Zwischenspeichern von Daten und Speicheradresse von dem MC-Bus 46. Der FIFO ist 64 Bits tief und 72 Bits breit für 32 Datenbits, 28 Adressbits, 8 Paritätsbits und ein Byteübertragungsbit. Jedes Adress- und Datenbyte auf dem MC-Bus hat ein Paritätsbit. Die Parität wird geprüft, bevor die Adresse in den FIFO getaktet wird. Die Feststellung eines Paritätsfehlers an einem beliebigen Adressbyte unterbindet die Übertragung der Adresse und Daten an den FIFO. Die Daten werden ohne Prüfen der Datenparität in den FIFO gespeichert.
  • Wenn die FIFO-Einschreibungen die FIFO-Lesungen um 56 übersteigen, erzeugt der FIFO den Nahezuvoll-Zustand. Dieser Zustand bewirkt, dass das Belegtsignal des MC-Busses an dem MC-Bus angesteuert wird. Das MC-Bus-Belegtsignal stoppt weitere Übertragungen an dem Bus, um das Auftreten eines FIFO-Überfließens zu verhindern.
  • Die Lese-Steuereinheit 72 des MC-Busses besteht aus einem Empfangsfenster von 32 K. Im MC I Modus wird nur das erste 2K-Fenster verwendet. Jedes Fenster hat eine Umsetzungsadresse, um die oberen 11 (15) Adressbit sowie 1 Bit zur Anzeige, ob das Fenster offen oder geschlossen ist, zu modifizieren. Die oberen 11 (15) Bit der MC-Bus-Übertragung werden verwendet, um zu ermitteln, ob ein Empfangsfenster an der Adresse offen ist. Wenn das Fenster offen ist, werden die oberen 11 (15) Adressbits durch die 11 (15) Bits der umgesetzten Adresse ersetzt. Die Programmierung des Empfangsfensters wird in Verbindung mit den Systemregistern beschrieben.
  • Drei Fehlerzustände bewirken, dass die MC-Lese-Steuereinheit 72 eine Unterbrechung des VME-Bus erzeugt und eine rote Zustands-LED zum Aufleuchten bringt. Diese Zustände sind:
  • 1. MC-Bus-Paritätsfehler - Ein Paritätsfehler wurde an einem oder mehreren der Adressbytes an dem MC-Bus festgestellt.
  • 2. Fehlender Speicher Fehler - Eine Adresse von dem MC-Bus bezog sich auf einen nicht existierenden Speicherplatz.
  • 3. Überlauffehler - Ein Zustand, der durch die 65. Schreibübertragung in den Empfangs-FIFO erzeugt wird.
  • Es gibt zwei andere Zustände, die ebenfalls eine Unterbrechung des VME-Bus erzeugen und eine gelbe Zustands-LED zum Aufleuchten bringen. Diese Zustände sind:
  • 1. Knoten belegt - Dieses Bit zeigt an, dass der Knotenempfangs-FIFO fast voll ist (hat 56 Eingaben). Sobald ein Knoten belegt ist, steuert er auf dem Bus Global Belegt an.
  • 2. Global Belegt - Dieses Bit zeigt an, dass der Empfangs-FIFO eines Knoten an dem MC-Bus fast voll ist und ein Knoten keine Daten mehr an dem MC-Bus empfangen kann.
  • Die Zuteilungslogik des MC-Busses (nur für MC I Modus) ist an der Platine 40 aktiv, wenn ein Masterknoten an dem MC-Bus ist. In diesem Fall steuert die MCS 40 die MC-Bus-Zuteilung für alle Knoten an dem selben RM-Bus.
  • Das zentrale Element in der Zuteilungslogik des MC-Busses ist die Busbewilligungszustandsmaschine. Die Anforderungsleitungen des MC-Busses 46 aller Knoten werden von dem Bus gesammelt. Diese Anforderungsleitungen werden an die Adressleitungen eines PROM angelegt, welche das Zustandsmaschinenprogramm enthält. Abhängig von dem Zustand der Anforderungsleitungen bewegt sich die Zustandsmaschine von Zustand zu Zustand, wobei sie zwischen den Bewilligungsleitungen des MC-Busses hin- und herschaltet und erneut den Zustand der Anforderungsleitungen prüft.
  • Das Busbewilligungsschema teilt die Zeit zwischen den anfordernden Knoten gleich ein. Wenn alle Knoten in einem voll konfigurierten MC-System den MC-Bus anfordern, steuert die MC-Bus-Zustandsmaschine den Ablauf der MC- Busbewilligung, um jeden Knoten einen Anteil an der Zeit des MC-Busses zu geben. Dieser Zustand wird in Fig. 7 gezeigt. Fig. 8 zeigt die erteilten Busbewilligungen, bei denen sieben Knoten den Bus willkürlich anfordern, und Fig. 9 zeigt einen kontinuierlichen Busbewilligungszyklus, wenn nur ein Knoten kontinuierlich die Verwendung des MC-Busses 46 anfordert.
  • Die Einschreibvorgänge an dem Platinenspeicher 96 in dem gespiegelten Speicherbereich werden von dem Speicher an dem MC-Port 48 empfangen. Die gespiegelten Speicherübertragungen werden nicht an dem Lokal- bzw. VME-Bus des empfangenden Knotens erfasst, somit kann ein Cachesystem die in dem gespiegelten Speicherbereich auftretenden Änderungen nicht verfolgen. Aus diesem Grund muss der gespiegelte Speicheradressbereich in den nicht zwischengespeicherten Segmenten des Speicherbereichs eines Knotens konfiguriert werden.
  • In dem Prozessor 20 kann der enthaltene Cache-Speicher mit Segmentgranularität (4 Mbyte), Seitengranularität (4 Kbyte) und Blockgranularität (512 Kbyte) an physikalischen Adressgrenzen deaktiviert werden. Zu beachten ist, dass die Mindestgröße des Spiegelfensters 8 Kbytes oder 2 Seitenrahmen ist.
  • Das System 40 erweist sich als Mittel für eine Software zur Auslösung einer Unterbrechung an einem oder allen Knoten an dem MC-Busnetzwerk. Das System 40 kann einen der sieben VME-Bus-Unterbrechungen oder eine externe auf der CPU vorgesehene Unterbrechung verwenden. Die Hardware des Systems 40 kann acht Mailboxbits als Teil des Zustands vorsehen. Diese acht Bits zeigen dem empfangenden Knoten, in welchem Wort einer Datei aus acht Wörtern das Mailboxwort gespeichert war.
  • Das System 40 oder eine andere ähnliche Hardware jedes Knoten hat ein Mailbox- Adressregister. Das Register wird durch die Software mit einem Adresswert geladen. Der Registerwert wählt einen Bereich des Speicherraums aus acht Worten (Datei) und dieser wird mit der Adresse der Übertragungen an dem MC-Bus verglichen. (Der Vergleich findet vor der Umsetzung der Adresse statt und das Fenster für die Adresse muss zudem offen sein, damit ein Vergleich stattfinden kann.) Bei Übereinstimmung wird die durch die Wortadresse der Busübertragung gewählte Unterbrechung nach Speicherung des Worts in dem Globalspeicher erzeugt. Ein zweiter Dateiadressraum erzeugt ebenfalls ein Vergleichen, nämlich die letzte Datei mit acht Wörtern in dem Bildblock, der durch den Wert in dem Mailboxregister gewählt wurde. Dieses Merkmal erlaubt es allen Knoten an dem Netzwerk, durch eine Übertragung von einem sendenden Knoten unterbrochen zu werden.
  • Das Mailboxmerkmal des Systems 40 ermöglicht es einem mit der Hardware des Systems 40 ausgestatteten Knoten, eine Unterbrechung an einem Knoten an dem gleichen MC-Bus oder an einem über einen Buskoppler verbundenen Knoten, wie in US-Patent Nr. US-A-4,991,079 gezeigt, das durch Erwähnung hiermit Bestandteil wird, auszulösen. Der andere Zielknoten muss mit der Hardware des Systems 40 ausgestattet und entsprechend mit einer dateibegrenzten Mailboxfläche in einem Speicherkopplungs-Empfangsfenster (MC) konfiguriert sein.
  • Um das Mailboxmerkmal der Hardware des Systems 40 zu verwenden, ist es erforderlich, eine dateibegrenzte Fläche in einer Speicherkopplungsfläche zu definieren. Wenn der Knoten nur eine Unterbrechung empfängt, muss die Mailboxfläche in einem offenen MC-Empfangsfenster liegen. Wenn der Knoten nur Unterbrechungen zu Zielknoten erzeugt, muss die Mailboxfläche in einem offenen MC-Sendefenster liegen. Um eine Unterbrechungsanforderung sowohl zu senden als auch zu empfangen, muss die Mailboxfläche in einem offenen, überlappenden MC- Sende- und Empfangsfenster liegen.
  • Zur Erzeugung einer Unterbrechung an einem Knoten, wird ein Wort in den gespiegelten Bereich eingeschrieben, der der Mailboxfläche der Zielknoten entspricht.
  • Um eine Unterbrechungsaktivierungsanforderung zu erkennen, wird die Adresse des Worts in drei spezifische Flächen unterteilt. (HINWEIS: Der Wert des Worts selbst ist unwichtig und kann benutzerdefiniert sein). Bits E-H und 0-18 des MC-Busses 46 müssen mit dem in dem Mailboxregister der Zielknoten enthaltenen Wert übereinstimmen. Bits 19-21 definierten die Unterbrechungsebene und Bits 22-23 sollten zurückgesetzt werden. Da die Hardware des Systems 40 die Adresse vor der Umsetzung vergleicht, muss der zur Definierung der Mailboxadresse verwendete Wert die an den MC-Bus 46 gesendete Adresse sein. Bits 19-21 der MC-Busadresse werden nicht mit der in dem Mailboxregister enthaltenen Adresse verglichen. Diese Bits werden verwendet, um eines von acht Zustandsbits zu erzeugen.
  • Die Baugruppenschnittstelle des Systems 40 zu der Speicherkopplung oder dem gespiegelten Speicherbus 46 kann durch vier Steckverbinder mit 60 Stiften vorgesehen werden, die an der Vorderkante der Baugruppe positioniert werden können. Der gespiegelte Speicherbus 46 ist eine bidirektionale Differentialdatenbahn bestehend aus Daten-, Adress-, Paritäts-, Anforderungs-, Bewilligungs-, Port-I. D.- und Steuersignalen. Jedes dieser Signale wird durch ein verdrilltes Leiterpaar zwischen den Knoten geführt. Die folgende Tabelle 1 zeigt alle Signalnamen und ihre Funktionsbeschreibung.
  • TABELLE 1 Sianalname Beschreibung
  • RMDBUS< 31..0> RM-Bus bidirektionaler Datenbus
  • RMABUS< 23..0> RM-Bus bidirektionaler Adressbus
  • RMTF RM-Bus Byte-Übertragungsmarke
  • RMDPAR< 3..0> RM-Bus Datenparität
  • RMAPAR< 2..0> RM-BusAdressparität
  • RMBREQ< 8..0> RM-Bus Knotenanforderung
  • RMBGRNT< 8..0> RM-Bus Knotenbewilligung
  • RMNDID< 3..00> RM-Bus Knoten-I. D.
  • RMDVALIDEN RM-Bus Daten Gültig Aktivieren
  • RMDVALID RM-Bus Daten Gültig
  • RMGBSY RM-Bus Global Belegt
  • Das Folgende gibt die Funktion und das Format jedes der Regster an der Platine des Systems 40. Die meisten Register sind programmierbar. Die Programmierung erfolgt durch Einschreiben an dem gewählten Ort in dem VME-Kurzadressraum (A16). Die Basisadresse in dem VME-Kurzadressraum wird über auf der Platine angeordnete Konfigurationsbrücken zugeteilt. Zur Zuteilung einer Basisadresse werden fünf Brücken verwendet.
  • Die Fig. 10 und 11 zeigen die Abbildung des auf der Platine des Systems 40 befindlichen Steuer- und Zustandsregisters. Jedes Register besitzt Zugriffsrechte, manche Register sind Nur-Lese-Register und manche sind Lese-und-Schreib- Register. Wenn ein Zugriffsrecht verletzt wird, erkennt die Platine des Systems 40 die Adresse nicht und erzeugt keinen Quittierungszyklus. Die physikalische Adresse des Steuer- und Zustandsregisters wird als Zeiger in die Basisadresse zur Adressierung des gewünschten Registers verwendet.
  • Das Folgende beschreibt die Steuer- und Zustandsregister und die einzige Funktion, die sie bieten.
  • Die gemeinsame Speicherbasisadresse am Lokalbus 24 hat die physikalische Adresse: 0 · 0040; das Zugriffsrecht: Lesen/Schreiben und den Übertragungstyp: Wort. Definitionsgemäß spezifiziert der Inhalt dieses Registers die Basisadresse des Platinenspeichers in dem Lokalbus-Adressraum. Diese Basisadresse ist die Ausgangsadresse des Platinenspeichers 96. Die Lokalbus-Adressbits 22 bis 31 werden mit dem Inhalt des Basisadressregisters verglichen. Wenn die Gleichheit erfüllt ist, wird der Platinenspeicher gewählt.
  • Der Lokalbasisregisterwert kann durch Verschieben der Lokaladresse nach rechts um 22, wie nachstehend gezeigt, berechnet werden.
  • (Zeichnung englische Seite 33:
  • Local bus address = Lokalbusadresse
  • on board memory select = Platinenspeicher wählen
  • Base Adress = Basisadresse
  • bit 10 thru 15 are not used = Bit 10 bis 15 werden nicht verwendet)
  • Der 4 Mbyte-Platinenspeicher des Speicherkopplungssystem 40 (4 Mbytes) könnte in jedem Vielfachen der 4MB-Lokalbusbegrenzung (d. h. 0 MB, 4 MB, 8 MB, 12 MB ... usw.) vorhanden sein.
  • Der 16 Mbyte-Platinenspeicherdes Speicherkopplungssystem 40 (16 Mbytes) könnte in jedem Vielfachen der 16MB-Lokalbusbegrenzung (d. h. 0 MB, 16 MB, 32 MB, 48 MB ... usw.) vorhanden sein.
  • Die gemeinsame Speicherbasisadresse am VME-Bus 22 hat die physikalische Adresse: 0 · 0042; das Zugriffsrecht: Lesen/Schreiben und den Übertragungstyp: Wort. Definitionsgemäß spezifiziert der Inhalt dieses Registers die Basisadresse des Platinenspeichers in dem VME-Bus-Adressraum. Diese Basisadresse ist die Ausgangsadresse des Platinenspeichers. Die VME-Bus-Adressbits 22 bis 31 werden mit dem Inhalt des Basisadressregisters verglichen. Wenn die Gleichheit erfüllt ist, wird der Platinenspeicher gewählt.
  • Der VME-Basisregisterwert kann durch Verschieben der Lokaladresse nach rechts um 22, wie nachstehend gezeigt, berechnet werden.
  • (Zeichnung englische Seite 35:
  • VME Bus address = VME-Busadresse
  • on board memory select = Platinenspeicher wählen
  • Base Adress = Basisadresse
  • bit 10 thru 15 are not used = Bit 10 bis 15 werden nicht verwendet)
  • Der 4 Mbyte-Platinenspeicher des Speicherkopplungssystem 40 (4 Mbytes) könnte in jedem Vielfachen der 4MB-VME-Busbegrenzung (d. h. 0 MB, 4 MB, 8 MB, 12 MB... usw.) vorhanden sein.
  • Der 16 Mbyte-Platinenspeicherdes Speicherkopplungssystem 40 (16 Mbytes) könnte in jedem Vielfachen der 16MB-VME-Busbegrenzung (d. h. 0 MB, 16 MB, 32 MB, 48 MB... usw.) vorhanden sein.
  • Das VME-Bus-Unterbrechungssteuerregister hat die physikalische Adresse: 0 · 0044; das Zugriffsrecht: Lesen/Schreiben und den Übertragungstyp: Wort.
  • Definitionsgemäß enthalten die Bits 0 bis 2 des VME-Bus- Unterbrechungssteuerregisters den kodierten Wert des VME-Bus- Unterbrechungsanforderungspegels. Wird eine Null in diesen Platz eingeschrieben, kann die Platine keine Unterbrechung erzeugen. Siehe nachstehendes Diagramm und Tabelle.
  • (Zeichnung englische Seite 37:
  • LEVEL SELECTED GEWÄHLTER PEGEL
  • NO INTERRUPT KEINE UNTERBRECHUNG
  • INTERRUPT REQUEST 1 UNTERBRECHUNGSANFORDERUNG 1
  • INTERRUPT REQUEST 2 UNTERBRECHUNGSANFORDERUNG 2
  • INTERRUPT REQUEST 3 UNTERBRECHUNGSANFORDERUNG 3
  • INTERRUPT REQUEST 4 UNTERBRECHUNGSANFORDERUNG 4
  • INTERRUPT REQUEST 5 UNTERBRECHUNGSANFORDERUNG 5
  • INTERRUPT REQUEST 6 UNTERBRECHUNGSANFORDERUNG 6
  • INTERRUPT REQUEST 6 UNTERBRECHUNGSANFORDERUNG 7)
  • Das Ram-Adressenregister der MCS-Sendefenster hat die physikalische Adresse: 0 · 0046; das Zugriffsrecht: Lesen/Schreiben und den Übertragungstyp: Wort. Definitionsgemäß enthält der Inhalt dieses Registers den Zeiger zu dem Sendefenster-RAM. Bei Schreiben an das Sendefenster-Datenregister wird der Inhalt dieses Registers um eins erhöht, dadurch kann die Software in den sequentiellen RAM-Ort des Sendefenster schreiben, ohne diese Register neu schreiben zu müssen. Siehe das nachstehende Formatdiagramm.
  • (Zeichnung englische Seite 38:
  • Window Address = Fensteradresse)
  • Das Ram-Datenregister der MCS-Sendefenster hat die physikalische Adresse: 0 · 0048; das Zugriffsrecht: Lesen/Schreiben und den Übertragungstyp: Wort. Definitionsgemäß enthält dieses Registers zwei Parameter. Das wichtigste Bit zeigt, ob das Fenster geöffnet oder geschlossen werden soll. Wenn es gesetzt ist, ist das Fenster geschlossen, andernfalls ist das Fenster offen. Wenn das Fenster geöffnet werden soll, geben die unwichtigsten Bits die Umsetzungsadresse an, die in den RAM-Ort des Sendefensters gesetzt werden muss, das durch das Adressregister des Sendefensters angegeben wird. Siehe das nachstehende Formatdiagramm.
  • (Zeichnung englische Seite 39:
  • Translation Adress = Umsetzungsadresse)
  • closed = geschlossen
  • open = offen)
  • Das Ram-Adressenregister der MCS-Empfangsfenster hat die physikalische Adresse: 0 · 004A; das Zugriffsrecht: Lesen/Schreiben und den Übertragungstyp: Wort. Definitionsgemäß gibt der Inhalt dieses Registers den Beginn der physikalischen Adresse der Empfangsfenster an. Bei Schreiben an das Empfangsfenster-Datenregister wird dieses Register um eins erhöht. Siehe das nachstehende Formatdiagramm.
  • (Zeichnung englische Seite 40:
  • Window Address = Fensteradresse)
  • Das Ram-Datenregister der MCS-Empfangsfenster hat die physikalische Adresse: 0 · 004C; das Zugriffsrecht: Lesen/Schreiben und den Übertragungstyp: Wort. Definitionsgemäß enthält dieses Registers zwei Parameter. Das wichtigste Bit zeigt, ob das Fenster geöffnet oder geschlossen werden soll. Wenn es gesetzt ist, ist das Fenster geschlossen, andernfalls ist das Fenster offen. Wenn das Fenster geöffnet werden soll, geben die unwichtigsten Bits die Umsetzungsadresse an, die in den RAM-Ort des Empfangsfensters gesetzt werden muss, das durch das Adressregister des Empfangsfensters angegeben wird. Siehe das nachstehende Formatdiagramm.
  • f14
  • (Zeichnung englische Seite 41:
  • Translation Adress = Umsetzungsadresse)
  • closed = geschlossen
  • open = offen)
  • Die MCS-Steuerregister haben die physikalische Adresse: 0 · 004E (reg0) und die physikalische Adresse: 0 · 0050 (reg1); das Zugriffsrecht: Lesen/Schreiben und den Übertragungstyp: Wort. Siehe das nachstehende Formatdiagramm.
  • (Zeichnung englische Seite 42)
  • Die Bit-Definitionen für das Vorstehende sind wie folgt. Für die MCS-Steuerregister 0 Bit Definition:
  • Bit 0 Reserviert.
  • Bit 1. Online-Bit (Steuerung)
  • a. Zurückgestellt (offline) - Befindet sich dieses Bit im zurückgestellten Zustand, steuert die Hardware des Systems 40 keine Daten von dem MC-Bus 46 an bzw. empfängt sie von ihm.
  • b. Gestellt (online) - Normaler Betrieb.
  • Bit 2. Reserviert.
  • Bit 3. MC-Bus-Port 48 aktivieren.
  • a. Zurückgestellt - Erfasst keine Einschreibvorgänge in den Platinenspeicher und sendet nicht an den MC-Bus 46.
  • Steuerinformationen werden zur Einschreibung in das Steuer-/Zustandsregister angenommen.
  • b. Gestellt - Normaler Betrieb.
  • Bit 4. Lokalbus-Port 44 aktivieren.
  • Zurückgestellt - Ignoriert die Datenübertragung von dem Lokalbus.
  • Gestellt - Normaler Betrieb.
  • Bit 5. Externes Diagnoseprüfschleifenbit.
  • a. Zurückgestellt - Normaler Betrieb.
  • b. Gestellt - Busprüfschleifenmodus aktiviert - Daten werden über den MC-Bus von dem Sende-FIFO zu dem Empfangs-FIFO übertragen. Es kommt zu normaler Adressenumsetzung. Das Empfangsfenster muss für die gesendete Adresse aktiviert sein, damit die Daten angenommen werden. Die Adresse muss auch um den in dem Empfangsfenster-Ram eingestellten Betrag umgesetztwerden. Es muss der folgende Ablauf zum Stellen des externen Diagnoseprüfschleifenbits befolgt werden.
  • 1. Das Offline-Bit in das Steuerregister setzen.
  • 2. Software Löschen durchführen.
  • 3. Das externe Diagnoseprüfschleifenbit des Steuerregisters setzen.
  • 4. Das Offline-Bit in dem Steuerregister löschen.
  • Bit 6. Software-Löschen-Bit (Steuerung).
  • a. Zurückgestellt-Software-Löschen deaktiviert.
  • b. Gestellt-Software-Löschen aufgerufen. Fehlerstatus und FIFOs werden gelöscht. Das System 40 offline, das Steuerregister und die ladbaren Soft- Konfigurationsregister werden jedoch nicht gelöscht.
  • Bit 7 & 8. Kodierte Zwangsfehlerbits.
  • Verursacht eine VME-Bus-Unterbrechung und das Setzen des entsprechenden Bits in das Zustandsregister.
  • (Zeichnung englische Seite 45:
  • no forced errors - normal operation = keine erzwungenen Fehler - Normalbetrieb
  • force parity error = Paritätsfehler erzwingen
  • force non present memory = nicht vorhandenen Speicher erzwingen
  • force overrun error = Überlauffehler erzwingen)
  • Zwangsfehler können durch Lesen des Zustandsregisters aus dem Zustandsregister gelöscht werden, solange der erzwungene Zustand nicht länger vorliegt.
  • Bit 9. System 40 Belegt-Bit erzwingen
  • a. Zurückgestellt - Normaler Betrieb.
  • b. Gestellt - Die Datenausgabe des Empfangs-FIFO an den Platinenspeicher unterdrücken. Somit kann der FIFO gefüllt werden und verursacht ein Ansteuern des Global-Belegtsignals am MC-Bus.
  • Bit 10. Ausgabe-FIFO-Deaktivierbit
  • a. Zurückgestellt-Normaler Betrieb.
  • b. Gestellt - Läßt Ausgabe-FIFO keine Daten an den MC-Bus senden. Dieses Bit wird bei der Diagnose zum Anhalten von Übertragungen und dann zu deren Freigabe verwendet, so dass es am MC-Bus zu einer stoßweisen Aktivität kommt.
  • Bit 11. Erzwingen eines Paritätsfehlers am MC-Bus,
  • a. Zurückgestellt - Normaler Betrieb.
  • b. Gestellt - Erzwingt eine falsche Parität für Ausgabeübertragungen zum MC-Bus. Dies sollte einen Paritätsfehler an allen Empfangsknoten verursachen.
  • Bit 12. Erzwingen eines Empfangs-FIFO-Überlaufens.
  • a. Zurückgestellt - Normaler Betrieb.
  • b. Gestellt - Unterbindet das Ansteuern des Global-Belegtsignals und erlaubt daher ein Überlaufen des Empfangs-FIFO und das Erzeugen eines Überlauffehlers. Dies muss mit MCS-Belegt-Erzwingen verwendet werden, um den Überlauf effektiv zu bewirken.
  • Bit 13. VME-Standardadressierung aktivieren.
  • a. Zurückgestellt - Deaktivieren des VME A24 Adressiermodus.
  • b. Gestellt - Aktivieren des VME A24 Adressiermodus.
  • Bit 14. Aktivieren der erweiterten VME-Adressierung
  • a. Zurückgestellt - Deaktivieren des VME A24 Adressiermodus.
  • b. Gestellt - Aktivieren des VME A24 Adressiermodus.
  • Bit 15. Aktiveren des Mailbox Vergleichens
  • a. Zurückgestellt - Deaktivieren des Vergleichs der MC-Bus-Adressen durch die Mailbox-Hardware.
  • b. Gestellt - Aktivieren des Vergleichs der MC-Bus-Adressen durch die Mailbox- Hardware.
  • Für die MCS-Steuerregister 1 Bit Definition:
  • Bit O: VME-Bus-Paritätsfehler
  • a. Zurückgestellt - Prüft Parität nicht für abgehende Daten an VME-Bus.
  • b. Gestellt - Prüft Daten auf Paritätsfehler und erzeugt am VME-Bus Busfehlersignal. Bit 1. Lokalbus-Adressparität.
  • Zurückgestellt - Ignoriert die Adressparität von dem Lokalbus.
  • Gestellt - Prüft die Parität bei eingehender Adresse von dem Lokalbus.
  • Bit 2. Lokalbus-Steuerparität.
  • Zurückgestellt - Ignoriert die Steuerleitungsparität von dem Lokalbus.
  • Gestellt - Prüft die Parität bei eingehenden Steuerleitungen von dem Lokalbus.
  • Bit 3. Lokalbus-Datenparität.
  • Zurückgestellt - Ignoriert die Datenparität von dem Lokalbus.
  • Gestellt - Prüft die Parität bei eingehenden Daten von dem Lokalbus.
  • Bit 4. Asynchrones Fernbus-Deaktivierbit.
  • Zurückgestellt - Deaktiviert die Ansteuerfähigkeit dieses Knoten an der Fernbusfähigkeit.
  • Gestellt - Erlaubt diesem Knoten das Ansteuern oder Empfangen von Informationen an der asynchronen Fernbusleitung.
  • Das MCS-Zustandsregister hat die physikalische Adresse: 0 · 0052; das Zugriffsrecht: Lesen/Schreiben und den Übertragungstyp: Wort. Siehe nachstehendes Formatdiagramm.
  • (Zeichnung englische Seite 49)
  • Die Bit-Definitionen für das Vorstehende sind wie folgt:
  • Bit 0 Global Belegt.
  • Dieses Zustandsbit zeigt an, dass das Global-Belegt-Signal an dem MC-Bus durch einen Knoten angesteuert wurde. Dieses Bit wird durch Lesen des Statusregisters gelöscht. Siehe nachstehenden Hinweis.
  • Bit 1 Knoten Belegt
  • Dieses Zustandsbit zeigt an, dass der Lokalknoten das Global Belegt angesteuert hat. Dieses Bit wird durch Lesen des Zustandsregisters gelöscht. Siehe nachstehenden Hinweis.
  • Bit 2 MC-Bus-Paritätsfehler
  • Dieser Statuszustand bedeutet, dass ein Paritätsfehler bei Empfang einer Übertragung von dem MC-Bus festgestellt wurde. Dieser Zustand kann auch durch die Zwangsparitätsfehler-Steuerregistereinschreibung gesetzt werden. Dieses Bit wird durch Lesen des Zustandsregisters gelöscht.
  • Bit 3 Nicht vorhandener Speicher (Zustand)
  • Dieses Zustandsbit wird gesetzt, wenn der MC-Bus einen nicht vorhandenen Speicherbereich adressiert. Dieser Status kann auch durch die zwangsweise Nichtvorhanderspeicherfehler-Steuerregistereinschreibung gesetzt werden. Dieses Bit wird durch Lesen des Zustandsregisters gelöscht.
  • Bit 4 Überlauffehler (Zustand)
  • Dieses Zustandsbit wird gesetzt, wenn die Empfangs-FIFOs voll sind und eine weitere Busübertragung an einem offenen Fenster ankommt. Dieser Zustand kann auch durch die Zwangsüberlauffehler-Steuerregistereinschriebung gesetzt werden. Diese Bit wird durch Lesen des Statusregisters zurückgesetzt, wenn diese Bedingung durch die kodierten Zwangsfehlerbits (Bits 7 und 8) gesetzt ist. Wenn sie jedoch durch den Zwangs-MCS-FIFO-Überlauf (Bit 12) oder durch einen bestehenden FIFO-Überlauf gesetzt ist, ist ein Software Löschen oder ein Zurücksetzen des Systems erforderlich, um dieses Zustandsbit zurückzusetzen. Siehe nachstehenden Hinweis.
  • HINWEIS: Wenn diese Bedingungen durch die kodierten Zwangsfehlerbits (Bits 7 und 8) erzwungen sind, löscht ein Lesen des Zustandsregisters diese Bits, wenn die erzwungenen Bedingungen nicht länger zutreffen.
  • Bit 5 Lokalbus-Datenparitätsfehler
  • Dieses Zustandsbit zeigt an, dass eine Datenparität an dem Lokalbus festgestellt wurde. Dieses Zustandsbit wird durch Lesen des Zustandsregisters gelöscht.
  • Bit 6 Lokalbus-Steuerparitätsfehler
  • Dieses Zustandsbit zeigt an, dass eine Steuerparität an dem Lokalbus festgestellt wurde. Dieses Zustandsbit wird durch Lesen des Zustandsregisters gelöscht.
  • Bit 7 Lokalbus-Adressparitätsfehler
  • Dieses Zustandsbit zeigt an, dass eine Adressparität an dem Lokalbus festgestellt wurde. Dieses Zustandsbit wird durch Lesen des Zustandsregisters gelöscht.
  • Bit 8 Mailboxposition 0
  • Ist dieses Bit gesetzt, zeigt dies an, dass eine Einschreibung an einer Mailbox- Wortposition 0 erfolgt ist. Dieses Bit wird durch Lesen des Zustandsregisters gelöscht.
  • Bit 9 Mailboxposition 1
  • Ist dieses Bit gesetzt, zeigt dies an, dass eine Einschreibung an einer Mailbox- Wortposition 1 erfolgt ist. Dieses Bit wird durch Lesen des Zustandsregisters gelöscht.
  • Bit 10 Mailboxposition 2
  • Ist dieses Bit gesetzt, zeigt dies an, dass eine Einschreibung an einer Mailbox- Wortposition 2 erfolgt ist. Dieses Bit wird durch Lesen des Zustandsregisters gelöscht.
  • Bit 11 Mailboxposition 3
  • Ist dieses Bit gesetzt, zeigt dies an, dass eine Einschreibung an einer Mailbox- Wortposition 3 erfolgt ist. Dieses Bit wird durch Lesen des Zustandsregisters gelöscht.
  • Bit 12 Mailboxposition 4
  • Ist dieses Bit gesetzt, zeigt dies an, dass eine Einschreibung an einer Mailbox- Wortposition 4 erfolgt ist. Dieses Bit wird durch Lesen des Zustandsregisters gelöscht.
  • Bit 13 Mailboxposition 5
  • Ist dieses Bit gesetzt, zeigt dies an, dass eine Einschreibung an einer Mailbox- Wortposition 5 erfolgt ist. Dieses Bit wird durch Lesen des Zustandsregisters gelöscht.
  • Bit 14 Mailboxposition 6
  • Ist dieses Bit gesetzt, zeigt dies an, dass eine Einschreibung an einer Mailbox- Wortposition 6 erfolgt ist. Dieses Bit wird durch Lesen des Zustandsregisters gelöscht.
  • Bit 15 Mailboxposition 7
  • Ist dieses Bit gesetzt, zeigt dies an, dass eine Einschreibung an einer Mailbox- Wortposition 7 erfolgt ist. Dieses Bit wird durch Lesen des Zustandsregisters gelöscht.
  • Das MC-Knoten-ID-Register hat die physikalische Adresse: 0 · 0054; das
  • Zugriffsrecht: Lesen/Schreiben und den Übertragungstyp: Wort. Definitionsgemäß enthalten die Bits 0 bis 3 des MC-Busknoten-ID-Registers den kodierten Wert der MC-Busknoten-ID. Diese Werte werden von der Hardware zur Erzeugung der MC- Bus-Anforderung verwendet. Siehe nachstehendes Formatdiagramm und Tabelle.
  • (Zeichnung englische Seite 54:
  • NODE ID = KNOTEN-ID
  • Node 0 = Knoten 0
  • Node 1 = Knoten 1
  • Node 2 = Knoten 2
  • Node 3 = Knoten 3
  • Node 4 = Knoten 4
  • Node 5 = Knoten 5
  • Node 6 = Knoten 6
  • Node 7 = Knoten 7
  • Node 8 = Knoten 8)
  • Die MCS-Mailboxregister haben die physikalische Adresse: 0 · 0056 (Mailbox O) und die physikalische Adresse: 0 · 0058 (Mailbox 1); das Zugriffsrecht: Lesen/Schreiben und den Übertragungstyp: Wort. Definitionsgemäß enthalten die Mailboxadressregister den Wert der MC-Bus-Adresse, die mit der Übertragungsadresse an dem MC-Bus verglichen wird. Wenn es zu einer Übereinstimmung kommt, wird eine Flagge mit der Busübertragung in dem Empfangs-FIFO gespeichert. Die Flagge verursacht eine Unterbrechung, wenn die Übertragung in dem Globalspeichergespeichert wird. Der Vergleich tritt auch ein, wenn die wichtigsten 15 Bits der Busübertragung und die nächsten unteren 8 Bits der Busübertragung gleich Null sind. Dies kann an allen Knoten mit einer Übertragung eine Unterbrechung auslösen. Das Mailboxformat wird nachstehend gezeigt.
  • (Zeichnung englische Seite 55:
  • BUS ADDRESS VALUE = BUSADRESSWERT
  • MC bus address = MC-Bus-Adress- bit position bitposition
  • In MC I mode (24 bits) bits 8 thru 11 are undefined = Im MC I Modus (24 Bits) sind Bits 8 bis 11 nicht definiert
  • In MC II mode (28 bits) these bits represent the most significant nibble of MC bus = Im MC II Modus (28 Bits) stellen diese Bits den wichtigsten Halbbyte des MC- Busses dar)
  • Das Diagnose-Steuer-/Zustandsregister hat die physikalische Adresse: 0 · 005A; das Zugriffsrecht: Lesen/Schreiben und den Übertragungstyp: Wort. Definitionsgemäß dient dieses Register nur Diagnosezwecken. Bei Einschalten der Stromversorgung oder bei jedem Zurücksetzen des Systems wird das Bit 14 dieses Registers gesetzt. Dieses Bit wird durch die Steuerinstanz durch Schreiben von Null in das Bit 14 des Registers gelöscht. Bit 11 dieses Registers ist immer O. Dieses Bit zeigt an, dass die MCS-Platine 40 eine nichtintelligente Platine ist. Siehe nachstehendes Format.
  • (Zeichnung englische Seite 56:
  • Sysfail control = Systemausfall-Steuerung)
  • In Fig. 12 wird eine Abwandlung des früher beschriebenen Speicherkopplungssystems gezeigt. Wie das vorherige System sieht das Speicherkanalsystemvon Fig. 12 eine parallel Hochgeschwindigkeitsverbindung zwischen den physikalischen Speichern aller Verarbeitungsknoten in einem dezentralen Rechensystem vor. Das Speicherkanalsystem, das insgesamt mit 250 bezeichnet wird, bietet die Vorteile sowohl des Speicherkopplungssystems 40 als auch eines Hochgeschwindigkeits-DMA-Kanals (HSDMA).
  • Das Speicherkanalsystem 250 läßt bis zu neun Knoten eine lokale Kopie einer gemeinsamen Speicherfläche halten. Die Daten in der gewählten Speicherfläche stehen allen durch den Speicherkanalbus 252 verbundenen Knoten gemeinsam zur Verfügung. Jede Knoten-CPU hat unbeschränkten Zugriff auf ihre eigene Kopie der gemeinsamen Speicherfläche, da die Kopie in einem separaten physikalischen Speicher in jedem Knoten aufbewahrt wird. Die Speicherschreibvorgänge in die gewählten Sendebereiche werden von der Schreiberfassungssteuereinheit 254 des Speicherkanals erfasst und über den Speicherkanalbus 254 mittels des Adressensende-Umsetzers 256 und des Daten-/Adress-FIFO 258 und mittels der Busschnittstelle 260 des Speicherkanals in die separaten physikalischen Speicher an jedem Knoten gespiegelt.
  • Der Hochgeschwindigkeits-DMA (HSDMA) 262 des Speicherkanals verleiht der Platine 250 des Speicherkanals die Fähigkeit, Datenblöcke zwischen mehrfachen Knoten, die an dem Speicherkanalbus angeschlossen sind, zu übertragen. Die HSDMA-Schaltung überträgt mit 64 Bits Daten mit einer Geschwindigkeit von einer Übertragung pro 75 ns Taktzyklus. Dies erlaubt eine sofortige Datengeschwindigkeit am Speicherkanalbus von 106 Mbytes pro Sekunde.
  • Der HSDMA 262 bildet über Zustands- und Steuerregister, ein Startadressenregister, ein Übertragungslängen-/Burstgrößenregister, ein Umsetzungsadressregister und einen Universal-E/A eine Programmiergerätschnittstelle.
  • Der physikalische Verbindungsabschnitt des Speicherkanalsystems wird als Speicherkanalbus 252 bezeichnet. Er hat eine vollständige 32-Bit-Adresse, eine 32- Bit-Datenbahn, Daten- und Adressparität und Steuersignale. Die Speicherkanalplatine 250 liefert die Zur Anbringung des beschriebenen Speicherkopplungssystems und des zugehörigen Systemknotens an dem Speicherkanalbus 252 erforderliche Logik. Die Platine enthält ein DRAM mit drei Ports, das als Globalspeicher 270 verwendet wird. Die Einschreibungen zu diesem Globalspeicher 270 entweder durch den Lokalbus 280 oder den VME-Bus 282 werden überwacht und über den Speicherkanalbus 252 gespiegelt. Es sind eine VME-Bus-Schnittstelle 284 und eine Lokalbus-Schnittstelle 286 vorgesehen. Zur Komplettierung der Platine 250 sind auch ein Speicherkanal-Bus-Snooper bzw. Empfangsfenster 288, ein Adressempfangs-Umsetzer 290, ein DMA- Blockübertragungsgerät und ein DMA-Adressumsetzer 262 vorgesehen. Die Verbindungen sind in Fig. 12 gezeigt und der Ablauf entspricht der Beschreibung.
  • HSDMA 262 dient als Akkumulator für die Speicherung eines Datenblocks über mehrere Buszyklen. Wenn von einem anderen System oder Knoten ein Befehl erhalten wird, wird der Datenblock auf den Befehl hin freigegeben, doch ist der Datenblock trotz Übertragung immer noch in dem HSDMA 262 vorhanden. Eine Befehlssteuereinheit 294 erhält Befehle von der Schnittstelle 260 und gibt einen Befehl an HSDMA 262 zur Freigabe des Datenblocks. Die Knoten an dem Speicherkanalbus 252 haben variable Adresskomparatoren, die von ihrer CPU gesteuert werden, und haben die Fähigkeit, mehrfache Fenster zu öffnen, um so jeden gewünschten Fensteradressbereich zu setzen, um den Datenblock von dem HSDMA 262 zu erhalten. Der HSDMA ist so aufgebaut, dass die Adresse am Anfang der Übertragung gesetzt wird, so dass alle 64 Leitungen, sowohl Adress- als auch Datenleitungen des Busses 252, Daten transportieren können. Die Hauptvorteile sind höhere Bandbreiten, Zeitsteuerung an dem Bus 252 und Übertragung nach Bedarf.

Claims (9)

1. Echtzeit-Datenverarbeitungssystem, welches Folgendes umfasst:
eine Vielzahl von Verarbeitungsknoten (Knoten 1, Knoten 2, Knoten 3);
Reflektor-Datenverbindungsmittel (46) für Nur-Einschreibungen zur Übertragung von nur Speicher-Nur-Einschreibungen zwischen der Vielzahl von Übertragungsknoten (Knoten 1, Knoten 2, Knoten 3), einschließlich eines mit jeder der Vielzahl von Verarbeitungsknoten (Knoten 1, Knoten 2, Knoten 3) verbundenen Speicherkopplungsbuses (22),
wobei jeder der Knoten einen Lokalbus (22), einen mit dem Lokalbus gekoppelten Prozessor (20), einen Speicher (40) mit mindestens zwei Mitteln zur Übertragung von Informationen zu und von dem Speicher (40), so dass ein erstes Mittel der mindestens zwei Mittel den Speicher (40) mit dem Lokbalbus (22) koppelt und ein zweites Mittel der mindestens zwei Mittel den Speicher (40) mit dem Datenverbindungsmittel koppelt, um eine Speichereinschreibung ohne Intervention des Prozessors von einem anderen Knoten zu dem Speicher zu übertragen, sowie ein mit dem Lokalbus verbundenes Erfassungsmittel zur Erfassung einer Einschreibung in den Speicher und dann zur Übermittlung dieser Einschreibung zu dem Speicherkopplungsbus (22) zur Informationsübertragung an andere Knoten,
dadurch gekennzeichnet, dass
mindestens einer der Knoten weiterhin einen mit dem Prozessor (20) des mindestens einen der Knoten (Knoten 1) und mit einem dritten Mittel zur Übertragung von Informationen zu und von dem Speicher des mindestens einen der Knoten verbundenen und für die Ein- und Ausgabe von dem Speicher des mindestens einen der Knoten über das dritte Mittel ausgelegten VME-Bus (22) umfasst, wobei der VME-Bus (22) dazu dient, für mindestens einen der Knoten Eingaben zu empfangen und Ausgaben zu liefern.
2. Echtzeit-Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, dass mindestens einer der Knoten (Knoten 1) weiterhin einen mit dem Lokalbus (24) des mindestens einen der Knoten und mit dem VME-Bus (22) gekoppelten Erweiterungsspeicher (26) umfasst.
3. Echtzeit-Datenverarbeitungssystem nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass eine Hochgeschwindigkeitsdatenschnittstelle mit dem VME- Bus (22) gekoppelt ist.
4. Echtzeit-Datenverarbeitungssystem nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass jedes der Erfassungsmittel einen Adressbereichskomparator umfasst.
5. Echtzeit-Datenverarbeitungssystem nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass das Erfassungsmittel des mindestens einen der Knoten Einschreibungen in den Speicher des mindestens einen der Knoten an dem VME- Bus (22) und dem Datenverbindungsmittel erfasst.
6. Echtzeit-Datenverarbeitungssystem nach Anspruch 5, dadurch gekennzeichnet, dass das Erfassungsmittel des mindestens einen der Knoten (Knoten 1) ein Adressbereichskomparatormittel umfasst, um den Durchgang von Einschreibungen von dem Datenverbindungsmittel und von dem VME-Bus (22) zu dem Speicher (26) des mindestens einen der Knoten (Knoten 1) zu steuern.
7. Echtzeit-Datenverarbeitungssystem nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass jeder der Knoten weiterhin ein Akkumulatormittel zum Akkumulieren eines Datenblocks umfasst, der zu der auf einen Befehl von einem der Knoten ansprechenden Reflektor-Datenverbindung freizugeben ist.
8. Echtzeit-Datenverarbeitungssystem nach Anspruch 7, dadurch gekennzeichnet, dass das Datenverbindungsmittel ein weiterer Bus mit Adresszeilen und Datenzeilen ist und jedes der Akkumulatormittel zuerst eine Adresse und dann den Datenblock unter Verwendung aller Adress- und Datenzeilen als Datenzeilen freigibt.
9. Echtzeit-Datenverarbeitungssystem nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass mindestens einer der Knoten (Knoten 1) eine mit dem VME- Bus (22) verbundene Hochgeschwindigkeitsdatenschnittstelleneinrichtung umfasst.
DE69329904T 1992-03-25 1993-03-25 Echtzeitverarbeitungssystem Expired - Fee Related DE69329904T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US85758092A 1992-03-25 1992-03-25
PCT/US1993/002838 WO1993019421A1 (en) 1992-03-25 1993-03-25 Real time processing system

Publications (2)

Publication Number Publication Date
DE69329904D1 DE69329904D1 (de) 2001-03-08
DE69329904T2 true DE69329904T2 (de) 2001-06-13

Family

ID=25326307

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69329904T Expired - Fee Related DE69329904T2 (de) 1992-03-25 1993-03-25 Echtzeitverarbeitungssystem

Country Status (8)

Country Link
US (1) US5475858A (de)
EP (1) EP0632912B1 (de)
JP (1) JP2677454B2 (de)
AU (1) AU3936593A (de)
CA (1) CA2129825C (de)
DE (1) DE69329904T2 (de)
ES (1) ES2154269T3 (de)
WO (1) WO1993019421A1 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571849B2 (en) * 1993-02-18 2009-08-11 Burke Bertram V Method and system to create and distribute excess funds from consumer spending transactions
US5583990A (en) * 1993-12-10 1996-12-10 Cray Research, Inc. System for allocating messages between virtual channels to avoid deadlock and to optimize the amount of message traffic on each type of virtual channel
US5577204A (en) * 1993-12-15 1996-11-19 Convex Computer Corporation Parallel processing computer system interconnections utilizing unidirectional communication links with separate request and response lines for direct communication or using a crossbar switching device
US5708850A (en) * 1994-07-27 1998-01-13 Sony Corporation Parallel processing system for time division multiplex data transfer including read/write dual port memory accessible to bus and digital signal processor during opposite phases of clock
US6295585B1 (en) * 1995-06-07 2001-09-25 Compaq Computer Corporation High-performance communication method and apparatus for write-only networks
US5742845A (en) 1995-06-22 1998-04-21 Datascape, Inc. System for extending present open network communication protocols to communicate with non-standard I/O devices directly coupled to an open network
KR0154618B1 (ko) * 1995-11-01 1998-11-16 양승택 브이엠이 버스의 양포트 램 정합회로
US5719860A (en) * 1996-03-22 1998-02-17 Tellabs Wireless, Inc. Wideband bus for wireless base station
US5970510A (en) * 1996-04-10 1999-10-19 Northrop Grumman Corporation Distributed memory addressing system
US6324623B1 (en) * 1997-05-30 2001-11-27 Oracle Corporation Computing system for implementing a shared cache
US6574720B1 (en) 1997-05-30 2003-06-03 Oracle International Corporation System for maintaining a buffer pool
US5946711A (en) * 1997-05-30 1999-08-31 Oracle Corporation System for locking data in a shared cache
US6078994A (en) * 1997-05-30 2000-06-20 Oracle Corporation System for maintaining a shared cache in a multi-threaded computer environment
US6295584B1 (en) * 1997-08-29 2001-09-25 International Business Machines Corporation Multiprocessor computer system with memory map translation
US6101181A (en) * 1997-11-17 2000-08-08 Cray Research Inc. Virtual channel assignment in large torus systems
US6230252B1 (en) 1997-11-17 2001-05-08 Silicon Graphics, Inc. Hybrid hypercube/torus architecture
US6085303A (en) * 1997-11-17 2000-07-04 Cray Research, Inc. Seralized race-free virtual barrier network
US5970232A (en) * 1997-11-17 1999-10-19 Cray Research, Inc. Router table lookup mechanism
US6163829A (en) * 1998-04-17 2000-12-19 Intelect Systems Corporation DSP interrupt control for handling multiple interrupts
US6456628B1 (en) * 1998-04-17 2002-09-24 Intelect Communications, Inc. DSP intercommunication network
US6678801B1 (en) * 1998-04-17 2004-01-13 Terraforce Technologies Corp. DSP with distributed RAM structure
US6393530B1 (en) 1998-04-17 2002-05-21 Intelect Communications, Inc. Paging method for DSP
US6216174B1 (en) 1998-09-29 2001-04-10 Silicon Graphics, Inc. System and method for fast barrier synchronization
WO2000064197A1 (de) * 1999-04-20 2000-10-26 Siemens Aktiengesellschaft Skalierbares multi-prozessorsystem für echtzeitanwendungen in der nachrichtentechnik
US6311255B1 (en) * 1999-04-29 2001-10-30 International Business Machines Corporation System and method for selectively restricting access to memory for bus attached unit IDs
US6751698B1 (en) * 1999-09-29 2004-06-15 Silicon Graphics, Inc. Multiprocessor node controller circuit and method
US6674720B1 (en) 1999-09-29 2004-01-06 Silicon Graphics, Inc. Age-based network arbitration system and method
US6542949B1 (en) 1999-11-08 2003-04-01 International Business Machines Corporation Method and apparatus for increased performance of a parked data bus in the non-parked direction
US6889278B1 (en) * 2001-04-04 2005-05-03 Cisco Technology, Inc. Method and apparatus for fast acknowledgement and efficient servicing of interrupt sources coupled to high latency paths
US7010740B1 (en) * 2001-05-17 2006-03-07 Emc Corporation Data storage system having no-operation command
US6920485B2 (en) * 2001-10-04 2005-07-19 Hewlett-Packard Development Company, L.P. Packet processing in shared memory multi-computer systems
US20030069949A1 (en) * 2001-10-04 2003-04-10 Chan Michele W. Managing distributed network infrastructure services
US6999998B2 (en) * 2001-10-04 2006-02-14 Hewlett-Packard Development Company, L.P. Shared memory coupling of network infrastructure devices
US7315551B2 (en) * 2002-03-15 2008-01-01 Lockheed Martin Corporation Synchronous low voltage differential I/O buss
US20030185177A1 (en) * 2002-03-26 2003-10-02 Interdigital Technology Corporation TDD-RLAN wireless telecommunication system with RAN IP gateway and methods
US20060083102A1 (en) * 2004-10-20 2006-04-20 Seagate Technology Llc Failover control of dual controllers in a redundant data storage system
US20060294300A1 (en) * 2005-06-22 2006-12-28 Seagate Technology Llc Atomic cache transactions in a distributed storage system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2472234A1 (fr) * 1979-12-21 1981-06-26 Philips Ind Commerciale Protocoles de communication geres par les modules de communication utilises dans un systeme de traitement de donnees reparti
US4363093A (en) * 1980-03-10 1982-12-07 International Business Machines Corporation Processor intercommunication system
US4394726A (en) * 1981-04-29 1983-07-19 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Distributed multiport memory architecture
GB2156554B (en) * 1984-03-10 1987-07-29 Rediffusion Simulation Ltd Processing system with shared data
US4604683A (en) * 1984-12-10 1986-08-05 Advanced Computer Communications Communication controller using multiported random access memory
EP0251686B1 (de) * 1986-06-30 1994-01-19 Encore Computer Corporation Verfahren und Vorrichtung zur gemeinsamen Informationsbenutzung zwischen einer Mehrzahl von Verarbeitungseinheiten
US5146607A (en) * 1986-06-30 1992-09-08 Encore Computer Corporation Method and apparatus for sharing information between a plurality of processing units
US4833625A (en) * 1986-07-09 1989-05-23 University Of Arizona Image viewing station for picture archiving and communications systems (PACS)
US4914570A (en) * 1986-09-15 1990-04-03 Counterpoint Computers, Inc. Process distribution and sharing system for multiple processor computer system
US5010515A (en) * 1987-07-28 1991-04-23 Raster Technologies, Inc. Parallel graphics processor with workload distributing and dependency mechanisms and method for distributing workload
US5117350A (en) * 1988-12-15 1992-05-26 Flashpoint Computer Corporation Memory address mechanism in a distributed memory architecture
US5237670A (en) * 1989-01-30 1993-08-17 Alantec, Inc. Method and apparatus for data transfer between source and destination modules
IT1228728B (it) * 1989-03-15 1991-07-03 Bull Hn Information Syst Sistema multiprocessore con replicazione di dati globali e due livelli di unita' di traduzione indirizzi.

Also Published As

Publication number Publication date
EP0632912A1 (de) 1995-01-11
JPH07504774A (ja) 1995-05-25
EP0632912A4 (de) 1998-06-03
EP0632912B1 (de) 2001-01-31
AU3936593A (en) 1993-10-21
CA2129825C (en) 2000-08-15
JP2677454B2 (ja) 1997-11-17
ES2154269T3 (es) 2001-04-01
CA2129825A1 (en) 1993-09-30
WO1993019421A1 (en) 1993-09-30
US5475858A (en) 1995-12-12
DE69329904D1 (de) 2001-03-08

Similar Documents

Publication Publication Date Title
DE69329904T2 (de) Echtzeitverarbeitungssystem
DE69130106T2 (de) Arbitrierung von paketvermittelten Bussen, einschliesslich Bussen von Multiprozessoren mit gemeinsam genutztem Speicher
DE3689198T2 (de) Systembus für Kommunikation zwischen Prozessoren.
DE69031815T2 (de) Initialisation eines fehlertoleranten Datenverarbeitungssystems
DE69032607T2 (de) Physischer, einziger Hauptspeicher, anteilig genutzt durch zwei oder mehr Prozessoren, die ihr jeweiliges Betriebssystem ausführen
DE69027515T2 (de) Vorrichtung für Prioritätsarbitrierungskonditionierung bei gepufferter Direktspeicheradressierung
DE69108434T2 (de) Mehrgruppen-Signalprozessor.
DE68928316T2 (de) Vorrichtung zur anteiligen nutzung von betriebsmitteln eines hauptrechners zwischen einer vielzahl von entfernten rechnern
DE69031093T2 (de) Unterbrechungsbedienung in einem Datenverarbeitungssystem
DE69032611T2 (de) Anordung und Verfahren zum Verbinden eines Datenprozessors mit einem unbekannten Informationsverarbeitungssystem
DE3788805T2 (de) Prioritaetstechnik für einen zerteilten transaktionsbus in einem multiprozessorrechnersystem.
DE69228521T2 (de) Mikroprozessorarchitektur mit der möglichkeit zur unterstützung mehrerer verschiedener prozessoren
DE69132652T2 (de) Rechnerdatenleitweglenkungssystem
DE69316022T2 (de) Steuerungsvorrichtung fuer speicherplattenanordnung mit steuerbloecken fuer steuerungsinformation
DE3689226T2 (de) Multiprozessorsystem mit multihierarchischen Ebenen.
DE69521549T2 (de) Verfahren zur Verwaltung gemeinsamer Mittel mehrerer Verarbeitungseinheiten
DE68926036T2 (de) Speicherkonfiguration zur Verwendung für Schnittstellenbildung zwischen einer Systemsteuereinheit für ein Multiprozessorsystem und dem Hauptspeicher
DE68913914T2 (de) Multiprozessorsystem mit Vervielfältigung von globalen Daten.
DE69228582T2 (de) Vorrichtung zur Vermeidung von Prozessorblockierungen in einem Multiprozessorsystem
DE69032632T2 (de) Fehlertolerantes Datenverarbeitungssystem
DE69322310T2 (de) Busarchitektur für integrierten Daten/- und Videospeicher
DE2854485C2 (de) Datenverarbeitungsanlage
DE69839374T2 (de) Multitorspeicher verwendende intelligente datenbusschnittstelle
DE69323861T2 (de) Multiprozessorsystem mit gemeinsamem Speicher
DE69731917T2 (de) Datenströmung in einer Busbrücke

Legal Events

Date Code Title Description
8339 Ceased/non-payment of the annual fee