DE3613428C2 - - Google Patents

Info

Publication number
DE3613428C2
DE3613428C2 DE19863613428 DE3613428A DE3613428C2 DE 3613428 C2 DE3613428 C2 DE 3613428C2 DE 19863613428 DE19863613428 DE 19863613428 DE 3613428 A DE3613428 A DE 3613428A DE 3613428 C2 DE3613428 C2 DE 3613428C2
Authority
DE
Germany
Prior art keywords
signal
flop
flip
input
tri
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
DE19863613428
Other languages
English (en)
Other versions
DE3613428A1 (de
Inventor
Gerhard 8900 Augsburg De Melzer
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE19863613428 priority Critical patent/DE3613428A1/de
Publication of DE3613428A1 publication Critical patent/DE3613428A1/de
Application granted granted Critical
Publication of DE3613428C2 publication Critical patent/DE3613428C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

Die Erfindung betrifft eine Schaltungsanordnung nach dem Oberbegriff des Patentanspruchs 1.
Sinn und Zweck eines Mehrprozessorsystems ist es, durch Verteilung der zu lösenden Aufgaben auf mehrere Prozesso­ ren die Datenverarbeitungsgeschwindigkeit des Systems zu erhöhen. Optimale Bedingungen treten bei Parallelarbeit aller Prozessoren auf. Dazu ist vorteilhafterweise jedem Prozessor mindestens ein eigener Arbeitsspeicher zugeord­ net, auf den der jeweilige Prozessor völlig unabhängig von den anderen Prozessoren nach Belieben zugreifen kann. Manche Prozessoren können auch für spezielle Aufgaben mit einem zur ausschließlichen Benutzung zugeteilten Periphe­ riegerät ausgerüstet sein.
Die meisten Peripheriegeräte jedoch müssen mehreren Pro­ zessoren zugänglich sein, um eine gewisse Flexibilität im System zu erhalten und dadurch die Leistungsfähigkeit der Peripheriegeräte und Prozessoren besser ausnützen zu kön­ nen. Physikalisch wird dies durch ein gemeinsames Bussy­ stem erreicht, dem des weiteren auch ein den Prozessoren gemeinsamer Speicherbereich zugeordnet ist, der die Ver­ ständigung und Datenübertragung der Prozessoren unterein­ ander ermöglicht. Um die vorhandenen Datenmengen zu koor­ dinieren, wird der gemeinsame Speicherbereich vereinba­ rungsgemäß in Teilbereiche aufgeteilt, über die dann die Datenübertragung von einem Prozessor zum andern erfolgen kann.
Diese Speicherteilbereiche sollten, ebenso wie die vorher erwähnten Peripheriegeräte, von mehreren Prozessoren be­ nützbar sein. Somit ist es aber möglich, daß mindestens zwei Prozessoren zugleich auf dasselbe Betriebsmittel, bestehend aus einem Peripheriegerät oder einem Speicher­ teilbereich zugreifen können.
Um solche Kollisionsfälle zu vermeiden, ist es als ein­ fachste Lösung bekannt, den Belegt- oder Freizustand der von mehreren Prozessoren benützbaren Betriebsmittel in jeweils einer nur zu diesem Zweck reservierten, als Sema­ phor bezeichneten Speicherzelle des gemeinsamen Speicher­ bereichs anzuzeigen.
Bevor ein Prozessor auf ein gemeinsames Betriebsmittel zugreifen möchte, muß er den Inhalt der dem Betriebsmit­ tel zugeordneten Speicherzelle abfragen. Wird dabei der Freizustand des Betriebsmittels erkannt, ist die Spei­ cherzelle mit dem Belegtzustand zu beschreiben, bevor der Zugriff auf das nunmehr den anderen Prozessoren als be­ legt gekennzeichnete Betriebsmittel erfolgen darf. Nach Gebrauch des Betriebsmittels muß wieder der Freizustand in die Speicherzelle eingetragen werden.
Eine Kollision von Mehrfachzugriffen der Prozessoren scheint somit ausgeschlossen, jedoch birgt das gemeinsame Bussystem eine versteckte Lücke, die weitere Kollisions­ fälle entstehen lassen kann.
Das gemeinsame Bussystem wird von einer Prioritätssteue­ rung in der Regel nach Abschluß eines jeden Buszugriffs neu an einen der das gemeinsame Bussystem anfordernden Prozessoren vergeben. Somit kann es vorkommen, daß ein Prozessor mit einem ersten Buszugriff die einem Betriebs­ mittel zugeordnete Speicherzelle ausliest, den Freizu­ stand des Betriebsmittels erkennt, ihm aber dann das Bus­ system entzogen wird.
Ein anderer Prozessor kann nunmehr dieselbe Speicherzelle auslesen und auch den Freizustand des Betriebsmittels erkennen. Eine Kollision der Prozessoren wird die unabdingbare Folge sein.
Es ist also die Ununterbrechbarkeit der Lese-Schreib-Zugriffe auf die Speicherzelle notwendig, um die Sicherheit vor einer Kollision zu gewährleisten. Einige Prozessorsysteme bieten mit einem Befehl in ihrer Maschinensprache (Lock-Befehl) diese Möglichkeit an, bei vielen anderen Systemen aber sind aufwendige Schaltungsanordnungen eingesetzt, die zudem aus Synchronisationsgründen eine verlängerte Zugriffsdauer auf die Speicherzelle erfordern und somit das System verlangsamen.
Aus der Patentschrift DD 2 23 556 ist eine Schaltungsanordnung für einen sogenannten Globalsemaphor zur Vergabe einer Zubegriffsberechtigung an einen von mehreren ein gemeinsames Bussystem anfordernden Prozessormoduln bekannt. Mit diesem Globalsemaphor ist eine Neuvergabe der Zugriffsberechtigung nur unter der Voraussetzung möglich, daß der zuletzt zugriffsberechtigte Prozessormodul seine Zugriffsberechtigung von sich aus zurückgegeben hat.
Die Aufgabe der vorliegenden Erfindung besteht nun darin, eine Schaltungsanordnung zur Hinterlegung des Belegt- oder Freizustandes eines Betriebsmittels anzugeben, das über ein mehreren Prozessoren gemeinsames Bussystem erreichbar ist, wobei die Zugriffsberechtigung auf das gemeinsame Bussystem einem jeweiligen Prozessor entzogen werden kann.
Gelöst wird die Aufgabe erfindungsgemäß durch die im kennzeichnenden Teil des Anspruchs 1 angegebenen Merkmale.
Eine derartige Schaltungsanordnung erfordert zum Eintragen des Belegt- oder Freizustandes in die Speicherzelle jeweils nur einen Lese- bzw. Schreibzugriff, sie erhöht dadurch also auch die Verarbeitungsgeschwindigkeit im System. Umständliche Verriegelungsschaltwerke werden mit dieser Schaltungsanordnung überflüssig. Überdies ist keine Anpassung an prozessorspezifische Eigenschaften oder an die Anzahl der im System vorhandenen Prozessoren nötig, weshalb die Schaltungsanordnung als universell verwendbar anzusehen ist.
Eine vorteilhafte Schaltungsanordnung der Erfindung er­ gibt sich aus dem Unteranspruch.
Anhand der Zeichnung wird im folgenden ein Ausführungs­ beispiel der Erfindung näher erläutert.
Dabei zeigt die Figur die Schaltungsanordnung einer der in einem Mehrprozessorsystem vorhandenen Speicherzellen, die jeweils einem von mehreren Prozessoren gemeinsam be­ nützbaren Betriebsmittel, bestehend aus einem Peripherie­ gerät oder einem Speicherbereich zugeordnet sind.
In der Figur ist eine D-Kippstufe KS, ein erstes UND- Glied UG 1, ein zweites UND-Glied UG 2 und ein abschaltbarer Ausgangstreiber TRI dargestellt.
Am D-Eingang D der Kippstufe KS liegt ständig ein aktiver Signalpegel an, der einem logischen "1"-Wert entspricht. Der Ausgang Q der Kippstufe KS ist über den abschaltbaren Ausgangstreiber TRI auch Tri-state-Ausgangspuffer genannt, mit einer Datenleitung DB eines mehreren Prozessoren gemeinsamen Bussystems verbunden. Der am D-Eingang D anliegende logische "1"-Wert wird mit einer fallenden Flanke am negierten Takteingang der Kippstufe KS synchron auf den Ausgang Q der Kippstufe KS durchgeschaltet.
Ein erstes UND-Glied verknüpft ein bei Adressierung der Speicherzelle aktives Adreßbereichsignal SEL und das Lesesignal RD des momentan auf dem gemeinsamen Bussystem aktiven Prozessors zu einem Setzsignal SET, das dem negierten Takteingang der Kippstufe KS und dem Steuereingang des abschaltbaren Ausgangstreibers TRI zugeführt ist. Der abschaltbare Ausgangstreiber TRI gibt das an seinem Eingang anliegende Signal nur bei aktivem Setzsignal SET an seinen Ausgang weiter.
Das Adreßbereichsignal SEL wird des weiteren von dem zweiten UND-Glied UG 2 mit dem Schreibsignal WR des momentan auf dem gemeinsamen Bussystem aktiven Prozessors zu einem Rücksetzsignal RST verknüpft, das auf den Rücksetzeingang R der Kippstufe KS geführt ist. Ein aktiver Signalpegel ("1"-Wert) am Rücksetzeingang R schaltet unabhängig vom Takteingang, also asynchron, einen "0"-Wert an den Ausgang Q der Kippstufe KS.
Die Adresse der einem Betriebsmittel zugeordneten Spei­ cherzelle ist im gemeinsamen Bussystem festgelegt und den Prozessoren bekannt, die das zugehörige Betriebsmit­ tel benützen können. Ein Prozessor muß, sobald er ein Be­ triebsmittel benötigt, zuerst einen Lesezugriff auf die zugeordnete Speicherzelle ausführen. Während des Lesens ist das Setzsignal SET aktiv und der Prozessor liest über die Datenleitung DB den von der Kippstufe KS gespeicher­ ten logischen Wert aus. Dabei bedeutet ein logischer "1"-Wert den Belegtzustand und ein logischer "0"-Wert den Freizustand des Betriebsmittels.
Wird ein Freizustand erkannt, ist mit Beendigung des Le­ sezugriffs der Belegtzustand hinterlegt worden, da mit einer Deaktivierung des Setzsignals SET die Kippstufe KS einen logischen "1"-Wert speichert. Bei jedem weiteren Lesezugriff auf die Speicherzelle wird nunmehr ein Be­ legtzustand ausgelesen.
Benötigt nun derjenige Prozessor, der das Betriebsmittel belegt hatte dieses nicht mehr, muß er es mit einem be­ liebigen Schreibzugriff auf die Speicherzelle, wodurch die Kippstufe KS zurückgesetzt wird, wieder freigeben.

Claims (2)

1. Schaltungsanordnung in einem Mehrprozessorsystem für eine den Belegtzustand eines von den Prozessoren gemeinsam be­ nutzbaren Betriebsmittels anzeigende Speicherzelle, die von den Prozessoren über ein gemeinsames Bussystem gele­ sen und beschrieben werden kann, dadurch gekennzeichnet, daß als Speicherzelle eine wenigstens einen synchronen Eingang aufweisende Kippstufe (KS) vorgesehen ist, bei der an jedem synchronen Eingang ein konstanter logischer Spannungswert anliegt, und deren Ausgangssignal über einen abschaltbaren Ausgangstreiber (TRI) auf eine Datenleitung (DB) des gemeinsamen Bussystems geführt ist, daß ein Lesesignal (RD) und ein Adreßbereichsignal (SEL) über eine erste UND-Verknüpfung (UG 1) zu einem Setzsignal (SET) verknüpft sind, das auf den Takteingang der Kippstufe (KS) und auf den Steuereingang des abschaltbaren Ausgangstreibers (TRI) geführt ist und daß das Adreßbereichsignal (SEL) über eine zweite UND-Verknüpfung (UG 2) mit einem Schreibsignal (WR) zu einem Rücksetzsignal (RST) verknüpft ist, das auf einen asynchronen Eingang (R) der Kippstufe (KS) geführt ist.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß als Speicherzelle eine mit einer fallenden Flanke taktenden D-Kippstufe (KS) vorgesehen ist, an deren D-Eingang ein ständig aktives Signal ("1") anliegt, daß das Ausgangssignal der D-Kippstufe (KS) einem Tri-state-Ausgangspuffer (TRI) zugeführt ist und daß der Rücksetzeingang (R) der D-Kippstufe (KS) mit dem Rücksetzsignal (RST) beaufschlagt ist.
DE19863613428 1986-04-21 1986-04-21 Schaltungsanordnung zur anzeige des belegtzustands eines betriebsmittels Granted DE3613428A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19863613428 DE3613428A1 (de) 1986-04-21 1986-04-21 Schaltungsanordnung zur anzeige des belegtzustands eines betriebsmittels

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19863613428 DE3613428A1 (de) 1986-04-21 1986-04-21 Schaltungsanordnung zur anzeige des belegtzustands eines betriebsmittels

Publications (2)

Publication Number Publication Date
DE3613428A1 DE3613428A1 (de) 1987-10-22
DE3613428C2 true DE3613428C2 (de) 1990-02-01

Family

ID=6299159

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19863613428 Granted DE3613428A1 (de) 1986-04-21 1986-04-21 Schaltungsanordnung zur anzeige des belegtzustands eines betriebsmittels

Country Status (1)

Country Link
DE (1) DE3613428A1 (de)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DD223556A1 (de) * 1983-11-03 1985-06-12 Alademie Der Wissenschaften De Schaltungsanordnung fuer einen globalsemaphor in heterogenen multiprozessorsystemen

Also Published As

Publication number Publication date
DE3613428A1 (de) 1987-10-22

Similar Documents

Publication Publication Date Title
DE3586352T2 (de) Busarbiter fuer datenverarbeitungssystem mit einem ein-/ausgabekanal.
DE3782045T2 (de) Rechnersystem mit multikanaldirektspeicherzugriffsarbitrierung.
DE69521549T2 (de) Verfahren zur Verwaltung gemeinsamer Mittel mehrerer Verarbeitungseinheiten
DE68915701T2 (de) Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung.
DE69031231T2 (de) Synchronisierung und Verarbeitung von Speicherzugriffsoperationen
DE69834739T2 (de) Ausgleichen von daten die zwischen verschiedenen leitern fliessen die auf unterschiedlichen frequenzen operieren
DE3689198T2 (de) Systembus für Kommunikation zwischen Prozessoren.
DE68903693T2 (de) Einrichtung zur datenverarbeitung.
DE2523372B2 (de) Eingabe-ZAusgabe-Anschlußsteuereinrichtung
DE69515355T2 (de) Mehrfacharbitrierungsschema
DE69030678T2 (de) Datenübertragungsbetrieb zwischen zwei asynchronen Bussen
DE3049774T1 (de) Time sharing device for the access to a main memory connected to a single bus between a central computer and a plurality of peripheral computers
EP0739509B1 (de) Anordnung mit master- und slave-einheiten
EP0062141B1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
DE69312174T2 (de) Gerät zur Verwaltung von Zugriffspriorität zu gemeinsamen Betriebsmitteln von unter einer Vielzahl von lokalen Einheiten verteilten Funktionsmodulen, von denen jede eine lokale "Daisy-Chain"-Schaltung formt
DE3613428C2 (de)
DE3855718T2 (de) Ubertragungssystem zwischen Prozessoren in einem Nachrichtenverarbeitungssystem mit Übertragung zwischen Ausführungsprozessoren während Übertragung zwischen anderen Prozessoren
DE69827879T2 (de) Zeitmultiplexschema zur Verklemmungsauflösung in distribuierter Arbitrierung
DE10128475A1 (de) Mehrprozessorsystem mit geteiltem Arbeitsspeicher
DE69800095T2 (de) Schnelles Semaphoreregister mit einer sicheren Arbeitsweise ohne spezifisches Busprotokoll
DE69129844T2 (de) Bussteuervorrichtung
DE2900380C2 (de)
DE69329631T2 (de) Verfahren zur Rückstellung gekoppelter Module und ein dieses Verfahren verwendendes System
EP0298220B1 (de) Betriebsmittelzugriffssynchronisierungseinrichtung für einen Computer mit einer Mehrzahl von Baugruppen
DE2252380C3 (de) Datenverarbeitungsanordnung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee