DE2353258C2 - Datenverarbeitungsanlage - Google Patents
DatenverarbeitungsanlageInfo
- Publication number
- DE2353258C2 DE2353258C2 DE2353258A DE2353258A DE2353258C2 DE 2353258 C2 DE2353258 C2 DE 2353258C2 DE 2353258 A DE2353258 A DE 2353258A DE 2353258 A DE2353258 A DE 2353258A DE 2353258 C2 DE2353258 C2 DE 2353258C2
- Authority
- DE
- Germany
- Prior art keywords
- register
- control
- command
- data
- unit
- 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
Description
werden, welche der zwei Steuerzyklen betragenden Zeitverschiebung zwischen den Befehlen entsprechen.
Im folgenden ist die Erfindung anhand der Zeichnungen
näher erläutert, in denen ein Ausführungsbeispiel einer Datenverarbeitungsanlage gemäß der Erfindung
dargestellt ist Es zeigt
F i g. 1 ein Blockschaltbild einer Datenverarbeitungsanlage
gemäß der Erfindung,
F i g. 2 eine schematische Darstellung von Befehlen und ihrer gegenseitigen zeitlichen Versetzung bei
gleichzeitiger Verarbeitung mit dem Rechenwerk der Anlage,
F i g. 3 eine schematische Darstellung des Leitwerks
der Anlage gemäß F i g. 1,
Fig.4 eine schematische Darstellung des Rechenwerks
der Anlage von Fi g. 1,
F i g. 5 eine schematische Darstellung der Speichersteuereinheit von Fi g. 1,
F i g. 6 eine schematische Darstellung der Kanaleinheit
von F i g. 1 und
Fig.7 eine schematische Darstellung des Bedienungspults
von F i g. 1.
Es soll zunächst die Gesamtanlage betrachtet werden.
Die in F i g. 1 dargestellte Datenverarbeitungsanlage weist einen Hauptspeicher 2, eine Speichersteuereinheit
4, ein Leitwerk 8, ein Rechenwerk 10, eine Kanaleinheit 6 mit Ein- und Ausgabevorrichtungen und ein Bedienungspult
12 auf und arbeitet befehlsgesteuert, wobei eine organisierte Befehlsgruppe ein Programm bildet
Befehle und die Daten, auf weiche die Befehle angewandt werden, werden von den Ein- und Ausgabevorrichtungen
über die Kanaleinheit 6 durch die Speichersteuereinheit 4 in den Hauptspeicher 2 eingegeben. Von
dem Hauptspeicher 2 werden Befehle durch das Leitwerk 8 über die Speichersteuereinheit 4 abgerufen, verarbeitet
und steuern die Ausführung innerhalb des Rechenwerkes 10. Das in F i g. 1 dargestellte System ist aus
Zweckmäßigkeitsgründen kompatibel mit der Systemfamilie IBM 360. Einzelheiten über die Arbeitsweise von
Datenverarbeitungsanlagen können aus folgenden Veröffentlichungen
entnommen werden: »IBM System/360 Principles of Operation«, IBM Systems Reference Library,
Form A22-6821. »Introduction to IBM System/ 360 Architecture«, IBM System Reference Libary
C20-I667. »A Programmer's Introduction to the IBM Systems/360 Architecture, Instructions, and Assembler
Language«, IBM Systems Reference Library C20-1646. »IBM Systems/370 Principles of Operation«. IBM Systems
Reference Library GA22-7OOO.
Bei den in den Veröffentlichungen beschriebenen Dalenvcrarbeitungssystemen
besieht das Informationsformat aus acht Bits, die zu einer als Byte bezeichneten
Grundspeichereinheit organisiert sind. Jedes Byte umfaßt außerdem ein neuntes Bit zur Parität bei der Fehlersuche.
Wenngleich in der nachstehenden Beschreibung das neunte Bit in jedem Byte nicht ausdrücklich
genannt ist, wird vorausgesetzt, daß das jedem Byte ein Paritätsbit zugeordnet ist und das System in bekannter
Weise durchgehend mit normalen Paritätsprüfschaltungen versehen ist.
Zwei Byte werden zu einem als Halbwort bezeichneten größeren Feld und vier Byte oder zwei Halbwörter
/.u einem Als Wort bezeichneten, noch größeren Feld organisiert. Zwei Wörter bilden ein Doppelwort. Ein
Wort besteht aus vier aufeinanderfolgenden Bytes. Bei der Verwendung dieser Definitionen in der Beschreibung
ist angenommen, daE Wörter oder Bytes eine bei.· Anzahl von Bits enthalten können.
Das maschinelle Dätenvsrarbeitungssytem kann mit mehreren Datenformaten arbeiten, so daß Befehle und
Operanden unterschiedliche Länge aufweisen können, die jeweils von der auszuführenden Operation abhängig
ist DieBefehlsformate umfassen RR. RX, RS, SI und SS.
Typischerweise besteht der RX-Befehl aus einem 8-bit
OP-Köde. einem 4-bit Rl-Kode, einem 4-bit X-Kode,
einem 4-bit B2-Kode und einem 12-bit D2-Kode. Der
OP-Kode gibt einen aus 256 Befehlen an. Die Rl-, X2-
to und B2-Felder bezeichnen jeweils einen von 16 Aljgemeinfegistern.
Das D2-Feld enthält eine Verschiebungszahl zwischen 0 und 212—1. Als Beispiel für den RX-BefehL
addiert der AD-Befehl den Inhalt des durch das Rl-FeId identifizierten Registers zum Inhalt der Hauptspeicherstelle,
welche adressiert ist durch die Summe der Zahl im D2-Feld, addiert zum Inhalt des durch das
X2-Feld identifizierten Registers, wiederum addiert zum Inhält des durch das B2-Feld identifizierten Registers.
Das Ergebnis wird in das durch das Rl-FeId identifizierte
Register eingegeben. Die RX-Instruktionen machen zwei Zugriffe zum Speicher für f.?i Ausführung
erforderlich, nämlich einen zum Abfragen -,Herausholen)
der Befehle, und einen zum Abfragen (Herausholen) der beiden Operanden. Die RR-Befehle machen einen
Speicherzugriff erforderlich, während die SS-Befehle als Minimum c'/ei Speicherzugriffe erforderlich machen.
Die Definition der Befehle für die IBM-Systeme 360 und 370 ist in den obengenannten Veröffentlichungen
gegeben. Die Vorrichtung und das Verfahren zur Ausführung dieser Befehle werden im nachfolgenden beschrieben.
Das Leitwerk 8 von F i g. 1 ist in F i g. 3 in Einzelheiten dargestellt und umfaßt mehrere Adreßregister. Diese
Adreßregister umfassen das 12-bit D-Register 310 zur Speicherung der Verschiebung Dl oder D2, weiche
von den verschiedenen Befehlsfeldern erhalten wird, das 24-bit WA-Register 312 zum Speichern einer Adreßkonstante
K, das 24-bit X-Register 313 zum Speichern des durch das X2-Feld des Befehls adressierten R£gisters,
das 24-bit B-Register 314 zum Speichern des Inhalts des durch das Bl- oder B2-Feldes identifizierten
Registers und ein zum Speichern der Befehlsadresse dienendes 24-bit IA-Register 316. Während der anfänglichen
Befehlsabfragefoige speichert das lA-Pjegister die Bits 40 bis 63 des 64-bit PROGRAMM STATUS
WORD (PSW). Die Bits 32 bis 39 des PSW werden im PSW-I-Register 315 gespeichert Die Bits 0 bis 31 des
PSW werden im PSW-2-Register 348 gespeichert
Die Adreßregister sind mit Eingängen zu dem Effektivadreßregister 318 verbunden, welches den Inhalt der
ausgewählten Adreßregister addiert und eine Effektivadresse bildet, die das Eingangssignal zu dem Effektivadreßregister
EAR 322 bildet. Die im Register 322 gespeicherte Effektivadresse liefert feinen Eingang zurück
zu den Adreßregistern und ist als Eingang zur Speichersteuereinheit 4 und insbesondere zum Pufferadreßregister
BAR 363 über die Sammelschiene 362 geschaltet Vom Register 363 adressiert die Effektivadresse den
Schnellpuffer HSB 3C5 für den Zugriff zum gewünschten Befehl. Der Zugriffsbefehl ist ein Wort lang und wird
im IW-Register 388 gespeichert, von welchem er in das Befehlspufferregister IB 330 oder unmittelbar über die
Wählgatter 332 in die Befehlsfolgesteuereinheit (pipeline) 350 eingegeben wird.
Zur Erzeugung der jeweils benötigten Adressen und Eingabe derselben in die Adreßregister sowie zum Speichern
von Operanden und anderen Informationen weist die Befehlseinheit 8 einen geradzahligen Registerstapel
ERS 338 und einen ungeradzahligen Registerstapel ORS 339 auf. Beide Registerstapel 338 und 339 weisen
vier 32-bit scratch pad-Register (Hilfsregisier) und acht 32-bit Mehrzweckregister für eine Gesamtzahl von acht
scratch pad-Registern und sechzehn Mehrzweckregistern auf. Außerdem weisen der geradzahlige und der
ungeradzahlige Registerstapel 338 bzw. 339 jeweils vier 32-bit Register auf, die zusammen die vier 64-bit Gleitpunktregister bilden. Die Ausgänge jedes Registers in
den Registerstapeln 338 und 339 sind über entsprechende Gatter mit der Auslese-Sammelschiene ROBI und
der Auslese-Sammelschiene R0B2 verbunden. Die Sammelschiene ROB2 ist mit dem IR- Register 342 als
Eingang verbunden, während die Sammelschiene ROB2 als Eingang mit dem 2R-Register 341 verbunden ist. Das
IR-Register 342 und das 2R-Register 341 sind an ihren
Ausgängen über Sammelschienen 285 und 286 mit dem Rechenwerk 10 als Eingänge zur LUCK-Einheit 20 verbunden, und außerdem ist der Ausgang des iR-Registers über die Sammelschiene 352 als Eingang zu den
Speicherdaten-Wählgattern 386 mit der Speichersteuereinheit 4 verbunden. Die Sammelschienen ROBI und
ROB2 der Registerstapel 338 und 339 dienen außerdem als Eingänge zu den Adreßregistern. Zum Eingeben von
Information in die Registerstapel 338 und 339 ist das Ergebnisregister RR in dem Rechenwerk 10 als Eingang
zu dem Geradzahlschreibregister WRE 334 und zu dem Ungeradzahlschreibregister WOR 335 geschaltet, welche als Eingänge an dem geradzahligen bzw. dem ungeradzahligen Registerstpael 338 bzw. 339 liegen. Außerdem ist der Ausgang des Ungeradzahlschreibregisters
WOR 335 als Eingang an die Steuerregister 344 bis 348 geschaltet.
Der Ausgang der Steuerregister 344 bis 348 durchläuft Wählgatter 343, deren Ausgang die Auslese-Sammelschiene ROB3 bildet, die wiederum als Eingang an
das i R-Register 342 geschaltet ist Die Steuerregister 344 bis 348 dienen dazu, die allgemein von der ßefehlsfolgesteuereinheit 350 abgeleiteten Steuerfunktionen
entsprechend ihren Steuerzuständen in den Datenstrom des Datenverarbeitungssystems einzuspeisen.
Die Befehlsabfrage- und die Befehlsdarstellungsabschnitte der Befehlsfolge bestehen aus den Segmenten
PFO, IA, IBl und 1B2. Der Anfang der Verarbeitungsfolge wird durch den in Fig.3 dargestellten Sequenzer
oder Serienzähler 325 gesteuert, welcher die Befehlsabfragefolge steuert und den nächstfolgenden Befehl und
die Zielbefehlsabfragung festlegt. Nach der Vorabfrageverschiebung PFO erfolgt die Befehlsabfragefolgeverarbeitung des Sequenzers 325 in einem von vier Zuständen, nämlich dem ΙΑ-Zustand, dem IBl-Zustand, dem
Verblockungszustand oder dem Wartezustand Diese Zustände werden durch logische Bestimmungen in Abhängigkeit von Prioritäten und anderen Steuersignalen
innerhalb des Datenverarbeitungsystems festgelegt.
Bei der nächstfolgenden Befehlsanwahl durch den Sequenzer 325 erfolgt die Wahl, ob der nächste, in die
Befehlsfolgesteuereinheit 350 eingespeiste Befehl aus dem Befehlswort-IW-Register 388, der Speichersteuereinheit von F i g. 5 oder aus dem Befehlspuffer-I B-Register 330 herausgeholt wird. Die Festlegung des nächsten, in die Befehlsleitung 350 einzuspeisenden Befehls
durch den Sequenzer 325 ist abhängig von verschiedenen, an verschiedenen Stellen des Datenverarbeitungssystems erzeugten Steuersignalen.
Die Zielabfragung TF legt fest welcher Befehl in das IW-Register oder das IB-Register eingegeben wird und
den nächsten Befehl bildet, welcher in die Befehlsleitung
350 eingegeben werden soll. Die Zielabfragung TF ist
von verschiedenen, an verschiedenen Stellen innerhalb des Datenverarbeitungssysiems erzeugten Steuersignalen abhängig.
Die zur Steuerung der Zustände im Sequcnzcr 325
dienende logische Steuerung ist aus herkömmlichen Datenverarbeitungsschaltungen ausgeführt. So besieht der
Sequenzer typischerweise aus einem Serien- oder Reihenzähler, durch den vorgegeben ist, daß die Bcfehlsab-
fragung so lange in einer bestimmten Zählreihenfolge erfolgt, bis diese Reihenfolge beispielsweise durch einen
Zweigbefehl unterbrochen wird. Steuerungen dieser Art sind auf dem Gebiet der Datenverarbeitung bekannt.
Die Anfangssegmente PFO, IA, 1B2 der Befehlsfolgc
werden durch den Sequenzer 325 von F i g. 3 gesteuert verarbeitet. Der Sequenzer 325 arbeitet während der
Takte CO, Cl, C2 und C3. Das Vorabfragevcrschicbüngsscgiücnt PFO wird zwischen den Zeilpunkten C«>
μ bis Cl, d. h. während einer Taktperiode und einer Takizeit des Datenverarbeitungssystems ausgeführt. Während des PFO-Segments wird eine zum Inhalt des IA-Registers 316 zu addierende Zahl in das K-Registcr 312
eingegeben und im Zeitpunkt Cl gehalten.
Während der Adreßformation, lA-Segmcni. werden
die Register 310 bis 316 in entsprechender Weise in eins
Effektivadreßaddierwerk EAA 318 eingegeben, welches bis zu il'ei Eingänge addiert und eine Effektivadresse
bildet, die in das Effektivadreßregister EAR 322 cinge
geben wird, wobei diese Adresse im Zeitpunkt C2 gehal
ten wird. Während des Befehlsputfersegments IBl wird
die Effektivadresse aus dem Register 322 über die Sammelschiene 362 in das Pufferadreßregister BAR 363 geleitet, welches die in F i g. 5 dargestellte Speichersteuer-
einheit 4 darstellt. Das Register 363 wird im Zeitpunkt C3 gehalten. Das Halten von Daten im Zeilpunkt C3
dient dazu, den Schnellpuffer HSB 355 zu adressieren. Während des Puffersegments IB2 erfolgt der Zugriff zu
adressierter Information im Puffer 355 und das Halten
derselben im Befehlswort-IW-Register 388 im Zeilpunkt C4.
Im Zeitpunkt C4 werden die Daten in die Befehlsleitung 350 eingespeist. Die Befehisleitung 350 weist die
Register- und Steuerstufen 301, 302, 303, 304, 305 und
306 auf. Die Stufen 301, 302 und 303 sind jeweils während zwei Segmenten aktiv. Diese Stufen speichern je- V
weils Befehlsleitungsinformation und erzeugen wäh- ; rend zwei Zeittakten Cl 1 Steuersignale. Die im Register
der Stufe 304 gehaltene Information wird während der ■■;
Zeitspanne von Cl 1 bis Cl 2 verwandt, um Steuerstgnalc ';
zu erzeugen, weiche das Prüfsegmeni der Befeiiisfolgc ·-,
bilden. Beim Taktimpuls Cl2 wird das Informationsseg- ,
ment der Stufe 304 im Register der Stufe 305 gehalten. Schließlich wird die Information im Register der Stufe
305 während des W-Segments, d. h. während der Zeit- f spanne zwischen C12 und Cl 3 benutzt um zum Schrei- l·'
ben von Information dienende Steuersignale zu erzeu- ·"; gen. Danach wird die Information in der Befehlsverbindung 350 verworfen und nicht langer zurückgehalten. ;
Als nächstes sei das Rechenwerk 10 von Fig. 1. wel- ;
dies in F i g. 4 in Einzelheiten dargestellt ist, beschrieben. Das Rechenwerk 10 weist eine Logikprüfvorrich- ■;
tung auf. die als LUCK-Einheil 20 bezeichnet ist Der {■■■
LUCK-Einheil 20 werden Eingangsdaten über die Kin- 2f;
gabe-Sammelleitungen 285 und 286 vom 1R-Rcgister ^
342 und vom 2R-Register 341 des Leitwerks von F i g. 3 ■']
zugeführt
gleiche und Bilanzahlzählungen aus und verdichtet Daten
von einem auf ein anderes Format. Die LUCK-Einhcit 20 liefert entsprechende Ausgangssignale an den
Ausgangs-Sammelsctvenen 283 und 284, welche als Eingänge für die Arbeitsregister des Datenverarbeitungssysicms
dienen. Weitere Einzelheiten der LUCK-Einhcii 20 sind in dem US-Paient 38 81 173 der Anmelderin
beschrieb··-'.
Das Rechenwerk IO umfaßt mehrere Register, insbesondere ein 8-bit I-Register 22, ein 32-bit 1H-Register
24. ein 32-bit IL-Register 28, ein 32-bit 2H-Re?ister 25,
ein 2L-Register 29, ein 8-bit B-Register 23, ein 4-bit G-Register 36, ein 40-bit S-Register 35. ein 40-bit C-Registcr
37. ein 40-bit A-Register 39 und ein 32-bit R-Regisier34.
Außerdem umfaßt das Rechenwerk 10 die Tisch-Sichteinhcit
(table-look unit) 26. welche als Eingang an das I-Rcgistcr 22 geschaltet ist, welches in Verbindung
mit dem der Datenverarbeitungsanlage von F i g. 1 verwendeten
Teilcralgorithmus verwendet wird.
Das F.ingcbcn und Auslesender Register des Rechenwerks
10 erfolgt durch die fünf Funktionseinheiten des Datenverarbeitungssystems, welche aus dem Vervielfacher
19, dem Addierwerk 18, dem Schieberegister 30, dem Bytcnaddierwcrk 32 und der vorstehend beschriebenen
LUCK-Einheit 20 bestehen.
Der Vervielfacher 19 in dem Rechenwerk 10 ist eine Kombination aus Übertragersparnis- und Übertragweilergabe-Addierwerk
(carry-save, carry-propagate adder), dem ein 8-bit Vervielfacherbyte Ai auf den Eingabesamnv
!schienen 235 und ein 32-bit Multiplikator B auf den Eingabe-Sammelschienen 236 und ein 40-bit
Teilprodukt C (i-1) auf der Eingabc-Sammelschiene 233
zugeführt wird. Der Vervielfacher 19 führt die Operation (Ai) (B) + qi-l)=Rl(i)R2(i) aus. in welcher Rl(i)
und R2(i) Teilergebnisse sind, welche jeweils im S-Register 35 bzw. im C-Register 37 gespeichert werden. Diese
Teilergebnisse werden dann im Übertrag-Weitergabe-Addierwerk 18 addiert und bilden das Teilprodukt C(i),
welches im A-Register 39 gespeichert wird. Das A-Register 39 liefert das Teilprodukt-Eingangssignal in der
Sammeleilung 233 zum Vervielfacher 19, wodurch die Mchrfachiteration fortgesetzt wird. Weitere Einzelheiten
des Vervielfachers 19 sind in dem US-Patent 38 40 727 der Anmelderin beschrieben.
Das Addierwerk 18 des Rechenwerks 10 erhält 32-bit Operanden als Eingänge über die Sammelschienen 182
und 183 und 40-bit Operanden als Eingänge über die Sammclschienen 180 und 181 zugeführt und bildet einen
Endsummenausgang in der Leitung 185. Das Ausgangssignal des Addierwerks 18 wird in das A-Register 39, das
R-Rcgister 34 oder ein anderes der Arbeitsregister in der Ausführungseinheit gehalten. Weitere Einzelheiten
des Addierwerks 18 sind in dem US-Patent 38 05 075 der Anmelderin beschrieben.
Das Schieberegister 30 des Rechenwerks 10 erhält einen 32-bit Einwort-Operanden als Eingang entweder
über die Eingangs-Sammelleitung 14 oder über die Eingangs-Sammelleitung
15 oder aber auch einen Doppelwort-Operandeneingang über beide Sammelleitungen 14 und 15 zugeführt und führt Verschiebungen nach
links oder nach rechts aus, so daß in der 32-bit Ausgangs-Sammelleitung 63 ein verschobenes Ausgangssignal
erscheint Weitere Einzelheiten des Schieberegisters (shifter) 30 sind in dem US-Patent 37 90 960 der
Anmelderin beschrieben.
Dem Bytesaddierwerk 32 des Rechenwerks 10 werden Eingangs-Operandenbyten A und B an den 8-bit
Eingangs-Sammelleitungen 55 bzw. 56 zugeführt, und dieses führt die doppelten algebraischen Additionen
A —B und B-A in den Ausgangs-Sammelleitungen 98
und 99 aus. Außerdem dient das Bytesaddierwerk 32 in bekannter Weise dazu, 8-bit-Einzeladditionen A+ B
auszuführen. Weitere Einzelheiten des Bytesaddierwerks 32 sind in dem US-Patent 38 14 925 der Anmelderin
beschrieben.
Die vermittels der Datenverarbeitung in einer der
ίο Funktionseinheiten innerhalb des Rechenwerks 10 nach
F i g. 4 erhaltenen Endergebnisse werden im R-Register 34 gespeichert, von welchem die Ergebnisse über die
Sammelleitung 65 zu anderen Teilen des Datenverarbeitungssystems wie z. B. zu dem Effektivadreßaddierwerk
EAA 318 in dem Leitwerk 8 von Fig.3 und zu dem Geradzahlschreibregister 334 und dem Ungeradzahlschreibregister
335 geführt werden.
Die Steuerung der Funktionseinheiten und der Register in dem Rechenwerk 10 erfolgt nach bekannten Verfahren
und vermittels bekannter Einrichtungen, die allgemein durch die Ausführungseinheitssteuerung 27 in
F i g. 4 angedeutet sind. Der entsprechende Taktgeber und ein Verfahren zur Taktsignalerzeugung in einem
Datenverarbeitungssystem sind in einer weiteren.
gleichzeitig eingereichten Patentanmeldung US-Patent 37 92 362 der Anmelderin beschrieben.
Die in Fig.5 dargestellte Speichersteuereinheit 4 weist einen zur Informationsspeicherung dienenden
Puffer 355 auf, der eine verhältnismäßig kurze Zugriffszeit hat. Der Puffer wird durch die Adresse im Pufferadreßregister
BAR 363 adressiert, das durch die Eingangs-Sammelschiene
362 vom Effektivadreßregister EAR 322 des Leitwerks von F i g. 3 gespeist wird. Die im
Puffer 355 angewählten Informationsstellen bewirken das Abrufen oder Speichern der entsprechenden Information
von bzw. im Hauptspeicher MS, des Rechenwerks, der Kanaleinheit oder dem Leitwerk. Die Verbindung
zum Hauptspeicher besieht aus den Sammelschienen 351, die als Eingänge und Ausgänge für das
Hauptspeicherdatenregister MSD 384 geschaltet sind. Jede Sammelschiene 351 ist acht Bytes (64 bits) breit,
und das gleiche trifft auch auf das Register 384 zu. Das Register 384 erhält als Eingänge außerdem vier Bytes
vom primären Geschwindigkeits-Pufferspeicher PHSB 367 und dem alternativen Geschwindigkeits-Pufferspeicher
AHSB 368. Das Register 384 weist einen vier-Bytes-Ausgang auf, der mit dem Speicherdaten SD-Register
385 verbunden ist welches seinerseits über einen vier-Bytes-Ausgang als Eingang an die Pufferspeicher
367 und 368 geschaltet ist. Die Verbindung zwischen Hauptspeicher 2 von F i g. 1 und Speichersteuereinheit 4
erfol&t auf der Basis von acht Bytes, während die Verbindung
zwischen der Speichersteuereinheit 4 und dem Rechenwerk 10 von F i g. 1 auf der Basis von vier Bytes
erfolgt. Die Verbindung von Rechenwerk zu Speichersteuereinheit 4 erfolgt über die Eingangs-Sammelschiene
352 von dem Rechenwerk, welche mit den Speicherdaten-Auswahlgattern
386 zur Speicherung im vier-Bytes-SD-Register 385 verbunden ist
Die Verbindung zwischen der Speichersteuereinheit 4 und dem Rechenwerk 10 von Fig. 1 besteht aus den
Eingabe-Sammelschienen 352 über die Speicherdaten-Auswahlgatter 386, vermittels welcher Daten im Speicherdaten-SD-Register
385 der Speichersteuereinheit 4 gespeichert werden. Die Datenausgabe zum Rechenwerk
10 erfolgt über die Sammelschiene 3S5, die ebenfalls vier Bytes breit ist Die Verbindung zwischen der
Kanaleinheit 6 und der Speichersteuereinheit 4 von
F i g. 1 erfolgt über die Eingabe-Sammelschiene 353 zu den Auswahlgattern 386 und zur Ausgabe-Sammelschiene 394, die beide ebenfalls vier Bites breit sind. Die
Verbindung zwischen der Speichersteuereinheit 4 und dem Leitwerk 8 von F i g. 1 erfolgt über die Eingabeadressier-Sammelschiene 362 und die Ausgabe-Sammelschiene 3%, die jeweils vier Bytes breit sind.
Aus der vorstehenden Beschreibung ist ersichtlich, daß die Speichersteuereinheit 4 mit dem Hauptspeicher
auf der Basis von 8-Bytes-Datenübertragungen verkehrt, während die Verbindung mit dem übrigen Teil
des Datenverarbeitungssystems einschließlich Leitwerk 8, Rechenwerk 10 und der Kanaleinheit 6 auf der Basis
von 4-Bytes-Datenübertragungen erfolgt.
Der Puffer 355 wird durch das Pufferadreßregister BAR 363 adressiert, das ein Eingangssignal von der
Sammelschiene 362 zugeführt erhält, welche mit dem Effektivadreßregister 322 in dem Leitwerk nach F i g. 3
verbunden ist. Außerdem erfolgt die Eingabe in das Register 363 durch eine Ausgabe von dem Bytes-Addierwerk 361 oder dem Leitungsadditions-Addierwerk 360,
beide von der Speichersteuereinheit 4. Wenn sich die Pufferadresse im Pufferadreßregister 363 befindet, wird
sie gleichzeitig zur primären Pufferadreßeinheit PBA 365 oder zur alternativen Pufferadreßeinheit
ABA 366 geleitet. Die Pufferadreßeinheiten 365 und 366 dekodieren die Bits höherer Ordnung und wählen zwei
bestimmte Speicherstellen aus, nämlich eine im primären Gechwindigkeits-Pufferspeicher 367 und eine im alternativen Geschwindigkeits-Pufferspeicher AHSB 368.
Die Bits niedrigerer Ordnung aus dem Register 363 werden unmittelbar in die Pufferseicher 367 und 368 eingegeben. Die aus beiden Pufferspeichern 367 und 368 abgerufenen Wörter werden jeweils in den primären Datenmanipulator 370 bzw. den alternativen Datenmanipulator 371 eingegeben. Duch Vergleich in den Datenmanipulatoren 370 und 37! innerhalb des Vergleichsregisters 378 werden entweder die Daten aus dem primären Pufferspeicher 367 im Manipulator 370 oder die
Daten aus dem alternativen Pufferspeicher 368 im alternativen Manipulator 371 angewählt. Die Datenmanipulatoren 370 und 371 verschieben außerdem die Daten,
um einwandfreie Ausrichtung zu gewährleisten, und handhaben Zugriffsdaten zur Übertragung zu anderen
Einheiten innerhalb der Datenverarbeitungsanlage. Der ausgewählte Manipulator 370 oder 371 führt die Zugriffsinformation vom Puffer 355 zu einem der Register
388 bis 391. Wenn ein Befehlswort zu dem Leitwerk geführt werden soll, wird dieses im IW-Register 388
gespeichert. Wenn ein Operandenwort zu dem Rechenwerk übertragen werden soll, wird dieses im OW- Register 389 gespeichert Wenn ein Kanalwort zur Kanaleinheit übertragen werden soll, wird dieses im CW-Register 390 gespeichert Das Register 391 wird in Verbindung mit Fehlersuchinformation verwendet und speichert den Ausgang des Puffers 355, beispielsweise in
Verbindung mit (nicht dargestellten) Fehlerkorrekturschaltungen, welche eine Korrektur von Zugxiffsinformation aus dem Puffer 355 gestatten.
Die Register 374 bis 378 werden in Verbindung mit dem Adressieren und der Adreßerneuerung des Pufferspeichers verwendet Das Register 374 wird in Verbindung mit Befehlsabfragung IF, das Register 375 in Verbindung mit Operandenabfragung OP, das Register
in Verbindung mit Kanalabfragung und das Register 377 in Verbindung mit Vorabfragung PF zur identifizierung des nächsten, erforderlichen Zugriffs zum Puffer
355 verwendet Das Vergleichsregister COMP 378 wird
in Verbindung mit der Vorabfrageadressc verwendet,
welche im Register 377 gespeichert und beim Vergleich im Datenmanipulator 371 enthalten ist.
Der Ausgang der Register 374 bis 377 wird durch die
s Auswahlgatter 380 ausgewählt und in das Leitungsadditions-Addierwerk 360 eingegaltert, welches die vorhergehende Adresse zur nächsterforderlichen Adresse aufbaut, oder zu dem Bytes-Addierwerk 361 der Speichersteuereinheit 4 gegattert, welche den Bytcnabschniit
ίο der Adresse aufbaut. Die Eingänge von den Addierwerken 360 und 361 bilden in Verbindung mit den Eingängen von dem Effektivadreßregister des Leitwerkes zusammen die volle Adresse im Pufferadreßregistcr363.
Weitere Einzelheiten hinsichtlich der Arbeitsweise
der Speichersteuereinheit innerhalb des Datenverarbeitungssystems nach Fig. 1 sind in dem US-Palcpi
38 58 983 der Anmelderin beschrieben.
Die in Fig.6 dargestellte Kanaleinheit 6 weist die
Kanalrcgistcr 404 auf, die über die Dssen-Sammdschienen 353 und 394 und über die Adreß-Sammclschiene 358
mit der Speichersteuereinheit in Verbindung stehen. Die Daten, welche der Speichersteuereinheit zugeführt bzw.
von dieser abgerufen werden, werden in den Kanalrcgistern 404 gespeichert. Die Kanalregister 404 übertragen
Daten zu den Eingabe-Ausgabe-Steuerungen CTLR 311 über die entfernt angeordnete Anpaßlogik (interface) RlL 407. Die Daten in den Registern 404 werden im
Kanaldatenmanipulator CHDM 405 manipuliert und im örtlichen Kanalspeicher LCS 406, sowie im Unterkanal-Pufferspeicher SBS 408 gespeichert. Die Adressen, in
welchen die Daten von den Kanalregistern 404 im HBS-Puffer 355 der Speichersteuereinheit gespeichert werden, werden über die Sammelschiene 358 übertragen.
Die Adresse der Eingabe- und Ausgabeeinheiten wird von dem Leitwerk zur Kanalsteuerlogik CCL 403 übertragen. Die Kanalsteuerlogik CCL 403 weist Eingänge
zu sämtlichen Einheiten 404 bis 408 der Kanaleinheit 6 auf. Die Steuerstufen 311 sind in bekannter Weise jeweils mit einer (nicht dargestellten) Eingabe- und Ausgabevorrichtung verbunden, an welcher Daten in die
Datenverarbeitungsanlage eingegeben bzv aus dieser entnommen werden. Beispiele für Eingabc-Ausgabe-Vorrichtungen sind Magnetbandantriebc, Anschlüsse
von Kathodenstrahlröhren, Magnetscheibcnantricbc. Das in Fig.7 dargestellte Bedienungspult 12 enthält
einen programmierbaren digitalen Rechner 518 mit einem diesem zugeordneten Speicher 520 zur Steuerung
mehrerer Steuerstufen CTLR 510 bis 516 und einer Steuerstufe 411.
so Die Steuerstufe 411 bildet eine Steuerstufe 411 der
Kanaleinheit 6 von F i g. 6 und ist durch die Sammelschiene 413 mit der entfernten Anpaßlogik 407 von
F i g. 6 verbunden. Über die Steuerstufe 411 von F i g. 7 ist das Bedienungspult als Eingabe- und Ausgabevorrichtung mit der Datenverarbeitungsanlage von F i g. 1
verbunden.
Das Scheibensteuergerät 516 ist mit dem Rechner zur Anpassung an einen 128K-Wort-Scheibenspcichcr
528 verbunden. Die Steuerstufe 515 paßt den Rechner 518 an die Kathodenstrahlröhren-Sichtanzeige CRT
an. Die Steuerstufe 154 paßt den Rechner 518 an die Tastatur 530 an. Die Steuerstufe 513 paßt den Rechner
518 an das Panel 524 an. Die Steuerstufe 512 paßt den Rechner 518 an die Leistungssteuerung an. Die Steuerte stufe 510 paßt den Digitalrechner 518 an das MODEM
526 an, welches seinerseits mit einer Nachrichtenverbindung wie z. B. einer Fernsprechleitung verbunden ist
Die Steuerstufe 511 paßt den Rechner 518 an praktisch
sämtliche Schaltungen in der Speichersteuereinheit, dem Leitwerk und dem Rechenwerk der Datenverarbeitungsanlage
von Fig. 1 an. Die Steuerstufe 511 ist üb' ■· die Sammelschiene 533 mit einer Bcdienungspult-.StciicraiipaUschaltung
525 verbunden. Einzelheiten der Slcueislufc 511, der Stcueranpaßschaltung 525 und der
Art und Weise, in welcher das Bedienungspult 12 an die Datenverarbeitungsanlage von F i g. 1 angepaßt ist, um
in der in Fig. 1 dargestellten Datenverarbeitungsanlage
Befehle ausführen zu können, ist in US-Patent 41 49 244 (= DR-OS 23 53 253) der Anmelderin beschrieben.
Das Bedienungspult 12 ermöglicht außerdem die Abtastung der im System von Fig. 1 enthaltenen Daten
unabhängig von den zur Befehlsausführung normalerweise verwendeter Datenkanälen.
Die Befehlsverarbeitung und die Arbeitsweise der Datenverarbeitungsanlage ist kurz folgende: Entsprechend
den baulichen Anforderungen an ein Datenverarbcilungssystem
wie z. B. die in den genannten Veröffentlichungen beschriebenen IBM-Systeme 3öö und 370
ruft das Leitwerk von Fi g. 3 vermittels der Folgelogik im Scqucnzcr 325 das Programm-Statuswort PSW aus
einer festen Stelle im Speicher ab. In der Regel ist das Programmstatuswort in der Stelle O des Hauptspeichers
gespeichert, so daß der Sequenzer 325 auf einen Startbefehl sämtliche O in das IA-Register 316 eingibt.
Die ausschließlich aus O bestehende Adresse wird durch das Addierwerk 318 hindurch ohne Veränderung in das
F.ffektivadreßregister 322 übertragen. Das Effektivadreßregister gibt die Adresse gesteuert durch den Sequenzer
325 über die Sammelschiene 362 zur Speicher-Steuereinheit 4, und zwar in das Pufferadreßregister 363
von F i g. 5.
In F i g. 5 bewirkt die ausschließlich aus O bestehende
Adresse im Pufferadreßregister 363 den Zugriff zum Programm-Statuswort im Pufferspeicher 355 und gibt
das PSW in das lW-Register 388 ein. Das PSW wird vom Register 388 über die Sammeiscnienen 398 durch das
Rechenwerk 10 von F i g. 4 durchgegeben, erscheint in der Ausgangs-Sammelschiene 365 im WRO-Register
335. wird von dieser im PSWI-Register 315, im IA-Registcr
316 und im PSW2-Register 348 gespeichert. Der im IA-Registcr 316 gespeicherte Abschnitt durchläuft das
Addierwerk 318, das Effektivadreßregister 322 und wird in das IA-Rcgister316 eingegeben.
Wenn das PSW einwandfrei abgerufen und eingegeben wird und die Statustriggerungen und die anderen
Steuerungen in der Steuerung 308 entsprechend bekannten Techniken einwandfrei eingestellt sind, läuft
das System an und ist bereit zur Ausführung des durch die Adresse des ersten Befehls innerhalb" des Programm-Statusworts
identifizierten Programms. Für den Anfangsbefehl ist die Vorabfrageverschiebung PFO regelmäßig
O, so daß deshalb der in das K-Register durch PFO eingegebene Wert null beträgt Dann addiert die
PFO die Zahl 4 zum Wert des K-Registers, wodurch eine Steigerung um vier Bytes, ein Wort über den vorhergehenden
Wert, ausgedrückt wird. Die Verarbeitung der Befehle beginnt mit dem Sequenzer 325, welcher die
Adresse vom IA-Register 316 des ersten Programmbefehls durch das Addierwerk 318 leitet einen erforderlichen
Wert von dem K.-Register oder einem anderen Register addiert und in das Effektivadreßregister
eingibt. Vom Effektivadreßregister 322 wird die Adresse in der vorstehend beschriebenen Weise wie beim
Abfragen des Programm-Statusworts zur Speichersteuereinheit 4 geleitet um Zugriff zu dem gewünschten
Befehl zu erhalten. Die Befehlsübertragung vom IA-Register 316 und die Addition im Addierwerk 318 zwecks
Erhalt der Effektivadresse im Register 322 erfolgt während des ΙΑ-Segments jeder Befehlsfolge. Die Übertragung
durch das Addierwerk 318 vom Register 316 zum r>
Register 322 erfolgt gesteuert durch einen Taktgeber innerhalb der Steuerung 308 dem Leitwerk. Der Taktgeber
und die Gatterung erfolgt entsprechend den Prinzipien die in einer weiteren, gleichzeitig eingereichten Patentanmeldung
(DE-OS 23 53 253, US-Patent 37 92 363) der Anmelderin mit dem Titel: »Taktgeber und Verfahren
zur Taktsignalerzeugung in einem Datenverarbeitungssystem« beschrieben sind. Im einzelnen werden
die Daten in das Register 316 während des Taktimpulses Cl eingegeben und dabei durch den Datenweg mit dem
Addierwerk 318 übertragen und in der vorstehend beschriebenen Weise durch den Taktimpuls C2 in das Register
322 eingegeben.
Das IBl-Segment der Befehlsverarbeitung zwischen
den Taktimpulsen C2 und C3 überträgt Daten vom Effekiivadreßregistcr
EAR 322 zum Pufferadreßregister
BAR 363 in der Speichersteuereinheit 4. Das IBl-Segment
bildet die Adresse im Register 363 und beginnt mit der Adressierung des Puffers 355, welcher im so adressierten
Zustand den benötigten Befehl von den Pufferspeichern 367 oder 368 durch die Datenmanipulatoren
370 und 3"1 abruft und die Zugriffsinformation während des Taktimpulses C4 im IW-Register 388 speichert. Der
Informationszugriff vom Puffer 355 wird während des Segments 1B2 der Befehlsverarbeitung zwischen den
Taktimpulsen C3 und C4 vervollständigt d. h. beendet. Wenn die Daten durch den Taktimpuls C4 in das Register
388 eingegeben sind, beginnt das D-Segment der Befehlsverarbeitung mit der Dekodierung des Befehls
im Register 388 über Sammelschienen 396 und Wählgatter 332, welche die Eingänge zur Befolgesteuereinheit
350 bilden.
Das D-Segment der Befehlsfolgesteuereinheit 350 beginnt
mit dem Taktimpuls C4> und in diesem Zeitpunkt wird der Befehl dekodiert Für RX-Befehle werden
Steuersignale erzeugt, aufgrund deren entsprechende Adreßregister mit Information beschickt werden, die
von den Registerstapeln 338 und 339 eingegeben worden ist. Die dekodierten Steuersignale veranlassen in
Verbindung mit der Steuerung 308 des Leitwerks die Anwahl der entsprechenden Register in den Registerstapeln
338 und 339, so daß die Information während des R-Segments der Befehlsfolge zwischen den Taktimpulsen
C5 und C6 gelesen werden kann und Daten aus den Registern 338 und 339 zugänglich gemacht werden, soso
wie diese Information beim Taktimpuls C6 in ausgewählte der Register 310 bis 316 eingegeben wird.
Wenn die Operandenadreßinformation in den entsprechenden
Adreßregistern 310 bis 316 gespeichert ist. veranlaßt das Steuersignale erzeugende OA-Segment
beim Taktimpuls C6, daß die Operandenadresse des Operanden aus dem Speicher herausgeholt und in das
Addierwerk 318 eingegeben wird. Das Addierwerk 318 addiert die Verschiebung aus dem D-Register 310 zur
Zahl im X-Register 313 zur Grundzahl im Register 314. Diese drei Zahlen werden durch den Taktimpls C6 in
das Addierwerk 3t8 eingegeben, welches die Summe im Effektivadreßregister 322 bildet in weichem diese Summe
durch den Taktimpuls C7 gehalten wird.
Der Taktimpuls C7 leitet das OBl-Segment der Befehlsfolge
ein, welches Steuersignale erzeugt aufgrund deren die Effektivadresse im Register 322 über die Sammelschiene
362 zum BAR-Register 363 der Speichersteuereinheit durchgegattert und in diesem durch den
13
Der Taktimpuls C8 löst das OB2-Segment aus, in welchem der adressierte Operand vom Pufferspeicher 355
abgerufen wird, se daß er vermittels des Taktimpulses
C9 im OW-Register389 gespeichert werden kann.
Der Taktimpuls C9 löst das neunte El-Segment aus,
während welchem der Operand im Register 389 als Eingangssignal zur LUCK-Einheit 20 in dem Rechenwerk
10 von Fig.4 durchgegeben wird. Gleichzeitig damit
wird ein zweiter Operand aus den Registern 341 oder 342 ebenfalls durch den Taktimpuls C9 als Eingang in
4ie LUCK-Einheit 20 eingegeben. Das El-Segment ist ein Ausführungstakt, welcher auf zwei Eingabeoperanden an die LUCK-Einheit 20 einwirkt und ein Ergebnis
erzeugt, waches durch den Taktimpuls ClO in einem
entsprechenden Arbeitsregister 23,24,25,28,29 oder 36
eingespeichert wird.
Der Taktimpuls ClO löst das E2-Segment aus, während weicheni die Stufe 304 Steuersignale erzeugt,
durch welche Operanden aus den Arbeitsregistern ausgegattert und zu den entsprechenden, übrigen Funktionseinheiten, nämlich dem Addierwerk 18, dem Verfielfacher 19, dem Schieberegistger 30 und dem Bytenaddierwerk 32 eingegeben werden. Das Ausgabeergebnis der ausgewählten Funktionseinheit wird durch den
Taktimpuls Cl 1 in einem der Register 34,35,37 oder 39
gespeichert
Der Taktimpuls Cl 1 löst das CK-Segment aus, während welchem Steuersignale erzeugt werden, aufgrund
deren das Datenverarbeitungssystem dazu gebracht wird die Gültigkeit des erhaltenen Ergebnisses vor dem
Einschreiben dieses Ergebnisses in den Speicher zu überprüfen und ggf. Quelldaten zu beseitigen, weiche
ohne Verlust an Verarbeitungszeit nicht ohne weiteres rückgewonnen werden können. Der Prüftakt wird durch
den Taktimpuls Cl 2 vervollständigt, d. h. beendet Der Takt von Cl 1 bis C12 überträgt außerdem das Ergebnis
aus dem R-Register 34 in eines der Register 334 oder 335, in welchem das Ergebnis dann durch den Taktimpuls C12 gehalten wird.
Der Taktimpuls C12 leitet das W-Segment ein. aufgrund dessen die Stufe 306 bei Abwesenheit eines während des CK-Segments ermittelten Fehlers Steuersigna-Ie erzeugt, vermittels welcher das Ergebnis aus den Registern 334 oder 335 in die Registerstapel 338 oder 339
eingespeichert wird.
so
55
60
b5
Claims (3)
1. Datenverarbeitungsanlage mit einem Taktge- arbeitenden Daten aufweist wobei jeder Befehl in Verber (306) zur Abgabe von Taktsignalen für die Fest- 5 arbeitungssegmente aufgeteilt wird und jedes Verarbei-Iegung von Steuerzyklen zur Steuerung der Anlage, tungssegment während mindestens eines Steuerzyklus
welche einen Hauptspeicher (2) zur Speicherung von ausgeführt wird, und wobei die Anlage ferner ein Leit-Befehlen und gemäß den Befehlen zu verarbeiten- werk aufweist, das Befehle aus dem Hauptspeicher abden Daten aufweist, wobei jeder Befehl in Verarbei- ruft und die Befehle nacheinander so weiterleitet, daß
tungssegmente aufgeteilt wird und jedes Verarbei- io Verarbeitungssegmente verschiedener Befehle gleichtungssegment während mindestens eines Steuerzy- zeitig ausgeführt werden (Pipeline-Prinzip), und wobei
klus ausgeführt wird und wobei die Anlage ferner die Anlage ein Rechenwerk zur Verarbeitung von in
ein Leitwerk (8) aufweist, das Befehle aus dem dem Hauptspeicher gespeicherten und daraus abgerufe-Hauptspeicher (2) abruft und die Befehle nacheinan- nen Daten zur Ausführung bestimmter Verarbeitungsder so weiterleitet, daß Verarbeitungssegmente ver- 15 segmente enthält
schiedener Befehle gleichzeitig ausgeführt werden Bei einer bereits bekannten Anlage dieser Art ([BM
(Pipeline-Prinzip), und wobei die Anlage ein Rechen- Journal, Januar 1967, Seite 8—24) werden Speichewerk (10) zur Verarbeitung von in dem Hauptspei- rungsüberlappung, Mehrfachpuffer und parallele Auscher gespeicherten und daraus abgerufenen Daten führung arithmetischer Operationen verwendet, um eizur Ausführung bestimmter Verarbeitungssegmente 20 ne optimale Zeitversetzung um einen Steuerzyklus zu
enthält dadurch gekennzeichnet, erreichen. Die Eingabe von Befehlen in eine Befehls- ■
daß in dem Leitwerk (8) eine Befehlsfolgesteuerein- Steuerleitung mit einer zeitlichen Versetzung von einem I
heit (350) mit mindestens drei Stufen (301,302,303) Steuerzyklus kann zwar theoretisch als Optimum ange- I
vorgesehen ist von denen jede ein Register zur Spei- sehen werden, jedoch steht bei einer Anlage mit Be- |
cherung eines Befehls enthält und Steuersignale zur 25 fehlssteuerleitung der zusätzliche Aufwand an Appara-Ausführung von Verarbeitungssegment (DR bzw. türen, der notwendig ist um eine zeitliche Versetzung
OA, OBl bzw. OB2, El) des gespeicherten Befehls um einen Arbeitszyklus zu erhalten, in keinem angemeserzeugt wobei die Register in Reihe geschaltet sind. senen Verhältnis zu den damit zu gewinnenden Vorteidaß die Taktsignale (C4 bis C9) die Register zur len.
schrittweisen Weiterleitung jedes Befehls von Stufe 30 Der Erfindung liegt die Aufgabe zugrunde, eine Dazu Stufe ansttuem, wobei jede Stufe die Ausführung tenverarbeitungsanlage der eingangs genannten CaI-anderer Verarbeitungsnegmep'e jedes Befehls steu- tung zu schaffen, die es bei einfachem Aufbau ermö»gert, licht Konflikte von Verarbeitungssegmenten verschie-
und daß eine Einrichtung (332, ~25) zum schrittwei- dener Befehle hinsichtlich benötigter gemeinsamer Bausen Laden der Befehle in das Register der ersten 35 einheilen der Datenverarbeitungsanlage zu vermeiden.
Stufe mit einer zeitlichen Versetzung zwischen den Diese Aufgabe wird erfindungsgemäß dadurch gelöst
Befehlen vorgesehen ist, welche gleich der Dauer daß in dem Leitwerk eine Befehlsfolgesteuereinheit mit
einer ganzen Zahl von Steuerzyklen ist, die größer mindestens drei Stufen vorgesehen ist, von denen jede
als eins aber kleiner als ein der Dauer der zur Aus- ein Register zur Speicherung eines 2efehls enthält und
führung eines Befehls erforderlichen Zahl von Steu- 40 Steuersignale zur Ausführung von Verarbeitungsscgerzyklen entsprechendes Maximum ist menten des gespeicherten Befehls erzeugt, wobei die
2. Datenverarbeitungsanlage nach Anspruch 1, da - Register in Reihe geschaltet sind,
durch gekennzeichnet daß sie eine Einrichtung (32S) daß die Taktsignale die Register zur schrittweisen Wci-
enthält, die dazu dient, die zeitliche Versetzung zwi- terleitung jedes Befehls von Stufe zu Stufe ansteuern,
sehen den Befehlen so zu regeln, daß sie zwei Steuer- 45 wobei jede die Ausführung anderer Verarbeitungsseg-
zykien beträgt. mente jedes Befehls steuert,
3. Datenverarbeitungsanlage nach Anspruch 2, da- und daß eine Einrichtung zum schrittweisen Laden der
durch gekennzeichnet, daß das Rechenwerk (10) ei- Befehle in das Register der ersten Stufe mit einer zciiline Mehrzahl von Funktionseinheiten (18,19,20, 30, chen Versetzung zwischen den Befehlen vorgesehen ist,
32) zur Ausführung der Befehle umfaßt, von denen 50 welche gleich der Dauer einer ganzen Zahl von Steuerjede dazu dient einen Bearbeitungsvorgang an ein- zyklen ist, die größer als eins, aber kleiner als ein der
gegebenen Daten durchzuführen, um einmal in je- Dauer der zur Ausführung eines Befehls erforderlichen
dem Steuerzyklus Ausgangsdaten zu bilden, und daß Zahl von Steuerzyklen entsprechendes Maximum ist.
mindestens zwei solcher Funktionseinheiten in Rei- Bei einer bevorzugten Ausführung der Erfindung enthe geschaltet sind, so daß die von einer ersten Funk- 55 hält die Datenverarbeitungsanlage eine Einrichtung, die
tionseinheit (20) ausgehenden Daten an eine zweite dazu dient, die zeitliche Versetzung zwischen den Bc-Funktionseinheit (18,19,30) oder (32) weitergeleitet fehlen so zu regeln, daß sie zwei Steuerzyklen beträgt,
werden und die Datenverarbeitungsvorgänge der Das Rechenwerk umfaßt vorzugsweise eine Mehrbeiden in Reihe geschalteten Funktionseinheiten zahl von Funktionseinheiten zur Ausführung der Befchwährend zweier Steuerzyklen durchgeführt werden, 60 Ie, von denen jede dazu dient, einen Bearbeitungsvorwelche der zwei Steuerzyklen betragenden Zeitver- gang an eingegebenen Daien durchzuführen, um einmal
Schiebung zwischen den Befehlen entsprechen. in jedem Steuerzyklus Ausgangsdaten zu bilden, dabei
sind mindestens zwei solcher Funktionseinheiten in Rci-
he geschaltet, so daß die von einer ersten Funktionscin-
65 heit ausgehenden Daten an eine zweite Funktionseinheit weitergeleitet werden und die Datenbcarbeiliings-
Die Erfindung bezieht sich auf eine Datenverarbei- vorgänge der beiden in Reihe geschalteten Funktions-
tungsanlage mit einem Taktgeber zur Abgabe von Takt- einheiten während zweier Steuerzyklen durchgeführt
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US00302221A US3840861A (en) | 1972-10-30 | 1972-10-30 | Data processing system having an instruction pipeline for concurrently processing a plurality of instructions |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2353258A1 DE2353258A1 (de) | 1974-05-09 |
DE2353258C2 true DE2353258C2 (de) | 1985-04-25 |
Family
ID=23166821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2353258A Expired DE2353258C2 (de) | 1972-10-30 | 1973-10-24 | Datenverarbeitungsanlage |
Country Status (15)
Country | Link |
---|---|
US (1) | US3840861A (de) |
JP (1) | JPS546180B2 (de) |
AT (1) | AT348277B (de) |
BE (1) | BE806695A (de) |
BR (1) | BR7308459D0 (de) |
CA (1) | CA998184A (de) |
CH (1) | CH589892A5 (de) |
DE (1) | DE2353258C2 (de) |
DK (1) | DK143875C (de) |
ES (1) | ES420350A1 (de) |
FR (1) | FR2205231A5 (de) |
GB (1) | GB1445746A (de) |
IT (1) | IT999053B (de) |
NL (1) | NL7314830A (de) |
NO (1) | NO141449C (de) |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1443777A (en) * | 1973-07-19 | 1976-07-28 | Int Computers Ltd | Data processing apparatus |
GB1441817A (en) * | 1973-07-19 | 1976-07-07 | Int Computers Ltd | Data processing apparatus |
USRE31790E (en) * | 1974-03-13 | 1985-01-01 | Sperry Corporation | Shared processor data entry system |
US4025771A (en) * | 1974-03-25 | 1977-05-24 | Hughes Aircraft Company | Pipe line high speed signal processor |
CA1059639A (en) * | 1975-03-26 | 1979-07-31 | Garvin W. Patterson | Instruction look ahead having prefetch concurrency and pipe line features |
GB1584003A (en) * | 1976-06-07 | 1981-02-04 | Amdahl Corp | Data processing system and information scanout |
US4085450A (en) * | 1976-12-29 | 1978-04-18 | Burroughs Corporation | Performance invarient execution unit for non-communicative instructions |
US4217638A (en) * | 1977-05-19 | 1980-08-12 | Tokyo Shibaura Electric Co., Ltd. | Data-processing apparatus and method |
JPS5440537A (en) * | 1977-09-07 | 1979-03-30 | Hitachi Ltd | Pipeline control system |
JPS54121070U (de) * | 1978-02-09 | 1979-08-24 | ||
US4215416A (en) * | 1978-03-22 | 1980-07-29 | Trw Inc. | Integrated multiplier-accumulator circuit with preloadable accumulator register |
JPS5847054B2 (ja) * | 1978-10-31 | 1983-10-20 | 富士通株式会社 | デジタル信号処理用デ−タ処理装置 |
JPS6041768B2 (ja) * | 1979-01-19 | 1985-09-18 | 株式会社日立製作所 | デ−タ処理装置 |
US4253147A (en) * | 1979-04-09 | 1981-02-24 | Rockwell International Corporation | Memory unit with pipelined cycle of operations |
CA1134952A (en) * | 1979-04-24 | 1982-11-02 | Thomas E. Kloos | Means and method within a digital processing system for prefetching both operation codes and operands |
JPS5621240A (en) * | 1979-07-27 | 1981-02-27 | Hitachi Ltd | Information processor |
JPS6019809B2 (ja) * | 1979-12-26 | 1985-05-18 | 株式会社日立製作所 | デ−タ処理装置 |
US4539635A (en) * | 1980-02-11 | 1985-09-03 | At&T Bell Laboratories | Pipelined digital processor arranged for conditional operation |
US4598358A (en) * | 1980-02-11 | 1986-07-01 | At&T Bell Laboratories | Pipelined digital signal processor using a common data and control bus |
DE3066955D1 (en) * | 1980-06-24 | 1984-04-19 | Ibm | Signal processor computing arrangement and method of operating said arrangement |
US4467444A (en) * | 1980-08-01 | 1984-08-21 | Advanced Micro Devices, Inc. | Processor unit for microcomputer systems |
JPS6028015B2 (ja) * | 1980-08-28 | 1985-07-02 | 日本電気株式会社 | 情報処理装置 |
JPS5757345A (en) * | 1980-09-24 | 1982-04-06 | Toshiba Corp | Data controller |
US4519030A (en) * | 1981-05-22 | 1985-05-21 | Data General Corporation | Unique memory for use in a digital data system |
US4399507A (en) * | 1981-06-30 | 1983-08-16 | Ibm Corporation | Instruction address stack in the data memory of an instruction-pipelined processor |
JPS5848146A (ja) * | 1981-09-18 | 1983-03-22 | Toshiba Corp | 命令先取り方式 |
US4486826A (en) * | 1981-10-01 | 1984-12-04 | Stratus Computer, Inc. | Computer peripheral control apparatus |
US4866604A (en) * | 1981-10-01 | 1989-09-12 | Stratus Computer, Inc. | Digital data processing apparatus with pipelined memory cycles |
JPH0812621B2 (ja) * | 1981-10-01 | 1996-02-07 | ストレイタス・コンピュータ・インコーポレイテッド | 情報転送方法及び装置 |
JPS5858653A (ja) * | 1981-10-02 | 1983-04-07 | Hitachi Ltd | デ−タ処理装置 |
JPS58129550A (ja) * | 1982-01-27 | 1983-08-02 | Toshiba Corp | 演算制御装置 |
US4577282A (en) * | 1982-02-22 | 1986-03-18 | Texas Instruments Incorporated | Microcomputer system for digital signal processing |
US4490806A (en) * | 1982-06-04 | 1984-12-25 | Research Corporation | High repetition rate transient recorder with automatic integration |
JPS592143A (ja) * | 1982-06-29 | 1984-01-07 | Hitachi Ltd | 情報処理装置 |
US4521851A (en) * | 1982-10-13 | 1985-06-04 | Honeywell Information Systems Inc. | Central processor |
DE3241357A1 (de) * | 1982-11-09 | 1984-05-10 | Siemens AG, 1000 Berlin und 8000 München | Vorrichtung zur mikrobefehls-bereitstellung fuer mindestens zwei unabhaengig arbeitende funktionseinheiten in einem integrierten, mikroprogrammierten elektronischen baustein und verfahren zu ihrem betrieb |
US4594655A (en) * | 1983-03-14 | 1986-06-10 | International Business Machines Corporation | (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions |
WO1985000453A1 (en) * | 1983-07-11 | 1985-01-31 | Prime Computer, Inc. | Data processing system |
JPS6025663U (ja) * | 1983-07-29 | 1985-02-21 | ワイケイケイ株式会社 | バレ−ボ−ル練習器具 |
US4685058A (en) * | 1983-08-29 | 1987-08-04 | Amdahl Corporation | Two-stage pipelined execution unit and control stores |
US4571673A (en) * | 1983-09-29 | 1986-02-18 | Tandem Computers Incorporated | Enhanced CPU microbranching architecture |
JPH0658631B2 (ja) * | 1983-12-19 | 1994-08-03 | 株式会社日立製作所 | デ−タ処理装置 |
US4692888A (en) * | 1984-10-03 | 1987-09-08 | Advanced Micro Devices, Inc. | Method and apparatus for generating and summing the products of pairs of numbers |
JPH0776917B2 (ja) * | 1984-12-29 | 1995-08-16 | ソニー株式会社 | マイクロコンピユ−タ |
JPH0762823B2 (ja) * | 1985-05-22 | 1995-07-05 | 株式会社日立製作所 | デ−タ処理装置 |
JPH0766329B2 (ja) * | 1985-06-14 | 1995-07-19 | 株式会社日立製作所 | 情報処理装置 |
US5109524A (en) * | 1985-07-02 | 1992-04-28 | Vlsi Technology, Inc. | Digital processor with a four part data register for storing data before and after data conversion and data calculations |
US5226129A (en) * | 1986-10-30 | 1993-07-06 | Nec Corporation | Program counter and indirect address calculation system which concurrently performs updating of a program counter and generation of an effective address |
US4797817A (en) * | 1986-12-10 | 1989-01-10 | Ncr Corporation | Single cycle store operations in a virtual memory |
US4926355A (en) * | 1987-07-02 | 1990-05-15 | General Datacomm, Inc. | Digital signal processor architecture with an ALU and a serial processing section operating in parallel |
US4991078A (en) * | 1987-09-29 | 1991-02-05 | Digital Equipment Corporation | Apparatus and method for a pipelined central processing unit in a data processing system |
US4916652A (en) * | 1987-09-30 | 1990-04-10 | International Business Machines Corporation | Dynamic multiple instruction stream multiple data multiple pipeline apparatus for floating-point single instruction stream single data architectures |
JP2690921B2 (ja) * | 1987-12-25 | 1997-12-17 | 株式会社日立製作所 | 情報処理装置 |
FR2656442B1 (fr) * | 1989-12-21 | 1994-07-29 | Bull Sa | Processeur a plusieurs unites microprogrammees avec mecanisme d'execution anticipee des instructions. |
US5402452A (en) * | 1992-08-25 | 1995-03-28 | Alcatel Network Systems, Inc. | Incremental phase smoothing desynchronizer and calculation apparatus |
JP2924736B2 (ja) * | 1995-10-06 | 1999-07-26 | 株式会社デンソー | パイプライン演算装置 |
US5872910A (en) * | 1996-12-27 | 1999-02-16 | Unisys Corporation | Parity-error injection system for an instruction processor |
US6687851B1 (en) | 2000-04-13 | 2004-02-03 | Stratus Technologies Bermuda Ltd. | Method and system for upgrading fault-tolerant systems |
US6708283B1 (en) | 2000-04-13 | 2004-03-16 | Stratus Technologies, Bermuda Ltd. | System and method for operating a system with redundant peripheral bus controllers |
US6820213B1 (en) | 2000-04-13 | 2004-11-16 | Stratus Technologies Bermuda, Ltd. | Fault-tolerant computer system with voter delay buffer |
US6633996B1 (en) | 2000-04-13 | 2003-10-14 | Stratus Technologies Bermuda Ltd. | Fault-tolerant maintenance bus architecture |
US6735715B1 (en) | 2000-04-13 | 2004-05-11 | Stratus Technologies Bermuda Ltd. | System and method for operating a SCSI bus with redundant SCSI adaptors |
US6691257B1 (en) | 2000-04-13 | 2004-02-10 | Stratus Technologies Bermuda Ltd. | Fault-tolerant maintenance bus protocol and method for using the same |
US7149878B1 (en) * | 2000-10-30 | 2006-12-12 | Mips Technologies, Inc. | Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values |
US6948010B2 (en) | 2000-12-20 | 2005-09-20 | Stratus Technologies Bermuda Ltd. | Method and apparatus for efficiently moving portions of a memory block |
US6766479B2 (en) | 2001-02-28 | 2004-07-20 | Stratus Technologies Bermuda, Ltd. | Apparatus and methods for identifying bus protocol violations |
US7065672B2 (en) | 2001-03-28 | 2006-06-20 | Stratus Technologies Bermuda Ltd. | Apparatus and methods for fault-tolerant computing using a switching fabric |
US7711926B2 (en) * | 2001-04-18 | 2010-05-04 | Mips Technologies, Inc. | Mapping system and method for instruction set processing |
US6996750B2 (en) | 2001-05-31 | 2006-02-07 | Stratus Technologies Bermuda Ltd. | Methods and apparatus for computer bus error termination |
US6826681B2 (en) * | 2001-06-18 | 2004-11-30 | Mips Technologies, Inc. | Instruction specified register value saving in allocated caller stack or not yet allocated callee stack |
US7107439B2 (en) * | 2001-08-10 | 2006-09-12 | Mips Technologies, Inc. | System and method of controlling software decompression through exceptions |
TWI337495B (en) * | 2006-10-26 | 2011-02-11 | Au Optronics Corp | System and method for operation scheduling |
US9557936B2 (en) * | 2014-12-31 | 2017-01-31 | Texas Instruments Incorporated | Protection of memories, datapath and pipeline registers, and other storage elements by distributed delayed detection and correction of soft errors |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3609700A (en) * | 1970-02-24 | 1971-09-28 | Burroughs Corp | Data processing system having an improved fetch overlap feature |
-
1972
- 1972-10-30 US US00302221A patent/US3840861A/en not_active Expired - Lifetime
-
1973
- 1973-10-16 CA CA183,460A patent/CA998184A/en not_active Expired
- 1973-10-17 GB GB4842873A patent/GB1445746A/en not_active Expired
- 1973-10-24 DE DE2353258A patent/DE2353258C2/de not_active Expired
- 1973-10-29 DK DK583173A patent/DK143875C/da active
- 1973-10-29 BR BR8459/73A patent/BR7308459D0/pt unknown
- 1973-10-29 JP JP12153773A patent/JPS546180B2/ja not_active Expired
- 1973-10-29 NL NL7314830A patent/NL7314830A/xx not_active Application Discontinuation
- 1973-10-29 FR FR7338458A patent/FR2205231A5/fr not_active Expired
- 1973-10-29 CH CH1520673A patent/CH589892A5/xx not_active IP Right Cessation
- 1973-10-29 AT AT910273A patent/AT348277B/de active
- 1973-10-29 BE BE137220A patent/BE806695A/xx not_active IP Right Cessation
- 1973-10-29 NO NO4167/73A patent/NO141449C/no unknown
- 1973-10-29 IT IT30690/73A patent/IT999053B/it active
- 1973-10-30 ES ES420350A patent/ES420350A1/es not_active Expired
Also Published As
Publication number | Publication date |
---|---|
CH589892A5 (de) | 1977-07-29 |
JPS4996652A (de) | 1974-09-12 |
DK143875B (da) | 1981-10-19 |
JPS546180B2 (de) | 1979-03-26 |
AU6189373A (en) | 1975-05-01 |
BE806695A (fr) | 1974-02-15 |
NO141449C (no) | 1980-03-12 |
NO141449B (no) | 1979-12-03 |
ATA910273A (de) | 1978-06-15 |
AT348277B (de) | 1979-02-12 |
CA998184A (en) | 1976-10-05 |
IT999053B (it) | 1976-02-20 |
NL7314830A (de) | 1974-05-02 |
US3840861A (en) | 1974-10-08 |
DE2353258A1 (de) | 1974-05-09 |
BR7308459D0 (pt) | 1974-08-29 |
GB1445746A (en) | 1976-08-11 |
FR2205231A5 (de) | 1974-05-24 |
ES420350A1 (es) | 1976-06-16 |
DK143875C (da) | 1982-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2353258C2 (de) | Datenverarbeitungsanlage | |
DE2819571C2 (de) | ||
DE3338345C2 (de) | ||
DE2357003C2 (de) | Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage | |
DE3424962C2 (de) | ||
DE1549476C3 (de) | Anordnung zur Ausführung von Divisionen | |
DE1178623C2 (de) | Programmgesteuerte datenverarbeitende Maschine | |
DE1813916A1 (de) | Elektronische Datenverarbeitungsanlage | |
DE2023354C2 (de) | Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher | |
DE2934971A1 (de) | Datenverarbeitungssystem | |
DE2130299A1 (de) | Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen | |
DE1942005B2 (de) | Datenverarbeitungsanlage zur aufnahme und abgabe von digitalen daten und zur ausfuehrung von operationen an den daten | |
DE1302494B (de) | ||
DE1285220B (de) | Datenverarbeitungssystem mit mehreren selbstaendigen Recheneinheiten | |
DE1900141B2 (de) | Hilfssteuerwerk fur eine Datenver arbeitungsanlage | |
DE1499206C3 (de) | Rechenanlage | |
DE2332971C2 (de) | Mikroprogrammsteuereinrichtung | |
DE1524111C3 (de) | Elektronische Datenverarbeitungsanlage | |
DE1909477A1 (de) | Speichersteueranlage fuer ein Multiprogramm-Datenverarbeitungssystem | |
DE1949916B2 (de) | Verfahren zum betrieb einer programmgesteuerten datenverarbeitungsanlage und anordnung zur durchfuehrung des verfahrens | |
DE1922304A1 (de) | Datenspeichersteuergeraet | |
DE2704560C2 (de) | Datenverarbeitende Anlage mit paralleler Bereitstellung und Ausführung von Maschinenbefehlen | |
DE1549399A1 (de) | Verfahren und System zur grafischen Aufzeichnung von Kurvenzuegen | |
DE1277598C2 (de) | Datenverarbeitungsanlage | |
DE1923917C3 (de) | Werkzeugmaschinenantriebssteuerung mittels eines Rechners |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
8125 | Change of the main classification |
Ipc: G06F 9/38 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |