DE1524209A1 - Leitwerk fuer eine Rechenanlage - Google Patents
Leitwerk fuer eine RechenanlageInfo
- Publication number
- DE1524209A1 DE1524209A1 DE19661524209 DE1524209A DE1524209A1 DE 1524209 A1 DE1524209 A1 DE 1524209A1 DE 19661524209 DE19661524209 DE 19661524209 DE 1524209 A DE1524209 A DE 1524209A DE 1524209 A1 DE1524209 A1 DE 1524209A1
- Authority
- DE
- Germany
- Prior art keywords
- program
- execution
- registers
- register
- output
- 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.)
- Withdrawn
Links
- 239000004020 conductor Substances 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 6
- 230000000903 blocking effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/462—Saving or restoring of program or task context with multiple register sets
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10T—TECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
- Y10T74/00—Machine element or mechanism
- Y10T74/18—Mechanical movements
- Y10T74/18024—Rotary to reciprocating and rotary
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Retry When Errors Occur (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
Description
RCA 56,116
US-Ser.No. 448,708
Convention date:
April 16, 1965
US-Ser.No. 448,708
Convention date:
April 16, 1965
Radio Corporation of America, New York, N.Y., USA
Leitwerk: für eine Rechenanlage.
Die Erfindung betrifft elektronische Rechenanlagen, insbesondere den Leitwerkteil derartiger Rechenanlagen.
Im Betrieb einer Allzweck-Rechenanlage muß das Leitwerk von einem zu einem anderen von verschiedenen Programmabläufen
so schalten, wie es durch die in der Maschine wirksamen Befehle und auftretenden Bedingungen vorgeschrieben wird. Normalerweise
bewirkt das Leitwerk, daß die Befehle des eingegebenen Programms nacheinander ausgeführt werden. Die Ausführung des eingegebenen
Programms kann unterbrochen werden, um eine für die Bedienung des Eingabe-Ausgabewerks erforderliche Operation einzuleiten,
um während der Durchführung des eingegebenen Programms entstehenden Bedürfnissen der Informationsverarbeitung Rechnung zu tragen,
oder um ein Versagen von Teilen der Rechenanlage anzuzeigen.
009827/U51
Ein Leitwerk enthält normalerweise Befehlsregister, Programmzählerregister,
Datensammelregister usw., um das durchgeführte Programm betreffende Informationen aufzunehmen. Wenn eine Unterbrechung
des gerade durchgeführten Programms auftritt, müssen die Inhalte vieler der Register zum späteren Gebrauch nach
Wiederaufnahme der Durchführung des unterbrochenen Programms gespeichert und das unterbrechende Programm betreffende Informationen
an die Register übertragen werden. Diese Beladung und Umladung der Register ist in einem unerwünschten Maße zeitraubend
.
Gemäß einem Ausführungsbeispiel der Erfindung enthält das Leitwerk einer Rechenanlage Operationsregister, die in eine erste,
als "Befehlsausführungsregister" bezeichnete Registergruppe für Informationen, die während der Ausführung eines Befehls, nicht
aber während der Ausführung eines folgenden Befehls verwendet werden, und eine zweite, als "Programmdurehführungsregister" bezeichnete
Registergruppe für Informationen, die während der Ausführung eines Befehls eines Programms sowie auch während der
Ausführung eines folgenden Befehls des gleichen Programms verwendet werden, unterteilt sind. Das Leitwerk enthält mehrere
verschiedene Sätze von Programmdurchfuhrungsregistem, die eine
entsprechende Anzahl von verschiedenen Programm- oder Leitwerkszuständen definieren. Derjenige Programmzustand, der zu einem
gegebenen Zeitpunkt wirksam ist, wird durch ein Programmzustands-Steuerregister bestimmt, das einen entsprechenden der verschiedenen
009827/U51
Sätze von Programmdurchführungsregistern voraktiviert. Eine logisch-arithmetische Einheit empfängt Eingangssignale von den
Befehlsausführungsregistern sowie vom aktivierten Satz von Programmdurchführungsregistern.
Die Programmsteuerung des Rechners steuert die logisch-arithmetische Einheit hinsichtlich der Verwertung
der Inhalte der Befehlausführungsregister und des aktivierten Satzes der Programmdurchführungsregister.
Die Programmsteuerung bewirkt, wenn bestimmte Programmzustands-Steuerbefehle
in einem Operationscoderegister anwesend sind, eine Änderung des Inhalts des Programmzustands-Steuerregisters.
Eine Programmunterbrechereinheit, die auf Unterbrechungsbedingungen in der Maschine anspricht, verändert auch den
Inhalt des Programmzustands-Steuerregisters. Die Rechenanlage
kann sehr rasch von einem für die Durchführung eines gegebenen Programms verwendeten Programmzustand auf einen anderen, für die
Durchführung eines anderen Programms verwendeten Programmzustand schalten, ohne daß zwischenzeitlich sämtliche Informationen,
die später für die Fortsetzung des unterbrochenen Programms benötigt werden, zur Speicherung übertragen und ohne daß sämtliche
Informationen, die sofort für die Durchführung des unterbrechenden Programms benötigt werden, aufgesucht werden müssen.
Es können auch Einrichtungen vorhanden sein, um diejenigen Maßnahmen zu steuern, die ergriffen werden, wenn ein Befehl erreicht
wird, dessen Durchführung in dem bestehenden Programmzustand
der Anlage durch den Programmierer blockiert ist.
009827/U51
In den Zeichnungen zeigen:
Fig. 1 ein Blockschaltbild einer erfindungsgemäß ausgebildeten Rechenanlage;
Fig. 2 ein Blockschaltbild, das Einzelheiten von Teilen
der Anlage nach Fig. 1 zeigt; und
Fig. 5 ein Blockschaltbild, das einen Teil der Anlage nach
Fig. 1 im einzelnen zeigt.
Fig. 1 zeigt eine Rechenanlage mit einem Datenhauptleiter DB,
der aus einer Vielzahl von elektrischen Einzelleitungen zum Übertragen von Daten zwischen den verschiedenen Einheiten der Rechenanlage
besteht. Beispielsweise ist der Datenhauptleiter DB an einen Hauptschnellspeicher 6 und an die Eingabe-Ausgabevorrichtung
8 angeschlossen. Der Datenhauptleiter DB ist ferner über Leitungen 10 an mehrere Befehlsausführungsregister 12 sowie
über die Leitung 18 an mehrere Sätze I, II, III und IV von Programmdurchführungsregistern
angeschlossen. Die Befehlsausführungsregister 12 dienen für Informationen, die während der Ausführung
eines Befehls benötigt, dagegen während der Ausführung eines folgenden Befehls nicht benötigt werden. Die Sätze I, II,
III und IV von Programmdurchführungsregistern enthalten Register für Informationen, die während der Ausführung eines Befehls eines
Programms sowie auch während der Ausführung eines folgenden Befehls des gleichen Programms benötigt werden. Jede der Sätze I,
II, III und IV von Programmdurchführungsregistern wird jeweils
009827/UB1
für die Durchführung eines anderen Programms oder Programmablaufs verwendet. Mittels der verschiedenen Sätze von Programmdurchführungsregistern
kann man die Rechenanlage in jeweils einem von einer entsprechenden Anzahl verschiedener Programmzustände
betreiben.
Die einzelnen Register der Gruppe von Befehlausführungsregistern
12 umfassen ein Operationscoderegister Op, ein Adressenregister AR, ein Zwischenregister IR und ein Gebrauchsregister
UR. Während in Fig. 1 nur vier derartige Befehlsausführungsregister gezeigt sind, kann man eine beliebige Anzahl solcher
Register darunter z.B. auch ein allgemeines Zählregister, ein Operandenbezeichnungs- oder -Zählregister und ein Addierwerkausgangsregister
vorsehen. Jedes der einzelnen Befehlsausführungsregister kann für die Speicherung einer großen Anzahl,
beispielsweise 32 Informationsbits eingerichtet sein. Die einzelnen
Register können aus einer der Anzahl der im Register speicherbaren Informationsbits entsprechenden Anzahl von Flipflop-Stufen
(bistabilen Kippstufen) bestehen. Andererseits können auch einige oder sämtliche der einzelnen Register durch Speicherzellen
eines kleinen Notizblock-Schnellspeichers, der sich vom Hauptspeicher 6 dadurch unterscheidet, daß er erheblich kleiner
ist und eine erheblich größere Arbeitsgeschwindigkeit hat, gebildet werden.
Das Operationscoderegister Op in der Registergruppe 12 hat
einen Ausgang, der über die Leitung 19 an die Programmsteuerung 20,
0098 27/145 1
die üblich ausgebildet sein kann, angeschlossen ist. Die Befehlsausführungsregistergruppe
12 enthält weitere Einzelregister wie AR, JR und UR, deren Ausgänge über Leitungen 14 an eine logischarithmetische Einheit (Rechenwerk) 15 angeschlossen sind, die
ihrerseits mit Ausgangsleitungen l6 an den Datenhauptleiter DB
angeschlossen ist. Das Operationscoderegister Op kann mit einem weiteren Ausgang (nicht gezeigt) an die logisch-arithmetische
Einheit 15 für den zeitweisen Gebrauch zu einem anderen Zweck angeschlossen sein.
Die Programmsteuerung 20 enthält Einrichtungen zum Decodieren des Inhalts des Operationscoderegisters Op sowie die üblichen
Einrichtungen zum Steuern der Operationsabläufe sämtlicher Einheiten der Rechenanlage in der richtigen Reihenfolge. Die Programmsteuerung
20 ist mit einem Ausgang über Leitungen 26 an die logisch-arithmetische Einheit 15 angeschlossen. Zusätzlich zu den
Leitungen, die in der Zeichnung gezeigt sind, da sie in direkter Beziehung zu den zur Erfindung gehörigen Einheiten stehen, hat
die Programmsteuerung 20 viele weitere Ausgangssteuerleitungen (nicht gezeigt). Die logisch-arithmetische Einheit kann eine
übliche Einheit sein, die in der Lage ist, einen oder mehrere Operanden aufzunehmen und damit die von der Programmsteuerung 20
vorgeschriebenen Operationen durchzuführen. Die logisch-arithmetische
Einheit 15 kann einen Ausgang (nicht gezeigt) haben, der zusätzlich zu dem Weg über den Datenhauptleiter DB eine direkte '
Verbindung zu den Programmdurchführungsregistern herstellt.
009827/1451
Der Datenhauptleiter DB ist ferner über Leitungen 18 mit
Eingängen der Einzelregister in den vier Sätzen I, II, III und IV von Programmdurchführungsregistern verbunden. Der Satz I enthält
im vorliegenden Falle die Einzelregister II, 12, und Γ3.
Jedes dieser Einzelregister kann normalerweise eine große Anzahl, beispielsweise J2 Informationsbits speichern. Der Satz I kann
eine große Anzahl, beispielsweise 27 Einzelregister enthalten, darunter (in einer praktischen Ausführungsform) ein Programmzählregister,
l6 Allzweckregister, 8 Gleitkomma-Register, ein Unterbrechungszustandsregister und ein Unterbrechungsabdeckregister.
Sämtliche Einzelregister des Satzes I dienen für Informationen, die während der Ausführung eines Befehls eines
Programms sowie während der Ausführung eines folgenden Befehls des gleichen Programms benötigt werden. Die Sätze II, III und IV
können ebenfalls ein Programmzählregister, eine Anzahl von Allzweckregistern, ein Unterbrechungszustandsregister und ein Unterbrechungsabdeckregister
enthalten.
Die einzelnen Register der Sätze I, II, III und IV von Programmdurchführungsregistern
können aus einer Vielzahl von üblichen Flipflop-Stufen aufgebaut sein. Andererseits, können einige
oder sämtliche der Einselregister durch Speicherzellen in einem kleinen Notizblock-Schnellspeicher gebildet werden. Die Ausführung
der einzelnen Register in Form von entweder Flipflop-Stufen oder Speicherzellen in einer gegebenen Rechenanlage wird
jeweils durch Überlegungen bezüglich der Arbeitsgeschwindigkeit
009827/US1
und Kosten bestimmt. Ausgänge sämtlicher Einzelregister der Sätze I, II, III und IV von Programmdurchführungsregistern sind über
Leitungen 25 an einen Eingang der logisch-arithmetischen Einheit 15 angeschlossen. Die Einheit 15 wird über Leitungen 26 von der
Programmsteuerung 20 gesteuert.
Von den Sätzen I, II, III und IV von Programmdurchführungsregistern
wird jeweils ein Satz bei der Durchführung eines von vier entsprechend verschiedenen Programmen verwendet. Wenn einer
dieser vier Registersätze in Tätigkeit ist, befindet sich übereinkunftsgemäß die Rechenanlage in einem ihrer vier Programmzustände.
Die vier Sätze von Programmdurchführungsregistern können für die Durchführung von vier verschiedenen Programmen
verwendet werden, die gemäß einem praktischen Ausführungsbeispiel der Anlage wie folgt sein können: Satz I dient für die Durchführung
des Produktionsprogramms des Benutzers der Anlage. Satz II dient für die Steuerung oder Bedienung der Eingabe-Ausgabevorrichtungen
und für die Erfordernisse der Unterbrechungszustände.
Satz III dient für die Analyse von Unterbrechungszuständen und für die Durchführung von Steuerprogrammen und Satz IV
dient für spezielle Steuerprogramme, auf die z.B. zurückgegriffen wird, wenn Versager in irgendwelchen Bausteinen der Anlage auftreten.
Während im vorliegenden Falle zu Erläuterungszwecken vier solche Registersätze gezeigt sind, kann man auch eine kleinere
oder größere Anzahl derartiger Sätze verwenden.
009827/U51
Derjenige von den vier Sätzen von Programmdurchführungsregistern,
der jeweils zu einem bestimmten Zeitpunkt in Gebrauch ist, wird durch den Inhalt eines Programmzustandsregisters JO
bestimmt, das mit Ausgängen an einen Decodierer 34 angeschlossen
ist. Wie in Fig. 2 im einzelnen gezeigt ist, enthält das Programmzustandsregister
30 drei Flipflops j51, 32 und 33. Der Decodierer
34 besteht im vorliegenden Falle aus einer üblichen Anordnung von UND-Gattern, die an die Ausgänge der Flipflops 31* 32, 33
des Programmzustandsregisters so angeschaltet sind, daß sie jeweils entsprechend dem Speicherinhalt der Flipflops aktive Ausgangssignale
in eine der vier Ausgangsleitungen 36l, 362, 363 und
364 speisen. Die vier Ausgänge des Decodierers 34 gelangen über
diese allgemein mit 36 bezeichneten Leitungen als Voraktivierungssignale
zu den entsprechenden Sätzen I, II, III und IV von Programmdurchführungsregistern.
Als UND-Gatter und ODER-Gatter sind hier Einrichtungen bezeichnet, welche die angegebenen logischen
Funktionen erfüllen, im übrigen aber beliebig unter Berücksichtigung der jeweils gegebenen Signalpolaritäten ausgebildet sein
können.
Ein zu einem der Sätze von Programmdurchführungsregistern gelangendes
Ausgangssignal des Decodierers 34 bewirkt eine Voraktivierung von Eingängen und Ausgängen des betreffenden Registersatzes.
Die Voraktivierung der Eingänge und Ausgänge eines Registersatzes erfolgt mittels einer Anordnung von UND-Gattern,
wie im Zusammenhang mit Fig. 3 noch beschrieben werden wird. Die
00 9.8 27/ US 1
Eingabe von Datensignalen vom Datenhauptleiter DB und den Leitungen
18 in ein bestimmtes der Register Il bis IV3 eines voraktivierten Satzes wird durch Aktivierungssignale von der Programmsteuerung
über die Leitungen 41, 42 und 43 gesteuert. Zu einem gegebenen
Zeitpunkt ist einer der vier Registersätze I, II, III und IV über eine der Leitungen 36I, 362, 363, 364 voraktiviert und eines der
Register des voraktivierten Satzes über eine der Leitungen 41, 42 und 43 aktiviert.
Wenn die Register Il bis 173 durch Speicherzellen eines
Notizblockspeichers gebildet werden, so werden die Signale in den Wählleitungen 361, 362, 363, 364, 41, 42, 43 einem Adressenerzeuger
zugeleitet, der die Adresse im Speicher eines gewählten Registers erzeugt. Das Ausgangssignal des Adressenerzeugers wird dem
Adressenregister des Speichers zugeleitet, um eine einzelne Registerspeicherzelle
aufzurufen. Der Datenleiter l8 und der Datenleiter 25 sind mit dem Datenregister des Speichers verbunden, um
eine angesteuerte Registerspeicherzelle mit Daten zu beliefern bzw. aus einer angesteuerten Registerspeicherzelle Daten auszuliefern.
Wie erwähnt, bestimmt das Programmzustandsregister 30, welcher der vier Programmzustände zu einem gegebenen Zeitpunkt wirksam
ist. Der Inhalt des Programmzustandsregisters 30 wird seinerseits
durch Signale bestimmt, die über die Leitungen 46 sowie über ODER-Gatter 47 von der Programmsteuerung 20 geliefert werden,
sowie durch Signale, die über die Leitungen 48 sowie über die
009827/US1
ODER-Gatter 47 von einer Programmunterbrechereinheit 50 geliefert
werden. Die Programmunterbrechereinheit 50 ist in üblicher Weise
so ausgebildet, daß sie über Leitungen 52 die Erfordernisse einer
Unterbrechung wahrnimmt, die sich aus dem Auftreten einer ganzen Reihe von bestimmten Bedingungen in der Anlage ergeben. Diese
Bedingungen können sich aus Resultaten, die bei der Behandlung von Daten erhalten werden, aus der Decodierung eines Befehls, der
die Durchführung eines Eingabe-Ausgabevorgangs verlangt, aus dem Erfordernis eine Bedienung durch eine Eingabe-Ausgabevorrichtung,
aus einem Versagen im Betrieb eines Bausteins der Anlage usw. ergeben. Die Programmunterbrechereinheit 50 beliefert über die
Leitungen 48 das Programmzustandsregister JO mit Signalen, wodurch
ein entsprechender der Sätze I, II, III und IV von Programmdurchführungsregistern
für die Eingabe eines entsprechenden Unterbrechungsprogrammes oder einer entsprechenden Befehlsfolge vorbereitet
wird.
Außer über die Leitungen 52 empfängt die Programmunterbrechereinheit
50 auch Signale über Gatter 54, 55, 56 und 57 /on einem
Vorzugsbefehlsentschlüsseler 58. Der Vorzugsbefehlsentschlüsseler
58 empfängt über die Leituncen 19 und 59 den Inhalt des Operaticnscoderegisters
up. Die Gatter 54, -yj, 56 und 57 werden über Leitungen
00 von entsprechenden Flipflop-Stufen 6l, 62, 63 und 6-4
in Registern (Unterbrechungszustandsregistern) entsprechender der
Sätze I, II, III und IV von Programmdurchführungsregistern voraktiviert.
Die Flipflop-Stufen 6l, 62, 63 und 64 sind in Fig. 2 im
009827/UB1 BAD öH)QJNAL
einzelnen gezeigt. Die Eingänge und Ausgänge dieser Flipflop-Stufen
werden durch Paare von UND-Gattern 66 gesteuert, die jeweils paarweise durch Signale über die Leitungen 56 vom Decodierer
J54 voraktiviert werden. Die Setzeingänge S der Flipflop-Stufen 6l-62,
65 und 64 werden von der Programmsteuerung 20 über Gatter 66
und die Leitungen 68 mit Signalen beliefert. Es kann auch ein Leitungsweg (nicht gezeigt) von der Programmsteuerung 20 nach den
Zurücksetzeingängen R der Flipflop-Stufen 6l, 62, 63 und 64 vorgesehen
sein. Der Vorzugsbefehlsentschlüsseler 58 entschlüsselt jeden der Programmsteuerung 20 zugeleiteten "bevorzugten" Befehl.
Handelt es sich dabei um einen Befehl, dessen Ausführung während des gerade bestehenden Programmzustandes verboten oder blockiert
ist, so wird die Anlage auf einen anderen Programmzustand geschaltet, in dem ein entsprechender Unterbrechungsprogrammablauf eingeleitet
und durchgeführt v/erden kann.
Anhand der Fig. j5 sollen im einzelnen die Gattereinrichtungen
für die Voraktivierung der einzelnen Programmdurchführungsregister in den vier Sätzen I, II, III und IV beschrieben werden. Das über
die Leitung ~$6\ zum Registersatz I gelangende Decodierer-Ausgangssignal
ist bestrebt, die UND-Eingangsgatter 1\, 12, 73 und die
UND-Ausgangsgatter 71', 72', 73'>
vorzuaktivieren. Ebenso ist das über die Leitung 562 zum Registersatz II gelangende Decodiererausgangssignal
bestrebt, die UND-Eingangsgatter 8l, 82, Qj und
die UND-Ausgangsgatter 8I1, 82', 83' vorzuaktivieren. Die Registersätze
III und IV enthalten eine entsprechende Gatteranordnung
009827/ U51
(nicht gezeigt). Das in der Leitung 41 erscheinende Ausgangssignal
der Programmsteuerung ist bestrebt, die Gatter.71» 72' im Registersatz
I, die Gatter 8l, 8l' im Registersatz II und die entsprechenden Gatter (nicht gezeigt) in den Registersätzen III und IV zu aktivieren.
Ebenso ist das in der Leitung 42 erscheinende Ausgangssignal der Programmsteuerung bestrebt, die UND-Gatter 72, 72!, 82,
. 82' usw. zu aktivieren, während ein in der Leitung 43 erscheinendes
Signal bestrebt ist, die UND-Gatter 73, 731, 83, 831 usw. zu
aktivieren.
Die UND-Gatter sind in einer Rechteckmatrix angeordnet, in der durch Erregung einer der Leitungen 361, 362, 363 und 364 bei
gleichzeitiger Erregung einer der Leitungen 41, 42 und 4^ ein
bestimmtes der Register II, 12, 13» IHj 112 usw. voraktiviert
wird, so daß es ankommende Daten vom Datenleiter l8 empfangen und abgehende Daten in den Datarieiter 25 einspeisen kann. Wenn
beispielsweise die Leitungen 56I und 4l erregt sind, wird das
Gatter 71 aktiviert, so daß es Daten vom Datenleiter 18 zum Register Il leitet, während zugleich das Gatter 71' aktiviert wird,
so dais es Daten vom Register Il zum Datenleiter 25 leitet. Das
Einzelregister Il enthält Speicherzellen für viele Informationsbits. Das UND-Gatter 71 stellt eine entsprechend große Anzahl von
Informationsbitwegen von den Einzelleitungen des Datenleiters zu den einzelnen Bitspeicherzellen im Register Il her. Sämtlichen
anderen Register und UND-Gatter sind entsprechend ausgebildet.
009827/U51
Wenn die Anlage sich im Programmzustand I befindet, wird der Satz I von Programmdurchführungsregistern durch ein Signal
in der Leitung 36I voraktiviert. Entsprechend werden in den Programmzuständen
II, III und IV die entsprechenden Sätze II, III und TV von Programmdurchführungsregistern durch Signale in den
entsprechenden Leitungen 362, 363 und 364· voraktiviert. Dasjenige
der Einzelregister im voraktivierten Satz, das jeweils Daten empfangen oder ausgeben kann, wird durch diejenige der Programmsteuerungsleitungen
4l, 42, 43 bestimmt, die jeweils erregt ist.
Normalerweise, wenn die Anlage einen gegebenen Programmzustand einnimmt, bedient sie sich der Programmdurehführungsregister
des entsprechenden Satzes. Jedoch lassen sich eine bessere Wirtschaftlichkeit und betriebliche Vorteile dadurch erreichen,
daß man ein Register in einem bestimmten Satz für den Gebrauch in einem anderen oder in anderen Programmzuständen verfügbar
macht. So kann man ein gemeinsames Register für Gleitkomma-Rechenoperationen
in sämtlichen Programmzuständen verwenden. Dies ist in Fig.3 veranschaulicht, wo ein Register II3 des
Satzes II in der Matrix fehlt und die entsprechenden Gatter 83, 83' mit ihren Ausgängen an die zum Register 13 des Satzes I
gehörigen Gatter 78 und 78! angeschaltet sind. Das Register 13
steht somit zum Gebrauch sowohl dann, wenn die Anlage sich im Programmzustand II, als auch dann, wenn sie sich im Programmzustand
I befindet, zur Verfügung. Das Register 13 kann auch so
geschaltet werden, daß es für den Gebrauch in den Programmzuständen III und IV verfügbar ist.
009827/U51
Es sind ferner Maßnahmen getroffen, um ein Register in einer bestimmten Spalte eines bestimmten Satzes von einer anderen Spalte
eines anderen Satzes aus zugänglich zu machen. Beispielsweise hat das Register 12 des Satzes I ein UND-Gatter 77 für die Dateneingabe,
das an seinem einen Eingang 79 über eine Leitung (nicht gezeigt) vom Ausgang des Gatters 83 des Satzes TI voraktiviert
wird. Dieser Anschluß kann auch von einem anderen, dem Gatter 83>
entsprechenden Gatter auc erfolgen, das jedoch anderswo in einem der Sätze TI, III oder IV sich befindet. Es hat sich als zweckmäßig
herausgestellt, in dieser Weise Programmdurcnführungsregister
so auszubilden, daß, wenn die Anlage sich im Programmzustand III befindet, Programmzählregister, Unterbrechungsabdeckregister
und Unterbrechungszustandsregister in den Sätzen I und II als allgemeine Register (im Satz III), die in Wirklichkeit,
d.h. als tatsächliche Schaltungseinheit im Satz III gar nicht vorhanden sind, adressierbar auszubilden. In diesem Fall kann die
Anlage später, wennfeie sich im Programmzustand I oder II befindet, Zwischengebrauch von der in den Registern des Satzes I oder des
Satzes II vorhandenen Information machen, ohne da:3 Information von
einem Register des Satzes III übertragen werden muß.
Es soll jetzt die Wirkungsweise der Anlage beschrieben werden,
und zwar ausgehend von einem Zustand, in dem die Anlage Befehle
ausführt, die im Produktionsprogramm des Benutzers enthalten sind,. Die Anlage befindet sich in diesem Falle im Programmzustand
I, in dem der Satz I von Programmdurchführungsregistern für den
009827/U51
BAD ORIGHNAL
Empfang und die Aussendung von Datensignalen bereit ist. Das den Registersatz I derart voraktivierende Signal ist vom Decodierer
^4 abgeleitet und wird durph den Inhalt des Programmzustandsregisters
J5O bestimmt.
Die Ausführung der einzelnen aufeinanderfolgenden Befehle des Produktionsprogramms des Benutzers erfolgt durch Übertragung der
betreffenden Befehle vom Hauptspeicher 6 über den Datenleiter DB und die Leitungen 10 nach den Registern der Befehlsausführungsregistergruppe
12. Das Operationscoderegister Op empfängt den Operationscodeteil des Befehls. Der Inhalt des Operationscoderegisters
Op gelangt über die Leitungen I9 zur Programmsteuerung 20, die sämtliche Einheiten der Anlage bei der Ausführung des
durch den Operationscode verkörperten Befehls steue-rt. Ist der Befehl z.B. ein Addierbefehl, so wird der im Adressenregister AR
enthaltene Operandenadressenteil des Befehls dazu verwendet, den Operanden aus dem Hauptspeicher 6 herauszuholen und in das in
der Registergruppe 12 vorhandene Gebrauchsregister UR einzugeben. Danach gelangt der Operand vom Register UR über die Leitungen 14
zur logisch-arithmetischen Einheit 15. Gleichzeitig gelangt der in einem Programmdurchführungsregister des Satzes I befindliche
andere Operand über den Datenleiter 25 zum anderen Eingang der
logisch-arithmetischen Einheit 15. Die resultierende Summe wird von der logisch-arithmetischen Einheit I5 über die Leitungen l6,
den Datenleiter DB und die Leitungen l8 in das gleiche oder ein anderes Register des Satzes I von Programmdurchführungsregistern
009827/145 1
eingegeben. Die Summe wird deshalb in ein Programmdurchführungsregister
übertragen, weil sie unter Umständen während der Ausführung eines folgenden Befehls benötigt wird.
Die Ausführung der aufeinanderfolgenden Befehle des Produktionsprogramms
des Benutzers dauert solange an, bis eine Bedingung auftritt, die ein Umschalten auf die Durchführung eines
anderen Programms unter Verwendung eines anderen der Sätze II, III oder IV von Programmdurchführungsregistern erforderlich macht.
Die Änderung des Programmzustandes kann durch Signale, die von der Programmunterbrechereinheit 50 zum Programmzustandsregister J50,
oder durch Signale, die von der Programmsteuerung 20 zum Programmzustandsregister
JO geschickt werden, herbeigeführt werden. Die
somit in das Programmzustandsregister j50 eingegebene neue Information
wird vom Decodierer J4 entschlüsselt, so daß in einer der
Ausgangsleitungen ~$6 des Decodierers ein Voraktivierungssignal
erscheint, das einen entsprechenden anderen der Sätze II, III oder IV von Programmdurchführungsregistern voraktiviert. Die im
Satz I von Programmdurchführungsregistern enthaltene Information wird für den Gebrauch zu einem späteren Zeitpunkt, da das Produktionsprogramm
des Benutzers wieder aufgenommen wird, aufbewahrt. Es ist unnötig, diejenige Zeit aufzuwenden, die erforderlich
ist, um den Inhalt des Satzes I von Programmdurchführungsregistern
in den Hauptspeicher 6 zu übergeben und stattdessen in
die Register des Satzes I die für die Durchführung des unterbrechenden Programms benötigte Information einzugeben. Die für
009827/U51
das unterbrechende Programm benötigte Information ist in dem nunmehr aktivierten der Sätze II, III oder IV von Programmdurchführungsregistern
bereits vorhanden.
Die Durchführung des unterbrechenden Programms dauert solange an, bis eine Bedingung auftritt, die ein Zurückschalten auf das
Produktionsprogramm des Benutzers, d.h. auf den Programmzustand I, oder auf einen anderen der restlichen Programmzustände verlangt.
Auf diese Weise schaltet die Anlage zwischen den vier verschiedenen Programmzuständen zurück und vor, ohne daß eine zwischenzeitliche
Einspeicherung sämtlicher für die spätere Wiederaufnahme eines unterbrochenen Programms benötigten Informationen
und ein Aufsuchen sämtlicher für die Durchführung eines unterbrechenden Programms benötigten Informationen erforderlich sind.
Es sollen nunmehr verschiedene Bedingungen, die zu einer Änderung des jeweiligen Programmzustandes führen, erläutert
werden. Wenn die Anlage sich in dem Programmzustand I, in dem sie das Programm des Benutzers durchführt, befindet, kann z.B.
ein eine Programmunterbrechung auslösender Versager in der Maschine auftreten. Dieser Unterbrechungszustand bewirkt über die
Programmunterbrechereinheit 50 eine Änderung des Inhalts des Programmzustandsregisters
30 im Sinne einer Einleitung des Programmzustandes IV. Wenn eine Unterbrechung durch eine andere Bedingung
verursacht wird, verändert die Programmunterbrechereinheit 50
den Inhalt des Programmzustandsregisters ~j>0 im Sinne einer Einleitung
des Programmzustandes III. Solche Bedingungen sind bei-
009827/U51
- iy -
spielsweise das Erfordernis einer Bedienung einer Eingabe-Ausgabevorrichtung,
ein Kontrollerfordernis, ein Adressenfehler, ein Datenfehler, ein Exponentenüberlauf, ein Divisionsfehler usw..
Wenn die Anlage sich im Programmzustand IV oder III befindet, vollzieht sie Programmabläufe, welche die Ursache der Unterbrechung
analysieren und zu einem Befehl führen, der durch die
Programmsteuerung 20 im Sinne'einer Umschaltung auf den Programmzustand
II interpretiert wird. Wenn die Anlage sich im Programmzustand II befindet, vollziehtjsie einen entsprechenden Programmablauf,
der durch die Ursache der Unterbrechung, wie sie während des vorausgegangenen Programmzustandes IV oder III analysiert
wurde, bestimmt ist. Danach, am Ende des Ablaufs des Programmzustandes II wird ein Befehl erreicht, der ein Zurückspringen
zum Programmzustand I zwecks Wiederaufnahme des Produktionsprogramms des Benutzers bewirkt.
Aus den vorstehenden Ausführungen wird ersichtlich, daß gewisse Befehle nur dann ausgeführt werden sollten, wenn die Anlage
sich in einem entsprechenden ihrer Programmzustände befindet. Derartige Befehle, wie sie dann zur Ausführung anstehen können,
wenn die Anlage sich in einem entsprechenden Programmzustand befindet, werden "bevorzugte" Befehle genannt, und diese Befehle
werden durch geeignete Einrichtungen im Vcrzugsbefehlsentschlüsseler
58 decodiert. Wenn im Operarionsccderecister Op der Cperationscode
eines bevorzugten Befehls für die Verwertung durch die Programmsteuerung 20 bereitsteht, wird dieser Operationscode
°°9827/U61
zunächst im Vorzugsbefehlsentschlusseler 58 decodiert, der
daraufhin bestrebt ist, eines oder einige oder sämtliche der UND-Gatter 54, 55, 56 und 57 vorzuaktivieren. Eines dieser UND-Gatter
empfängt außerdem ein Signal "1" oder "0" von einer der Flipflop-Stufen 6l, 62, 63 und 64 im derzeit voraktivierten der
Sätze I, II, III oder IV von Programmdurchführungsregistern. Der bevorzugte Befehl wird sodann entweder von der Programmsteuerung
ausgeführt, oder die Programmunterbrechereinheit 50 wird im Sinne
einer Umschaltung auf einen entsprechenden Programmzustand ohne Ausführung des bevorzugten Befehls aktiviert.
Es sei beispielsweise angenommen, daß die Anlage sich im Programmzustand I befindet und das Flipflop 6l des Registersatzes I
voraktiviert ist und daß ferner ein bevorzugter Befehl erreicht wird, der vom Entschlüsseier 58 decodiert wird, so daß ein Voraktivierungssignal
zum UND-Gatter 54 gelangt. Ist sodann der Befehl im Programmzustand I blockiert, so erscheint im Flipflop
6l ein Signal "l", welches das UND-Gatter 54 aktiviert, dessen
Ausgang daraufhin die Programmunterbrechereinheit 50 veranlaßt, das Programm zu unterbrechen und vom Programmzustand I auf einen
entsprechend anderen Programmzustand umzuschalten. Steht dagegen im Flipflop 61 ein Signal "0" an, so wird dadurch das UND-Gatter
54 nicht aktiviert, so daß der betreffende Befehl durch die Programmsteuerung
20 im Programmzustand I ausgeführt wird.
Die "1"- und "C"-Inhalte der Flipflcps Cl, 62, 63 und 64 in
den Registersätzen I, II, III und IV können durch den Programmierer
009827/ U5 1
BAD OHfQINAL
verändert werden. Das heißt, die in einem Programm enthaltenen Befehle können Änderungen der Inhalte der Flipflops bewirken,
um im Verlaufe der Durchführung des Programms zu bestimmen, ob bevorzugte Befehle zugelassen werden oder ob ihre Ausführung
während bestimmter Programmzustände verhindert wird.
009827/U51
Claims (8)
1.) Leitwerk für eine Rechenanlage, gekennzeichnet durch eine Gruppe von Befehlsausführungsregistern (12) mit
einem Operationscoderegister für Informationen, die während der Ausführung eines Befehls benötigt und während der Ausführung
eines folgenden Befehls nicht benötigt werden; mehrere Sätze (I, II, III, IV) von Programmdurchführungsregistern für Informationen,
die während der Ausführung eines Befehls eines Programms und während der Ausführung eines folgenden Befehls des
gleichen Programms benötigt werden, wobei diese Sätze von Programmdurchführungsregistern
ein Arbeiten der Rechenanlage in jeweils einem von einer entsprechenden Anzahl von verschiedenen
Programmzuständen ermöglichen; ein Programmzustandsregister (30), das mit seinen Ausgängen wahlweise einen der Sätze von Programmdurchführungsregistern
für die Eingabe und Ausgabe von Informationen in Bereitschaft setzen kann; einen mit dem Operationscoderegister
gekoppelten Decodierer (^)>
der Befehle wahrnimmt, die entweder bevorzugte oder verbotene Befehle sein können; eine
Gatteranordnung, die auf den Ausstoß des Decodierers sowie auf ein gegebenenfalls in einem Register des jeweils voraktivierten
Satzes von Programmdurchführungsregistern vorhandenes Sperrbit anspricht; sowie eine Einrichtung (50), die auf den Ausstoß
dieser Gatteranordnung im Sinne einer Veränderung des Inhalts des Programmzustandsregisters anspricht.
009827/ U51
2.) Leitwerk nach Anspruch 1, dadurch gekennzeichnet, daß eine logisch-arithmetische Einheit (15)
an ihren Eingängen Signale von den Befehlsausführungsregistern sowie vom jeweils aktivierten Satz von Programmdurchführungsregistern
empfängt.
3.) Leitwerk nach Anspruch 2, dadurch gekennzeichnet,
daß die logisch-arithmetische Einheit mit einem Ausgang (l6) an einen Datenhauptleiter (DB) angeschlossen
ist.
4.) Leitwerk nach Anspruch 3* gekennzeichnet
durch eine Steuereinheit (2Q), die entsprechende Einzelregister
in sämtlichen Sätzen von Programmdurchführungsregistern vorzuaktivieren vermag.
5.) Leitwerk nach Anspruch 4, dadurch gekennzeichnet , daß die Gatte^n^ord^.
bei Empfang eines
aktiven Ausstoßes des Programmzustandsregisters und eines aktiven Ausstoßes der Steuereinheit ein bestimmtes einzelnes Progranimdurchführungsregister
in Bereitschaft setzt, Eingangesignale vom
Datenleiter zu empfangen und Ausgangssignale nach der logischarithmetischen Einheit zu schicken, wobei das betreffende Einzelregister
sich in demjenigen Satz von Programmdurchführungsregistern befindet, der durch den aktiven Ausstoß des Programmzustandsregisters
bestimmt wird.
009827/1451 BAD öniutfNAL
6.) Leitwerk nach Anspruch 5, dadurch gekennzeichnet
, daß die Gatteranordnung außerdem in der Lage ist, ein anderes als das durch den aktiven Ausstoß des Programmzustandsregisters
bestimmte Einzelregister in einem Satz von Programmdurchführungsregistern vorzuaktivieren, und daß die
Steuereinheit die logisch-arithmetische Einheit in einem solchen Sinne steuert, daß diese Einheit Daten von den Befehlsausführungsregistern und einem aktivierten der Programmdurchführungsregister
verarbeitet.
7.) Leitwerk nach Anspruch 6, dadurch gekennzeichnet
, daß die Steuereinheit außerdem bei Anwesenheit bestimmter Programmzustandssteuerbefehle im Operationscoderegister
den Inhalt des Programmzustandsregisters verändert.
8.) Leitwerk nach Anspruch 1, dadurch gekennzeichnet , daß die auf den Ausstoß der Gatteranordnung
ansprechende Einrichtung eine Programmunterbrechereinheit (50) ist, die auf Maschinenunterbrechungszustände anspricht, derart,
daß die Rechenanlage sehr rasch von einem Programmzustand, der für die Durchführung eines bestimmten Programms verwendet wird,
auf einen anderen Programmzustand, der für die Durchführung eines anderen Programms dient, schalten kann, ohne daß zwischenzeitlich
sämtliche für die spätere Portsetzung des unterbrochenen Programms
benötigten Informationen zur Speicherung übertragen und sämtliche für die Durchführung des unterbrechenden Programms sofort benötigten
Informationen aufgesucht werden müssen.
009827/U51
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US448708A US3373408A (en) | 1965-04-16 | 1965-04-16 | Computer capable of switching between programs without storage and retrieval of the contents of operation registers |
Publications (2)
Publication Number | Publication Date |
---|---|
DE1524209A1 true DE1524209A1 (de) | 1970-07-02 |
DE1524209B2 DE1524209B2 (de) | 1971-12-30 |
Family
ID=23781362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19661524209 Withdrawn DE1524209B2 (de) | 1965-04-16 | 1966-04-15 | Programmgesteuerte datenverarbeitungsanlage |
Country Status (4)
Country | Link |
---|---|
US (1) | US3373408A (de) |
DE (1) | DE1524209B2 (de) |
GB (1) | GB1097449A (de) |
SE (1) | SE323543B (de) |
Families Citing this family (87)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3453600A (en) * | 1966-08-18 | 1969-07-01 | Ibm | Program suspension system |
US3510845A (en) * | 1966-09-06 | 1970-05-05 | Gen Electric | Data processing system including program transfer means |
US3573736A (en) * | 1968-01-15 | 1971-04-06 | Ibm | Interruption and interlock arrangement |
JPS4843461B1 (de) * | 1968-10-17 | 1973-12-19 | ||
US3639912A (en) * | 1969-04-16 | 1972-02-01 | Honeywell Inf Systems | Management control subsystem for multiprogrammed data processing system |
US3665487A (en) * | 1969-06-05 | 1972-05-23 | Honeywell Inf Systems | Storage structure for management control subsystem in multiprogrammed data processing system |
SE330455B (de) * | 1969-06-17 | 1970-11-16 | Ericsson Telefon Ab L M | |
US3648252A (en) * | 1969-11-03 | 1972-03-07 | Honeywell Inc | Multiprogrammable, multiprocessor computer system |
US3675217A (en) * | 1969-12-23 | 1972-07-04 | Ibm | Sequence interlocking and priority apparatus |
US3740722A (en) * | 1970-07-02 | 1973-06-19 | Modicon Corp | Digital computer |
US3676852A (en) * | 1970-07-20 | 1972-07-11 | Ibm | Multiple program digital computer |
US3789365A (en) * | 1971-06-03 | 1974-01-29 | Bunker Ramo | Processor interrupt system |
US3728692A (en) * | 1971-08-31 | 1973-04-17 | Ibm | Instruction selection in a two-program counter instruction unit |
DE2214240C2 (de) * | 1972-03-23 | 1974-03-28 | Siemens Ag, 1000 Berlin U. 8000 Muenchen | Verfahren zur Abspeicherung von Steuerdaten bei Programmunterbrechung in einem Verarbeitungssystem |
US3798615A (en) * | 1972-10-02 | 1974-03-19 | Rca Corp | Computer system with program-controlled program counters |
GB1426273A (en) * | 1973-04-13 | 1976-02-25 | Int Computers Ltd | Data processing |
GB1448866A (en) * | 1973-04-13 | 1976-09-08 | Int Computers Ltd | Microprogrammed data processing systems |
US3828327A (en) * | 1973-04-30 | 1974-08-06 | Ibm | Simplified storage protection and address translation under system mode control in a data processing system |
US3913073A (en) * | 1973-05-31 | 1975-10-14 | Burroughs Corp | Multi-memory computer system |
IT1020701B (it) * | 1974-09-02 | 1977-12-30 | Olivetti & Co Spa | Contabile elettronica biprogramma bile |
US4342082A (en) * | 1977-01-13 | 1982-07-27 | International Business Machines Corp. | Program instruction mechanism for shortened recursive handling of interruptions |
US4250546A (en) * | 1978-07-31 | 1981-02-10 | Motorola, Inc. | Fast interrupt method |
JPS5530730A (en) * | 1978-08-22 | 1980-03-04 | Nec Corp | Data processor |
FR2464008A1 (fr) * | 1979-08-17 | 1981-02-27 | Thomson Brandt | Dispositif d'alimentation de tube a decharge et generateur de lumiere comportant un tel dispositif |
US4939640A (en) * | 1981-05-22 | 1990-07-03 | Data General Corporation | Data processing system having unique microinstruction control and stack means |
DE3138961C2 (de) * | 1981-09-30 | 1985-12-12 | Siemens AG, 1000 Berlin und 8000 München | Schaltungsanordnung zur schnellen Ausführung von Unterbrechungen nach Erkennen einer Unterbrechungsanforderung |
DE3587643T2 (de) * | 1984-03-02 | 1994-03-24 | Nippon Electric Co | Informationsverarbeitungseinheit mit Unterbrechungsfunktion. |
JPS6298434A (ja) * | 1985-10-25 | 1987-05-07 | Hitachi Ltd | デ−タ処理システム |
JPS6349945A (ja) * | 1986-08-20 | 1988-03-02 | Nec Corp | デ−タ処理装置のプロセス・ロ−ルイン方式 |
US5142677A (en) * | 1989-05-04 | 1992-08-25 | Texas Instruments Incorporated | Context switching devices, systems and methods |
JPH0193837A (ja) * | 1987-10-05 | 1989-04-12 | Nec Corp | デバッグ用マイクロプロセッサ |
GB2234613B (en) * | 1989-08-03 | 1993-07-07 | Sun Microsystems Inc | Method and apparatus for switching context of state elements in a microprocessor |
US6128728A (en) | 1997-08-01 | 2000-10-03 | Micron Technology, Inc. | Virtual shadow registers and virtual register windows |
US6212544B1 (en) | 1997-10-23 | 2001-04-03 | International Business Machines Corporation | Altering thread priorities in a multithreaded processor |
US6105051A (en) * | 1997-10-23 | 2000-08-15 | International Business Machines Corporation | Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor |
US6076157A (en) * | 1997-10-23 | 2000-06-13 | International Business Machines Corporation | Method and apparatus to force a thread switch in a multithreaded processor |
US6697935B1 (en) | 1997-10-23 | 2004-02-24 | International Business Machines Corporation | Method and apparatus for selecting thread switch events in a multithreaded processor |
US6567839B1 (en) | 1997-10-23 | 2003-05-20 | International Business Machines Corporation | Thread switch control in a multithreaded processor system |
US6243767B1 (en) * | 1998-06-02 | 2001-06-05 | Adaptec, Inc. | System for register partitioning in multi-tasking host adapters by assigning a register set and a unique identifier in each of a plurality of hardware modules |
US6611276B1 (en) * | 1999-08-31 | 2003-08-26 | Intel Corporation | Graphical user interface that displays operation of processor threads over time |
US6606704B1 (en) * | 1999-08-31 | 2003-08-12 | Intel Corporation | Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode |
US6687246B1 (en) | 1999-08-31 | 2004-02-03 | Intel Corporation | Scalable switching fabric |
US6427196B1 (en) * | 1999-08-31 | 2002-07-30 | Intel Corporation | SRAM controller for parallel processor architecture including address and command queue and arbiter |
US6983350B1 (en) | 1999-08-31 | 2006-01-03 | Intel Corporation | SDRAM controller for parallel processor architecture |
US6668317B1 (en) | 1999-08-31 | 2003-12-23 | Intel Corporation | Microengine for parallel processor architecture |
EP1236092A4 (de) | 1999-09-01 | 2006-07-26 | Intel Corp | Verzweigungsbefehl für einen prozessor |
US7546444B1 (en) | 1999-09-01 | 2009-06-09 | Intel Corporation | Register set used in multithreaded parallel processor architecture |
US7191309B1 (en) | 1999-09-01 | 2007-03-13 | Intel Corporation | Double shift instruction for micro engine used in multithreaded parallel processor architecture |
US6532509B1 (en) | 1999-12-22 | 2003-03-11 | Intel Corporation | Arbitrating command requests in a parallel multi-threaded processing system |
US6694380B1 (en) | 1999-12-27 | 2004-02-17 | Intel Corporation | Mapping requests from a processing unit that uses memory-mapped input-output space |
US6307789B1 (en) * | 1999-12-28 | 2001-10-23 | Intel Corporation | Scratchpad memory |
US6625654B1 (en) * | 1999-12-28 | 2003-09-23 | Intel Corporation | Thread signaling in multi-threaded network processor |
US6631430B1 (en) * | 1999-12-28 | 2003-10-07 | Intel Corporation | Optimizations to receive packet status from fifo bus |
US7620702B1 (en) | 1999-12-28 | 2009-11-17 | Intel Corporation | Providing real-time control data for a network processor |
US6661794B1 (en) * | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
US6952824B1 (en) | 1999-12-30 | 2005-10-04 | Intel Corporation | Multi-threaded sequenced receive for fast network port stream of packets |
US6584522B1 (en) * | 1999-12-30 | 2003-06-24 | Intel Corporation | Communication between processors |
US7480706B1 (en) | 1999-12-30 | 2009-01-20 | Intel Corporation | Multi-threaded round-robin receive for fast network port |
US6976095B1 (en) | 1999-12-30 | 2005-12-13 | Intel Corporation | Port blocking technique for maintaining receive packet ordering for a multiple ethernet port switch |
US6631462B1 (en) * | 2000-01-05 | 2003-10-07 | Intel Corporation | Memory shared between processing threads |
US7681018B2 (en) * | 2000-08-31 | 2010-03-16 | Intel Corporation | Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set |
US20020053017A1 (en) * | 2000-09-01 | 2002-05-02 | Adiletta Matthew J. | Register instructions for a multithreaded processor |
US7020871B2 (en) * | 2000-12-21 | 2006-03-28 | Intel Corporation | Breakpoint method for parallel hardware threads in multithreaded processor |
US7216204B2 (en) * | 2001-08-27 | 2007-05-08 | Intel Corporation | Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment |
US7225281B2 (en) | 2001-08-27 | 2007-05-29 | Intel Corporation | Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms |
US7487505B2 (en) | 2001-08-27 | 2009-02-03 | Intel Corporation | Multithreaded microprocessor with register allocation based on number of active threads |
US6868476B2 (en) * | 2001-08-27 | 2005-03-15 | Intel Corporation | Software controlled content addressable memory in a general purpose execution datapath |
US7126952B2 (en) * | 2001-09-28 | 2006-10-24 | Intel Corporation | Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method |
US7158964B2 (en) * | 2001-12-12 | 2007-01-02 | Intel Corporation | Queue management |
US7107413B2 (en) * | 2001-12-17 | 2006-09-12 | Intel Corporation | Write queue descriptor count instruction for high speed queuing |
US7269179B2 (en) * | 2001-12-18 | 2007-09-11 | Intel Corporation | Control mechanisms for enqueue and dequeue operations in a pipelined network processor |
US7895239B2 (en) | 2002-01-04 | 2011-02-22 | Intel Corporation | Queue arrays in network devices |
US7181573B2 (en) * | 2002-01-07 | 2007-02-20 | Intel Corporation | Queue array caching in network devices |
US6934951B2 (en) | 2002-01-17 | 2005-08-23 | Intel Corporation | Parallel processor with functional pipeline providing programming engines by supporting multiple contexts and critical section |
US7181594B2 (en) * | 2002-01-25 | 2007-02-20 | Intel Corporation | Context pipelines |
US7610451B2 (en) | 2002-01-25 | 2009-10-27 | Intel Corporation | Data transfer mechanism using unidirectional pull bus and push bus |
US7149226B2 (en) * | 2002-02-01 | 2006-12-12 | Intel Corporation | Processing data packets |
DE10240634B4 (de) * | 2002-03-12 | 2007-07-19 | Minebea Co., Ltd. | Hydrodynamisches Lager für einen Spindelmotor |
US7437724B2 (en) * | 2002-04-03 | 2008-10-14 | Intel Corporation | Registers for data transfers |
FR2840702B1 (fr) * | 2002-06-06 | 2004-11-26 | Tak Asic | Procede de changement de taches de codage d'image |
US7471688B2 (en) * | 2002-06-18 | 2008-12-30 | Intel Corporation | Scheduling system for transmission of cells to ATM virtual circuits and DSL ports |
US7337275B2 (en) | 2002-08-13 | 2008-02-26 | Intel Corporation | Free list and ring data structure management |
US7352769B2 (en) | 2002-09-12 | 2008-04-01 | Intel Corporation | Multiple calendar schedule reservation structure and method |
US7433307B2 (en) * | 2002-11-05 | 2008-10-07 | Intel Corporation | Flow control in a network environment |
US6941438B2 (en) * | 2003-01-10 | 2005-09-06 | Intel Corporation | Memory interleaving |
US7443836B2 (en) | 2003-06-16 | 2008-10-28 | Intel Corporation | Processing a data packet |
US7213099B2 (en) * | 2003-12-30 | 2007-05-01 | Intel Corporation | Method and apparatus utilizing non-uniformly distributed DRAM configurations and to detect in-range memory address matches |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL229160A (de) * | 1958-06-30 | |||
USRE26087E (en) * | 1959-12-30 | 1966-09-20 | Multi-computer system including multiplexed memories. lookahead, and address interleaving features | |
BE634161A (de) * | 1962-07-03 | |||
US3245047A (en) * | 1962-09-19 | 1966-04-05 | Ibm | Selective data transfer apparatus |
-
1965
- 1965-04-16 US US448708A patent/US3373408A/en not_active Expired - Lifetime
-
1966
- 1966-03-31 GB GB14240/66A patent/GB1097449A/en not_active Expired
- 1966-04-15 SE SE5163/66A patent/SE323543B/xx unknown
- 1966-04-15 DE DE19661524209 patent/DE1524209B2/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
GB1097449A (en) | 1968-01-03 |
DE1524209B2 (de) | 1971-12-30 |
US3373408A (en) | 1968-03-12 |
SE323543B (de) | 1970-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1524209A1 (de) | Leitwerk fuer eine Rechenanlage | |
DE2722099C2 (de) | ||
DE2104733C2 (de) | Eingabe/Ausgabe-Einrichtung für eine Datenverarbeitungsanlage | |
DE1449529C3 (de) | Unterbrechungseinrichtung für ein Datenverarbeitungssystem | |
DE2907181C2 (de) | Prozessor mit einem Befehlssatz-Modifizierregister | |
DE2714805C2 (de) | ||
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE2744531A1 (de) | Elektronische datenverarbeitungsanlage | |
DE1549522B1 (de) | Datenverarbeitungsanlage mit simultanverarbeitung mehrerer programme mittels mehrerer rechner | |
DE2019444A1 (de) | Datenverarbeitungsanlage | |
DE2755616A1 (de) | Asymmetrischer multiprozessor | |
DE1774870C3 (de) | Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage | |
DE2856680A1 (de) | Befehlspuffer fuer ein datenverarbeitungssystem | |
DE2461592C3 (de) | Anordnung zur Durchführung von Wartungsoperationen bei einem Datenverarbeitungssystem | |
DE2905676A1 (de) | Integrierte schaltung mit einem einzigen chip | |
DE2745204A1 (de) | Mikroprogramm-leitwerk fuer eine datenverarbeitungsanlage | |
DE69122001T2 (de) | Integrierte Schaltung mit einer Standardzelle, einer Anwendungszelle und einer Prüfzelle | |
DE69111778T2 (de) | Verfahren und Gerät zur Erweiterung einer Rechnerarchitektur von zweiunddreissig auf vierundsechzig Bits. | |
DE2759120A1 (de) | Prozessor fuer datenverarbeitungssysteme | |
DE2359037C2 (de) | Rechenanlage | |
DE2106731A1 (de) | Diagnoseeinrichtung fur elektronische Datenverarbeitungsanlagen | |
DE1524209C (de) | Programmgesteuerte Datenverarbeitungsanlage | |
DE1762205B2 (de) | Schaltungsanordnung fuer ein elektronisch gesteuertes selbstwaehlamt | |
DE2622140C3 (de) | Einrichtung zur Steuerung manueller Operationen | |
DE1549423A1 (de) | Einrichtung zur Verarbeitung von Datensaetzen in einer digitalen Rechenanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E77 | Valid patent as to the heymanns-index 1977 | ||
EHJ | Ceased/non-payment of the annual fee |