DE2125688A1 - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

Publication number
DE2125688A1
DE2125688A1 DE19712125688 DE2125688A DE2125688A1 DE 2125688 A1 DE2125688 A1 DE 2125688A1 DE 19712125688 DE19712125688 DE 19712125688 DE 2125688 A DE2125688 A DE 2125688A DE 2125688 A1 DE2125688 A1 DE 2125688A1
Authority
DE
Germany
Prior art keywords
instruction
counter
processing system
state
data processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19712125688
Other languages
English (en)
Inventor
Juliaan Leo Gerard Olmen Peirsman Mathien Adnen Roger Antwerpen Janssens, (Belgien)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Standard Electric Corp
Original Assignee
International Standard Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Standard Electric Corp filed Critical International Standard Electric Corp
Publication of DE2125688A1 publication Critical patent/DE2125688A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Description

Patentanwalt
Dipl.-Phys. Leo Thul
J .Janssens 1-2
INTERNATIDNAL STANDARD ELECTRIC CORPORATION, NEVi YORK
Datenverarbeitungsanlage
Die Erfindung betrifft eine Datenverarbeitungsanlage mit einem Speicher zur Speicherung einer Anzahl Instruktions-"Wörter, von denen ein Typ eine Adresse oder Teiladresse eines anderen zu verarbeitenden Instruktionswortes enthält. ·
Ein derartiger Instruktionsworttyp ist beispielsweise der Sprung zu einem Unterroutine-Instruktionswort. Wenn ein solches Instruktionswort verarbeitet wird, wird die Adresse des nächsten Ins trukt ionswor.t es eines Haupt programmes, welche von einem Programmzähler abgegeben wird, generell im ersten Platz gespeichert, der der Unterroutine im Speicher der Anlage zugehört. Die Adresse dieses Speicherplatzes ist dabei gleich' der Adresse oder von derjenigen Adresse abgeleitet, die im Sprung zum Unterroutine-Instruktionswort gespeichert ist. Zur gleichen Zeit wird die Programmsteuerung auf den zweiten Speicherplatz der Unterroutine gelenkt. Die letzte Instruktion dieser Unterroutine besteht in einem Rücksprung zum ersten Speicherplatz, um die Rückkehr zum Hauptprogramrn und zu einer Adresse zu ermöglichen, die in diesem Platz nach Ausführung der Unterroutine gespeichert wird.
Ein Sprung zu einem Unterroutine-Instruktionswort ermöglicht es einem Programmierer, vom normalen Programmabfluß abzuweichen, der durch den Programmzähler bestimmt ist. Dieser lh.Mai 1971
te -/-
109850/1654
Programmzähler schaltet einen Schritt vorwärts, wenn jeweils eine Instruktion befolgt worden ist. Dadurch wird .der Platz des nächsten Instruktionswortes angezeigt. Durch einen derartigen Sprung wird auch die Wiederholung der"gewöhnlich benutzten Programmfolgen vermieden, und es ist auf diese V/eise leicrter, Änderungen im Hauptprogramm einzuführen und verschiedenen Leuten die Produzierung eines großen Programms zu ermöglichen. Darüberhinaus ist bei nur einmaligem Durchlauf der Unterroutine, der sogenannten geschlossenen Routine, die Platzersp.ranis im Speicher wichtig, und zwar um so wichtiger, je langer die Unterroutine ist. Wenn jedoch die Unterroutine sehr kurz ist, wird der kleine Betrag an zusätzlichem Speicherplatz, der zum Eintritt in die Unterroutine und zum Verlassen der Unterroutine gebracht v/ird, vergleichbar mit dem Betrag an Speicherplatz, der für die Unterroutine selbst benötigt wird. Manchmal ist es dann vorteilhafter, eine Kopie davon einzufügen, wo immer es im Speicher des Hauptprogramms, das ist die sogenannte offene Unterroutine, erforderlich ist. Dagegen kann im allgemeinen die geschlossene Unterroutine vorteilhafter als die offene Unterroutine inbezug auf den benötigten Speicherplatz sein, und es kann dan ihbezug auf die Verarbeitungszeit unvorteilhaft sein, in das Hauptprograrnm einzutreten oder dieses zu verlassen.
Ein anderer Typ eines Instruktionswortes ist das Vollzugsinstruktionswort, welches zu einer Unterroutine mit einer Einzelinstruktion führt. Statt daß bei der Abzweigung auf eine andere Instruktionsfolge gesteuert wird, führt die normale Instructions folge die Steuerung durch. Wenn einmal diese einzelne Instruktion vollzogen ist, dann wird die nächste Instruktion in der normalen Instruktionsfolge befolgt. Das Verfahren mit Vollzugsinstruktionen ist verschiedentlich angewendet worden, z-.B. dort, wo es nicht wünschenswert ist, die in gewissen Teilen des Speiehers gespeicherten Instruktionen zu ändern oder wo es Verkettungen zwischen einem Hauptprogramm und gewöhnlichen Unterroutineprogrammen gibt. Der Vorteil der Vollzugsinstruktion besteht
109 850/1654
darin, daß keir. zusätzlicher Platzbedarf im Speicher auftritt und diese Instruktion.während eines kurzen Zeitintervalls vollzogen werden kann, z.3. während eines Basiszyklus der Datenverarbeitungsanlage. Die bekannte Vollzugsinstruktior ist. jedoch auf dem Vollzug einer einzigen Instruktion beschränkt.
Die Aufgabe der Erfindung besteht daher darin., eine Daten- . verarbeiten-sarilage der eingangs genannten Art zu schaffen. welche die Verarbeitung einer Anzahl Instruktionen schneller ■ als r.it der geschlossenen Unterroutine und wirtschaftlicher als :r.i": der offener, Unterroutine erlaubt, soweit der Speicherplatzbedarf betroffen ist. Dies vrird gemäß der Erfindung dadurch erreicht, daß der genannte Instruktionsworttyp für die Ausführung einer durch einen Instruktionszähler angeseigten Anzahl von Instruktionen vorgesehen ist, wobei die die genannte Adresse aufweisende Instruktion die erste der Anzahl von Instruktionen ist, und daß Mittel vorgesehen sind, die den Instruktionszähler jeweils um einen Schritt zurückstellen, wenn eine Instruktion der Anzahl von Instruktionen vollzogen wird.
Dieses Instruktionswort, welches irr, folgenden Vielfachvollzugsinstruktior.swort oder kurz Vielfachwort genannt wird, sorgt für die genannten Vorteile der Geschwindigkeit und der Speicherplatz-Wirtschaftlichkeit, wobei nur wenige zusätzliche Einrichtungen notwendig werden. Das Vielfachwort kann wie das einzelne Vollzugsinstruktionswort in einem Zyklus der Datenverarbeitungsanlage verarbeitet werden.
Kurz gesagt, die Erfindung befaßt sich mit einer Datenverarbeitungsanlage, bei der Vielfachvollzugsinstrukticnswörter in einem Speicher dieser Anlage eingespeichert sind. Jedes Yielfachwort weist die Anzahl der Instruktionen, die in einer anzufertigenden Instruktionsfolge eingebettet sind, und die Adresse der ersten Instruktion in dieser Folge auf.
109850/1654 "/"
BAD ORIGINAL
■ J.Janssens 1-2
Wenn ein solches Vielfachwort verarbeitet wird, wird diese Anzahl in einem Instruktionszähler registriert, der Inhalt des gewöhnlichen Programmzählers in einem Kurzzeitspeicher gespeichert und der Vollzug der ersten, bei der vorgegebenen · Adresse liegenden Instruktion gestartet. Während der Ausführung jeder solchen Instruktion wird der Zähler um einen Schritt zurückgestellt; während der Ausführung der letzten Instruktion wird der Inhalt des Kurzzeitspeichers zum Programmzähler zurückübertragen.
Die Erfindung wird nun anhand eines Ausführungsbeispiels näher beschrieben:
Fig.l zeigt ein Blockschaltbild einer Datenverarbeitungsanlage gemäß der Erfindung,
Fig.2 zeigt die zur Steuerung dieser Datenverarbeitungsanlage verwendeteten Impulse.
Die Datenverarbeitungsanlage in Fig.l wird durch einen Speicher MEM, eine Recheneinrichtung AU und eine Steuereinrichtung CU gebildet.
Die Recheneinheit AU weist ein Pufferregister M für 16 Bit, welches dem Speicher MEM zugeordnet und mit diesem gekoppelt ist, ein Speicherplatz-Register Y für 16 Bit , einen Programmzähler P für 16 Bit zur Speicherung der Adresse einer vollzogenen oder zu vollziehenden Instruktion und ein Register E für 16 Bit zur Speicherung des Speicherplatzes einer Vielfachvollzugsinstruktion EXE auf, wobei die Ausführung einer Instruktionsfolge abläuft, welche durch diese Vielfachvollzugsjnstruktion gestartet worden ist.
Die Steuereinrichtung U weist ein Register F für 7 Bit zur Speicherung des Öperationscodes einer Instruktion/mit dem Register F verbundene und zur Decodierung des Operations-
V-
109850/1654
codes geeignete Decodierer DECl und DEC2, eine durch UND-• Schaltungen Gl, G2 und G7 gesteuerte bistabile Schaltung BEXT, einen durch bistabile Schaltungen BKSO und BKSl gebildeteten und durch die zugeordneten UND-Schaltungen QiJ) bis G7 gesteuerten Zähler KS mit vier Positionen, ferner UND-Schaltungen G8 bis GlO, ein Phasenregister BR aus bisfeabilden^chaltuifen BPCY, BlCY, BACY, BBCY und einer UND-Schaltung GIl, einen Grundtaktgeber MC und eine Zeitschaltung T-LG auf. Die bistabile Schaltung BPCY wird durch die UND-Schaltung GIl gesteuert, und die Zeitschaltung TLG wird durch den Grundtaktgeber MC gesteuert.
Die UND-Schaltung G7 und der Grundtaktgeber MC steuern die UND-Schaltungen Gl bis G6. Die UND-Schaltung G8 steuert die UND-Schaltungen G12.00 bis G1215, die die Register P und E miteinander verbinden. Die UND-Schaltung G9 steuert die UND-Schaltungen GI5OO bis G1315* die zusammen mit den ODER-Schaltungen MlOO bis Ml-15 das Register Y und den Programmzähler P mit einander verbinden. Die UND-Schaltung GlO steuert die UND-Schaltung Gl1KDO bis G1415, die zusammen mit den ODER-Schaltungen MlOO bis MI.I5 und das Register E einerseits mit dem Programmzähler P und andererseits mit dem Register Y verbinden. Das Register Y hat auch Zugang zum Speicher MEM. Das Regteter M hat Zugang zum Register Y über die ODER-Schaltungen-M200 bis M215. Es sei darauf hingewiesen, daß nur die Verbindungen zwischen den Registern und dem Programmzähler und dem Speicher, die zum Verständnis der Erfindung nötig sind, gezeigt worden sind.
Die Datenverarbeitungsanlage ist so beschaffen, daß sie jede im Speicher MEM gespeicherte Instruktion in minimal einem und in maximal 4 aufeinander folgenden Grundzyklen · ausführt, die jeweils eine Dauer von beispielsweiße einer Mikrosekunde haben* Während jedes dieser Grundzyklen be-
1 09850/ 1654
J.Janssens 1-2
findet sich eine entsprechende der bistabilen Schaltungen BPCY, BiCY, BACY. und BBCY des Phasenregisters PR im 1-Zustand,-wobei jede bistabile Schaltung einem Zyklus zugeordnet ist und am Ende jedes vorhergehenden Zyklus in den 1-Zustand und bei Beginn des zugeordneten Zyklus in den 0-Zustand gesteuert wird.
Der am 1-Ausgang einer bistabilen Schaltung im 1-Zustand erzeugte Impuls ist ein Zyklusimpuls PCYP, ICYP, ACYP, BCYP von einer Mikrosekunde Dauer, wie es in Fig*2 gezeigt ist. Während jedes Zyklusimpulses werden 4 aufeinanderfolgende Zeitimpulse COl bis C04 mittels der Zeitschaltung TLG erzeugt, wobei jeder Zeitimpuls eine Dauer von 250 Nanosekunden hat. Jeder Zeitimpuls beginnt am Ende eines MC-Impulses von 50 Nanosekunden.Iauer und endet am Ende des sofort darauffolgenden MC-Impulses, der 200 Nanosekunden nach dem unmittelbar vorhergehenden Impuls durch den Grundttaktgeber MC erzeugt wird.
Während jedes letzten Zyklus einer Instruktion wird ein sogenannter Instruktionsende-Impuls EOIP (Fig.2, linke gestrichelte Linie) in einer nicht gezeigten Torschaltung erzeugt. Dieser Impuls wird zum Starten eines ersten Zyklus einer folgenden Instruktion verwendet. Dieser erste Zyklus wird im folgenden Abrufzyklus genannt. Die bistabile Schaltung BPCY wird durch ein Signal SlI in den 1-Zustand gebracht, welches durch die BOOLEscfoa UND-Punktion SIl= EOIP·T04fMC dargestellt werden kann und am Ausgang der UND-Schaltung GIl am Ende des letzten Zyklus auftritt. Die bistabile Schaltung BF€Y wird in nicht dargestellter Weise zu Beginn eines folgenden Zyklus in den O-Zustand zurückgestellt. Die anderen bistabilen Schaltungen B|CY> BACY, BBCY sind fürdäie vorliegende Erfindung nicht von Interesse und werden daher im einzelnen nicht behandelt.
Die bistabilen Schaltungen BEXT, BKSO und BKSl haben 1-Aus-
10985071664 ,
gänge und 0-Ausgänge, die mit EX?,KSO, KSl und WT, KSÖ.KsT bezeichnet sind. Der 1-Ausgang der bistabilen Schaltung BPCY ist mit FCYP bezeichnet. Die UND-Schaltung GJ wird durch die Impulse EOIP und C0J5 gesteuert, so daß ein Signal, welches durch die BOOLEsche UND-rFunktion Ε0ΙΡ·Τ03 darges-teLlt werden kann, am Ausgang dieser UND-Schaltung G7 erzeugt wird. Die UND-Schaltungen Gl bis G6 werden durch das Ausgangssignal der UND-Schaltung G7 und durch die genannten Impulse gesteuert. Die Ausgangssignale Sl bis S6 dieser UND-Schaltungen Gl bis G6 können durch die folgenden BOOLEsche Funktionen dargestellt werden:
Sl= E0IP-T05.EXE.MC
S2= EOIP-T03
= EOIP'TO3-KST*MC ^
S5= EOIP-TO^-FOö.lXf-fR?+ EOIP. T03 "KSO-MC S6= E0IP-T03-MC
In gleicher Weise können die an den Ausgängen der UND-Schaltungen Ge bis G9 auftretenden Ausgangssignale EP, YAT und EAG durch die folgenden SOOLEsShe- UND-Funktionen dargestellt werden:
EP = EXE-EXT-T03
YAD= EXE-T04
EAG= FCYP-EXT'fcSÖ'-KST-TOl
In dem in Fig.3 dargestellten Flußdiagramm kennzeichnen die Pfeile:" gespeichert oder registriert in'^z.B. bedeutet der von P zu E hinweisende Pfeil: "'der Inhaltwn P ist gespeichert in El1J Der Pfeil von N nach KS bedeutet: "die Zahl N ist gespeichert in KS1.1." Der Pfeil von A zu M,F bedeutet: 11O ist registriert in M und F", d.h. M und F sind zurückgestellt.
Im folgenden wird mit Bezug auf die Fig.l und 2 und auf
109850/1654 ./-
das Flußdiagramm in Fig.3 die Arbeitsweise der Datenverarbeitungsanlage im einzelnen beschrieben in Verbindung mit der Ausführung einer sogenannten VielfaGhvollzugsinstruktion EXE, welche dazu dient, die Ausführung einer Folge von mehreren Instruktionen zu starten.
Während der Ausführung des letzten Zyklus .der der betrachteten Instruktion unmittelbar vorausgehenden Instruktion wird das Lesen des Speichers MEM mittels einer Adresse χ veranlaßt, die im Register Y und im Programmzähler P gespeichert ist. Zu dem Zeitpunkt, in dem dieser letzte Zyklus endet, werden die Register M und F zurückgestellt und wird die bistabile Schaltung BFCY, die einem Abrufzyklus zugeordnet ist, durch das obengenannte, am Ausgang der UND-Schaltung Gil auftretende Signal SIl in ihren 1-Zustand gesteuert. Daher tritt am 1-Ausgang der bistabilen Schaltung BFCY ein Abrufzyklus-Impuls FCYP auf, und während dieses Abrufzyklusimpulses werden 4 aufeinanderfolgende Zeitimpulse TOl bis T04 durch die Zeitschaltung TLG erzeugt. Während des ersten Zeitimpulses TOl des Abrufzyklus wird die l6-Bit-Instruktion, die mittels der im Register Y gespeicherten Adresse χ im Speicher MEM adressiert worden ist, im Register M empfangen, und der 7-Bit-Operationscode dieser Instruktion wird in dem in der Steuereinrichtung CU enthaltenden Register F empfangen. Es sei angenommen, daß diese Instruktion durch den zuletzt erwähnten 7-Bit-Operationscode und durch eine 9-Bit-Adresse y' gebildet/f wobei der Operationscode selbst durch einen 5-Bit-Funktionscode F und durch eine 2-Bit-Nummer N gebildet ist. Dief-er 5-Bit-Funktionscode F und diese Nummer N werden in den Dekodierern DECl und DEC2 decodiert. Dabei werden einer der 3>2 Ausgänge des Decodierers DECl und einer der '4 Ausgänge EOO bis Eil des Decodierers DEC2 aktiviert. Es sei ar.genommen; daß der genannte Ausgang EXE und der Ausgang Eil aktiviert sind, wodurch angezeigt wird, daß die gelesene|lnstruktion eine Vic-lfachvollzugsinstruktinn
109850/16 54
J.Janssens 1-2
EXE ist, und daß eine Folge von 4 Instruktionen ausgeführt werden muß, wobei die Adresse y1 ein Teil der Adresse y der ersten Instruktion dieser Folge ist. Hierzu sei bemerkt, daß die Ausführung einer Vielfachvollzugsinstruktion nur einen Abrufzyklus erforderlich macht, so daß dieser Zyklus auch der letzte Zyklus ist und daß daher ein Impuls EOIP (Fig.2', ausgezogene Linie ) erzeugt wird. Der am Ende der vorhergehenden Instruktion erzeugte Impuls EOIP wird somit fortgesetzt. Zur Vereinfachung ist welter angenommen, daß die 4 Instruktionen der auszuführenden Instruktionsfolge .selbst nicht Vielfachvollzugsinstruktionen sind.
Die obengenannten Operationen sind imuFlußdiagramm in Fig.3 gezeigt, worin die den.Zeitimpulsen TOl bis T04 des Abrufzyklus zugehörigen Zeitintervalle mit FTOl bis FT04 bezeichnet siiäd. Hierzu sei bemerkt, daß, obwohl diese Zeitintervalle dieselbe Länge haben, diese nicht durch dieselben Längen dargestellt sind. ■
Da die bistabile Schaltung BEXT in ihrem O-Zustand ist, geschieht während des ersten Abrufzyklus-ZeitIntervalls FTOl nichts weiter.
Während des zweiten Zeitimpulses T02 des Abrufzyklus, d.h. während des Zeitintervalls FT02, wird der einen Teil der Vielfachvollzugsinstruktion EXE bildende und an den Plätzen 7 bis 15 des Registers M (M? bis M15 im Flußdiagramm) gespeicherte 9-Bit~Adr^sen«teil y1 an den Plätzen J bis 15 des Registers Y(Y7 bis Y15 im Flußdiagramm) gespeichert. In Fig.l ist diese Operation schematisch durch das Register M angedeutet, welches über die ODER-Schaltungen ' M200 bis M215 mit dem Register Y verbunden 1st. Gleichzeitig werden die Bits an den Plätzen Q-7 des Registers Y beispielsweise auf 0 (rieht gezeigt) zurückgestellt, um da-
1098 50/16BA
J.Janssens 1-2
durch die vollständige l6-Bit-Adresse y der ersten auszuführenden Instruktion zu bilden. Selbstverständlich kann jeder andere Adressenteil an die Plätze 0 bis 7 des Registers Y eingeschrieben wurden, um den Adressteil y1 zu ergänzen und eine vollständige Adresse y zu bilden.
Während des dritten Zeitimpulses TOJ des Abrufzyklus, d.h. während des Zeitintervalle PTOJ, wird die Adresse χ der im Programmzähler P gespeicherten VieSfachvollzugsinstruktion zum Register E über die ϊ6 UND-Schaltungen G1200 bis G1215 übertragen, welche durch das am Ausgang der UND-Schaltung Ge auftretende Signal EP = EXE-eTF.TOJ gesteuert werden.
Die bistabile Schaltung BEXT, welche eine sogenannte JK-Flip-Flop-Schaltung ist., wird ebenfalls in den !-Zustand gesteuert, da deren 1-Eingang und deren 0-Eingang gleichzeitig aktiviert sind. Dieser 1-Eingang wird durch das obengenannte Signal Sl = EOIP·TOJ·EXE«MC aktiviert. Der 0-Eingang wird durch das obengenannte Signal S2 = EOIP* TO J-KSl). KSl-MC aktiviert. Die bistabile Schaltung BEXT zeigt durch ihren 1-Zustand an- daß eine Vielfachvollzugs Instruktion ausgeführt werden soll. Gleichzeitig . mit der Steuerung in den 1-Zustand der bistabilen'BEXT werden die an den Plätzen 5 und 6 des Register F gespeicherten Bits :~~' im Zähler KS registriert. Diese durch P05 und F06 bezeichneten Bits werden, genauer gesagt, in den bistabilen Schaltungen BKSO und BKSl registriert. Da beide: Bits den V/ert 1 haben, werden beide genannten bistabilen-Schaltungen ir^ihren 1-Zustand gebracht., so daß der Zähler KS in seinem 11-Zustand am Ende dieser Operation ist:
a) die bistabile Schaltung BSKO wird in ihren !-Zustand gebracht, weil sowohl ihr 1-Eingang als auch ihr 0-Eingang durch die obengenannten Signale SJ = EOIP"TGJ* FO5·EXT· EXE-MC und S4 = EOIP-TOJ-iCST>MC aktiviert werden.
b) Die bistabile Schaltung BKSl wird in ihren 1-Zustand gebracht, weil sowohl ihr 1-Eingang als auch ihr 0-Eingang
1098 5.Q/16 54
J.Janssens 1-2
■ durch die obengenannten Signale S5 = EOIP-TOJ-FOo.EXT·EXE-MC (der zweite Teil von S5 ist Null) S6 = EOIP·TOJ-MC aktiviert werden.
Schließlich wird das Lesen des Speichers MEM mittels der im Register Y gespeicherten Adresse y der auszuführenden ersten 'Instruktion gestartet.
Während des vierten Zeitimpulses T04 des Abrufzyklus, d.h. während des Zeitintervalls FTO^, wird die im Register Y gespeicherte Adresse y im Programmzähler P über die UND-Schaltungen GI300 bis GI315 und über die ODER-Schaltungen MlOO bis MII5 registriert. Die zuletzt genannten UND-Schaltungen werden durch das am Ausgang der UND-Schaltung G9 auftretende genannte Signal YAD = EXE-T04 freigegeben.
Am Ende dieses vierten Zeitimpulses werden die Register M und F zurückgestellt (nicht gezeigt). Die bistabile Schaltung BFCY wird wieder in ihren 1-Zustand gebracht, d.h.in Wirklichkeit wird sie in ihrem eingestellten Zustand gehalten, und zwar mittels des am Ausgang der UND-Schaltung GIl auftretenden Signals SIl = EOIP-TO^-MC gehalten, so daß ein neuer Abrufzyklus begonnen wird.
Die genannten Operationen sind auf der Flußkarte (oben und links) klar dargestellt,und deshalb sind weitere Erläuterungen hierzu nicht notwendig.
Während des ersten Zeitimpulses FTOl des begonnen Abrufzyklus wird die erste l6-Bit-Instruktion, die im Speicher MEM mittels der im Register Y gespeicherten Adresse y adressiert worden ist# im Register M empfangen., und der 7-Bit-Operationscode dieser Instruktion wird im Register F der Steuereinrichtung CU gespeichert und in den Decodierern DECl und DEC2 decodiert.· Da der Zähler KS sich nifeht im O-Zustand befindet, geschieht während des ersten Zeitimpulses weiter nichts, wie aus dem
10985 0/1654
J.Janssens 1-2
Flußdiagramm entnommen v/erden kann.
Während des zweiten Zeitimpulses FT02 des Abrufzyklus wird der Abrufzyklus fortgesetzt, weil angenommen worden ist, daß die erste Instruktion keine Vielfachvollzugsinstruktion ist, d.h.,der Ausgang EXE des Decodierers DECl wird nicht aktiviert. Auf den genannten Abrufzyklus folgen ,ein oder mehrere andere Zyklen während der diese ,erste Instruktion ausgeführt wird. Dies ist'im einzelnen beschrieben, weil es für die Erfindung unwesentlich ist. Jedoch wird am Ende des dritten Zeitirnpulses TO3 des letzten Zyklus dieser ersten Instruktion (durch EOIP/TO3 im Flußdiagramm gezeigt), d.h., wenn ein Impuls EOIP erzeugt wird der Zähler KS um einen Schritt zurückgestellt und in seinen 10-Zustand gebracht, weil die bistabile Schaltung BKSl durch das am Ausgang der UND-Schaltung G6 auftretende Signal So = EOIP-TO^-MC in ihren O-Zustand gebracht worden ist. Auch bei Beginn des vierten Zeitinpulses T04 des letzten Zyklus wird der Programmzähler P um einen Schritt zurückgestellt, wo^-dureh er die Adresse y+1 der zweiten Instruktion der auszuführenden Folge anzeigt. Diese Adresse wird dazu benutzt, da£ Lesen des Speichers zu veranlassen nach^dem die Adresse in das Register Y übertragen worden ist. ■
In klassischer und nicht beschriebener Weise wird die zweite und die dritte Instruktion der 4 Instruktionen der Folge ausgeführt, und am Ende des Zeitimpulses TO3 des letzten Zyklus dieser Instruktionen wird jeweils der Zähler KS zurückgestellt und somit in seinen 01- und 00-Zustand auf folgende Weise gebracht:
a) der Zähler KS wird in den 01-Zustand gebracht. da die bistabile Schaltung BKSO durch das am Ausgang der UND-Schaltung G^: auf tretende Signal S4 = EOIP'TO^-KST-MC in ihren O-Zustand gebracht wird, und weil die bistabile
10 98 50/165 U ' . -/_
J.Janssens 1-2
Schaltung BKSl durch die an den Ausgängen der UND-Schaltungen •G5 und Go auftretenden Signale S5 = EOIP"TOJ-KSO-MC (der erste Teil von S5 ist Null) und S6 = EOIP-TO^-MC in ihren 1-Zustand gebracht werden;
b)der Zähler KS wird in den OO-Zustand gebracht, weil die bistabile Schaltung BKSl durch das am Ausgang der UND-Schaltung Go auftretende Signal S6 = EOIP-TO^-MC in ihren O-Zustand gebracht wird.
Der Zähler KS ist somit wieder in seinem OO-Zustand,bevor die letzte oder vierte Instruktion der Folge ausgeführt wird.
Auch am Beginn des vierten Zeitimpulses Tö4 des letzten Zyklus der zweiten und dritten Instruktion wird der Zähler P um einen Schritt zurückgestellt, womit er die Adressen y+2 und y+3 der dritten und vierten Instruktion anzeigt- Diese Adressen werden dann dazu benutzt, daß Lesen des Speichers zu beginnen, nachdem sie zum Register Y übertragen worden sind.
Während des ersten Zeitimpulses TOl des Abrufzyklus dieser letzten oder vierten Instruktion wird die Adresse χ der Vielfachvollzugsinstruktion, die zeitweise irn Register E gespeichert worden war, zum Register Y und zum Programmzähler P zurückübertragen, wie im Plußdiagramm dargestellt ist, weil die bistabile Schaltung BEXT sich im 1-Zustand und der Zähler KS sich im O-Zustand befinden. Diese Operation wird über die UND-Schaltungen Gl400 bis Gl4l5 und die ODER-Schaltungen M200 bis M215 und MlOO bis Ml15 vollzogen, wobei die UND-Schaltungen Gl400 bis GI500 durch das am Aus-"gang der UND-Schaltung GlO auftretende Signal EAG = KSO-KSl-PCYP'TOl'EXT freigegeben wird.
" Am Ende des ersten Zeitintervalls des Abrufzyklus der letzten auszuführenden Instruktion sind das Register Y und der Zähler P
10985071654
J. Janssens 1-2
im selben Zustand wie am Ende des ersten Zeitintervalls des Abrufzyklus der Vielfachvollzugsinstruktion.
Während des letzten Zyklus der letzten Instruktion wird die bistabile Schaltung BEXT in ihren O-Zustand zurückgestellt, wie es im Flußdiagramm dargestellt ist, und zwar durch das am Ausgang der UND-Schaltung G2 auftretende Signal S2 = EOIP·TO3·KSO·KS1, und der Programmzähler P wird um einen Schritt zurückgestellt, so daß das Hauptprogramm automatisch wieder bei der Adresse x+1 anfängt, nachden dieser letzte Zyklus ausgeführt worden ist.. Die bistabilen Schaltungen BFCY werden eingestellt, und die Register M und F werden zurückgestellt.
Es ist klar, daß bei der Anzeige der Instruktion EXE, daß nur eine einzelne Instruktion ausgeführt werden muß, der
Inhalt des Programmzählers P im Register E während des Abrufzyklus dieser Instrumion gespeichert und dann zum Programmzähler während des unmittelbar folgenden Abrufzyklus zurückübertragen wird. Obgleich diese Übertragung somit von keinem Nutzen ist, wird sie dennoch ausgeführt, damit dasselbe Programm für jeden Wert von N aufrechterhalten werden kann.
In dem oben beschriebenen Beispiel hat die Instruktion EXE die Zahl N von auszuführenden Instruktionen. Es ist selbstverständlich auch möglich, diese Zahl in einer anderen Instruktion einzusetzen, welche dann dazu benutzt werden würde, den Instruktionszähler KS vor dem Ausführen der EXE-Instruktion einzustellen. Statt die Nummer von Instruktion in der EXE-Instruktion oder in einer anderen Instruktion aufzunehmen, ist es auch möglich, eine EXE-Instruktion zu verwenden, welche automatisch die Zahl derjenigen Instruktionen ausführt, welche durch einen Zähler angezeigt werden, welcher sich in einer festen Position
109850/1654 -/-
befindet und welcher jedesmal in diese Position gebracht wird, beispielsweise durch die letzte Instruktion der Instruktionsfolge.
Es ist angenommen worden, daß keine Instruktion der Instruktionsfolge eine EXE-Instruktion ist. Diese Beschränkung ist jedoch nur deshalb eingeführt worden, um die Beschreibung zu vereinfachen. Es ist auch eine· Datenverarbeitungsanlage vorstellbar, in dem dies nicht der Fall ist.
109850/ 1 65

Claims (1)

  1. J.Jansεens 1-2
    Patent ans prUche
    QJDater.verarbeitur.gsanlage r.it einem i-peicher zur .r:r,otchc'-u<eir.er Anzahl Instruktionsviürtc-r, vor. denen ein Typ eine Adresse Qfler Teiladresse eines anderen zu verarbeitenden Tnstruktioriswortes enthält, dadurch gekennzeichnc t f daß der genannte Instruktionsworttyp (EXE) für die Ausführung einer durch einen Instruktionszähler (KS) angezeigter. Anzahl von Instruktionen vorgesehen ist, wobei die die gerannte Adresse aufweisende "Instruktion die erste der Anzahl vor. Instruktionen ist, und daß Mittel (G5...G7) vorgesehen zii.i, die der. Induktionszähler (KS) jeweils uti. einen Schritt zurückstellen, wenn eine Instruktion der Anzahl von Trstrukti -.-ner. vollzogen wird .
    rr-
    ?..Datenverarbeitungsanlage r.eoh Ar.spruch 1, (U.tlurch gekennzeichnet, da3 die Zahl (U) der Instruktionen in '-irm struktionswort angegeben ist.
    ^Datenverarbeitungsanlage nach Anspruch 2.
    i d
    Dgg
    zeichnet, daß die Zahl (N) der Instruktionen in dem Typ vor. Instruktionswörtern ^EXE) angeßeber ü:t.
    4.Datenverarbeitungsanlage nach Anspruch Γ oder
    kernzeichn.t, daß die Kittel (G5...07) der. Tr.struktior.s^bler (KS) in eine der Anzahl entsprechende Stellung brir.,:er wenn das diese Anzahl anzeigerde Ir.struktionswort ve-arbeitet wird.
    5.Datenverarbeitungsanlage nach einem der Ansprüche 1 bis H. dadurch gekennzeichnet, daß ein Register (E), ein Programn,-zfihler (P) zur Sneicherung der Adresse einer auszuführender. Instruktion und Kittel (.01200.. .01215) vorgesehen sind, d.r den inhalt des Progremmzahlers (P) im Register (E) kurzzeitig speichern, wenn die Instruktion des genannten Typ*
    109850/1654
    (3X1S) ausgeführt wird.
    C.Hntenverarbeitungsanlrrge nach Anspruch 5, dadurch gekennzeichnet, daß r.ittel (GlAoo.. .G1415) zur Rüekübertragung des Registerinhalts zum Programmzähler (P) vorgesehen sind wobei die Rückübertragung dann stattfindet, wenn die letzte Instruktion der genannten Anzahl ausgeführt wird.
    7.Datenverarbeitungsanlage nach einem der Ansprüche 1 bis 6. dadurch gekennzeichnet, daß eine bistabile Schaltung (3SXT) zur Anzeige vorgesehen ist, daß die Instruktion des gerannten Typs und die genannte Folge von Instruktionen verarbeitet werden- und daß Mittel (Gi.. G2, G;5) vorgesehen sind, die die bestabile Schaltung während der Ausführung der Instruction des genannten Typs in den 1-Zustand versetzen.
    8.Datenverarbeitungsanlage nach Anspruch 7» dadurch gekennzeichnet , daß die genannten Rückstellmittel (GjJ...G7) den Instruktionszähler dann zurückstellen, wenn wenigstens die bistabile Schaltung im 1-Zustand, der Instruktionszähler nicht im O-ZustancJ und die Instruktion der ausgeführten Folge nicht eine Instruktion des genannten Typs ist.
    9-Datenverarbeitungsanlage nach Anspruch 7 oder 8, dadurch gekennzeichnet, daß die bistabilde Schaltung (BEXT) dann in den O-Zustand gesteuert wird, wenn gleichzeitig diese Schaltung im 1-Zustand, der Instruktionszähler (KS) in O-Zustand und die Instruktion der verarbeiteten Instruktionsfolge nicht vom genannten Typ 1st.
    10.Datenverarbeitungsanlage nach Anspruch 6 und 7- dadurch gekennzeichnet, daß der Inhalt des Registers (E) zum Programmzähler (P) zurUckübertragen wird, wenn gleichzeitig die blstablle-'-Schalturu; (BEXT) im !-Zustand und der Instruktionnzähler (KS) im O-Zustand ist.
    . 109850/1654
