DE2545751C2 - Ablaufsteuerung für eine Datenverarbeitungsanlage - Google Patents

Ablaufsteuerung für eine Datenverarbeitungsanlage

Info

Publication number
DE2545751C2
DE2545751C2 DE2545751A DE2545751A DE2545751C2 DE 2545751 C2 DE2545751 C2 DE 2545751C2 DE 2545751 A DE2545751 A DE 2545751A DE 2545751 A DE2545751 A DE 2545751A DE 2545751 C2 DE2545751 C2 DE 2545751C2
Authority
DE
Germany
Prior art keywords
command
clock
branch
cycle
register
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
Application number
DE2545751A
Other languages
English (en)
Other versions
DE2545751A1 (de
Inventor
Ronald Eugene Bodner
Thomas Lee Rochester Minn. Crooks
Israel Ben Coral Springs Fla. Magrisso
Keith Kenneth Rochester Minn. Slack
Richard Stanton Boca Raton Fla. Smith
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 Business Machines Corp
Original Assignee
International Business Machines 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 Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2545751A1 publication Critical patent/DE2545751A1/de
Application granted granted Critical
Publication of DE2545751C2 publication Critical patent/DE2545751C2/de
Expired 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/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional branch instructions

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

Daten in das Speicher-Adreßregister und Operandenregisijr in F i g. 1 erforderlichen Steuerschaltungen;
Fi g. 3 schematisch ein Blockschaltbild für die Steuerung der Takiversorgung der Zentraleinheit (CPU) während des Abrufs und der Ausführung von Verzweigungsbefehlen;
Fig.4 schematisch ein Blockschaltbild zur Darstellung der Steuerung für die Fortschaltung des Befehlszählers für Verzweigungsbefehle;
Fig.5 ein Im^ulsdiagramm mi; den Taktzeiten der CPU sowie für das Abrufen und Ausführen von Befehlen ohne Verzweigung;
F i g. 6 ein Taktimpu-sdisgramm zur Darstellung des Abrufens und Ausführens von Verzweigungsbefehlcn;
F i g. 7 ein Taktdiagramm zur Darstellung des Abrufens und Ausführens von bedingten Verzwcigungsbefehien;
F i g. 8a + 8b eine schematische Darstellung der Formate eines Verzweigungsbefehls bzw. eines bedingten Verzweigungsbefehls und
F i g. 9 ein Taktimpulsdiagramm zur Darstellung der Ausführungszeit eines Verzweigungsbefehls bzw. eines bedingten Verzweigungsbefehis, wenn im Stoppbetrieb oder im Einzelschrittbetrieb gearbeitet wird.
In F i g. 1 ist als Ausführungsbeispiel eine Datenverarbeitungsanlage unter Verwendung des erfindungsgemäßen Prinzips dargestellt, welche einen Speicher 10 für die Speicherung von Befehlen und Daten enthält. Die im Speicher 10 eingespeicherten Befehle und Daten sind über ein Speicheradreßregister (SAR) 15 abrufbar, das 16-Bit-Adressen an den Spcicher-Adreßdecodiercr 20 abgibt. Der Speicher-Adrcßdecodierer 20 nimmt auch die über die Sammelleitung 31 von der CPU kommenden Speichertaktsignale auf.
In diesem Beispiel haben die Befehle eine Länge von 16 Bit und werden über die Datensammelleitung Il gleichzeitig in das Befehlsregister 40 und in das Speicherdatenregister SDR 25 eingegeben. Das Register 40 wird über ein auf der Leitung 42 ankommendes und in der Befehls- und Funktionsdccodierlogik 50 aus den über die Sammelleitung 32 übertragenden Taktsignalen gebildetes Takt-1R-Signal taktmäßig gesteuert. Das SD-Register 25 wird über ein über die Sammelleitung 31 zugeführtes Signal »Schreib-Kippschaltung« gesteuert.
Die Befehls- und Funktions-Decodierlogik 50 decodiert den Operationscode der Befehle dadurch, daß die Bits 0 bis 3 des Befehls logisch verarbeitet werden. Verzweigungsbefehle und bedingte Verzweigungsbefehle haben einen Operationscode von 0000 bzw. 0010 (vergl. F i g. 8). Die der Decodierung von Verzweigungsbefehlen und bedingten Verzwcigungsbefehlen dienende logische Schaltung ist in F i g. 2B dargestellt und enthält die Inverterstufen 53 bis 56 und die UND-Glieder 57 und 58. Das Ausgangssignal des UND-Gliedes 57 /cigt an, ob es ein Verzweigungsbefehl ist und dieses Signal wird dem ODER-Glied 59 zugeleitet, um damit das Ableiten eines den Taktgenerator fortschaltcnden Signals am UND-Glied 51 zum Taktzeitpunkt T3 zu ermöglichen. Das ODER-Glied 59 nimmt außerdem ein vom UND-Glied 58 kommendes Signal auf, das anzeigt, daß es sich um einen bedingten Verzweigungsbefehl handelt. Das Taktfortschaltsignal, das noch im einzelnen beschrieben wird, dient zur Steuerung der Taktgeneratoren 30 zum Überspringen des ersten Taktintcrvalls TO bei einem Zyklus für einen Verzweigungsbefehl.
Die von den UND-Gliedern 57 und 58 kommenden Signale werden außerdem in der Speichertorauswahl-Decodierschaltung 60 verwendet. Diese Decodierschaltung enthält die UND-Glieder61 und 62 und ein ODER-Glied 63 und gibt über Leitung 64 ein Steuersignal für die Steuerung der Torschaltung »niedrig SEL 1« ab.
Dieses Signal wird zur Steuerung der Auswahl der Speichertorschaltungen 80 niedriger Ordnung in F i g. 2a benutzt. Ein weiteres Auswahlsignal ist das auf Leitung 66 von der Decodierschaltung 47 kommende Signal für die Speichertorschaltungen niedriger Ordnung und ist mit
ίο »SP-Tor niedrig SEL 0« bezeichnet Die Decodierschaltung 47 spricht auf die im Befehlsregister 40 liegenden Bits an und liefert mehrere verschiedene Signale. Das Signal »Speicher Tor niedrig SEL 0« tritt dabei für Verzweigung und für bedingte Verzweigung nicht auf. Die Auswahllorschaltungen höherer Ordnung werden durch das Signal »SP Tor hoch SEL 1« und »SP Tor hoch SEL 0«, die von den UND-Gliedern 67 bzw. 69 über Leitungen 68 bzw. 70 ankommen, ausgewählt.
Die Speichertorschaltungen niedriger Ordnung enthalten die UND-Glieder 81 bis 84, an denen ausgangsseitig das ODER-Glied 85 angeschlossen ist. Jedes dieser UND-Glieder 81 bis 84 entspricht in Wirklichkeit einer Anzahl von UND-Gliedern, wobei das UND-Glied 81 die niedrigwertigen Bits 8 bis 15 über eine Sammelleitung 120 aufnimmt, die an den Ausgängen eines Stapels örtlicher Speicherregister (LSR) 100 angeschlossen ist. Das UND-Glied 81 wird durch das Ausgangssignal der Inverterstufen 71 und 72 aufgetastet. Die an den Eingängen des UND-Gliedes 82 ankommen-
x) den Dateneingangssignale kommen aus den niedrigwertigen Bits 8 bis 15 des Registers 25 über Sammelleitung 26 an. Das UND-Glied 82 wird durch die Ausgangssignale des ODER-Gliedes 63 und der Inverterstufe 71 aufgetastet.
Das UND-Glied nimmt die niedrigwertigen Bits 8 bis 15 über die Systemeingangsleitung 121 auf und wird durch die Ausgangssignale des Decodierers 47 und der Inverterstufe 72 entsperrt.
Die höherwertigen Speichertorschaltungen 86 bis 89 liefern ihre Ausgangssignale an das ODER-Glied 90, an dem ausgangsseitig die Datenbits an das UND-Glied 84 abgegeben werden. Die vom ODER-Glied 85 abgenommenen Ausgangssignale der Speichertorschaltungen niedrigerer Ordnung steuern die niedrigwertigen Biteingänge 8 bis 15 des SAR 15 des X-Registers 130 und die Systern-Ausgangsleitung 122 an. Die Steuerung der niedrigwertigen Speichertorschaltungen wird im Zusammenhang mit der Bildung der Adresse für den Befehl »Verzweige nach« im einzelnen beschrieben.
Die als höherwertige Speichertorschaltungen wirkenden UND-Glieder 86,87 und 88 erhalten ihre Eingangssignale, nämlich die höherwertigen Bits 0 bis 7 über die Leitungen 120, 26 bzw. 121. Am UND-Glied 89 liegen die über die Leitung 26 ankommenden höherwertigen Bits 4 bis 7 und die vom X-Register 130 kommenden höherwertigen BitsO bis 3. Das UND-Glied 86 wird durch die Ausgangssignale der Inverterstufen 73 und 74 entsperrt, während das UND-Glied 37 durch die Ausgangssignale des UND-Gliedes 67 und der Inverterstufe
bo 74 entsperrt wird. Die Ausgangssignale des UND-Gliedes 69 und der Inverterstufe 73 entsperren das UND-Glied Si,, während die Ausgangssignale der UND-Glieder67 und69das UND-Glied89entsperren.
Die vom ODER-Glied 90 abgenommenen Ausgangs-
b5 signale der höherwertigen Speichertorschaltungen liefern die höherwertigen Bits 0 bis 7 als Eingangssignale an das SAR 15, das X-Register 130, an die System-Ausgangsleitung 122 und das UND-Glied 84. Die Behänd-
lung der höherwertigen Speichertorschaltungen wird noch im einzelnen beschrieben.
Es sei darauf verwiesen, daß eines der am UN D-Glied 61 liegenden Eingangssignale am Ausgang des ODER-Gliedes 202 abgenommen wird, das in der Decodierlogik für eine erfüllte Verzweigungsbedingung 180 liegt. Diese logische Schaltung enthält außerdem die Inverterstufen 181 bis 186 sowie die UND-Glieder 187 bis 201. Die 15 UND-Glieder 187 bis 201 werden durch das Ausgangssignal der Befehlsbits 4 bis 7 der Decodierlogik 203 angesteuert, die ein Register und eine Decodicrlogik für die über die Speichersammelleitung 11 ankommenden Bits 4 bis 7 enthält. Die verschiedenen Durchschaltsignale für die UND-Glieder 187 bis 201 kommen von den Inverterstufen 181 bis 186, von dem Register 2J0 und vom E/A- Kanal. Die Bits 4 bis 7 eines bedingten Verzweigungsbefehls geben die Verzweigungsbedingung an.
Das Register 210, das die Prozessorbedingungen angibt, ist ein 8-Bit-Register, das durch die in F i g. 1 gezeigte Prozessor-Codierlogik 220 gesteuert wird. Die Codierlogik 220 ist nicht im einzelnen dargestellt, besteht jedoch aus üblichen logischen Schaltkreisen, die auf die von der Befehls- und Funktions-Decodierlogik 50, von den Speichertorschaltungen 80 und von den Torschaltungen 160 der arithmetischen logischen Einheit (ALU) kommenden Ausgangssignale anspricht.
Es sei ferner darauf hingewiesen, daß das Befehlsregister durch das Ausgangssignal des UND-Gliedes 52, F i g. 2b taktmäßig gesteuert wird, dem eingangsseitig die Signale Tl bis T2 und die Schreib/Kippsignale von den Taktgeneratoren 30 und ein von der Inverterstufe 43 kommendes Signal zugeführt werden. Das SAR-Register 15 und das X-Register 130 werden beide durch ein vom UND-Glied 45 kommendes Taktsignal betätigt. Das UND-Glied 45 wird durch ein Taktsignal »Phase A« und durch ein vom ODER-Glied 44 kommendes Ausgangssignal angesteuert, das die Taktsignale TO und TZ aufnimmt Am ODER-Glied 44 liegen noch weitere von den Taktgeneratoren 30 und vom Decodierer 47 kommende Eingangssignale zur Erzeugung der Signale »Laden SAR und X-Register«, die jedoch für die Arbeitsweise der vorliegenden Erfindung nicht von Bedeutung sind. Das Prozessor-Bedingungsregister 210 wird durch das von der Decodierlogik 47 kommende Signal »Takt PCR« taktmäßig angesteuert, welche außerdem die Signale »LSR Adresse« und »ALU-Steuerung« über die Leitungen 48 bzw. 49 liefert. Es sei hier darauf verwiesen, daß die gesamte Decodierlogik nicht im einzelnen dargestellt ist, da der größte Teil der Logik sich nicht auf die vorliegende Erfindung bezieht, für jede Datenverarbeitungsanlage jedoch erforderlich ist, um andere Befehle als Verzweigungsbefehle bzw. bedingte Verzweigungsbefehle zu decodieren.
Die Befehlsdecodierlogik 50 enthält ferner logische Schaltungen für die Steuerung der ALU-Tore 160 in F i g. 1 und 4. Der ALU-Torsteuerdecodierer 150, F i g. 4 enthält ebenfalls gewöhnliche logische Schaltungen, die auf die im Befehlsregister 40 eingespeicherten Bits ansprechen und die Signale »ALU-Tor, SE 0«, »SE 1« und »SE 2« abgeben. Diese Signale werden zur Steuerung der ALU-Tore »niedrig« und der ALU Tore »hoch« benutzt Die ALU-Tore »niedrig« enthalten die UND-Glieder 161 bis 165, die ausgangsseitig mit einem ODER-Glied 166 verbunden sind. Das UND-Glied 161 wird durch die von den Inverterstufen 157 und 158 kommenden Ausgangssignale entsperrt, während das UND-Glied 162durch das von der Inverterstufe 157 kommende Ausgangssignal und durch das Signal »ALU-Tor SEL 2« entsperrt wird. Das UND-Glied 163 wird durch das von der Inverterstufe 156 kommende Ausgangssignal und durch das Signal ALU-Tor SEL 1 entsperrt. Die Ausgangssignale der Inverterstufe 158 und des UND-Gliedes 159 entsperren das UND-Glied 164. Das Ausgangssignal des UND-Glieds 159 dient zusammen mit dem Signal »ALU-Tor SEL 2« auch zum Entsperren des UND-Gliedes 165.
An den UND-Gliedern 161, 162 und 163 liegen als Eingangssignale die ALU-Bits 8 bis 15, die SBO-Bits8 bis 15 bzw. die SBO-Bits 7 bis 14. Am UND-Glied 164 liegen als Datcneingangssignale die vom Y-Register 135 kommenden Bits 8 bis 11 und die von der ALU 140 kommenden Bits 8 bis 11, während am UND-Glied 165 als Dateneingangssigp.ale die vom Y-Rcgister 135 kommenden Bits 8 bis 11 und die von der ALU 140 kommenden Bits 12 bis 15 liegen. Das Ausgangssignal des ODER-Gliedes 166 enthält die Bits 8 bis 15, die einem Stapel von LSR-Registern 100 und einem UND-Glied 170 der ALU-Tore hoch zugeleitet werden. Den anderen UND-Gliedern 167, 168 und 169 der ALU-Tore hoch werden als Dateneingangssignale die von der ALU 140 kommenden Bits 0 bis 7 die von SBO 122 kommenden Bits 0 bis 7 und die von der ALU 140 kommenden Bits 0 bis 6 zugeführt. Die von der ALU 140 kommenden Bits 0 bis 6 sind die sieben niedrigwertigsten Bits, die dem UND-Glied 169 zugeleitet werden. Das höchstwertige Bit wird dabei zwangsweise zu null gemacht.
Das UND-Glied 167 wird durch die von den Inverterstufen 151, 152 und 153 kommenden Ausgangssignale entsperrt, während das UND-Glied 168 durch die Ausgangssignalc der Inverterstufen 152 und 153 sowie durch das Signal ALU-Tor SEL 2 entsperrt wird. Die
J5 Ausgangssignale der Inverterstufen 151 und 153 und das Signal ALU-Tor SEL 1 entsperren das UND-Glied 169 und das Ausgangssignal des ODER-Gliedes 155 dient zum Entsperren des UND-Gliedes 170.
Die verschiedenen, über die ALU-Tore »hoch« übertragcnen Daten gelangen als BitsO bis 7 über das ODHR-Glied 171 an den Stapel von LSR-Registern 100. Wie man noch erkennen wird, enthalten die LSR-Register 100 ein Adreßregister (Befehlszähler) 101 zum Adressieren des Speichers über SAR 15. Mit den ALU-Toren 160 ist es möglich, die Befehlsadresse für »Verzweigung nach« als eine von der ALU 140 stammende erhöhte Adresse in das Adreßregister 101 einzuspeichern.
Die in dem Stapel der LSR-Register 100 liegenden einzelnen Register werden selektiv durch Decodierung der im Befehlsregister 40, F i g. 2 liegenden Befehlsbils für Verzweigungs- bzw. bedingte Verr.wcigungsbefehle adressiert. Der Decodierer 47 liefert die Auswahlbits über die Leitung 48 zur Auswahl eines der LSR-Register 100.
Die CPU und die Taktgeneratoren 30, F i g. 1,3 und 5, steuern die gesamte Taktgabe für die Zentraleinheit und den Speicher. Ein freischwingender Oszillator 1 liefert einen Impulszug an die Phasentaktgeneratoren 2 und
μ die Speichertaktgeneratoren 3. Die Speichertaktgeneratoren 3 sind im einzelnen nicht dargestellt, liefern jedoch ein Spcicherzyklus-Taktsignal, das der Zentraleinheit anzeigt daß ein Speicherzyklus abläuft Sie liefern ferner die Signale CSX-Takt und CSY TRIG, die in Kombination mit einem Karten-Auswahlsignal, das aus Bits in SAR 15 abgeleitet wird, für eine Adressierung der im Speicher 10 ausgewählten Speicherplätze. Das Signal »Schreiben KS« wird ebenfalls aus dem Spei-
cher-Taktgenerator 3 abgeleitet und, wie oben beschrieben, benutzt, d. h. für die Durchschaltung der Register und zum Decodieren sowie auch für eine Durchschaltung logischer Schaltkreise zur Erzeugung der Schreibimpulse zum Einschreiben von Daten in den Speicher 10.
Die Phasentaktgeneratoren 2 erzeugen das in F i g. 5 angedeutete Signal »Phase A«, das ein wiederholt auftretendes freilaufendes Signal ist. Die CPU-Taktgeneratoren bestehen aus den Kippschaltungen 4, 5, 6 und 7 und werden selektiv gesteuert, sind also keine freischwingenden Generatoren. Die Kippschaltungen 4,5,6 und 7 werden gleichzeitig durch ein vom UND-Glied 8 kommendes Signal taktmäßig angesteuert. Allerdings ist der Dateneingang der Kippstufe 4 am Ausgang des UND-Giiedes i6 angeschlossen, das durch das ODER-Glied 9 und die Inverterstufe 33 angesteuert wird. Das ODER-Glied 9 erhält seine Eingangssignal vom UND-Glied 12 und von den Inverterstufen 13 und 14. Das Ausgangssignal der Kippstufe 4 dient als Dateneingang für die Kippstufe 5 und liegt außerdem am UND-Glied 17, das seinerseits wieder durch die Inverterstufe 18 entsperrt wird, der wiederum das Ausgangssignal der Kippstufe 5 zugeleitet wird. Das Ausgangssignal des UND-Gliedes 17 ist das Taktsignal 70. Das Taktsignal Γ0 wird normalerweise zum Beginn eines Befehls-Abrufzyklus benutzt, wird jedoch übersprungen, wenn anschließend an einen Verzweigungsbefehl oder einen bedingten Verzweigungsbefehl ein Befehl abgerufen wird.
Die Kippstufe 5 liefert außerdem ein Ausgangssignal an das UND-Glied 19,das durch das Ausgangssignal der Inverterstufe 21 entsperrt wird und den Dateneingang der Kippstufe 6 ansteuert. Das Ausgangssignal der Inverterstufe 21 zeigt die Signale »Nicht einstellen TR4/Rücksiellen TR6 und TR7« an. Das Signal »Einstellen TR4/Rückstellen TR6 und TR7« kommt von UND-Glied 12, dem ein vom UND-Glied 51 der Decodierlogik 50 kommendes Fortschalt-Taktsignal zugeleitet wird. Das UND-Glied 12 wird durch das Ausgangssignal des ODER-Gliedes 22 betätigt, das ein Betriebs-Verricgelungssignal von der Systemsteuerung 230 und ein Nicht-T3-Signal von der Inverterslufe 23 aufnimmt.
Das Ausgangssignal der Kippstufe 6 wird nicht nur der Inverterstufe 13, sondern auch den UND-Gliedern 24 und 27 zugeleitet Das UND-Glied 24 wird durch das Ausgangssignal der Inverterstufe 21 betätigt und steuert den Dateneingang der Kippstufe 7 an. Das UND-Glied 27 wird durch das Signal Phase A entsperrt und liefert als Ausgangssignal den Taktimpuls 72 und das Signal Phase A, vorausgesetzt, daß die Kippstufe 7 kein Signal an die Inverterstufe 14 abgibt. Das heißt, daß die Kippstufe 7 gesperrt sein muß, damit das UND-Glied 28 ein Ausgangssignal abgibt. Das UND-Glied 28 läßt das Signal 71 bis TI durch. In diesem Datenverarbeitungssystem gibt es keine Forderung nach einer diskreten Taktzeit Ti, da jede in Ti begonnene Operation auch in 72 durchgeführt wird.
Wenn die Kippstufe 7 ein Ausgangssignal abgibt, dann läßt das UND-Glied 29 das Signal 73 dann durch, wenn die Kippstufen 4 und 5 eingestellt sind. Das Signal 74 wird vom UND-Glied 34 abgenommen, das durch die Ausgangssignale der Kippstufe 5 und der Inverterstufe 35 angesteuert wird. Daher ist das Signal Γ4 dann vorhanden, wenn die Kippstufe 4 zurückgestellt und die Kippstufe 5 eingestellt ist Das Taktsignal »Takt Υ« wird im UND-Glied 36 aus dem Signal Γ3 und dem Signal »Phase gebildet
Das vom UND-Glied 8 ausgehende zur taktmäßigen Steuerung der Kippstufen 4,5,6 und 7 bestimmte Signal wird aus den Ausgangssignalen der Inverterstufen 37 und 38 und dem vom Oszillator I kommenden Impulszug gebildet. Wenn daher ein Sperrimpuls vorhanden ist, der den Taklimpuls sperrt, werden die Kippstufen 4, 5,6 und 7 nicht taktmäßig angesteuert. Außerdem liefert das UND-Glied 16 nur dann ein Dateneingangssignal an die Kippstufe 4, wenn das Sperrsignal für die Taktgeneraloren nicht vorhanden ist. Es gibt verschiedene Zeitpunkte während des Arbcitens des Datenverarbeitungssystems, wenn der CPU-Taktgenerator gesperrt ist. Das Signal »Phase Λ« und die Speicher-Taktgeneratoren 3 laufen jedoch weiter, selbst wenn der CPU-Taktgenerator gesperrt ist. Die Speichertaktgeneratoren werden durch ein Speicher-Funktionssignal gesteuert, das von der Befehls- und Funktions-Decodieriogik 50 kommt.
Zusätzlich zu den in F i g. 5 gezeigten Taktsignalen sind typische Befehls-Abrufzyklen gezeigt. Mit Ausnahme der Fälle, wenn Befehle anschließend an Verzweigungs- oder bedingte Verzweigungsbefehle abgerufen werden, beginnen Befehlsabrufzyklen zur Taktzeit TO und laufen durch bis zur Taktzeit 72. Die UND-Glieder 81 und 86 in den Speichertorschaltungen 80 »hoch« und »niedrig« werden zur Taktzeit Γ0 ausgewählt und das Adreßregister in den LSR-Registern 100 wird während der Taktzeiten Γ0 bis T2 ausgewählt (wobei es jeweils ein Adreßregister für jede Programmebene einschließlich eines Adreßregisters für jede Unterbrechungsebene gibt, wobei die Programmunterbrechung jedoch keinen Teil der Erfindung darstellt). Die Speicheradreßregister 15 und das X-Register 130 werden während der Takizeit TO zur Zeit der Phase A taktmäßig angesteuert. Die ALU 140 beginnt zur Taktzeit 71 mit Arbeiten und arbeitet durch bis Taktzeit T2. Während dieser Zeit schaltet die ALU 140 das Adreßregister weiter. Der Speicherzyklus läuft bei der Taktzeit Tl bis zur Taktzeit Γ2. Dabei werden während des Befehls-Abrufzyklus verschiedene Prüfungen durchgeführt und das SDR 25 und das Befehlsregister 40 werden taktmäßig zur Taktzeit Γ2 angesteuert. Das SDR 25 wird durch das Signal »Schreiben KSv. taktmäßig angesteuert während das Befehlsregister 40 durch das Signal »Takt IR« taktmäßig angesteuert wird. Die ALU-Torschaltungen 160 wählen die Ausgangssignale der ALU 140 über UND-Glieder 161 und 167 für die Dauer des Taktsignals Γ2 aus und die LSR-Register 100, besonders das Adreßregister, werden während der Taktzeit Γ2 bei Phase A, gesteuert durch das vom UND-Glied 27 kommende Signal, eingeschrieben. Die Ausführung des Befehls beginnt zur Taktzeit 73 und entsprechend dem auszuführenden Befehl kann der Befehlszyklus bis zur Taktzeit 76 durchlaufen.
Das Aufrufen und Abarbeiten eines Verzweigungsbefehls ist in F i g. b gezeigt. Die Adresse im Adreßregister 101 für die in den LSRs 100 liegende Information steht zur Taktzeit TO zur Verfügung. Zu diesem Zeitpunkt sind die UND-Glieder 81 und 86, Fig.2, betätigt und lassen die vom Adreßregister 101 kommenden Bits 8 bis 15 und 0 bis 7 nach SAR 15 und dem X-Register 130 durch. Diese Register werden während der Taktzeit 70 bei der Phase A taktmäßig betätigt Während der zweiten Hälfte der Taktzeit 70 wird ein Speicherfunktionssignal durch die Befehls- und Funktions-Decodieriogik 50 erzeugt und an die Speichertaktgeneratoren 3 abgegeben, damit diese zu laufen beginnen. Dann wird, wenn die Adresse im SAR 15 liegt, der Speicherzyklus bei der Taktzeit 71 eingeleitet Der abgerufene Verzweigungsbefehl wird zur Taktzeit 72 in das SDR 25 und in das
10
Befehlsregister 40, F i g. 1 und 2, eingespeichert. Während der Taktzeiten 71 bis 72 wird die im X-Register 130 liegende Adresse durch die ALU 140 erhöht und die so erhöhte Adresse wird über die UND-Glieder 161 und 167, Fig.4, wiederum in das Adreßregister 101 in den LSRs 100 eingespeichert.
Zur Taktzeit 73 bei Phase A werden das SAR 15 und das X-Register 103 erneut geladen, wobei dann gleichzeitig die Ausführungsphase des Verzweigungsbefchls die Inverterstufe 71 entsperrt und läßt die SDR 25 Bits 8 bis 15 nach dem SAR 15 und dem X-Register 130 durch. Die Inverterstufen 73 und 74 entsperren das UND-Glied 86, das die vom Adreßregister 101 kommenden Bits 0 bis 7 nach dem SAR 15 und dem X-Register 130 durchläßt. Diese Bits werden durchgelassen, unabhängig davon, ob die Verzweigungsbedingung erfüllt ist. jedoch hätte das UND-Glied 81 die von dem Adreßregister 101 kommenden Bits 8 bis 15 nach dem SAR 15 und
beginnt. Die in das SAR 15 und in das X-Register 130 io dem X-Register 130 durchgelassen, wenn die Verzwei-
geladene Adresse wird vom Adreßregister 101 jedoch nicht abgegeben, da die UND-Glieder 81 und 86 nicht entsperrt sind. Während der Ausführung des Verzweigungsbefehls wird die Adresse für den Verzweigungsgungsbedingung nicht erfüllt wäre. Somit sieht man, daß die nüchste Folgeadressc in das SAR 15 und das X-Register 130 eingespeichert sein würde, wenn die Verzweigungsbedingung nicht erfüllt war. Für den Verzwei-
befehl aus den durch das UND-Glied 82 hindurchgelas- 15 gungsbefchl werden während der Taktzeit Γ3 die Si-
senen SDR-Bits 8 bis 15 gebildet, wobei das UND-Glied 82 durch die Inverterstufe 71 und durch ein Verzweigungs-Befehlssignal entsperrt ist, das durch das UND-Glied 57 nach dem UND-Glied 62 und über das ODER-Hierzu 9 Blatt Zeichnungen
gnalc »Fortschaltcn Takt« und »Speicherfunktion« erzeugt, so daß die Taktzeit 70 für den nächsten Abruf eines Befehls übersprungen wird.
Wenn im Stoppbetrieb oder Einschrittbetrieb gear-Glied 63 an das UND-Glied 82 gelangt ist. Die anderen 20 beitet wird, dann läuft die Abarbeitung eines Verzweizur Bildung der Adresse verwendeten Bits sind die gungsbefehls oder eines bedingten Verzweigungsbe-Bits 4 bis 7 vom SDR 15 und die Bits 0 bis 3 aus dem fehls durch bis zur Taktzeil 76, wie dies in F i g. 9 darge-X-Register 130, die durch das UND-Glied 89 durchge- stellt ist. Dies ist deswegen der Fall, weil der Taktgenelassen werden. Damit enthalten aber sowohl SAR 15 als rator 30 nach einem einzigen Schritt oder nach einer auch das X-Register 130 am Ende der Ausführung des 25 Stoppoperation immer zur Taktzeit 70 beginnen muß.
Verzweigungsbefehls die Adresse des Befehls »Ver-
zweige nach«. Außerdem wird während der zweiten Hälfte der Taktzeit 73 das Speicherfunktionssignal betätigt, das die Speichertaktgeneratoren 3 anschaltet, so daß diese mit dem Speicherzyklus beginnen.
Das vom UND-Glied 57 kommende Verzweigungs-Befehlssignal liefert auch zur Taktzeit 73 über das ODER-Glied 59 und das UND-Glied 51 das Signal »Fortsehalten Takt«. Das Signal »Fortschalten Takt« wird durch das UND-Glied 12 durchgelassen, jedoch in jr> der Inverterstufe 21 invertiert, so daß dadurch die UND-Glieder 19 und 24 gesperrt werden, wodurch der nächste vom Oszillator 1 kommende Impuls den Taktgenerator 30 nach der Taktzeit 71 durchschaltet und 70 überspringt.
Der Befehl »Verzweige nach« wird während der Taktzeiten 71 und 72 abgerufen, wobei ein Speicherzugriff unter Verwendung der im SAR 15 liegenden Adresse durchgeführt wird. Außerdem wird die »Verzweige-Nach«-Adresse im X-Register 130 durch die ALU 140 fortgeschrieben und über das ALU-Tor 160 in das Adreßregister 101 eingespeichert. Zur Taktzeit 73, Phase A werden das SAR 15 und das X-Register 130 taktmäßig angesteuert und der Befehl »Verzweige nach« wird ausgeführt. Die Ausführung des Befehls »Verzweige nach« und die taktmäßig in das SAR 15 und in das X-Register eingespeicherten Daten hängen von der Art des Befehlt ab und die Abarbeitung des Befehls oder die Ausführung dieses Befehls läuft von der Taktzeit 73 bis zur Taktzeit 76.
Der bedingte Verzweigungsbefehl wird in ähnlicher Weise abgerufen wie der Verzweigungsbefehl. Der Befehl »Verzweige nach« wird in das SAR 15 und in das X-Register 130 nur dann eingeladen, wenn das ODER-Glied 202 in F i g. 2 ein Signal nach dem UND-Glied 61 bo durchläßt, das anzeigt, daß die Verzweigungsbedingung erfüllt isL Angenommen, die Verzweigungsbedingung ist erfüllt, dann läßt das UND-Glied 61 zur Taktzeit ein Signal über das ODER-Glied 63 an die UND-Glieder 82 und 84 durch. Das vom Decodierer 47 kommende fas Signal »Speichertor niedrig SELO« ist während eines bedingten Verzweigungsbefehls vorhanden und sperrt das UND-Glied 84, jedoch ist das UND-Glied 82 über

Claims (5)

Patentansprüche:
1. Ablaufsteuerung für eine mit gespeichertem Programm ohne Befehlsüberlappung arbeitende Datenverarbeitungsanlage mit einem mehr als eine Taktzeit langen Befehlsaufrufzyklus und mit einem nachfolgenden Befehlsverarbeitungszyklus, dadurch gekennzeichnet, daß ein Befehlsdecodierer (50) eine Taktsteuerschaltung (51,59) derart steuert, daß bei Befehlen, die auf Verzweigungsbefehle folgen, eine erste Taktzeit (TO) des Befehlsaufrufzykhis unterdrückt wird.
2. Ablaufsteuerung nach Anspruch 1 mit einem Befehlsspeicher, einem Datenspeicherregister, einem Speicheradreßregister und einem Befehlsregister zur Aufnahme von vom Speicher abgerufenen Befehlen, sowie mit einem Taktgeber zur Abgabe einer Folge von Taktsignalen für die Steuerung des Aufrufens und Verarbeitens von Befehlen, wobei das Laden des Datenspeicherregisters während einer ersten und einer vierten Taktzeit (TO) und (T3) erfolgt, während das Laden des Befehlsregisters während einer dritten Taktzeil (T2) gesteuert wird, sowie mit einem Befehlsdecodierer, der die Art der decodierten Befehle anzeigende Signale iiefert, dadurch gekennzeichnet, daß zur Bildung der Verzweigungsadresse an dem Befehlsregister (40) der Befehlsdecodierer (50) angeschlossen ist, der zur Abgabe eines einen Verzweigungsbefehl anzeigenden Signals mit dem Speicheradreßregister (SAR 15) und einem weiteren Register (X-Register 130) verbunden ist, wobei die so gebildete Adresse während der vierten Taktzeit (T3) in das Speicheradreßregistcr (15) geladen wird, und daß die Taktsteuerschaltung (51, 59) in Abhängigkeit von dem einen Verzweigungsbefehl anzeigenden Signal den Taktgenerator (30) veranlaßt, die erste Taktzeit (TO) durch unmittelbaren Übergang von der vierten Taktzeit (T3) auf die zweite Taktzeit (7M) zu überspringen.
3. Ablaufsteuerung nach Anspruch 2, dadurch gekennzeichnet, daß zur Bildung der Verzweigungsadresse aus dem Adreßregister (101) stammende Daten mit aus dem Verzweigungsbefehl stammenden Daten kombiniert werden.
4. Ablaufsteuerung nach Anspruch 3, dadurch gekennzeichnet, daß zur Kombination dieser Daten durch die vierte Taktzeit (T3) und durch das eine Verzweigung anzeigende Signal gesteuerte UND-Glieder (81 bis 89) vorgesehen sind, die von dem Adreßregister (101) stammende Daten zusammen mit Daten des Verzweigungsbefehls zu dem Speicheradreßregister (15) durchschalten.
5. Ablaufsteuerung nach Anspruch 4, dadurch gekennzeichnet, daß die Taktsteuerung ein durch das eine Verzweigung anzeigende Signal und die vierte Taktzeit (T3) angesteuertes UND-Glied (51) enthält, das bei Auftreten beider Signale ein den Taktgenerator (30) fortschaltendes Signal erzeugt, und daß in dem Taktgenerator (30) selbst logische Schaltkreise (12,21,19,24,6,7,17) vorgesehen sind, die bei Auftreten dieses Fortschaltsignals durch Sperrung der die erste Taktzeit (TO) erzeugenden Stufen (6, 7,17) einen unmittelbaren Übergang von der vierten Taktzeil (T3) auf die zweite Takt/.cit (Tl) bewirken.
Die Erfindung betrifft eine Ablaufsteuerung für eine mit einem gespeicherten Programm ohne Befehlsüberlappung arbeitende Datenverarbeitungsanlage mit einem mehr als eine Taktzeit langen Befehlsaufrufzyklus s und einem nachfolgenden Befchlsverarbeitungszyklus.
Die Erfindung eignet sich insbesondere für kleinere Datenverarbeitungsanlagen, bei denen aus Kostengründen Parallelverarbeitung nicht vorgesehen ist, so daß die Anlage im nichtüberlappten Betrieb arbeitet Beim ίο nichtüberlappten Betrieb folgt auf einen Befehlsaufrufzyklus ein Befehlsverarbeitungszyklus. Im überlappten Betrieb wird ein Befehl abgearbeitet, während bereits der nächste Befehl aufgerufen wird.
Die der Erfindung zugrunde liegende Aufgabe besteht darin, bei einer Datenverarbeitungsanlage der obengenannten Art beim Auftreten von bedingten oder unbedingten Verzweigungsbefchlen die Leistung der Anlage zu erhöhen. Wann immer ein Verzweigungsbefehl auftritt, wird der Befehlsaufrufzyklus des Befehls »Verzweige nach« um eine Taktzeit verkürzt Die dabei erzielte Einsparung an Verarbeitungszeit ist beträchtlich, da etwa 40% der in einem Datenverarbeitungssystem mit nichtüberlappter Betriebsweise verwendeten Befehle Verzweigungsbefehle sind.
Bisher hat man allgemein Befehlsaufrufzyklen fester Länge benutzt. Eine bessere Wirtschaftlichkeit hat man dadurch erzielt daß man während des Aufrufens des nächsten Befehls den zuvor aufgerufenen Befehl abgearbeitet hat. Derartige Anlagen benötigen doppelte Register, in denen ein Paar Befehle abgespeichert sein kann, sowie weitere Datenleitungen, die sich aber bei Datenverarbeitungsanlagen niedrigerer Preisklassen von selbst verbieten.
In der US-Patentschrift 37 66 527 ist beschrieben, daß J5 der Befehls-Verarbeiiungszyklus den Befehlsaufrufzyklus überlappt, jedoch liegt diese Überlappung fest und es gibt keinen Bcfchlsaufrufzyklus variabler Länge.
Gemäß der US-Patentschrift 37 53 236 wird die für die Ausführung von Verzweigungsoperationen benötigte Zeit maskiert, doch sind dazu kompliziertere Schaltungen erforderlich und der Befehlsaufrufzyklus ist nicht variabel. Die Durchführung eines Mikrobefehls höherer Ordnung aus einem Paar von Mikrobefehlen wird dabei durch die Decodierung eines Verzweigungsbefehls niedriger Ordnung überlappt, sowie durch die Vorbereitung der Adresse und des Aufrufens eines nächsten Paares von Mikrobefehlen. Tritt ein Befehl niedriger Ordnung ohne Verzweigung auf, dann wird dieser nach Abarbeiten des Befehls höherer Ordnung nach dem Register höherer Ordnung für eine Durchführung übertragen. Gemäß der vorliegenden Erfindung wird jeweils nur ein einziger Befehl abgerufen und wenn dies ein Verzweigungsbefehl ist, dann wird die »Verzweige-Nach«-Adrcsse während der Durchführung des Vcrzweigungsbefehls eingestellt, und die erste Taktzeit des Befchls-Aufrufzyklus für den Verzweigungsbefehl wird selektiv dadurch übersprungen, daß der Takt der Zentraleinheit (CPU) selektiv um eins wcitergeschaltct wird.
ω Die Erfindung wird nunmehr anhand eines Ausführungsbeispicls in Verbindung mit den Zeichnungen näher beschrieben. In den Zeichnungen zeigt
1·' i g. I schematisch ein Blockschaltbild einer mit gespeichertem Programm arbeitenden Datenverarbeib5 tungsanlage (ohne Ein- und Ausgabe), in dem ein Ausführungsbeispiel der Erfindung verwirklicht ist;
l; i g. 2a + 2b zusammen schemalisch ein logisches Blockschaltbild zur Darstellung der für ilic Eingabe von
DE2545751A 1974-12-04 1975-10-11 Ablaufsteuerung für eine Datenverarbeitungsanlage Expired DE2545751C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/529,677 US3961313A (en) 1974-12-04 1974-12-04 Computer control apparatus

