DE3732007A1 - Schaltung zur datenkopplung von zwei rechnern mit einem speicher - Google Patents
Schaltung zur datenkopplung von zwei rechnern mit einem speicherInfo
- Publication number
- DE3732007A1 DE3732007A1 DE19873732007 DE3732007A DE3732007A1 DE 3732007 A1 DE3732007 A1 DE 3732007A1 DE 19873732007 DE19873732007 DE 19873732007 DE 3732007 A DE3732007 A DE 3732007A DE 3732007 A1 DE3732007 A1 DE 3732007A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- computers
- bus driver
- bus
- circuit
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
Description
Die Erfindung betrifft eine Schaltung zur Datenkopplung von
zwei Rechnern mit einem Speicher.
Ein bekanntes Multiprozessorsystem (DE-OS 35 02 721) mit einem
gemeinsamen Multiplexer und gemeinsamen Speicher arbeitet
asynchron. Dazu gibt der Multiplexer je nach Anforderung
eines Prozessors einen zugehörigen Transceiver für die Daten
und einen Adreßspeicher für die Adresse frei. Ein Prioritäts-
Encoder gewährleistet dabei, daß immer nur ein Prozessor
gleichzeitig Zugriff zum gemeinsamen Speicher hat. Die Kopplung
zwischen den Prozessoren über den gemeinsamen Speicher
dient zur Übermittlung von Steuervorgaben und gegenseitigen
Übermittlung von Betriebsdaten. Bei der bekannten Schaltung
ist ein Prioritäts-Encoder in jedem Fall notwendig, da der den
Prozessoren niederer Priorität den Zugriff auf den gemeinsamen
Speicher sperrt, wenn ein Prozessor höherer Priorität darauf
zugreift. Bei der Verwendung von nur zwei Rechnern ist die bekannte
Schaltung durch die Verwendung eines Prioritäts-Encoders
relativ aufwendig.
Eine weitere, bekannte Lösung zur Kopplung von zwei Rechnern
(Prozessoren) stellt der Einsatz eines sogenannten Dual-Port-
Controllers dar (z. B. Valvo 74 LS 764/65). Diese Lösung ist
jedoch bauteil- und platzaufwendig sowie teuer.
Die erfindungsgemäße Schaltung mit den kennzeichnenden Merkmalen
des Hauptanspruchs hat demgegenüber den Vorteil, daß der
Zugriff der beiden Rechner zum gemeinsamen Speicher auf einfache
Weise über die Statusleitung und eine logische Verriegelung
der beiden Bustreiber gesteuert wird. Durch diese
logische Verknüpfung ist die Schaltung funktionssicher und
durch die invertierte Bustreiberfreigabe ist eine Buskollision
ausgeschlossen, da sich ein Bustreiber grundsätzlich im hochohmigen
Zustand (Tristate) befindet. Die Schaltung ist durch
den möglichen Einsatz von Standardbauelementen preisgünstig
und wegen des geringen Bauelementebedarfs zudem platzsparend.
Die Zugriffszeiten sind schnell und nur vom Speicher und Bustreiber
abhängig. Der Anschlußaufwand ist gering (25 Leitungen
incl. Versorgung und Reset). Weiter ist die Schaltung kompatibel
für gemultiplexte Adreß-/Datenbusse. Zudem ist die Schaltung
softwarefreundlich, da sowohl ein Handshake- und Master-
Slave-Verfahren möglich ist, bei minimalem Steuerungsaufwand
(pro Rechner ein Einzelport).
Zweckmäßig werden die Statusleitungen mit einem Zwischenschaltkreis
(Buffer) verbunden, mit dem die Steuersignale (,
, ALE) der beiden Rechner je nach dem Schaltzustand der
Statusleitungen zum Speicher freigegeben sind. Somit ist auch
hier durch eine logische Verknüpfung eine Verriegelung bei den
Steuersignalen verwirklicht, die die Funktionssicherheit erhöht.
Eine vorteilhafte Weiterbildung wird erreicht, wenn bei einer
Erkennung eines Programmablauffehlers im entsprechenden Rechner
alle Anschlüsse (Ports) auf "high" geschaltet werden. Dadurch
ist ein einseitiger Datenverkehr mit dem Speicher bei
Ausfall eines Rechners und somit eine Notlauffunktion möglich.
Auch bei Ausfall beider Rechner ist eine Buskollision bzw. ein
Buskurzschluß durch die logische Verknüpfung der Bustreiber
ausgeschlossen.
Durch die Verwendung eines Zeitglieds am Freigabeanschluß (CS)
des Speichers wird eine Datensicherung beim Ein- bzw. Ausschalten
sowie beim Einbruch der Versorgung erreicht. Während
der Einschaltphase wird der Speicher durch ein Rücksetzsignal
und anschließend durch das Zeitglied verzögert freigegeben.
Beim Ausschalten sowie bei Versorgungseinbrüchen sichert das
Zeitglied, daß ein evtl. laufender Schreibvorgang abgeschlossen
werden kann.
Die Erfindung wird anhand der Zeichnung näher erläutert. Die
einzige Fig. zeigt eine Schaltung mit zwei Rechnern, die über
einen Speicher gekoppelt sind.
In der Fig. sind zwei Rechner 1, 2 dargestellt, die über Ports
P 1, P 2 an Busse 3, 4 angeschlossen sind. Der strichliert eingerahmte
Schaltungsteil 5, in den die Busse 3, 4 führen, entspricht
somit einem Speicher zur Datenkopplung der beiden
Rechner 1, 2 mit jeweils einem Port (Dual-Port-RAM).
Sowohl der Bus 3 als auch der Bus 4 führen zu entsprechenden
Bustreibern 6, 7 und über einen gemeinsamen Bus 8 zu einem
Port P 3 eines Speichers 9 (RAM). Der Busanschluß der beiden
Rechner 1 und 2 an den Speicher 9 ist somit völlig symmetrisch.
Lesesignale 1 und 2 sowie Schreibsignale 1 und 2 sind
über einen Zwischenschaltkreis 10 (Buffer) zum Speicher 9 geführt.
Durch Signale an den Rechnerausgängen ALE 1 bzw. ALE 2
(Adress Latch Enable) wird der im Speicher 9 enthaltene
Adreßspeicher aktiviert. Diese Signale sind ebenfalls über
den Zwischenschaltkreis 10 geführt. Das Lesesignal 1 bzw.
2 ist zusätzlich in einer Abzweigung vor dem Zwischenschaltkreis
10 auf die entsprechenden Bustreiber 6 bzw. 7 an einen
Eingang DIR 1 bzw. DIR 2 geführt, wodurch je nach Schaltzustand
eine Busrichtung durch den entsprechenden Bustreiber 6 bzw. 7
freigegeben wird. Somit ist auch der Anschluß der beiden Rechner
1, 2 hinsichtlich der Steuerleitungen symmetrisch.
Die Statussignalleitung 11 führt vom Anschluß STATUS 1 des
Rechners 1 zum Zwischenschaltkreis 10, einem Invertierglied
(15) sowie zum Anschluß STATUS 2 des Rechners 2. Die Statusleitung
11 ist über eine weitere Leitung 13 mit einem Freigabeeingang
E 1 des Bustreibers 6 verbunden. Der Bustreiber 7 bzw.
dessen Freigabeeingang E 2 ist über eine Leitung 14 und ein
Invertierglied 15 ebenfalls mit der Statussignalleitung 11 der
Rechner verbunden.
An einem Freigabeanschluß CS des Speichers 9 ist über ein
Zeitglied 16 sowohl die Versorgungsspannung V cc sowie ein
Rücksetzsignal angeschlossen. Die Lesesignale 1 bzw.
2, die Schreibsignale 1 bzw. 2 und die ALE-Signale sind
über den Zwischenschaltkreis 10 an entsprechende Anschlüsse
3, 3 und ALE 3 des Speichers 9 geführt.
Die Funktion der Schaltung wird anhand des Beispiels eines
Lesezyklus des Rechners 2 aus dem Speicher 9 erläutert. Der
Rechner 1 ist dabei der Master-Rechner. Für den Lesezyklus des
Rechners 2 liegt der Ausgang STATUS 1 des Rechners 1 auf "high."
Dadurch wird über die Leitung 13 der Bustreiber entsprechend
angesteuert und in den hochohmigen Zustand (Tristate) geschaltet.
Zugleich wird über die Leitung 14 auch der Bustreiber 7
angesteuert, jedoch wegen des Invertierglieds 15 mit "low"-
Signale, wodurch über den Bustreiber 7 der Zugriff für den
Rechner 2 auf den Speicher 9 freigegeben wird.
Der Rechner 2 kann nun zu einem beliebigen Zeitpunkt (beispielsweise
über die Statussignalleitung 11 "select" = "low")
seine Steuersignale 2, 2, ALE 2 über den Zwischenschaltkreis
10 auf den Speicher 9 schalten. Der Adreßdatenbus des
Rechners 2 ist dabei (select = "low") über den Bustreiber 7
auf den Speicher 9 geschaltet. Zu Beginn des Lesevorgangs wird
die Speicheradresse vom Rechner 2 auf den Bus 4, 8 gelegt und
mit dem Signal ALE 2 = "high" vom Speicher 9 übernommen. Danach
wird mit dem Signal 2 = "low" die Busrichtung umgekehrt und
die vom Speicher bereitgestellten Daten vom Rechner 2 übernommen.
Claims (4)
1. Schaltung zur Datenkopplung von zwei Rechnern (1, 2) mit
einem Speicher (9), mit einer die zwei Rechner (1, 2) verbindenden
Statusleitung (11) und mit einem ersten Bustreiber (6),
mit einem zweiten Bustreiber (7) und mit einem Datenbus (3, 4,
8), der die beiden Rechner (1, 2) über die Bustreiber (6, 7)
und den Speicher (9) verbindet, dadurch gekennzeichnet, daß
die Statusleitung (11) eines Rechners (1) mit einem Freigabesteuereingang
(E 1) eines Bustreibers (6) direkt und mit einem
Freigabesteuereingang (E 2) des anderen Bustreibers (7) über
ein Invertierglied (15) verbunden ist, so daß nur jeweils ein
Bustreiber freigegeben und der andere Bustreiber gesperrt ist.
2. Schaltung nach Anspruch 1, dadurch gekennzeichnet, daß die
Statusleitung (11) mit einem Zwischenschaltkreis (Buffer 10)
verbunden ist, an den die Steuersignale ( 1, 1, ALE 1 und
2, 2, ALE 2) beider Rechner (1, 2) angeschlossen sind und
der je nach Schaltzustand der Statusleitung (11) die Steuersignale
des Rechners zur Durchschaltung freigibt, dessen zugeordneter
Bustreiber freigegeben ist.
3. Schaltung nach Anspruch 1 oder 2, dadurch gekennzeichnet,
daß bei einer Erkennung eines Programmablauffehlers der entsprechende
Rechner durch die Software bzw. Hardware zurückgesetzt
wird und dadurch alle Anschlüsse (Ports) des entsprechenden
Rechners auf "high" geschaltet werden, wodurch der
andere Rechner weiter die Möglichkeit des Ein- und Auslesens
aus dem Speicher (9) behält.
4. Schaltung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet,
daß der Speicher (9) über einen Freigabeanschluß
(CS) freigegeben wird, wobei dieser über ein Zeitglied (16)
sowohl mit der Versorgungsspannung (V cc) als auch mit einer
Rücksetzleitung () verbunden ist, wobei über die Rücksetzleitung
ein Rücksetzsignal in der Einschaltphase bzw. bei Einbruch
der Digitalversorgung für eine definierte Zeit, z. B.
durch einen Stabi, eine Unterspannungserkennungsschaltung oder
eine externe Baugruppe gesendet wird.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19873732007 DE3732007A1 (de) | 1987-09-23 | 1987-09-23 | Schaltung zur datenkopplung von zwei rechnern mit einem speicher |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19873732007 DE3732007A1 (de) | 1987-09-23 | 1987-09-23 | Schaltung zur datenkopplung von zwei rechnern mit einem speicher |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3732007A1 true DE3732007A1 (de) | 1989-04-06 |
Family
ID=6336669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19873732007 Withdrawn DE3732007A1 (de) | 1987-09-23 | 1987-09-23 | Schaltung zur datenkopplung von zwei rechnern mit einem speicher |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE3732007A1 (de) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3832144A1 (de) * | 1988-09-22 | 1990-03-29 | Licentia Gmbh | Befestigungsvorrichtung fuer einen im laugenbehaelter von waschmaschinen einsetzbaren mantelrohrheizstab |
DE4138033A1 (de) * | 1991-11-19 | 1993-05-27 | Univ Magdeburg Tech | Verfahren zur datenuebergabe |
EP0577919A1 (de) * | 1992-07-04 | 1994-01-12 | Moeller GmbH | Zugriffssteuerung für gekoppelte maskenprogrammierte Mikrocontroller |
DE19903176A1 (de) * | 1999-01-21 | 2000-08-03 | Sikom Sicherheits Und Kommunik | Verfahren zur Übernahme von Bildsignalen in einen Speicher und Schaltungsanordnung zur vorübergehenden Umschaltung des Systemtaktes eines digitalen Signalprozessors oder eines Mikroprozessors |
-
1987
- 1987-09-23 DE DE19873732007 patent/DE3732007A1/de not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3832144A1 (de) * | 1988-09-22 | 1990-03-29 | Licentia Gmbh | Befestigungsvorrichtung fuer einen im laugenbehaelter von waschmaschinen einsetzbaren mantelrohrheizstab |
DE4138033A1 (de) * | 1991-11-19 | 1993-05-27 | Univ Magdeburg Tech | Verfahren zur datenuebergabe |
EP0577919A1 (de) * | 1992-07-04 | 1994-01-12 | Moeller GmbH | Zugriffssteuerung für gekoppelte maskenprogrammierte Mikrocontroller |
DE19903176A1 (de) * | 1999-01-21 | 2000-08-03 | Sikom Sicherheits Und Kommunik | Verfahren zur Übernahme von Bildsignalen in einen Speicher und Schaltungsanordnung zur vorübergehenden Umschaltung des Systemtaktes eines digitalen Signalprozessors oder eines Mikroprozessors |
DE19903176C2 (de) * | 1999-01-21 | 2001-03-08 | Sikom Sicherheits Und Kommunik | Verfahren zur Übernahme von Bildsignalen in einen Speicher und hierzu geeignete Schaltungsanordnung |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2522748C2 (de) | Peripheriekopplungsadapter zur Steuerung der Informationsübertragung zwischen einer Datensammelleitung eines Zentralprozessors und daran angeschlossenen peripheren Einheiten | |
EP1820102A2 (de) | Verfahren und vorrichtung zur taktumschaltung bei einem mehrprozessorsystem | |
DE19649676A1 (de) | Peripherieeinheitwählsystem | |
DE3837699A1 (de) | Systembuserweiterung zur kopplung multimasterfaehiger mehrrechnersysteme | |
DE3302929A1 (de) | Speicherprogrammierbare steuerung | |
EP0050305A1 (de) | Einrichtung zur Steuerung des Zugriffes von Prozessoren auf eine Datenleitung | |
DE2719278B2 (de) | Schaltungsanordnung für hintereinander geschaltete Steuereinheiten zum Anschluß von Ein/Ausgabegeraten an eine Datenverarbeitungsanlage | |
DE2364253A1 (de) | Schaltungsanordnung fuer mikroprogrammierte geraete der datenverarbeitung | |
DE3501194A1 (de) | Verfahren und vorrichtung zum datenaustausch zwischen mikroprozessoren | |
DE2412634C3 (de) | Prozessor für eine Kleinstrechenanlage | |
DE3732007A1 (de) | Schaltung zur datenkopplung von zwei rechnern mit einem speicher | |
DE4429764C2 (de) | Zeitgebereinrichtung für einen Mikrocomputer | |
EP0804765B1 (de) | Fehlererkennung und fehlerbeseitigung bei einem seriellen datenbussystem | |
DE4312090C2 (de) | Digitalprozessor | |
EP0301160A2 (de) | System mit zwei Mikroprozessoren und einem gemeinsamen Schreibe-Lese-Speicher | |
DE2150011C3 (de) | Datenübertragungsanordnung | |
DD254077A1 (de) | Mikrorechneranordnung zum einsatz in multimikrorechnersystemen | |
DE2736061C2 (de) | Zelle für eine Matrix mit homogener Struktur | |
WO2000025225A1 (de) | Datenbus und verfahren zum kommunizieren zweier baugruppen mittels eines solchen datenbusses | |
EP0067982A2 (de) | Mikrorechneranordnung, vorzugsweise für den Einsatz in Multimikrorechnersystemen | |
DD252904A1 (de) | Schaltungsanordnung zu interrupterweiterung bei mikrorechnern | |
EP0420203A2 (de) | Schaltungsanordnung zur Ansteuerung eines bidirektionalen Bustreibers | |
DE2821941B2 (de) | Prozessor mit einer Zentraleinheit zur Durchführung eines Informationsvergleiches | |
DE2717025B2 (de) | Bidirektionaler Ein-Ausgabepuffer für ein Mikrocomputersystem | |
DE10062635A1 (de) | Übertragungsschnittstelle zwischen Prozessoren und einer integrierten Halbleiter-Schaltkreisvorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |