DE4333226A1 - Verfahren und Vorrichtung zur Steuerung des Zugriffs zu Dual-Port-Speichern - Google Patents

Verfahren und Vorrichtung zur Steuerung des Zugriffs zu Dual-Port-Speichern

Info

Publication number
DE4333226A1
DE4333226A1 DE19934333226 DE4333226A DE4333226A1 DE 4333226 A1 DE4333226 A1 DE 4333226A1 DE 19934333226 DE19934333226 DE 19934333226 DE 4333226 A DE4333226 A DE 4333226A DE 4333226 A1 DE4333226 A1 DE 4333226A1
Authority
DE
Germany
Prior art keywords
access
memory
read
data
subscriber
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.)
Ceased
Application number
DE19934333226
Other languages
English (en)
Inventor
Edgar Dipl Ing Polly
Heinz Dipl Ing Schaffner
Achim Dipl Ing Zimmermann
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.)
Schneider Automation GmbH
Original Assignee
Licentia Patent Verwaltungs GmbH
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 Licentia Patent Verwaltungs GmbH filed Critical Licentia Patent Verwaltungs GmbH
Priority to DE19934333226 priority Critical patent/DE4333226A1/de
Publication of DE4333226A1 publication Critical patent/DE4333226A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)

Description

Die Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zur Steuerung des Zugriffs zu einem zwei Teilnehmern gemeinsamen Schreib/Lesespeicher, mit dem die Teilnehmer durch Lese-, Schreibzyklen asynchron in Verbindung treten.
Es ist bereits eine Teilnehmer-Synchronisierschaltung zur Steuerung des Zugriffs zweier Teilnehmer zu einem gemeinsamen Schreib/Lesespeicher bekannt. Die beiden Teilnehmer treten durch Lese- oder Schreibzyklen asynchron mit dem Schreib/Lesespeicher in Verbindung. Die Teilnehmer- Synchronisierschaltung enthält zwei Startgeneratoren, die je einem Teilnehmer zugeordnet sind und durch einen Lese- oder Schreibimpuls aktiviert werden. Die Startgeneratoren erzeugen Steuersignale für die Datenwege zwischen den Teilnehmern und dem Schreib/Lesespeicher und sind so miteinander gekoppelt, daß bei gleichzeitigem Auftreten der Lese- oder Startsignale der beiden Teilnehmer nur ein Teilnehmer Zugriff zu Schreib/Lesespeicher erhält (DE 30 21 300 C2).
Zum Datenaustausch zwischen Prozessoren werden vielfach marktgängige DPM-Bausteine (Dual-Ported-Memory) verwendet. Diese ermöglichen den beiden Prozessoren unabhängig voneinander Zugriff zum gemeinsamen Schreib/Lesespeicher. Falls beide Prozessoren gleichzeitig auf die gleiche Adresse und damit auf die gleiche Speicherzelle zugreifen, können Schreib- und Lesefehler entstehen. Um dies zu vermeiden, muß eine Semaphoren- Steuerung vorgesehen werden.
Die Steuerung kann Zeiten vorgeben, die jeder Teilnehmer warten muß, bis er zugreifen darf und Zeiten, die er maximal zugreifen darf. Es ist auch möglich, spezielle Prozessoren zu verwenden, die nicht unterbrechbar lesen und schreiben. Zur Sicherheit kann auch zweimal direkt hintereinander die gleiche Date geschrieben und zweimal im Abstand gelesen und verglichen werden. Diese Prozedur muß bei Ungleichheit wiederholt werden.
Bekannt ist eine Anordnung mit zwei asynchron arbeitenden Mikroprozessoren, denen ein Schreib/Lesespeicher gemeinsam ist, von denen nur einer zur gleichen Zeit Zugriff zum Schreib/Lesespeicher hat. Eine Entscheidungsschaltung regelt die Priorität des Zugriffs zum Schreib/Lesespeicher, wenn beide zugleich Zugriff suchen (EP 0 106 557 A2).
Der Erfindung liegt die Aufgabe zugrunde, ein einfaches und schnelles Verfahren und eine entsprechende Vorrichtung zum asynchronen Zugriff zweier Teilnehmer zu einem Schreib/Lesespeicher zu entwickeln, ohne daß den Prozessoren Zeitvorgaben für den Zugriff und die Zugriffsdauer gemacht werden müssen und ohne daß spezielle Befehle der Mikroprozessoren für den Zugriff notwendig sind.
Die Aufgabe wird erfindungsgemäß für das Verfahren dadurch gelöst, daß jedem Teilnehmer ein Datenelement zugeordnet ist, das zwei Zustände annehmen kann, von denen einer zum Zwecke eines Zugriffs zum Schreib/Lesespeicher vom jeweiligen Teilnehmer erzeugt und danach gespeichert wird und nach Speicherung den Zugriff freigibt und der andere vom jeweiligen Teilnehmer erzeugt, gespeichert wird und gespeichert bleibt, wenn kein Zugriff zum Schreib/Lesespeicher verlangt wird, daß durch eine Überwachung verhindert wird, daß beide Datenelemente zugleich dem jeweiligen Zugriff entsprechenden Zustände annehmen oder haben und daß von demjenigen Teilnehmer, der während der Zeit, in der beide Datenelemente den keinem Zugriff zugeordneten Zustand aufweisen, das einem Zugriff zugeordnete Datenelement erzeugt, das Datenelement in Abhängigkeit von einer Flanke eines Taktsignals mit vorgegebener Richtung gespeichert wird, nach dessen Speicherung der Zugriff für den Teilnehmer freigegeben wird. Bei diesem Verfahren benötigen die Teilnehmer keine speziellen Befehle für die Regelung des Zugriffs zum Schreib/Lesespeicher.
Es ist von jedem Teilnehmer nur das entsprechende Datenelement zu erzeugen, das anschließend in Abhängigkeit vom Zustand des Datenelements des anderen Teilnehmers und von der Bedeutung, die dem erzeugten Datenelement zugeordnet ist, gespeichert wird oder nicht. Die Erzeugung von Datenelementen ist mit nahezu allen Prozessoren möglich. Es müssen keinerlei Zeitabschnitte erzeugt werden und es existiert keine systemweite Zeitgrenze, so daß jeder Teilnehmer den gemeinsamen Schreib/Lesespeicher flexibel benutzen kann.
Vorzugsweise erzeugt derjenige Teilnehmer, der Zugriff zum Schreib/Lesespeicher verlangt, das Datenelement, schreibt dieses in den dem Datenelement zugeordneten Speicher einmalig ein und liest den Speicher aus, bis er das Datenelement erkennt und danach zum Schreib/Lesespeicher zugreift. Der Zugriff wird hierdurch eindeutig geregelt. Wenn der andere Teilnehmer bereits Zugriff zum Speicher hat, verhindert die Überwachung das Einschreiben des Datenelements. Der Teilnehmer muß dann zu einem späteren Zeitpunkt den Zugriff erneut einleiten.
Zweckmäßigerweise ist das Datenelement ein Bit, dessen zwei binären Wertigkeiten jeweils der Zugriff zum Schreib/Lesespeicher und der Nichtzugriff zugeordnet sind.
Bei einer bevorzugten Ausführungsform ist vorgesehen, daß nach der Speicherung des einem Zugriff eines Teilnehmers zugeordneten Datenelements dieses vom Teilnehmer gelesen wird, der danach ein einem ausgewählten Speicherbereich des Schreib/Lesespeicher zugeordnetes Statusbyte prüft, das Daten über die Aufnahmebereitschaft des Speicherbereichs oder über einen vom anderen Teilnehmer abzurufenden Inhalt hat, und daß bei vorhandener Aufnahmebereitschaft die Daten eingelesen werden und in das Statusbyte ein Auftrag zum Auslesen für den anderen Teilnehmer eingetragen wird. Der Schreib/Lesespeicher ist bei dieser Ausführungsform in einzelne Bereiche aufgeteilt, die je ein Statusbyte aufweisen. In den Bereichen können wahlweise Daten, die vom einen oder anderen Teilnehmer gelesen werden sollen, eingegeben werden. Günstig ist es, wenn jeder Teilnehmer die Statusbyte der Speicherbereiche nacheinander liest, bei vorhandenen Leseaufträgen die entsprechenden Speicherbereiche ausliest und die Auslesung in den Statusbytes quittiert.
Die Zugriffsprozedur über die Datenelemente verhindert, daß die beiden Teilnehmer gleichzeitig das gleiche Statusbyte zu lesen versuchen.
Eine Anordnung zur Durchführung des oben beschriebenen Verfahrens besteht erfindungsgemäß darin, daß ein Ein-Bit-Speicher für jeden Teilnehmer zur Speicherung von Zugriffsanforderungen vorgesehen ist, daß jedem Ein-Bit-Speicher ein weiterer Ein-Bit-Speicher nachgeschaltet ist, daß die weiteren Ein-Bit-Daten mit verschiedenen Taktflanken des gleichen Taktsignals in die Ein-Bit-Speicher eingebbar sind und daß an die weiteren Ein-Bit-Speicher eine Auswahlschaltung angeschlossen ist, die das Ausgangssignal desjenigen weiteren Ein-Bit-Speichers, das vom Taktsignal in den weiteren Ein-Bit-Speicher zuerst eingegeben wird, auf einen nachgeschalteten Ein-Bit-Speicher durchschaltet, der vom zugeordneten Teilnehmer auslesbar ist.
Die Erfindung wird im folgenden anhand eines in einer Zeichnung dargestellten Ausführungsbeispiels näher beschrieben, aus dem sich weitere Einzelheiten, Merkmale und Vorteile ergeben.
Es zeigen:
Fig. 1 ein Blockschaltbild einer Anordnung mit zwei Teilnehmern und einem Dual-Port-Speicher;
Fig. 2 ein Diagramm mit einzelnen bei einem Zugriff eines Teilnehmers zum Dual-Port-Speicher ablaufenden Schritten;
Fig. 3 ein Schaltbild einer Anordnung zur Steuerung des Zugriffs zum Dual-Port-Speicher und
Fig. 4 ein Zeitdiagramm von Signalen, die bei einem Zugriff zum Dual- Port-Speicher erzeugt werden.
Eine Anordnung mit zwei Teilnehmern 1, 2, bei denen es sich insbesondere um Mikroprozessoren handelt, enthält einen den beiden Teilnehmern gemeinsamen Schreib/Lesespeicher 3 (Dual-Port-RAM) und eine Zugriffssteuerung 4, die dafür sorgt, daß beide Teilnehmer 1, 2 nicht zugleich auf den Schreib/Lesespeicher 3 zugreifen können. Die beiden Teilnehmer 1, 2 sind mit dem Schreib/Lesespeicher über je einen Daten- und Adreßbus 5 und 5a verbunden.
Der Teilnehmer 1 erzeugt zum Zwecke eines Zugriffs zum Dual-Port- Speicher 3 ein Signal: "Schreib-Zugriffsbit" auf einer Leitung 6.
Entsprechend erzeugt der Teilnehmer 2 zum Zwecke eines Zugriffs zum Speicher 3 ein Signal: "Schreib-Zugriffsbit" auf einer Leitung 7. Hierbei wird vorausgesetzt, daß ein Datenelement, das zwei Zustände annehmen kann, denen jeweils der Zugriff und Nichtzugriff zugeordnet ist, nur ein Bit umfaß. Es können allerdings auch mehr Bits sein. Die Leitungen 6, 7 sind mit der Zugriffssteuerung verbunden, in der Speicher vorhanden sind, in denen die jedem Teilnehmer zugeordneten Datenelemente gespeichert werden. Wenn ein Teilnehmer Daten in den Speicher 3 einschreiben will, erzeugt er ein "Schreibsignal", das unter anderem über eine Leitung 8 vom Teilnehmer 1 und über eine Leitung 9 vom Teilnehmer 2 aus der Zugriffssteuerung 4 zugeführt wird. Die Zugriffssteuerung 4 ist an eine Leitung 10 angeschlossen, die von beiden Teilnehmern 1, 2 mit Reset- Signalen beaufschlagt werden kann. Ein Taktsignal wird der Zugriffssteuerung 4 über eine Leitung 11 vom Teilnehmer 1 zur Verfügung gestellt. Über je eine Leitung 12, 13 wird dem Teilnehmer 1 oder dem Teilnehmer 2 ein Signal "Zugriffsbit = 1" zugeführt. Statt der Leitungen 12, 13 können die Leitungen 6, 7 bidirektional verwendet werden, indem sie jeweils mit einem "Write"-Signal in Ausgaberichtung und mit einem "Read"- Signal in Eingaberichtung betrieben werden. Hierbei wird vorausgesetzt, daß ein Bit mit der Wertigkeit 1 dem Zugriff und ein Bit mit der Wertigkeit 0 dem Nichtzugriff zugeordnet ist. Die Zuordnung kann auch umgekehrt sein.
Die Zugriffssteuerung enthält zwei Speicher für die Zugriffsbits, die die Wertigkeiten "1" oder "0" haben können, und verhindert, daß in beiden Speichern, von denen je einer einem Teilnehmer zugeordnet ist, die "Zugriffsbit = 1" enthalten sein können.
Wenn ein Teilnehmer Zugriff zum Speicher 3 erhalten will, dann gibt er ein Signal "Schreib-Zugriffsbit = 1" auf der Leitung 6 bzw. 7 aus; dies ist in Fig. 2 als Verfahrensschritt 13a bezeichnet. In einem weiteren Verfahrensschritt 14 fragt der Teilnehmer die Leitung 12 bzw. 13 ab, um das "Zugriffsbit" zu lesen und festzustellen, ob es "1" ist. Die Zugriffssteuerung 4 prüft bei einem Signal "Schreib-Zugriffsbit = 1" eines Teilnehmers in einem Schritt 15, ob beide "Zugriffsbits" = 0 sind oder ob eines der "Zugriffsbits" = 1 ist. Im letzteren Fall verhindert die Zugriffssteuerung, daß auch das andere Zugriffsbit von 0 auf 1 übergeht.
Wenn der Teilnehmer feststellt, daß das ihm zugeordnete "Zugriffsbit" = 0 ist, dann geht er vom Verfahrensschritt 15 auf den Verfahrensschritt 14 über, in dem der Speicher erneut abgefragt wird, ob das "Zugriffsbit" = 1 ist.
Die Abfrage wird in der in Fig. 2 dargestellten Schleife so lange fortgesetzt, bis der Teilnehmer ein "Zugriffsbit = 1" feststellt.
Wenn die "Zugriffsbits" beider Teilnehmer 1, 2 bei einem "Schreib- Zugriffsbit = 1" eines der beiden Teilnehmer 0 sind, veranlaßt dies die Einspeicherung einer 1 in den dem jeweiligen Teilnehmer zugeordneten Speicher in der Zugriffssteuerung 4. Das "Zugriffsbit = 1" wird vom Teilnehmer gelesen und erkannt. Daraufhin geht der Teilnehmer vom Schritt 15 auf einen Verfahrensschritt 16 über, in dem er auf ein Statusbyte zugreift, das im Speicher 3 einem bestimmten Speicherbereich zugeordnet ist. Der Speicher 13 ist in Bereiche, sogenannte "Channel" aufgeteilt. Jeder Channel enthält einen Datenbereich, der für zwischen den Teilnehmern 1, 2 zu übertragende Daten bestimmt ist, und ein Statusbyte, das Informationen über den zugeordneten Datenbereich aufweist. Das Statusbyte gibt an, ob der Speicherbereich für das Einschreiben von Daten frei ist oder nicht. Ist dies nicht der Fall, dann liest der Teilnehmer, der den Zugriff zum Speicher 3 erhalten hat, das Statusbyte eines anderen Speicherbereichs. Findet er ein Statusbyte, das die Einspeichermöglichkeit für einen Speicherbereich meldet, dann schreibt der Teilnehmer Daten in den Speicherbereich ein. Die Bestimmung dieser Daten für den anderen Teilnehmer markiert der Teilnehmer im zugeordneten Statusbyte. Anschließend verändert er die Daten nicht mehr und schreibt in einem weiteren Verfahrensschritt 17 für das "Zugriffsbit" eine 0 in den Speicher in der Zugriffssteuerung 4 ein. Soll festgestellt werden, ob der andere Teilnehmer die Daten aus dem Speicher 3 ausgelesen hat, dann greift der Teilnehmer fortlaufend auf das Statusbyte zu, bis in diesem das Abholen der Daten durch den anderen Teilnehmer quittiert wurde.
Der andere Teilnehmer liest ebenfalls die Statusbyte des Speichers 3 aus, um festzustellen, ob Daten für ihn abgelegt sind. Falls das jeweilige Statusbyte anzeigt, daß für den anderen Teilnehmer Daten gespeichert sind, liest er diese aus dem zugeordneten Datenbereich aus. Nach Beendigung des Auslesens quittiert der andere Teilnehmer das Abholen der Daten im Statusbyte als erledigt.
Eine Zugriffssteuerung 4, die Speicher für die Datenelemente beider Teilnehmer 1, 2 enthält, und die sicherstellt, daß immer nur ein Teilnehmer auf den Speicher 3 zugreift ist in Fig. 3 dargestellt.
Die Zugriffssteuerung enthält zwei D-Flipflops 18, 19, die je einem Teilnehmer 1, 2 zugeordnet sind. Das D-Flipflop 18 ist an die Leitungen 6, 8 angeschlossen, auf denen jeweils das Signal "Schreibe Zugriffsbit = 1" bzw. "Schreibe Daten" vom Teilnehmer 1 erzeugt wird. Das D-Flipflop 19 ist an die Leitungen 7, 9 des Teilnehmers 2 angeschlossen, der auf diesen Leitungen jeweils die Signale "Schreibe Zugriffsbit = 1" bzw. "Schreibe Daten" erzeugt. Der Reset-Eingang des Flipflops 18 ist mit der Leitung 10 verbunden. Das Flipflop 19 ist mit seinem Reset-Eingang an die Leitung 10 angeschlossen. Die Leitungen 6, 7 sind jeweils an die Takteingänge der Flipflops 18, 19 angeschlossen, während die Leitungen 8, 9 mit den Dateneingängen verbunden sind. Die Flipflops 18, 19 speichern jeweils die Zugriffsanforderungen der Teilnehmer 1, 2.
Den Q-Ausgängen, d. h. den nichtinvertierenden Ausgängen, der Flipflops 18, 19 sind jeweils D-Eingänge von D-Flipflops 20, 21 nachgeschaltet. Der Takteingang des Flipflops 20 ist mit der Leitung 11 verbunden, die weiterhin über einen Inverter 22 an den Takteingang des Flipflops 21 angeschlossen ist. Die beiden Flipflops 20, 21 bewirken in Verbindung mit den Taktsignalen auf der Leitung 11 und dem Inverter 22, daß die von den Flipflops 19, 20 ausgehenden Zugriffsanforderungen in eine zeitliche Reihenfolge gebracht werden. Die D-Flipflops 18, 19 werden z. B. durch die negativ verlaufenden bzw. abfallenden Taktflanken getriggert. Der Inverter 22 stellt dann sicher, daß mit einem Taktimpuls nicht von der gleichen Taktflanke Daten in die D-Flipflops 20, 21 eingegeben werden. Wenn die abfallende Flanke eines Taktimpulses die Eingabe einer Zugriffsanforderung in Form einer binären "1" in das Flipflop 20 bewirkt, verhindert der unten noch näher beschriebene Auswahlschaltungsteil der Zugriffssteuerung, daß eine mit der darauffolgenden positiven Flanke des benachbarten Taktimpulses über die Invertierung eventuell im Flipflop 19 gespeicherte Zugriffsanforderung des Teilnehmers 2 weiterverarbeitet wird. Falls eine Zugriffsanordnung in Form einer binären "1" zuerst in das Flipflop 21 gelangt, verhindert die nachgeschaltete Anordnung, daß eine Zugriffsanforderung aus dem Flipflop 18, die mit einer folgenden Flanke eines Taktimpulses in das Flipflop 20 gelangt, weiterverarbeitet wird.
Die Reset-Eingänge des Flipflops 18, 19, 20, 21, 25 und 26 sind gemeinsam an die Leitung 10 angeschlossen.
Den invertierenden Ausgängen (Q) der beiden Flipflops sind jeweils Eingänge von NOR-Gliedern 23, 24 nach geschaltet, deren andere Eingänge gegenseitig rückgekoppelt sind, so daß die NOR-Glieder 23, 24 eine Kreuzverriegelung der beiden Zugriffsanforderungen bewirken. Wenn z. B. der invertierende Ausgang des Flipflops 20 infolge der Eingabe einer "1" auf eine "0" übergeht, dann wird, wenn der Ausgang des anderen Flipflops 24 bereits eine "0" hatte, der Ausgang des Flipflops 23 eine binäre "1" annehmen, die verhindert, daß sich der Zustand des Flipflops aus den NOR- Gliedern 23, 24 ändern kann, wenn der invertierende Ausgang des Flipflops 21 ebenfalls auf eine binäre "1" übergeht. Hieraus ist ersichtlich, daß die weitere Zugriffsanforderung, die im Flipflop 21 gespeichert wird, nicht weiterverarbeitet wird. Umgekehrt gilt das gleiche, d. h. wenn das RS- Flipflop aus den NOR-Gliedern 23, 24 zuerst über das NOR-Glied 24 gesetzt wird, dessen Ausgang auf eine binäre "1" übergeht, dann wird verhindert, daß eine später in das Flipflop 20 eingespeiste binäre "1" weiterverarbeitet wird. Das Flipflop aus den NOR-Gliedern 23, 24 ist somit eine Art Schiedsrichterschaltung.
Dem Ausgang des NOR-Glieds 23 ist der D-Eingang eines D-Flipflops 25 nachgeschaltet. In gleicher Weise ist der Ausgang des NOR-Glieds 24 mit dem D-Eingang eines D-Flipflops 26 verbunden. Die Takteingänge der beiden D-Flipflops 25, 26 sind an die Leitung 11 angeschlossen. Der Reset- Eingang des Flipflops 25 ist mit der Leitung 10 verbunden, die auch an den Reset-Eingang des Flipflops 26 angeschlossen ist. An den nichtinvertierenden Ausgängen der Flipflops 25, 26 werden jeweils die Signale "Zugriffsbit = 1" für den Teilnehmer 1 und "Zugriffsbit = 1" für den Teilnehmer 2 ausgegeben. Die nichtinvertierenden Ausgänge der Flipflops 25, 26 sind jeweils mit den Leitungen 12, 13 verbunden.
Die Fig. 4 zeigt ein Zeitdiagramm von Signalen, die von den Teilnehmern 1, 2 und der Zugriffssteuerung 4 erzeugt werden. Im Diagramm ist in Abszissenrichtung die Zeit t und in Ordinatenrichtung der logische Pegel des jeweiligen Signals dargestellt.
Das Signal auf der Leitung 10 ist mit 27 bezeichnet. Wenn es einen "0"- Pegel hat, dann hat keiner der beiden Teilnehmer 1, 2 Zugriff zum Speicher 3. Das Signal auf der Leitung 10 setzt alle Flipflops zurück und sorgt damit für eine bestimmte Ausgangslage, in der keiner der beiden Teilnehmer Zugriffsrecht hat. Es sei angenommen, daß zum Zeitpunkt t₁ der Teilnehmer 2 bereits Zugriff zum Speicher 3 hat.
Zum Zeitpunkt t₂ versucht der Teilnehmer 1 Zugriff zum Speicher 3 zu erhalten, indem das "Write"-Signal 28 auf der Leitung 6 seinen logischen Zustand ändert. Auf der Leitung 8 wird die zugehörige Leitung übertragen, die mit dem "Write"-Signal, d. h. mit dessen Low-High-Flanke, in das D- Flipflop 18 eingespeichert wird. Das Taktsignal auf der Leitung 11 ist mit 29 bezeichnet. Wenn sich zum Zeitpunkt t₃ der Pegel des Signals 28 ändert, wird die am D-Eingang des Flipflops 18 anstehende binäre "1" eingespeichert, wodurch das Signal 30 am nichtinvertierenden Ausgang des Flipflops 18 auf einen hohen Pegel übergeht.
Mit der nächsten Taktflanke wird eine binäre "1" in das Flipflop 20 eingespeist, dessen Signal 31 am invertierenden Ausgang auf eine "0" übergeht. Da zu diesem Zeitpunkt der Teilnehmer 2 Zugriff zum Speicher hat, ist das Signal 32 am Ausgang des NOR-Glieds 25 auf niedrigem Pegel, während das Signal 33 am Ausgang des NOR-Glieds 24 auf niedrigem Pegel ist. Bei den Ausgangssignalen 34, 35 an den nichtinvertierenden Ausgängen der Flipflops 25, 26 verhält es sich gerade umgekehrt. Die Zugriffsanforderung in Form einer binären 0 am nichtinvertierenden Ausgang des Flipflops 20 wird daher nicht weitergeleitet, d. h. der Teilnehmer 1 erhält keinen Zugriff.
Es sei angenommen, daß zum Zeitpunkt t₅ der Teilnehmer 2 den Zugriff zum Speicher 3 freigibt, wodurch sich das Signal 36, das als invertiertes Signal des Signals "Schreibe Zugriffsbit = 1" bis zum Zeitpunkt t₅ einen hohen Pegel hat, auf einen niedrigen Pegel übergeht, der zum Zeitpunkt t₆ wieder auf einen hohen Pegel ansteigt. Hierdurch fällt das Ausgangssignal 37 des Flipflops 19 auf einen niedrigen Pegel ab. Mit der folgenden Taktflanke geht das Signal 38 am invertierenden Ausgang des Flipflops 21 auf einen hohen Pegel über, wodurch die Signale 32, 33 jeweils ihre Pegel ändern.
Dies bedeutet, daß der logische Pegel 1 am Ausgang des NOR-Glieds 23 bei der nächstfolgenden Taktflanke zum Zeitpunkt t₇ in das Flipflop 25 eingeschrieben wird, während das Flipflop 26 eine binäre "0" speichert. Der Teilnehmer 1 erhält damit Zugriff zum Speicher 3.
Zum Zeitpunkt t₈ wird mit einer Flanke des Signals 28 der Speicher 3 wieder freigegeben. Damit fällt das Signal 30 auf einen niedrigen Pegel ab.
Mit der nächsten positiven Taktflanke wechseln die Signale 31 und 32 ihre Pegel. Dies führt dazu, daß sich mit der nächsten positiven Flanke das Signal 34 ändert und zum Zeitpunkt t₉ einen niedrigen logischen Pegel annimmt. Ab dem Zeitpunkt t₉ hat damit kein Teilnehmer Zugriff zum Speicher 3.
Zum Zeitpunkt t₁₀ wird vom Teilnehmer 2 Zugriff zum Speicher 3 verlangt, indem das Signal 36 auf einen hohen Pegel ansteigt. Damit steigt das Signal 37 ebenfalls auf einen hohen Pegel an. Nahezu gleichzeitig zum Zeitpunkt t₁₁ verlangt der Teilnehmer 1 Zugriff zum Speicher 3. Hierdurch steigt das Signal 30 auf einen hohen Pegel an.
Mit der nächsten positiven Taktflanke fällt das Signal 31 auf einen niedrigen Pegel zurück, während das Signal 32 auf einen hohen Pegel übergeht, der an den D-Eingang des Flipflops 25 gelangt.
Das Signal 38 geht zum Zeitpunkt t₁₃ auf einen niedrigen Pegel zurück. Mit der nächsten positiven Taktflanke zum Zeitpunkt t₁₄ ändert das Ausgangssignal 34 des Flipflops 25 seinen Pegel auf einen hohen Wert, wodurch der Teilnehmer 1 Zugriff zum Speicher erhält. Wenn beide Teilnehmer 1, 2 gleichzeitig Zugriff zum Speicher 3 verlangen, entscheidet daher die jeweils darauffolgende Flake des Taktsignals, welcher Teilnehmer zuerst Zugriff erhält.
Gelesen werden nur die Ausgangssignale auf den Leitungen 12, 13, die die Ausgänge jeweils der Flipflops 25, 26 beaufschlagen. Die Signale auf den Leitungen führen bei der Anordnung gem. Fig. 1 unidirektional zu den beiden Teilnehmern zurück und können dort direkt ohne Lesezugriffe ausgewertet werden, d. h. es braucht kein Lesezugriffssignal an die Schaltung angelegt werden.

Claims (8)

1. Verfahren zur Steuerung des Zugriffs zu einem zwei Teilnehmern gemeinsamen Schreib-, Lesespeicher, mit dem die Teilnehmer durch Lese-, Schreibzyklen asynchron in Verbindung treten, dadurch gekennzeichnet, daß jedem Teilnehmer ein Datenelement zugeordnet ist, das zwei Zustände annehmen kann, von denen einer zum Zwecke eines Zugriffs zum Schreib-, Lesespeicher erzeugt und danach gespeichert wird und nach der Speicherung den Zugriff freigibt und der andere vom jeweiligen Teilnehmer erzeugt, gespeichert wird und gespeichert bleibt, wenn kein Zugriff zum Schreib-, Lesespeicher verlangt wird, daß durch eine Überwachung verhindert wird, daß beide Datenelemente zugleich die dem jeweiligen Zugriff entsprechenden Zustände annehmen oder haben und daß von demjenigen Teilnehmer, der während der Zeit, in der beide Datenelemente den keinem Zugriff zugeordneten Zustand aufweisen, das einem Zugriff zugeordnete Datenelement erzeugt, das Datenelement in Abhängigkeit von einer Flanke eines Taktsignals mit vorgegebener Richtung gespeichert wird, nach dessen Speicherung der Zugriff für den Teilnehmer freigegeben wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß derjenige Teilnehmer, der Zugriff zum Schreib-, Lesespeicher verlangt das Datenelement erzeugt und in den dem Datenelement zugeordneten Speicher einmalig einschreibt und danach den Speicher so lange ausliest, bis er das Datenelement erkennt und danach zum Schreib-, Lesespeicher zugreift.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß das Datenelement ein Bit ist, dessen zwei Wertigkeiten jeweils der Zugriff zum Schreib-, Lesespeicher und der Nichtzugriff zugeordnet sind.
4. Verfahren nach einem oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß nach der Speicherung des einem Zugriff eines Teilnehmers zugeordneten Datenelements dieses vom Teilnehmer gelesen wird, der danach ein einem ausgewählten Datenspeicher zugeordnetes Statusbyte prüft, das Daten über die Aufnahmebe­ reitschaft des Speicherbereichs oder über einen vom anderen Teilnehmer abzurufenden Inhalt hat, und daß bei vorhandener Aufnahmebereitschaft die Daten eingeschrieben werden und in das Statusbyte ein Auftrag zum Auslesen für den anderen Teilnehmer eingetragen wird.
5. Verfahren nach einem oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß jeder Teilnehmer die Statusbyte der Datenspeicher der Speicherbereiche nacheinander liest, bei vorhandenen Leseaufträgen die entsprechenden Datenspeicher der Speicherbereiche ausliest und die Auslesung im Statusbyte quittiert.
6. Anordnung zur Durchführung des Verfahrens nach einem oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß ein Ein-Bit-Speicher für jeden Teilnehmer (1, 2) zur Speicherung von Zugriffsanforderungen vorgesehen ist, daß jedem Ein-Bit-Speicher ein weiterer Ein-Bit-Speicher nachgeschaltet ist, daß Ein-Bit-Daten mit verschiedenen Taktflanken des gleichen Taktimpulses (29) in die weiteren Ein-Bit-Speicher eingebbar sind und daß an die weiteren Ein- Bit-Speicher eine Auswahlbeschaltung angeschlossen ist, die das Ausgangssignal desjenigen weiteren Ein-Bit-Speichers, das vom Taktsignal in den weiteren Ein-Bit-Speicher zuerst eingeschrieben wird, auf einen nachgeschalteten Ein-Bit-Speicher durchschaltet, der vom zugeordneten Teilnehmer (1, 2) auslesbar ist.
7. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß die Ein-Bit-Speicher D-Flipflops (18, 19, 20, 21, 25, 26) sind.
8. Anordnung nach Anspruch 6 oder 7, dadurch gekennzeichnet, daß die Auswahlschaltung aus rückgekoppelten NOR-Gliedern aufgebaut ist.
DE19934333226 1993-09-30 1993-09-30 Verfahren und Vorrichtung zur Steuerung des Zugriffs zu Dual-Port-Speichern Ceased DE4333226A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19934333226 DE4333226A1 (de) 1993-09-30 1993-09-30 Verfahren und Vorrichtung zur Steuerung des Zugriffs zu Dual-Port-Speichern

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19934333226 DE4333226A1 (de) 1993-09-30 1993-09-30 Verfahren und Vorrichtung zur Steuerung des Zugriffs zu Dual-Port-Speichern

