DE3537115A1 - METHOD FOR OPERATING A DEVICE WITH TWO INDEPENDENT COMMAND INPUTS AND DEVICE WORKING ACCORDING TO THIS METHOD - Google Patents

METHOD FOR OPERATING A DEVICE WITH TWO INDEPENDENT COMMAND INPUTS AND DEVICE WORKING ACCORDING TO THIS METHOD

Info

Publication number
DE3537115A1
DE3537115A1 DE19853537115 DE3537115A DE3537115A1 DE 3537115 A1 DE3537115 A1 DE 3537115A1 DE 19853537115 DE19853537115 DE 19853537115 DE 3537115 A DE3537115 A DE 3537115A DE 3537115 A1 DE3537115 A1 DE 3537115A1
Authority
DE
Germany
Prior art keywords
command
memory
point
input
entered
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
Application number
DE19853537115
Other languages
German (de)
Inventor
Klaus Dipl Ing Dolch
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.)
Alcatel Lucent Deutschland AG
Original Assignee
Standard Elektrik Lorenz 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 Standard Elektrik Lorenz AG filed Critical Standard Elektrik Lorenz AG
Priority to DE19853537115 priority Critical patent/DE3537115A1/en
Priority to GB08624134A priority patent/GB2181872A/en
Priority to ES8602651A priority patent/ES2003888A6/en
Publication of DE3537115A1 publication Critical patent/DE3537115A1/en
Withdrawn 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/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Static Random-Access Memory (AREA)

Description

Die Erfindung betrifft ein Verfahren zum Betreiben einer Einrichtung mit zwei voneinander unabhängigen Befehlseingabestellen und eine nach diesem Verfahren arbeitende Einrichtung.The invention relates to a method for operating a Establishment with two independent command entry points and one working according to this procedure Facility.

Einrichtungen mit zwei voneinander unabhängigen Befehlseingabestellen sind beispielsweise solche Halbleiterspeicher, die als Dual-Port-Memories bezeichnet werden. Ein derartiger Halbleiterspeicher ist mit zwei Sätzen von Daten- und Adressleitungen versehen. Über weitere Eingängee können nun die beiden Sätze von Daten- und Adressleitungen zur Ein- oder Ausgabe aktiviert werden. Durch geeignete Maßnahmen muß dabei sichergestellt werden, daß bei gleichzeitiger oder beinahe gleichzeitiger Aktivierung von beiden Seiten her sich keine gegenseitigen Störungen ergeben. Bei einem solchen auf dem Markt befindlichen Speicherbaustein Am29705 der Firma AMD muß dies der Anwender durch äußere Beschaltung selbst sicherstellen. Ein Beispiel hierfür wird im zugehörigen Datenblatt nicht angegeben. Das angeschnittene Problem tritt nicht nur bei den hier als Beispiel ausgewählten Dual-Port-Memories auf, sondern auch bei einer Vielzahl andersartiger Einrichtungen mit zwei oder mehr voneinander unabhängigen Befehlseingabestellen. Eine Standardlösung dieses Problems ist nicht bekannt.Facilities with two independent Command entry points are, for example, such semiconductor memories, which are referred to as dual port memories will. Such a semiconductor memory has two Provide sets of data and address lines. over further inputs can now the two sets of data and address lines activated for input or output will. Suitable measures must be taken to ensure this be that at the same time or almost simultaneous activation from both sides no mutual interference. With such a memory module Am29705 from The AMD company must do this by external wiring  ensure yourself. An example of this is in the associated Data sheet not specified. The broached The problem does not only occur with the example selected here Dual port memories, but also with one Many different types of facilities with two or more independent command input points. A The standard solution to this problem is not known.

Die Erfindung löst das beschriebene Problem durch ein Verfahren nach der Lehre des Hauptanspruchs und eine Einrichtung nach der Lehre des Anspruchs 4. Weitere Ausgestaltungen der Erfindung sind den Unteransprüchen zu entnehmen.The invention solves the problem described by Procedure according to the teaching of the main claim and a Device according to the teaching of claim 4. Further refinements the invention can be found in the subclaims.

Im folgenden wird die Erfindung anhand von Ausführungsbeispielen unter Zuhilfenahme der beiliegenden Zeichnung weiter erläutert.In the following, the invention is based on exemplary embodiments with the help of the attached drawing explained further.

Fig. 1 zeigt als Ausführungsbeispiel das Blockschaltbild eines Halbleiterspeichers mit getrennter Schreib- und Leseeinrichtung. Fig. 1 shows the block diagram shows an exemplary embodiment of a semiconductor memory with separate read and write means.

Fig. 2 zeigt Zeitdiagramme zum Ausführungsbeispiel gemäß Fig. 1. FIG. 2 shows time diagrams for the exemplary embodiment according to FIG. 1.

Fig. 3 zeigt als weiteres Ausführungsbeispiel eine Erweiterung des Ausführungsbeispiels nach Fig. 1. Fig. 3 shows a further embodiment of an extension of the embodiment of FIG. 1.

Fig. 1 zeigt einen Schreib-Lese-Speicher 5, in den von einer ersten Seite A aus Daten DA 0 bis DA 3 eingeschrieben und von einer zweiten Seite B wieder Daten DB 0 bis DB 3 ausgelesen werden können. Von der ersten Seite A aus wird der Schreib-Lese-Speicher 5 über Adressleitungen AA 0 bis AA 3 und von der zweiten Seite B über Adressleitungen AB 0 bis AB 3 adressiert. Die Ausführung eines Einschreib- oder Auslesebefehls wird über eine erste Befehlsleitung exA bzw. eine zweite Befehlsleitung exB veranlaßt. Von der ersten Seite A wird ein erster Takt Clock A und von der zweiten Seite B ein zweiter Takt Clock B zugeführt. Wenn ein Auslesebefehl ausgeführt ist und die Daten DB 0 bis DB 3 abgefragt werden können, dann wird dies durch das Fertigsignal ready angezeigt. Die Ausgabe selbst kann dann durch ein Ausgabesignal oeB veranlaßt werden. Fig. 1 shows a read-write memory 5, 0 is written from a first side A of the data DA to DA and 3 in the DB data can be read out to 0 DB 3 again from a second side B. The read-write memory 5 is addressed from the first side A via address lines AA 0 to AA 3 and from the second side B via address lines AB 0 to AB 3 . The execution of a write-in or read-out command is initiated via a first command line exA or a second command line exB . From the first side A, a first clock Clock A and B from the second side a second clock Clock B is supplied. If a read command has been executed and the data DB 0 to DB 3 can be queried, this is indicated by the ready signal ready . The output itself can then be triggered by an output signal oeB .

Zur Eingabe von Daten in den Schreib-Lese-Speicher 5 werden die einzugebenden Daten DA 0 bis DA 3 an einen Dateneingabespeicher 3 angelegt und die Adresse innerhalb des Schreib-Lese-Speichers 5, an der diese Daten abgelegt werden sollen, wird über die Adressleitung AA 0 bis AA 3 an einen ersten Adresseingabespeicher 10 angelegt. Über die erste Befehlsleitung exA wird dann veranlaßt, daß Daten und Adresse in den Dateneingabespeicher 3 und den ersten Adresseingabespeicher 10 übernommen werden. Die erste Befehlsleitung exA führt weiter zu einer Steuereinrichtung 7, über die das weitere Einschreiben in den Schreib-Lese-Speicher 5 veranlaßt wird. Hierzu wird von der Steuereinrichtung 7 ein Signal an den Schreibeingang W des Schreib-Lese-Speichers 5 gegeben. Das gleiche Signal aktiviert die Ausgänge des Dateneingabespeichers 3 und des ersten Adresseingabespeichers 10 (output enable). An den Dateneingängen D 0 bis D 3 und den Adresseingängen A 0 bis A 3 des Schreib-Lese-Speichers 5 liegen dann Daten und Adresse an und das Einschreiben wird über den Schreibeingang W veranlaßt. In order to enter data into the read / write memory 5 , the data to be entered DA 0 to DA 3 are applied to a data input memory 3 and the address within the read / write memory 5 where these data are to be stored is via the address line AA 0 to AA 3 applied to a first address input memory 10 . The first command line exA then causes data and address to be transferred to the data input memory 3 and the first address input memory 10 . The first command line exA leads to a control device 7 , via which the further writing into the read-write memory 5 is initiated. For this purpose, the control device 7 sends a signal to the write input W of the read-write memory 5 . The same signal activates the outputs of the data input memory 3 and the first address input memory 10 (output enable). Data and address are then present at the data inputs D 0 to D 3 and the address inputs A 0 to A 3 of the read-write memory 5 and the write-in is initiated via the write input W.

Die Ausgabe von Daten auf der zweiten Seite B erfolgt in ähnlicher Weise. Über die Adressleitungen AB 0 bis AB 3 wird eine Adresse an den zweiten Adresseingabespeicher 20 angelegt. Über die zweite Befehlsleitung exB wird das Einschreiben der Adresse in den zweiten Adresseingabespeicher 20 veranlaßt und gleichzeitig die Steuereinrichtung 7 zur Ausführung eines Ausgabebefehls angestoßen. Ein solcher Befehl wird von der Steuereinrichtung 7 an den Leseeingang R des Schreib-Lese-Speichers 5 gegeben. Er wird gleichzeitig zur Aktivierung der Ausgänge des zweiten Adresseingabespeichers 20 und als Übernahmebefehl für einen Datenausgabespeicher 4 verwendet. Die im zweiten Adresseingabespeicher 20 abgespeicherte Adresse wird dann an die Adresseingänge A 0 bis A 3 des Schreib-Lese-Speichers 5 angelegt, an den Dateneingängen D 0 bis D 3, die gleichzeitig Datenausgänge sind, liegen dann die auszugebenden Daten an und werden vom Datenausgabespeicher 4 übernommen. Diese Daten können dann durch ein Datenausgabesignal oeB vom Datenausgabespeicher 4 abgerufen werden. Ob Daten über das Ausgabesignal oeB abgerufen werden können, wird von der Steuereinrichtung 7 über das Fertigsignal ready angezeigt.The data on the second side B is output in a similar manner. An address is applied to the second address input memory 20 via the address lines AB 0 to AB 3 . Via the second command line exB , the address is written into the second address input memory 20 and at the same time the control device 7 is triggered to execute an output command. Such a command is given by the control device 7 to the read input R of the read-write memory 5 . It is used simultaneously to activate the outputs of the second address input memory 20 and as a takeover command for a data output memory 4 . The address stored in the second address input memory 20 is then applied to the address inputs A 0 to A 3 of the read / write memory 5 , and the data to be output are present at the data inputs D 0 to D 3 , which are also data outputs, and are then used by the data output memory 4 taken over. This data can then be called up from the data output memory 4 by a data output signal oeB . The control device 7 uses the ready signal to indicate whether data can be called up via the output signal oeB .

Zur Vereinfachung wurden bei den vorstehenden Ausführungen Verzögerungen innerhalb der Schaltungen vernachlässigt. Dem Fachmann ist aber bekannt, welche Befehle geringfügig verzögert werden müssen, um eine sichere Funktion zu gewährleisten. Dem Fachmann ist auch bekannt, wie er geeignete Verzögerungen erreichen kann. To simplify the above statements Delays within the circuits neglected. However, the person skilled in the art knows which commands are minor have to be delayed to ensure safe functioning. The person skilled in the art is also aware of how suitable ones are Can reach delays.  

Die gesamte Anordnung weist also zwei Befehlseingabestellen auf, nämlich auf der ersten Seite A eine erste Befehlseingabestelle 1 mit dem ersten Adresseingabespeicher 10 und der ersten Befehlsleitung exA und auf der zweiten Seite eine zweite Befehlseingabestelle 2 mit dem zweiten Adresseingabespeicher 20 und der zweiten Befehlsleitung exB. Die eingebbaren Befehle sind von der Form: "Schreibe in den durch die angelegte Adresse angegebenen Speicherplatz des Schreib-Lese-Speichers 5 die am Dateneingabespeicher 3 anliegenden Daten ein" bzw. "gib die in dem durch die Adresse angegebenen Speicherplatz des Schreib- Lese-Speichers 5 abgelegten Daten über den Datenausgabespeicher 4 aus".The entire arrangement thus has two command input points, namely on the first side A a first command input point 1 with the first address input memory 10 and the first command line exA and on the second side a second command input point 2 with the second address input memory 20 and the second command line exB . The commands which can be entered are of the form: "Write the data present at the data input memory 3 into the memory location of the read / write memory 5 indicated by the address created" or "enter the data in the memory location of the read / write memory indicated by the address. 5 stored data via the data output memory 4 from ".

Nun soll zunächst die Wirkungsweise der Steuereinrichtung 7 beschrieben werden, bevor dann deren Aufbau anhand der Fig. 1 beschrieben wird. Fig. 2a zeigt Zeitdiagramme für eine von der ersten Seite A aus veranlaßte Befehlsausführung. Fig. 2b zeigt Zeitdiagramme für eine von der zweiten Seite B aus verursachte Befehlsausführung unter der Voraussetzung, daß von der ersten Seite A aus bereits die Ausführung eines Befehls angestoßen wurde. Fig. 2c zeigt ebenfalls Zeitdiagramme für eine von der zweiten Seite B aus veranlaßte Befehlsausführung, jedoch unter der Voraussetzung, daß zum Zeitpunkt der Befehlseingabe der zweiten Seite B auf der ersten Seite A kein Befehl ausgeführt wird. Wirkungsweise und Aufbau der Steuereinrichtung 7 sind unabhängig vom hier speziell vorliegenden Ausführungsbeispiel eines Speichers mit getrennter Schreib- und Leseeinrichtung.The mode of operation of the control device 7 is now to be described first, before its structure is then described with reference to FIG. 1. Figure 2a shows timing diagrams for command execution initiated from first page A. FIG. 2b shows timing diagrams for a second of the side B from caused instruction execution under the condition that a command has been initiated from the first side A of the embodiment already. FIG. 2c also shows time diagrams for an instruction execution initiated from the second side B , but on the condition that no instruction is executed on the first side A at the time of the instruction input of the second side B. The mode of operation and structure of the control device 7 are independent of the exemplary embodiment of a memory with a separate write and read device.

Die erste Zeile der Fig. 2a zeigt das Signal auf der ersten Befehlsleitung exA. Zum Zeitpunkt t 10 ist ein Befehl eingegeben, der eine Einschreibeoperation auslöst. Die zweite Zeile der Fig. 2a zeigt das Signal am Schreibeingang W. Zum Zeitpunkt t 11 wird eine Einschreiboperation ausgelöst, sie ist zum Zeitpunkt t 12 abgeschlossen. Der das Einschreiben zum Zeitpunkt t 11 auslösende Impuls am Schreibeingang W muß gegenüber dem Ende des Impulses auf der Befehlsleitung exA zum Zeitpunkt t 10 so weit verzögert sein, daß in der Zwischenzeit (t 11-t 10) ein etwa noch nicht abgearbeiteter Lesebefehl, der von der zweiten Seite B aus angestoßen wurde, mit Sicherheit abgearbeitet werden kann. Die erforderliche Mindestverzögerungszeit gibt sich zwangsläufig aus dem Befehlsablauf auf der zweiten Seite B. Dies wird weiter unten noch näher erläutert werden. Für den Fall, daß mit unterschiedlich langen Befehlsausführungszeiten auf der zweiten Seite B zu rechnen ist, ist von der längsten möglichen Zeit als Mindestverzögerungszeit auszugehen. In der Praxis wird die tatsächliche Verzögerungszeit größer sein als die erforderliche Mindestverzögerungszeit. Die dritte Zeile der Fig. 2a zeigt ein Signal busy a, das die Zeit angibt, während der auf der ersten Seite A ein Befehl abgearbeitet wird. Es ist die Zeit von t 10 bis t 12.The first line of FIG. 2a shows the signal on the first command line exA . At time t 10 , a command is entered that triggers a write-in operation. The second line of FIG. 2a shows the signal at the write input W. A write-in operation is triggered at time t 11 and is completed at time t 12 . The pulse at write input W which triggers writing at time t 11 must be delayed so far compared to the end of the pulse on command line exA at time t 10 that in the meantime ( t 11 - t 10 ) an approximately unprocessed read command which was initiated from the second side B , can be processed with certainty. The required minimum delay time inevitably results from the sequence of commands on the second side B. This will be explained in more detail below. In the event that command execution times of different lengths on the second side B are to be expected, the longest possible time is to be assumed as the minimum delay time. In practice, the actual delay time will be greater than the minimum delay time required. The third row of Fig. 2a shows a BUSY signal a, which indicates the time during which will be processed on the first side A is a command. It is the time from t 10 to t 12 .

Die erste Zeile von Fig. 2b zeigt das Signal auf der zweiten Befehlsleitung exB. Zum Zeitpunkt t 20 ist der Befehl eingegeben, daß auf der zweiten Seite B ausgelesen werden soll. Der Zeitpunkt t 20 liegt in diesem Beispiel kurz nach t 10. Es ist also auf der ersten Seite A bereits ein Befehl eingegeben, der aber noch nicht abgearbeitet ist. Die Ausführung des auf der ersten Seite A eingegebenen Befehls wird zwar noch verzögert, die Verzögerung reicht aber nicht mit Sicherheit aus, um zwischenzeitlich noch den auf der zweiten Seite B eingegebenen Befehl abzuarbeiten. Dieser wird also so lange verzögert, bis der auf der ersten Seite A eingegebene Befehl mit Sicherheit abgearbeitet ist. Das Signal am Leseeingang R des Schreib-Lese-Speichers 5 hat dann den in der zweiten Zeile von Fig. 2b gezeigten Verlauf, das Auslesen erfolgt in der Zeit von t 23 bis t 24. Die zweite Seite B ist damit in der Zeit von t 20 bis t 24 aktiv, wie dies die dritte Zeile von Fig. 2b zeigt (busy B). Um diesen Ablauf zu erreichen wird zunächst, während der Zeit t 20 bis t 21, ein Test durchgeführt (vierte Zeile von Fig. 2b). Durch diesen Test wird das Signal busy A überprüft. In Abhängigkeit vom Ergebnis dieses Tests wird eines von zwei Signalen, R 2 oder R 3 (fünfte und sechste Zeile in Fig. 2b) als Lesebefehl an den Leseeingang R weitergegeben. Das Signal R 2 enthält einen Impuls, der zum Zeitpunkt t 21 mit dem Ende des Tests beginnt und zum Zeitpunkt t 22 endet. Die Zeit zwischen t 21 und t 22 ist so bemessen, daß während dieser Zeit ein vollständiger Lesevorgang erfolgen kann. Daraus ergibt sich dann die Mindestverzögerungszeit auf der ersten Seite A. Im Beispiel ist t 22-t 20 = t 11-t 10.Das im Fall der Fig. 2b als Lesebefehl ausgewählte Signal R 3 enthält einen Impuls, der zum Zeitpunkt t 23 beginnt und zum Zeitpunkt t 24 endet, wobei t 24-t 23 = t 22-t 21 ist. Der Anfang des Impulses t 23 muß in jedem Fall so spät liegen, daß mit Sicherheit jeder zum Zeitpunkt t 20 bereits eingeleitete Schreibvorgang wieder beendet ist. Es muß also t 23-t 20 mindestens so lang sein wie t 12-t 10. In der letzten Zeile von Fig. 2b ist noch ein Clear-Signal gezeigt, mit dessen Hilfe zum Zeitpunkt t 24 die Umschaltung zwischen R 2 und R 3 wieder in ihre Ruhelage gebracht werden kann.The first line of Fig. 2b shows the signal on the second command line exB . At time t 20 , the command is entered that B is to be read out on the second side. In this example, the time t 20 is shortly after t 10 . A command has therefore already been entered on the first page A , but has not yet been processed. The execution of the command entered on the first side A is still delayed, but the delay is certainly not sufficient to process the command entered on the second side B in the meantime. This is therefore delayed until the command entered on the first page A is processed with certainty. The signal at the read input R of the read-write memory 5 then has the course shown in the second line of FIG. 2b, the reading takes place in the time from t 23 to t 24 . The second side B is thus active in the time from t 20 to t 24 , as the third line of FIG. 2b shows (busy B ). In order to achieve this sequence, a test is first carried out during the time t 20 to t 21 (fourth line of FIG. 2 b). This test checks the busy A signal. Depending on the result of this test, one of two signals, R 2 or R 3 (fifth and sixth lines in FIG. 2b) is passed on to the read input R as a read command. The signal R 2 contains a pulse that begins at time t 21 with the end of the test and ends at time t 22 . The time between t 21 and t 22 is such that a complete reading process can take place during this time. This then results in the minimum delay time on the first side A. In the example t 22 - t 20 = t 11 - t 10 .The in the case of Figure 2b is selected as a reading command signal R 3 contains a pulse at time t 23 starts and at the time t 24 terminates, where t is 24 -. T 23 = t 22 - t 21 . The start of the pulse t 23 must in any case be so late that it is certain that every write operation already initiated at time t 20 is ended again. So t 23 - t 20 must be at least as long as t 12 - t 10 . In the last line of FIG. 2b, a clear signal is also shown, with the aid of which the switchover between R 2 and R 3 can be brought back to its rest position at time t 24 .

Fig. 2c zeigt die den Signalen der Fig. 2b entsprechenden Signale für den Fall, daß der Zeitpunkt t 20 vor t 10 liegt, daß also die erste Seite A gerade nicht aktiv ist. In diesem Fall fällt das Signal am Leseeingang R nicht mit R 3, sondern mit R 2 zusammen. Der Lesevorgang ist damit abgeschlossen, bevor ein Schreibvorgang beginnen kann. FIG. 2c shows the signals corresponding to the signals of FIG. 2b in the event that the time t 20 is before t 10 , that is to say that the first side A is currently not active. In this case, the signal at the reading input R does not coincide with R 3 , but with R 2 . The reading process is now complete before a writing process can begin.

Auch hier treten selbstverständlich geringfügige Laufzeitunterschiede auf, die vom Fachmann in bekannter Weise zu berücksichtigen sind.Here, too, there are of course slight differences in runtime on by the expert in a known manner are taken into account.

Eine Schaltung, mit der der anhand der Fig. 2 beschriebene Ablauf gesteuert werden kann, kann prinzipiell auf verschiedene Arten aufgebaut sein. Beispielsweise können die einzelnen Verzögerungszeiten, genaugenommen deren Enden, für jeden auszuführenden Befehl neu bestimmt werden, indem jeweils geprüft wird, ob noch ein Grund für die Verzögerung vorliegt und indem bei Wegfall dieses Grunds die Verzögerung beendet wird. So kann etwa der an den Schreibeingang W zu gebenden Schreibimpuls dann beginnen (t 11), wenn seit dem Ausführungsbefehl an exA (t 10) die Zeit verstrichen ist, die zur Ausführung eines Tests erforderlich ist (t 21-t 20) und anschließend festgestellt wird, daß am Leseeingang R kein Impuls anliegt.A circuit with which the sequence described with reference to FIG. 2 can be controlled can in principle be constructed in various ways. For example, the individual delay times, strictly speaking their ends, can be redetermined for each command to be executed by checking in each case whether there is still a reason for the delay and by terminating the delay if this reason ceases to exist. For example, the write pulse to be sent to the write input W can begin ( t 11 ) when the time required to execute a test ( t 21 - t 20 ) has elapsed since the execution command to exA ( t 10 ) and then determined is that there is no pulse at the reading input R.

