DE1178623C2 - Programmgesteuerte datenverarbeitende Maschine - Google Patents

Programmgesteuerte datenverarbeitende Maschine

Info

Publication number
DE1178623C2
DE1178623C2 DE1960J0019221 DEJ0019221A DE1178623C2 DE 1178623 C2 DE1178623 C2 DE 1178623C2 DE 1960J0019221 DE1960J0019221 DE 1960J0019221 DE J0019221 A DEJ0019221 A DE J0019221A DE 1178623 C2 DE1178623 C2 DE 1178623C2
Authority
DE
Germany
Prior art keywords
command
register
memory
program
commands
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
DE1960J0019221
Other languages
English (en)
Other versions
DE1178623B (de
Inventor
Stephen W Dunwell
Wappingers Falls
Clarence Ernest Stephens
William R Stringfellow
Vaughn Donald Winkler
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1178623B publication Critical patent/DE1178623B/de
Application granted granted Critical
Publication of DE1178623C2 publication Critical patent/DE1178623C2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Description

BUNDESREPUBLIK DEUTSCHLAND
DEUTSCHES
PATENTAMT
PATENTSCHRIFT
Internat. Kl.: G 06 f-9/00
Deutsche Kl.: 42 m3 - 9/00
Nummer:
Aktenzeichen:
Anmeldetag:
Auslegetag:
P 11 78 623.5-53 (J 19221)
24. Dezember 1960
24. September 1964
Ausgabetag: 25. Januar 1973
Patentschrift weicht von der Auslegeschrift ab
Die Rechenmaschinentechnik verlangt nach immer schnelleren Rechnern. So wurden schon viele Vorschläge gemacht, die Geschwindigkeit einer programmgesteuerten Rechenmaschine zu erhöhen. Bekannt ist z. B., in großen Rechenanlagen zwei Rechner vorzusehen. Es ist verständlich, daß hierdurch eine Erhöhung der Rechengeschwindigkeit gegenüber einem einzelnen.Rechner erzielt werden kann, weil beide Rechner zugleich zwei Operationen ausführen können. Zum Beispiel kann der eine Rechner eine arithmetische Operation ausführen, während der andere die Datenübertragung zwischen Ein-/Ausgabeeinheiten und dem Hauptspeicher steuert.
Da aber zu gewissen Zeiten ein Daten- und Kommandoaustausch zwischen den beiden Rechnern stattfinden muß, ist die in einer Zeiteinheit verarbeitete Datenmenge kleiner als die Summe der Daten-. mengen, die beide Rechner verarbeiten könnten, wenn sie unabhängig voneinander arbeiten würden.
In bekannten programmgesteuerten, elektronischen Rechenmaschinen ist ein Befehlsregister vorgesehen. Der gerade zur Verarbeitung anstehende Befehl wird 1 aus dem Hauptspeicher in dieses Register gebracht. Über ein Leitwerk steuern die jeweils im Befehlsregister stehenden Befehle die Rechenanlage zur Aus- führung bestimmter Operationen.
Es ist ferner eine Rechenanlage bekannt, bei der außer dem Befehlsregister ein sogenanntes Abrufregister vorgesehen ist, um die Befehle einfacher modifizieren zu können. Zwischen den eigentlichen die Datenverarbeitung steuernden Befehlen werden sogenannte Abrufbefehle in das Befehlsregister gebracht, die das Abrufen der die Datenverarbeitung steuernden Befehle aus dem Speicher bewirken. Während sich ein die Datenverarbeitung steuernder Befehl im Befehlsregister befindet, wird die Adresse des vorhergehenden Abrufbefehls um eins erhöht und darauf der modifizierte Abrufbefehl im Abrufregister zwischengespeichert. Dem Abrufregister ist kein Entschlüsseier zugeordnet, es wirkt deshalb nicht wie ein Befehlsregister. Durch das Abruf register wird die Rechengeschwindigkeit nicht erhöht, sondern eher vermindert.
Zweck der Erfindung ist es, die Rechengeschwindigkeit eines Rechners durch neuartige Aufbereitung der Befehle zu erhöhen. '
Die Erfindung betrifft eine programmgesteuerte datenverarbeitende Maschine, sie ist dadurch gekennzeichnet, daß für ein Rechenwerk mehrere Befehlsregister vorgesehen sind und daß eine Vorrang-Steuerung angeordnet isv, die die in den Befehlsregistern stehenden mit ihren R'pi?£ innerhalb einer Programmgesteuerte daten verarbeitende
Maschine
Patentiert für:
International Business Machines Corporation,
Armonk, N. Y. (V. St. A.)
Vertreter:
Dipl.-Ing. H. E. Böhmer, Patentanwalt,
7030 Böblingen
Als Erfinder benannt:
Stephen W. Dunwell, Poughkeepsie, N. Y.,
William R. Stringfellow,
Wappingers Falls, N. Y.,
Vaughn Donald Winkler,
Clarence Ernest Stephens,
Poughkeepsie, N. Y. (V. St. A.)
Beanspruchte Priorität:
V. St. v. Amerika vom 30. Dezember 1959
(862 967)
Rangfolge bestimmende Merkmale versehene Befehle nach einer vorbestimmten Rangfolge zur Ausführung bringt.
Gemäß einer Weiterbildung der Erfindung kann die Geschwindigkeit der Rechenanlage dann noch weiter erhöht werden, wenn ein Programm ausgeführt wird, das aus mehreren mehrmals sich wiederholenden Befehlen besteht. Gemäß dieser Weiterbildung werden die Befehle dieses Programms in den Befehlsregistern abgespeichert und die Befehlsregister zu einer Schleife zusammengeschaltet. Die Befehle laufen in den Befehlsregistern um und werden wiederholt ausgeführt.
Nachstehend soll ein Ausführungsbeispiel der Erfindung an Hand der Fig. 1 (die sich aus den Teilen A + B zusammensetzt) und der F i g. 2 beschrieben werden.
Die in dem Ausführungsbeispiel der F i g. 1 beschriebene parallel arbeitende Rechenmaschine verwendet zwei schnelle Kernspeicher 101 und 102. Ihr Speichergang hat eine Dauer von 6 μ&. Die ersten 3 μβ sind für das Auslesen von Informationen aus dem
209 684/450
Speicher und die zweiten 3 \is für das Einspeichern von Informationen vorgesehen.
Die Rechenmaschine nach dem Ausführungsbeispiel der F i g. 1 verwendet zwei Rechner, einen Hauptrechner und einen Steuerrechner. Beide enthalten eine zugeordnete Recheneinheit und Befehlsregister. Ein Befehlszähler, der normalerweise in jedem Gang um 1 weitergeschaltet wird, kann jeden der Speicher adressieren und einen Befehl für jeden der Rechner entnehmen. Im normalen Betrieb werden die Speicher abwechselnd adressiert.
Die Speicher 101 und 102 speichern Informationen in Form von Daten- und Befehlswörtern. Ein vollständiges Datenwort enthält ein Vorzeichenbit und fünfunddreißig Informationsbits oder im Falle eines halben Wortes ein Vorzeichenbit und siebzehn Informationsbits. Ein Befehlswort enthält ein Vorzeichenbit in der Nullbitposition, einen Operationsteil in den Positionen 1 bis 5, eine Adresse in den Positionen 6 bis 17 und ein Rechnerbit in Position 18. Der Befehlszähler 142 ist ein 12-Bit-Zähler und adressiert bei normaler Weiterschaltung zunächst den einen und dann den anderen Speicher. Wenn die Vorrangsteuerung 143 einen Befehlsbezugsgang gestattet, wird ein Befehl an der durch den Befehlszähler 142 angegebenen Adresse 'ausgespeichert. Dabei kann es sich um einen sofortigen Befehl oder einen nichtsofortigen Befehl handeln. Wenn es ein sofortiger Befehl, und zwar ein .Kopierbefehl, ist, handelt es sich um einen Speichergang, d. h., der Speicher speichert entweder Information aus einer ausgewählten Eingabe-Ausgabe-Einheit, oder es werden Informationen aus dem Speicher zu einer ausgewählten Eingabe-Ausgabe-Einheit übertragen. Wenn ein nicht sofortiger Befehl vorliegt und ein Speichergang stattfindet, kann ein Speichergang oder ein Datengang nötig sein. In einem Speichergang werden Informationen aus einer ausgewählten Einheit im Rechenteil eines der Rechner in einer ausgewählten Speicheradresse gespeichert.
Es gibt folgende drei Speicherbefehle:
1. »Speichern Akkumulator«, bei dem die sechsunddreißig Bits des Akkumulators in den Speieher gebracht werden;
2. »Speichern Adresse«, bei dem die Bits 6 bis 17 des Akkumulators in den Speicher gebracht werden;
3. »Speicher MQ«, bei dem die «echsunddreißig Bits im Multiplikator-Quotient-(MQ)-Register in den Speicher gebrächt werden.
Wenn es sich um einen Datengang handelt, wird die Information aus einer ausgewählten Adresse im Speicher ausgelesen, und in eine ausgewählte Einheit im Rechenteil eines der Rechner übertragen. Es gibt folgende zehn Datenbefehle:
1. Rückstellen und addieren;
2. Addieren;
3. Absolutwert addieren;
4. Rückstellen und !subtrahieren;
5. Subtrahieren;
6. Absolutwert subtrahieren;
7. Multiplizieren;
8. Multiplizieren und runden;.
9. Dividieren;
10. Eingabe in Multiplikator-Quotient-(MQ)-Register. .
Die sofortigen Befehle, die keinen Speichergang erfordern, sind:
1. Stoppen und übertragen;
. 2. Übertragen;
3. Abtasten; . ,
4. Lesen; ■ · ■
5. Rückwärts lesen;
6. Schreiben;
7. Ende der Aufzeichnung schreiben;
8. Zurückspulen;
9. Keine Operation.
Die nichtsofortigen Befehle, die keinen Speichergang erfordern," sind:
1. Übertragen bei Überlauf;
2. Übertragen bei plus;
3. Übertragen bei null;
4. L. links;
5. L." rechts;
6. Akkumulator rechts;
7. Akkumulator links;
8. Verriegelung.
Die Information wird direkt aus den Abtasttoren eines der Speicher 101 oder 102Jn die Register des Steuer- und des Hauptredners übertragen und zunächst nicht zu einem Speicherpufferregister gesendet. Jedem Speicher ist ein Speicheradressenregister zugeordnet, und zwar das Speicheradressenregister 103 dem Speicher 101 und das Speicheradressenregister 104 dem Speicher 102. Speicherleitungsschalter 105 lenken die aus den Speichern entnommenen Informationen zu einem Überwachungsregister 113 über die Leitung 106, zum Hauptrechner über die Leitungen 107 und 108, zum Steuerrechner über die Leitungen 109 und 110 und zum Eingabe-Ausgabe-Register 111 über die Leitung 112. Außerdem wird aus dem Speicher 101 entnommene Information stets zum Puffer 119 und aus dem Speicher 102 entnommene Information zum Puffer 120 übertragen. Das Überwachungsregister 113 speichert aus dem Speicher entnommene Befehle. Da zwei Rechner verwendet werden, enthält das aus dem Speicher entnommene Befehlswort eine zusätzliche Bitposition, nämlich die Bitposition 18, das sogenannte Rechnerbit. Es bestimmt, zu welchem Rechner der Befehl weitergeleitet werden müß. Diese achtzehnte Bitposition steuert die Schalter 114, die den Befehl dann entweder dem Haupt- oder dem Steuerrechner zuleiten.
Dem Operationsteil des Befehls in dem Über^ wachungsregister 113 ist ein Entschlüsseler 115 zugeordnet. Er entschlüsselt den Operationsteil des Befehlswortes, die Bitpositionen 1 bis 5.
Wenn der Entschlüsseler einen Kopierbefehl feststellt, wird dessen Adresse aus dem Adressenteil nahezu sofort entweder zu einem Kopierregister 116 oder zu einem Kopierregister 117 geschickt, vorausgesetzt, eins von ihnen ist leer. Wenn angenommen wird, daß beide Register leer sind, wird die Kopieradresse zum Kopierregister 117 geschickt. Wenn die- ■ ses jedoch voll ist, d. h., eine frühere Kopieradresse enthält, wird die Kopieradresse aus dem Überwachungsregister 113 dem Kopierregister 116 zugeleitet. Gleichzeitig leitet der Entschlüsseler die Operation der ausgewählten Eingabe-Ausgabe-Einheit ein, die die Kopierfunktion ausführen
soll, nämlich entweder Information in einen ausgewählten Speicher einzugeben oder Information aus einem ausgewählten Speicher zu entnehmen und in die Eingabe-Ausgabe-Einheit zu übertragen. Wenn der Kopierbefehl so lautet, daß z.B. Informationen aus einem Band in den Speicher übertragen werden, sobald die ausgewählte Information aus· dem Band im Eingabe-Ausgabe-Register 111 gespeichert ist, wird dem System angezeigt, daß der Kopierbefehl bereit zum Ausführen ist. Bei Ausführung des Befehls wird die im Register 111 stehende Information zu den Schaltern 118 und von dort aus entweder zum Pufferregister 119 des Speichers 101 oder zum Pufferregister 120 des Speichers 102 geleitet. Aus diesen Registern wird sie dann dem richtigen Speicher zur Eingabe zugeleitet. Falls gemäß dem Kopierbefehl eine Übertragung aus dem Speicher in eine ausgewählte Eingabe-Ausgabe-Einheit erfolgen muß, wird die Information aus dem ausgewählten Speicher über die Speicherleitungsschalter 105 entnommen und im Eingabe-Ausgabe-Register 111 gespeichert, von wo sie der ausgewählten Eingabe-Ausgabe-Einheit zugeführt wird, sobald diese bereit ist, diese Information aufzunehmen. Außerdem wird diese Information aus dem ausgewählten Speicher dem diesem zugeordneten Puffer 119 oder 120 zugeführt, um wieder in den Speicher eingespeichert zu werden, damit sie nicht verlorengeht, da hier eine löschende Entnahme aus dem Speicher verwendet wird.
Falls nun das Überwachungsregister einen Befehl enthält, der ein nicht sofortiger Befehl ist, wird diese Information zur entsprechenden Zeit über die Schalter 114 dem bezeichneten Rechner, entweder dem Haupt- oder dem Steuerrechner, zugeführt. In der Zeichnung ist der Steuerreohner links'und der Hauptrechner rechts dargestellt. Soll das Befehlswort'durch die Schalter 114 zum Steuerrechner übertragen werden, wird dieser Befehl zum Befehlsregister 121 übertragen. Dieses Register empfängt das Befehlswort bitweise parallel. Es ist zur Weiterleitung von Information in Serie zu den Befehlsregistern 122 und 123 geschaltet. Jedem der 17-Bit-Register 121, 122 und 123 ist ein Entschlüsseier 121, 122, 123 zur Bearbeitung des Operationsteils des Befehlswortes zugeordnet. 121' erkennt Datenbefehle, 122' Speicherbefehle, und 123' enthält einen Rückwärtszähler zum Zählen bestimmter Schritte, z. B. im Laufe von Multiplizier-, Dividier- oder Schiebeoperationen. Bevor ein Datenbezugs- oder Speicherbefehl ausgeführt werden kann, muß er durch die Reihenschaltung der Register nach 123 hinuntergeschoben werden. Der dem Register 123 zugordnete Entschlüsseier stellt die erforderlichen Schalter zur Ausführung des in diesem Register enthaltenen Befehls ein. Die Entschlüsseier 121' und 122' der Register 121 und 122 arbeiten in Verbindung . mit der Vorrangsteuerung. Die Vorrangsteuerung erteilt einem Kopierbefehl die bezüglich des Zugriffs zum Speicher höchste Priorität, und dies wird als Kopiergang bezeichnet. Wenn es sich bei dem Befehl nicht um einen Kopierbefehl handelt, erteilt die Prioritätssteuerung die nächsthöhere Priorität der Entnahme eines weiteren Befehls aus dem Speicher, wie es der Befehlszähler bestimmt, und dies wird als Befehlsbezugsgang bezeichnet. Wenn die Prioritätssteuerung feststellt, daß weder ein Kopiergang noch ein Befehlsbezugsgang ausgeführt werden kann, weist er einem Speichergang die nächste Prioritätsstüfe zu. Wenn die Prioritätssteuerung feststellt, daß keiner dieser drei Gänge ausgeführt werden kann, wird die nächste Prioritätsstufe einem Datenbezugsgang zugeteilt. Wenn keiner der vier Gänge ausgeführt werden kann, wird die nächste Prioritätsstufe einem Sonderbefehls-Bezugsgang zugeteilt. Von den beiden Rechnern erhält der Hauptrechner die Priorität !gegenüber dem Steuerrechner.
ίο Um diese Priorität mit zu berücksichtigen, enthält die Rechenmaschine die Vorrangsteuerung, die in ' jedem Gang einmal den Zustand der Rechenmaschine überwacht und die während des nächsten Speicherganges auszuführende Art von Speichengäng bestimmt.
Bekanntlich brauchen manche Befehle für ihre Ausführung mehr als einen einzigen Speichergang. Zum Beispiel kann ein Speicherbefehl in einem Speichergang ausgeführt werden, während für einen Kopierbefehl mehrere Gänge erforderlich sein können. Bei einem Kopierbefehl muß eine Eingabe»- Ausgabe-Einheit, wie z.B. ein Band, dem Befehlsteil des Kopierbefehls entsprechend orientiert sein, bevor sie Daten aus dem Speicher empfangen oder dem Speicher Daten zuführen kann. Bei den bekannten Rechnern geht natürlich Zeit verloren, wenn die Rechner zuerst jeden Befehl zu Ende ausführen müssen, bevor sie zum nächsten Befehl übergehen können. In der ernndungsgemäßen datenverarbeitenden Maschine kann eine Anzahl von gespeicherten, Gängen ausgeführt werden, während die Ausführung des Kopierganges abgewartet wird. Um die Zeitersparnis zu erreichen, sind in dieser Rechenmaschine jedem Rechner Mittel zugeordnet, die eine Mehrzahl von Befehlen speichern können und die mit der Vorrangsteuerung zusammenwirken, um die Geschwindigkeit zu erhöhen. Die Vorrangsteuerung kann je einmal in jedem Speichergang den Zustand der Rechenmaschine überblicken und einen aus der ihr zur Ausführung zur Verfügung stehenden Anzahl von Befehlen auswählen, damit diese Zeitieistung erhöht wird.
Ist durch die Vorrangsteuerung festgestellt worden, daß keine Bedingungen vorliegen, durch, welche eine der Prioritätsstufen veranlaßt würde, einen Speicherbezugsgang einzuleiten, so kann im nächsten Gang nur eine Übertragung von Informationen zwischen den Befehlsregistern in jedem Rechner bewirkt werden. Wenn jedoch ein Rechenbefehl im Register 129 oder 123 der beiden Maschinen enthalten wäre, würde die gemäß diesem Befehl ausgeführte Rechenoperation während des nächsten Ganges selbst dann fortgesetzt, wenn kein Speicherbezugsgang stattfände. Soll der Befehl im Speicherregister zum Hauptrechner geleitet werden, werden die Schalter 114 so eingestellt, daß der Befehl zum Pufferregister 124 gelenkt wird. Die Püfferregister 124, 125 und 126 arbeiten in Verbindung mit dem Hauptrechner. Sie sind zur Übertragung von Informationen in Reihe geschaltet, und jedes von ihnen ist ein 17-Bit-Register. Die Befehlsregister 127, 128 und 129 sind weiterhin mit den Registern 124,' 125 und 126 in Reihe geschaltet, um Information in Serie weiterzuleiten, und auch dies sind 17-Bit-Register. Die den Registern 127 und 128 zugeordneten Entschlüsseier 127' und 128' erkennen Datenbefehle bzw. SpeiGherbefehle. Der dem Register 129 zugeordnete Entschlüsseler 129' arbeitet ähnlich wie der dem Re-
gister 123 im Steuerrechner zugeordnete Entschlüsseier 123'.
Um - einen Befehlsgang zu ermöglichen, muß das Überwachungsregister 113 entleert werden, um den aus dem Speicher entnommenen Befehl aufnehmen zu können. Das Überwachungsregister schiebt bei einer Operation mit einem nicht sofortigen Befehl seine Adresse entweder zum Befehlsregister 121 oder zum Pufferregister. 124 weiter; Schließlich werden die Befehle im Pufferregister 124 durch die dazwischenliegenden Register in das Befehlsregister 129 geschoben. Register 127 erkennt Datenibefehle und Register 128 Speicherbefehle. Wenn das Rechner-Steuerbit 18 im Überwachungsregister eine 0 ist, zeigt das an, daß das Überwachungsregister leer ist oder sein Befehl zum Steuerrechner geht.
Bei Feststellung eines Befehls im Register 127 werden bei nächster Gelegenheit die Daten aus den diesen Befehlen zugeordneten Adressen aus dem Speicher entnommen und in ein entsprechendes Speicherregister 136 oder 137 des Hauptrechners eingeführt. Gleichzeitig mit der Entnahme der Daten aus dem Speicher und ihrer Eingabe in eines dieser Register wird der Befehl aus dem Register 127 zum Register 128 übertragen. Danach wird der Befehl aus dem Register 128 zum Register 129 übertragen, und sofort nach seiner Ankunft im Register 129 wird der Datenbefehl unter Verwendung des Operanden, der jetzt in einem der beiden Speicherregister des Hauptrechners enthalten ist, ausgeführt. Die für die Ausführung der Datenbefehle benötigte Zeitdauer ist nicht immer gleich. Zum Beispiel benötigen Datenbefehle, wie Zurückstellen■—Addieren, Zurückstellen—Subtrahieren, in MQ eingeben, nur 3 μβ zur Ausführung. Das bedeutet, daß der Befehl, sobald er das Register 129 erreicht, entschlüsselt wird und in 3 μsvfertig ausgeführt ist. Andere Datenbefehle, wie Addieren, Absolutwert addieren, Subtrahieren und Absolutwert subtrahieren, benötigen aber 12 μβ für ihre Ausführung, und die Datenbefehle Multiplizieren, Multiplizieren und Runden und Dividieren benötigen viele Vielfache von 12^s-Gängen zur vollständigen Ausführung. Zur zeitlichen Steuerung der 12^s-Gänge ist ein Rechentaktgeber von zwölf Stufen vorgesehen.
Die Recheneinheiten der beiden Rechner sind identisch. Sie enthalten zwei Speicherregister, die über Schalter mit Addierschaltungen verbunden sind, ein Akkumulatorregister und ein Multiplikator-Quotient-Register. Im Steuerrechner tragen das Speicherregister die Ziffern 130 und 131, die Schalter die Ziffer 132, die Addierschaltungen die Ziffer 133, der Akkumulator die Ziffer 134 und das Multiplikator-Quotient- oder MQ-Register die Ziffer 135. Im· Hauptrechner tragen die Speicherregister die Ziffern 136 und 137, die Schalter die Ziffer 138, die Addierschaltungen die Ziffer. 139, der Akkumulator die Ziffer 140 und das MQ-Register die Ziffer 141.
Der Befehlszähler 142 wird beim normalen Betrieb in Abständen von 3 μβ um je 1 weitergeschaltet. Er enthält eine aus 12 Bits bestehende Speicheradresse entweder für den Speicher 101 oder für den Speicher 102. Wenn ein Befehlsbezugsgang zulässig ist, wird die im Befehlszähler 142 stehende Adresse infolge der Vorrangsteuerung 143 zu dem 12-Bit-Speicheradressenpuffer 144 übertragen. Die Adresse im Speicheradressenpuffer 144 wird durch die Vorrangsteuerung 143 zu dem ausgewählten Adressenregister 103 oder 104 gesendet, je nach dem zu adressierenden Speicher. Der Befehl an. der ausgewählten Adresse wird über die Speicherleitungsschalter 105 ausgegeben und über die Strecke 106 dem Überwachungsregister 113 und außerdem dem zugeordneten Puffer 119 bzw. 120 parallel zugeführt. Wenn die Vorrangsteuerung 143 feststellt, daß der Befehl im Überwachungsregister 113 zu dem ihm zugeordneten Register in dem ausgewählten Rechner weitergeschoben werden kann, erfolgt das während der nächsten 3^s-Periode. Ist der Befehl ein Datenbefehl und soll er zum Steuerrechner geschickt werden, wird er dann zum Register 121 übertragen.
Wenn die Vorrangsteuerung 143 einen Datetibezugsgang zuläßt, wird der Adressenteil des Datenbefehls im Befehlsregister 121 zu dem Speicheradresisenpuffer 144 übertragen, und der ganze Befehl wird in das Befehlsregister 122 geschoben. Die Adresse wird aus dem Speicheradressenpuffer 144 zum Speicheradressenregister 103 oder 104 für den ausgewählten Speicher gesteuert. Die Information wird aus dem ausgewählten Speicher 101 oder 102 in den zugeordneten Puffer 119 oder 120, übertragen und wird durch die Speicherpufferschaltung außerdem entweder im Speicherregister 130 oder im Speicherrogister 131 gespeichert. Der Datenbefehl wird in das Befehlsregister 123 geschoben, und der zugeordnete Entschlüsseier betätigt den Schalter 132, um den Inhalt des Speicherregisters 130 bzw. 131 zu der ausgewählten Einheit des Rechenteils zu steuern. Wenn der Datenbefehl für den Hauptrechner bestimmt ist, findet natürlich ein ähnlicher Operationsablauf statt, an dem die Register in dem Hauptrechner und deren . Recheneinheit beteiligt sind.
Ein Speicherbefehl wird in den Befehlsregistern 122 oder 128 erkannt. Er erfordert die Speicherung von Information aus der Recheneinheit im Speicher. Diese Information wird aus der Recheneinheit entnommen und durch die Schalter 118 zum Puffer 119 oder 120 gesteuert, je nach dem beteiligten Speicher. Mit der im bezeichneten Adressenregister 103 oder 104 gespeicherten Adresse werden die Informationen aus den Puffern 119 oder 120 in den ausgewählten Speicher übertragen. Wenn gerade ein »Lese-■ Kopieren«-Gang oder ein Speichergang für einen Speicher ausgeführt wird, erhält man keine Information am Ausgang des betreffenden Speichers.
■In vielen Fällen kann das Programm eine wiederholte Ausführung mehrerer Befehle erfordern. Bei bekannten datenverarbeitenden Maschinen wird der erste Befehl aus dem Speicher entnommen, ausgeführt, dann wird der nächste Befehl aus dem Speicher entnommen und !ausgeführt. Dieser Vorgang wird mit einer durch das sich wiederholende Programm bestimmten Zahl von Befehlen wiederholt. Dann kann das Programm wiederholt werden; um die sich wiederholende Operation auszuführen. Für jede Wiederholung ist dann für jeden in dem wiederholenden Programm enthaltenen Befehl ein Zugriff zum Speicher nötig. Hierzu werden die Schalter 150 in der Hauptmaschine geschlossen und bilden so eine Schleife von Befehlsregistern, die aus 124 .bis 129 und außerdem 151 und 152 besteht.
Zwischen den Schleifen sind für diese Programmart keine Befehlsbezugsgänge für den Hauptrechner erforderlich. Man sieht also, daß während der Ausführung einer Verriegelungsoperation die Speicher
für die Ausführung von Speichergängen im Steuerrechner und von anderen als Befehlsbezugsgängen im Hauptrechner benutzt werden können.
Bei der Verriegelungsoperation werden bis zu 6Befehle.aus dem Speicher für den Hauptrechner ausgespeichert. Die Verriegehings-Operationsart wird eingeleitet durch die Übertragung eines Verriegelungsbefehls aus dem Speicher in das Uberwachungsregister 113. Wenn der Verriegelungsbefehl in Register 129 steht, muß der Zustand der siebzehnten Bitposition beachtet werden. Der letzte Befehl im Wiederholungsprogramm wird dutch ein Minuszeichen in der Vorzeichenposition des Befehls festgestellt, wenn dieser letzte Befehl aus dem Überwachungsregister in das Pufferregister 124 geschoben wird. Wenn sich der Verriegelungsbefehl im Register 129 !befindet, ist der letzte Befehl des Wiederholungsprogrämms im Überwachungsregister enthalten. Umfaßt das Weiderholungsprogramm weniger als sechs ' Befehle, muß eine ausreichende Zahl von Lücken vorgesehen werden, um dies zu erreichen. Wenn sich der letzte Befehl des Wiederholungsprogramms im Pufferregister 124 befindet, ist der Verriegelungsbefehl aus dem Register 129 entfernt worden. Das Register 129 wird rückgestellt und damit der Verriegelungsbefehl gelöscht. Danach erfolgt die Weiterleitung des Wiederholungsprogramms durch die verschiedenen Register in der Hauptmaschine mit der üblichen Vorrangssteuerung.
F i g. 2 ist eine Blookdarstellung der Vorrang- 3< > Steuerung 143 von Fig. 1. Die Kopiersteuerschaltung trägt die Bezugsziffer 201. Beim Anlegen der erforderlichen Eingangssignale an die Leitung 202 wird ein Signal auf Leitung 203 erlangt, das »Übergang zum Kopiergang« anzeigt. Wenn daher die Leitung 203 ein hohes Potential hat, liefert der Inverter 204 ein Sperrsignal mit niedriger Spannung an seinem Ausgang zur Leitung 205, und dieses wird als »Nicht Steuerung 1« bezeichnet. Dadurch werden also alle anderen Steuerungen 2 bis 7 gesperrt. Falls die Leitung 203 keinen »Übergang zum Kopiergang« anzeigt, hat der Ausgang des Inverters 204 ein hohes Potential und bereitet die Schaltung 206 »Befehlsbezugssteuerung 2« für den Empfang entsprechender Signale auf ihrer Eingangsleitung 207 vor. Dadurch entsteht ein Ausgangssignal auf Leitung 208, dessen Potential steigt iund so einen »Übergang zum Befehlsbezugsgang« liefert, sowie einen Sperrimpuls am Ausgang des Inverters 209 auf Leitung 210. Das Und-Tor 211 mischt das »Nicht Steuerung 1 «-Signal auf Leitung 205 und das »Nicht Steuerung 2«-Signal auf 210 und liefert einen Sperrimpuls an seinem Ausgang, falls eine dieser Leitungen ein niedriges Potential hat. Das Ausgangssignal des Und-Tors 201 ist das »Nicht Steuerung 1, 2«-Signal. Wenn diese Ausgangsleitung 212 ein hohes Potential hat und so weder einen Kopier- noch einen Befehlsbezugsgang, anzeigt, kann die .Hauptspeichersteuerung 213 ein Ausgangssignal auf Leitung 214 auf Eingangssignale auf Leitung 215 hin liefern. Das Ausgangssignal auf 214 bedeutet »Übergang zum Hauptspeichergang« und veranlaßt, daß der Hauptrechner einen Speichergang ausführen kann. Das Ausgangssignal auf 203 »Übergang zum Kopiergang« kann einen Kopiergang entweder für den Haupt- oder für den Steuerrechner anzeigen, Ein Ausgangssignal auf Leitung 208 »Übergang zum Befehlsbezugsgang« kann einen Befehlsbezugsgamg entweder für den Haupt- oder für den
anzeigen. Aber ein Ausgangssignal auf Leitung 214 zeigt nur einen »Übergang zum Hauptspeichergf>.ng« für den Hauptrechner an. Wenn die Leitung 214 ein niedriges Potential hat und so anzeigt, daß kein Hauptspeichergang stattfindet, also »Nicht Steuerung 3«, erzeugt der Inverter 216 ein hohes Potential auf Leitung 217 und bereitet so das Und-Tor 218 vor. Wenn zusätzlich ein hohes Potential auf Leitung 219 liegt, das »Nicht Steuerung 1, 2« anzeigt, liefert dieses Und-Tor ein Signal »Nicht Steuerung 1, 2, 3« auf Leitung 220. Dadurch wird die Steuerspeicher-Steuerung 221 vorbereitet und liefert auf Leitung 222 ein Ausgangssignal »Übergang zum Steuerspeichergang« gleichzeitig mit den richtigen Eingangssignalen auf Leitung 223. Wenn die Leitung 222 ein niedriges Potential hat und so einen Eingangsimpuls mit niedrigem Pegel auf Leitung 224 zum Inverter 225 sendet, hat die Leitung 226 ein hohes Potential. Das Und-Tor 227 mischt die Signale der Leitungen 212 und 226 und bildet ein Signal »Nicht Steuerung 1, 2, 3, 4« auf Leitung 228 zu der Hauptdatenbezugssteuerung 229. Dadurch wird 229 vorbereitet, so daß entsprechende Eingangssignale auf Leitung 230 ein Signal »Übergang zum Hauptdatenbezugsgang« auf Leitung 231 erzeugen. Die Leitung .231 ist an den Eingang des Inverters 232 angeschlossen, um den Zustand der Leitung 231 umzukehren und ihr Ausgangssignal dem Und-Tor 233 zuzuführen. Die Leitung 234 verbindet den Ausgang des Und-Tors 227 mit dem Und-Tor 233. Wenn der Ausgang des Und-Tors 233 ein hohes Potential hat, zeigt das an »Nicht Steuerung 1, 2, 3, 4 und 5«, und die bei 235 gezeigte Steuerdatenbezugssteuerung 6 wird vorbereitet. Signale auf der Eingangsleitung 236 von 235 erzeugen ein Ausgangssignal auf 237, das »Übergang zum Steuerdatenbezugsgang« bedeutet. Die Leitung 237 ist an den Inverter 238 angeschlossen, dessen Ausgang mit dem Und-Tor 239 verbunden ist. Das Und-Tor 239 mischt das Ausgangssignal des Inverters 238 und des Und-Tors 233. Wenn der Ausgang des Und-Tors 239 ein niedriges Potential hat, zeigt das »Nicht Steuerung 1, 2, 3, 4, 5 und 6« an. Dadurch wird die Haupt- und Steuerbefehlsbezugssteuerung (7) 240 vorbereitet und liefert ein Ausgangssign/al auf Leitung 241 bei Anlegung der richtigen Signale an die Leitung 242. Dieses Ausgangssignal bedeutet »Übergang zum Befehlsbezugsgang«. Die Steuerung 7 wird in Sonderfällen verwendet, wenn keiner der' vorhergehenden Gänge ausgeführt "werden kann.

Claims (2)

Patentansprüche:
1. Programmgesteuerte datenverarbeitende Maschine, d.adurch-gekennzeichnet, daß für ein Rechenwerk (133 bis 135 bzw. 139 bis 141) mehrere Befehlsregister (121 bis 123 bzw. 127 bis 129) vorgesehen sind und daß eine Vorrangsteuerung (143) angeordnet ist, die die in den Befehlsregistern (121 bis 123 und 127 bis· 129) stehenden mit ihren Rang innerhalb einer Rangfolge bestimmende Merkmale versehene Befehle nach einer vorbestimmten Rangfolge zur Ausführung bringt.
2. Programmgesteuerte datenverarbeitende Maschine nach Anspruch 1, dadurch gekennzeichnet, daß zur Ausführung eines aus mehreren mehrmals sich wiederholenden Befehlen bestehenden
«IQ ΛΛΛΙΛΪΛ
Programms die Befehle dieses Programms in den Befehlsregistern (127, 128, 129) abgespeichert werden und daß die Befehlsregister (127, 128, 129) gegebenenfalls zusammen mit Pufferregistern (124,. 125, 126, 151, 152) zu einer Schleife zusammengeschaltet werden, in der die Befehle umlaufen und wiederholt ausgeführt werden.
In Betracht gezogene Druckschriften: Deutsche Patentschrift Nr. 975 265; deutsche Auslegeschrift Nr. 1 049 129; österreichische Patentschrift Nr. 206 203; französische Patentschriften.Nr. 1180 399, 72485; Western Computer Proceedings, 1957, S. 156 bis 160;
Prop. EICC, 1958, S. 115 bis 128.
Hierzu 1 Blatt Zeichnungen
DE1960J0019221 1959-12-30 1960-12-24 Programmgesteuerte datenverarbeitende Maschine Expired DE1178623C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US862967A US3202969A (en) 1959-12-30 1959-12-30 Electronic calculator

Publications (2)

Publication Number Publication Date
DE1178623B DE1178623B (de) 1964-09-24
DE1178623C2 true DE1178623C2 (de) 1973-01-25

Family

ID=25339881

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1960J0019221 Expired DE1178623C2 (de) 1959-12-30 1960-12-24 Programmgesteuerte datenverarbeitende Maschine

Country Status (3)

Country Link
US (2) US3202969A (de)
DE (1) DE1178623C2 (de)
GB (1) GB888732A (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3307150A (en) * 1962-11-16 1967-02-28 Stromberg Carlson Corp Queue store
US3286239A (en) * 1962-11-30 1966-11-15 Burroughs Corp Automatic interrupt system for a data processor
US3349375A (en) * 1963-11-07 1967-10-24 Ibm Associative logic for highly parallel computer and data processing systems
US3334333A (en) * 1964-04-16 1967-08-01 Ncr Co Memory sharing between computer and peripheral units
US3343140A (en) * 1964-10-27 1967-09-19 Hughes Aircraft Co Banked memory system
US3348210A (en) * 1964-12-07 1967-10-17 Bell Telephone Labor Inc Digital computer employing plural processors
US3519842A (en) * 1964-12-17 1970-07-07 Matsushita Electric Ind Co Ltd Voltage switching device
FR1477814A (de) * 1965-04-05 1967-07-07
US3377621A (en) * 1965-04-14 1968-04-09 Gen Electric Electronic data processing system with time sharing of memory
US3373408A (en) * 1965-04-16 1968-03-12 Rca Corp Computer capable of switching between programs without storage and retrieval of the contents of operation registers
US3435420A (en) * 1966-01-03 1969-03-25 Ibm Contiguous bulk storage addressing
US3426330A (en) * 1966-02-14 1969-02-04 Burroughs Corp Central data processor
US3416139A (en) * 1966-02-14 1968-12-10 Burroughs Corp Interface control module for modular computer system and plural peripheral devices
US3449724A (en) * 1966-09-12 1969-06-10 Ibm Control system for interleave memory
FR1536616A (fr) * 1966-09-21 Ibm Système de traitement d'instructions avec des perfectionnements pour le branchementet les boucles du programme
FR1541240A (fr) * 1966-11-10 Ibm Accès à chevauchement et à intercalation pour mémoires à plusieurs vitesses
US3496551A (en) * 1967-07-13 1970-02-17 Ibm Task selection in a multi-processor computing system
US3573852A (en) * 1968-08-30 1971-04-06 Texas Instruments Inc Variable time slot assignment of virtual processors
US3573854A (en) * 1968-12-04 1971-04-06 Texas Instruments Inc Look-ahead control for operation of program loops
US3573853A (en) * 1968-12-04 1971-04-06 Texas Instruments Inc Look-ahead control for operation of program loops
US3623017A (en) * 1969-10-22 1971-11-23 Sperry Rand Corp Dual clocking arrangement for a digital computer
JPS514381B1 (de) * 1969-11-24 1976-02-10
US3713096A (en) * 1971-03-31 1973-01-23 Ibm Shift register interconnection of data processing system
BE789583A (fr) * 1971-10-01 1973-02-01 Sanders Associates Inc Appareil de controle de programme pour machine de traitement del'information
CA1051121A (en) * 1974-09-25 1979-03-20 Data General Corporation Overlapping access to memory modules
DE2717374C2 (de) * 1977-04-20 1985-06-20 Hughes Aircraft Co., Culver City, Calif. Datenverarbeitungsanlage
JPS5848146A (ja) * 1981-09-18 1983-03-22 Toshiba Corp 命令先取り方式
JPS5858653A (ja) * 1981-10-02 1983-04-07 Hitachi Ltd デ−タ処理装置
US4739472A (en) * 1984-12-07 1988-04-19 Nec Corporation Information processing device capable of rapidly processing instructions of different groups

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE975265C (de) * 1949-06-22 1961-10-26 Ibm Elektronische Ziffern-Rechenmaschine

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2925588A (en) * 1954-12-31 1960-02-16 Rca Corp Memory reading system
US2914248A (en) * 1956-03-07 1959-11-24 Ibm Program control for a data processing machine
US3070304A (en) * 1957-04-12 1962-12-25 Thompson Ramo Wooldridge Inc Arithmetic unit for digital control systems
US3058658A (en) * 1957-12-16 1962-10-16 Electronique Soc Nouv Control unit for digital computing systems
US3020525A (en) * 1958-04-04 1962-02-06 American Telephone & Telegraph Record controlled translator
US3061192A (en) * 1958-08-18 1962-10-30 Sylvania Electric Prod Data processing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE975265C (de) * 1949-06-22 1961-10-26 Ibm Elektronische Ziffern-Rechenmaschine

Also Published As

Publication number Publication date
DE1178623B (de) 1964-09-24
GB888732A (de)
US3202969A (en) 1965-08-24
USRE26087E (en) 1966-09-20

Similar Documents

Publication Publication Date Title
DE1178623C2 (de) Programmgesteuerte datenverarbeitende Maschine
DE2714805C2 (de)
DE1549522B1 (de) Datenverarbeitungsanlage mit simultanverarbeitung mehrerer programme mittels mehrerer rechner
DE3306084A1 (de) Rechnerarchitektur zur gleitkomma -addition
DE2712224A1 (de) Datenverarbeitungsanlage
DE2019444A1 (de) Datenverarbeitungsanlage
DE1524111C3 (de) Elektronische Datenverarbeitungsanlage
DE1115488B (de) Datenverarbeitungssystem
DE3123382A1 (de) &#34;verfahren und einrichtung zum uebertragen von daten zwischen zentraleinheiten oder prozessoren von mehrprozessorsystemen&#34;
DE1549548A1 (de) Vorrichtung zur Aktivierung eines bestimmten Befehls aus einer Vielzahl von Befehlen,die in einem Befehlsspeicher eines Rechners gespeichert sind
DE1925427A1 (de) Datenuebertragungsvorrichtung zum UEbertragen von Daten zwischen Informationsspeichern
DE1201586B (de) Programmgesteuerte Daten-Auswertmaschine
DE2136210A1 (de) Zentraleinheit fur eine EDV-Anlage
DE2609698C2 (de) Elektronischer Rechner
DE2720842A1 (de) Daten-uebertragungssystem
DE1774675A1 (de) Elektronisches Rechengeraet
DE1499286B2 (de) Datenbearbeitungsanlage
DE1184122B (de) Addiervorrichtung
DE1549423A1 (de) Einrichtung zur Verarbeitung von Datensaetzen in einer digitalen Rechenanlage
DE1194605B (de) Verbesserung an Geraeten zur Verarbeitung von Angaben, Informationen od. dgl.
DE2220329B2 (de) Schaltungsanordnung zum Umsetzen einer in Gleitkomma-Darstellung ausgedrückten Zahl in eine Festkomma-Darstellung bei elektronischen Rechnern
DE2936801C2 (de) Steuereinrichtung zur Ausführung von Instruktionen
DE1181948B (de) Elektronische Datenverarbeitungsmaschine
DE2004762A1 (de) Übertragungsanschlussgerät
DE2150292C2 (de) Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen

Legal Events

Date Code Title Description
E77 Valid patent as to the heymanns-index 1977
EHJ Ceased/non-payment of the annual fee