Publications (1)

Publication Number Publication Date
DE4333226A1 true DE4333226A1 (de) 1995-04-06

Family

ID=6498989

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19934333226 Ceased DE4333226A1 (de) 1993-09-30 1993-09-30 Verfahren und Vorrichtung zur Steuerung des Zugriffs zu Dual-Port-Speichern

Country Status (1)

Country Link
DE (1) DE4333226A1 (de)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0106557A2 (de) * 1982-10-01 1984-04-25 Western Electric Company, Incorporated Doppelport-Zugriffsschaltung
DE3340123A1 (de) * 1983-11-05 1985-05-15 Helmut Dipl.-Inform. 5860 Iserlohn Bähring Kommunikationseinheit zur kopplung von mikrorechnern
DE3532164A1 (de) * 1985-09-10 1987-03-12 Licentia Gmbh Anordnung mit einem wenigstens zwei teilnehmern gemeinsamen speicher
DE4111483A1 (de) * 1990-04-10 1991-10-17 Mitsubishi Electric Corp Dual-port-speicher
SU1735858A1 (ru) * 1990-03-05 1992-05-23 Научно-производственное объединение "Интеграл" Устройство управлени динамической пам тью

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0106557A2 (de) * 1982-10-01 1984-04-25 Western Electric Company, Incorporated Doppelport-Zugriffsschaltung
DE3340123A1 (de) * 1983-11-05 1985-05-15 Helmut Dipl.-Inform. 5860 Iserlohn Bähring Kommunikationseinheit zur kopplung von mikrorechnern
DE3532164A1 (de) * 1985-09-10 1987-03-12 Licentia Gmbh Anordnung mit einem wenigstens zwei teilnehmern gemeinsamen speicher
SU1735858A1 (ru) * 1990-03-05 1992-05-23 Научно-производственное объединение "Интеграл" Устройство управлени динамической пам тью
DE4111483A1 (de) * 1990-04-10 1991-10-17 Mitsubishi Electric Corp Dual-port-speicher

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ECKHOUSE, Richard H. jr.: ComputerProgramming and Architecture The VAX-11, Digital Equipment Corporation, 1980, S.342-345 *
JP 1-284953 A. In: Patents Abstracts of Japan, P-1001, Feb. 5, 1990, Vol.14, No. 61 *
KROSS, Manfred: Der Einsatz statischer Dual-Port- RAMs. In: Design & Elektronik, Ausg.1, 1987, S.61-66,69 *
LEVY, Henry M. *
SCHINDLBECK, H.R.: Dual-Port-RAM-Speicher mit quasigleichzeitigem Zugriff. In: Elektronik Infor-mationen, Nr.12, 1983, S.52-53 *

