DE2545751C2 - Ablaufsteuerung für eine Datenverarbeitungsanlage - Google Patents
Ablaufsteuerung für eine DatenverarbeitungsanlageInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30054—Unconditional 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-
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 A« 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)
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
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)
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)
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 |
-
1974
- 1974-12-04 US US05/529,677 patent/US3961313A/en not_active Expired - Lifetime
-
1975
- 1975-10-03 GB GB4046675A patent/GB1475849A/en not_active Expired
- 1975-10-11 DE DE2545751A patent/DE2545751C2/de not_active Expired
- 1975-10-13 FR FR7532209A patent/FR2293744A1/fr active Granted
- 1975-11-28 IT IT29758/75A patent/IT1049926B/it active
- 1975-12-02 JP JP50142474A patent/JPS5845052B2/ja not_active Expired
- 1975-12-04 BR BR7508062A patent/BR7508062A/pt unknown
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 |