DE19712125688 1970-05-27 1971-05-24 Datenverarbeitungsanlage Withdrawn DE2125688A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL7007615A NL7007615A (de) 1970-05-27 1970-05-27

Publications (1)

Publication Number Publication Date
DE2125688A1 true DE2125688A1 (de) 1971-12-09

Family

ID=19810158

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19712125688 Withdrawn DE2125688A1 (de) 1970-05-27 1971-05-24 Datenverarbeitungsanlage

Country Status (10)

Country Link
US (1) US3739345A (de)
BE (1) BE767720A (de)
CA (1) CA958121A (de)
CH (1) CH551046A (de)
DE (1) DE2125688A1 (de)
ES (1) ES391621A1 (de)
FR (1) FR2093690A5 (de)
GB (1) GB1301417A (de)
NL (1) NL7007615A (de)
YU (1) YU36231B (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3891972A (en) * 1972-06-09 1975-06-24 Hewlett Packard Co Synchronous sequential controller for logic outputs
GB1426748A (en) * 1973-06-05 1976-03-03 Burroughs Corp Small micro-programme data processing system employing multi- syllable micro instructions
CH608902A5 (de) * 1975-04-21 1979-01-31 Siemens Ag
DE2517565C3 (de) * 1975-04-21 1978-10-26 Siemens Ag, 1000 Berlin Und 8000 Muenchen Schaltungsanordnung für ein Datenverarbeitungssystem
DE2715983C2 (de) * 1977-04-09 1983-12-29 Ibm Deutschland Gmbh, 7000 Stuttgart Schaltungsanordnung in einem Digitalrechner zur Überwachung und Prüfung des ordnungsgemäßen Betriebs des Digitalrechners
US4323963A (en) * 1979-07-13 1982-04-06 Rca Corporation Hardware interpretive mode microprocessor
US4306287A (en) * 1979-08-31 1981-12-15 Bell Telephone Laboratories, Incorporated Special address generation arrangement
US5109348A (en) * 1987-09-14 1992-04-28 Visual Information Technologies, Inc. High speed image processing computer
US5129060A (en) * 1987-09-14 1992-07-07 Visual Information Technologies, Inc. High speed image processing computer
US4985848A (en) * 1987-09-14 1991-01-15 Visual Information Technologies, Inc. High speed image processing system using separate data processor and address generator
US5146592A (en) * 1987-09-14 1992-09-08 Visual Information Technologies, Inc. High speed image processing computer with overlapping windows-div

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE25120E (en) * 1954-12-08 1962-02-06 holmes
US3153225A (en) * 1961-04-10 1964-10-13 Burroughs Corp Data processor with improved subroutine control
US3297998A (en) * 1963-06-10 1967-01-10 Beckman Instruments Inc List control
US3348211A (en) * 1964-12-10 1967-10-17 Bell Telephone Labor Inc Return address system for a data processor
US3480917A (en) * 1967-06-01 1969-11-25 Bell Telephone Labor Inc Arrangement for transferring between program sequences in a data processor
US3546677A (en) * 1967-10-02 1970-12-08 Burroughs Corp Data processing system having tree structured stack implementation

Also Published As

Publication number Publication date
US3739345A (en) 1973-06-12
ES391621A1 (es) 1974-08-01
FR2093690A5 (de) 1972-01-28
CH551046A (de) 1974-06-28
NL7007615A (de) 1971-11-30
YU36231B (en) 1982-02-25
CA958121A (en) 1974-11-19
BE767720A (nl) 1971-11-29
GB1301417A (de) 1972-12-29
YU128771A (en) 1981-06-30

Similar Documents

Publication Publication Date Title
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
DE3914265C2 (de)
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2555963A1 (de) Einrichtung zur funktionsmodifizierung
DE2355993A1 (de) Datenverarbeitungseinheit einschliesslich mikroprogramm-steuereinrichtung
DE2641741A1 (de) Rechnersystem aus mehreren miteinander verbundenen und zusammenwirkenden einzelrechnern
DE2719635A1 (de) Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage
DE2145709B2 (de)
DE2125688A1 (de) Datenverarbeitungsanlage
DE2332971A1 (de) Mikroprogrammsteuersystem
DE1200578B (de) Datenverarbeitungssystem
DE1925427A1 (de) Datenuebertragungsvorrichtung zum UEbertragen von Daten zwischen Informationsspeichern
DE1474351C3 (de) Datenspeicher
DE2227761B2 (de) Speichersystem
DE2136210A1 (de) Zentraleinheit fur eine EDV-Anlage
DE1119567B (de) Geraet zur Speicherung von Informationen
DE3314139A1 (de) Mikrobefehlgesteuerte arithmetische steuereinheit
DE3018509A1 (de) Schieberegister mit latch-schaltung
DE2710436A1 (de) Datenverarbeitungseinrichtung
DE2316321C2 (de) Schaltungsanordnung an der Schnittstelle zwischen einer Steuerung eines Rechenwerkes und einem Hauptspeichers einer Rechenanlage
DE1957600C3 (de)
DE1212748B (de) Datenverarbeitende Maschine mit Programmunterbrechung
DE1194605B (de) Verbesserung an Geraeten zur Verarbeitung von Angaben, Informationen od. dgl.
DE2350871A1 (de) Recheneinheit zur verarbeitung von speziellen befehlen
DE2519195A1 (de) Assoziativspeicher

Legal Events

Date Code Title Description
8130 Withdrawal