Beim Ausführungsbeispiel nach Fig. 1 arbeitet die Steuereinrichtung 7 dagegen so, daß die einzelnen Verzögerungen fest vorgegebene Zeiten sind. Diese Zeiten werden durch die von außen zugeführten Takte Clock A und Clock B bestimmt. Sie könnten aber auch durch Monoflops bestimmt werden. In the exemplary embodiment according to FIG. 1, on the other hand, the control device 7 operates in such a way that the individual delays are predetermined times. These times are determined by the clocks Clock A and Clock B supplied from the outside. But they could also be determined by monoflops.

Die Steuereinrichtung 7 nach Fig. 1 enthält auf jeder Seite einen Zähler 71 A und 71 B, einen Decoder 72 A und 72 B und ein UND-Gatter 73 A und 73 B. Der Zähler 71 A/B wird durch einen Befehl auf der Befehlsleitung exA/B zurückgesetzt und durch den Takt Clock A/B hochgezählt. Aus dem Zählerstand werden durch den Decoder 72 A/B die benötigten Signale entsprechend Fig. 2 abgeleitet. Am Ende wird der Takt Clock A/B durch das UND-Gatter 73 A/B unterbrochen und der Zähler 71 A/B bleibt stehen, bis er wieder zurückgesetzt wird.The controller 7 of FIG. 1 includes on each side a counter 71 A and 71 B, a decoder 72 A and 72 B, and an AND gate 73 A and 73 B. The counter 71 A / B is reset by a command on the command line exA / B and counted up by the clock clock A / B. The required signals according to FIG. 2 are derived from the counter reading by the decoder 72 A / B. At the end, clock A / B is interrupted by AND gate 73 A / B and counter 71 A / B remains until it is reset.

Die Verknüpfung der Vorgänge auf der ersten Seite A mit denen auf der zweiten Seite B erfolgt durch eine Prüfeinrichtung 6. Die Prüfeinrichtung 6 besteht aus einem D-Flip-Flop 61 und einem UND-Gatter 62. Durch das UND- Gatter 62 wird während der durch das Signal Test vorgegebenen Prüfzeit geprüft, ob die erste Seite A aktiv ist (busy A). Das Ergebnis dieser Prüfung wird im D- Flip-Flop 61 festgehalten, bis dieses durch das Signal Clear zurückgesetzt wird. Durch einen weiteren aus zwei UND-Gattern 75 und 76 und einem ODER-Gatter 74 bestehenden Decoder wird in Abhängigkeit vom Inhalt des D-Flip- Flops 61 eines der beiden Signale R 2 und R 3 an den Leseeingang R durchgeschaltet.The processes on the first side A are linked to those on the second side B by a test device 6 . The test device 6 consists of a D flip-flop 61 and an AND gate 62 . The AND gate 62 checks whether the first side A is active (busy A ) during the test time specified by the signal test. The result of this test is recorded in the D flip-flop 61 until it is reset by the signal Clear. Another decoder consisting of two AND gates 75 and 76 and an OR gate 74 switches one of the two signals R 2 and R 3 to the read input R depending on the content of the D flip-flop 61 .

Eine Ergänzung des Ausführungsbeispiels der Fig. 1 wird nun anhand der Fig. 3 beschrieben.A supplement to the embodiment of FIG. 1 will now be described with reference to FIG. 3.

Bei diesem Ausführungsbeispiel kann in den Schreib-Lese- Speicher 5 von beiden Seiten aus eingeschrieben und nach beiden Seiten hin ausgelesen werden. Hierfür ist ein geringfügig abgewandelter Schreib-Lese-Speicher 5′ vorhanden, der keinen separaten Leseeingang, sondern einen kombinierten Schreib-Lese-Eingang W/ aufweist. Die Datenausschlüsse sind über Datenleitungen Data A mit der ersten Seite A und über Datenleitungen Data B mit der zweiten Seite B verbunden. In gleicher Weise sind die Adreßeingänge über Adreßleitungen Adress A/B angeschlossen. Das für den Schreib-Lese-Eingang W/ bestimmte Signal wird in einem ODER-Gatter 51 aus zwei von den beiden Seiten A/B kommenden Schreibsignalen write A/B gewonnen.In this embodiment, the read / write Storage5 inscribed from both sides and after be read out on both sides. For this is an slightly modified read / write memory5 ′ available, which is not a separate reading entrance, but one  combined read / write inputW/  having. The Data exclusions are data linesA with the first pageA and over data lines dataB with the second pageB connected. In the same way they are Address inputs via address lines addressA/B connected. That for the read / write inputW/  certain signal is in an OR gate51 from two of the two pagesA/B upcoming write signals writeA/B  won.

Auf beiden Seiten A/B sind Befehlseingabespeicher 10′/20′ vorhanden, die außer den Adressen auch noch das Schreibsignal write A/B zwischenspeichern. Das Einschreiben in den Befehlseingabespeicher 10′/20′ wird, wie auch das Rücksetzen des Zählers 71 A/B durch ein Signal veranlaßt, das in einem ODER-Glied 11 A/B aus getrennten Schreib- und Lesesignalen write A/B und read A/B gewonnen wird. Durch das Schreibsignal write A/B wird gleichzeitig veranlaßt, daß auf der äußeren Datenleitung Data A/B anstehende Daten in Dateneingabespeicher 31/41 eingeschrieben werden. Für die Ausgabe von Daten sind Datenausgabespeicher 32/42 vorhanden.On both sides A / B there are command input memories 10 ' / 20' which, in addition to the addresses, also temporarily store the write signal write A / B. The writing in the command input memory 10 ' / 20' , as well as the reset of the counter 71 A / B is caused by a signal which in an OR gate 11 A / B from separate write and read signals write A / B and read A / B is won. By the write signal WRITE A / B is caused at the same time that pending on the external data line Data A / B data is written into data memory 31, input / 41st Data output memories 32/42 are available for the output of data.