Publications (2)

Publication Number Publication Date
DE2545751A1 DE2545751A1 (de) 1976-06-10
DE2545751C2 true DE2545751C2 (de) 1984-11-22

Family

ID=24110870

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2545751A Expired DE2545751C2 (de) 1974-12-04 1975-10-11 Ablaufsteuerung für eine Datenverarbeitungsanlage

Country Status (7)

Country Link
US (1) US3961313A (de)
JP (1) JPS5845052B2 (de)
BR (1) BR7508062A (de)
DE (1) DE2545751C2 (de)
FR (1) FR2293744A1 (de)
GB (1) GB1475849A (de)
IT (1) IT1049926B (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4187551A (en) * 1975-11-21 1980-02-05 Ferranti Limited Apparatus for writing data in unique order into and retrieving same from memory
US4195339A (en) * 1977-08-04 1980-03-25 Ncr Corporation Sequential control system
US4286322A (en) * 1979-07-03 1981-08-25 International Business Machines Corporation Task handling apparatus
DE3382805T2 (de) * 1982-08-23 1996-09-26 Western Electric Co Rechner mit dynamischem Aufbau eines Befehlzusatzfeldes zur Speicherung der folgenden Befehlsadresse.
JPH0776917B2 (ja) * 1984-12-29 1995-08-16 ソニー株式会社 マイクロコンピユ−タ
US4967351A (en) * 1986-10-17 1990-10-30 Amdahl Corporation Central processor architecture implementing deterministic early condition code analysis using digit based, subterm computation and selective subterm combination
US5428754A (en) * 1988-03-23 1995-06-27 3Dlabs Ltd Computer system with clock shared between processors executing separate instruction streams
JP2505887B2 (ja) * 1989-07-14 1996-06-12 富士通株式会社 命令処理システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1541242A (fr) * 1966-11-15 Ibm Circuits d'horloge pour l'accès à une mémoire et la commande d'un dispositif de traitement de données
US3656123A (en) * 1970-04-16 1972-04-11 Ibm Microprogrammed processor with variable basic machine cycle lengths
BE789583A (fr) * 1971-10-01 1973-02-01 Sanders Associates Inc Appareil de controle de programme pour machine de traitement del'information
US3753236A (en) * 1972-03-31 1973-08-14 Honeywell Inf Systems Microprogrammable peripheral controller

Also Published As

Publication number Publication date
DE2545751A1 (de) 1976-06-10
FR2293744A1 (fr) 1976-07-02
US3961313A (en) 1976-06-01
GB1475849A (en) 1977-06-10
FR2293744B1 (de) 1977-12-16
JPS5845052B2 (ja) 1983-10-06
JPS51102436A (de) 1976-09-09
IT1049926B (it) 1981-02-10
BR7508062A (pt) 1977-06-28

Similar Documents

Publication Publication Date Title
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2755273C2 (de)
DE2234867C2 (de) Anordnung in einer Datenverarbeitungsanlage zum Steuern der Verarbeitung zweier voneinander unabhängiger Befehlsfolgen
DE2907181C2 (de) Prozessor mit einem Befehlssatz-Modifizierregister
DE1815078C3 (de) Elektronisches Datenverarbeitungssystem
DE1915818C3 (de) Steuerschaltung für ein elektronisches Datenverarbeitungssystem
DE2835095C2 (de) Digitale Rechenanlage mit einem ersten und mindestens einem zweiten miteinander koppelbaren mikroprogrammierten Prozessoren
DE2001664A1 (de) Anordnung und Verfahren zur Programmverzweigung in einem elektronischen Digitalrechner
DE2611892C2 (de) Mikroprogramm-Steueranordnung
DE2555963A1 (de) Einrichtung zur funktionsmodifizierung
DE2714805A1 (de) Datenverarbeitungssystem
EP0134831B1 (de) Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung
DE2023354A1 (de) Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit
DE1549478B1 (de) Gleitkomma-Rechenwerk zur schnellen Addition oder Subtraktion binaerer Operanden
DE2545751C2 (de) Ablaufsteuerung für eine Datenverarbeitungsanlage
DE2064383B2 (de) Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen
DE1179027B (de) Speicherprogrammierte digitale Rechenanlage
DE3314139C2 (de)
DE2245284A1 (de) Datenverarbeitungsanlage
DE2725614C2 (de)
DE1499224C3 (de) Datenverarbeitungsanlage mit Kellerspeichereinrichtungen
DE2906685A1 (de) Instruktionsdecodierer
DE2015272A1 (de) Programmleitwerk für eine digitale Datenverarbeitungsanlage
DE2759120A1 (de) Prozessor fuer datenverarbeitungssysteme
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen

Legal Events

Date Code Title Description
OD Request for examination
8128 New person/name/address of the agent

Representative=s name: JOST, O., DIPL.-ING., PAT.-ASS., 7030 BOEBLINGEN

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee