DE1524209A1 - Leitwerk fuer eine Rechenanlage - Google Patents

Leitwerk fuer eine Rechenanlage

Info

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
Application number
DE19661524209
Other languages
English (en)
Other versions
DE1524209B2 (de
Inventor
Ling Andrew Te-An Collingswood
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
RCA Corp
Original Assignee
RCA Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by RCA Corp filed Critical RCA Corp
Publication of DE1524209A1 publication Critical patent/DE1524209A1/de
Publication of DE1524209B2 publication Critical patent/DE1524209B2/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T74/00Machine element or mechanism
    • Y10T74/18Mechanical movements
    • Y10T74/18024Rotary 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
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)

Patentansprüche
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
DE19661524209 1965-04-16 1966-04-15 Programmgesteuerte datenverarbeitungsanlage Withdrawn DE1524209B2 (de)

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)

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

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

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