DE1178623C2 - Programmgesteuerte datenverarbeitende Maschine - Google Patents
Programmgesteuerte datenverarbeitende MaschineInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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:
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
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; . ,
. 2. Übertragen;
3. Abtasten; . ,
4. Lesen; ■ · ■
5. Rückwärts lesen;
6. Schreiben;
7. Ende der Aufzeichnung schreiben;
8. Zurückspulen;
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;
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)
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
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE975265C (de) * | 1949-06-22 | 1961-10-26 | Ibm | Elektronische Ziffern-Rechenmaschine |
Family Cites Families (6)
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 |
-
0
- US US26087D patent/USRE26087E/en not_active Expired
- GB GB888732D patent/GB888732A/en active Active
-
1959
- 1959-12-30 US US862967A patent/US3202969A/en not_active Expired - Lifetime
-
1960
- 1960-12-24 DE DE1960J0019221 patent/DE1178623C2/de not_active Expired
Patent Citations (1)
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) | "verfahren und einrichtung zum uebertragen von daten zwischen zentraleinheiten oder prozessoren von mehrprozessorsystemen" | |
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 |