Similar Documents

Publication Publication Date Title
DE4111483C2 (de) Dual-Port-Speicher
DE3508291A1 (de) Realzeit-datenverarbeitungssystem
DE2157982A1 (de) Digitales Multiprozessor-Datenverarbeitungssystem
DE1524882A1 (de) Vorrangschaltung fuer Speicher verschiedener Zugriffszeiten
DE3535436C2 (de)
DE2855673A1 (de) Anordnung zur handhabung des direkten zugriffs auf den speicher einer datenverarbeitungsanlage
DE2332971C2 (de) Mikroprogrammsteuereinrichtung
DE3340919A1 (de) Datenprozessor
DE2813080A1 (de) Einrichtung zur speicheradressierung
DE2844295A1 (de) Verfahren und vorrichtung zur steuerung der datentransferrichtung auf einem datenbus
DE3042105C2 (de)
DE602004005820T2 (de) Prozessorarray
DE4333226A1 (de) Verfahren und Vorrichtung zur Steuerung des Zugriffs zu Dual-Port-Speichern
DE4031661A1 (de) System zum ueberwachen direkten speicherzugriffs
DE2644180B2 (de) Datenverarbeitungssystem
EP0301160A2 (de) System mit zwei Mikroprozessoren und einem gemeinsamen Schreibe-Lese-Speicher
DE10300030A1 (de) DMA-Modul und Betriebsverfahren hierfür
EP1085387A2 (de) Speichersteuerung zum Durchführen von Schaltbefehlen für den Zugriff auf Speicherzellen
DE60107754T2 (de) CPU-System mit Hochgeschwindigkeitsperipherie-LSI-Schaltung
DE2630711A1 (de) Speichersteuersystem
EP0377886B1 (de) Anordnung zum Übertragen von in mehrere Teile unterteilten Datenwörtern
DE2246251C2 (de) Schaltungsanordnung zur Steuerung und Anpassung mehrerer Ein-/Ausgabegeräte
DE3212401C2 (de) Schaltungsanordnung zur Steuerung der Priorität der Aufschaltung verschiedener Aggregate auf einen Systembus einer digitalen Rechenanlage
DE19712799A1 (de) Abhängigkeitssteuerung für überlappende Speicherzugriffe
EP0566985B1 (de) Verfahren und Vorrichtung zur Übertragung von Datenpaketen

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8120 Willingness to grant licenses paragraph 23
8127 New person/name/address of the applicant

Owner name: AEG SCHNEIDER AUTOMATION GMBH, 63500 SELIGENSTADT,

8127 New person/name/address of the applicant

Owner name: SCHNEIDER AUTOMATION GMBH, 63500 SELIGENSTADT, DE

8110 Request for examination paragraph 44
8131 Rejection