MEMORY ADDRESSING CIRCUIT

Abstract: In a circuit for addressing a memory (3) via an address register (14), cyclical addressing of a selectable memory area is desirable. For this purpose an address multiplexer (13) is connected upstream of the address register (14), a logic circuit (21) being provided which connects through an incrementation means (decrementation means) (19) when the respective address output deviates from an an upper limit (lower limit) of an address range, and connects through a register (15) serving to store the lower limit (upper limit) of the address range when the address output matches the upper limit (lower limit) of the address range, to the output (13a) of the address multiplexer (13). The application area includes signal processors, especially for filter tasks. <IMAGE>

Description: Schaltung zur Adressieruna eines Speichers Die Erfindung bezieht sich auf eine Schaltung zur Adressierung eines Speichers über ein Adressenregister. Es liegt ihr die Aufgabe zugrunde, eine Mehrzahl von Speicherplätzen, die durch eine Mehrzahl von innerhalb eines frei wählbaren Adressenbereiches liegeniden Bi naradressen gekennzeichnet sind, zyklisch zu edressie- ren. Hierunter soll z.3. verstanden werden, dass die Schaltung eine Folge von Adressen bildet, die, insbe- sondere ausgehend von einer Adressenbereichsuntergrenze, den Adressenbereich in einzelnen Schritten in auf stei- gender Richtung durchläuft, wobei jeweils nach dem Erreichen einer Adressenbereichsobergrenze auf die Adressenbereichsuntergrenze umgeschaltet und eine weitere, den Adressenbereich schrittweise in aufsteigender Richtung durchlaufende Adressenfolge abgegeben wird. Andererseits kann eine zyklische Adressierung auch so verstanden werden, dass die Schaltung eine Folge von Adressen bildet, die, insbesondere ausgehend von einer Adressenbereichsobergrenze, den Adressenbereich schrittweise in ab steigender Richtung durchläuft, wobei jeweils nach dem Erreichen der Adressenbereichsuntergrenze auf die Adressenbereichsobergrenze umgeschaltet und mit einer weiteren, den Adressenbereich in absteigender Richtung durchlaufenden -Adressenfolge- fortgesetzt wird. Diese Aufgabe wird erfindungsgemäss durch eine Ausbildung der Schaltung gemäss den kennzeichnenden Merkmalen der Ansprüche 1 oder 2 gelöst. Der mit der Erfindung erzielbare Vorteil liegt insbesondere darin, das durch die zyklische Speicherdressierung die in einer Mehrzahl von Speicherplätzen abgelegten Daten in einfacher Weise periodisch abgefragt und mit anderen Daten verarbeitet oder verglichen werden können, wobei die Grenzen des Adressenbereichs und damit die Grenzen des abgefragten Speicherbereichs beliebig festlegbar sind. Die zyklische Speicheradressierung erlaubt es, in besonders vorteilhafter Weise eine Signalverarbeitung (slgnal processing) durchzuführen, wobei die in den periodisch abgefragten Speicherplätzen gespeicherten Daten den nacheinander abgetaseten Funktionswerten eines zu verarbeitenden zeitabhändigen Signals ent sprechen. Dabei gelingt es, mt . einem Minimum an rjm speichervorgängen eine vorgegebene Anzahl von solchen Abtastwerten zu speichern und den Bestand der gespe-- cherter. Abtastwerte durch jeden neuen Abtastwert in der Weise zu verändern, dass dieser an die Stelle des jeweils ältesten gespeicherten abtastwertes tritt. Das bedeutet, dass der gespeicherte Bestand an Abtastwerten schrittweise aktualisiert wird. Durch eine zyklische Speicheradressierung kann der gespeicherte, jeweils 2ktuallsier- te Datenbestand auch in sehr einfacher Weise zur weite- ren Verarbeitung ausgelesen werden. Die Ansprüche 3 bis 5 sind auf bevorzugte Ausgestaltungen und Weiterbildungen der Erfindung gerichtet. Die Erfindung wird nachfolgend anhand der Zeichnung näher erläutert. Dabei zeigt: rig. 1 das Prinzipschaltbild einer Datenverarbeitungs- anlage, die eine Schaltung nach der Erfindung enthält, Fig. 2 eine Teilschaltung von Fig. 1. und Fig. 3 Diagramme zur Erläuterung eines Betriebs verfahrens für eine Schaltung nach Fig. 1. In Fig. 1 ist eine Datenverarbeitungsanlage mit einem Rechenwerk 1, einem Leitwerk 2 und einem Speicher mit wahlfreiem Zugriff (RAM) 3 dargestellt. Das Rechenwerk 1 ist über eine Sammelleitung 4 mit dem Speicher 3 sowie mit einer Eingabe/Ausgabe-Einheit 5 verbunden, deren Eingang über eine n-adrige Leitung 6 m e einem Analog/Digital- Wandler 7 beschaltet ist. Dessen @ Eingang 8 ist mit einem zu verarbeitenden zeitabnäng-gen analogen Signal Se belegt. Ein Ausgang von 5 ist über eine n-adrige Leitung 9 mit einem Digital/Analog-Wandler 10 verbunden, an dessen Ausgang 11 ein analoges Signal Sa abgreifbar ist. Mit 13 ist ein Adressen-Multiplexedr bezelchnet, dessen Ausgang 13a mit einem Adressenregister 14 beschaltet ist. Der Ausgang von 14 St an den Adresseneingang 12 des Speichers 3 gelegt. Weiterhin sind ein Register 15 zur Speicherung einer Adressenbereichsuntergrenze und ein Register 16 zur Speicherung einer Adressenbereichsobergrenze vorgesehen, deren Eingänge jeweils über Leitungsbündel 17 und 18 mit dem Leitwerk 2 verbunden sind. Eine Inkrementiereinrichtung 19 ist über ihren Eingang 19a mit dem Ausgang des Adressenregisters 14 verbunden. Die Ausgänge des Registers 15 und der lnkrementierein- richtung 19 sind an die Eingänge El und E2 des Adressen Multiplexers 13 geschaltet. Eine n-adrige Adresseneingabeleitung 20 verbindet das Leitwerk 2 mit dem Eingang E3 von 13. Ausserdem ist der Ausgang des Adressenregisters 14 mit dem Eingang E4 von 13 verbunden. Die Ausgänge des Adressenregisters 14 und des Registers 16 sind an Eingänge 21a und 21b einer Logikschaltung 21 gelegt, die vom Leitwerk 2 über die Leitung 22 angesteuert wird. Zwei Ausgänge der Logikschaltung 21 sind mit zwei Steuereingängen S1 und S2 des Adressen-Multiplexers 13 verbunden, während zweiweitere Steuereingänge S3 und S4 von 13 über Leitungen 23 und 24 mit dem Leitwerk 2 verbunden sind. Durch Zuführung eines Steuersignals an S1 wird der Eingang El an den Ausgang 13a von 13 durchgeschaltet. Analog hierzu wird jeder der Eingänge E2, E3 oder D4 durch ein Steuersignal an S2, S3 oder S4 auf den Ausgang 13a durchgeschaltet. Die Loglkschaltung 21 arbeitet in der Weise, dass bei Gleichheit der Inhalte des Adressenregisters lLL und des Registers 16 in Abhän- gigkelt von einem Befehlssgnal auf der Leitung 22 ein Steuersignal über den einen Ausgang auf S1 übertragen wird. Bei Ungleichneit dieser Registerinhalte wird in Abhängigkeit von einem Befehlssignal auf der Leitung 22 ein Steuersignal über den anderen Ausgang auf S2 über tragen. Zur Festlegung des zu adressierenden Speicherbereichs wird dem Register 15 über das Leitungsbündel 17 eine n-stellige Binärzahl eingegeben, die die Adressenbereichsuntergrenze darstellt. Dem Register 16 wird über das Leitungsbündel 18 eine andere n-stellige Binärzahl eingegeben, die die Adressenbereichsobergrenze bedeutet. Gibt man nun über die Adresseneingabeleitung 20 eine zwischen diesen beiden Binärzahlen liegende, weitere n-stelllge Binärzahl ein, und schaltet diese durch ein Befehissignal auf der Leitung 23 über E3 auf den Ausgang 13a des Adressen-Multiplexers 13 durch, so wird diese Binarzahl auf das Adressenregister 14 übertragen. Damit wird über den Ausgang von 14 an den Adresseneingang 12 eine Adresse abgegeben, die innerhalb des eingestellten Adressenbereichs liegt. Für eine fortlaufende zyklische Adressierung innerhalb dieses Speicherbereichs in aufsteigender Richtung, genügt es, der Logikschaltung 21 über die Leitung 22 eine Reihe von Befehlssignalen zuzuführen. Jedes derselben veranlasst die Logikschaltung 21 unter der Voraussetzung, dass die jeweils von 14 abgegebene Adresse innerhalb des Adressenbereichs liegt, zur Abgabe eines Steuersignals an den Eingang 52. Da von der jeweils abgegebenen Adresse, die auch am Eingang 19 der Inkrementiereinrichtung 19 anliegt, in 19 automatisch die nächsthöhere Adresse abgeleitet und an den Eingang E2 gelegt wird, bedeutet das eintreffen eines Steuersignals am eingang 52, dass die nächsthöhere Adresse über 13 und 13a an en Ausgang von 14 durchgeschaltet wirt. Wird von 14 eine Adresse abgegeben; die der Bereichsobergrenze entspricht, so ergeben sich die gleichen Registerinhalte in den Registern 14 und 16. Damit wird durch das nächstfolgende 3efehlssignal auf der Leitung 22 die Logikschaltung 21 zur Abgabe eines Signals an den Eingang S1 von 13 veranlasst. Das bedeutet aber, dass die im Register 15 gespeicherte Adresse, die der Adressenbereichsuntergrenze entspricht, über El, 13 und 14 an den Adresseneingang 12 des Speichers 3 gelangt. Die nächstfolgenden Befehlssignale auf der Leitung 22 veranlassen dann wieder die Abgabe einer Adressenfolge, die den Adressenbereich schrittweise ifl auf steigender Richtung durchläuft. Die Inkrementiereinrichtung 19 besteht zweckmässigerweise aus einem Binärzähler, der automatisch bei Eingabe einer Binärzahl über den Eingang 19a eine um ein bestimmtes Inkrement, z.B. 1, erhöhte Binärzahl an den Eingang E2 des Adressen-Multiplexers 13 abgibt. Eine bevorzugte schaltungstechnische Durchbi'dung der logischen Schaltung 21 ist in Fig. 2 gezeigt. Hierbei stellen die (n-poligen) Eingänge 21a und 21b von 21 gleichzeitig die Eingänge einer Exklusiv-ODER-Schaltung 25 dar, deren (n-poliger) Ausgang an die n Eingänge einer ODER-Schaltung 26 geführt ist. Der Ausgang der letzteren ist einerseits über einen Inverter 27 mit dem ersten Eingang eines UND-Gliedes 28 und andererseits mit dem ersten Eingang eines UND-Gliedes 29 direkt verbunden. Die zweiten Eingänge der UND-Glieder 28 und 29 sind mit der Steuerleitung 22 beschaltet. Der Ausgang des UND-Gliedes 28 ist an den Steuereingang S1 des Adressen Multiplexers 13 geführt, während der Ausgang des UND-Gliedes 29 mit S2 von 13 verbunden ist, Am Ausgang der ODER-Schaltung 25 liegt immer dann eine logische "1", wenn die über 21a und 21b zugeführten n-stelligen Binärzahlen voneinander abweichen. Das bedeutet aber eine Sperrung des UND-Gliedes 28, während die auf der Leitung 18 ankommenden Befehlssignale über das UND-Glied 29 auf 52 übertragen werden und eine inkrementelle Weiterschaltung der jeweils ausgegebenen Adressen be wirken. Snd die Registerinhalte von 14 und 15 gleich, so werden über 21a und 21b gleiche Binärzahlen zugeführt. Am Ausgang von 25 erscheint in diesem Fall eine logische "O", wobei das @ND-Glied 28 das nächstfolgende Befehlssignal auf der Leitung 22 an den Steuereingang von S1 überträgt, während das UND-Gled 29 sperrt. Ersetzt man in Figur 1 die Inkrementiereinrichtung 19 durch eine Dekrementiereinrichtung, die beispielsweise aus einem Rückwärtszähler besteht, und verwendet gleich zeitz das Register 15 zur Speicherung der Adressenbereichsobergrenze und das Register 16 zur Speicherung der Adressenbereichsuntergrenze, so ergibt sich eine zyklische Adressierung, bei der der zwischen diesen Grenzen liegende Adressenbereich von den einzelnen Adressenfolgen in ieweils absteigender Richtung durchlaufen wird. Über Steuerleitungen 30 werden dem Speicher 3 aus dem Leitwerk 2 Befehlssignale mitgeteilt, die ihn z.B. veranlassen, entweder eine über die Sammelleitung 4 empfangene Binärzahl in einen jeweils über das Adressenregister 14 adressierten Speicherplatz einzuschreiben oder eine Binärzahl. die in einem jeweils über das Adressenregister 14 adressierten Speicherplatz gespeichert ist, auf die Sammelleitung 4 auszulesen. Steuerleitungen 31 dienen zur Übermittlung von Befehlen, z.B. Operationsbefehlen, zwischen dem Leitwerk 2 und dem Rechenwerk 1, während Steuerleitungen 32 dazu benutzt werden, um in der Eingabe/Ausgabe-Einheit 5 die Leitung 6 in Richtung auf die Sammelleitung 4 oder die Sammelleitung 4 in RIchtung auf die Leitung 9 durchzuschalten. Nachfolgend wird ein Verfahren zum Betrieb der Datenver arbeitungsanlage nach Fig. 1 beschrieben, das eine zyklische Adressierung eines Bereiches des Speichers 3 verwendet, um Abtastwerte des an 8 liegenden, analogen, zeitabhängigen Signals Se zur Verarbeitung im Rechenwerk 1 bereitzustellen. Dabei wird das Signal Se von dem Analog/Digital-Wandler 7 periodisch abgetastet, wobei eine Folge von digitalen Abtastwerten gebildet wird, die jeweils aus n-stelligen Binärzahlen Y1, Y2 ... usw. bestehen. Eine vorgegebene Anzahl dieser Abtastwerte wird über die Eingabe/Ausgabe-Einheit 5 nacheinander auf die Sammelleitung 4 und von dort zum Speicher 3 übertragen, wo sie in eine entsprechende Anzahl von Speicherplätzen eingeschrieben werden. Letztere werden nacheinander über das Adressenregister 14 adressiert. Für fünf Abtastwerte Y1 ... Y5, die in den Speicher 3 eingeschrieben werden sollen, benötigt man fünf Speicherplätze P1 ... P5, von denen jeder n-stellig ausgebildet ist, also n Speicherzellen umfasst. In Fig. 3 sind die Speicherplätze P1 ... ?5 durch einen entsprechend unterteilten Block 33 dargestellt. Eine Adressierung von P1 ... P5 synchron mit dem Auftreten der einzelnen Abtastwerte Y1 .. Y5 erfolgt durch eine von 14 abgegebene Adressenfolge mit den einzelnen Adressen Z1 .. Z5, die an Fig. 3 durch die Zeiger Z1 25 veranschaulicht sind. Durch einen gleichzeitigen Befehl "Einschreiben" auf den Leitungen 30 wird der Abtastwert Y1 in P1 gespeichert, der Abtastwert Y2 in P2 usw.. Dabei wird die Adressenfolge Z1 bis Z5 zweckmässi- gerweise so erzeugt, dass Z1 über die Aaresseneingabeleitung 20 als Startadresse eingegeben und durch ein Signal auf der Leitung 23 an den Ausgang des Adressen egisters 14 durchgeschaltet wird. Es schliessen sich vier Signale auf der Befehlsleitung 22 an, die Jeweils eine Weiterschaltung von Z1 auf die weiteren Adressen Z2 bis Z5 bewirken. Durch Eingabe von Z1 über das Leitungsbündel 17 als Adressenbereichsuntergrenze und von Z5 Ueber das Leitungsbündel ia als Adressenbereichsober- grenze wurde vorher festgelegt, dass der Adressenbererch Z1 bis Z5 schrittweise zyklisch durchlaufen werden soll. Es folgen nun mehrere derartige zyklische Adressendurchläufe, und zwar jeweils In aufsteigender Richtung. Für jeden derselben werden über die Leitung 22 fünf Befehlssignale übertragen. Dabei bewirken die ersten fünf die ser Signale, dass, ausgehend von der zuletzt ausgegebenen Adresse Z5, eine Adressenfolge Z11 bis Z51 gebildet wird. Während des Auftretens dieser Adressenfolge wird dem Speicher 3 über die Leitungen 30 der Befehl "Ausle- sen" mitgeteilt, so dass die in Pl ... P5 gespeicherten Abtastwerte Y1 ... Y5 auf die Sammelleitung 4 ausgele se. und dem Rechenwerk 1 zugeführt werden, in dem sie n herkömmlicher Weise verarbeitet werden. Durch das nächstfolende Befehlssignal auf der Leitung 22 wird über das Adressenregister 14 die Adresse Z12 abgegeben, die der Adressenbereichsuntergrenze entspricht. Hiermit beginnt der zweite Adressendurchlauf. Die Leitungen 30 werden während der Abgabe dieser Adresse mit dem Befehl ??Einschreiben!! belegt, so dass der unter der Adresse Z1 gespeicherte Abtastwert Y1, der den ältesten der gespeicherten Abtastwerte darstellt, durch einen neuen Abtastwert Y6 ersetzt bzw. überschrieben -wird. Beim Auftreten der übrigen Adressen Z22 bis Z52 innerhalb des zweiten Durchlaufes wird der Befehl "Auslespen" auf die Leitung 30 gegeben. Während des dritten Durchlaufes, d.h. während der Abgabe der Adressen Z13 ... 253, wird der Befehl 1Einschreiben auf den Leitungen 30 wieder nur während des Auftretens einer einzigen Adresse, und zwar der Adresse Z23, dem Speicher 3 mitgeteilt, während allen übrigen Adressen dieses Durchlaufes der Befehl "Auslesen" zugeordnet ist. Damit wird der in P2 gespeicherte Abtastwert Y2, der den ältesten noch verbliebenen Abtastwert unter den gespeicherten Abtastwerten darstellt, durch einen neuen Wert Y7 ersetzt. Die übrigen Speicherplätze, d.h. P1 bis P3 und P5, werden dagegen ausgelesen, wobei die ausgelesenen Abtastwerte dem Rechenwerk 1 zugeführt werden. Bei jedem der folgenden Adressendurchläufe wird ebenfalls beim Erreichen eines einzigen Speicherplatzes ein neuer Abtastwert eingeschrieben, während die übrigen Speicherplätze ausgelesen werden. Betrachtet man die Adressen, die in den einzelnen Durchläufen jeweils einem Einschreibebefehl zugeordnet sind, so ergibt sich eine Folge Z12, Z23, Z34, Z45 und Z56, wobei die zuge hörigen Speicherplätze in jedem Durchlauf um eine Stelle weiter gegenüber dem der Bereichsuntergrenze Z1 zugeordneten Speicherplatz P1 versetzt sind. Andererseits werden in einer ersten Ausleseperiode die Abtastwerte Y1 bis Y5 ausgelesen, in einer zweiten Ausleseperiode die Werte Y2 .. Y6, in einer dritten Ausleseperiode die Abtastwerte Y3 ... Y7 usw., so dass jeweils ein von Ausleseperlode zu Ausleseperiode aktualisierter Bestand on Abtastwerten der weiteren Verarbei- tung zugrunde gelegt wird. Die Ausgabe der Adressen ZI, Z2 ... Z5, Z12, Z23, Z34, Z45 und Z56 erfolgt dabei in gleichen zeitlichen Abständen. Nach einer Verarbeitung der jeweils ausgelesenen Abtastwerte im Rechenwerk ', die in an sich bekannter Weise erfolgt und nicht gegenstand dieser Erfindung ist, werden die erhaltenen E-ebniswerte, die beispielsweise eine Filterung des zeitachängigen Signals Se in einem Transversalfilter mit vorgegebenen Filterkoeffizienten berücksichtigen, über die Sammelleitung 4 und die en.t- sprechend gesteuerte EIncabe/Ausgabe-Einheit 5 auf die Leitung 9 ausgegeben. Der Digital/Analog-Wandler 10 leitet aus den ankommenden digitalen Ergebnis werten Analogwerte ab, die in ihrer Gesamtheit, insbesondere nach einer weiteren Filterung in einem nachgeschalteten Tiefpass, das analoge Ausgangssignal Sa darstellen. 5 Patentansprüche 3 Figuren

Claims: Circuit for cyclically addressing a memory via an address register (14), characterised in that the address register (14) is connected following an address multiplexer (13) having inputs (E1, E2), to which a second register (15) serving to store a lower limit of an address range and an incrementation means (19) are connected, the incrementation means (19) being connected via its input (19a) to the output of the address register (14), in that control inputs (S1, S2) of the address multiplexer (13) are connected to a logic circuit (21), in that the logic circuit (21) is connected in each case to the outputs of the address register (14) and of a third register (16) serving to store an upper limit of an address range, and in that if the contents of the address register (14) and of the third register (16) are identical the logic circuit (21) connects through the second register (15), and if the aforesaid contents are not identical connects through the incrementation means (19), to the output (13a) of the address multiplexer (13). Circuit for cyclically addressing a memory via an address register (14), characterised in that the address register is connected following an address multiplexer (13) having inputs (E1, E2), to which a fourth register serving to store an upper limit of an address range and a decrementation means are connected, the decrementation means (19) being connected via its input (19a) to the output of the address register (14), in that control inputs (S1, S2) of the address multiplexer (13) are connected to a logic circuit (21), in that the logic circuit (21) is connected in each case to the outputs of the address register (14) and of a fifth register serving to store a lower limit of an address range, and in that if the contents of the address register (14) and of the fifth register are identical the logic circuit (21) connects through the fourth register, and if the aforesaid contents are not identical connects through the decrementation means, to the output (13a) of the address multiplexer (13). Circuit according to Claim 1 or 2, characterised in that the output of the third or fifth register and the output of the address register are connected to inputs of an exclusive-OR circuit (25) contained in the logic circuit (21), the output of which exclusive-OR circuit is supplied to the inputs of an OR circuit (26), in that the output of the OR circuit (26) is connected on the one hand via an inverter (27) to the first input of a first AND gate (28) and on the other hand to the first input of a second AND gate (29), in that the second inputs of both AND gates (28, 29) are connected to a drive line (22) of the logic circuit (21), and in that the outputs of the AND gates (28, 29) are fed in each case to a control input (S1, S2) of the address multiplexer (13). Circuit according to one of Claims 1 to 3, characterised in that the address register output is conducted to an input (E4) of the address multiplexer (13), and in that the address multiplexer (13) is provided with a further control input (S4), via which the address register output can be connected through to the output (13a) of the address multiplexer (13). Circuit according to one of Claims 1 to 4, characterised in that an address input line (20) is provided, which is conducted from the control unit (2) to one input of the address multiplexer (13), and in that the address multiplexer (13) is provided with an additional control input (S3), via which the address input line (20) can be connected through to the output (13a) of the address multiplexer (13).

Inventors:  ALOIS, RAINER, DIPL.,  ULBRICH, WALTER, DR., ALOIS, RAINER, DIPL., ULBRICH, WALTER, DR.
Applicants: SIEMENS AKTIENGESELLSCHAFT
Application year: 1984
Main classification: G06F12
IPC codes: G11C8, G06F5, G06F12