DE2912287C3 - Datenverarbeitungsanlage - Google Patents
DatenverarbeitungsanlageInfo
- Publication number
- DE2912287C3 DE2912287C3 DE2912287A DE2912287A DE2912287C3 DE 2912287 C3 DE2912287 C3 DE 2912287C3 DE 2912287 A DE2912287 A DE 2912287A DE 2912287 A DE2912287 A DE 2912287A DE 2912287 C3 DE2912287 C3 DE 2912287C3
- Authority
- DE
- Germany
- Prior art keywords
- data
- memory
- register
- field
- command
- 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.)
- Expired
Links
Classifications
-
- 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/30181—Instruction operation extension or modification
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- 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, look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
Description
15
Die Erfindung betrifft eine Datenverarbeitungsanlage, mit einem Hauptrechner, mit einem Hauptspeicher,
mit einem Hilfsrechner mit einer Vielzahl von Speichereinheiten, mit einer Registerdatei init Datenregistern
und Adressenregistern für die jeweiligen 2«
Speichereinheiten zum Speichern der einzuschreibenden und auszulesenden Daten sowie der Adressen, wo
die Daten gespeichert werden, mit mindestens einer an die Registerdatei angeschlossenen arithmetisch-logischen
Einheit und mit einem an die Speichereinheiten und die arithmetisch-logische Einheit angeschlossenen
Mikroprogrammspeicher zur Speicherung von Mikrobefehlen, der ein erstes Feld zur Angabe der Operation
der Speichereinheit, ein zweites Feld zur Angabe der Operation der arithmetisch-logischen Einheit und <^in
drittes Feld zur Angabe der Adressen von bestimmten Registern der Registerdatei aufweist, die an die
arithmetisch-logische Einheit zur Durchführung der arithmetisch-logischen Operationen angeschlossen sind.
Eine Datenverarbeitungsanlage dieser Art ist bei- J5
spielsweise aus der DE-AS 12 85 220 bekannt, wobei dort nur ein Speicher vorgesehen ist, so daß nur ein
vergleichsweise langsamer Rechnerbetrieb möglich ist. Außerdem ist es mit der dort beschriebenen Anlage
kaum möglich, arithmetisch zu verarbeitende Daten abzurufen, während gleichzeitig eine arithmetische
Operation mit anderen Daten durchgeführt wird.
Ferner sind aus einem Prospekt der Firma CSP Inc. über makro-arithmetische Prozessoren aus dem Jahre
1976 Anordnungen bekannt, bei denen zwar eine Vielzahl von Speichern verwendet wird, jedoch ist dort
jeder Speicher mit jedem Register körperlich verbunden. Die dort angegebenen Datenverarbeitungsanlagen
haben dabei einen komplizierten Aufbau und sind in der Herstellung kostspielig.
Bei Datenverarbeitungsanlagen werden seit einiger Zeit immer mehr Hilfsdatenverarbeitungsanlagen verwendet,
die ausschließlich solche Operationen ausführen, daß bei deren Durchführung in einem Meh^zweck-Hiifsrechner
die Verarbeitungszeit verlängert wird, um die Wirksamkeit der gesamten Datenverarbeitungsanlage
zu verbessern. Im Betrieb der Hilfsdatenverarbeitungsanlage müssen die zu verarbeitenden Daten vom
Primärrechner zur Hilfsdatenverarbeitungsanlage übertragen werden, da letztere einen Speicher kleiner t.o
Kapazität und eine hohe Verarbeitungsgeschwindigkeit im Vergleich zum Primärrechner besitzt. Aus diesem
Grunde können nicht alle zu verarbeitenden Daten im Speicher der Hilfsdatenverarbeitungsanlage gespeichert
werden. Infolgedessen übermittelt der Primär- μ rechner dieser Hilfsdatenverarbeitungsanlage nur eine
solche Datenmenge, welche die Hilfsdatenverarbeitungsanlage verarbeiten kann, und führt ihr nach
Verarbeitung der vo.-her übermittelten Daten die gleiche Menge an Daten erneut zu. Diese Operation
wird fortgesetzt, bis sämtliche zu verarbeitenden Daten vollständig verarbeitet worden sind. Somit ist die für die
Datenübertragung zur Hilfsdatenverarbeitungsanlage erforderliche Zeit ziemlich lang, so daß auch dann, wenn
die Hilfsdatenverarbeitungsanlage mit hoher Geschwindigkeit arbeitet, sich eine lange Gesamiverarbeitungszeit
für die Daten ergibt und die Hilfsdatenverarbeitungsanlage hoher Leistungsfähigkeit in ungenügender
Weise und mit geringem Wirkungsgrad ausgelastet wird.
Zur wirksamen Auslastung der Hilfsdatenverarbeitungsanlage müssen die Datenübertragung zwischen
der Hilfsdatenverarbeitungsanlage und dem Primärrechner sowie die Durchführung der Rechenoperationen
durch die Hilfsdatenverarbeitungsanlage parallel durchgeführt werden. Beispielsweise wird bei der
Anordnung gemäß F i g. 1 eine zuerst zu verarbeitende Datengruppe 1 vom Primärrechner zur Hilfsdatenverarbeitungsanlage
übertragen. Während der nächsten Zeitspanne α führt dann die Hilfsdatenverarbeitungsanlage
die Operation bei der Datengruppe 1 aus. Während der gleichen Zeitspanne tx wird auch eine zweite
Datengruppe 2 vom Primärrechner zur Hilfsdatenverarbeitungsanlage übertragen. Während der nächsten
Zeitspanne p führt die Hilfsdatenverarbeitungsanlage die Operation an der Datengruppe 2 aus, und das
Verarbeitungsergebnis la der Datengruppe 1 wird von der Hilfsdatenverarbeitungsanlage zum Primärrechner
zurückübertragen, woraufhin letzterer die Datengruppe 3 zur Hilfsdatenverarbeitungsanlage überträgt. Anschließend
erfolgen die Operationsdurchführung und die Datenübertragung parallel in gleicher Weise.
Im allgemeinen wird die Datenübertragung nicht immer parallel mit der Datenverarbeitung vollständig in
der gleichen Zeitspanne durchgeführt. Da dies von der Art der Operation abhängt sollte eine Entscheidung
durch Vergleich der Datenübertragungsgeschwindigkeiten und der Operationsausführungszeiten im Normalbetrieb
erfolgen (vgl. β, γ, 6 in Fig. 1). Die für die
Datenübertragung benötigte Zeit liegt somit innerhalb der für die Ausführung der Operation erforderlichen
Zeit, so daß die Gesamtzeit für die Datenverarbeitung durch die Hilfsdatenverarbeitungsanlage im wesentlichen
gleich der Zeit für die Operationsausführung ist.
Um ein derartiges Steuersystem zu realisieren, ist die Hilfsdatenverarbeitungsanlage vorzugsweise mit drei
oder mehr Sätzen von Speichereinheiten versehen. Bei der Anordnung gemäß F i g. 2A sind z. B. drei
Speichereinheiten Ml, M2 und M3 vorgesehen, die
jeweils auf einmal die übertragenen oder verarbeiteten Daten speichern können. Während der Zeitspanne β
gemäß F i g. 1 dient die Speichereinheit M1 zur
Übertragung von Daten Xa und 3 zum und vom Primärrechner, während die Daten 2, die in der
vorhergehenden Zeitspanne <x in der Speiehereinheit
A/2 gespeichert worden sind, aus der Speichereinheit Ai 2 ausgelesen und verarbeitet werden, wobei das
Ergebnis der Operation in die Speichereinheit Λ/3
eingespeichert wird. Während der Zeitspanne y werden die im Verlauf der vorhergehenden Zeitspanne β in der
Speichereinheit M1 gespeicherten Daten 3 verarbeitet
und das Verarbeitungsergebnis sequentiell in die Speichereinheit M2 eingespeichert, während gleichzeitig
das in der Speichereinheit M 3 eingespeicherte Operationsergebnis 2a zum Primärrechner übertragen
wird und anschließend die Daten 4 in die Speicherein-
heit M 3 übertragen werden (vgl. F i g. 2B). Während der Zeitspanne werden die Daten in der Speichereinheit
MZ verarbeitet und das Operationsergebnis nacheinander in die Speichereinheit M1 eingespeichert, während
die Speichereinheit M 2 gleichzeitig die Übertragung der Daten 3a und 5 durchführt (vgl. F i g. 2C). In der
anschließender. Zeitspanne erfolgt die gleiche Operation wie bei der Darstellung nach Fig.2A, und es
werden gleiche Operationen wiederholt, wie sie in den F i g. 2B und 2C angedeutet sind.
Werden drei Sätze von Speichereinheiten in der vorstehend beschriebenen Weise im Betrieb verwendet,
so wird die Anforderung an die Software bzw. die Programme im Vergleich zu dem Fall mit einer
Speichereinheit verringert, so daß sich Schwierigkeiten beim Speicherzugriff vermeiden lassen.
Nachstehend soll ein Fall betrachtet werden, bei dem in einer Datenverarbeitungsanlage der oben erläuterten
Art die Hilfsdatenverarbeitungsanlage die Operationen unter Verwendung von Mikroprogrammen durchführt.
Wenn dabei im wesentlichen jeweils dieselben Operationen für die Daten 2, 3, 4 usw. durchgeführt werden
müssen, so sind beim herkömmlichen System drei Mikroprogramme entsprechend den drei Zuständen der
Speicherbelegung gemäß Fig.2A, 2B und 2C zu verwenden. Zum Beispiel werden die Daten 2 aus der
Speichereinheit M2 und die Daten 3 aus der Speichereinheit MX ausgelesen. Die Operation muß
dabei unter Verwendung unterschiedlicher Mikroprogramme für jede Zeitspanne durchgeführt werden. Beim
herkömmlichen System müssen somit unterschiedliche Mikroprogramme für eine einzige Operation zur
Verfügung stehen. Dies führt jedoch zu einer Vergrößerung der Speicherkapazität für die Mikroprogramme
selbst.
Ausgehend von den bekannten Anordnungen von Datenverarbeitungsanlagen liegt der Erfindung die
Aufgabe zugrunde, eine Datenverarbeitungsanlage mit vergleichsweise einfachem Aufbau anzugeben, die in der
Lage ist, Daten nach einem einzigen Programm bei hoher Geschwindigkeit zu verarbeiten, so daß die
Datenverarbeitungsanlage als Zusatzgerät einsetzbar ist.
Die erfindungsgemäße Lösung besteht darin, eine Datenverarbeitungsanlage der eingangs genannten Art
gemäß den Merkmalen im kennzeichnenden Teil des Hauptanspruches auszubilden.
Vorteilhafte Weiterbildungen der erfindungsgemäßen Datenverarbeitungsanlage sind in den Unteransprüchen
angegeben.
Im Gegensatz zu der aus der DE-AS 12 85 220 bekannten Datenverarbeitungsanlage sind gemäß der
Erfindung drei Speichereinheiten sowie drei Paare von Registern vorgesehen, während erste und zweite
logische Wandlerschaltungen dazu dienen, die jeweiligen Speichereinheiten zu wählen. Auf diese Weise
können die Daten weitaus schneller als bei dem bekannten System verarbeitet werden.
Gegenüber der Anlage gemäß dem Prospekt Ober makroarithmetische Prozessoren ist die erfindungsgemäße
Datenverarbeitungsanlage in vorteilhafter Weise mit ihrer logischen Umwandlungseinrichtung in der
Lage, den logischen Wert jeder Registereinheit zu ändern, so daß der jeweilige Speicher mit einer anderen
Registereinheit verbunden werden kann. Dadurch erfolgt eine logische Änderung der Paare von Speicher
und Register, die jeweils aus einem Speicher und einer Registereinheit bestehen. Auf diese Weise läßt sich der
Aufbau der Datenverarbeitungsanlage in vorteilhafter Weise vereinfachen und mit geringeren Kosten
herstellen.
Die Erfindung wird nachstehend anhand der ri Beschreibung von Ausführungsbeispielen und unter
Bezugnahme auf die Zeichnung näher erläutert. Die Zeichnung 2;eigt in
F i g. 1 und 2A bis 2C schematische Darstellungen zur Erläuterung der Arbeitsweise einer herkömmlichen
in Datenverarbeitungsanlage,
F i g. 3A und 3B ein Blockschaltbild einer 'Ausführungsform einer erfindungsgemäßen Datenverarbeitungsanlage,
F i g. 4A bis 4C ein Formal eines bei der erfindungsgemäßen Datenverarbeitungsanlage verwendeten Mikrobefehls,
F i g. 5A bis 5C ein Format eines verwendeten privilegierten Befehls,
F i g. 6A bis 6C Beispiele für das Befehlsfeld gemäß .•(ι Fig.5C,
F i g. 7 ein Format eines verwendeten Mikroprogrammes,
F i g. 8 ein Blockschaltbild einer logischen Umwandlungseinrichtung
zum Umsetzen eines Speicherberei-2") ches,
Fig.9 ein Blockschaltbild einer logischen Umwandlungseinrichtung
für bestimmte Befehlsfelder,
Fig. 10 ein Blockschaltbild eines Ausführungsbeispiels
für eine Speichereinheit, und in
π F i g. 11 ein Blockschaltbild einer anderen Ausführungsform einer erfindungsgemäßen Datenverarbeitungsanlage.
π F i g. 11 ein Blockschaltbild einer anderen Ausführungsform einer erfindungsgemäßen Datenverarbeitungsanlage.
Die in F i g. 3 dargestellte Datenverarbeitungsanlage ist über Sammelleitungen wie eine allgemeine Eingabe/
i) Ausgabe-Einrichtung an einen Verarbeitungsrechner
angeschlossen. Wie aus der Zeichnung ersichtlich, weist der Verarbeitungsrechner einen Hauptrechner 110 und
einen Hauptspeicher 111 auf. Die Datenverarbeitungsanlage weist einen Anschlußteil 112, einen Befehlssteu-4»
erteil 113, einen Arbeits- oder Operationsteil 114 und Speichereinheiten 115 auf. Der Anschlußteil 112, der die
Eingabe und Ausgabe zwischen der Datenverarbeitungsanlage und dem Verarbeitungsrechner überwacht
und ausführt, weist einen Befehlsübertragungsteil 116,
einen Datenübertragungssteuerteil 117, einen Ausführungssteuerteil 118, eine Zugriffssteuerung 119 und eine
Eingabe/Ausgabe-Schnittstelle 120 auf.
Der Anschlußteil 112 ist mit dem Verarbeitungsrechner
über eine Zugriffs-Sammelleitung 121 und eine ίο Eingabe/Ausgabe-Sammelleitung 122 verbunden. Der
Befehlsübertragungsteil 116 erhält über die Sammelleitung J22 UKd die Eir.gsbe/Aasgabe-Schr.ittsteüe 120
einen Befehl vom Hauptrechner 110 und überträgt den
Befehl zum Datenübertragungssteuerteil 117 und zum
Ausführungssteuerteil 118. Der Datenübertragungssteuerteil
117 steuert die Datenübertragung über die Sammelleitung 121 zwischen dem Hauptspeicher 111
und nachstehend näher beschriebenen Speichereinheiten. Der Ausführungssteuerteil 118 startet einen
ω nachstehend näher beschriebenen Steuerbereich.
Der Befehlssteuerteil 113 besteht aus einer Mikroprogrammsteuening
123, einem Mikroprogrammspeicher 124 und einem Durchlaufregister 125. Der Mikroprogrammspeicher
124 speichert ein Mikroprogramm, das f>5 eine Prozedur zur Durchführung eines Operationsteiles
114 und einen Zugriff zu nachstehend näher erläuterten
Speichereinheiten bestimmt. Der Mikorprogrammspeicher
124 mit einer Speicherkapazität von beispielsweise
128 Worten (30 Bits/Wort) besteht aus einem RAM oder ROM. Die Mikroprogrammsteuerung 123 bestimmt
die Adresse eines aus dem Mikroprogrammspeicher 124 auszulesenden Mikrobefehls. Der ausgelesene
Befehl wird im Durchlaufregister 125 gesetzt, das im vorliegenden Falle einem gewöhnlichen Befehlsregister
äquivalent ist. Der Ausführungssteuerteil 118 überträgt
eine Startadresse eines Mikroprogramms zur Mikroprogrammsteuerung 123 und startet dieses. Daraufhin
liefert die Mikroprogrammsteuerung 123 eine Adresse, die als nächste in Abhängigkeit vom Inhalt des ersten
Feldes NA 140 eines anhand der F i g. 4A bis 4C näher beschriebenen Mikrobefehls und von den codierten
Zuständen des Operationsteiles ausgelesen werden soll.
Der Operationsteil 114 weist eine Registerdatei RF126 und eine arithmetisch-iogische Einheit ALUXIl
auf. Die Registerdatei RF126 besteht aus 16 16-Bit-Hauptregistern
RO bis R 15 mit individuellen Adressen, die als Ausgangs- und Bestimmungsregister für die
arithmetisch-logische Einheit ALU 127 ansteuerbar sind. Bei diesen Registern sind die Register RO bis R 2
den Adressenregistern der Speichereinheiten MU1 bis
MU3 in der nachstehend beschriebenen Weise jeweils zugeordnet, während die Register R 4 bis R 6 den
Datenregistern der Speichereinheiten MUi bis MU 3
jeweils zugeordnet sind. Die arithmetisch-logische Einheit ALU 127 ist in der Lage, parallele 16-Bit-Operationen
durchzuführen.
Der Speicherteil 115 weist drei einzelne Speichereinheiten
128 bis 130 auf, die auch mit MUi, MU2 und
MU3 bezeichnet sind. Jede Speichereinheit weist beispielsweise eine Kapazität von 4 kW (16 Bit/W) und
individuelle Adressen von 0 bis 4095 in dezimaler Schreibweise auf. Jede Speichereinheit ermöglicht ein
paralleles Auslesen und Einschreiben und ist außerdem mit zwei Toren versehen, einem für die Schreib/Lese-Operation
der Registerdatei RF12% und einem für die
Schreib/Lese-Operation der Zugriffssteuerung 119.
In den Fig.4A bis 4C ist das Format eines Mikroprogrammbefehls dargestellt, der im Mikroprogrammspeicher
124 gespeichert ist. In diesem Format wird das erste Feld NA 140 zur Bestimmung der
nächsten Mikrobefehlsadresse des Mikroprogramms verwendet, d. h. der Adresse des nächsten auszuführenden
Mikrobefehls. Speziell wird das erste Feld NA 140 des im Durchlaufregister 125 gespeicherten Mikrobefehls
der Mikroprogrammsteuerung 123 zugeführt Das zweite Feld ALU141 wird verwendet, um den
Operationsteil 114 zu steuern und weist Felder oder Bereiche auf, die in F i g. 4B dargestellt sind. Im zweiten
Feld ALUUl bezeichnet ein Feld OP143 die von der
arithmetisch-logischen Einheit ALU\27 ausgeführte Operation. Ein Feld SA144 und ein Feld SB 145
bezeichnen die Adresse des Ausgangsregisters in der Registerdatei RF126 zum Speichern der von der
arithmetischlogischen Einheit ALU 127 zu verarbeitenden Datea Ein Feld DA 146 bezeichnet die Adresse des
Registers in der Registerdatei RF126, in dem das
Ergebnis der Verarbeitung durch die arithmetisch-logische Einheit ALUXZJ gespeichert wird. Ein drittes Feld
als Speicherbereich 142 bezeichnet die Operationen von drei Speichereinheiten MS1 bis MS 3, wie sie in F i g. 4C
dargestellt sind, das heißt, damit wird der Speicherten
115 gesteuert. MSX bis M53 sind die Bezeichnungen
der Speichereinheiten in den Mikroprogrammen, also der Software Ihr Zusammenhang mit den Speichereinheiten
MUX bis MUZ in der Hardware ist nachstehend
näher erläutert. Das GO-Bit 147 entspricht einem Freigabesignal des entsprechenden Speichers. Das
R/W-Bit 148 gibt das Auslesen oder Einschreiben für den entsprechenden Speicher an.
Unter Bezugnahme auf die F i g. 3A und 3B werden,
■> wenn der Mikrobefehl vom Mikroprogrammspeicher
124 in das Durchlaufregister 125 eingespeichert ist, das Feld ALU 141 und der Speicherbereich im dritten Feld
142 an den Operationsteil 114 und den Speicherteil 115
jeweils über eine Sammelleitung 131 abgegeben. Das
κι Feld OP 143 wird in das Register 132 geladen und
steuert dann den Betrieb der arithmetisch-logischen Einheit ALU 127.
Das Feld 54 144, das Feld SB 145 und das Feld
DA 146 werden einer logischen Wandlerschaltung
ι -j LR133 zugeführt. Das Ausgangssignal der logischen
Wandierschaltung LR 133 wählt dann die Register in der Registerdatei RF126 aus. Der Speicherbereich oder
das dritte Feld 142 wird einer logischen Wandlerschaltung LM134 zugeführt. Das Ausgangssignal der
.•ο logischen Wandlerschaltung LM134 steuert die
Speichereinheiten 128 bis 130. Ein Steuersignal zur Vorgabe der logischen Umschaltung der logischen
Wandlerschaltungen 133 bzw. 134 wird vom Ausführungssteuerteil 118 geliefert.
2Ί Der Betrieb der in Fig.3A und 3B dargestellten
Datenverarbeitungsanlage wird nachstehend näher erläutert. Der Betrieb der Datenverarbeitungsanlage
beginnt, wenn der Hauptrechner 110 über die Sammelleitung 122 und die Eingabe/Ausgabe-Schnitt-
j(i stelle 120 dem Befehlsübertragungsteil 116 Anfangsdaten
liefert. Die Daten enthalten die Adressen der Daten, die vom Hauptspeicher 111 an den Befehlsübertragungsteil
116 abzugeben sind. Der Befehlsübertragungsteil 116 steuert die Zugriffssteuerung 119 und erhält eine
S5 Reihe von Daten vom Hauptspeicher 111 durch die
Sammelleitung 121 und die Zugriffssteuerung 119. Die Daten werden dann klassifiziert in einen Datenübertragungssteuerblock
DTCB, der an den Datenübertragungssteuerteil 117 abgegeben wird, und einen Ausführungssteuerblock
ECB, der dem Ausführungssteuertei! 118 zugeführt wird.
Ein Beispiel für einen Datenübertragungssteuerbiock DTCB ist in Fig.5A dargestellt. Der Steuerbefehl
D7C150 bezeichnet die vom Datenübertragungssteuer-5
teil 117 zu steuernde Operation, z.B. den Datentransport
vom Hauptspeicher 111 zum Speicherteil 115 oder umgekehrt Das Feld MMSA151 und das Feld
MMEA152 bezeichnen die Startadressen und die Endadressen des Hauptspeichers 111. Das Feld
MUSA 153 und das Feld MUEA 154 bezeichnen die Startadressen und die Endadressen der jeweiligen
Speichereinheiten MUX, MU2 und MUi bzw. 128; 129
und 130. Das Feld der Kettenadresse 155 ist die Adresse des Hauptspeichers 111, in welchem der als nächstes
auszuführende Datenübertragungssteuerblock DTCB gespeichert ist
Ein Beispiel eines Ausführungssteuerblocks £"C!B ist in
Fig.5B dargestellt Das Feld EC156 steuert die
Operation, die vom Ausführungssteuerteil 118 gesteuert
werden solL Das Feld MIKRO-STA 157 bezeichnet die
Startadresse des Mikroprogramms. Das Feld MUATX5S für die Speichereinheiten-Zuordnungstabelle
steuert die logischen Wandlerschaltungen 133 und 134. Das Feld der Kettenadresse 159 bezeichnet die
Adresse des Hauptspeichers 111, wo der als nächstes auszuführende Ausführungssteuerblock ECB gespeichert
ist Bei diesem Beispiel können die Steuerblöcke DTCBnnd ECBaIs Befehle betrachtet werden, die einen
höheren Wert als ein Mikroprogramm haben und die für jedes Segment der Verarbeitung durch die Datenverarbeitungsanlage
innerhalb des in F i g. 1 dargestellten Zeitintervalls vorgegeben sind. Diese Steuerblöcke
DTCB und ECB werden von der Zugriffssteuerung 119 abgerufen, bevor die Verarbeitung jedes Segments
beginnt, ohne von dem Hauptrechner 110 unabhängig zusein.
Fig. 5C zeigt ein Beispiel eines Feldes MUATtSS.
Dabei bezeichnet das Feld MU 1 160 eine entsprechen- ι ο de Beziehung zwischen dem operationsbestimmenden
Teil der Speichereinheit MU1 in der hardware und
einem speicherbestimmenden Teil des Mikroprogramms. In gleicher Weise bezeichnen die Felder MU 2
und MU3 bzw. 161 und 162, welchen Speichern im r> Mikroprogramrnspeieher die Speiehereinheiten MU2
und MU3 bzw. 129 und 130 in der hardware entsprechen. Der Inhalt des so gebildeten Feldes
MUAT158 ergibt die Steuersignale für die logischen Wandlerschaltungen 133 und 134.
Der Befehlssteuerteil 113 startet den Betrieb, wenn der Ausführungssteuerteil 118 ein Feld MIKRO-STA
157 des Ausführungssteuerblocks ECS der Mikroprogrammsteuerung
123 zuführt. Die Mikroprogrammsteuerung 123 gibt dann die Startadessen eines Mikroprogramms im Mikroprogrammspeicher 124, d. h.
den Inhalt des Feldes MIKRO-STA157, in den Mikroprogrammspeicher 124, so daß der entsprechende
Mikrobefehl geliefert wird, der aus dem Mikroprogrammspeicher 124 ausgelesene Mikrobefehl wird in jo
das Durchlauf register 125 eingegeben. Das zweite Feld ALU 141 und der Speicherbereich im dritten Feld 142
im Mikrobefehl werden an den Operationsteil 114 und den Speicherteil 115 über eine Sammelleitung 131
übermittelt und ausgeführt. Zu diesem Zeitpunkt wird das erste Feld NA 140 an die Mikroprogrammsteuerung
123 abgegeben, wo die Adresse des nächsten auszuführenden Mikrobefehls bestimmt wird, und anschließend
werden die Ausführung des Mikrobefehls und das Auslesen des als nächsten auszuführenden Mikrobefehls
parallel durchgeführt.
Gesteuert von dem Datenübertragungssteuerteil 117 wird der Datentransport zwischen dem Hauptspeicher
111 und irgendeiner der Speichereinheiten MUi, MU2
bzw. MU 3 ausgeführt Die Richtung des Datentransports wird vom Feld D7U150 des Datensteuerblocks
DTCB bestimmt Wenn beispielsweise Daten im Hauptspeicher 111 an die Speichereinheit MUX bzw.
128 abgegeben werden, so steuert der Inhalt des Feldes MMSA 151 und des Feldes MMEA 152 die Zugriffssteuerung 119, um sequentiell Daten im Hauptspeicher
IiI über die Ssmir.cilcitur.g 121 auszulesen. Die Inhalte
der Felder MLtSA 152 und MUEA154 liefern der Adressen-Sammelleitung 135 eine Adresse und führen
die aus dem Hauptspeicher 111 ausgelsenen Daten über
die Sammelleitung 121, die Zugriffssteuerung 119 und die Speicher-Sammelleitung 136 an ihren Adressenort
Die Verwendung des Datenübertragungssteuerteils 117 und des Ausführungssteuerteiles 118 ermöglicht eine
Datenübertragung und die Durchführung der auszuführenden Operation im Parallelbetrieb und bei hoher
Geschwindigkeit
Wie bereits erwähnt, wird eine Operation mit der vorstehend beschriebenen Datenverarbeitungsanlage
so durchgeführt, daß die Daten in einer Speichereinheit verarbeitet und das Ergebnis der Verarbeitung in einer
anderen Speichereinheit gespeichert wird. Im Falle von drei Sätzen von Speichereinheiten können drei Fälle der
nachstehend beschriebenen Art auftreten, wie es bereits in F i g. 2A, 2B und 2C angedeutet ist:
1) Die Daten aus der Speichereinheit MU2 werden verarbeitet und das Ergebnis der Verarbeitung in
der Speichereinheit MU3 gespeichert;
2) die Daten aus der Speichereinheit MUX werden
verarbeitet und das Ergebnis der Verarbeitung in der Speichereinheit MU2 gespeichert;
3) die Daten aus der Speichereinheit MU3 werden verarbeitet und das Ergebnis der Verarbeitung in
der Speichereinheit MU1 gespeichert.
Das in Fig.5C dargestellte Feld MUA T wird verwendet, um den Zusammenhang zwischen den
Speichern MSX bis MS3 in einem Mikroprogramm und
den Speichereinheiten MUX bis MU 3 in der Hardware zu bestimmen. Im ersten Falle ist das Feld MUATiSS
durch die Darstellung in Fig.6A gegeben. Das bedeutet, daß folgende Beziehungen vorgegeben sind:
MU1 : MS X
MU2-.MS2
MU3 : MS3
Im zweiten Falle gelten die folgenden Relationen, die in F i g. 6B dargestellt sind:
MUX :MS2
MU2-.MS3
MU 3 : MS X
Im dritten Fall gibt das Feld MUATXSS folgende Relation vor, die in F i g. 6C angegeben ist:
MUX :MS3
MU2 : MS X
MU3-.MS2
Es wird angenommen, daß die jeweiligen Register in der Registerdatei RFX26 im Mikroprogramm in der
Weise codiert sind, wie es in Tabelle 1 dargestellt ist.
Tabelle 1 | Register | |
Code | Adressenregister des Speichers MS X | |
40 | 0000 | Adressenregister des Speichers MS 2 |
0001 | Adressenregister des Speichers MS 3 | |
0010 | R3 | |
0011 | Datenregister des Speichers MS X | |
45 | 0100 | Datenregister des Speichers MS 2 |
0101 | Datenregister des Speichers MS 3 | |
0110 | R7 | |
Olli | R8 | |
1000 | R9 | |
50 | 1001 | RXO |
1010 | RXX | |
1011 | R12 | |
1100 | RX3 | |
55 | 1101 | Ä14 |
1110 | Ä15 | |
1111 | ||
Der Speicherbereich im dritten Feld 142 wird über die Sammelleitung 131 übertragen und gemäß der Relation
nach Tabelle 1 durch die logische Wandlerschaltung 134 umgesetzt In gleicher Weise werden die Felder SA144,
SB 145 und DA 146 in der logischen Wandlerschaltung 133 umgesetzt
Nachstehend soll ein Mikroprogramm betrachtet werden, wie es in Fig. 7 dargestellt ist, wobei das Feld
NA140 weggelassen ist Der Mikrobefehl in der
Adresse A hat den Inhalt »0000« im Operationsfeld 180,
d. h. keine Operation. In diesem Falle sind die Inhalte der Felder SA 181, SB 182 und DA 183 unbedeutend, da
aber das Feld MS2 184 den Inhalt »10« hat, bestimmt dies das Auslesen des Speichers MS 2.
Im ersten Falle entspricht der Speicher MS 2 der
Speichereinheit MU2, und somit liefert die logische Wandlerschaltung 134 ein Zugriffssignal für die
Speichereinheit MU2 und gibt Daten an der Stelle in der Speichereinheit MU2, die durch die Adresse im
Register Rl der Registerdatei RF126 definiert ist, an
das Register R 5 ab. Auch in diesem Maschinenzyklus führt die arithmatisch-logische Einheit ALUXTH keine
Operation aus. Im nächsten Maschinenzyklus wird der Mikrobefehl an der durch die Adresse (A + 1) definierten
Stelle uUs^eführt Bei dem Befehl arbeitt ^^r
Speicher nicht, während die arithmetisch-logische Einheit 127 eine Operation ausführt. Da der Inhalt
»0001« im Operationsfeld OP185 die Ausführung einer
Addition vorgibt, werden die Inhalte der Register, die durch die beiden Felder SA 186 und SB 187 bestimmt
sind, zueinander addiert und das Ergebnis der Addition in das Register eingeschrieben, das durch das Feld
DA 188 vorgegeben ist.
Der Inhalt »0101« im Feld SA 186 bestimmt das
Datenregister des Speichers MS 2, so daß im ersten Falle das Register R 5 von der logischen Wandlerschaltung
133 ausgewählt wird. Das Feld SB 187 bestimmt das Register Ä9 beim Inhalt »1001«. Das Feld DA 188
hat den Inhalt »0110« und bestimmt das Datenregister
des Speichers MS3.
Dementsprechend werden die Inhalte der Register RS und /?9 über die Sammelleitungen 137 und 138 an
die arithmetischlogische Einheit 127 abgegeben und das Ergebnis der Operation über die Sammelleitung 139 in
das Register Ä6 geladen. Im anschließenden Maschinenzyklus
wird der Mikrobefehl an der durch die Adresse (A + 2) vorgegebenen Stelle ausgeführt. Das
Operationsfeld OP189 an der durch eine Adresse
(A+ 2) bestimmten Stelle des Mikrobefehls hat den Inhat »0000« und bedeutet keine Operation, so daß die
arithmetisch-logische Einheit i27 in diesem Zyklus nicht arbeitet. Das Feld 190 des Speichers MS 3 hat den Inhalt
»11«, so daß das Einschreiben in den Speicher MS 3
vorgegeben ist Wenn das Feld MUATlSS im ersten
Falle die Form gemäß F i g. 6A aufweist, entspricht der Speicher MS3 der Speichereinheit MU3, und somit legt
die logische Wandlerschaltung 134 ein Zugriffssignal an die Speichereinheit MU3 und lädt das Operationsergebnis
in das Register R 6 an die Stelle in der Speichereinheit MU3, die durch die Adresse im
Register R 2 definiert ist
Auch im zweiten Falle kann die Datenverarbeitungsanlage Operationen unter Verwendung desselben
Programmes ausführen, wie es in F i g. 7 dargestellt ist In diesem Falle wird das Feld AfLZA T158 der in F i g. 6B
dargestellten Art vom Ausführungssteuerteil 118 an die logischen Wandlerschaltungen 133 bzw. 134 übertragen.
Beim Mikrobefehl der Adresse A befindet sich die arithmetisch-logische Einheit 127 in dem Zustand für
keinen Betrieb, jedoch ist das Auslesen durch den Speicher MS 2 vorgegeben. Da der Speicher AiS 2 in
diesem Zustand der Speichereinheit MUX entspricht,
liefert die logische Wandlerschaltung 134 ein Zugriffssignal zur Speichereinheit MUX, so daß die in der
Adresse gespeicherten Daten, die durch das Adressenregister RO vorgegeben ist, an das Datenregister A4
abgegeben werden. Im nächsten Maschinenzyklus wird der Mikrobefehl in der Adresse (A+1) ausgeführt.
Dieser Mikrobefehl bestimmt, daß die arithmetisch-logische Einheit 127 eine Addition ausführt. Die Summationsdaten
sind in das Datenregister des Speichers MS 2 und das Register R 9 durch die Felder SA und 55 in der
in Tabelle 1 angegebenen Weise eingegeben. Da der Speicher MS 2 der Speichere'nheit MU1 entspricht,
wählt die logische Wandlerschaltung 133 die Register R 4 und R 9 aus, von denen das erste das Datenregister
der Speichereinheit MU1 darstellt. Die Daten in den
Registern R 4 und R 9 werden über die Sammelleitungen 137 und 138 der arithmetisch-logischen Einheit 127
zugeführt. Diese führt eine Addition aus, und das Ergebnis der Addition muß in dem Datenregister des
Speichers MS3 gespeichert werden, der durch das Feld DA vorgegeben ist. Die Anordnung ist dabei so
getroffen, daß der Speicher M53 der Speichereinheit MU 2 entspricht. Das Ergebnis der Operation wird dann
in dem Register RS, dem Datenregister von MU 2, gespeichert, und die Ausführung des Mikrobefehls in der
Adresse (A+ 1) endet. In der Adresse (A + 2) is.' der Mikrobefehl »Einschreiben« in den Speicher M53
vorgegeben. Da der Speicher MS 3 der Speichereinheit MU2 entspricht, wird der Inhalt des Registers R 5 in
eine Adresse geladen, die durch das Register R 2 vorgegeben ist
Auch im dritten Falle, wenn das Feld MUATdie Form
gemäß F i g. 6C hat, kann die Datenverarbeitungsanlage mit den Befehlen gemäß F i g. 7 arbeiten.
In F i g. 8 ist ein Ausführungsbeispiel einer logischen
Wandlerschaltung 134 dargestellt, um den Speicherbereich umzusetzen. Bei der dargestellten Ausführungsform wird die Information im Speicherbereich 210
selektiv Multiplexern 211 bis 216 zugeführt Das Feld
MUA T wird von dem Ausführungssteuerteil 118 als Steuersignal für die jeweiligen Multiplexer geliefert.
Beispielsweise stallt das Feld MU1 des Befehls MUA T
das Steuersignal für die Multiplexer 211 und 212 dar, während das Feld MU 2 das Steuersignal für die
Multiplexer 213 und 214 darstellt und das Feld MU3 das
Steuersignal für die Multiplexer 215 und 216 darstellt Wenn das Feld MUi dem Speicher AiSl entspricht,
liefern die Multiplexer 211 und 212 Signale, die an die jeweiligen Eingangsanschlüsse 1 angelegt werden.
Wenn das Feld MUl den Speichern MS 2 oder MS 3
entspricht werden Ausgangssignale geliefert, die an die Eingangsanschlüsse 2 oder 3 angelegt werden. Dies gilt
entsprechend für die Multiplexer 213 und 214 bzw. 215 und 216. Die Ausgangssignale der Multiplexer 211 und
212 werden der Speichereinheit MUl zugeführt Die
Ausgangssignale der Multiplexer 213 und 214 werden der Sneichereinheit MU"2. zugeführt, und die
signale der Multiplexer 215 und 216 werden der Speichereinheit MU3 zugeführt
In Fig.9 ist ein Beispiel einer logischen Wandlerschaltung
133 dargestellt, um das Umsetzen im SA-Feld, ÄA-Feld und DA-FeId durchzuführen. Das SA-Feld
(bzw. das ΒΑ-Feld oder DA-FeId) ist mit 220 bezeichnet und besteht aus 4 Bits. Die Speichereinheiten MUX,
MU2 und MU3, die das Feld MUAT22X bilden, werden
von dem Ausnihningssteuertefl 118 geliefert und
bestehen ebenfalls aus 4 Bits. In diesen Feldern bezeichnet die Information »0001« die Speichereinheit
MU1, die Information »0010« die Speichereinheit MU 2
und die Information »0011« die Speichereinheit MU3.
Die Information in der Speichereinheit MU3 wird dem Eingang des Multiplexers 224 über die Gruppe von
Gattern 222 zugeführt Die Information der Speicher-
einheit MU 2 wird dem Eingang des Multiplexers 225
über die Gruppe von Gattern 223 zugeführt Die beiden niedrigeren Bits der Registerbestimmungsinformation
im Feld 220 werden als Wählsignal für die Multiplexer 224 und 225 verwendet Wenn das Wählsignal der
beiden Bits den Wert »00« hat, wird der Eingang 0 gewählt und wenn die beiden Bits die Werte »01«, »10«
bzw. »11« haben, werden jeweils die Eingänge 1,2 bzw.
3 gewählt Die Ausgänge der beiden Multiplexer 224 und 225 werden an die Eingänge 0 der Multiplexer 226
und 227 angelegt Die anderen Eingänge 1 der beiden Multiplexer 226 und 227 sind an die beiden niedrigeren
Bits der Registerbestimmungsinformation im Feld 220 angeschlossen.
Die beiden höheren Bits der Registerbestimmungsinformation im Feld 220, die über die Gruppe von Gattern
228 zugeführt wird, werden als Wählsignale für die Multiplexer 226 und 227 verwendet Die beiden höheren
Bits der Registerbestimmungsinformation im Feld 220 werden direkt für die beiden höheren Bits des
Ausgangssignals der logischen Wandlerschaltung 133 verwendet. Die Ausgangssignale der Multiplexer 226
und 227 werden für die beiden niedrigeren Bits des Ausgangssignals der logischen Wandlerschaltung 133
verwendet. Wenn die Adresseninformation den Wert »0101« hat, wird das Datenregister des Speichers MS2
vorgegeben, wie sich aus Tabelle 1 entnehmen läßt.
Im ersten Falle, wo das Feld MUAT die Form gemäß
F i g. 6A hat, hat das Ausgangssignal der logischen Wandlerschaltung 133 den Wert »0101« und bestimmt
das Register R 5 der Registerdatei ÄF126. Im zweiten
Falle, wo das Feld MUATdie Form gemäß Fig. 6B hat,
hat das Ausgangssignal der logischen Wandlerschaltung 133 den Wert »0100« und bestimmt das Register R 4 der
Registerdatei ÄF126. Im dritten Falle, wo das Feld
MUAT die Form gemäß Fig.6C hat, hat das Ausgangssignal der logischen Wandlerschaltung 133
den Wert »0110« und bestimmt das Register R 6 der
Registerdatei RF126.
Wie bei diesem Beispiel in Tabelle 1 dargestellt, ist der Code zur Adressenumwandlung so gewählt, daß der
Code mit den höheren beiden Bits »00« zur Bezeichnung des Adressenregisters und der Code mit den höheren
beiden Bits mit dem Wert »01« zur Bezeichnung des Datenregisters dienen. Bezüglich anderer Codes liefert
die logische Wandlerschaltung 133 das gleiche Ausgangssignal wie das Eingangssignal; auch wenn jedoch
alle Codes umgewandelt sind, tritt kein Problem auf, insbesondere dann, wenn ein Mikroprogramm unabhängig
von früheren Registerinhalten programmiert ist. Die in F i g. 9 dargestellte Schaltung ist entsprechend für alle
Felder vorgesehen, um die Register mit einem Mikroprogramm vorzugeben. Es kann jedoch auch eine
einzige Schaltung im Zeitmultiplexbetrieb für das SA-Feld, 5A-FeId und DA-FeId verwendet werden.
In F i g. 10 ist ein Ausführungsbeispiel einer Speichereinheit MU1 fü>- die Datenverarbeitungsanlage gemäß
Fig.3B dargestellt. Die anderen Speichereinheiten MU2 und MUi können auch in der beschriebenen
Weise ausgebildet sein. Die Speichereinheit MU1 wird
sowohl vom Datenübertragungssteuerteil 117 als auch vom Mikroprogramm gesteuert und weist ein Speicherfeld
231, ein internes Datenregister 232, ein internes Adressenregister 233 und eine Steuerschaltung 234 auf.
Ein Multiplexer 235 ist mit seinem Anschluß 1 an die Sammelleitung 136 und mit dem Anschluß 2 an das
Datenregister RA der Speichereinheit MUX in der
Registerdatei RF126 angeschlossen.
Ein Multiplexer 236 ist mit seinem Anschluß 1 an die Sammelleitung 135 und mit seinem Anschluß 2 an das
Adressenregister RO der Speichereinheit MUi in der
Registerdatei ÄF126 angeschlossen. Wenn ein Steuersignal
GO von der logischen Wandlerschaltung 134 angelegt wird, wählen die Multiplexer 235 und 236, und
in dem internen Adressenregister 233 wird der Inhalt des Registers R 0 abgespeichert Zu diesem Zeitpunkt
werden, wenn Lesebetrieb vorliegt, in Abhängigkeit von
ίο einem Steuersignal R/W von der logischen Wandlerschaltung
134 Daten aus dem Speicherfeld 231 in das interne Datenregister 232 ausgelesen und über den
Multiplexer 235 an das Register R 4 abgegeben.
Im Schreibzustand wird der Inhalt des Registers RA in der Adresse eingespeichert die durch das interne Adressenregister 233 innerhalb des Speicherfeldes 231 vorgegeben ist nachdem er über den Multiplexer 235 in das interne Datenregister 232 eingegeben worden ist Wenn kein Steuersignal GO zugeführt wird, wählen die Multiplexer 235 und 236 den Anschluß 1. Zu diesem Zeitpunkt bewirkt die Speichereinheit MUi, wenn ein Steuerbefehl DTC von dem Datenübertragungssteuerteil 117 erhalten wird, ein Einschreiben der Daten, die vom Hauptspeicher 111 über die Sammelleitung 136 und die ZugriffssU uerung 119 geliefert werden, oder ein Auslesen der vom Hauptspeicher 111 gelieferten Daten.
Im Schreibzustand wird der Inhalt des Registers RA in der Adresse eingespeichert die durch das interne Adressenregister 233 innerhalb des Speicherfeldes 231 vorgegeben ist nachdem er über den Multiplexer 235 in das interne Datenregister 232 eingegeben worden ist Wenn kein Steuersignal GO zugeführt wird, wählen die Multiplexer 235 und 236 den Anschluß 1. Zu diesem Zeitpunkt bewirkt die Speichereinheit MUi, wenn ein Steuerbefehl DTC von dem Datenübertragungssteuerteil 117 erhalten wird, ein Einschreiben der Daten, die vom Hauptspeicher 111 über die Sammelleitung 136 und die ZugriffssU uerung 119 geliefert werden, oder ein Auslesen der vom Hauptspeicher 111 gelieferten Daten.
Wie sich aus der vorstehenden Beschreibung ergibt,
kann die Datenverarbeitungsanlage als Zusatzgerät eingesetzt werden, das mit hoher Geschwindigkeit die
von einem Hauptrechner zugeführten Daten verarbeitet und das Ergebnis der Verarbeitung an den Hauptrechner
abgibt. Dabei kann die Datenverarbeitungsanlage die Verarbeitungszeit beträchtlich verkürzen. Insbesondere
ist die Durchführung einer Reihe von Operationen unter Verwendung des gleichen Mikroprogramms
möglich, so daß ein kleines Fassungsvermögen für einen Mikroprogrammspeicher zur Steuerung ausreicht.
In der nachstehend näher beschriebenen Fig. 11 ist eine weitere Ausführungsform der Datenverarbeitungsanlage
dargestellt. Dabei bezeichnen gleiche Bezugszeichen wie in Fig.3A und 3B entsprechende Elemente.
Ein Block, der mit der strichlierten Linie 112 bezeichnet
ist, stellt einen Verbindungsteil dar, der den Befehlsübertragungsteil 116, den Datenübertragungssteuerteil 117,
den Ausführungssteuerteil 118, die Zugriffssteuerung 119 sowie die Eingabe/Ausgabe-Schnittstelle 120
enthält, die im einzelnen in F i g. 3A dargestellt sind. Ein wesentliches Merkmal dieser Ausführungsform besteht
darin, daß eine erste arithmetisch-logische Einheit 241, eine zweite arithmetisch-logische Einheit 242 und eine
Multiplizierschaltung 243 vorgesehen sind. Mit einer derartigen Anordnung sind schwierigere und kompliziertere
Operationen möglich, wenn man es mit der Ausführungsform nach Fig.3A und 3B vergleicht.
Vi Wenn beispielsweise Bilddaten verarbeitet werden,
kann eine vorgegebene Operation für jeden Ort eines Bildelements durchgeführt werden. Eine gewöhnliche
Speichereinrichtung speichert Bilddaten in der Reihenfolge der Bildpositionen; die zu verarbeitenden Daten
Mi sind jedoch nicht notwendigerweise in dieser Reihenfolge
angeordnet. In einem solchen Falle wird die Reihenfolge der Daten so umgeordnet, daß sie in der
Reihenfolge des Betriebsablaufes ist, und dann dem Hilfsrcchner zugeführt, um eine Verkürzung der
h5 Verarbeitungszeit zu erreichen. Andererseits können
bei diesem Beispiel die im Hauptspeicher 111 gespeicherten Bilddaten in den Speicherbereich übertragen
werden, ohne die Reihenfolge zu ändern.
Wenn beispielsweise die Summe von Produkten unter Verwendung der zweiten arithmetisch-logischen Einheit
242 und der Multiplizierschaltung 243 gebildet wird, kann die erste arithmetisch-logische Einheit 241 die
Adressen der aus dem Speicherbereich genommenen Daten berechnen. Bei diesem Beispiel werden die
Daten, die der von der ersten arithmetischlogischen Einheit 241 berechneten Adresse entsprechen, aus dem
Speicherbereich herausgenommen, und das Ergebnis der von der zweiten arithmetisch-logischen Einheit 242
und der Multiplizierschaltung 243 durchgeführten Operation wird wieder in die von der ersten
arithmetisch-logischen Einheit 241 berechneten Adresse geladen. Durch diese Operation kann die Verarbeitungszeit
reduziert werden, ohne die Reihenfolge der Bilddaten zu ändern. Diese Eigenschaft ist sehr nützlich,
wenn die jeweiligen Eingangsbilddaten die jeweilige Position des Bildelements der Ausgangsbilddaten
beeinflussen.
Ein weiteres wesentliches Merkmal der Ausführungsform nach F i g. 11 besteht darin, daß der aus dem
Mikroprogrammspeicher 124 ausgelesene Mikrobefehl in Übereinstimmung mit dem Feld MUA T durch die
logische Wandlerschaltung 244 geändert wird, bevor er in das Durchlaufregister 125 eingegeben wird. Eine
Kombination der Bauformen nach F i g. 8 und 9 kann für die logische Wandlerschaltung 244 verwendet werden.
Bei dem aus dem Mikroprogrammspeicher 124 ausgelesenen Mikrobefehl werden das Feld zur Angabe des
Betriebes des Speichers (Speicherbereiches) und das jo
Feld zur Angabe des Registers als Ausgangs- oder Bestimmungsort (SA-Feld, SS-Feld und DA-FeId) der
logischen Wandlerschaltung 244 zugeführt Die anderen Felder werden in ihrem ursprünglichen Zustand in das
Durchlaufregister 125 eingegeben. Im Steuerteil kann ein MiMT-Tabellenspeicher vorgesehen sein, anstatt
einen MUA T-Befehl vom Hauptrechner vorzugeben,
um den verwendeten ΛίΙΜΓ-Befehl zu bestimmen.
Obwohl bei diesem Beispiel drei Sätze von Speichereinheiten verwendet werden, kann eine beliebige Anzahl
von Speichereinheiten zum Einsatz gelangen.
Eine Datenverarbeitungsanlage, in der jede der Betriebseinheiten eine Multiplizierschaltung aufweist,
kann als System eingesetzt werden, das ausschließlich Faltungen oder die Summation von Produkten bei
hoher Geschwindigkeit ausführt Bei der Berechnung von Ausdrücken der Form
D= Σ Ai , Bi
kann das Produkt (Ai»Bi) durch Verwendung der
Multiplizierschaltung 243 berechnet werden, während die Summation dann von der zweiten arithmetisch-logischen
Einheit 242 durchgeführt wird. Der aufaddierte Wert kann nur in der Zeit zur Berechnung des Produkts
erhalten werden, da die Multiplizierschaltung 243 und die zweite arithmetisch-logische Einheit 242 parallel
arbeiten.
Hierzu 8 Blatt Zeichnuimcn
Claims (7)
1. Datenverarbeitungsanlage,
mit einem Hauptrechner, mit einem Hauptspeicher, mit einem Hilfsrechner mit einer Vielzahl von
Speichereinheiten,
mit einer Registerdatei mit Datenregistern und Adressenregistern für die jeweiligen Speichereinheiten
zum Speichern der einzuschreibenden und auszulesenden Daten sowie der Adressen, wo die
Daten gespeichert werden,
mit mindestens einer an die Registerdatei angeschlossenen arithmetisch-logischen Einheit, und
mit einem an die Speichereinheiten und die arithmetisch-logische Einheit angeschlossenen Mikroprograrsimspeicher zur Speicherung von Mikrobefehlen, der ein erstes Feld zur Angabe der Operation der Speichereinheit, ein zweites Feld zur Angabe der Operation der arithmetisch-logischen Einheit und ein drittes Feld zur Angabe der Adressen von bestimmten Registern der Registerdatei aufweist, die an die arithmetisch-logische Einheit zur Durchführung der arithmetisch-logischen Operationen angeschlossen sind, gekennzeichnet durch
mit einem an die Speichereinheiten und die arithmetisch-logische Einheit angeschlossenen Mikroprograrsimspeicher zur Speicherung von Mikrobefehlen, der ein erstes Feld zur Angabe der Operation der Speichereinheit, ein zweites Feld zur Angabe der Operation der arithmetisch-logischen Einheit und ein drittes Feld zur Angabe der Adressen von bestimmten Registern der Registerdatei aufweist, die an die arithmetisch-logische Einheit zur Durchführung der arithmetisch-logischen Operationen angeschlossen sind, gekennzeichnet durch
a) einen Befehlsübertragungsteil (116), der den vom Hauptrechner (110) an den Hilfsrechner
übermittelten Befehl entschlüsselt und den Datenblock (F i g. 5A) des Befehls an einen jn
Datenübertragungssteuerteil (117) sowie den Befehlsblock (Fig.5B) an einen Ausführungssteuerteil
(118) überträgt;
b) einen Datenübertragungssteuerteil (117), der an
den Befehlsübertragungsteil (116) angeschlossen ist und den Datenblock (Fig.5A) eines
Befehls erhält sowie die Datenübertragung zwischen den in Bereichen (151, 152) des
Datenblocks (F i g. 5A) stehenden Anfangs- und Endadressen (MMSA, MMEA) im Hauptspeieher
(111) und den in weiteren Bereichen (153, 154) stehenden Anfangs- und Endadressen
(MUSA, MUEA) der Speichereinheiten (115) im
Hilfsrechner in Abhängigkeit von einer im Datenblock enthaltenen Richtungsangabe (Be- 4r>
reich 150) steuert;
c) eine erste logische Wandlerschaltung (134), die an das Mikroprogramm und die Speichereinheiten
(115) angeschlossen ist, das erste Feld (140) eines aus dem Mikroprogrammspeicher (124) w
ausgelesenen Befehls (Fig.4A) erhält sowie den Speicher mit dem Ausgangssignal des
ersten Feldes steuert;
d) eine zweite logische Wandlerschaltung (133), die an das Mikroprogramm und die Registerdatei
(126) angeschlossen ist, das dritte Feld (142) des aus dem Mikroprogrammspeicher (124)
ausgelesenen Befehls (F i g. 4A) erhält sowie ein Register (RO-R6) in der Registerdatei (126)
gemäß dem Ausgangssigna! des dritten Feldes auswählt; und
e) einen Ausführungssteuerteil (118), der an den Befehlsübertragungsteil (116) angeschlossen ist
und den Befehlsblock (Fig.5B) eines Befehls erhält, die in einem Bereich (157) des Befehls- μ
blocks (Fig.5B) stehende Startadresse eines Mikroprogramms für die auszuführende Operation
(Bereich 156) an einen Befehlssteuerteil überträgt und den Datenverkehr zwischen den
Speichereinheiten (115) des Hilfsrechners und dessen arithmetisch-logischer Einheit (127)
steuert und der außerdem an die erste und zweite logische Wandlerschaltung (134, 133)
angeschlossen ist und diesen entsprechende Steuersignale liefert
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die erste logische
Wandlerschaltung (134) aus einer Vielzahl von Multiplexern (211—216) besteht, die jeweils auf
einem Eingang die Information des ersten Feldes und auf einem anderen Eingang das Steuersignal des
Ausführungssteuerteiles (118) erhalten, und ein Speichereinschaltsignal zur Aktivierung der jeweiligen
Speichereinheiten sowie ein Steuersignal zum Steuern des Einschreibens und Auslesens in das bzw.
aus dem aktivierten Speicher liefert (F i g. 8).
3. Datenverarbeitungsanlage nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die zweite
logische Wandlerschaltung (133) eine Gruppe von Gattern (22, 223), die das Steuersignal vom
Ausfühfungssteuerteil (118) erhalten und jeweils selektiv ein Ausgangssignal liefern, einen an die
Gatter (222, 223) angeschlossenen ersten Multiplexer (224, 225), der selektiv das Ausgangssignal der
Gruppe von Gattern (222,223) erzeugt, sowie einen zweiten Multiplexer aufweist, der in Abhängigkeit
von der Information des am anderen Eingang des ersten Multiplexers (224, 225) anliegenden ersten
Feldes ein Steuersignal zur Auswahl eines bestimmten Registers (126) erzeugt (F i g. 9).
4. Datenverarbeitungsanlage nach einem der Ansprüche 1—3, dadurch gekennzeichnet, daß das
Ausführungssteuerteil (118) eine Vielzahl von Feldern aufweist, um mit dem Mikroprogramm eine
Zuordnung zur Änderung der Kombination der Speichereinheiten (128, 129, 130) in Abhängigkeit
vom Betriebszustand der jeweiligen Speichereinheiten vorzunehmen.
5. Datenverarbeitungsanlage nach einem der Ansprüche 1—4, dadurch gekennzeichnet, daß die
zweite logische Wandlerschaltung (133) nur dann eine logische Umwandlung vornimmt, wenn das
dritte Feld des aus dem Mikroprogramm ausgelesenen Befehls die Adresse des Datenregisters oder
Adressenregisters angibt.
6. Datenverarbeitungsanlage nach einem der Ansprüche 1—5, dadurch gekennzeichnet, daß eine
Vielzahl von arithmetischlogischen Einheiten (127, 241, 242), die jeweils eine Adressenberechnung für
die Speichereinheiten vornehmen, sowie eine Multiplizierschaltung (243) vorgesehen sind.
7. Datenverarbeitungsanlage nach einem der Ansprüche 1 —6, dadurch gekennzeichnet, daß jede
Speichereinheit folgende Baugruppen aufweist:
einen ersten Multiplexer (235), der mit einem Eingang an eine Datensammelleitung und mit einem anderen Eingang an ein Register der Registerdatei (126) angeschlossen ist;
einen ersten Multiplexer (235), der mit einem Eingang an eine Datensammelleitung und mit einem anderen Eingang an ein Register der Registerdatei (126) angeschlossen ist;
ein internes Datenregister (232), das an den Multiplexer (235) angeschlossen ist und die an den
Multiplexer abgegebenen und von diesem erhaltenen Daten speichert;
ein Speicherfeld (231), das an das interne Datenregister (232) angeschlossen ist und die von und zu dem
internen Datenregister (232) übertragenen Daten speichert;
ein internes Adressenregister (233), das an das Speicherfeld (231) angeschlossen ist und die
Adressen der von und zu dem Speicherfeld (231) übertragenen Daten speichert;
einen zweiten Multiplexer (236), der an das interne Adressenregister (233) angeschlossen ist und selektiv
eine im internen Adressenregister gespeicherte Adresse liefert; und
eine Steuerung (234), die den Betrieb von internem Datenreeister (232), internem Adressenregister (233) ι ο
und Speicherfeld (231) steuert
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3480778A JPS54127653A (en) | 1978-03-28 | 1978-03-28 | Data processor |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2912287A1 DE2912287A1 (de) | 1979-10-04 |
DE2912287B2 DE2912287B2 (de) | 1981-03-26 |
DE2912287C3 true DE2912287C3 (de) | 1981-11-19 |
Family
ID=12424481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2912287A Expired DE2912287C3 (de) | 1978-03-28 | 1979-03-28 | Datenverarbeitungsanlage |
Country Status (5)
Country | Link |
---|---|
US (1) | US4314333A (de) |
JP (1) | JPS54127653A (de) |
DE (1) | DE2912287C3 (de) |
GB (1) | GB2017361B (de) |
NL (1) | NL7902367A (de) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4450525A (en) * | 1981-12-07 | 1984-05-22 | Ibm Corporation | Control unit for a functional processor |
US4577282A (en) * | 1982-02-22 | 1986-03-18 | Texas Instruments Incorporated | Microcomputer system for digital signal processing |
US5854907A (en) * | 1982-02-22 | 1998-12-29 | Texas Instruments Incorporated | Microcomputer for digital signal processing having on-chip memory and external memory access |
JPS58195265A (ja) * | 1982-05-10 | 1983-11-14 | Sony Corp | マイクロコンピユ−タ |
US4680701A (en) * | 1984-04-11 | 1987-07-14 | Texas Instruments Incorporated | Asynchronous high speed processor having high speed memories with domino circuits contained therein |
US4761755A (en) * | 1984-07-11 | 1988-08-02 | Prime Computer, Inc. | Data processing system and method having an improved arithmetic unit |
US4704680A (en) * | 1984-08-15 | 1987-11-03 | Tektronix, Inc. | Address computation system for updating starting addresses of data arrays in an array processor within an instruction cycle |
JP2748359B2 (ja) * | 1986-08-01 | 1998-05-06 | 株式会社日立製作所 | 並列プロセッサシステムおよび並列プロセッサによる複数の命令列の実行方法 |
DE3786330T2 (de) * | 1986-11-27 | 1993-11-25 | Nippon Telegraph & Telephone | Paralleldatenverarbeitungsvorrichtung und -verfahren. |
JPS63170736A (ja) * | 1987-01-09 | 1988-07-14 | Toshiba Corp | マイクロプロセツサ |
US4912636A (en) * | 1987-03-13 | 1990-03-27 | Magar Surendar S | Data processing device with multiple on chip memory buses |
US5099417A (en) * | 1987-03-13 | 1992-03-24 | Texas Instruments Incorporated | Data processing device with improved direct memory access |
US6704895B1 (en) * | 1987-06-02 | 2004-03-09 | Texas Instruments Incorporated | Integrated circuit with emulation register in JTAG JAP |
US6522985B1 (en) | 1989-07-31 | 2003-02-18 | Texas Instruments Incorporated | Emulation devices, systems and methods utilizing state machines |
US5329471A (en) * | 1987-06-02 | 1994-07-12 | Texas Instruments Incorporated | Emulation devices, systems and methods utilizing state machines |
US6085336A (en) * | 1987-06-02 | 2000-07-04 | Texas Instruments Incorporated | Data processing devices, systems and methods with mode driven stops |
US5684721A (en) * | 1987-09-04 | 1997-11-04 | Texas Instruments Incorporated | Electronic systems and emulation and testing devices, cables, systems and methods |
US5535331A (en) * | 1987-09-04 | 1996-07-09 | Texas Instruments Incorporated | Processor condition sensing circuits, systems and methods |
US4991078A (en) * | 1987-09-29 | 1991-02-05 | Digital Equipment Corporation | Apparatus and method for a pipelined central processing unit in a data processing system |
JP2986104B2 (ja) * | 1988-03-15 | 1999-12-06 | 株式会社東芝 | 情報処理装置の自己試験回路 |
US5805792A (en) * | 1989-07-31 | 1998-09-08 | Texas Instruments Incorporated | Emulation devices, systems, and methods |
US5203002A (en) * | 1989-12-27 | 1993-04-13 | Wetzel Glen F | System with a multiport memory and N processing units for concurrently/individually executing 2N-multi-instruction-words at first/second transitions of a single clock cycle |
JPH06103599B2 (ja) * | 1990-11-16 | 1994-12-14 | 三菱電機株式会社 | 半導体集積回路装置 |
JPH09212411A (ja) * | 1996-02-06 | 1997-08-15 | Tokyo Electron Ltd | メモリシステム |
US20040098568A1 (en) * | 2002-11-18 | 2004-05-20 | Nguyen Hung T. | Processor having a unified register file with multipurpose registers for storing address and data register values, and associated register mapping method |
US20070134063A1 (en) * | 2005-12-14 | 2007-06-14 | Shaw And Sons, Inc. | Dowel device with closed end speed cover |
JP6500461B2 (ja) * | 2015-02-02 | 2019-04-17 | 日本電気株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3462741A (en) * | 1966-07-25 | 1969-08-19 | Ibm | Automatic control of peripheral processors |
US3748451A (en) * | 1970-08-21 | 1973-07-24 | Control Data Corp | General purpose matrix processor with convolution capabilities |
US3943495A (en) * | 1973-12-26 | 1976-03-09 | Xerox Corporation | Microprocessor with immediate and indirect addressing |
US4041466A (en) * | 1976-01-19 | 1977-08-09 | Dynamics Research Corporation | Multi-axis encoder processing and display system |
US4038533A (en) * | 1976-09-29 | 1977-07-26 | Allen-Bradley Company | Industrial control processor system |
US4101960A (en) * | 1977-03-29 | 1978-07-18 | Burroughs Corporation | Scientific processor |
-
1978
- 1978-03-28 JP JP3480778A patent/JPS54127653A/ja active Granted
-
1979
- 1979-03-20 US US06/022,353 patent/US4314333A/en not_active Expired - Lifetime
- 1979-03-21 GB GB7909929A patent/GB2017361B/en not_active Expired
- 1979-03-27 NL NL7902367A patent/NL7902367A/xx unknown
- 1979-03-28 DE DE2912287A patent/DE2912287C3/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS54127653A (en) | 1979-10-03 |
GB2017361A (en) | 1979-10-03 |
US4314333A (en) | 1982-02-02 |
DE2912287A1 (de) | 1979-10-04 |
NL7902367A (nl) | 1979-10-02 |
JPS5744175B2 (de) | 1982-09-20 |
DE2912287B2 (de) | 1981-03-26 |
GB2017361B (en) | 1982-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2912287C3 (de) | Datenverarbeitungsanlage | |
DE2540975C2 (de) | Datenverarbeitungseinrichtung zur Ausführung mehrerer gleichzeitig ablaufender Prozesse | |
DE2113890C2 (de) | Zentrale Verarbeitungseinrichtung für Datenverarbeitungsanlagen | |
DE2355993C3 (de) | Programmierbare Datenverarbeitungsanlage | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE1901343C3 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
CH634939A5 (de) | Kanaldatenpufferanordnung in einer datenverarbeitungsanlage. | |
DE2354521A1 (de) | Verfahren und einrichtung zum gleichzeitigen zugriff zu verschiedenen speichermoduln | |
DE1269393B (de) | Mikroprogramm-Steuerwerk | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE1929010B2 (de) | Modular aufgebaute datenverarbeitungsanlage | |
DE1549480A1 (de) | Datenverarbeitungsanlage | |
DE1499730A1 (de) | Einrichtung zur Speicherauswahl | |
DE1115488B (de) | Datenverarbeitungssystem | |
DE2935101C2 (de) | ||
DE2846054C2 (de) | Schaltungsanordnung zur Erweiterung des Adressierungsvolumens einer Zentraleinheit, insbesondere eines Mikroprozessors | |
DE2522343C3 (de) | Anordnung zur Steuerung Von Verfahrensabläufen | |
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
DE2233193B2 (de) | Stapel-Speichersystem | |
DE2403669C3 (de) | SpezialComputer | |
DE2558417A1 (de) | Datenverarbeitungssystem | |
DE1499224C3 (de) | Datenverarbeitungsanlage mit Kellerspeichereinrichtungen | |
DE2632277A1 (de) | Mikroprogrammierbarer computer fuer eine numerische steuervorrichtung | |
DE3207057C2 (de) | ||
DE1774421B1 (de) | Mehrprogramm datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAP | Request for examination filed | ||
OD | Request for examination | ||
C3 | Grant after two publication steps (3rd publication) | ||
8328 | Change in the person/name/address of the agent |
Free format text: HENKEL, G., DR.PHIL. FEILER, L., DR.RER.NAT. HAENZEL, W., DIPL.-ING., PAT.-ANW., 8000 MUENCHEN |
|
8320 | Willingness to grant licences declared (paragraph 23) | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: KABUSHIKI KAISHA TOSHIBA, KAWASAKI, KANAGAWA, JP |
|
8339 | Ceased/non-payment of the annual fee |