DE1949916A1 - Datenverarbeitungsverfahren und Computer zu seiner Durchfuehrung - Google Patents

Datenverarbeitungsverfahren und Computer zu seiner Durchfuehrung

Info

Publication number
DE1949916A1
DE1949916A1 DE19691949916 DE1949916A DE1949916A1 DE 1949916 A1 DE1949916 A1 DE 1949916A1 DE 19691949916 DE19691949916 DE 19691949916 DE 1949916 A DE1949916 A DE 1949916A DE 1949916 A1 DE1949916 A1 DE 1949916A1
Authority
DE
Germany
Prior art keywords
instruction
computer
register
address
memory
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.)
Granted
Application number
DE19691949916
Other languages
English (en)
Other versions
DE1949916B2 (de
DE1949916C3 (de
Inventor
Cooper Thomas Edward
Watson William Joseph
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of DE1949916A1 publication Critical patent/DE1949916A1/de
Publication of DE1949916B2 publication Critical patent/DE1949916B2/de
Application granted granted Critical
Publication of DE1949916C3 publication Critical patent/DE1949916C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3808Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
    • G06F9/381Loop buffering

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)

Description

D1.--.-PH . S. DR.
HÖGER - STELLRECHT- SRiESSBAGH - HAECKER
PATENTANWÄLTE IN STUTTGART
A 37 589 b ■ ;
H-August 1969 . 1949916
Firma Texas Instruments Incorporated Dallas, Texas, 13500 North Central Expressway
Datenverarbeitttngsverfahren und Gbiaptiter zu seiner Durchführung;
Die Erfindung betrifft ein Dätenverarbeitüngsverfätifetl, für programmierbare Digitalrechner, mit einer instrükiionsfölge, die mindestens eine irisbesondere bedingte Verzv/eigungsinstruktion enthält, vorzugsweise einen Sprungbefehl zur Schleifenbildung, sowie eirien CdiHp'u-feer zur Dürdhführting dieses Verfahrens. .
009825/17 52
A 37 589 1) —2-
14august 1969
k-35 . ■■..." '
In elektronischen IJigitalcomp!uterti höher Irerarbeitungsgeschwindigkeit kann Sie Verärbeitürigsgeöchwindigkeit einer Recheneinheit, welche auf Operanden warten muß, dadurch erheblich erhöht werden, daß diejenigen Instruktiorierii welche der augenblicklich, durchgeführten nachfolgen; vorausschauend untersucht werden. Eüh|*t man eine solche voraus schau ende Untersuchung richtig durch,- kann die Vefärbeitüngs§escßwindigkeit des G-esamtcomputers, der ßömpüierkänäie und itistjesöndere des Compüterhauptspeichers an die der Recheneinheit ärigepaßt werden. . - .
Vorausschauende Systeme sifid ati sich bekannt und beispielsweise von Öuehhölz in "Planhing a computer*system", McG-täw Hill 1962/ Kapitel 15, Seite 288 ff. beschrieben; Ebenso findet sich eine solche Beschreibung in der US-Pätettischrift 3 401 376; dort kann ein vorausschäüötiäeg Syötem sele"ktiv nur diejenige künftige Arbeit d-üf'chfüiirerii äi§ gebraucht wirdf um umgekehrt v/eitefe Befeähhüngöri zu5 ünierlMöseiii die siöh infolge; eiriir nicht vorhergesehenen' Progrämifiver^w'eigung als üntiötig effteiäefb
Ein Nachteil äüsei· b^eititth-tett Systeme iisi es Hufii ä&B iie einen sehr hoiäen lüfv^a-iid ah Prögramniierung und däfliii äri: "trerarbeiiungSZeit Öd£r an eii^spfech'^näeü Sciiälilcfiis'ert t)enöiigeni ' ' - " .
Aufgabe dei* Erfihdüng ist^ ein- vbfäiiss.ehäüende'ö Sysiefrr dahingehend zu verbessefii| daß äs bei gerifigeiä Schaitkieisatifv^and nur geringste Verzb'gefüngszeiten bei insbesöndfere beditigten / Sprüiigbperationeri: häti weiche ■PrögrämmVerzweig-ärig^ett iirid ;
A 37 589 b - 3 -
U.August 1969
Diese Aufgabe wird für das Verfahren der eingangs erwähnten Art gemäß der vorliegenden Erfindung dadurch gelöst, daß in die Instruktionsfolge einerbestimmtenAnzahl von Instruktionen vor der Verzweigungeinstruktion eine Voraussageinstruktion eingefügt wird, die eine bestimmte Zahl definiert, daß beim Aufruf der Voraussageinstruktion ein Index erstellt wird, der bei der Ausführung einer jeden der dazwischenliegenden Instruktionen geändert wird, daß ferner die Adresse der Voraussageinstruktion gespeichert und gegebenenfalls an die von der gespeicherten Adresse der Voraussageinstruktion angegebene Stelle der Instruktionsfolge gesprungen wird, wenn eich der Index der bestimmten Zahl entsprechend geändert hat. Ein Computer zur Durchführung dieses Verfahrens weist zweckmäßigerweise eine auf eine Voraussageinstruktion ansprechende Stellvorrichtung zur Erstellung eines Ausgangszustandes im Computer* ferner ein auf jede auf die Voraussageinstruktion folgende Instruktion ansprechendes liodifizierglied zur schrittweisen Änderung dieses Ausgangszustandes, sowie eine Steuervorrichtung auf zur bedingten Rückführung des Computers an die Stelle der Yöraussageinstruktion in der Instruktionsfolge nach erfolgter Änderung des Ausgangszustandes um eine vorböstimmte Scftrittisahl,
Das ejffinäuttgsgemäße Verfahren und Gerät kann mit Vorteil fjtirijedes Datenverarbeitungssystem verwendet werden; Das erfindungsgemäße Vorausschausystem wird zweckmäßigerweise in einem Computer der Type verwandt, welcher in der älteren Patentanmeldung der Anmelderin (amtliches Aktenzeichen: .......) beschrieben ist j dieses Datenverarbeitungssystem enthält einen Hauptspeicher, in welchem Wortgruppen aus N Worten gleichzeitig abrufbar sind, und in welchem
-4 -
00982-5/1752
H.August 1969
k-35 "
ein Rechner ununterbrochen Datenv/orte verarbeiten kann, wobei seine Rechenzeit kleiner als die Hauptspeicherzykluszeit ist; zu diesem Zweek ruft ein zwischen dem Rechner und dem Hauptspeicher liegender Rechenpuffer die aus N Worten bestehenden Wortgruppen gleichzeitig aus dem Hauptspeicher ab und schafft sie einzeln in Zeitabschnitten zum Rechner, welche kleiner als eine Hauptspeicherzykluszeit sind.
Die Erfindung sieht eine vorausschauende Steuerung vor, die speziell im obengenannten Computersystem wirksam eingesetzt werden kann. Durch ihre Beschreibung in Anwendung im genannten' Computer soll jedoch lediglich ihre allgemeine Verwenbarkeit gezeigt werden.
Erfindungsgemäß wird eine Voraussageinstruktion in den Instruktionsfluß eingefügt, um einen Anfangszustand zu g"eben. Dieser wird während jeder der Voraussageinstruktion folgenden anderen Instruktion schrittweise modifiziert. Durch1 eine Steuervorrichtung erfolgt infolge einer bedingten Sprungoperation dann ein Sprung im Instruktionsfluß, sobald der. Anfangszustand-entsprechend einer vorbestimmten Anzahl von Schritten verändert wurde.
Ein Speicher ist mit dem Eingang der voraussagenden Steuerung und eine zentrale Datenverarbeitungseinheit mit dem Ausgang der Steuerung verbunden. \
Weitere Einzelheiten und Merkmale der Erfindung können den. beigefügten Ansprüchen und/oder der folgenden Beschreibung entnommen werden, die der Erläuterung eines in der Zeichnung dargestellten Ausführungsbeispiels der Erfindung dient. Es zeigen;
00 9825/17S2
A 37 589 b -^ 10/00 10
k-35 *r
Pig. 1 eine Anordnung von Computereinheiten und
-peripheriegeräten, welche die vorgeschlagene Erfindung enthalten.
Fig. 2 ein Blockschaltbild zu Fig.1.
Fig. 3 ein Blockschaltbild zur Darstellung des Instruktions- und Datenflusses bei einem Rechner. ' ■
Fig. 4 ein Blockschaltbild der zentralen Datenverarbeitungseinheit der Fig. 1 bis 3 und
Fig. 5 ein Schaltbild eines Ausführ.ungsbeispiels der Erfindung.
Zum besseren Verständnis der hier vorliegenden Erfindung wird es erforderlich, ein Computersystem zur Verarbeitung vorzugsweise naturwissenschaftlicher Daten., an dem die hier vorliegende Erfindung Anteil haben kann, so weit zu beschreiben, daß die Tragweite der Erfindung insbesondere im Zusammenspiel mit anderen Einheiten innerhalb des gesamten Computersystems richtig erkannt werden kann. ·
Zu Fig. 1: ·
Das Computersystem weist einen Zentralverarbeiter CPU 10 (Central Processing Unit) sowie einen Peripherieverarbeiter PPU 11 (Peripheral Processing Unit) auf. Ein Zentralspeicher CEM 12 - 15 (Central Memory) besteht aus vier Dünnschichtspeicher-Untereinheiten 12 - 15 mit 160 Bano - Sekunden Zykluszeit bei 1Ö0 Nano-Sekunden durchschnittlicher Zugriffzeit und hat beispielsweise ein löschendes Speicherverhal-
A 37 589 b
H.August 1969
k-35 ·
ten beim Auslesen. Der CEM 10 - 15 ist an die CPU 10 und an die PPU 1T angeschlossen und kann von konventioneller Bauart sein.
Jede der CEM Untereinheiten 12 - 15 hat eine 16K Wortkapazität von 16384 V/orten. Ein Wort hat 32 Bits. 256 Bits = 8 χ 32 Bits = 8 Worte heißen "Wortgruppe", was bedeutet, daß 2048 Wortgruppen a 256 Bits in einer Zentralspeicheruntereinheit liegen.
Eine Zentralspeichersteuerung MCU 18 (Memory Control Unit) stellt die lese-Schreibsteuerung für den CEM 12-15 und damit das im allgemeinen notwendige Zwischenstück zwischen dem CEM 12' - 15 . - -
-'--"." _ - j einerseits und der
CPU 10 bzw. der PPU 11 andererseits dar. Das MCU 18 hat Puffereigenschaften sowie Vorrichtungen zur Ein- und Ausblen dung (Gating), Kartierung (Mapping) und zum Speicherschutz der Daten im CEM 12 - 15. ■' . [ \ ■■ _
CPU 10, PPU 11, MCU 18 und CEM 12 bis 15 laufen synchron miteinander. Ein CPU-Takt erscheint alle 50 Fanp-Seku.nderi, , , ein PPU-Takt alle 65 Nano-Sekunden. '»/eitere Speicherein- -'
■ ■ · .;.<- Sin - ;■■■■"■
heiten bilden Plattenspeicher DS 16, 17 (disc storages), .
mit einer durchschnittlichen Zugriffszeit von etwa 16. Millisekunden; Bandspeicher TS 21 - 26 (Tape storages), von denen vorzugsweise die TS 21, 22 Einzollbänder und die TB 23 - 26 Halbzollbänder verarbeiten, wobei alle Bandspeichei· zu Arbeitsspeicher— wie auch Ein/Ausgabezwecken verwendet werden können. Ein Kartenleser CR 19 (card reader) dient- ,_; zur Eingabe von auf " Lochkarten gespeicherter Information und ein Kartenstanzer CP 20 "(card Punch) zur" Aus-
§3tt82S/ Vl %X
14.August. 1969
k-35 χ.
gäbe von Information auf gestanzte lochkarten; ein Zeilendrucker LP 27 (line printer) ist als Druckerausgabegerät vorgesehen.
Ale weiteres Ein/Ausgabe-Gerät dient eine Bildschirmkonsole OC 28 (oszilloscope console). Zwei Bedienungspulte sind mit Bwei beispielsweise Zweistrahlverhalten aufweisenden Bildschirmen und der PPU 11 gekoppelt. Letztere bildet nicht nur die Steuerungseinheit für den OC 28, sondern gleichermaßen auch für die CR 19, CP 20, LP 27 und TS 21 bis 26. Ein Bediencr vermag über die OC 28 Befehle in das Computereystem einzugeben, die Prüfzwecken hinsichtlich hardware oder software dienen; gleichermaßen können über die OC 28 Programmunterbrechungen an bestimmten Stellen durchgeführt werden, die es erlauben, den Portgang einer Operation zu überprüfen und aufgrund der erzielten Portschritte in ihrem weiteren Ablauf zu beeinflussen. Letzteres kann bedeuten, daß man die Operation auf dem eingeschlagenen Weg weiterlaufen oder auf andere Wege mit eventuell anderen Daten verzweigen läßt.
Wie bei Computersyetemen üblich, verfügt der Computer der Fig.1 über mehrere Speicherhierarchien, beispielsweise über die folgenden vierj die CPU 10 mit dem schnellsten Speicher, die CEM 12 - 15 mit dem etwas weniger schnellen, die DS 16, 17 mit dem noch langsameren und die TS 21 - 26 mit dem Speicher, der im Vergleich zu den vorerwähnten die größte mittlere Zugriffszeit hat, falls von ihm keine entsprechend vorsortierten Daten abgerufen werden.
Zu Fig. 2:
Die Systemorganisation des Computers der Fig.1 ist durch eine Besprechung der im Blocksehaltbild der Pig.2 aufge-
A 57 589 b
H.August 1969
k-55
zeigten Datenkanäle des Computers leicht zu umreißen". Ein; Kanal 29 verbindet die MCU 18 mit einer puffernden Platten- und Trommelsteuerung DCU 30 (drum/disc control unit), von der ein Kanal zur DS 16 und.ein anderer zur DS 17 weiterführen. Die DCU 30 ist ein einfacher, fest verdrahteter Einzweck Computer zur alleinigen Bewerkstelligung (Synchronisierung) des Datentransports zwischen dem mit der MCU 18 verbundenen Zentralspeicher CEM 12-15 und den Plattenspeichern DS 16, 17 über den Kanal 29 nach Erhalt eines diesbezüglichen Peripheriebefehls.
Die soeben erwähnten Kanäle sind bidirektional, wobei in dem zwischen der DS 16 oder 17 und DC 30 liegenden Kanal nur je' ein Wort pro Taktzeit befördert wird. Im Kfna1 29 werden dagegen gleichzeitig 8 Worte, also eine Wortgruppe, zwischen der MCU 18 und der DCU 30 transportiert.
Der Anschluß eines Trommelspeichers DS 31 (magnetic" drum storage) an die DCU 30 zur Erhöhung der Speicherkapazität mittlerer Zugriffszeiten wäre über einen weiteren bidrirektionalen Kanal möglich.
Ein weiterer 256 Bits simultan übertragender Kanal ist der ).- zwischen der MCU 18 und der PPU 11 liegende bidirektionale Kanal 32, der je eine Wortgruppe zwischen dem Zentralspeicher CM 12 - 15und dem Peripherieverarbeiter PPU 11 über die LICU 18 befördert.
Wie weiter oben bereits angedeutet, dient die PPIT 11 als Vielzweckcomputer, dem u.a» die Steuerung des Datenflusses zu allen anderen Peripheriegeräten außer den DS 1-6/ 17, 31 obliegt und an welchen deren Datenkanäle angeschlossen sind.
009825/1752
A 57 589 *
H.August 1969
Beim nichtzerstörungsfreien Auslesen aus dem Zentralspeicher CEM müssen die ausgelesenen Daten regenerativ wieder eingespeichert v/erden, während nur eines der acht Worte einer Wortgruppe in der PPU 11 verarbeitet wird. Dies erweist sich schon deshalb als notwendig, da von der PPU 11 infolge der mehr oder weniger langsam arbeitenden Peripheriegeräte nur Jeweils ein Wort aus der Achtwortgruppe (maximal) benötigt wird. Ein gängiger Umschlagswert für den Umschlag von Daten innerhalb der PPU 11 für ein Peripheriegerät liegt nämlich bei etwa 100 000 Worten pro Sekunde. -.-'■■
Die PPU 11 enthält Virtualverarbeiter, deren Mehrzahl so programmiert werden kann, daß jeder beliebige Virtualverarbeiter mit jedem beliebigen Peripheriegerät gekoppelt"werdenkann. Die PPU 11 arbeitet mit Hilfe der Virtualverarbeiter gemäß dem im CEM gespeicherten Programm, wobei diese außerdem das in der CPU 10 laufende Programm überwachen.
Ein Kanal 33 verbindet die CPU 10 mit der MCU 18, die ja ihrerseits durch Datenkanäle mit dem Zentralspeicher CEM 12 bis 15 gekoppelt ist. Im Gegensatz zu dem oben über die PPU 11 Gesagten kann die CPU 10 alle acht Worte einer Wortgruppe aus dem CEM 12 - 15 verwerten, wobei sie überdies die Fähigkeit besitzt, eine beliebige Kombination dieser acht Worte zu lesen oder zu schreiben. Im Kanal 33 werden vorzugsweise alle 50 ITano-Sekunden drei Worte transportiert, indem zwei Worte in die CPU 10 eingehen und ein Wort zur MCU 18 gelangt. ■
Die CPU 10 kann Vektoroperationen direkt und ohne Übersetzung über irgendeinen Compiler durchführen, wodurch
. - 10 -
009&2S/1752
A 57 58.9 b ■..-".- 10-
14.AUgUSt 1969
k-35 ' '
lange Befehlsketten vermieden werden, da die CPU IO solche aufgrund eines einzigen Makrobefehls intern durchführt. Die CPU 10 hat diese Fähigkeit insbesondere deshalb, weil zwischen der MCU 18 und dem Rechner innerhalb der CPU 10 Puffer liegen, welche solche zur Bildung der erforderlichen Befehlsketten benötigten Microbefehle enthalten oder zu bilden gestatten. Zusätzlich enthält die CPU 10 den als sogenannten Kanalrechner ausgebildeten Rechner.
Ein Kanal 34 am Ausgang der MCU 18 ist zur Erweiterung der Computerkapazität vorgesehen, falls weitere CPU's ο.dgl. zusätzlich angeschlossen werden müssen.
Jeder der Kanäle 29 und 32 bis 34 hat über die MCU 18 direkten Zugriff in jede Untereinheit 12 bis 15 des Zentralspeichers CEM. Zur Erhöhung der Verarbeitungsgeschwindigkeiten werden im Computer und insbesondere im Zentralspeicher zeitlich vorzugsweise einander überlappende Arbeitszyklen verwendet. In der MCU 18 ist eine Vorrangsteuerung mit vorzugsweise festen Zuordnungen vorgesehen, um Anfragen an den Zentralspeicher in einer gewünschten Reihenfolge beantworten zu können. So v/erden Anfragen von den an die Kanäle 29, 32, 33, 34 unmittelbar angrenzenden Einheiten vorzugsweise in dieser Reihenfolge sowie vorrangiger-behandelt als solche von Einheiten, die diesen nachgeschaltet sind, wobei Möglichkeiten vorgesehen wurden, die Prioritätsordnung beliebig abzuändern, - . ■ "
Zu Pig. 3:
Bei dem hier beschriebenen Computersystem weist die CPU 10 eine hohe Datenverarbeitungskapazität auf, wobei ihre Ver-
- 11 -
14.August 1969
arbeitungsgeschwindigkeit wesentlich über der Geschwindigkeit liegt, mit der Daten aus einem Speicher ausgelesen und in diesen wieder eingespeichert werden können.
Um nun die hohe Verarbeitungsgeschwindigkeit innerhalb der der CPU 10 zur Bearbeitung großer, vorsortierter Datenblöcke, wie bei Vektöroperationen, ausnutzen zu können, wurde zur diesbezüglichen Anpassung zwischen dem Rechner und dem Speicher ein Zwischenstück geschaffen, das speziell der Forderung auf höchste Verarbeitungsgeschwindigkeit Rechnung trägt. Das Zwischenstück wird im folgenden als Puffer MBU 100 (memory buffer unit) bezeichnet und ist .in Fig.3 a-ls das zwischen . der MCU 18 und dem Rechner 101 befindliche Teil erkennbar. Es wird als zur CPU 10 gehörig betrachtet und hat über den Kanal 33 Verbindung mit der LlCU 18; andererseits führen . zwei Datenkanäle 100a land 100b von der KBU 100 zum Rechner 101, der hier als Vektorrechner bezeichnet werden kann,, sowie ein DatenkanaJ. 100c\om Rechner 101 zur KBU 100. Aus den Kanälen 100a und 100b werden Operanden zum Rechner geschafft, während der Kanal 100c das in letzterem erstellte Resultat zur MBU 100 zu transportieren gestattet, von wo es beispielsweise über die MCU 18 zur CEM 12 bis 15 gelangen kann.
Zu Pig. 4:
Das anhand der Fig.3 über den in der CPU 10 enthaltenen Puffer MBU 100 Gesagte kann anhand der die CPU stärker detaillierenden Fig.4 in seinen Zusammenspiel betrachtet werden, um die Hochgeschwindigkeitskominunikation zum und von Rechner 101 zu erläutern. V/ie amfangs erwähnt, befinden eich im Zentralspeicher CEU 'Wortgruppen von 256 Bits a 32 Bit-Worten, wobei jeweils eine Wortgruppe gleichzeitig aus-
- 12 -
009825/11752
H.August 1969
k-35 -:■"■■..■ . ; ■> :
gelesen oder eingeschrieb'en v/erden kann.. Die Wortgruppen werde.n aus dem CEM über die MCU 18 und den Kanal 33 zu einer Toreinheit MBG 18a (memory bus gating) gebracht. Der MBG 1,8a ist der MBU 100 nachgeschaltet. Wie anhand der Fig.6 gezeigt, liegen zwischen letzterer und dem Rechner 101 drei Kanäle 100a, 100b und 100c. Der Kanal 100a ist der Ausgangsteil eines Operand A Registerkanals 102, 103» welcher zwei in Serie geschaltete Puffer A' und A enthält. In gleicher Weise ist der Kanal 10Ob Ausgangskanal eines Operand B Registerkanals 105, 106 aus zwei seriengeschalteten Puffern B1 und B. Kanal 1.00c dagegen bildet den Eirigangskanal für einen Resultat G Registerkanal 108, 107 aus zwei seri«ngeschalteten Puffern C und C. Die Registerkanäle für die Operanden A und«B puffern die Operanden auf dem Weg zwischen CEM und Rechner. Der Resultatregisterkanal dagegen puffert die vom Rechner 101 ausgegebenen Ergebnisse, bevor sie beispielsweise in Wortgruppen gesammelt zum CEM 12 bis 15 zurückgeschafft werden.
Der Puffer 102 ist so gebaut, daß er insbesondere mit jeder achten Taktzeit gleichzeitig eine aus acht Worten bestehende Wortgruppe empfangen und abspeichern kann. Synchron mit dem Puffer 102 wird jede Gruppe zum Puffer 103 weitergeschafft» * 32 Bit-Worte werden vom Puffer 103 zum Rechner 101 so transferiert, daß ein Wort pro Taktpuls bewegt wird. Es sollte beachtet werden, daß je nach Art der Operation, die der Rechner auszuführen hat, zu jeder Taktzeit ein vom Rechner erstelltes Resultat aus den Puffern 108 und 107 zum'CEM gebracht werden kann. Das Computersystem vermag ebenso hochwirksame Operationen auszuführen wie auch solche mit gerin- : ger Befehlsgeschwindigkeit. Ein Beispiel höchster Befehlewirksamkeit"Vbei einer Operation der MBU 100 und des Rech-
-13 -
00982S/17S2
A 37-589 b - 13 -
H.August 1969 '
k ■
ners 101 bietet, die Addition von Vektoren, "bei der die zwei Operanden aus den Puffern 103 und 106 zu jeder Taktzeit zum Rechner 101 geführt werden, und wo vom Rechner 101 zu jeder Taktzeit eine Summe erstellt wird, welche unmittelbar vom Puffer 108 aufgenommen wird.
In der CPU 10 befindet sich weiter eine allgemeine Datei 120 bis 125j welche Register zur Aufnahme von Adressen bzw. adressierbare Register enthält; es sind dies Basisregister 120, 121, Generalregister 122, 123, ein Indexregister 124 sowie eine Register enthaltende Vektorparameter-Datei 125. Jedes Register 120 bis 125 hat zum Rechner" 101 Zugang über einen gemeinsamen Kommunikationskanal 104 und eine Einheit OFS 126 (operand fetch/store unit), welche insbesondere als Durchgangskanal für Operanden in beiderlei Richtung vorgesehen ist. Eine Einheit CCU 127 (CPU context switching control unit) dient unter anderem der Steuerung des Rechners 101, indem sie ihre Steuersignale aufgrund der von einer Einheit IBU 127a (instruction buffer .unit) gelieferten Kommandos bildet. Die Einheit IBU 127 a dient der Pufferung von Befehlen, die aus einer Instruktions-Datei IPU 128 (instruction fetch unit) stammen. Die IFU 128 beliefert nicht nur 'die IBU 127a mit Befehlen, sondern außerdem eine'Indexadressiereinheit IAU 126a mit Adressen, wobei der Ausgang, der IAU 126a zur OFS 126.führt. Instruktionsdateien 129 und 130 bilden puffernde Kanäle' für einen Instruktionsfluß vom CEH 12 bis zur Instruktionsdatei IFU 128. . ;
Eine Steuereinheit SSR 131 (status storage and retrieval gating) hat zu allen in Fig.7 gezeigten Einheiten, außer den Dateien 129 und 130, Verbindung, wozu auch eine Leitung
009825/1752
H.August 1969 ■ ■ ■- ·
k-35 .·■; ν - . ":- .■■■ -. ■·.". .'
zwischen ihr und der MBG 18a gehört.. Zur Aufgabe der SSR gehört, aufgrund eines Befehls den gesamten augenblicklichen Zustand der CPU 10 vorzugsweise zum CEM 12 bis 15 zu schaffen und dafür einen Zustand in die CPTJ einzuführen, so daß der Ablauf eines neuen Programms begonnen werden kann.
Die MBU 100 enthält eine MBU-Datei aus einer Parameter-Da-, tei 132 und einer Arbeits-Datei 133» welche vorzugsweise Register enthalten. Die Parameter-Datei 132 hat über einen Kanal 134 und den Kommunikationskanal 104 Verbindung zur Vektorparameterdatei 125. Der Inhalt der Vektorparameter-Datei 125 wird in die Parameter-Datei 132 übertragen, so- >' bald eine spezielle Vektorinstruktion z.B. aus dem CEM zur" Instruktions-Datei Ii1U 128 kam* Wird also beispielsweise von dor IPU 128 eine solche Vektorinstruktion aufgenommen, erfolgt unmittelbar in Maschinensprache eine Übertragung der Parameter-Daten aus der Datei 125 zur Datei 132. Die Ausführung der daraufhin erolgenden Operationen erfolgt nach einem Kanalverfahren vermittels der Einheiten IAU 126a, IBU 127a sowie OFS 126 und CCU 127.
Dies bedeutet im einzelnen, daß während der Zeitspanne, in welcher der Rechner 101 eine bestimmte Operation durchführt, die Einheiten OPS 126 und CCU 127 die nächste nachfolgende Operation zur Durchführung im Rechner 101 vorbereiten. In derselben Zeitspanne bereiten auch die Einheiten IAU 126a und IBU 127a die hächstnachfolgende Operation vor. Schließlich nimmt während derselben Zeitspanne die Instruktionsdatei IPU 128 die daraufhin folgende Instruktion auf. Letzte-7 re Instruktion wird somit im Rechner 101 drei Operationen später als die augenblicklich wirksame Instruktion ausge-
, ■■■■ ■"- - '■'■ '■-. : ■■ : - 15 -- ζ:. ;.
009825/1751
H.August 1969
führt. Bei solcher Kanalstruktur werden also vier Instruktionen gleichzeitig verarbeitet, indem jede von ihnen in einer verschiedenen Verarbeitungsstufe gegenüber der anderen liegt, wie dies in Fig. 4 durch die Zeiten T1, T2, T3 und T4 angedeutet wird. ·
Zu Fig. 5:
Ein Ausführungsbeispiel der Erfindung soll anhand dieser Figur beschrieben werden, welche die Schaltkreise zur Durchführung einer Voraussageinstruktion LLA (Load look ahead) enthält. Diese Instruktion dient in besonderer Y/eise der oben besprochenen Simultanverarbeitung, indem sie ermöglicht, diese insbesondere bei Programmschleifen und sonstigen iterativen Programmpperationen einzusetzen, weiche durch bedingte Sprünge gekennzeichnet' sind. So soll die Wirkungsweise der Schaltung in Fig.5 anhand eines Beispiels erklärt werden, das zu Beginn einer Instruktionskette eine solche LLA-Instruktion und inmitten dieser Instruktionskette einen bedingten Sprungbefehl enthält, wie dies in der im Anhang beigefügten Tabelle I gezeigt wird. Der Computer führt ein solches Programm derart aus, daß die in Tabelle I aufgeführten Instruktionen nacheinander ausgeführt werden, bis auf die bedingte Sprungoperation aufgelaufen wird. Die Besonderheit an dieser Stelle ist nun, daß zu diesem Zeitpunkt bereits ein neuer Instruktionsblock von Instruktionsworten bereitgestellt wird, welcher die LLA-Instruktion enthält, so daß dem Rechner 101 der Fig.4 ohne nennenswerte Unterbrechung weitere Instruktionen laufend angeboten werden können·. Dies wird insbesondere vermittels der Instruktionsdatei 129, 130 möglich, welche Instruktionsblöcke, die aus acht Instruktionsworten bestehen, parallel aufnimmt und seriell abgibt. Die Datei 129 enthält
- 16 -
009825/1752
H.August 1969 13*433 ID
acht Register K OO bis K 07 für die acht Instruktionsworte eines Instruktionsblocks,·die Datei 130 entsprechend acht Register K 10 bis K 17 (jeweils mit WQ - W„ bezeichnet).
In Tabelle I wird nur ein bestimmter Teil einer Instruktionskette gezeigt, welcher zwischen den Adressen 103 und 117 liegt. In Adresse 103 liegt ein LLA-Instruktion, welche durch eine Zahl 18 besagt, daß 18 Instruktionen später ein bedingter Sprungbefehl folgt. Letzterer steht entsprechend am Ort. der Adresse 115.
* ■■■.:'■■ : ■■■ ■
Wie aus Tabelle I zu ersehen ist, folgen die'Instruktionsadressen einem Hexadezimalsystem, das überdies in Achtergruppen unterteilt wurde. Die erste Achtergruppe von Instruktionen umfaßt die Adressen 100 bis 107, die zweite Achtergruppe die Adressen 108 bis 1OP, die dritte Achtergruppe die Adressen 110 bis 117.
Die LLA Instruktion ist an den Ort der Adresse 103 gelegt worden, obwohl dies nur beispielhaften Charakter hat, da sie an jeder anderen Adressteile ebenso stehen könnte. Der nachfolgende bedingte Sprungbefehl kann gegebenenfalls, einen Sprung zurück zur Adress-Stelle 103 an den Ort der LLA-In- f struktion bewerkstelligen, um beispielsweise eine Iteration durch Schleifenbildung herbeizuführen, die so lange wirksam ist, bis eine bestimmte Bedingung erfüllt wird, .wonach der Computer im Programm von Adress-Stelle 115 nicht mehr nach Adress-Stelle 103, sondern nach Adress-Stelle 116 und dann 117 usw. läuft.
Die hier vorliegende Erfindung ist somit vorzugsweise bei Programmschleifen von Vorteil. Zwar ist bekannt, daß die all-
- 17 -
0 0 9 8 2 B 11 7 5 2
H.August 1969
k-35 · .
gemeine Verlustzeit bei einem Computersystem infolge einer zufällig falschen Führung bei einer vorausschauenden Steuerung nur geringfügig ist; bei sehr oft iterierenden Programmen mit vielen Programmschleifen addieren sich jedoch diese an sich geringfügigen Verlustzeiten zu einem beträchtlichen, nicht mehr zu vernachlässigenden Betrag. Dies soll durch die hier vorliegende Erfindung mittels entsprechender Voraussagen vermieden werden, indem eine Voraussageinstruktion an den Anfang einer solchen Schleife gesetzt wird. Diese LLA-Instruktion hat keinerlei Steuerfunktion hinsichtlich der zum Zeitpunkt des bedingten. Sprungs zu treffenden Entscheidung. Sie besagt im Beispiel der Tabelle I lediglich, daß an der 18.Stelle innerhalb der Schleife eine Entscheidung getroffen wird, aufgrund der entweder an die Stelle der LLA-Instruktion zurückgesprungen oder in der Instruktionskette in der gewohnten Weise weitergefahren wird.
Auch bei Durchfahren der letzten Schleife arbeitet die durch die Voraussageinstruktion in Gang gebrachte Vorausschau-Schaltung in der üblichen Weise. Besagt jedoch zur Zeit des bedingten Sprungbefehls, daß eine weitere Programmschleife nicht erforderlich wird, erhält die Vorausschau-Schaltung einen Rücksetzimpuls, wodurch diese Instruktionen, welche durch die Vorausschau-Schaltung vorsorglich bereitgestellt wurden und welche die LIA-Instruktion mit enthielten, auf welche gegebenenfalls zurückgesprungen werden sollte, unwirksam werden. Die Programmfolge läuft dann in der Instruktionskette weiter bis eine nächste LLA-Instruktion gefunden wird. Wird also ,eine Programmschleife verlassen, erhält die Vorausschau-Schaltung grundsätzlich einen Rucksetzimpuls.
Zurückkommend auf Fig.5 laßt sich zur Instruktionsdatei
- 18 -
009825/1752
H.Äugust 196.9 .
k-35 .
129, 130 sagen, daß Und-Glieder 208, 209 die gleichzeitige Einladung von jeweils acht Instruktionsworten in die Datei 129 bzw. 130 ermöglichen. Die acht Instruktionsworte von insgesamt 256 Bits = 8 χ 32 Bits werden über Kanäle 200 bis 207 durch die Und-Glieder 208 in die Register K 00 bis K 07 der Instruktionsdatei 129 gebracht oder über die Und-Glieder 209 in die Register K 10 bis K 17 der Datei 130 geschafft. Die Und-Glieder 208, 209 werden durch Signale auf Leitungen . 210 bzw. 211 ausgesteuert; die Leitung 210 ist Ausgangslei-™ tung aus einem Und-Gatter 212, die Leitung 211 Ausgangsleitung aus einem Und-Gatter 213. Die Leitung 210 kann ein · Signal LAO und die Leitung 211 ein SignaljQAI führen. Die Kanäle 200 bis 207 übertragen jeweils 32 Bits und kommen aus der MEU 18, welche die Steuereinheit und den UmschlagpXatz fur den Zentralspeicher EEM 12 bis 15 darstellt.
Die Datei 129 führt ausgangsseitig ebenso über acht 32-Bitkanäle an Und-Glieder 215, die Datei 130 entsprechend an Und-Glieder 21*6; die Und-Glieder 215, 216 werden durch einen Zuteiler 218 so ausgesteuert, daß vorzugsweise der Inhalt nur eines der Register K 00 bis K 17 über diese an ein Odert Glied 217 gelangt, dessen Ausgang über einen 32 Bit-Kanal an den Eingang eines I 1-Registers 221 führt, das ein Instruktionsregister einer ersten Verarbeitungsebene darstellt.
V/ähr'end also der Zuteiler 218 in solcher V/eise arbeitet, daß nur jeweils 32 Bits in Form einer Instruktion während einer Zeit ins I 1-Register 221 eingeladen werden, verursachen die abwechselnd wirkenden Signale LAO und LAI der Leitungen 210 j bzw. 211 die parallele-t also gleichzeitige Beladung der Datei I29 bzw* I30 mit einer Achtwortgrüppe von acht Instruktionen aus der MEU 18.
- 19 V
009325/17 52
14.August 1969 i*J*ov ι ο
Während die breit gezeichneten Kanäle 32 Bits parallel führen, transportiert ein weniger breit gezeichneter Kanal 243 vierundzwanzig Bits, ein noch schmaler gezeichneter Kanal 233 acht Bits und die nur als Striche gezeichneten Leitungen nur Jeweils 1 Bit.
Dem I 1-Register 221 ist ein PA1 Adressregister 222 (present address) zugeordnet, das die Adresse enthält, welche zu der im I 1-Register 221 befindlichen Instruktion 'gehört. Ein Kanal 223 führt vom Ausgang des I 1-Registers 221 zum Eingang eines I 2-Register 224 einer zweiten Verarbeitungsebene; in gleicher Weise führt aus dem Ausgang des I 1-Registers 221 ein Kanal 225 an den Eingang eines LLA-Decoders 226. Ein PA2 Adressregister 227 ist mit dem Register 222 verbunden und enthält die der Instruktion im I 2-Register 224 zugehörige Adresse.
Ein Kanal 22a am Ausgang des I 2-Registers 224 führt zu einem I 3-Register 229, das ein Instruktionsregister einer dritten Verarbeitungsebene darstellt und dessen zugehöriges Adressregister ein PA3-Register 230 ist. Der Adressinhalt der im I 3-Register befindlichen Instruktion wird normalerweise an die MBU 100 und den Rechner 101 geleitet, die solche Adressen als Operandenadressen über die IiBG 18A zum Zentralßpeicher weitjerleiten.
Der Kanal 233 beginnt ebenso am Ausgang des I 2-Registers 224 und führt erstens auf einen CB·Decoder 234 zur Decodierung einer vorzugsweise bedingten Sprungoperation sowie zweitens an ein Und-Glied 235, dessen weiterer Eingang über eine Leitung 236 vom Ausgang des LLA Decoders 226 herrührt,
- 20 -
009825/1752
H.August 1969
k-35
welcher ein Signal LLA führt, sobald der Decoder 226 eine LLA-Instruktion erkannt hat. Die Leitung 236 führt überdies an ein weiteres Und-Glied 264. Ein weiterer Kanal aus dem I 2-Register 224 ist über einen Indexer 231 mit einem EA-Register 232 (effectiv address) verbunden. -
Der Ausgang des EA-Registers 232 führt an ein Und-Glied 242, dessen weiterer Eingang mit einer Leitung 234a verbunden ist, die aus dem CB-Decoder 234 kommt. Den Ausgang des Und-Glie- ^ des 242 bildet de.r Kanal 243, der eine .Verzweigungsadresse ™ von 24 Bits an einen PA Zählerspeicher 244 (present address) liefert, durch welche dieser geladen wird. Die Leitung 234a aus dem CB Decoder 234. ist überdies über einen Inverter 246 und ein Und-Glied 248 mit einem Fortschalteingang des Speichers 244 verbunden, welcher über einen +1 Modifizierer 250, dessen Ausgang ebenfalls an einen Eingang des Und-Glieds 248 führt, den in den Speicher 244 eingegebenen Adresseninhalt jeweils um den Wert +1 zu inkrementieren gestattet. Ein Ausgang des Speichers 244 ist über einen Kanal 252 mit dem Eingang des PA1 Adressregisters 222 verbunden. "Wie bereits gesagt, führt der Ausgang des PA1-Registers 222 zum PA2-Register 227. Das PA2~Register hat jedoch zwei Ausgänge, ein . erster Ausgang führt zum Eingang des PA 3-Registers 230, ein zweiter Ausgang dagegen über einen Kanal 254 zum Und-Glied 264.
Ein Kanal 256 verbindet den Ausgang des Und-Glieds 235 mit dem Setzeingang eines LA-Zählerspeichers 258 (look ahead), welcher über einen -1 I.Iodifizierer 260 den so eingespeicher-, ten Inhalt schrittweise um -1 dekrementieren kann. Ein Detektor 262 prüft laufend den Inhalt des LA Zählerspeichers und erstellt ein Ausgangssignal, welches einem Und-Gatter
-21 -
009825/17 52
'H.August 1969
k-35
263 Meldung erstattet, sobald der Inhalt des Speichers 258 kleiner als zwölf und größer als drei ist.
Die (Nein) Ausgänge der letzten drei Binärziffern des Zählerspeichers 244 sind an ein Und-Gatter 266 geführt, dessen Ausgang den zweiten Eingang des Und-Gatters 263, den Portschalteingang eines Flip-Flops 282, den Rücksetzeingang eines Flip-Flops 284 sowie .Eingänge für Und-Gatter 294 und 270 bildet. Ausgänge der letzten drei Bits des Zählerspeichers 244 führen auch zum Zuteiler 218, um die sequentielle Instruktionsausgabe aus den Dateien 129, 130 mitzusteuern. Der Ausgang aus dem Und-Gatter 263 führt einerseits über einen Inverter 268 an den zweiten Eingang des Und-Gatters 27,0 un'd andererseits direkt an ein tJnd-Glied 272, dessen zweiter Eingang ein Kanal.ist, welcher von einem B-Register 274 (Branch) herrührt. Das B-Reglster war durch den Ausgang des Und-Glieds 264 beladen worden. Der Ausgang aus dem Und-Glied 272 belädt einen LA-Rechenspeicher 276'(look ahead), der über einen Kanal 277 zur MCU 18 Zutritt hat.
Ein Und-Gatter 278 "wird an seinem einen Eingang aus dem Ausgang des Und-Gatters 270 und an seinem anderen Eingang aus dem Ausgang eines +8 Modifizierers 280 gespeist; bei geeigneter Konstellation der letzten drei Bits des PA Zählerspeichers 244 wird damit der Inhalt des LA Rechenspeichers 276 um +8 modifizierbar.
Das Flip-Flop 284 ist an seinem Setzeingang mit einer leitung 286 verbunden, welche dann Signal führt, wenn Daten tibertragen werden können, d.h. wenn die MCU 18 Instruktionsblöcke zur Übertragung in die Instruktionsdateien 129 oder
- 22 -
009825/1752
A 37 589 b -22.- 19*9916-.
H.August 1969
k-35 · ■■■;.-.
oder 130 bereitgestellt hat. Der Ja-Ausgang aus dem Flip-Plop 284 führt auf einen zweiten Eingang des Und-Gatters 294. Der Nein-Ausgang des Fortschalt-Flip-Flops 282 ist an einen Eingang eines Und-Gatters 288, der Ja-Ausgang an einen Eingang eines Und-Gatters 290 herangeführt.
Die Und-Gatter 288 liefern dem Zuteiler 218 in Form von Signalen PUO bzw. PU1 weitere Information, mittels der dieser die richtige serielle Weitergabe der geeigneten Instruktion " aus den Dateien 129, 130 an die Instruktionsregister bewerkstelligen kann. Der zweite Eingang des Und-Gatters 288 sowie des Und-Gatters 290 ist mit dem Ja-Ausgang.eines Flip-Flops. 292 verbunden, welcher gleichzeitig einen dritten Eingang für das Und-Glied 248 bildet.
Das Flip-Flop 292 ist an seinem Setz-Eingang mit der Leitung 286 verbunden, welche überdies noch an je einem Eingang der Und-Gatter 212, 213 führt, wobei der andere Eingang des Und-Gatters 212 mit dem Ja-Ausgang des Flip-Flops 282 und der andere Eingang des Und-Gatters 213 mit dessen Nein-Ausgang verbunden ist. Der Ausgang des Und-Gatters 294 bildet den Rucksetz-Eingang des Flip-Flops 292.
Die Schaltung der Fig.5 stellt eine Ausführungsform der Erfingung dar, bei der ausschließlich fest verdrahtete Schaltkreise auf den LLA- und den später folgenden bedingten Sprungbefehl reagieren. Im Rahmen des Erfindungsgedankens sind -jedoch auch andere Schaltkreisverknüpfungen als die in Fig.5 gegebene möglich, und überdies wäre eine stärker software-mäßige Ausführungsform denkbar.
- 25—
009825/17
A 37 589 b - 2-3 -. 1 9 A 9 9 1 6
14.August 1969
k-35
Der LLA-Decoder 226 entschlüsselt die LLA-Instruktion, sobald sie im I 1-Register 221 und somit in der ersten Verarbeitungsebene' ankommt. Wie bereits gesagt, weist die Schaltung der Pig.5 insgesamt 3 Verarbeitungsebenen oder -phasen auf. Der CB-Decoder 234 entschlüsselt entsprechend einen bedingten Sprungbefehl, der in die zweite Verarbeitungsebene gelangt ist. Das aufgrund der letzten Entschlüsselung resultierende Signal auf der Leitung 234a macht einerseits das Und-Glied 242 durchlässig und sperrt andererseits infolge des zwischengeschalteten Inverters 246 das Und-Glied 248; damit wird eine weitere Inkrementierung des Inhalts des PA-Zählerspeichers 244 vermieden und andererseits dieser auf den Wert umgeladen, der im EA Register 232 gespeichert war und nun über das Und-Glied 242 zum PA Zählerspeicher 244 kommt. Eine solche Neubeladung des PA Zählerspeichers findet jedesmal zum Wiederbeginn einer Instruktionsschleife statt, und unterbleibt erst dann, wenn diese zur Zeit des bedingten Sprungbefehls aufgrund erfüllter Bedingungen verlassen werden kann. Ob letztere Bedingungen erfüllt oder nicht erfüllt sind, wird beispielsweise durch den Rechner 101 angezeigt, indem er auf Leitungen 234b, 234c entsprechende Signale gibt, welche an den Setz- oder Rücksetzeingang eines Flip-Flops 234d führen.
Eine Leitung 234e leitet vom Nein-Ausgang des Flip-Flops 234d zum CB-Decoder 234. Führt diese Leitung kein Signal zur Zeit des Auftretens' eines bedingten Sprungbefehls in der zweiten Verarbeitungsebene, wird die Leitung 234a Signal geben und entsprechend die oben beschriebene Umladung des PA-Zählerspeichers 244 auf den vom EA-Register 232 gespeicherten Viertveranlassen. Führt jedoch die Leitung 234e Signal, blockiert dieses ein Aufkommen eines Signals auf der Leitung 234a, so
• - 24 -
009825/17 52
14.August 1969
k-35
daß infolgedessen eine Umladung entfällt und der PA-Zählerspeicher von seiten des Inverters 246 unberührt bleibt und entsprechend seinen Inhalt um +1 modifiziert, so daß das Programm die Schleife verläßt und den von der Programmierte vorgeschriebenen Weg v/eiterverfolgt.
In Tabelle II wird ein Punktionsdiagramm zur Durchführung einer Schleife gemäß Tabelle I nach Art eines vereinfachten Zeitdiagramms gegeben, indem die verschiedenen Zustände bestimmter wichtiger Schaltglieder in ihrer zeitlichen Reihenfolge während Taktpulszeiten 1 - 26 verfolgt werden. Die Taktpulse kommen aus einem Taktpulsgeber 3QO in Pig.5. a
Im folgenden wird das in Tabelle II festgehaltene Geschehen während einer Schleife des Programmierbeispiels gemäß Tabelle I erläutert. In Tabelle I enthält der Inhalt der Adresse eine ILA-Instruktion, d.h. eine Voraussageinstruktion, welche durch die beigegebene Zahl 18 anzeigt, daß nach weiteren 18 Instruktionen in der Programmkette, also bei der Adressstelle 115 ein bedingter Sprungbefehl folgt. Aufgrund des letzteren Befehls verzweigt der Computer entweder zurück nach Adresse 103 und damit erneut zur LLA-Instruktion oder aber wird bei Erfüllung bestimmter Bedingungen im Programm so fortgefahren, daß nach der Instruktion in Adresse 115diejenige in Adresse 116, dann diejenige in Adresse 117. usw. folgt.
Die in Tabelle II gezeigten Operationen beziehen sich als Erstes auf den Teil des Programms, bei welchem.eich-die Instruktionsworte der Adressen 100 - 107 in der Registerdatei 129 befinden, worunter sich gemäß Tabelle I in der Adresse
- 25 -
00982 5/17 52
H.August 1969
die LLA Instruktion befindet. In Tabelle II sind nun die Zustände bestimmter Schaltvorrichtungen nach dem Auftreten der Taktpulszeiten 1,2,3 .. aufgezeichnet. Wie gesagt, befindet sich in den Registern K oo - o7 der Instruktionsdatei 129 ein aus 8 Instruktionen bestehender Instruktionsblock, der nun den Adressen 100 - 1o7 entspricht. Ein zweiter 8 Instruktionen umfassender Instruktionsblock in der Instruktionsdatei 130 mit den Registern K 10 - K 17 enthält Instruktionsworte, welche den'Adressen 1o - 1o F entsprechen.
Nach der Taktpulszeit 1 wurde der Inhalt,des PA-Zählerspeichers 244 weiterhin um Eins inkrementiertj er habe daraufhin den Wert 103. Wie gesagt, dient dieser Speicher 244 dem Zweck, über den Zuteiler 218 das richtige Instruktionswort aus den Dateien 129, 130 zu selektieren und ins 11-Instruktionsregister 221 zu befördern. Im System nach Pig.5 finden sich also folgende Zustände: '
Nach der Taktpulszeit 1 :
Der PA-Zählerspeicher 244 enthält den Wert 103; der LA-Rechenspeicher 276 enthält den Wert 108, ., · welcher die Anfangsadresse des Instruktionsblocks ist, der als nächstes aufgerufen wird. Der in . der Datei 130 liegende Instruktionsblock mit den Adressen 108 - 1OF war dadurch aus der MCU 18 in die Instruktionsdatei 130 gelangt, daß die Leitung 286 Signal erhielt, welches das Flip Flop setzte und das UIiD-Gatter 313 zur Erzeugung des Signals LA 1 öffnete;
- 26 -
009825/1752
k-35 · ■ η : · : -
Signal LA ο ist auf AUS und Signal LA 1 entsprechend auf EIN; '
Signal PUO ist infolge erfüllter UND-Bedingungen ■am UND-Gatter 288 auf EIN und wählt damit die UND-Glieder 215 zum Auslesen aus der Datei 129; entsprechend ist Signal PU 1 auf AUS, wodurch eine generelle Sperrung der UND-Glieder 216 erfolgt;
aufgrund der Bitkonfiguration der letzten drei Bits im Zahlerspeicher 244 wählt der Zuteiler 218 dasjenige UND-Glied aus 215 aus, welches den Weg aus dem K 03-Register zum ODER-Glied 21? öffnet.
Nach der Taktpulszeit 2:
Der PA-Zählerspeicher wurde auf 104 erhöht;
Der Inhalt aus dem K 03 Register der Datei 129 ist über das entsprechende UND-Glied von 215 zum Il-Register 221 gelangt;
Der Wert 103 ist aus dem PA Zählerspeicher 244 ψ in das PA 1 Adressregister 222 duplizierend
übertragen.
Nach der Taktpulszeit 3: "
Der PA Zählerspeicher ist auf den Wert 105 gebracht; der Zuteiler 218 wählt aufgrund des Werts 5 der-letzten 3 Bits des PA Zählerspeichers und des Signals PUO den Ausgang des K 05 Registers an; ■ .
; ■ ■■'.' ·. - 27 -
009825/1752
U.August 1969,
die Adresse 104 war vom PA Zählerspeicher in das PA 1 Adressregister 222 übertragen worden; andererseits war die im PA 1 Register enthaltene Adresse 103 in das PA 2 Adressregister 227 übertragen worden;
der der Adresse 103 entsprechende Inhalt des 11 Registers 221 war in das 12 Register 224 übertragen worden, wobei 8 Bits duplizierend über den Kanal 225 zum LLA Decoder 226 geschickt wurden;
der LLA Decoder 226 erzeugt Signal LLA auf der Leitung 236;
der Intervallbetrag auf der Leitung 256 ist 18, sobald im 12 Register 224 die LLA Instruktion angekommen ist.
Nach der Taktpulszeit 4:
Der PA Zählerspeicher 244 wurde auf den V/ert 1G6 erhöht;
die Adresse 105 war vom PA Zählerspeicher 244 in das PA 1 Register 222 übertragen worden;
das der Adresse 105 entsprechende Instruktionswort war in das I 1 Register 221 eingeladen worde'n; .
die Adresse 104 ist im Register 227 und" das ihm zugehörige Instruktionswort im I 2 Register 224;
das LLA Signal auf der Leitung 236 ist verschwunden;
- 28 -
009825/17 52
H.August 1969 .
k-35 :
die Adresse 103 "wurde in das Register 230 und die der Adresse 103 entsprechende Instruktion in das. Register 229 übertragen;
der IA Zählerspeicher 258 v/urde mit dem Wert 18 aus der LLA Instruktion beladen;
das B Register 274 erhielt den Wert 100, indem die letzten 3 Bits des Adresswerts 103 aus dem Register 227 unterschlagen wurden; mit dem 4.Taktpuls wurde die Adresse 103 aus dem PA 2-Adressregister 227 in das B-Register 274 übertragen.
Nach der Taktpulszeit 5:
Der Inhalt des PA Zählerspeicher.s 244 wurde auf den Wert 107 angehoben, entsprechend wurde der Inhalt des LA Zählerspeichers 258 auf 17 erniedrigt;
der Zuteiler, 218 wählt aufgrund des PA Zählerspeicherinhalts 107 und des Signals PU ο den Ausgang des K 07 Registers der Datei 129 an;
das PA 1 Adressregister 222 enthält die Adresse 106 und dementsprechend das I 1 Register 221 das zur Adresse 106 zugehörige Instruktionswort;
das PA 2 Adressregister 227 enthält die Adresse 105 und dementsprechend das zugehörige I 2 Instruktionsregister 224 die der Adresse 105 entsprechende Instruktion; ·
Signal LLA auf der Leitung 236 bleibt bis auf weiteres verschwunden; das PA 3 Adressregister 230 enthält die Adresse 104 und das zugehörige I 3 In-
- 2 9 -
009 825/1 7 52
. H.August 1969 ■
struktionsregis-fcer 229 die der Adresse 104 entsprechende Instruktion. "
Nach der Taktpulszeit 6: ·
Der PA Zählerspeicher 244 enthält die Zahl 108; der Μ Rechenspeicher 276 erhält die Adresse 110, da der "bisherige Wert 108 infolge eines Signals über die Leitung aus dem .Und-Gatter 266 und keines Signals aus dem Detektor 262 um +8 erhöht wurde; .
Infolge eines Portschaltens des Portschalt-Flip-Flops 232 aufgrund des Ausgangssignals aus dem Und-Gatter 266 geht Signal LA 0 auf der Leitung 210 auf "Ein" und Signal LA 1 auf der Leitung 211 auf "Aus";
entsprechend verliert das Und-Gatter 288 die Und-Erfüllung der Eingangssignale, während das Und-Gatter 290 ein PU 1 Ausgangssignal erstellen kann. ,
Der Inhalt des LA Zählerspeichers 258 wurde um -1 dekrementiert und beträgt nun 16;
Der Zuteiler wählt aufgrund des Mull-Zustands der letzten drei. Bits des PA-Zählerspeichers sowie aufgrund des Signals PU 1 den Ausgang des K 10 Registers und damit das oberste Und-Glied der Und-Glieder 216 an;
Register.222 enthält, die Adresse 107, Register 221 die z.ur Adresse 107 -gehörige Instruktion;
- 30 -
009825/175 2
H.August 1969
k~35 · ' ■ ·.·■■"■
Register 227 enthält die Adresse 106, Register 224 die zur Adresse 106 gehörige Instruktion;
Register 230 enthält die Adresse 105, Register 229 die zur Adresse 105 zugehörige Instruktion.
x Nach dieser Art werden die Schaltkreise der Pig.5 mit jeder folgenden Taktpulszeit entsprechend fortgeschaltet, wobei nun bis nach der Taktpulszeit 13 keine kennzeichnende Änderung stattfindet.
Nach der Taktpulszeit 13:
Die Datei 129 enthält nun Instruktionen, wel-. ehe aus den Adressteilen 110 bis 117 stammen;
Der PA Zählerspeicher 244 hat den Wert 1OP erreicht}
Im übrigen verhalten sich die weiteren Schaltkreisglieder erwartungsgemäß, wie auch aus Tabelle 2 zu ersehen ist.
Nach der Taktpulszeit 14:
Der PA Zählerspeicher 244 ist auf den. Y/ert gebracht worden;
Der LA Rechenspeicher 276 enthält nun den V/ert 100, der in ihm aus dem B-Register 274 über das Und-Glied 272 zur Zeit des Null-Zustands der letzten drei Bits des PA-*Zählerspeichers 244 und damit eines Signals auf der .Ausgangs-
- .31 -
0 09825/1752
H.August 1969
leitung aus dem Und-Gatter 266 eingeladen wurde, da das Und-Gatter 263 infolge des Detkktorsignals aufgrund der Zahl 8 im LA.Zäh-' " · lerspeicher Auegangssignal zeigte;
Signal LA. 1 auf der Leitung 211 ist auf "Ein" und Signal LA 0 auf der Leitung 210 auf "Aus"; • Signal PU 0 ist auf "Ein", Signal PU 1 auf "Aus";
Der Inhalt des LA-Zählerspeichers 258 beträgt wie gesagt 8;
Das B-Register 274 enthält noch den Wert 100, der, wie oben "bereits gesagt soeben in den LA-Rechenspeicher dupliziert wurde;
Die Register 221, 224, 229 enthalten die Instruktionen der Adressen 1OF, lOE bzw. 1OD.
Nach der Taktpulszeit 21:
Die Datei 130 enthält Instruktionsworte aus den .Adressteilen 100 bis 107;
Der PA-Zählerspeicher 244 wurde wie üblich um Eins fortgeschaltet und enthält den Wert 117.
Nach der Taktpulszeit 22:
Der PA-Zählerspeicher 244 wurde infolge Signals auf der Leitung 234a und einer dementsprechenden Sperrung des Und-Glieds 248 auf Null gestellt;
Der LA-Rechenspeicher 276 enthält-die Adresse 108;.
- 32 -
0098 25/17 52
J,
Das LAO-Signal ist auf "Ein", entsprechend das IiA.1-Signal auf "Aus". Die Umschaltung zwischen LAO und LA1 erfolgte aufgrund einer Port-.schaltung des Flip-Flops 282;
Entsprechend ging ,Signal PU 0 auf "Aus", Signal PU 1 auf "Ein";-
Der Inhalt des LA-Zählerspeichers 258 wurde auf Null dekreraentiert;
Das PA 1 Adressregister 222 enthält die Adresse 117 und das ihm zugehörige I 1 Instruktionsregister 221 das zur Adresse 107 zugehörige Instruktionswort ;
Register 227 enthält die Adresse 116 und Register 224 das zugehörige Instruktionswort;
■ Register 230 enthält die Adresse 1.15. und Register 229 das zur Adresse 115 gehörige Instruktionswort .
Nach der Taktpülszeit 23:
Das Register 244 enthält die Adresse 103, welehe über das EA-Register 232 zufloss; Das Und-Glied 242 wird durch Signal auf der . Leitung 234a geöffnet,""welches' durch das Auftreten des bedingten Sprungbefehls entstand, so daß der Inhalt aus dem EA-Register 232 (Adresse 103) in den PA-Zählerspeicher 244 eingeladen werden konnte;
Der Zuteiler 218 wählt aufgrund der nunmehrigen
■■■-■■.. ' ■' " - 33 -
00982 5/ 17 52
H.August 1969
Bit-Konfiguration der letzten drei Bits im PA-Zählerspeicher 244 und infolge des Signals PU 1 den Ausgang des K 13-Registers der Datei 130 an, in welcher sich die LLA-Instruktion der Adresse 103 "befindet.
Durch den Taktpuls 23 wird ein erneuter Durchlauf durch die Programmschleife, "beginnend mit der ILA-Instruktion der Adresse 103 und endigend mit dem "bedingten Sprungbefehl der Adresse 115, eingeleitet. Solche Schleifen werden nun so oft wiederholt, bis eine bestimmte Bedingung erfüllt ist, die an dem Auftreten des Signals 234b und infolgedessen 234e zu erkennen ist, welches zur Zeit des bedingten Sprungbefehls das Signal auf der leitung 234a nicht aufkommen läßt; damit bleibt der Inhalt des PA-Zählerspeichers 244 in +1 modifizierter Form erhalten, so daß nunmehr der Instruktionsfluß die Schleife verläßt und der weiteren Instruktionskette folgt, wie dies in Tabelle I durch die Instruktionen 116, 11? . · . gezeigt wird.
Die bisherigen Ausführungen lassen erkennen, daß am Ort.des Kanals 33 (Pig.3 und 4) zwischen der MCU 18 und dem Rechner 101 der CPU eine Schaltung vorgesehen ist, die die erfinduhgsgemäße optimale zeitliche Anpassung bei bedingten Sprungbefehlen für Programmschleifen an Datenverarbeitungssystemen mit vorzugsweise multiprozessierenden Eigenschaften gestattet.
Die erfindungsgemäße Yoraussehau-Sehaltung der Fig.5 kann jedoch auch mehr oder weniger durch Programme ersetzt werden, wie dies anfangs bereits gesagt wurde,
- 34 -
00982E/175 2
A 37 589 b -54- j 949916
H.August 196.9 · -
Das PA 3 Adressregister 230 weist dieselbe Punktion auf wie sie in üblichen Computer-Systemen durch Programmzähler bewerkstelligt wird. .
Die Schaltung der Pig.5 hat nur beispielhaften Charakter, da sie insbesondere der Adress-Steuerung des in den Fig. 1 bis 4 gezeigten Computers für die Verarbeitung wissenschaftlicher Daten dient. Sie -v/eist insbesondere drei Instruktionsregister 221, 224 und 229 auf, welche jeweils eine Verarbeitungsphase für drei in Ausführung befindliche: Befehle darstellen. Der im 13-Register 229 enthaltene Befehl beaufschlagt beispielsweise den Rechner 1Q1 der CPU zur Durchführung dieses Befehls in einer dritten oder Endphase, die in den Registern 11 und 12 befindlichen Befehle dagegen können zweckmäßigerweise für vorausschauende Operationen, wie oben beschrieben, verwendet werden. Wenn nun die im■■' PA-Zählerspeicher 244 befindliche Adresse sich so ändert, daß eine Umschaltung der Anwahl der Ausgänge der Dateien 129, 130 stattfindet, indem beispielsweise von einem Instruk tionsblock zum ande ren umgeschaltet wird, erfolgt eine Einspeicherung des "Inhalts des B-Registers 244 in den LA-Rechenspeicher 276, falls der Inhalt des Zählerspeichers eine Blocklänge oder weniger als die Zahl 3 beträgt. Die so eingespeicherte neue Adresse im LA-Rechenspeicher 276 wird nun über den Kanal 277 an die MCU 18 gemeldet, welche darauf hin rechtzeitig denjenigen Instruktionsblock in die als näch ste zu füllende Instruktionsdatei überträgt, welcher die letzte I)LA-InStruktion enthält.
■ ■'■ ' ■■■■ - ■.-.-'"■-"■: >
So werden in dem bevorzugten Ausführungsbeispiel der Erfindung Zähler viiid Decodierer verwendet, wobei ein Decodierer
■.' ■■... ■■.'. ■." - 35 - '■
00,9825/ 1 7 52
H.August 1969 ^
k-35
(LLA-Decoder 226) zur Aufspürung einer LLA-Instruktion und zum Vörabsetzen eines Zählers mit dem von der LLA-Instruktion belieferten Intervallbetrag verwendet wird. Der erwähnte Zähler ist bei dem Ausführungsbeispiel der LA-Zählerspeicher 258 und der ihm augeordnete Modifizierer 260; der Zähler wird mit jeder der LLA-Instruktion nachfolgenden weiteren Instruktion geändert. Eine Vorrichtung zum Abruf der Instruktionsblöcke aus dem Zentralspeicher wird so gesteuert, daß sie je nach Auftreten einer bestimmten Bedingung während eines am Ende der Schleife befindlichen bedingten Sprungbefehls allenfalls die Übertragung desjenigen Instruktionsworts in die Instruktionsregister bewerkstelligt, welches . die LLA-Instruktion enthält; dies erfagt zu einem durch einen bestimmten LA-Zählerspeicherbetrag gekennzeichneten Zeitpunkt.
Wie bereits oben gesagt, kann die Schaltung der Fig.5 geändert werden·, ohne daß dadurch der erfindungsgemäße Gedanke verlassen wird. Statt der drei Instruktionsregister 221, 224, 229 können ebenso auch nur ein oder zwei oder auch mehr als drei solcher Register verwendet werden. Beispielsweise kann eine Instruktion im Instruktionsregister 221 gespeichert werden und die notwendige Decodierung später durchgeführt wird, wobei die Instruktion nur in Abhängigkeit von in einer ITorausschauschaltung entwickelter Bedingungen verwendet wird.
Im Rahmen des Erfindungsgedankens Bind weitere Abänderungen vom gezeigten Ausführungsbeispiel möglich.
- 35 b 00S825/1752 '
14.August 1969 k-35 .;
1. Tabelle I Instruktion
2. Speicheradresse
3, der Instruktion LIA-18
4. . 103 X04
5. 104 X05
6. 105 X06
7. 106 X07
8. 107 X08
9. 108 X09
10. 109 XOA
11. IOA XOB
12. 1OB XOC
13. 10C XOD
14. 1OD XOE
15." . 1OE XOP
16. • 10F X10
17. 110 X11
18. 111 X12
112 . XI3
113 X14
114 XI5 (bedi-
115 X16
116 ΧΙ?
117
-18 (Voraussageinstruktion)
(bedingter Sprung nach 105)
009825/17 52
A 37 589 b H.August 1969 k-35
«Dab ell e II (I.Teil) 1949918
Ti ?·
I:
7. 8.
9. 10. 11. 12. 13. 14. 15. 16,)
17. 13.
19.· 20. 21. 22.
23.)
24·. ) 25.)
26.) 27.)
28i 29. 30. 31. 32, 33.
nach- der Ta-ktpu1szeit;
>. ¥0 -j (
¥1 ':-| (
• V/2 j ,(
129: < •¥3 ·
-¥4 ■ \
¥5 - l
.- •¥6
w. W7 .
Register]
Il
130:
■' 244: ι /276: ' ·
212 j 210:
• 213; -211:
■ .288: -' ·
• ' 290:
258: .' 274:
'217: -
'' 221: ··. -222:
..224: , ' - "■' *227i' ■- 226: • 256: · '229: 230:
¥0
¥1
¥2 . ·■
¥3 · (Ki3 "
¥4 ; (Kt4 "
¥5 1 (K15 "
¥6 '...(K16 "
WT'."',; (K17 "
PA Zäblerspeiclier A RectLenspeiclier
LAO Signal IAl Signal PUO Signal PUl Signal ■
" · ;■*■ Zählerspeicher IA . \ BCH Register
Instruktion aus:
. ■ ι ■
Il Seglet er (inhalt von) PA 1 -Register ;
' Ί 1-2 Register (Inhalt von)
PA 2-Register LIA Ijecoder .
Intervallbetrag
I 3; Register (Inhalt von)
PA "3 !Register-
009825/17 -.35 a -' ORIGINAL INSPECTKD
A 37 859 b- ■■ ■ 14.August 1969 k-35
(2.Teil)
II
1. 100
2. 101
3. 102
4. 103
5. 104
6. 105
7. 106
8. . 107
9. 108
10. 109
11. 1OA
12. ' 1OB
13. IOC
14.] ) IOD
15. ι ν 1OE
16.4 ) 1OP
17.) 18.)
23.) 24.) 25.)
103 104 105 106 107 1θ8 109
108 ....... ...... 110 ...
O .1 1 O
1 .1 O
O 1 1
O 1 1 O
1
O
C
1
O
O
1
1
O
O
17
...
15 14
1OB 1OC
O
O
13 12
.1OA 1OB
KÖ3- KÖ4; Κ05, Κ06 Κ07 KlO KIl Κ12 " Κ13 Κ14
103 104 105 106 107 108 109
103 104 105 106 107 108 109
104 105 106 1Ο7 108
- . 103 104 105 106 107 108
• *:■ ■ ΙιΜ OO O O O
-■■'."- - 103 104 105 106 IQ?
■■.-.-■ - 103 104 105 106 107
109
109 1OA
O P
108 109
108 109
09 8 2S/1752
- 35 e -
A 37 589 b 14. August 1969 k-35 Tabelle II
(5.Teil)
11 12 13 I* 15 16 17 18
1. 2. 3.
4.
i:
7. 8.
9. 10. 11. 12. 13. 14. 15t 16.
18.
19. 20. d 21.: 22.
23;) 24.)
25.)
26.) 27.)
28. 29.; 30. 31.
32.:
33.) 110
111
112
113
11ή
115
116
117.
IOD 1OE 1OP 110
inn
111 112 113 nil
HOOH ·
<
a
HOOH <
<
ft,
' HOOH
>
>
I OHHO
OHHO · OHHO
C
OHHO ·

<
OHHO «
*
■4
11 10 9 8 7 6 5
- 100
KI5 KI6 KI7 KOO KOl KO2 KO3 KOA
IOC 1OD 1OE 1OP 110 111 112 113 IOC 1OD 1OE 1OF 110 111 112 113
IQB 1OC 1OD 1OE 1OP 110 111 112 1OB 1OC 1OD 1OE 1OP 110 111 112 0.0 OO OO OO
1OA 1OB 1OC 1OD 1OE 1OP 110 111 1OA 1OB 1OC 1OD 1OE 1OP 110 111
-55 f -
009825/17 52
ORlQlHAt INSPECT«)
A 37 589 b
H.August 1969
k-35 ..--I-'" .
Tabelle II
(4.!DeIl) :
19 115 20 . 21 22 23 24 25 26
OMMO '
1
100
101 -
102
103
104 ■ - -..
105
106
»-
107
117.
OHHO
116 108 103 104 105 106
> OHHO ι
HOOH
MOOM <
f
MOO M ■<
«
HOOH ' HOOH
3 2 1 - - - - 18
KOS KO6 KOT O KI3 Kl1I KI5 KI6
114 115 116 117- 103 104 105 114 115 116 117 - 103 104 105
113 114 115 116 113 114 115 116V O O OO O
103 104. 103 104 LLA O 18 -
112 113 114 115 - - - 103 112 113 114 115 - % - *°3
- 36.-.-■
009825/17 52

Claims (10)

A 37 589 b "'14.August 1969 Patentansprüche
1. Datenverarbeitungsverfahren für programmierbare Digitalcomputer, mit einer Instruktionsfolge, die mindestens eine insbesondere bedingte Verzweigungsinstruktion enthält, vorzugsweise einen Sprungbefehl zur Schleifenbildung, da-
, in die.Instruktionsfolge. _ ■
durch gekennzeichnet, daß/einerbestimmtenAnzahl von Instruktionen vor der Verzv/eigungsinstruktion eine Voraussageinstruktion eingefügt wird, die eine bestimmte Zahl definiert, daß beim Aufruf der Voraussageinstruktion ein Index erstellt wird, der bei der Ausführung einer jeden • der zwischen Voraussageinstruktion und Verzweigungsinstruktion liegenden Instruktionen gleichmäßig geändert wird, und daß ferner die Adress-e der Voraussageinstruktion gespeichert und an die von der gespeicherten Adresse der Voraussageinstruktion angegebene Stelle der Instruktionsfolge gesprungen wird, wenn sich der Index der be- , stimmten Zahl entsprechend geändert hat* -
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Index der Anzahl dazwischenliegender Instruktionen entspricht.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der Index je ausgeführter, dazwischenliegender Instruktion um Eins geändert wird.
4. Verfahren nach einem oder mehreren der vorstehenden Ansprüche, dadurch gekennzeichnet, daß die von der Voraus—
- 37 -
009825/17 52
A 37 589 Td-. .
14.August 1969 , Λ
k-35 . M
sageinstruktion definierte Zahl der Anzahl der zwischen dieser Voraussageinstruktion und der Verzweigungsinstrüktion liegenden Instruktion entspricht.
5. Verfahren nach Anspruch 1 his 4, dadurch gekennzeichnet, daß der Index bis auf Hull dekrementiert wird. ~
6. Computer zur Durchführung des Verfahrens nach einem oder ' mehreren der vorstehenden Ansprüche, gekennzeichnet durch eine auf eine Voraussageinstruktion ansprechende Stellvor~ richtung (226) zur Erstellung eines Ausgangszustands (258) im Computer, ferner durch ein auf jede auf die Voraussageinstruktion folgende Instruktion ansprechendes I/Iodifizierglied (260) zur schrittweisen Änderung dieses Ausgangs-'zustands, sowie durch eine. Steuervorrichtung (232,. 234, 244 f 276) zur be dingt en Hückführung des Computers an die Steile der Voraussageinstruktion, in der Instruktionsfolge nach erfolger Änderung des Ausgangszustands um eine vorbestimmte Schrittzahl.
7. Computer nach Anspruch 6, dadurch gekennzeichnet, daß die Stellvorrichtung einen Dekoder (226) aufweist und ,für die Darstellung des Ausgangszustands ein Zähler (258) vorgesehen ist.
8. Computer nach Anspruch 6, dadurch gekennzeichnet, daß der aus der Stellvorrichtungidein Modifizierglied und der Steuervorrichtung bestehenden Einheit ein Speicher (18) ^ vor- und ein Rechner (100, 101) nachgeschaltet ist.
- 38 -
00982S/1752
19A9916
A 37 589 b ·
H.AUgUSt 1969
9· Computer nach Anspruch 8, dadurch gekennzeichnet, daß zwischen Speicher und Rechner Puffer (129, I30) angeordnet sind insbesondere zur seriellen Eingabe parallel angelieferter Instruktionen in die Einheit.
10. Computer nach Anspruch 8 oder 9» dadurch gekennzeichnet, daß die Einheit in FestTerdrahtung ausgeführt ist.
009825/1752
■■¥*
Leersei te
DE1949916A 1968-12-04 1969-10-03 Verfahren zum Betrieb einer programmgesteuerten Datenverarbeitungsanlage und Anordnung zur Durchführung des Verfahrens Expired DE1949916C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US78098068A 1968-12-04 1968-12-04

Publications (3)

Publication Number Publication Date
DE1949916A1 true DE1949916A1 (de) 1970-06-18
DE1949916B2 DE1949916B2 (de) 1973-08-09
DE1949916C3 DE1949916C3 (de) 1974-03-14

Family

ID=25121279

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1949916A Expired DE1949916C3 (de) 1968-12-04 1969-10-03 Verfahren zum Betrieb einer programmgesteuerten Datenverarbeitungsanlage und Anordnung zur Durchführung des Verfahrens

Country Status (8)

Country Link
US (1) US3573853A (de)
JP (1) JPS518304B1 (de)
BE (1) BE740261A (de)
CA (1) CA932870A (de)
DE (1) DE1949916C3 (de)
FR (1) FR2025188A1 (de)
GB (1) GB1293548A (de)
NL (1) NL6916293A (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3673573A (en) * 1970-09-11 1972-06-27 Rca Corp Computer with program tracing facility
US3764988A (en) * 1971-03-01 1973-10-09 Hitachi Ltd Instruction processing device using advanced control system
US3731280A (en) * 1972-03-16 1973-05-01 Varisystems Corp Programmable controller
US3959777A (en) * 1972-07-17 1976-05-25 International Business Machines Corporation Data processor for pattern recognition and the like
DE2637866A1 (de) * 1976-08-23 1978-03-02 Siemens Ag Verfahren zum betrieb einer programmgesteuerten datenverarbeitungsanlage
US4166289A (en) * 1977-09-13 1979-08-28 Westinghouse Electric Corp. Storage controller for a digital signal processing system
US4181942A (en) * 1978-03-31 1980-01-01 International Business Machines Corporation Program branching method and apparatus
JPS5927935B2 (ja) * 1980-02-29 1984-07-09 株式会社日立製作所 情報処理装置
US4439827A (en) * 1981-12-28 1984-03-27 Raytheon Company Dual fetch microsequencer
US5226171A (en) * 1984-12-03 1993-07-06 Cray Research, Inc. Parallel vector processing system for individual and broadcast distribution of operands and control information
US5081573A (en) * 1984-12-03 1992-01-14 Floating Point Systems, Inc. Parallel processing system
US4760518A (en) * 1986-02-28 1988-07-26 Scientific Computer Systems Corporation Bi-directional databus system for supporting superposition of vector and scalar operations in a computer
JP2810068B2 (ja) * 1988-11-11 1998-10-15 株式会社日立製作所 プロセッサシステム、コンピュータシステム及び命令処理方法
GB2317469B (en) * 1996-09-23 2001-02-21 Advanced Risc Mach Ltd Data processing system register control
US20160283243A1 (en) * 2015-03-28 2016-09-29 Yong-Kyu Jung Branch look-ahead instruction disassembling, assembling, and delivering system apparatus and method for microprocessor system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE26087E (en) * 1959-12-30 1966-09-20 Multi-computer system including multiplexed memories. lookahead, and address interleaving features
US3312951A (en) * 1964-05-29 1967-04-04 North American Aviation Inc Multiple computer system with program interrupt

Also Published As

Publication number Publication date
BE740261A (de) 1970-03-16
DE1949916B2 (de) 1973-08-09
GB1293548A (en) 1972-10-18
JPS518304B1 (de) 1976-03-16
NL6916293A (de) 1970-06-08
FR2025188A1 (de) 1970-09-04
US3573853A (en) 1971-04-06
DE1949916C3 (de) 1974-03-14
CA932870A (en) 1973-08-28

Similar Documents

Publication Publication Date Title
DE1949666A1 (de) Adressensteuerung fuer digitale Computer
DE69133302T2 (de) Registerabbildung in einem einzigen Taktzyklus
DE3424962C2 (de)
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
DE2117936C3 (de) Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems
DE2555963C2 (de) Einrichtung zur Funktionsmodifizierung
DE1949916A1 (de) Datenverarbeitungsverfahren und Computer zu seiner Durchfuehrung
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2758830A1 (de) Rechenvorrichtung
DE1900141C3 (de) HilfsSteuerwerk für eine Datenverarbeitungsanlage
DE2234867A1 (de) Anordnung in datenverarbeitungsanlagen zum steuern der verarbeitung zweier voneinander unabhaengiger programme
DE3638572A1 (de) Vektorprozessor
DE2332971C2 (de) Mikroprogrammsteuereinrichtung
EP0134831B1 (de) Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung
DE3114921C2 (de) Mikroprogramm-Speicheranordnung
DE2145709A1 (de) Datenverarbeitungsanlage
DE3802025C1 (de)
DE2246863A1 (de) Verfahren und anordnung zur protokollierung des programmablaufs in datenverarbeitungsanlagen
DE2245284A1 (de) Datenverarbeitungsanlage
DE2418921A1 (de) Vorrichtung und verfahren zum speichern und ausfuehren von mikroprogrammen in einem datenverarbeitungssystem
DE1574595A1 (de) Schaltungsanordnung zur Steuerung des Befehlsflusses in Datenverarbeitungssystemen
DE2747304A1 (de) Einrichtung zur mikrobefehlssteuerung
DE2644180C3 (de) Datenverarbeitungssystem
DE10110578A1 (de) Hierarchisches Prioritätsfilter mit integrierter Serialisierung
DE1194605B (de) Verbesserung an Geraeten zur Verarbeitung von Angaben, Informationen od. dgl.

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
8339 Ceased/non-payment of the annual fee