Die von der Steuereinrichtung 7 kommenden Signale, die im Beispiel nach Fig. 1 direkt zum Schreibeingang W und zum Leseeingang R führten, müssen hier mit dem gespeicherten Schreibsignal write A/B verknüpft werden, um die Ausgabe von Daten aus dem Dateneingabespeicher 31/41 an den Schreib-Lese-Speicher 5′ oder die Übernahme der vom Schreib-Lese-Speicher 5′ ausgegebenen Daten in den Datenausgabespeicher 32/42 zu bewirken. Hierzu sind UND-Gatter 12 A/B und mit je einem invertierenden Eingang versehene UND-Gatter 13 A/B vorhanden. The data coming from the control device 7 signals in the example of FIG. 1, directly to the write input W and led to the read input R, must here be linked to the stored write signal WRITE A / B to the output data from said data input memory 31/41 on 32 / to effect the read-write memory 5 'or the acquisition of the read-write memory 5' data outputted in the data output storage 42nd For this purpose there are AND gates 12 A / B and AND gates 13 A / B each provided with an inverting input.

Im übrigen, insbesondere was die Steuereinrichtung 7 betrifft, arbeitet die Schaltung nach Fig. 3 wie die Schaltung nach Fig. 1.Otherwise, in particular as far as the control device 7 is concerned, the circuit according to FIG. 3 operates like the circuit according to FIG. 1.

Das zugrundeliegende Prinzip ist, wie leicht zu erkennen ist, auch auf gänzlich andere Einrichtungen mit zwei voneinander unabhängigen Befehlseingabestellen anwendbar, selbst auf die Steuerung nichtelektrischer Einrichtungen.The underlying principle is how easy to see is, also on completely different facilities with two from each other independent command entry points applicable, even on the control of non-electrical devices.

Auch ist leicht ersichtlich, daß das Prinzip ohne weiteres durch Kaskadierung auf mehr als zwei Befehlseingabestellen erweiterbar ist.It is also easy to see that the principle is straightforward by cascading to more than two command entry points is expandable.

  • Bezugszeichenliste: 1 erste Befehlseingabestelle
    2 zweite Befehlseingabestelle
    3 Dateneingabespeicher
    4 Datenausgabespeicher
    5,5′ Schreib-Lese-Speicher
    6 Prüfeinrichtung
    7 Steuereinrichtung
    A erste Seite
    B zweite Seite
    DA 0...DA 3 Daten
    DB 0...DB 3 Daten
    AA 0...AA 3 Adreßleitungen
    AB 0...AB 3 Adreßleitungen
    exA erste Befehlsleitung (execute A)
    exB zweite Befehlsleitung
    Clock A erster Takt
    Clock B zweiter Takt
    ready Fertigsignal
    oeB Ausgabesignal (output enable B)
    10 erster Adreßeingabespeicher
    W Schreibeingang
    D 0...D 3 Dateneingänge/Datenausgänge
    A 0...A 3 Adreßeingänge
    20 zweiter Adreßeingabespeicher
    R Leseeingang
    71 A,B Zähler
    72 A,B Decoder
    73 A,B UND-Gatter
    Data A,B Datenleitungen
    Adress A,B Adreßleitungen
    W/  Schreib-Lese-Eingang
    51 ODER-Gatter
    write A/B Schreibsignal
    10′ Befehlseingabespeicher
    20′ Befehlseingabespeicher
    11 A,B ODER-Glied
    31,41 Dateneingabespeicher
    32,42 Datenausgabespeicher
    12 A,B UND-Gatter
    61 D-Flip-Flop
    62 UND-Gatter
    75,75 UND-Gatter
    74 ODER-Gatter
    Reference symbol list: 1first command entry point
    2ndsecond command entry point
    3rdData entry memory
    4thData output memory
    5.5 ′Read-write memory
    6Test facility
    7Control device
    Afirst page
    Bsecond page
    THERE 0...THERE 3rdData
    DB 0...DB 3rdData
    AA 0...AA 3rdAddress lines
    FROM 0...FROM 3rdAddress lines
    exAfirst command line (executeA)
    exBsecond command line
    Clock Afirst bar
    Clock Bsecond bar
    readyReady signal
    oeBOutput signal (output enableB)
    10thfirst address input memory
    WWrite input
    D 0...D 3rdData inputs / data outputs
    A 0...A 3rdAddress inputs
    20thsecond address input memory
    RReading input
    71 FROMcounter
    72 FROMdecoder
    73 FROMAND gate
    Data A, BData lines
     Address A, BAddress lines
    W/ Read / write input
    51OR gate
    writeA/BWrite signal
    10 ′Command input memory
    20 ′Command input memory
    11 FROMOR gate
    31.41Data entry memory
    32.42Data output memory
    12 FROMAND gate
    61D flip-flop
    62AND gate
    75.75AND gate
    74OR gate

Claims (8)

1. Verfahren zum Betreiben einer Einrichtung mit zwei voneinander unabhängigen Befehlseingabestellen, dadurch gekennzeichnet, daß an der ersten Befehlseingabestelle (1, 1′) eingegebene Befehle um eine vorgegebene Mindestverzögerungszeit (t 11-t 10) verzögert durchgeführt werden, daß an der zweiten Befehlseingabestelle (2, 2′) eingegebene Befehle zunächst (während der Zeit t 21-t 20) einen Prüfvorgang auslösen, mit dem geprüft wird, ob der zuletzt an der ersten Befehlseingabestelle (1, 1′) eingegebene Befehl abgearbeitet ist oder nicht, daß bei noch abzuarbeitendem Befehl von der ersten Befehlseingabestelle (1, 1′) die Ausführung des Befehls von der zweiten Befehlseingabestelle (2, 2′) solange verzögert wird (t 23-t 21), daß zwischenzeitlich mit Sicherheit sowohl die Mindestverzögerungszeit (t 11-t 10) verstrichen als auch der bei der ersten Befehlseingabestelle (1, 1′) eingegebene Befehl abgearbeitet ist, daß anderenfalls (wenn der zuletzt an der ersten Befehlseingabestelle eingegebene Befehl abgearbeiet ist) der an der zweiten Befehlseingabestelle (2, 2′) eingegebene Befehl unmittelbar nach Ablauf des Prüfvorgangs (t 21) ausgeführt wird und daß die Mindestverzögerungszeit (t 11-t 10) größer als die für einen Prüfvorgang erforderliche Zeit (t 21-t 20) ist.1. A method for operating a device with two mutually independent command entry points, characterized in that commands entered at the first command entry point ( 1, 1 ' ) are carried out delayed by a predetermined minimum delay time ( t 11 - t 10) that at the second command entry point ( 2, 2 ' ) entered commands first (during the time t 21 - t 20 ) trigger a test process with which it is checked whether the last command entered at the first command entry point ( 1, 1' ) has been processed or not, that at command to be processed by the first command entry point ( 1, 1 ′ ) the execution of the command by the second command entry point ( 2, 2 ′ ) is delayed ( t 23 - t 21 ) such that in the meantime both the minimum delay time ( t 11 - t 10 ) has elapsed and the command entered at the first command entry point ( 1, 1 ′ ) has been processed, otherwise (if the last command at the first command input command is executed) the command entered at the second command input point ( 2, 2 ′ ) is executed immediately after the test process ( t 21 ) and that the minimum delay time ( t 11 - t 10 ) is greater than the time required for a test process ( t 21 - t 20 ). 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das Ende einer Verzögerung (t 11, t 23) durch weitere Prüfvorgänge bestimmt wird.2. The method according to claim 1, characterized in that the end of a delay ( t 11 , t 23 ) is determined by further testing processes. 3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das Ende einer Verzögerung (t 11, t 23) durch den Ablauf vorgegebener zeiten (t 22-t 20, t 12-t 10) bestimmt wird.3. The method according to claim 1, characterized in that the end of a delay ( t 11 , t 23 ) is determined by the expiry of predetermined times ( t 22 - t 20 , t 12 - t 10 ). 4. Einrichtung mit zwei voneinander unabhängigen Befehlseingabestellen, dadurch gekennzeichnet, daß beiden Befehlseingabestellen (1, 1′; 2, 2′) Speichereinrichtungen (10, 10′; 20, 20′) zugeordnet sind, in denen die eingegebenen Befehle bis auf Abruf speicherbar sind, daß der zweiten Befehlseingabestelle (2, 2′) eine Prüfeinrichtung (6) zugeordnet ist, mit der feststellbar ist, ob der zuletzt an der ersten Befehlseingabestelle (1, 1′) eingegebene Befehl abgearbeitet ist oder nicht, und daß eine Steuereinrichtung (7) vorhanden ist, die die Ausführung von Befehlen nach dem Verfahren nach einem der Ansprüche 1 bis 3 steuert.4. Device with two mutually independent command entry points, characterized in that two command entry points ( 1, 1 '; 2, 2' ) memory devices ( 10, 10 '; 20, 20' ) are assigned in which the commands entered can be stored until called are that the second command entry point ( 2, 2 ' ) is assigned a test device ( 6 ) with which it can be determined whether the last command entered at the first command entry point ( 1, 1' ) has been processed or not, and that a control device ( 7 ) is present which controls the execution of commands according to the method according to one of claims 1 to 3. 5. Einrichtung nach Anspruch 4, dadurch gekennzeichnet, daß sie eine Speichereinrichtung (5), eine Eingabestelle (3, 31) zur Eingabe von Speicherinhalten in die Speichereinrichtung (5) und eine Ausgabestelle (4, 42) zur Ausgabe von Speicherinhalten aus der Speichereinrichtung (5) enthält, daß über die erste Befehlseingabestelle (1, 1′) die Eingabe eines Speicherinhalts von der Eingabestelle (3, 31) aus veranlaßbar ist und daß über die zweite Befehlseingabestelle (2, 2′) die Ausgabe eines Speicherinhalts über die Ausgabestelle (4, 42) veranlaßbar ist.5. Device according to claim 4, characterized in that it has a storage device ( 5 ), an input point ( 3, 31 ) for inputting memory contents into the memory device ( 5 ) and an output point ( 4, 42 ) for outputting memory contents from the memory device ( 5 ) contains that the input of a memory content from the input point ( 3, 31 ) can be initiated via the first command input point ( 1, 1 ' ) and that the output of a memory content via the output point via the second command input point ( 2, 2' ) ( 4, 42 ) can be initiated. 6. Einrichtung nach Anspruch 5, dadurch gekennzeichnet, daß die Speichereinrichtung (5) mehrere adressierbare Speicherzellen aufweist und daß über die Befehlseingabestellen (1, 1′; 2, 2′) auch die Adressierung der Speicherzellen erfolgt.6. Device according to claim 5, characterized in that the memory device ( 5 ) has a plurality of addressable memory cells and that via the command input points ( 1, 1 '; 2, 2' ) is also the addressing of the memory cells. 7. Einrichtung nach Anspruch 5 oder 6, dadurch gekennzeichnet, daß die Eingabestelle (31) mit einer Ausgabestelle (32) kombiniert ist, die beide von der ersten Befehlseingabestelle (1′) aus steuerbar sind und daß die Ausgabestelle (42) mit einer Eingabestelle (41) kombiniert ist, die beide von der zweiten Befehlseingabestelle (2′) aus steuerbar sind.7. Device according to claim 5 or 6, characterized in that the input point ( 31 ) is combined with an output point ( 32 ), both of which can be controlled from the first command input point ( 1 ' ) and that the output point ( 42 ) with an input point ( 41 ) is combined, both of which can be controlled from the second command entry point ( 2 ' ). 8. Einrichtung nach einem der Ansprüche 6 oder 7, dadurch gekennzeichnet, daß die Speichereinrichtung (5) eine integrierte Halbleiterspeicherschaltung mit Schreib- und Lesemöglichkeit und wahlfreiem Zugriff (RAM, EEPROM), ist.8. Device according to one of claims 6 or 7, characterized in that the memory device ( 5 ) is an integrated semiconductor memory circuit with write and read options and random access (RAM, EEPROM).
DE19853537115 1985-10-18 1985-10-18 METHOD FOR OPERATING A DEVICE WITH TWO INDEPENDENT COMMAND INPUTS AND DEVICE WORKING ACCORDING TO THIS METHOD Withdrawn DE3537115A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE19853537115 DE3537115A1 (en) 1985-10-18 1985-10-18 METHOD FOR OPERATING A DEVICE WITH TWO INDEPENDENT COMMAND INPUTS AND DEVICE WORKING ACCORDING TO THIS METHOD
GB08624134A GB2181872A (en) 1985-10-18 1986-10-08 Dual-port memory
ES8602651A ES2003888A6 (en) 1985-10-18 1986-10-17 Dual-port memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19853537115 DE3537115A1 (en) 1985-10-18 1985-10-18 METHOD FOR OPERATING A DEVICE WITH TWO INDEPENDENT COMMAND INPUTS AND DEVICE WORKING ACCORDING TO THIS METHOD

Publications (1)

Publication Number Publication Date
DE3537115A1 true DE3537115A1 (en) 1987-05-27

Family

ID=6283868

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19853537115 Withdrawn DE3537115A1 (en) 1985-10-18 1985-10-18 METHOD FOR OPERATING A DEVICE WITH TWO INDEPENDENT COMMAND INPUTS AND DEVICE WORKING ACCORDING TO THIS METHOD

Country Status (3)

Country Link
DE (1) DE3537115A1 (en)
ES (1) ES2003888A6 (en)
GB (1) GB2181872A (en)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3374465A (en) * 1965-03-19 1968-03-19 Hughes Aircraft Co Multiprocessor system having floating executive control
US4099243A (en) * 1977-01-18 1978-07-04 Honeywell Information Systems Inc. Memory block protection apparatus
JPS5443644A (en) * 1977-09-13 1979-04-06 Fujitsu Ltd Processing system for deadlock automatic release at exclusive control time
US4169284A (en) * 1978-03-07 1979-09-25 International Business Machines Corporation Cache control for concurrent access
GB2037039B (en) * 1978-12-11 1983-08-17 Honeywell Inf Systems Cache memory system
US4390943A (en) * 1979-12-26 1983-06-28 Honeywell Information Systems Inc. Interface apparatus for data transfer through an input/output multiplexer from plural CPU subsystems to peripheral subsystems
US4574350A (en) * 1982-05-19 1986-03-04 At&T Bell Laboratories Shared resource locking apparatus
GB2131581B (en) * 1982-11-20 1986-11-19 Int Computers Ltd Dual processor arrangement

Also Published As

Publication number Publication date
GB2181872A (en) 1987-04-29
GB8624134D0 (en) 1986-11-12
ES2003888A6 (en) 1988-12-01

Similar Documents

Publication Publication Date Title
EP1097460B1 (en) Integrated circuit comprising a self-test device for executing a self-test of the integrated circuit
DE4111483C2 (en) Dual port memory
DE2311034C2 (en) Method for testing a semiconductor chip containing integrated logic combination and memory elements
DE3115541C2 (en)
DE3687787T2 (en) MEMORY ACCESS CONTROL CIRCUIT.
DE19860650B4 (en) A synchronous semiconductor memory device having a chip set memory control device with data masking function
EP0974977A2 (en) Integrated memory
DE2340547B2 (en) CIRCUIT ARRANGEMENT FOR TESTING LOGICAL CIRCUITS
EP0013737A1 (en) Multilevel storage hierarchy for a data processing system
DE19614237C1 (en) Communication system with a master station and at least one slave station
DE10215362A1 (en) Integrated memory with a memory cell array with several memory banks and circuit arrangement with an integrated memory
EP0036579A1 (en) Method for refreshing information stored in a dynamic MOS-memory
DE2719291A1 (en) DATA STORAGE SYSTEM
DE3850212T2 (en) Multiple CPU system with shared memory.
DE2242279C3 (en) Circuit arrangement for determining errors in a memory unit of a program-controlled data exchange system
EP0064574A2 (en) Arrangement for reading unambiguous information from a sequential digital system by means of mutual asynchronous control signals for relaying the sequential logic system and for receiving the information
DE2952056B1 (en) Write and read circuit for a memory with random access
DE3537115A1 (en) METHOD FOR OPERATING A DEVICE WITH TWO INDEPENDENT COMMAND INPUTS AND DEVICE WORKING ACCORDING TO THIS METHOD
DE19501227A1 (en) DRAM refreshing control circuit
DE2917822A1 (en) CIRCUIT ARRANGEMENT FOR TWO-WAY TRANSMISSION OF SIGNALS
DE3021306C2 (en)
DE4413823A1 (en) Data block access mechanism for memory chip devices
DE2649932A1 (en) CENTRAL CONTROL UNIT FOR PERIPHERAL UNITS OF A DATA PROCESSING SYSTEM
EP1085387A2 (en) Memory controller for performing switching to access storage cells
DE1474041C3 (en) Arrangement for sorting information bit groups recorded in random order

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee