DE1949916A1 - Datenverarbeitungsverfahren und Computer zu seiner Durchfuehrung - Google Patents
Datenverarbeitungsverfahren und Computer zu seiner DurchfuehrungInfo
- 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
Links
- 238000003672 processing method Methods 0.000 title claims description 3
- 239000000872 buffer Substances 0.000 claims description 21
- 238000000034 method Methods 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 3
- 238000011144 upstream manufacturing Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 32
- 238000003860 storage Methods 0.000 description 16
- 239000013598 vector Substances 0.000 description 9
- 239000008186 active pharmaceutical agent Substances 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 239000003607 modifier Substances 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000032258 transport Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000007306 turnover Effects 0.000 description 2
- BSFODEXXVBBYOC-UHFFFAOYSA-N 8-[4-(dimethylamino)butan-2-ylamino]quinolin-6-ol Chemical compound C1=CN=C2C(NC(CCN(C)C)C)=CC(O)=CC2=C1 BSFODEXXVBBYOC-UHFFFAOYSA-N 0.000 description 1
- 101100231514 Caenorhabditis elegans ceh-12 gene Proteins 0.000 description 1
- MHAJPDPJQMAIIY-UHFFFAOYSA-N Hydrogen peroxide Chemical compound OO MHAJPDPJQMAIIY-UHFFFAOYSA-N 0.000 description 1
- 241001197925 Theila Species 0.000 description 1
- 241000532784 Thelia <leafhopper> Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
- G06F9/381—Loop 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
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 ·
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
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
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
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
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
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
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 ?·
3«
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)
3»
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 ...
108 ....... ...... 110 ...
O .1 1 O
1 .1 O
O 1 1
O 1 1 O
1
O
C
O
C
1
O
O
1
O
O
1
1
O
O
O
O
17
...
...
15 14
1OB 1OC
O
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)
(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ή
111
112
113
11ή
115
116
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-'" .
H.August 1969
k-35 ..--I-'" .
Tabelle II
(4.!DeIl) :
(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)
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
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)
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)
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 |
-
1968
- 1968-12-04 US US780980A patent/US3573853A/en not_active Expired - Lifetime
-
1969
- 1969-09-30 CA CA063949A patent/CA932870A/en not_active Expired
- 1969-10-03 DE DE1949916A patent/DE1949916C3/de not_active Expired
- 1969-10-14 BE BE740261D patent/BE740261A/xx unknown
- 1969-10-20 GB GB51376/69A patent/GB1293548A/en not_active Expired
- 1969-10-29 NL NL6916293A patent/NL6916293A/xx unknown
- 1969-11-25 JP JP44094582A patent/JPS518304B1/ja active Pending
- 1969-12-02 FR FR6941568A patent/FR2025188A1/fr active Pending
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 |