DE4318317A1 - Datenverarbeitungsvorrichtung und -verfahren zum Ausführen von Operationen in Folge - Google Patents
Datenverarbeitungsvorrichtung und -verfahren zum Ausführen von Operationen in FolgeInfo
- Publication number
- DE4318317A1 DE4318317A1 DE4318317A DE4318317A DE4318317A1 DE 4318317 A1 DE4318317 A1 DE 4318317A1 DE 4318317 A DE4318317 A DE 4318317A DE 4318317 A DE4318317 A DE 4318317A DE 4318317 A1 DE4318317 A1 DE 4318317A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- address
- channel ram
- ram module
- signal
- 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
Links
- 230000015654 memory Effects 0.000 title abstract description 24
- 238000000034 method Methods 0.000 claims description 11
- 238000003672 processing method Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 2
- 230000002349 favourable effect Effects 0.000 claims 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 101150087426 Gnal gene Proteins 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Programmable Controllers (AREA)
- Memory System (AREA)
Description
Die Erfindung bezieht sich auf einen Prozessor zum Ausfüh
ren einer Vielzahl von Folgeoperationen und betrifft insbe
sondere eine Datenverarbeitungsvorrichtung sowie ein Daten
verarbeitungsverfahren zum Ausführen von Operationen in
Folge mit Hilfe von Direktzugriffsspeichern oder Mehrkanal-
RAM-Modulen zum Speichern von Operationsdaten, damit die
Geschwindigkeit eines Operationsausführungszyklus erhöht
werden kann.
Im Zusammenhang mit Werkzeugmaschinen, Fertigungsmaschinen
und dergleichen finden Folgeverarbeitungsvorrichtungen, die
auch als programmierbare Logiksteuerungen (PLC) bezeichnet
werden, vielfach Verwendung. Eine Datenverarbeitungsvor
richtung zum Ausführen von Folgeoperationen führt einzelne
Operationen entsprechend einer durch Programm festgelegten
Folge aus, beispielsweise gemäß einem "Leiterprogramm". Ein
solches Programm ist in Fig. 10 gezeigt, in der logische
Relaiskontakte X5, X12 und M15 logischen Relaisspulen M13,
M6 bzw. Y34 und Y35 entsprechen. Jede der Relaisspulen M13,
M16, Y34 und Y35 stellt 1-Bit-Daten dar.
Das Leiterprogramm wird in einem Operationsablaufprozessor
mit den folgenden Vorgängen ausgeführt:
In Fig. 8 ist ein aus der japanischen Patentveröffentli
chung Nr. 304570/1989 bekannter Operationsablaufprozessor
gezeigt. Wie aus Fig. 8 hervorgeht, weist dieser Operati
onsablaufprozessor einen Mikroprozessor 31 zum Steuern ei
nes Adressendecodierers 32, einen Speicher 33 sowie einen
Koprozessor 34 auf. Der Operationsablaufprozessor führt die
oben angegebene Folge von Operationen gemäß dem in Fig. 9
gezeigten Zeitplan aus. Wenn zum Beispiel der Vorgang der
Kontakteingabe X5 (Anweisung LD) ausgeführt wird, gibt der
Mikroprozessor 31 ein 32-Bit-Befehlswort an einen ersten
Bus 35. Wie aus Fig. 8 zu entnehmen ist, bezeichnen die
sieben signifikantesten Bits des 32-Bit-Wortes die Kopro
zessoradresse, die nächsten fünf signifikanten Bits be
zeichnen den Befehlscode (zum Beispiel LD, OUT usw.), die
nächsten vier signifikanten Bits bezeichnen die Bitstelle,
und die übrigen sechzehn am wenigsten signifikanten Bits
bezeichnen die Adresse der Daten, die verarbeitet werden
sollen.
Wenn der Adressendecodierer 32 anhand des zuerst auf dem
Bus 35 erscheinenden Befehlswortes die Koprozessoradresse
feststellt, sendet er ein Bausteinauswahlsignal, nämlich
das CS-Signal 37 an den Koprozessor 35, so daß die Felder
der Bitstelle und des Befehlscode zwischengespeichert wer
den. Daraufhin liest der Koprozessor 34 Daten aus dem Spei
cher 33 entsprechend dem Adressenfeld im Befehlswort und
führt eine Bitoperation durch. Auch wenn die Spulenausga
beoperation M13 (Anweisung OUT) ausgeführt wird, arbeitet
der Koprozessor 34 an Daten, die er aus dem Speicher 33
liest, und sein Operationsergebnis wird in den Speicher 33
eingeschrieben. Wenn man bei der vorstehenden Beschreibung
davon ausgeht, daß t1 die Datenlesezeit des Speichers 33
und t2 die Datenschreibzeit ist, ergibt sich eine Gesamt
dauer von (7 × t1 + 4 × t2), die zum Verarbeiten des in
Fig. 10 gezeigten Leiterprogramms erforderlich ist.
Um ein Leiterprogramm rascher verarbeiten zu können, ist in
der japanischen Patentveröffentlichung Nr. 113492/1990 ein
Direktzugriffsspeicher (RAM) offenbart, der eine Abkürzung
der Datenlesezeit t1 ermöglicht. Ein solcher RAM ist in
Fig. 11 gezeigt und weist einen Multiplexer 210 zum Multi
plexen eines externen Adressenbusses 222 und eines internen
Adressenbusses 224 auf, um auf einem Bus 220 eine Ausgabe
zu erzeugen. Die auf dem Bus 220 erscheinende Ausgabe wird
in einem Schreibadressenregister 212 gespeichert, welches
auf dem Adressenbus 224 Daten zur Eingabe in einen Multi
plexer 214 ausgibt. Der Multiplexer 214 wählt auch zwischen
einem externen Adressenbus 222 und einem internen Adressen
bus 224, um auf einem Adressenbus 234 eine Ausgabe zu er
zeugen.
Die Ausgabe vom Adressenbus 234 empfängt eine RAM-Matrix
254, gesteuert durch ein Schreibfreigabesignal 230. Zum
Vergleichen der Adresse auf dem externen Adressenbus 222
mit der Adresse auf dem internen Adressenbus 224 wird eine
Vergleichsschaltung 216 benutzt, die bei Feststellung einer
Übereinstimmung zwischen diesen Adressen ein Adressenüber
einstimmungssignal 238 ausgibt. Ein Multiplexer 250 wählt
entweder einen externen Datenbus 262 oder einen internen
Datenbus 264, gesteuert durch ein Chipfreigabesignal 226,
und kann damit eine Ausgabe an einen Bus 260 liefern. Zu
dem RAM gehört ferner ein Schreibdatenregister 252, ein mit
der RAM-Matrix 254 gekoppelter Datenbus 268 sowie ein Mul
tiplexer 256, der je nach dem Zustand des Ausgangsfrei
gabesignals 272 und dem Zustand des Adressenübereinstim
mungssignals 238 zwischen einem Datenbus 268 und einem in
ternen Datenbus 264 wählt und dann eine Ausgabe für den ex
ternen Datenbus 262 zur Verfügung stellt.
Die Arbeitsweise des Operationsablaufprozessors ähnelt der
vorstehend beschriebenen, außer in dem Falle, daß das
Adressenfeld im 32-Bit-Befehlswort, welches für eine neue
Folgeoperation spezifiziert wurde, mit dem Adressenfeld ei
ner vorhergehenden Folgeoperation identisch ist (zum Bei
spiel der vorhergehenden Spulenausgabeoperation). In diesem
Fall ist der Inhalt des Schreibadressenregisters 212 (der
während der vorhergegangenen Spulenausgabeoperation gespei
chert wurde) identisch mit dem Inhalt auf dem externen Da
tenbus 222 (Fig. 11). Folglich gibt die Vergleichsschaltung
216 das Adressenübereinstimmungssignal 238 ab, so daß der
Multiplexer 256 veranlaßt wird, die im Schreibdatenregister
252 gespeicherte Information als Ausgabedaten auf dem in
ternen Datenbus 264 auszugeben, statt in der RAM-Matrix 254
gespeicherte Informationen als Ausgabedaten auf dem Bus 268
aus zugeben.
Da die Daten aus dem Schreibdatenregister 252 statt aus der
RAM-Matrix 254 gelesen werden, kann die Datenverarbeitung
des Befehls in der Zeit t3 durchgeführt werden, die kürzer
ist als die gewöhnliche Lesezeit t1 (das heißt die Zeit für
den Fall, daß Daten aus der RAM-Matrix 254 gelesen werden).
Damit kann eine Spulenausgabeoperation in einer Zeit
(t3 + t2) ausgeführt werden, die kürzer ist als die Zeit
(t1 + t2). Auch wenn die durch die Implementierung des RAM
gemäß Fig. 11 im Operationsablaufprozessor gemäß Fig. 8 er
zielte Zeit (t3 + t2) kürzer ist als die Zeit (t1 + t2),
ist der Spulenausgabevorgang immer noch auf die Schritte
des Lesens von Daten aus einem Speicher oder einem Schreib
datenregister, anschließendes Ausführen einer Operation an
hand der gelesenen Daten und danach das Einschreiben des
Operationsergebnisses zurück in den Speicher begrenzt.
Folglich kann ein solcher Vorgang nicht in kürzerer Zeit
als entweder (t1 + t2) oder (t3 + t2) durchgeführt werden.
Aufgabe der Erfindung ist es, unter Überwindung der Nach
teile des Standes der Technik eine Datenverarbeitungsvor
richtung sowie ein Datenverarbeitungsverfahren zum Ausfüh
ren von Operationen in Folge zu schaffen, bei denen ein
Mehrkanal-RAM-Modul als Datenspeicher für das Ausführen von
Folgeoperationen benutzt wird, um die Schreibdauer von Spu
lenausgabeoperationen und dergleichen an den Datenspeicher
zu verkürzen und damit die Geschwindigkeit eines Operati
onsausführungszyklus zu erhöhen.
Gemäß der Erfindung führt der Operationsablaufprozessor
gleichzeitig einen Lesevorgang, bei dem er Daten aus dem
Mehrkanal-RAM-Modul liest, sowie einen Schreibvorgang aus,
bei dem er ein Operationsergebnis in das Mehrkanal-RAM-Mo
dul eingibt. Wenn eine Eingabeadresse in einer Anweisung
mit einer Ausgabeadresse einer anderen Anweisung identisch
ist, schreibt der Operationsablaufprozessor das Ergebnis
der Mehrkanal-RAM-Module zur gleichen Zeit wie er Daten aus
einem internen Datenregister liest, so daß er die Daten mit
hoher Geschwindigkeit verarbeiten kann. Für den Fall, daß
beim Schreiben eines Folgeoperationsergebnisses eine
Adresse sich von einer Adresse unterscheidet, aus der Daten
für die nächste Folgeoperation gelesen werden sollen,
schreibt der Operationsablaufprozessor gemäß der Erfindung
das Operationsergebnis in einen Kanal des Mehrkanal-RAM-Mo
duls und liest zur gleichen Zeit die für die nächste Fol
geoperation benutzten Daten aus einem anderen Kanal dessel
ben und gibt die gelesenen Daten in das entsprechende Ope
rationsschaltelement ein.
Im folgenden ist die Erfindung mit weiteren besonders vor
teilhaften Einzelheiten und Merkmalen anhand schematisch
dargestellter Ausführungsbeispiele näher erläutert. In den
Zeichnungen zeigen:
Fig. 1 einen Operationsablaufprozessor gemäß einem bevor
zugten Ausführungsbeispiel der Erfindung;
Fig. 2 einen Befehlscode für den Operationsablaufprozes
sor gemäß der Erfindung;
Fig. 3 ein Zeitschema für den Arbeitsablauf bei unter
schiedlicher Lese- und Schreibadresse;
Fig. 4 ein Zeitschema für den Arbeitsablauf bei gleicher
Leseadresse einer Folgeoperation und
Schreibadresse einer anschließenden Folgeopera
tion;
Fig. 5 ein Zeitschema für einen Arbeitsablauf, bei dem
eine Leseadresse für eine Folgeoperation und eine
Schreibadresse für eine anschließende Folgeopera
tion gleich sind, der jedoch von einem Operations
ablaufprozessor gemäß einem weiteren Ausführungs
beispiel der Erfindung ausgeführt wird;
Fig. 6 einen Operationsablaufprozessor gemäß einem weite
ren Ausführungsbeispiel der Erfindung;
Fig. 7 eine Verarbeitungssequenz des Operationsablaufpro
zessors gemäß der Erfindung;
Fig. 8 einen Operationsablaufprozessor gemäß dem Stand
der Technik;
Fig. 9 ein Zeitschema für den Arbeitsablauf bei der Vor
richtung gemäß Fig. 8;
Fig. 10 ein Leiterprogramm;
Fig. 11 die Anordnung eines bekannten RAM.
Unter Hinweis auf Fig. 1 soll nunmehr ein erstes Ausfüh
rungsbeispiel der Erfindung näher erläutert werden. Wie aus
Fig. 1 hervorgeht, ist ein Operationsablaufprozessor 1 mit
Mehrkanal-RAM-Modulen 2a und 2b verbunden. Zu dem Operati
onsablaufprozessor 1 gehört eine Betriebseinheit, zum Bei
spiel eine Arithmetik-Logik-Einheit ALU 3, die entsprechend
dem Ausgang eines Befehlsdecodierers 4 Operationen an Daten
vornimmt, sowie ein Wähler (Multiplexer) 20. Die ALU 3
speichert die Operationsergebnisse in einem Akkumulator 5,
in einem Datenregister 6 sowie über einen ersten Datenbus 7
in den Mehrkanal-RAM-Modulen 2a und 2b, was noch näher er
läutert wird. Der Operationsablaufprozessor 1 weist ferner
ein erstes Adressenregister 8 auf, welches eine Adresse für
den Zugriff zu den RAM-Modulen 2a und 2b über einen ersten
Adressenbus 9 enthält, um Daten in eine bestimmte Adresse
in den Mehrkanal-RAM-Modulen 2a und 2b einzugeben.
In einem zweiten Adressenregister 10 ist eine Adresse von
Daten gespeichert, die aus den Mehrkanal-RAM-Modulen 2a und
2b durch Zugriff über einen zweiten Adressenbus 11 während
einer Folgeoperation gelesen werden sollen. In einer
Adressenvergleichsschaltung 12 wird die auf dem ersten
Adressenbus 9 anstehende Adresse mit der des zweiten Adres
senbusses 11 verglichen und ein Adressenübereinstimmungssi
gnal 13 abgegeben, wenn festgestellt wird, daß die Adressen
beider Adressenbusse 9 und 11 identisch sind. Eine interne
Sequenzsteuerschaltung 14 gibt ein Datenregister-Gültig
keitssignal 15 zusammen mit einem Schreibsignal 16 und ei
nem Lesesignal 17 gesteuert durch das Adressenübereinstim
mungssignal 13 und ein Decodiersignal vom Befehlsdecodierer
4 an die Mehrkanal-RAM-Module 2a und 2b ab. Ein UND-Gatter
13a empfängt die Ausgangssignale der Vergleichsschaltung 12
und das Datenregister-Gültigkeitssignal 15 und erzeugt, für
den Fall daß sowohl das Adressenübereinstimmungssignal 13
als auch das Datenregister-Gültigkeitssignal 15 gültig ist,
ein Datenwählsignal 18, um den Wähler 20 so zu steuern, daß
er den Inhalt des Datenregisters 6 zur Weitergabe an die
ALU 3 wählt. Mit den Mehrkanal-RAM-Modulen 2a, 2b ist ein
Adressendecodierer 21 gekoppelt, um zur Bausteinauswahl CS-
Signale 22a, 22b, 22c und 22d an die RAM-Module anzulegen.
Der Operationsablaufprozessor gemäß der Erfindung führt das
in Fig. 10 gezeigte Leiterprogramm dadurch aus, daß er eine
Reihe von Folgeoperationsanweisungen ausführt, die das in
Fig. 2 gezeigte Format haben. Wie aus Fig. 2 hervorgeht,
bezeichnen die sieben signifikantesten Bits die bestimmte
Ausführungsausweisung für den Ablauf oder den spezifizier
ten Folgeoperationsbefehl. Die folgenden fünf Bits bezeich
nen die Art der durchzuführenden Folgeoperation, zum Bei
spiel eine LD-Anweisung oder eine OUT-Anweisung. Die näch
sten vier Bits geben die Bitstelle der zu verarbeitenden
Daten an. Die übrigen sechzehn Bits entsprechen der Spei
cheradresse der in der Folgeoperation benutzten Daten. Bei
Ausführung der Folgeoperation werden die sechzehn signifi
kantesten Bits im Befehlsdecodierer 4 (Fig. 1) gespeichert,
während die sechzehn am wenigsten signifikanten Bits im
zweiten Adressenregister 10 gespeichert werden.
Wird das Leiterprogramm gemäß Fig. 10 unter Verwendung des
Operationsablaufprozessors gemäß der Erfindung ausgeführt,
so wird der erste Folgeoperationsbefehl entsprechend der
Kontakteingabe X5 (Anweisung LD) im Befehlsdecodierer 4 und
im zweiten Adressenregister 10 gespeichert, wie oben be
schrieben. In Abhängigkeit von der Anweisung übermittelt
der Befehlsdecodierer 4 ein Decodiersignal an die interne
Sequenzsteuerschaltung 14. Die interne Sequenzsteuerschal
tung 14 gibt in Abhängigkeit von dem übertragenen Decodier
signal ein Lesesignal 17 in der vorherbestimmten Zeitfolge
an die Mehrkanal-RAM-Module 2a und 2b ab. Außerdem übermit
telt die interne Sequenzsteuerschaltung 14 die im zweiten
Adressenregister gespeicherte Adresse sowohl an den Adres
sendecodierer 21 als auch an die Mehrkanal-RAM-Module 2a
und 2b. Nach Empfang dieser Adresse gibt der Adressendeco
dierer 21 ein CS-Signal 22a an das Mehrkanal-RAM-Modul 2a
ab, so daß die in diesem RAM-Modul 2a unter dieser Adresse
gespeicherte Information an einen zweiten Datenbus 19 aus
gegeben wird.
Wenn hierbei die im zweiten Adressenregister 10 gespei
cherte Adresse sich von der Adresse im ersten Adressenregi
ster 8 unterscheidet, gibt die Adressenvergleichsschaltung
12 das Adressenübereinstimmungssignal 13 nicht ab und das
Datenregister-Gültigkeitssignal 15 der internen Sequenz
steuerschaltung 14 wird ungültig gemacht. Infolgedessen be
wirkt das Datenwählsignal 18, daß der Wähler 20 die auf dem
zweiten Datenbus 19 anstehenden Daten (das heißt die Aus
gabe des Mehrkanal-RAM-Moduls 2a) zur Ausgabe an die ALU 3
wählt. Dabei wird der Inhalt des zweiten Adressenregisters
10 in das erste Adressenregister 8 kopiert.
Während des nächsten Folgeoperationszyklus wird die Spulen
ausgabe M13 (Anweisung OUT) im Befehlsdecodierer 4 und im
zweiten Adressenregister 10 gespeichert, wie vorstehend be
schrieben. Ähnlich wie bei der oben beschriebenen Ausfüh
rung der LD-X5-Anweisung werden Daten aus dem Mehrkanal-
RAM-Modul 2b gewählt und die Folgeoperation durchgeführt.
Während des nächsten Folgeoperationszyklus wird die LDI-
X12-Anweisung im Befehlsdecodierer und im zweiten Adressen
register 10 gespeichert. Hierbei wird das von der ALU 3 ge
lieferte Operationsergebnis sowohl ins Datenregister 6 als
auch in das Mehrkanal-RAM-Modul 2b eingegeben, wie im er
sten Adressenregister 8 festgelegt. Ferner wird während der
Zeit, während der Daten ins Datenregister 6 und das Mehrka
nal-RAM-Modul 2b geschrieben werden, auch Daten aus dem
Mehrkanal-RAM-Modul 2a entsprechend der im zweiten Adres
senregister 10 bestimmten Adresse gelesen. Da der Inhalt
des ersten Adressenregisters 8 sich von dem des zweiten
Adressenregisters 10 unterscheidet, wird das Adressenüber
einstimmungssignal 13 der Adressenvergleichsschaltung 12
als ungültig angesehen, wie Fig. 3 zeigt. Wegen der Ungül
tigkeit des Adressenübereinstimmungssignals 13 ist auch das
Datenwählsignal 18 ungültig. Infolgedessen fährt der Wähler
20 so fort, daß er die auf dem zweiten Datenbus 19 erschei
nenden Daten (Fig. 1), die vom Mehrkanal-RAM-Modul 2a aus
gegeben wurden, als Dateneingabe für die Betriebseinheit 3
auswählt.
Da die Ausführung des anschließenden Befehls OUT M6 ähnlich
der Ausführung der vorstehend bereits beschriebenen Anwei
sungen vor sich geht, wird sie hier nicht im einzelnen be
schrieben. Fig. 3 zeigt ein Zeitschema, bei dem sich die
Lese- und Schreibadressen der Folgeoperation voneinander
unterscheiden (das heißt, daß die Adressen in den Registern
8 und 10 unterschiedlich sind). Die Ausführung der LDI-M15-
Anweisung unterscheidet sich von den anderen Anweisungen
und soll deshalb näher beschrieben werden.
Die LDI-M15-Anweisung folgt der OUT-M6-Anweisung. Während
des Ausführungszyklus der LDI-M15-Anweisung wird das Opera
tionsergebnis, welches die ALU 3 während der vorhergehenden
OUT-M6-Anweisung ausgegeben hat, in die Adresse des Mehrka
nal-RAM-Moduls 2b geschrieben, die im ersten Adressenregi
ster 8 bestimmt wurde, und auch das Ergebnis wird gleich
zeitig im Datenregister 6 gespeichert. Da der Inhalt des
ersten Adressenregisters 8 gleich dem des zweiten Adressen
registers 10 ist, wird das Adressenübereinstimmungssignal
13 der Adressenvergleichsschaltung 12 gültig. Infolgedessen
wird auch das Datenregister-Gültigkeitssignal 15 nach dem
Ausführen des M6-Befehls gültig, wie das Zeitschema gemäß
Fig. 4 zeigt.
Aufgrund dieser Übereinstimmung wird das Datenwählsignal 18
ausgegeben, damit der Wähler 20 den Inhalt des Datenregi
sters 6 zur Ausgabe an die ALU 3 wählt und damit eine Fol
geoperation durchgeführt wird. Das bedeutet, daß ein Lese-
und Schreibvorgang gleichzeitig durchgeführt wird, obwohl
die Adresse der zu lesenden Daten die gleiche ist wie die
der zu schreibenden Daten. Das liegt daran, daß der Lese
vorgang das Lesen der im Datenregister 6 gespeicherten Da
ten anstelle von Daten aus dem Mehrkanal-RAM-Modul 2a oder
2b beinhaltet. Die Betriebsanweisungen OUT-Y34 und OUT-Y35
werden auf ähnliche Weise ausgeführt.
Gemäß der vorliegenden Erfindung, so wie sie bisher be
schrieben wurde, ermöglichen es die Mehrkanal-RAM-Module
2a, 2b sowie das Datenregister 6, gleichzeitig einen Lese-
und Schreibvorgang durchzuführen, auch wenn die Adresse der
zu lesenden Daten dieselbe ist wie die der zu schreibenden
Daten. Deshalb können Spulenausgabevorgänge in viel kürze
rer Zeit durchgeführt werden als es der herkömmlichen Lese
zeit t1 oder der herkömmlichen Schreibzeit t2 entspricht,
da die Lese- und Schreibvorgänge gleichzeitig durchgeführt
werden, so daß eine schnellere Verarbeitung von Betriebsan
weisungen des Leiterprogramms sichergestellt ist. Die vor
liegende Erfindung stellt insofern eine Verbesserung gegen
über bekannten Systemen, wie dem gemäß der japanischen Pa
tentveröffentlichung Nr. 113492/1990 (oben erwähnt) dar,
als sie mit Mehrkanal-RAM-Modulen arbeitet, die gleichzei
tige Lese- und Schreiboperationen ermöglichen, wenn die
Adresse der zu lesenden Daten nicht dieselbe ist wie die
der zu schreibenden Daten.
Ferner weist bei der vorliegenden Erfindung der
Operationsablaufprozessor 1 das Datenregister 6, die
Adressenvergleichsschaltung 12 und weitere Schaltkreise
auf, statt daß diese in die Speicherschaltung eingeschlos
sen wären. Wären diese Schaltkreise an die Speicherschal
tung angeschlossen, statt in den Operationsablaufprozessor
eingefügt zu sein, wie gemäß der Erfindung, würde das Aus
führen der LDI-M15-Anweisung im Anschluß an die OUT-M6-An
weisung Signalverzögerungen aufgrund der Eingabe- und Aus
gabepuffer des Operationsablaufprozessors, der Verdrah
tungskapazität des Operationsablaufprozessors sowie der
Eingabe- und Ausgabepuffer der Speicherschaltkreise verur
sachen.
Solche Signalverzögerungen sind besonders problematisch bei
Benutzung einer großen Anzahl von Speicherschaltkreisen, da
die Verdrahtungskapazität derselben zunimmt. Ferner kann
der Operationsablaufprozessor gemäß der Erfindung mit ver
schiedenen Speicherschaltkreisen (das heißt Mehrkanal-RAM-
Modulen) benutzt werden, während die bekannten Systeme eine
Anzahl von Adressenvergleichsschaltungen, Datenregistern,
Schreibadressenregistern und Multiplexern entsprechend der
Anzahl Speicherschaltkreise erfordern, was die Kosten des
Systems erhöht.
Da gemäß der Erfindung die Adressenvergleichsschaltung 12,
das Datenregister 6 und weitere Schaltkreise im Operations
ablaufprozessor vorgesehen sind, werden sie folglich von
den bei bekannten Systemen auftretenden Signalverzögerungen
nicht beeinflußt. Deshalb können als Mehrkanal-RAM-Module
gemäß der Erfindung Module benutzt werden, deren Betriebs
geschwindigkeit verhältnismäßig gering ist, was die Kosten
des Systems senkt. Wenn ferner gemäß der Erfindung die
Mehrkanal-RAM-Module 2a, 2b wegen der Konkurrenz von Lese-
und Schreibadressen deaktiviert werden, wird das Schreibsi
gnal 16 gültig und das Lesesignal 17 ungültig gemacht, was
das Zeitschema gemäß Fig. 5 zeigt, so daß die Adressen an
einander angepaßt werden, der Lesevorgang zwangsläufig un
gültig wird und der Inhalt des Datenregisters für den Lese
vorgang herangezogen wird, statt daß Daten aus den Mehrka
nal-RAM-Modulen 2a, 2b gelesen werden.
In diesem Fall, das heißt, wenn die Lese- und Schreibadres
sen identisch sind, wird einem ersten Ankunftsanschluß
Priorität gegeben und sein Zugang bedingungslos akzeptiert.
Folglich besteht keine Notwendigkeit, in den Mehrkanal-RAM-
Modulen Konfliktbeseitigungs- oder Entscheidungsschaltungen
vorzusehen, um im Falle der Konkurrenz zwischen einem Lese-
und Schreibadressenzugang zu entscheiden. Wenn die Mehrka
nal-RAM-Module 2a, 2b eine Anschlußentscheidungsfunktion
haben, die einen zweiten Ankunftsanschluß für den Fall, daß
sich dieser in der Schreib-Betriebsweise befindet, nicht
akzeptiert, bis der Zugriff des ersten Ankunftsanschlusses
endet, wird ferner das Lesesignal 17 gültig, um die
Anschlußentscheidungsfunktion zu deaktivieren. Folglich
können mehrere Mehrkanal-RAM-Module im Zusammenhang mit der
Erfindung benutzt werden.
Bei einem anderen Ausführungsbeispiel der Erfindung kann
der Operationsablaufprozessor in einem System eingebaut
sein, welches einen Universalprozessor (MPU) aufweist, der
andere logische und numerische Operationen als Sequenzope
rationen durchführt und eine Funktionsbefehlverarbeitung
erledigt, wie sie bei der Benutzung von Werkzeugmaschinen,
Fertigungsmaschinen und dergleichen erforderlich ist. Wie
Fig. 6 zeigt, gehört zu diesem System ein Universalprozes
sor 41, der gesteuert durch ein in einem ersten ROM 42 ge
speichertes Programm Funktionen ausführt. In einem ersten
RAM 43 sind Daten, Parameter und dergleichen gespeichert,
und diese werden, gesteuert durch eine Anzeigesteuerschal
tung 44 auf einer Anzeigevorrichtung 45 angezeigt. Zur Ein
gabe von Programmen, Daten und dergleichen ist eine Einga
bevorrichtung 46 vorgesehen, und mit einer Eingabe/Ausgabe-
Schnittstelle 47 werden beispielsweise Signale zum Steuern
von Werkzeugmaschinen und dergleichen sowie zur Datenüber
mittlung an andere Systeme gesendet.
Der Zugang zum Systembus des Operationsablaufprozessors 1
wird von einer Busentscheidungsschaltung oder einem Busver
mittler 48 gesteuert. Damit der Universalprozessor 41 zu
diesem Bus Zugriff nehmen kann, muß er zunächst eine Zu
griffsanforderung an den Busvermittler 48 abgeben. Auf
diese Zugriffsanforderung hin gibt der Busvermittler ein
Busanforderungssignal 49 an den Operationsablaufprozessor 1
ab. Bei Empfang des Busanforderungssignals 49 gibt der Ope
rationsfolgeprozessor 1 ein Busbestätigungssignal 50 an den
Busvermittler 48 ab, vorausgesetzt, daß der gegenwärtig
ausgeführte Zyklus beendet und der Bus zur Freigabe bereit
ist. Typischerweise nimmt der Universalprozessor 41 zum Bus
des Operationsfolgeprozessors 1 Zugriff, um Funktionsanwei
sungen auszuführen, die der Operationsfolgeprozessor 1
nicht durchführen kann, oder um Anweisungen zu verarbeiten,
die einem aufgetretenen Fehler zuzuordnen sind. Der Opera
tionsfolgeprozessor 1 unterrichtet den Universalprozessor
41 über derartige Zustände durch das Erzeugen eines Unter
brechungssignals 51. Auf diese Weise kann der Operations
folgeprozessor 1 einen großen Teil seiner Zeit dem Verar
beiten von Folgeoperationen widmen, so daß eine Datenverar
beitung mit hoher Geschwindigkeit erzielbar ist.
Wie schon erwähnt, führt der Operationsfolgeprozessor 1 die
nötigen Anweisungen aus, um das beispielsweise in Fig. 10
gezeigte Leiterprogramm abzuwickeln. Dieses Operationspro
gramm (das Leiterprogramm) ist in einem zweiten ROM 52 ge
speichert. Bei diesem ROM 52 kann es sich um einen nicht
flüchtigen Speicher, beispielsweise einen RAM mit Batte
riereserve oder um einen EEPROM handeln. Der Operationsfol
geprozessor 1 benutzt einen zweiten RAM 53, um Daten für
die Weiterverarbeitung zu speichern, die üblicherweise
einen zeitweiligen Stapelspeicher für die vom Operations
folgeprozessor 1 ausgeführten mehrfachen Unterprogramme er
fordern.
Im Betrieb liest der Operationsfolgeprozessor 1 einen Be
fehl aus dem zweiten ROM 52 und führt die entsprechende
Folgeoperation sofort aus, wenn es sich bei der decodierten
Anweisung um eine solche handelt, für die Daten aus den
Mehrkanal-RAM-Modulen 2a und 2b erforderlich sind. Wenn
aber der gelesene Befehl eine Funktionsanweisung oder ein
sonstiger Befehl ist, den der Universalprozessor 41 ausfüh
ren muß, wird das Unterbrechungssignal 51 erzeugt. Wie
schon erwähnt, übermittelt der Universalprozessor 41, wenn
er das Unterbrechungssignal 51 empfängt, an den Busvermitt
ler 48 ein Busanforderungssignal 49, um zum Systembus des
Operationsfolgeprozessors 1 Zugriff zu erhalten. Bei Been
digung der Verarbeitung durch den Universalprozessor 41
nimmt der Operationsablaufprozessor 1 seine Verarbeitung
der entsprechenden Folgeoperation wieder auf.
Anhand von Fig. 7 soll nunmehr die Arbeitsweise dieses Sy
stems näher erläutert werden. In einem Schritt S1 liest der
Universalprozessor 41 Eingabesignale aus der E/A-Schnitt
stelle 47. Daten, die eine rasche Verarbeitung erfordern,
werden in die Mehrkanal-RAM-Module 2a und 2b eingegeben,
während Daten, für die eine so rasche Verarbeitung nicht
erforderlich ist, in den zweiten RAM 53 eingegeben werden.
Bei der Eingabe von Daten in die Mehrkanal-RAM-Module 2a
und 2b setzt der Universalprozessor 41 ebenso wie der Ope
rationsablaufprozessor 1 die gewünschten Adressen der Mehr
kanal-RAM-Module im ersten Adressenregister 8 des Operati
onsablaufprozessors 1. Die in die Mehrkanal-RAM-Module 2a
und 2b eingegebenen Daten werden auch in das Datenregister
6 geschrieben, und das von der internen Folgesteuerschal
tung 14 des Operationsablaufprozessors 1 ausgegebene Daten
register-Gültigkeitssignal 15 wird gültig. In einem Schritt
52 wird die Operationsablaufverarbeitung dann anhand der in
die Mehrkanal-RAM-Module 2a und 2b oder den zweiten RAM 53
eingegebenen Daten unter Steuerung von aus dem zweiten ROM
52 gelesenen Anweisungen seitens des Operationsablaufpro
zessors 1 durchgeführt. Die Operationsergebnisse werden in
der vorstehend beschriebenen Weise in die Mehrkanal-RAM-Mo
dule 2a und 2b oder den zweiten RAM 53 geschrieben. Sobald
alle Befehle ausgeführt sind (das Leiterprogramm also voll
ständig erledigt wurde) liest der Universalprozessor 41 die
Operationsergebnisse aus den Mehrkanal-RAM-Modulen 2a und
2b und dem zweiten RAM 53 und gibt die Operationsergebnisse
dann über die E/A-Schnittstelle 47 aus (Schritt S3).
Bei den vorstehend beschriebenen bevorzugten Ausführungs
beispielen führt der Operationsablaufprozessor 1 gleichzei
tig die Eingabe von Daten von den Mehrkanal-RAM-Modulen 2a
und 2b sowie die Ausgabe eines Operationsergebnisses durch.
Wenn die Eingabeadresse eines Operationsbefehls mit einer
Ausgabeadresse eines anderen Befehls identisch ist,
schreibt der Operationsablaufprozessor 1 das Ergebnis
gleichzeitig in die Mehrkanal-RAM-Module 2a und 2b und
liest Daten aus dem internen Datenregister 6, so daß auf
diese Weise die Daten mit hoher Geschwindigkeit verarbeitet
werden. Diese Hochgeschwindigkeitsverarbeitung läßt sich
deswegen aufrechterhalten, weil Operationen, die keine Fol
geoperationen sind, von einem Universalprozessor oder der
gleichen verarbeitet werden können, so daß die Verarbei
tungszeit des Gesamtsystems stark verkürzt werden kann.
Es liegt auf der Hand, daß die Erfindung, wie sie hier be
schrieben wurde, einen Operationsablaufprozessor schafft,
der Daten mit hoher Geschwindigkeit verarbeiten kann, um
Spulenausgabeoperationen und dergleichen auszuführen. Durch
das oben beschriebene Vergleichen der Lese- und
Schreibadressen für benachbarte Folgeoperationen kann der
Operationsablaufprozessor die Konkurrenz um die gleiche
Speicheradresse klären, ohne daß Hochgeschwindigkeitsspei
cher nötig sind, und ohne daß dazu Entscheidungsschalt
kreise wie beim Stand der Technik benutzt werden. Hierdurch
erhält die Systemkonfiguration ihre Flexibilität. Ferner
können die Kosten des Gesamtsystems verringert werden, weil
der Operationsablaufprozessor nur einen Satz aus Adressen
vergleichsschaltung, Schreibadressenregister und Datenregi
ster benötigt.
In den jeweiligen Fig. 1 bis 11 der Zeichnungen haben die
Bezugszeichen und Symbole folgende Bedeutung:
Fig. 1
(1) Befehlsdecodierer
(2) Adressenvergleichsschaltung
(3) Datenregister
(4) Adressendecodierer
(5) Mehrkanal-RAM-Modul
(6) Daten 1
(7) Adresse 1
(8) Adresse 2
(9) Daten 2
(10) Mehrkanal-RAM-Modul
(11) Daten 1
(12) Adresse 1
(13) Adresse 2
(14) Daten 2
(1) Befehlsdecodierer
(2) Adressenvergleichsschaltung
(3) Datenregister
(4) Adressendecodierer
(5) Mehrkanal-RAM-Modul
(6) Daten 1
(7) Adresse 1
(8) Adresse 2
(9) Daten 2
(10) Mehrkanal-RAM-Modul
(11) Daten 1
(12) Adresse 1
(13) Adresse 2
(14) Daten 2
1 Operationsablaufprozessor
2a, 2b Mehrkanal-RAM-Module
3 Betriebschaltkreis
4 Befehlsdecodierer
5 Akkumulator
6 Datenregister
7 erster Datenbus
8 erstes Adressenregister
9 erster Adressenbus
10 zweites Adressenregister
11 zweiter Adressenbus
12 Adressenvergleichsschaltung
13 Adressenübereinstimmungssignal
14 interne Sequenzsteuerschaltung
15 Datenregister-Gültigkeitssignal
16 Schreibsignal
17 Lesesignal
18 Datenwählsignal
19 zweiter Datenbus
20 Wähler
21 Adressendecodierer
22a-22d Bausteinauswahl
2a, 2b Mehrkanal-RAM-Module
3 Betriebschaltkreis
4 Befehlsdecodierer
5 Akkumulator
6 Datenregister
7 erster Datenbus
8 erstes Adressenregister
9 erster Adressenbus
10 zweites Adressenregister
11 zweiter Adressenbus
12 Adressenvergleichsschaltung
13 Adressenübereinstimmungssignal
14 interne Sequenzsteuerschaltung
15 Datenregister-Gültigkeitssignal
16 Schreibsignal
17 Lesesignal
18 Datenwählsignal
19 zweiter Datenbus
20 Wähler
21 Adressendecodierer
22a-22d Bausteinauswahl
Fig. 2
(1) RAM-Adress
(2) Bitstelle
(3) Operationscode
(4) Folgeoperation bezeichnender Code
(1) RAM-Adress
(2) Bitstelle
(3) Operationscode
(4) Folgeoperation bezeichnender Code
Fig. 3
(1) Takt
(2) Adressenbus 2
(3) Lesen
(4) Datenbus 2
(5) Folgeoperation
(6) Adressenbus 1
(7) Schreiben
(8) Datenbus 1
(9) Datenregister
(10) Adressenübereinstimmungssignal
(11) Datenregister-Gültigkeitssignal
(12) Datenwählsignal
(1) Takt
(2) Adressenbus 2
(3) Lesen
(4) Datenbus 2
(5) Folgeoperation
(6) Adressenbus 1
(7) Schreiben
(8) Datenbus 1
(9) Datenregister
(10) Adressenübereinstimmungssignal
(11) Datenregister-Gültigkeitssignal
(12) Datenwählsignal
Fig. 4
(1) Takt
(2) Adressenbus 2
(3) Lesen
(4) Datenbus 2
(5) Folgeoperation
(6) Adressenbus 1
(7) Schreiben
(8) Datenbus 1
(9) Datenregister
(10) Adressenübereinstimmungssignal
(11) Datenregister-Gültigkeitssignal
(12) Datenwählsignal
(1) Takt
(2) Adressenbus 2
(3) Lesen
(4) Datenbus 2
(5) Folgeoperation
(6) Adressenbus 1
(7) Schreiben
(8) Datenbus 1
(9) Datenregister
(10) Adressenübereinstimmungssignal
(11) Datenregister-Gültigkeitssignal
(12) Datenwählsignal
Fig. 5
(1) Takt
(2) Adressenbus 2
(3) Lesen
(4) Datenbus 2
(5) Folgeoperation
(6) Adressenbus 1
(7) Schreiben
(8) Datenbus 1
(9) Datenregister
(10) Adressenübereinstimmungssignal
(11) Datenregister-Gültigkeitssignal
(12) Datenwählsignal
(1) Takt
(2) Adressenbus 2
(3) Lesen
(4) Datenbus 2
(5) Folgeoperation
(6) Adressenbus 1
(7) Schreiben
(8) Datenbus 1
(9) Datenregister
(10) Adressenübereinstimmungssignal
(11) Datenregister-Gültigkeitssignal
(12) Datenwählsignal
Fig. 6
(1) Eingabesignal
(2) Ausgabesignal
(3) Anzeigesteuerschaltung
(4) E/A-Schnittstelle
(5) Universal-MPU
(6) Busvermittler
(7) Unterbrechungssignal
(8) Busanforderungssignal
(9) Busbestätigungssignal
(10) Operationsablaufprozessor
(11) Mehrkanal-RAM-Modul
(12) Mehrkanal-RAM-Modul
(13) Adresse 1
(14) Adresse 2
(15) Adressendecodierer
(1) Eingabesignal
(2) Ausgabesignal
(3) Anzeigesteuerschaltung
(4) E/A-Schnittstelle
(5) Universal-MPU
(6) Busvermittler
(7) Unterbrechungssignal
(8) Busanforderungssignal
(9) Busbestätigungssignal
(10) Operationsablaufprozessor
(11) Mehrkanal-RAM-Modul
(12) Mehrkanal-RAM-Modul
(13) Adresse 1
(14) Adresse 2
(15) Adressendecodierer
41 Universal-MPU
42 erster ROM
43 erster RAM
44 Anzeigesteuerschaltung
45 Anzeigevorrichtung
46 Eingabevorrichtung
47 E/A-Schnittstelle
48 Busvermittler
49 Busanforderungssignal
50 Busbestätigungssignal
51 Unterbrechungssignal
52 zweiter ROM
53 zweiter RAM
42 erster ROM
43 erster RAM
44 Anzeigesteuerschaltung
45 Anzeigevorrichtung
46 Eingabevorrichtung
47 E/A-Schnittstelle
48 Busvermittler
49 Busanforderungssignal
50 Busbestätigungssignal
51 Unterbrechungssignal
52 zweiter ROM
53 zweiter RAM
Fig. 7
(1) Eingabeübertragung
(2) E/A-Schnittstelle
(3) Mehrkanal-RAM-Module 2
zweiter RAM 53
(4) Folgeoperation
(5) Ausgabeübertagung
(6) Mehrkanal-RAM-Module 2
(7) zweiter RAM 53
(8) E/A-Schnittstelle
(1) Eingabeübertragung
(2) E/A-Schnittstelle
(3) Mehrkanal-RAM-Module 2
zweiter RAM 53
(4) Folgeoperation
(5) Ausgabeübertagung
(6) Mehrkanal-RAM-Module 2
(7) zweiter RAM 53
(8) E/A-Schnittstelle
Fig. 8
(1) Mikroprozessor
(2) Koprozessoradresse
(3) Befehlscode
(4) Bitstelle
(5) Adresse der zu bearbeitenden Daten
(6) Speicher
(7) Daten
(8) Koprozessor
(9) Adressendecodierer
(10) Adressenbus
(1) Mikroprozessor
(2) Koprozessoradresse
(3) Befehlscode
(4) Bitstelle
(5) Adresse der zu bearbeitenden Daten
(6) Speicher
(7) Daten
(8) Koprozessor
(9) Adressendecodierer
(10) Adressenbus
31 Mikroprozessor
32 Adressendecodierer
33 Speicher
34 Koprozessor
35 erster Bus
36 zweiter Bus
37 Chipwähl(CS)-Signal
32 Adressendecodierer
33 Speicher
34 Koprozessor
35 erster Bus
36 zweiter Bus
37 Chipwähl(CS)-Signal
Fig. 9
(1) Takt
(2) Adresse der zu bearbeitenden Daten
(3) Bitstelle
(4) Befehlscode
(5) Bitstellenzwischenspeicherung
(6) Befehlscodezwischenspeicherung
(7) Bitweglassung/-einbettung
(8) Folgeoperation
(9) Eingabezieladresse
(10) Ausgabezieladresse
(11) Ausgabezieladresse
(12) Bitstelle
(13) Bitstelle
(14) Befehlscode
(15) Befehlscode
(16) Daten
(17) Daten
(18) Daten
(19) Kontakt
(20) Spule
(21) Spule bei Adressenübereinstimmung
(1) Takt
(2) Adresse der zu bearbeitenden Daten
(3) Bitstelle
(4) Befehlscode
(5) Bitstellenzwischenspeicherung
(6) Befehlscodezwischenspeicherung
(7) Bitweglassung/-einbettung
(8) Folgeoperation
(9) Eingabezieladresse
(10) Ausgabezieladresse
(11) Ausgabezieladresse
(12) Bitstelle
(13) Bitstelle
(14) Befehlscode
(15) Befehlscode
(16) Daten
(17) Daten
(18) Daten
(19) Kontakt
(20) Spule
(21) Spule bei Adressenübereinstimmung
Fig. 10
kein Text
kein Text
Fig. 11
(1) Schreibadressenregister
(2) Vergleichsschaltung
(3) Schreibdatenregister
(4) RAM-Matrix
(5) Dateneingabe/-ausgabe
(1) Schreibadressenregister
(2) Vergleichsschaltung
(3) Schreibdatenregister
(4) RAM-Matrix
(5) Dateneingabe/-ausgabe
210 Multiplexer
214 Multiplexer
250 Multiplexer
256 Multiplexer
212 Schreibadressenregister
216 Vergleichsschaltung
220 Bus
260 Bus
222 externer Adressenbus
224 interner Adressenbus
226 Chipfreigabesignal
230 Schreibfreigabesignal
234 Adressenbus
238 Adressenübereinstimmungssignal
254 RAM-Matrix
262 externer Datenbus
264 interner Datenbus
268 Datenbus
272 Ausgabefreigabesignal
214 Multiplexer
250 Multiplexer
256 Multiplexer
212 Schreibadressenregister
216 Vergleichsschaltung
220 Bus
260 Bus
222 externer Adressenbus
224 interner Adressenbus
226 Chipfreigabesignal
230 Schreibfreigabesignal
234 Adressenbus
238 Adressenübereinstimmungssignal
254 RAM-Matrix
262 externer Datenbus
264 interner Datenbus
268 Datenbus
272 Ausgabefreigabesignal
Claims (8)
1. Datenverarbeitungsvorrichtung zum Ausführen von Opera
tionen in Folge,
gekennzeichnet durch
- - ein Mehrkanal-RAM-Modul (2a, 2b) zum Speichern von Daten, die bei der Ausführung von Operationsbefehlen benutzt werden,
- - einen mit dem Mehrkanal-RAM-Modul (2a, 2b) gekoppel ten Operationsablaufprozessor (1) zum Durchführen von Operationsbefehlen, mit einer Vergleichsschal tung (12) zum Vergleichen einer ersten bezeichneten Adresse des Mehrkanal-RAM-Moduls (2a, 2b) in einem ersten Operationsbefehl mit einer zweiten bezeichne ten Adresse des Mehrkanal-RAM-Moduls (2a, 2b) in ei nem zweiten anschließenden Operationsbefehl und zum Erzeugen eines Vergleichssignals, welches das Ergeb nis des Vergleichs anzeigt, wobei die zweite be zeichnete Adresse des Mehrkanal-RAM-Moduls (2a, 2b) in Abhängigkeit von dem erzeugten Vergleichssignal gelesen wird, welches anzeigt, daß die erste und zweite bezeichnete Adresse nicht miteinander gleich sind.
2. Datenverarbeitungsvorrichtung nach Anspruch 1,
dadurch gekennzeichnet,
daß ein Datenregister (6) zum Speichern von Daten vor gesehen ist, die infolge der Ausführung des ersten Operationsbefehls in das Mehrkanal-RAM-Modul (2a, 2b) einzugeben sind,
und daß mit dem Datenregister (6), der Vergleichs schaltung (12) und einem Ausgang des Mehrkanal-RAM-Mo duls ein Wähler (20) verbunden ist, der in Überein stimmung mit dem erzeugten Vergleichssignal zwischen einem Ausgang des Mehrkanal-RAM-Moduls und dem Inhalt des Datenregisters wählt, wobei der Operationsablauf prozessor (1) die vom Wähler (20) gewählten Daten beim Ausführen von Operationsbefehlen benutzt.
daß ein Datenregister (6) zum Speichern von Daten vor gesehen ist, die infolge der Ausführung des ersten Operationsbefehls in das Mehrkanal-RAM-Modul (2a, 2b) einzugeben sind,
und daß mit dem Datenregister (6), der Vergleichs schaltung (12) und einem Ausgang des Mehrkanal-RAM-Mo duls ein Wähler (20) verbunden ist, der in Überein stimmung mit dem erzeugten Vergleichssignal zwischen einem Ausgang des Mehrkanal-RAM-Moduls und dem Inhalt des Datenregisters wählt, wobei der Operationsablauf prozessor (1) die vom Wähler (20) gewählten Daten beim Ausführen von Operationsbefehlen benutzt.
3. Datenverarbeitungsvorrichtung nach Anspruch 2,
dadurch gekennzeichnet,
daß der Wähler (20) den Inhalt des Datenregisters (6)
in Abhängigkeit von dem erzeugten Vergleichssignal
wählt, welches anzeigt, daß die erste und zweite be
zeichnete Adresse einander gleich sind.
4. Datenverarbeitungsvorrichtung nach einem der Ansprüche
1 bis 3,
dadurch gekennzeichnet,
daß das Mehrkanal-RAM-Modul (2a, 2b) gleichzeitig Da
ten in die erste bezeichnete Adresse schreibt und Da
ten aus der zweiten bezeichneten Adresse liest, wenn
das erzeugte Vergleichssignal anzeigt, daß die erste
und zweite bezeichnete Adresse einander nicht gleich
sind.
5. Datenverarbeitungsvorrichtung nach einem der Ansprüche
2 bis 4,
dadurch gekennzeichnet,
daß während des gleichen Ausführungszyklus, während
dessen der Wähler (20) Daten aus dem Datenregister (6)
wählt, das Mehrkanal-RAM-Modul (2a, 2b) Daten in die
erste bezeichnete Adresse schreibt.
6. Datenverarbeitungsverfahren zum Ausführen von Opera
tionen in Folge,
gekennzeichnet durch folgende Schritte:
- - eine bezeichnete Adresse in einem ersten Operations befehl wird mit einer bezeichneten Adresse in einem zweiten anschließenden Operationsbefehl verglichen,
- - in Vergleichssignal wird in Abhängigkeit von einem günstigen Vergleich der bezeichneten Adressen er zeugt,
- - Daten werden in einem Datenregister gespeichert, wo bei diese Daten gleichzeitig in einem Mehrkanal-RAM- Modul gespeichert werden,
- - Ausgangsdaten werden in Abhängigkeit vom Vergleichs signal des Signalerzeugungsschrittes aus dem Daten register oder dem Mehrkanal-RAM-Modul gewählt, wobei die Daten aus dem Datenregister im gleichen Ausfüh rungszyklus ausgegeben werden wie Daten im Mehrka nal-RAM-Modul gespeichert werden, wenn das Ver gleichssignal anzeigt, daß die bezeichneten Adressen des ersten und zweiten Operationsbefehls gleich sind.
7. Operationsablaufprozessor zum Ausführen von Folgeope
rationen,
gekennzeichnet durch
- - mindestens ein Mehrkanal-RAM-Modul (2a, 2b) mit er sten und zweiten Adressenanschlüssen,
- - ein erstes Adressenregister (8) für eine dem ersten Adressenanschluß des mindestens einen Mehrkanal-RAM- Moduls entsprechende Adresse,
- - ein zweites Adressenregister (10) für eine dem zwei ten Adressenanschluß des mindestens einen Mehrkanal- RAM-Moduls entsprechende Adresse,
- - eine Adressenvergleichsschaltung (12) zum Verglei chen eines Inhalts des ersten Adressenregisters (8) mit einem Inhalt des zweiten Adressenregisters (10) zur Ausgabe eines Adressenübereinstimmungssignals (13) für den Fall gleicher Adressen,
- - ein Datenregister (6) für die in das mindestens eine Mehrkanal-RAM-Modul eingegebenen Daten, und
- - eine interne Sequenzsteuerschaltung (14) zum Über tragen eines Datenregistergültig-Signals (15), eines Lesesignals und eines Schreibsignals an das Mehrka nal-RAM-Modul in Abhängigkeit von einer Folgeopera tion, gesteuert durch das Adressenübereinstimmungs signal (13) und ein Decodiersignal von einem Befehlsdecodierer (4),
- - wobei beim Ausführen der Folgeoperation in Überein stimmung mit dem Adressenübereinstimmungssignal (13) von der Adressenvergleichsschaltung (12) und dem Da tenregister-Gültigkeitssignal (15) entweder die aus dem mindestens einen Mehrkanal-RAM-Modul gelesenen Daten oder der Inhalt des Datenregisters (6) gewählt und in eine Betriebseinheit (3) eingegeben wird.
8. Operationsablaufprozessor nach Anspruch 7,
dadurch gekennzeichnet,
daß er einen Universalprozessor (41) aufweist,
daß dieser beim Schreiben von Daten in das mindestes
eine Mehrkanal-RAM-Modul (2a, 2b) unter Umgehung des
Operationsablaufprozessors die Daten an das mindestens
eine Mehrkanal-RAM-Modul (2a, 2b) sendet, indem er die
Schreibadresse der Daten auf eines der Adressenregi
ster im Operationsablaufprozessor setzt und die in das
Mehrkanal-RAM-Modul einzugebenden Daten auch an das
Datenregister sendet,
und daß danach der Operationsablaufprozessor (1) die
Folgeoperationsverarbeitung vornimmt, während der Uni
versalprozessor (41) Vorgänge verarbeitet, die keine
Folgeoperationen sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4141677A JPH0612107A (ja) | 1992-06-02 | 1992-06-02 | シーケンス演算プロセッサおよびシーケンス演算処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4318317A1 true DE4318317A1 (de) | 1993-12-16 |
Family
ID=15297638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4318317A Withdrawn DE4318317A1 (de) | 1992-06-02 | 1993-06-02 | Datenverarbeitungsvorrichtung und -verfahren zum Ausführen von Operationen in Folge |
Country Status (3)
Country | Link |
---|---|
US (1) | US5978897A (de) |
JP (1) | JPH0612107A (de) |
DE (1) | DE4318317A1 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0674258A1 (de) * | 1994-03-24 | 1995-09-27 | Texas Instruments France | Anordnung zur Konfliktverwaltung zwischen einem CPU und Speichern |
DE102014206607B3 (de) * | 2014-04-04 | 2015-10-01 | Siemens Aktiengesellschaft | Verfahren zum Betrieb eines Automatisierungsgeräts, Prozessor zur Verwendung im Rahmen des Verfahrens und nach dem Verfahren arbeitendes Automatisierungsgerät und System |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7206904B2 (en) * | 2002-03-20 | 2007-04-17 | Hewlett-Packard Development Company, L.P. | Method and system for buffering multiple requests from multiple devices to a memory |
KR100518567B1 (ko) * | 2003-04-15 | 2005-10-04 | 삼성전자주식회사 | 독출 동작과 기입 동작이 동시에 수행되는 메모리 셀어레이 구조를 가지는 집적 회로 |
US8397034B1 (en) * | 2003-06-27 | 2013-03-12 | Cypress Semiconductor Corporation | Multi-port arbitration system and method |
US7813213B1 (en) | 2005-05-04 | 2010-10-12 | Cypress Semiconductor Corporation | Pulsed arbitration system |
US8447957B1 (en) * | 2006-11-14 | 2013-05-21 | Xilinx, Inc. | Coprocessor interface architecture and methods of operating the same |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3424962A1 (de) * | 1983-07-08 | 1985-01-17 | Hitachi, Ltd., Tokio/Tokyo | Datenverarbeitungsverfahren und vorrichtung zur durchfuehrung desselben |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8401807D0 (en) * | 1984-01-24 | 1984-02-29 | Int Computers Ltd | Pipelined data processing apparatus |
US5001665A (en) * | 1986-06-26 | 1991-03-19 | Motorola, Inc. | Addressing technique for providing read, modify and write operations in a single data processing cycle with serpentine configured RAMs |
JPH01178193A (ja) * | 1988-01-07 | 1989-07-14 | Toshiba Corp | 半導体記憶装置 |
US5123108A (en) * | 1989-09-11 | 1992-06-16 | Wang Laboratories, Inc. | Improved cpu pipeline having register file bypass and working register bypass on update/access address compare |
US5062081A (en) * | 1989-10-10 | 1991-10-29 | Advanced Micro Devices, Inc. | Multiport memory collision/detection circuitry |
US5111431A (en) * | 1990-11-02 | 1992-05-05 | Analog Devices, Inc. | Register forwarding multi-port register file |
-
1992
- 1992-06-02 JP JP4141677A patent/JPH0612107A/ja active Pending
-
1993
- 1993-06-02 DE DE4318317A patent/DE4318317A1/de not_active Withdrawn
- 1993-06-02 US US08/070,296 patent/US5978897A/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3424962A1 (de) * | 1983-07-08 | 1985-01-17 | Hitachi, Ltd., Tokio/Tokyo | Datenverarbeitungsverfahren und vorrichtung zur durchfuehrung desselben |
Non-Patent Citations (1)
Title |
---|
PRINCE, Betty: Semiconductor Memories, Teubner Verlag, 1991, ISBN 3 5 19 06443, S. 57 u. 479 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0674258A1 (de) * | 1994-03-24 | 1995-09-27 | Texas Instruments France | Anordnung zur Konfliktverwaltung zwischen einem CPU und Speichern |
FR2717921A1 (fr) * | 1994-03-24 | 1995-09-29 | Texas Instruments France | Dispositif de gestion de conflit d'accès entre un CPU et des mémoires. |
DE102014206607B3 (de) * | 2014-04-04 | 2015-10-01 | Siemens Aktiengesellschaft | Verfahren zum Betrieb eines Automatisierungsgeräts, Prozessor zur Verwendung im Rahmen des Verfahrens und nach dem Verfahren arbeitendes Automatisierungsgerät und System |
US10295980B2 (en) | 2014-04-04 | 2019-05-21 | Siemens Aktiengesellschaft | Automation device processor and method for operating the automation device |
Also Published As
Publication number | Publication date |
---|---|
JPH0612107A (ja) | 1994-01-21 |
US5978897A (en) | 1999-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2714805C2 (de) | ||
DE3126878C2 (de) | Mikroprogramm-Steuerschaltung zum Ausführen eines aus einem Steuerspeicher in einem Quellenregister aufgenommenen Mikrobefehls | |
DE3508291A1 (de) | Realzeit-datenverarbeitungssystem | |
DE2533403A1 (de) | Datenverarbeitungssystem | |
DE3750028T2 (de) | Pipelineprozessor mit schwacher Kopplung. | |
DE68924719T2 (de) | Vorrichtung und Verfahren zur Ausführung eines Unterprogramms in einem Datenverarbeitungssystem mit Blockumschaltung. | |
DE69130414T2 (de) | Prozessor und Verfahren zur parallelen Verarbeitung | |
DE2036729A1 (de) | Digital Datenverarbeiter | |
DE2912287B2 (de) | Datenverarbeitungsanlage | |
DE19524402C2 (de) | Programmausführungssteuereinrichtung mit einer Adressierbarkeit entsprechend einer M-reihigen Pseudo-Zufallszahlenfolge | |
DE3043100C2 (de) | ||
DE68927202T2 (de) | Paralleler Prozessor | |
DE2951040C2 (de) | ||
DE2935101C2 (de) | ||
DE4318317A1 (de) | Datenverarbeitungsvorrichtung und -verfahren zum Ausführen von Operationen in Folge | |
DE3121046C2 (de) | ||
DE69031361T2 (de) | Taktsignalgeneratorsystem | |
DE3314139C2 (de) | ||
DE3485915T2 (de) | Vektormaskierungssteuerungssystem. | |
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
DE2759120C2 (de) | ||
DE69122001T2 (de) | Integrierte Schaltung mit einer Standardzelle, einer Anwendungszelle und einer Prüfzelle | |
DE2632277A1 (de) | Mikroprogrammierbarer computer fuer eine numerische steuervorrichtung | |
DE1774421B1 (de) | Mehrprogramm datenverarbeitungsanlage | |
DE69213413T2 (de) | Zwischenprozessor-Kommunikationsystem und Verfahren für Mehrprozessorschaltkreis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8139 | Disposal/non-payment of the annual fee |