DE2753062C2 - Einrichtung zur wiederholten Durchführung von Programmschleifen - Google Patents
Einrichtung zur wiederholten Durchführung von ProgrammschleifenInfo
- Publication number
- DE2753062C2 DE2753062C2 DE2753062A DE2753062A DE2753062C2 DE 2753062 C2 DE2753062 C2 DE 2753062C2 DE 2753062 A DE2753062 A DE 2753062A DE 2753062 A DE2753062 A DE 2753062A DE 2753062 C2 DE2753062 C2 DE 2753062C2
- Authority
- DE
- Germany
- Prior art keywords
- counter
- command
- instruction
- value
- memory
- 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
- 230000015654 memory Effects 0.000 claims description 54
- 239000011159 matrix material Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 101000860173 Myxococcus xanthus C-factor Proteins 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009415 formwork Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
Description
dadurch gekennzeichnet, daß
die Zähleranordnuiig (Ci bis CV) eine Mehrzahl
von Zählern aufweist, von dem;· jeweils ein Zähler einem Speicherregistcr (SWA bis SWD) und somit
einer Verschachtelungstiefe zugeordnet ist, daß die Steuereinrichtung eine Hinweisanordnung
(41 bis 43) aufweist, die die Verschachlclungstiefc aus dem Auftreten von ersten, bestimmten Befehlen
(LNC) und von Signalen (POP) ermittelt, und damit den der jeweiligen Verschachtelungstiefc entsprechenden
Zähler aus der Zähleranordnung (Ci bb C4) auswählt.
daß der durch die Hinweisanordnung (41 bis 43) ausgewählte Zähler gesteuert durch den ersten bestimmten
Befehl (LNC). der einen Sprungbefehl darstellt, den jeweils im Adressenteil dieses Befehls
(LNC) enthaltenen, die Anzahl der Durchlaufe durch einen Programmabschnitt festlegenden Wert ab- to
speichert,
daß eine Dekrementiervorrichtung vorgesehen ist, die durch den zweiten bestimmten Befehl (DCC) aus
dem Operationsteil eine Dekrcmenticrung des in dem jeweiligen Zähler gespeicherten Wertes um
eins durch UND-Glieder (46) bewirkt, daß eine Null-Detektoranordnung (AQ) vorgesehen
ist, die in Antwort auf den Wert des jeweiligen Zählers und den zweiten, bestimmten Befehl (DCC) ein
erstes Ausgangssignal erzeugt, wenn der dekremen- mi tierte Wert von Null verschieden ist, wobei eine dritte
Gatterschaltung (G 10 bis C 13) das erste Ausgangssignal
zur Steuereinrichtung (18, F i g. 1 ;49,44, 411 F i g. 4) überträgt, die die erste Gatteranordnung
(G 3) durchschallet, wodurch der erste Befehl der hl
Programmschleife in ilen Befehlszähler (10) übertrugen wird,
und daß die Null-Dutckloranordnung (AQ)^m /weites Ausgangssignal erzeugt, wenn der Wert des jeweiligen Zählers beim zweiten, bestimmten Befehl (DCC) Null ist, wobei die Steuereinrichtung (18 F i g. 1:49,44,411 F i g. 4) das Signal (POP) erzeugt, durch das die zuletzt in den Stapelspeicher (15) eingeschriebene Speicheradresse des ersten Befehls der Programmschleife aus dem Stapelspeicher (15) herausgeschoben wird.
und daß die Null-Dutckloranordnung (AQ)^m /weites Ausgangssignal erzeugt, wenn der Wert des jeweiligen Zählers beim zweiten, bestimmten Befehl (DCC) Null ist, wobei die Steuereinrichtung (18 F i g. 1:49,44,411 F i g. 4) das Signal (POP) erzeugt, durch das die zuletzt in den Stapelspeicher (15) eingeschriebene Speicheradresse des ersten Befehls der Programmschleife aus dem Stapelspeicher (15) herausgeschoben wird.
Dic vorliegende Erfindung betrifft cine Einrichtung zur wiederholten Durchführung von Programmschleifin
nach dem Oberbegriff des Patentanspruchs.
Bei den meisten elektronischen Rechen- oder Datenverarbeitungsanlagen
muß man irgendwelche Instruktions- oder Programmschleifen durchführen. Beispielsweise
erfordert jedes iterative Verfahren solche Programmschleifen, d. h. die wiederholte Durchführung einer
Befehls- oder Operationsfolge. Bei Matrixrechnungen oder -manipüiaiionen, beispielsweise beim Lösen
simultaner Gleichungen, werden mehrere Schleifen oder wiederholte Programmfolgen während der Durchführung
des Programms benötigt. Ein weiteres Beispiel ist das Durchsuchen einer Tabelle; eine Gruppe von
Speicherplätzen kann einen sequentiellen Zugriff unter Verwendung des gleichen Satzes von Befehlen zur Prüfung
gewisser Kriterien erfordern.
Programmschleifen müssen gewöhnlich als Teil des Programmes in die.^s, also in die sog. »Software« eingebaut
werden. Dabei bedient man sich bestimmter Befehle zur Festlegung der Anzahl der Wiederholungen einer
Schleife, und andere Befehle, welche an geeigneten Stellen
im Programmablauf eingebaut sind, prüfen die Iterationswerte unter Durchführung von Verzweigungsbefchlcn
auf Grund der geprüften Werte. Der Iterationswert oder die Schleifenzahl oder -nummer kann bei jedem
Durchlaufen der Schleife erniedrigt oder erhöht werden. Wenn anfänglich dieGesanv.iihl der Schleifenwicderholungen
in einem entsprechenden Zähler gespeichert wird, verringert man den Zählerinhalt bei jedem
Durchlaufen der Schleife und prüft auf den Wert null. Ein derartiges Verfahren ist beispielsweise aus der
DE-PS 11 80 171 bekannt. Wenn der Zähler anfänglich
auf null eingestellt wird, erhöht man den Zählwert bei jedem Durchlaufen der Schleife und man prüft dann auf
die insgesamt gewünschte Anzahl von Schleifenwiederholungcn.
Bei den meisten modernen Computern werden für die Schleifensteuerung mindestens zwei Befehle benötigt,
nachdem der Itcrationswcrt bzw. die Iterationszahl in einem geeigneten Speicherplatz oder einem Mehrzweckregister
gespeichert worden ist. Ein Befehl dient zum Verringern des im Register gespeicherten Wertes
am F.nde des Schlcifcndurchlaufes und zum Festsetzen
von Bcdicnungscodc, die davon abhängen, ob das Resultat der Verringerung des Wertes positiv, negativ oder
null ist. Ein Verzweigungsbefehl, der gewöhnlich als bedingte
Verzweigung bezeichnet wird, bestimmt auf der Basis des Bedingungscodc nach dem Wcrtevcrringerungs-
oder Dckrenicntbefchl. ob die Schleife erneut begonnen werden soll. Bei anderen Maschinen, wie der
KCA 501, ist ein Organisationsbefehl (beispielsweise ein
Tally- oder COBOI.-Bcfchl) vorgesehen, der das Zählwerulekrem'Mit.
die Prüfung und die Verzweigung bewirkt. Mil solchen Befehlen läßt sich die Anzahl der für
clic Durchführung von Programmschleifen erfordcrli-
hen Befehlen auf eins verringern.
Die Anzahl der Programmschleifen, die insgesamt lurchlaufen werden muß, ist gewöhnlich ziemlich groß.
>ie erhöht sich bei verschachtelten Schleifen, also bei
Schleifen, die innerhalb anderer Schleien durchlaufen werden müssen, noch mehr. Bei der Manipulation mehriimensionaler
Systeme muß für jede Dimension des Syitems gewöhnlich mindestens eine verschachtelte
Schleife durchgeführt werden. Manchmal sind mehr Schleifen zu durchlaufen als Dimensionen vorhanden
sind, wie unten anhand eines Beispiels erläutert wird. Bei einer dreidimensionalen Matrix mit einer Breite von
10 Wörtern sind zur Bearbeitung jeder Zelle des Systems oder der Anordnung 1000 Iterationen erforderlich.
Operationen, wie das System auf Anfangs-Null-Werte einzustellen, können hinsichtlich des Befehlsbedarfes
recht aufwendig sein, wenn es auf die Verarbeitungsgesehwindigkeit
ankommt. Eine Multiplikation zweier Matrizen aus zehn mal zehn Werten erfordert ebenfalls 1000 Schleifenwiederholungen. Beim Multiplizieren
zweier Matrizen mil zwanzig mal zwanzig Werten
müssen insgesamt 8000 Programmschleifen duiehlaufen
werden.
Aus der US-PS 33 48 211 ist eine Anordnung bekannt,
die einen eine Mehrzahl von Speicherregistein aufweisenden
Stapelspeicher besitzt, in den in Ausführung von jeweils am Beginn einer Programmschleife stehenden
bestimmten Befehlen die Speicheradresse des gerade in Ausführung befindlichen Befehls aus einem Befehlszähler
sequentiell einspeicherbar ist. Durch einen am Ende einer Programmschleife stehenden bestimmten Befehl
wird bewirkt, daß die zuletzt im Stapelspeicher gespeicherte Speicheradresse zum Befehlszähler geliefert
wird. Die Aufgabe der vorliegenden Erfindung besteht darin, eine Einrichtung zur Durchführung programmierter
Befehle anzugeben, durch die bei der Durchführung von mehreren ineinander verschachtelten Unterprogrammschleifen
der Befehlsaufwand verringert und dadurch die Arbeitsgeschwindigkeit erhöht werden kann.
Diese Augabe wird durch eine wie eingangs bereits erwähnte Einrichtung zur Durchführung programmierter
Befehle gelöst, die durch die in dem kennzeichnenden Teil des Patentanspruchs angegebenen Merkmale
gekennzeichnet ist.
Ein wesentlicher Vorteil der vorliegenden Erfindung besteht darin, daß die Schleifensteutrbcfehlc durch spezielle
Schaltungsmaßnahmen (»Hardware«) ersetzt werden.
Im folgenden wird die Erfindung im Zusammenhang mit den Figuren näher erläutert. Es zeigt
Fig. 1 ein Logikschallbild eines Teiles einer elektronischen
Rechen- oder Datenverarbeitungsanlage nach einem Ausführungsbeispiel der Erfindung;
F i g. 2a und 2b Schaltungen von Verknüpfungsschaltwerken, auf die bei der Erläuterung einer bevorzugten
Ausführungsiorm der Erfindung Be/.ug genommen wird;
F i g. 3 ein Schaltbild einer Spalte eines Vier- Register-LIFO-Stapelspeichers;
Fig.4 ein Schaltbild eines Teiles einer Steuerschaltung,
die bei einem Ausführungsbeispiel der erfindungsgemäßen Einrichtung Verwendung findet;
F i g. 5 eine graphische Darstellung eines typischen
Programmes für eine Matrixmultiplikation; und
F i g. 6 eine graphische Darstellung der Arbeitsweise
einer Einrichtung gemäß der Erfindung bei einer Matrixmultiplikation.
Die in F i g. 1 dargestellte Einrichtung enthält einen Befehlszähler 10, der auch als Befehlsadressenregister
bezeichnet werden kann und für die Aufnahme von Adressen von einer Speicheradressenschiene 11, einer
Speicherdaienschiene 12 oder einem Stapelregister 15 geschaltet ist. Die Information von der Speicherdatenschiene
IZ die mit einem nichtdargestellten Speicherdalenregister
gekoppelt ist, ist ferner einem Befehlsregister 14 zuführbar. Das Befehlsregister 14, das auch als
Befehlsausführungsregister bezeichnet werden kann,
ίο enthält zwei Teile. Der erste Teil OP enthält den Operationscode
und der zweite Teil »Address« enthält die OperatioRsadresse oder Bezeichnung des Befehls, der
durchgeführt wird. Das Befehlsregister 14, der Befehlszähler 10, die Speichcradressenschiene 11 und die Speicherdatenschienc
12 sowie eine Steuereinrichtung 18 sind in irgendeiner Form in elektronischen Datenverarbeitungs-
und Rechengeräten- oder -anlagen vorhanden.
Die Erfindung wird im folgenden am Beispiel eines »Ein Adresbcnw-Computers beschrieben. Bei einem solchen
Computer enthält jeder Befeh; ;iinen Operationscode, der die durchzuführende Operati >n angibt, und
einen Adressencode, der die Speicheradresse eines Operanden oder ein Literal enthält. Ein Literal ist ein
Binärwori, das als Sofortoperand, Konstantenwert oder Bezeichner für eine spezielle Operation dient. Bei Befehlen,
die zwei Operanden erfordern, wie den arithmetischen Befehlen, ist die Binärzahl in einem Akkumulator
der zugehörige zweite Operand.
Die Einrichtung arbeitet normalerweise wie folgt: Die Adresse im Befehlszähler 10 wird durch ein Torsignal
G 1 auf die Speicheradressenschiene 11 übertragen. Die
Adresse wird dem Adressenregister eines Speicherwerks und einem Schienenaddierer zugeführt. Der
Zweck des Schienenaddierers besteht darin, den Inhalt des Programmzählers um einen vorgegebenen Wert zu
erhöhen oder zu erniedrigen. Gewöhnlich wird der Befehlszählerwcrt erhöht, daß anschließend die Adresse
des nächsten Befehls adressiert wird. Ein Beispiti eines
Schienenaddierers ist z. B. in der US-PS 33 72 382 beschrieben. Der geänderte Wert vom Schienenaddierer
wird von der Adressenschiene 11 durch ein Torsignal G 2 wieder zurück in den Befehlszähler 10 übertragen.
Die Daten, die in dem durch den Befehlszähler 10 adressierten
Speicherplatz gespeichert sind, werder» in das Speichcrdatenregistcr und auf die Speicherdatenschienc
12 übergeführt und im Befehlsregister 14 gespeichert, was durch ein Steuersignal G 5 bewirkt wird. Der
Operationscode im Befehlsregister 14 wird decodiert und liefert geeignete Steuersignale von der Steuereinrichtung
18.
Die oben beschriebene Folge von Vorgängen wird gewöhnlich als Abrufzyklus oder Befehlsübernahme bezeiennet.
Hieran schließen sich ein oder mehrere Ausführungs/yklen
an. Die Konfiguration der Steuereinrichtung 18 hängt vom Befehlsrepertore der betreffenden
Datenverarbeitungsanlage ab. Der Steuereinrichtung 18 werden außer dem Operationscode noch mehrere
andere Ein^angssignalc zugeführt, was jedoch in
ω der Zeichnung nicht im einzelnen dargestellt ist. Beispielsweise
wird der Steuereinrichtung 18 ein Resultatsignal für das vorherige Resultat zugeführt, das anzeigt,
ob der Wert im Akkumulator negativ. Null oder positiv ist. Ein bedingter Verzweigungsbefehl gibt an, ob eine
h5 Prüfung oder Prüfungen durchzuführen sind. Wenn das
Ergebnis der Prüfung positiv (richtig) ist, wird der
Adressentcii im Befehlsregister 14 durch ein Steuersignal
C 4 in den Befehlszähler 10 übertragen. Wenn also
der Operationscode anzeigt, daß eine Prugrammvcrzweigung
zu dem durch den Adressenteil des Befehls bezeichneten Speicherplatz stattzufinden hat, wenn der
Inhalt des Akkumulators gleich Null ist, erzeugt die Kombination aus dem Signa! vom Opcrationsdecodie- ι
rer und dem Zustand des dem Wert Null entsprechenden Resultatsignals das Steuersignal G 4.
Um die Durchführung von Schleifenbcfehlen zu erleichtern,
enthält die in Fig. I dargestellte Logikschaltung
außerdem einen Keller- oder Stapelspeicher 15 in und eine Zähleranordnung 17. Ein Keller- oder Stapelspeicher
ist ein Stapel oder eine Folge von Registern, in denen die Information nach unten (»Push«) oder nach
oben (»Pop«) übertragen oder transportiert werden kann. Derartige Speicher werden manchmal auch als
Ablagespeicher oder LIFO-Register bezeichnet, wobei die letzterwähnte Bezeichnung bedeutet, daß die zuletzt
gespeicherte Information beim Lesen als erstes wieder äüs den-, Speicher cnir.cmme:; wird. Beim Abiagespeichern
wird das oberste Register, das als Stapclworl-A-Speicher-Register
(SWA) bezeichnet werden soll, auf den Wert der über eine SWA-Eingangslcitung SWA
EIN zugeführten Signale eingestellt. Die vorher in dem Speicher-Register SWA enthaltene Adresse wird in das
zweite Speicher-Register des Stapelspeichers übcrtra- .?■;
gen, das als Stapelwort-B-Speicher-Rcgistcr SWB bezeichnet werden soll und dessen vorheriger Inhalt in das
dritte Speicher-Register, das Stapelwort-C-Spciehcr-Register
SWC übertragen wird. Der vorherige Inhalt des Speicher-Registers SWC wird in das vierte Speicher-Register
übertragen, das als Stapelwort-D-Spcicher-Register SWD bezeichnet werden soll und dessen
vorheriger Inhalt verlorengeht. Beim Lesen oder Abfragen wird der Inhalt von SWB in SWA übertragen, der
Inhalt von SWC in SWB und der Inhalt von SWD in r> SWC. Der Inhalt von SWD wird durch diese Operation
nicht beeinfluß!. Der Inhalt des .Speicher-Registers
SWA erscheint als Ausgangssignal SWA AUS des Stapelspeichers.
Bevor im einzelnen auf die Konstruktion eines gccigneten
Stapelspeichers, der in der oben beschriebenen Weise arbeitet, eingegangen wird, soll ein verwendetes,
spezielles Symbol erläutert werden. Dieses Symbol ist in F i g. 2(b) dargestellt und die Operation der durch dieses
Schaltungssymbol dargestellten Schaltung entspricht der der in F i g. 2(a) dargestellten Schaltungsanordnung.
Zwei Paare von Eingangssignalen werden also entsprechenden UND-Gliedern 21 und 22 zugeführt, deren
Ausgangssignale ein ODER-Glied 23 steuern. Das Ausgangssignal des ODER-Gliedes 23 wird einer D-Eingangsklemme
ekios Flipflops 24 zugeführt. Wenn einer
Taktklemme Cdes Flipflops 24 ein Taktsignal zugeführt wird, speichert das Flipflop einen Wert D entsprechend
der Gleichung:
D = AB + EF.
d. h. wenn A und B oder E und F richtig sind, wird das
Flipflop 24 gesetzt. (Wie üblich werden die Richtig-Werte der UND-Verknüfpung vor den Richtigwerten der t>o
ODER-Verknüpfung bestimmt). Das in F i g. 2(b) dargestellte Flipflop 25 wird gesetzt, wenn die gleichen Eingangsbedingungen
wie bei F i g. 2a vorliegen.
In F i g. 3 ist ein Logikschaltbild einer einzelnen Spalte
eines Stapelspeichers dargestellt, der in der oben er- hi
läuterten Weise arbeitet und bei einer Einrichtung gemäß der Erfindung verwendet werden kann. Für jedes
Bit im Befehlszähler 10 (Fig. 1) ist eine solche Spalte
vorgesehen. Die Schallungsanordnung gemäß F i g. 3 enthalt vier Flipflops 31 bis 34. Beim Auftreten eines
Steuersignals PUSH, das »Speichern« bedeutet, werden das ITipflop 31 auf den Wert des Signals auf der Eingangslcitung
SWA-EIN, das Flipflop 32 auf den vorher im Flipflop 31 gespeicherten Wert, das Flipflop 33 auf
den vorher im Hipflop 32 gespeicherten Wert und das Flipflop 34 auf den vorher im Flipflop 33 gespeicherten
Wert gesetzt. Das Steuersignal PUSH tastet ferner ein ODF.R-Glicd 36 auf. das das Taktsignal für jedes der
Flipflops 31 bis 34 liefert. Ein Steuersignal POP, das einen Lese- oder Endspeicherbefehl darstellt, liefert
wieder ein Taktsignal über das ODER-Glied 36 und verschiebt die gespeicherten Werte vom Flipflop 32 in
das llipflop 31, vom Flipflop 33 in das Flipflop 32 und vom Flipflop 34 in das Flipflop 33. Das Ausgangssignai
SWA-AUS des Flipflops 31 steht auf einer entsprechenden Ausgangslcitung zur Verfugung.
Bri der Einrichtung gemäß F i g. 1 kann der Inhalt des
Befehlszählers 10 also durch ein Speicherkommando in den Stapelspeicher 15 geschoben werden und der Inhalt
des Speicher-Registers SWA kann durch das Steuersignal G 3 im Befehlszähler 10 eingestellt werden. Die
Leitungen zwischen dem Stapelspeicher 15 und dem Befehlszähler 10, d.h. die Leitungen SWA-AUS und
SWA-EIN sind Sammelleitungen oder Schienen, die jeweils
dnc Ader für jedes Bit im Befehlszähler 10 enthalten.
Der Zähler 17 enthält vier Zählcranordnungen C1 bis
("4 die jeweils einem Platz im Registerstapel des Stapelregisters 15 entsprechen. Beispielsweise ist dem Stapelwort
A eine Zählanordnung C1 zugeordnet, dem Stapclwort
B eine Zähleranordnung C2 usw. Anfänglich wird der Inhalt jeder Zählanordnung durch Steuersignalc
Gb bis G 9 auf den Wert im Adressenteil des
Befehlsregisters 14 eingestellt. Jede Zähleranordnung hat ferner einen Signalcingang zum Verringern oder
Dekrcmenticren des Zählerinhalts und am Ausgang jeder Zählanordnung ist ein Null-Detektor vorgesehen.
Der Ntilldclcklor kann einfach durch eine UND-Verknüpfung der Ausgangssignale von den verschiedenen
Stufen der zugehörigen Zählanordnung oder m X) für
einen ni-slufigcn Zähler realisiert werden. Das Nullausgangssignal
jeder Zähleranordnung wird durch Steuersignale G 10 bis G 13 zur Steuereinrichtung 18 durchgeschleust.
Ks ist /war möglich. Befehle vorzusehen, um die einzelnen
Zähleranordnungen in dem Zähler 17 individuell unter Steuerung durch das Programm einzustellen, eine
automatische Steuerung der Zähleranordnung wird jedoch vorgezogen und liefert dasselbe Ergebnis. Γ i g. 4
zeigt ein Schaltbild eines Teiles der Einrichtung 17, die für die Verwendung als automatisches Zählerhinweislogikschaltwcrk
geeignet ist. Die Steuereinrichtung 17 enthält einen Zähler 41 mit dem Bereich 4, der in bekannter
Weise als zweistufiger Ripple-Vorwärts-Rückwärls-Zähler
realisiert werden kann und Eingangssignale an einen Eins-Aus-Vier-Dccodierer 42 liefert. Die
Ausgangslcitungen des Dccodierers 42 geben an, welehe Zählanordnung die gerade benötigte Zähleranordnung
ist. Ein erster bestimmter Befehl, wie »Nächste Zähleranordnung beschicken« (LNC) kann verwendet
werden, um den Stapelspeicher automatisch zu beschikken
(PUSH) und den Zähler 41 für die nächste Schleife einzustellen. Der Zähler 41 wird anfänglich auf den
Wert Null (Binär 00>) eingestellt, so daß ein erster bestimmter
Befehl LNC ein Steuersignal G 6 von einem UND-Glied 43 erzeugt. Das Steuersignal G 6 schleust in
δι
F i g. I den Adressenteil des Befehls im Befehlsregister
14 in die Zähleranordnung Cl. In einem /./VC-Bcfchl
besteht die Befehlsadresse aus einem Wert, der die Anzahl der SchleifenJurchläufc oiler -Wiederholungen angibt,
die beginnend bei der Adresse durchzuführen sind, welche durch den i-A/C'-Befehl im Stapelspeicher gespeichert
wird. Da der Befehlszähler IO inkremeniiert wordoHst, wird der erste Schlcifcnbefehl derjenige Befehl
sein, der auf den LNC-Befehl folgt. Ein im Schaltwerk
gemäß Fig.4 vorgesehenes Vcrzögerungselcment 45 gestattet eine Beschickung ier Zähleranordnung,
bevor der Bcreich-vier-Zähler 41 auf den
nächst höheren Zählwert wcitergeschaltet wird, in diesem Beispiel auf Oh, entsprechend der Zähleranordnung
C 2. Das verzögerte LA/C-Signal erzeugt ferner
ein Speicherbefehlsignal für den Stapelspeicher 15 (Fig. 1).
Ein zweiter bestimmter Befehl, wie »laufenden Zähler dckrcmcniicrer! und prüfen« (DCC) mach", einen •Sat-'
von UND-Gliedern für die Dekrcmentierung der laufenden Zähleranordnung ansprechbereit. Die zu dckrementierende
Zähleranordnung, d. h.die »laufende« Zähleranordnung ist immer die Zähleranordnung, die zuletzt
beschickt worden ist. Die Steuerung oder Durchschleusung ist daher so ausgebildet, daß das Speicherregister,
das durch den Zähler 41 minus Eins bezeichnet wird, durch den Befehl dekremcntiert wird. Bei diesem
Beispiel wird, da die Zähleranordnung CI (entsprechend dem Zählwert OOj) beschickt worden war, ein
Dekrementsignal D1 durch das UND-Glied 46 erzeugt,
das ^urch das Ausgangssignal Oh vom Decodierer 42
aktiviert wird. Durch ein Verzögcrungselcmcnt 47 wird ein Zeitintervall vorgesehen, das eine Stabilisierung des
Zählerwertes nach dem Dekrementsignal gestattet und dann das Null-Ausgangssignal von den Null-Detektoren
(mit einem der Steuersignale C IO bis G 13) an die Steuereinrichtung 18 durchschleust. Das Steuersignal C 10
entspricht dem eben dekrementierten Zähler. Die Ausgangssignale
der Null-Detektoren werden einem ODER-Glied 49 zugeführt, das ein Ausgangssignal des
Wertes Eins abgibt, wenn die geprüfte Zähleranordnungauf
Null steht.
Nach einem weiteren, kurzen Zeitintervall, das durch
ein Verzögerungselement 48 eingeführt wird, um den Signallaufzeiten in den Tor- oder Verknüpfungsschaltungen
Rechnung zu tragen, werden die UND-Glieder 410 und 411 durch das den zweiten bestimmten Befehl
DCC ansprechbereit gemacht. Wenn die geprüfte Zähleranordnung auf Null steht, wird das UND-Glied 410
aufgetastet und der Stapelspeicher wird abgefragt (POP). Der Abrufzyklus bewirkt dann einen Abruf des
nächsten Befehls der Folge, der durch den Inhalt des Befehlszählers 10 (Fig. 1) bezeichnet wird. Wenn der
Inhalt der geprüften Zähleranordnung nicht Null ist, wird das Ausgangssignal des Werts Null vom ODER-Glied
49 durch einen Inverter 44 invertiert und tastet das UND-Glied 411 auf. Das Ausgangssignal des UND-Gliedes
411 ist das Steuersignal GX das wie Fig. 1 zeigt, das Stapeispeicherwort A in den Befehlszähler 10
schleust Dies bewirkt, daß das Programm zum Anfangspunkt der laufenden Schleife zurückkehrt. Wenn in der
beschriebenen ersten Schleife eine zweite Schleife verschachtelt ist, wird der Befehl LNC bei der eben beschriebenen
Schaltungsanordnung offensichtlich die Anzahl der Wiederholungen der verschachtelten Schleife
in der Zähleranordnung C2 mit dem Steuersignal G 7 einstellen. Der nächste Befehl DCC wird die Zähleranordnung
C2 zurückschallen und prüfen, wobei jedesmal υοζ
die Befühle der verschachtelten Schleife durchgeführt
werden, bis der Zählerstand Null ist, worauf dann der
Befehl PC)P den Zähler 41 zurückschaltet, so daß er die /ähleranordniing CI bezeichnet.
ι Die obige lirliiuiming erfolgte im Zusammenhang
mit dem speziellen /X1C-Befehl »Beiehl dekrcincntieren
und Zähler prüfen«, in der l'nixis wird dieser Befehl
DCC jedoch nicht wirklich benötigt. Für die Angabe der Dekrement- und Zählerprüffunktion kann nämlich ein
I» spezieller Bereich oder ein spezielles Bit in jedem Befehlswort
verwendet werden. So kann z. B. in jedem Befehlswort ein besonderes Bit vorgesehen sein, das,
wenn es einen bestimmten Wert hat, den DCC-Befehl erzeugt, nachdem der Befehl ausgeführt worden ist, so
daß bei der Beendigung des Befehls eine Dekrementierung, Prüfung und anschließende Übertragung ohne die
Verwendung eines weiteren Befehles durchgeführt werden können.
F i g. 5 zeigt als Beispiel für verschachtelte Schleifen,
2n wie eine spezielle Mairixmultiplikation unter Steuerung
durch ein entsprechendes Programm durchgeführt werden kann. Wenn die Anzahl der Zeilen in einer ersten
Matrix A gleich L ist und die Anzahl der Spalten in einer zweiten Matrix B gleich M ist, so hat die Ausgangs- oder
Ergebnismatrix eine Dimension mit L Zeilen mal M Spalten. Die Konstante N bedeutet Anzahl der Spalten
der Matrix A und die Anzahl der Zeilen der Matrix ß, da diese bei einer MatrixmuUiplikation gleich sein müssen.
Die Elemente der Ergebnismatrix Csind dann durch den folgenden Ausdruck gegeben:
Σβ'
Jr- 1
Ί, 2...,L und = 1, 2 ,A/.
Bei dem Vcrfahrensablaufdiagramm gemäß Fig.5
für den Multiplikationsalgorithmus wird /anfänglich auf den Wert Eins eingestellt. Als nächstes wird der Wert
von / auf Eins eingestellt. Dann wird der anfängliche Wert des Resullaielements auf Null eingestellt und K
wird auf den Wert Eins eingestellt. Anschließend wird das Resultatelement c„ inkrementiert, indem zu ihm das
Produkt der Elemente ;i,t und bi, addiert wird, dann
wird K geprüft um festzustellen, ob es gleich /V ist oder nicht. Beim negativen Ausfall der Prüfung wird K um
Eins vergrößert und die Inkrcmentierung des Resultatelemcnts
wird wiederholt, dies jedoch wegen der Änderung von K mit anderen Elementen a,* und b. Wenn de;r
Wert von K den Wert N erreicht, wird der Wert / geprüft, um festzustellen, ob er gleich L ist oder nicht.
Wenn die Prüfung negativ ausfällt, wird / um Eins vergrößert, das neue Resultatelemenl q, wird auf Null eingestellt
und der Wert von K wieder auf Eins eingestellt. Mit dem neuen Wert von / wird dann das Resultatelement
für jeden Wert von K in der verschachtelten Schleife erhöht. Wenn /seinen Maximalwert L erreicht,
wird J auf seinen Maximalwert M geprüft. Wenn / nicht gleich M ist, wird es um Eins vergrößert, / wird dann
wieder auf Eins eingestellt und die beiden inneren ver-
bo schachtelten Schleifen für jeden Wert von J wiederholt.
Wenn j den Wert M erreicht, ist die Matrixmultiplikation beendet. Da K die Werte 1 bis N für jeden Wert von
/ annimmt, stellen die inneren beiden Schleifen insgesamt L ■ N Wiederholungen dar, die für jeden Wert von
b5 I von Eins bis M einmal ausgeführt werden. Bei dem
Programm gemäß F i g. 5 ist also die Anzahl der Schleifenwiederholungen gleich dem Produkt M-N-L
F i g. 6 zeigt, wie sich dieser Algorithmus durch die
Funktion der in Fig. 1 beispielsweise dargestcstcllten
Schaltungsmaßnahmen ändert. Der erste Befehl, d. h. der Befehl LNC, bewirk! die Speicherung des Wertes M
und der zweite Befehl LA/Cstcllt den Wert von L ein. In
diesem Falle bewirkt der erste Befehl LNCdie Speicherung
des Wertes von M in der Zählanordnung Cl,
was durch den Adressenteil des Befehls angegeben wird. Dies bewirkt, d?Q die Adresse des nächsten Befehls im
Befehlszähler 10 in das Stapelregistcr 15 als Stapclspcicherwort
A eingespeichert wird. Der nächste Befehl, in ebenfalls ein LA/C-Befehl, bewirkt das Speichern des
Wertes L im zweiten Zähler C2 und bewirkt das Einspeichern
des Inhaltes des Befehlszählers 10 in das Stapelregister 15. Die durch den zweiten LNC-Bcfehl in das
Stapelregister 15 eingeschobene Befehlsadresse bc- r> zeichnet den Platz eines Befehls, welcher den Wert eines
Cy speichernden Register- oder Speicherplatzes auf Null
stellt. Der nächste Befehl stellt die dritte Zahleranordnung C3 auf den Wert N ein und bewirkt, dall die
Adresse des nächsten Befehls vom Befehlszähler iö in zo
das Stapelregister 15 geschoben wird. Dieser nächste Befehl bewirkt die Multiplikation a,t, ■ £>*,. Der nächste
Befehl addiert das resultierende Produkt zum gegenwärtigen Wert ei), der durch die Summe ersetzt wird.
Der Additionsbefehl hat beispielsweise in der letzten Stelle ein Bit eines Wertes, das die erwähnte DCC-Funktion
veranlaßt, so daß K durch den Wert K - I ersetzt wird und eine Prüfung erfolgt, ob AC gleich Null
ist. Wenn K nicht gleich Null ist, wird das Stapclspcicherwort A, das den Multiplikationsbefehl (a,n ■ i>t,)cnihält,
vom Speicherregister SWA in den Befehlszähler 10 übertragen. Die Multiplikation- und Additionsbcfehlc
laufen also weiter, bis die dritte Zählanordnung C3 auf Null zurückgeschaltet ist. Wenn K gleich Null ist.
werden die Inhalte des Stapclregisters nach oben gc- r> schoben (POP) und beim nächsten Befehl wird der Wert
/ geprüft. Da der Wert / in der zweiten Zähleranordnung C2 ais nächstes zu prüfen ist, kann ein Befehl
NOOP verwendet werden mit einem letzten Bit, das so eingestellt ist, daß die laufende Zählanordnung nun
die zweite Zähleranordnung C2 geprüft wird. Der Befehl NOOP'isl ein Befehl, der keine Operation veranlaßt,
er wird lediglich übernommen. Da die Information im Stapelregister nach oben geschoben worden war, ist der
nächste Befehl, der vom Speicher-Register SWA in den v>
Befehlszähler 10 (F i g. 1) durchgeschleust wird, derjenige Befehl, der das Resuliatelcmcnt o, auf Null einstellt.
Auf diesen Befehl folgt der Befehl LNC, um die dritte Zähleranordnung C3 auf den Wert N einzustellen. Dies
bewirkt.wieder eine Speicherung im .Stapelregistcr 15 vt
und die innere Schleife wird in der oben beschriebenen Weise durchlaufen, bis der Wert von / gleich Null geworden
ist. Ein weiterer Befehl NOOP, dessen letztes Bit einem DCC-Befehl entspricht, bewirkt die Prüfung
der ersten Zähleranordnung Cl auf den Wert Null. Wenn die Zähleranordnung nicht auf Null steht, wird
der Inhalt des Speicher-Registers SWA des Stapelregisters, also der Befehl, der die zweite Zähleranordnung
Cl auf den Wert von L einstellt, in den Befehlszähler
übertragen. Es erfolgt eine Speicherung im Stapelregi- bo
ster (PUSH) und die inneren beiden Schleifen werden wiederholt. Wenn der Wert von / den Wert Null erreicht,
wird das Stapelregister gelesen (POP) und das Programm geht weiter.
Den Befehlen kann jeweils ein weiteres Bit angefügt μ
werden, um zusätzliche Zähleranordnungen zu bezeichnen, die zu prüfen sind, nachdem die laufende Zählcranordnung
auf den Wert Null geschaltet worden ist. Für vier Stapclspcichcrwörtcr und vier Zähleranordnungen
können vier Bits angefügt werden, um anzugeben, daß wenn die laufende Zähleranordnung auf Null stchl. das
Stiipclrcgislcr zu lesen ist (POP) und daß die nächste
Zählcriinordnung zu clekrcmcnlicren sowie zu testen ist.
usw. Die Nützlichkeit dieser Maßnahme ergibt sich aus dem Beispiel des Algorithmus, der durch das Ablaufdiagramm
in !■' i g. 6 dargestellt ist.
Hierzu 3 Blatt Zeichnungen
Claims (1)
- Patentanspruch:Einrichtung zur wiederholten Durchführung von Programmschleifen mit einem Befehlszähler zum Speichern der Speicheradresse eines Befehls, wobei der Befehlszählerinhah zur Festlegung der Adresse des folgenden Befehls erhöht werden kann,mit einem Befehlsregister, das einen aus einem Operationsteil und einem Adressenteil bestehenden Befehl aufnimmt,mit einer eine Taktanordnung enthaltenen Steuereinrichtung zur Erzeugung von Steuersignalen in Auswertung des Inhalts des Befehlsregisters, und mit einem Stapelspeicher, der eine Mehrzahl von Speicherregistern aufweist, in diein Ausführung von ersten, jeweils am Beginn einer Programmschleife stehenden, bestimmten Befehlen die Speicheradressen der gerade in Ausführung befindlichen Befehle aus dem Befehlszähler sequentiell einspeicherbar sind, wobei dem Stapelspeicher eine durch einen zweiten am Ende einer Programmschleife stehenden bestimmten Befehl gesteuerte erste Gatterschaltung zugeordnet ist, die die zuletzt gespeicherte Speicheradresse zum Befehlszähler liefern kann, und mit einer Zählanordnung, in der die Anzahl der Durchläufe der Programmschleifen abgelegt ist, wobei dieser Wert bei jedem Durchlauf der Programmschleife dekrementiert wird, jo
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/749,971 US4097920A (en) | 1976-12-13 | 1976-12-13 | Hardware control for repeating program loops in electronic computers |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2753062A1 DE2753062A1 (de) | 1978-06-15 |
DE2753062C2 true DE2753062C2 (de) | 1984-10-18 |
Family
ID=25015990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2753062A Expired DE2753062C2 (de) | 1976-12-13 | 1977-11-28 | Einrichtung zur wiederholten Durchführung von Programmschleifen |
Country Status (6)
Country | Link |
---|---|
US (1) | US4097920A (de) |
JP (1) | JPS5374331A (de) |
DE (1) | DE2753062C2 (de) |
FR (1) | FR2373829A1 (de) |
GB (1) | GB1560147A (de) |
IT (1) | IT1088638B (de) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54149439A (en) * | 1978-05-16 | 1979-11-22 | Nippon Telegr & Teleph Corp <Ntt> | Sequence control circuit |
JPS54149438A (en) * | 1978-05-16 | 1979-11-22 | Nippon Telegr & Teleph Corp <Ntt> | Sequence control circuit |
US4309753A (en) * | 1979-01-03 | 1982-01-05 | Honeywell Information System Inc. | Apparatus and method for next address generation in a data processing system |
US4296470A (en) * | 1979-06-21 | 1981-10-20 | International Business Machines Corp. | Link register storage and restore system for use in an instruction pre-fetch micro-processor interrupt system |
US4279016A (en) * | 1979-06-21 | 1981-07-14 | International Business Machines Corporation | Instruction pre-fetch microprocessor interrupt system |
US4379328A (en) * | 1979-06-27 | 1983-04-05 | Burroughs Corporation | Linear sequencing microprocessor facilitating |
US4292667A (en) * | 1979-06-27 | 1981-09-29 | Burroughs Corporation | Microprocessor system facilitating repetition of instructions |
US4481608A (en) * | 1979-12-26 | 1984-11-06 | Varian Associates, Inc. | Reentrant asynchronous FIFO |
US4375676A (en) * | 1979-12-26 | 1983-03-01 | Varian Associates, Inc. | Feedback FIFO for cyclic data acquisition and instrument control |
US4462074A (en) * | 1981-11-19 | 1984-07-24 | Codex Corporation | Do loop circuit |
US4463422A (en) * | 1982-07-12 | 1984-07-31 | Csp, Inc. | Method of processing an iterative program loop |
EP0100804A1 (de) * | 1982-08-12 | 1984-02-22 | Universite De Bordeaux I | Verfahren zum Zusammenbringen von logischen Referenzeinheiten und logischen Einheiten einer Datei |
JPS59128670A (ja) * | 1983-01-12 | 1984-07-24 | Hitachi Ltd | ベクトル処理装置 |
JPS607536A (ja) * | 1983-06-24 | 1985-01-16 | Mitsubishi Electric Corp | 情報処理装置 |
JPS60132242A (ja) * | 1983-12-20 | 1985-07-15 | Matsushita Electric Ind Co Ltd | プログラム制御装置 |
FR2557712B1 (fr) * | 1983-12-30 | 1988-12-09 | Trt Telecom Radio Electr | Processeur pour traiter des donnees en fonction d'instructions provenant d'une memoire-programme |
US4727483A (en) * | 1984-08-15 | 1988-02-23 | Tektronix, Inc. | Loop control system for digital processing apparatus |
US4783736A (en) * | 1985-07-22 | 1988-11-08 | Alliant Computer Systems Corporation | Digital computer with multisection cache |
US4794521A (en) * | 1985-07-22 | 1988-12-27 | Alliant Computer Systems Corporation | Digital computer with cache capable of concurrently handling multiple accesses from parallel processors |
JPS6341932A (ja) * | 1985-08-22 | 1988-02-23 | Nec Corp | 分岐命令処理装置 |
US4652997A (en) * | 1985-11-27 | 1987-03-24 | Motorola, Inc. | Method and apparatus for minimizing overhead when executing nested do loops |
JPS62180427A (ja) * | 1986-02-03 | 1987-08-07 | Nec Corp | プログラム制御回路 |
GB2187577B (en) * | 1986-03-07 | 1989-11-15 | Stc Plc | Digital computer systems |
EP0374419A3 (de) * | 1988-12-21 | 1991-04-10 | International Business Machines Corporation | Verfahren und Anordnung zur wirkungsvollen Errichtung von Schleifen in Hardware und Mikrokodierung |
JP3102027B2 (ja) * | 1990-11-20 | 2000-10-23 | 日本電気株式会社 | ループ制御のネスティング管理機構 |
FR2693572B1 (fr) * | 1992-07-13 | 1994-09-30 | Texas Instruments France | Système de traitement de données comportant un dispositif amélioré de traitement des boucles de programme. |
WO1994002894A2 (en) * | 1992-07-13 | 1994-02-03 | Texas Instruments France | Data-processing system with a device for handling program loops |
JPH07200292A (ja) * | 1993-12-28 | 1995-08-04 | Mitsubishi Electric Corp | パイプライン式プロセッサ |
US5664167A (en) * | 1995-03-27 | 1997-09-02 | Delco Electronics Corporation | Microprogrammed timer processor having a variable loop resolution architecture |
US5727194A (en) * | 1995-06-07 | 1998-03-10 | Hitachi America, Ltd. | Repeat-bit based, compact system and method for implementing zero-overhead loops |
US5828875A (en) * | 1997-05-29 | 1998-10-27 | Telefonaktiebolaget Lm Ericsson | Unroll of instructions in a micro-controller |
EP1039375A1 (de) * | 1999-03-19 | 2000-09-27 | Motorola, Inc. | Verfahren und Vorrichtung zur Durchführung von Schleifen mit kleinem Verwaltungsaufwand |
US6766445B2 (en) * | 2001-03-23 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | Storage system for use in custom loop accelerators and the like |
US7991984B2 (en) * | 2005-02-17 | 2011-08-02 | Samsung Electronics Co., Ltd. | System and method for executing loops in a processor |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3297999A (en) * | 1963-08-26 | 1967-01-10 | Burroughs Corp | Multi-programming computer |
US3328763A (en) * | 1963-10-01 | 1967-06-27 | Monroe International Inc | Electronic desk-type computer |
US3348211A (en) * | 1964-12-10 | 1967-10-17 | Bell Telephone Labor Inc | Return address system for a data processor |
US3366929A (en) * | 1964-12-30 | 1968-01-30 | Ibm | Computing system embodying flexible subroutine capabilities |
US3546677A (en) * | 1967-10-02 | 1970-12-08 | Burroughs Corp | Data processing system having tree structured stack implementation |
US3593306A (en) * | 1969-07-25 | 1971-07-13 | Bell Telephone Labor Inc | Apparatus for reducing memory fetches in program loops |
US3593313A (en) * | 1969-12-15 | 1971-07-13 | Computer Design Corp | Calculator apparatus |
US3736567A (en) * | 1971-09-08 | 1973-05-29 | Bunker Ramo | Program sequence control |
US3868644A (en) * | 1973-06-26 | 1975-02-25 | Ibm | Stack mechanism for a data processor |
JPS535140B2 (de) * | 1973-07-11 | 1978-02-24 | ||
JPS5069946A (de) * | 1973-10-24 | 1975-06-11 | ||
JPS518829A (de) * | 1974-07-09 | 1976-01-24 | Hitachi Ltd | |
US3988717A (en) * | 1975-08-06 | 1976-10-26 | Litton Systems, Inc. | General purpose computer or logic chip and system |
-
1976
- 1976-12-13 US US05/749,971 patent/US4097920A/en not_active Expired - Lifetime
-
1977
- 1977-11-15 GB GB47519/77A patent/GB1560147A/en not_active Expired
- 1977-11-18 FR FR7734808A patent/FR2373829A1/fr active Granted
- 1977-11-21 IT IT29864/77A patent/IT1088638B/it active
- 1977-11-21 JP JP13979277A patent/JPS5374331A/ja active Granted
- 1977-11-28 DE DE2753062A patent/DE2753062C2/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
FR2373829A1 (fr) | 1978-07-07 |
JPS5374331A (en) | 1978-07-01 |
GB1560147A (en) | 1980-01-30 |
FR2373829B1 (de) | 1982-02-05 |
JPS618451B2 (de) | 1986-03-14 |
DE2753062A1 (de) | 1978-06-15 |
US4097920A (en) | 1978-06-27 |
IT1088638B (it) | 1985-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2753062C2 (de) | Einrichtung zur wiederholten Durchführung von Programmschleifen | |
DE3424962C2 (de) | ||
DE2724125C2 (de) | ||
DE3210816C2 (de) | ||
DE69738188T2 (de) | Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE1146290B (de) | Elektronisches Datenverarbeitungssystem | |
DE3732808A1 (de) | Verfahren und vorrichtung zum erzeugen und bearbeiten von unterbrechungspunkten in einem monitorprogramm | |
DE2910839A1 (de) | Einrichtung zur ausfuehrung einer speziellen verzweigungsinstruktion | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE1285219B (de) | Steuerwerk zur Ausfuehrung von Unterprogrammen | |
DE3507584C2 (de) | ||
DE3043653A1 (de) | Datenverarbeitungsanlage | |
EP0134831A1 (de) | Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung | |
WO1995010803A1 (de) | Prozessor für zeichenketten variabler länge | |
DE2617485C3 (de) | Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen | |
DE1524114C3 (de) | Adreßrecheneinrichtung für eine Datenverarbeitungsanlage | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2658950A1 (de) | Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben | |
DE1774421B1 (de) | Mehrprogramm datenverarbeitungsanlage | |
DE2759120A1 (de) | Prozessor fuer datenverarbeitungssysteme | |
DE3535215C2 (de) | ||
DE1499286B2 (de) | Datenbearbeitungsanlage | |
DE3104256C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAP | Request for examination filed | ||
OD | Request for examination | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |