DE2353258C2 - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

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
Application number
DE2353258A
Other languages
English (en)
Other versions
DE2353258A1 (de
Inventor
Gene Myron Saratoga Calif. Amdahl
Glenn David Grant
Robert Martin San Jose Calif. Maier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu IT Holdings Inc
Original Assignee
Amdahl Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amdahl Corp filed Critical Amdahl Corp
Publication of DE2353258A1 publication Critical patent/DE2353258A1/de
Application granted granted Critical
Publication of DE2353258C2 publication Critical patent/DE2353258C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent 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
Die LUCK-Einheit 20 führt logische Funktionen. Vcr- --.[
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
Taktimpuls CS gehalten wird.
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.
Hierzu 6 Blatt Zeichnungen
so
55
60
b5

Claims (3)

1 2 Signalen fürdie Festlegung von Steuerzyklen zur Steue- Patentansprüche: rung der Anlage, weiche einen Hauptspeicher zur Speicherung von Befehlen und gemäß den Befehlen zu ver-
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
DE2353258A 1972-10-30 1973-10-24 Datenverarbeitungsanlage Expired DE2353258C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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