DE4333226A1 - Verfahren und Vorrichtung zur Steuerung des Zugriffs zu Dual-Port-Speichern - Google Patents
Verfahren und Vorrichtung zur Steuerung des Zugriffs zu Dual-Port-SpeichernInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling 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.
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)
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 | Научно-производственное объединение "Интеграл" | Устройство управлени динамической пам тью |
-
1993
- 1993-09-30 DE DE19934333226 patent/DE4333226A1/de not_active Ceased
Patent Citations (5)
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)
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 |