DE1942005A1 - Zeitzuteiler fuer Multiprogrammier- und Multiprozessier-Computer - Google Patents
Zeitzuteiler fuer Multiprogrammier- und Multiprozessier-ComputerInfo
- Publication number
- DE1942005A1 DE1942005A1 DE19691942005 DE1942005A DE1942005A1 DE 1942005 A1 DE1942005 A1 DE 1942005A1 DE 19691942005 DE19691942005 DE 19691942005 DE 1942005 A DE1942005 A DE 1942005A DE 1942005 A1 DE1942005 A1 DE 1942005A1
- Authority
- DE
- Germany
- Prior art keywords
- computer
- ppu
- cpu
- channel
- virtual processors
- 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.)
- Ceased
Links
- 238000012545 processing Methods 0.000 claims description 69
- 230000015654 memory Effects 0.000 claims description 61
- 230000002093 peripheral effect Effects 0.000 claims description 45
- 239000000872 buffer Substances 0.000 claims description 39
- 238000004891 communication Methods 0.000 claims description 12
- 230000001419 dependent effect Effects 0.000 claims description 3
- VOXZDWNPVJITMN-ZBRFXRBCSA-N 17β-estradiol Chemical compound OC1=CC=C2[C@H]3CC[C@](C)([C@H](CC4)O)[C@@H]4[C@@H]3CCC2=C1 VOXZDWNPVJITMN-ZBRFXRBCSA-N 0.000 claims description 2
- 230000004913 activation Effects 0.000 claims 1
- 238000004590 computer program Methods 0.000 claims 1
- 239000013598 vector Substances 0.000 description 51
- 238000000034 method Methods 0.000 description 30
- 238000003860 storage Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 22
- 238000007792 addition Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 239000008186 active pharmaceutical agent Substances 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000007667 floating Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- YBYIRNPNPLQARY-UHFFFAOYSA-N 1H-indene Chemical compound C1=CC=C2CC=CC2=C1 YBYIRNPNPLQARY-UHFFFAOYSA-N 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000001356 surgical procedure Methods 0.000 description 3
- 101100397055 Caenorhabditis elegans inx-10 gene Proteins 0.000 description 2
- 241001631457 Cannula Species 0.000 description 2
- 235000010678 Paulownia tomentosa Nutrition 0.000 description 2
- 240000002834 Paulownia tomentosa Species 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101001005269 Arabidopsis thaliana Ceramide synthase 1 LOH3 Proteins 0.000 description 1
- 101001005312 Arabidopsis thaliana Ceramide synthase LOH1 Proteins 0.000 description 1
- 101001089091 Cytisus scoparius 2-acetamido-2-deoxy-D-galactose-binding seed lectin 2 Proteins 0.000 description 1
- 101100136840 Dictyostelium discoideum plip gene Proteins 0.000 description 1
- 240000008620 Fagopyrum esculentum Species 0.000 description 1
- 235000009419 Fagopyrum esculentum Nutrition 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 244000025221 Humulus lupulus Species 0.000 description 1
- 241000272168 Laridae Species 0.000 description 1
- 206010035148 Plague Diseases 0.000 description 1
- 208000003251 Pruritus Diseases 0.000 description 1
- 101150103491 Ptpmt1 gene Proteins 0.000 description 1
- 206010061926 Purulence Diseases 0.000 description 1
- JXASPPWQHFOWPL-UHFFFAOYSA-N Tamarixin Natural products C1=C(O)C(OC)=CC=C1C1=C(OC2C(C(O)C(O)C(CO)O2)O)C(=O)C2=C(O)C=C(O)C=C2O1 JXASPPWQHFOWPL-UHFFFAOYSA-N 0.000 description 1
- 241000656145 Thyrsites atun Species 0.000 description 1
- 241000607479 Yersinia pestis Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000036461 convulsion Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 230000007803 itching Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000010181 polygamy Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 102220024927 rs199472833 Human genes 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000010008 shearing Methods 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
- 230000007306 turnover Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Multi Processors (AREA)
Description
A 37 179 b
b - 135
11. Aug. 1969
TEXAS INSTRUMEIiTS INCORPORATED I35OO North Central Expressway
Dallas, Texas U.S.A.
Zeitzuteiler für I-lultiprogrammier-: und
Multiprozessier-Coinputer
Die Erfindung betrifft ein multiprogrammierbares und· rriultiprozessierendes,
digitales Datenverarbeitungssystem mit einer Zentralverarbeitungseinhe.it und einer dieser unterstellten
Peripherieverarbeitungseinheit.
Bis jetzt wurden die Operationsgeschwindigkeiten in datenverarbeitenden
Computersystenien seit dem Erscheinen der im US-Patent 3,12O36o6 offenbarten Eniac-Maschine laufend erhöht.
Dies führte insbesondere als Folge unterschiedlicher Fortschritte in der Technologie der Computerbauteile dazu,
daß nicht mehr die Computerschaltbauteile der die- Computergeschwindigkeit
begrenzende Faktor sind, sondern die Ver-
— ? —
ifflP^*
009810/1522 ~~*
BAD ORIGINAL
A 37
b - 135 - 2 -
11. Aug. 196Q
I t *
bindungskanäle zwischen den Bauteilen eines Zentralrechners
und weiteren Baugruppen des Computers, insbesondere dann, wenn man zu den ICanälen die Speicher hinzurechnet. So
konnte man die Schaltzeit zur Verarbeitung einer logischen Operation oder gewisser arithmetischer Operationen auf eine
Spanne von weniger als 100 lianosekunden herabsetzen. Auf diese Weise verbraucht eine in einem Pechner durchgeführte
arithmetische oder logische Operation wesentlich v/eniger Zeit als der Datenspeicher enthaltende Kanal vom und zum
Rechner, indem ein Abruf von Daten aus dem Speicher zum Rechner sowie ein Vorgang des Einschreibens von durch den
Rechner erstellten Daten in den Speicher mehr Zeit als die Verarbeitungszeit im Rechner selbst benötigt.
Dieses Zeitverhältnis wird besonders ungünstig bei einer Erhöhung der Speicherkapazität durch relativ la.ngsa.me periphere
Einheiten. Im US-Patent 3,3^6,851 wird nun vorgeschlagen, einen Computer mit einer Vielzahl peripherer Verarbeitungseinheiten
zu versehen, welche parallel arbeiten können, wodurch eine bessere Ausnutzung der Peripheriegerät
sowie des Zentralrechners erfolgen kann. Als Nachteil erweist sich jedoch ein hoher Aufwand an fest verdrahteten Bauteilen,
auch wenn sie in Festkörpertechnik ausgeführt sind.
Im US-Patent 3,3^6,851 wird vorgeschlagen, zwischen einzelnen
peripheren Datenverarbeitungseinheiten Zeitzuteilungen mittels eines rotierenden Multiplexers in vorzugsweise elektronischer
Ausführung zu treffen: dieses auch als "time sharing" bekanntgewordene Verfahren vermittelt jedoch feste Zeitzu-/
Ordnungen zwischen einzelnen Peripherxegeräten und einer
BAD ORIGINAL 0098 10/1522
A 37 H79 b
zentralen Datenverarbeitungseinheit eines Computers, wodurch es unmöglich wird, bestimmte Peripheriegeräte vorrangig,
ändere dagegen weniger bevorzugt abzufertigen.
Aufgabe der Erfindung ist nun, ein Tiine-sharing-Systeir. dahin- 7
gehend zu verbessern, daß die oben erwähnten Nachteile vermieden v/erden, indem es möglich wird, durch Programme oder
anderswie bestimmte Prioritäten und Vorrangigkeiten in Form besonderer ZeitZuteilungen zu berücksichtigen.
Diese Aufgabe wird für das Gerät der eingangs erwähnten Art gemäß der vorliegenden Erfindung dadurch gelöst, daß die
Peripherieverarbeitungseinheit in an sich bekannter Weise mehrere Virtualverarbeiter sowie einen Rechner enthält, und
daß eine Steuervorrichtung zur wahlweisen Steuerung der Anschlußzeiten eier einzelnen Virtualverarbeiter an den Rechner
vorgesehen ist.
Durch die Erfindung wird der Vorteil erzielt, daß infolge der flexibel gestalteten Zeitzuteilmöglichkeiten an einzelne )
Virtualverarbeiter innerhalb der reicheren Dater.verarbeitungseinheit,
Vielehe während der zugeteilter. Zeit an einen in der peripheren Dateneinheit befindlichen Rechner anpe- '
schlossen vier den, die Virtualverarbeiter nicht nur zur Lösung ■■
von Steuerungsaufgaben Eewegungsablaufe peripherer Geräte >;
betreffend herangezogen v/erden können, sondern auch zur HuItiprozessierung
sowie zur Dienstleistung· der peripheren Datenverarbeitungseinheit
an die zentrale Datenverarbeitungseinheitt ί
00981.0/1522
BAD ORIGINAL V
b - 135 -Ji
ll. Aug. i960 1942005
Die periphere Datenverarb.eitungseinheit. dient der zentralen
Datenverarbeitungseinheit wenigstens teilweise auch infolge des in ihr befindlichen Rechners, welcher mit je einem der
Virtualverarbeiter während eines Tal-ctpulses oder einer Vielzahl
dieser aufgrund vorgewählter oder durch Programmablaufe
erstellter Codes verbunden ist.
Die Codes sind in Segnenten eines adressierbaren Kommunika-'
tionsregister.s zur Bestimmung der Zuteilungszeiten für die
einzelnen Virtualverarbeiter enthalten. Kittels eines durch Taktpulse fortgestalteten Schrittschaltwerks v/erden die einzelnen
Segmente seriell abgefragt; die jeweils dabei erscheinenden Codeinhalte der einzelnen Segmente bestimmen
dann während der betreffenden Taktzeit, welcher Virtualverarbeiter mit dem in der peripheren Datenverarbeitungseinheit befindlichen Rechner gekoppelt werden soll. -Die Erzeugung
dieser Steuersignale zur Ankopplung je eines Virtualverarbeiters an den Rechner wird zweckmäßigerweise über Und-,
Oder-, Decodierschaltkreise bewerkstelligt.
Zweckmäßigerv/eise enthält das digitale Datenverarbeitungssysteir.
mindestens einen Kanäle für Instruktionen und Dat.en aufweisenden Rechner, der eine Vielzahl arithmetischer, vorzugweise
einschrittig arbeitender Untereinheiten hat, die jeweils gepuffert und für die Lösung spezieller arithmetischer
Aufgaben vorgesehen sind, wodurch eine gleichzeitige Verarbeitung einer Vielzahl von Operanden in einer Vielzahl .
verschiedener Verarbeitungsschritte durch eine Vielzahl von Instruktionen innerhalb desselben Rechners möglich wird. Die
Ein- und Ausgänge des Rechners führen zu Datenkanälen für
BAD ORIGINAL 0 0 9810/1522
A 37 *»79 b : ■ '·
b - 135 - 5 - -
11, Aug. 1969 1942005
Operanden bzw. Resultate. Der Rechner ist zweckmäßigerweise für eine gleichzeitige Verarbeitung zweier Einzellängenoperandenpaare
oder eines Doppellängenoperandenpaars in zwei Teile aufgeteilt (Multiprozessierung).
Durch den Rechner wird es möglich, in einer Art Fließbandverfahren
vorzugsweise einschrittig, d.h. mit jedem Taktpuls ankommende neue Operanden und Instruktionen fließend zu verarbeiten
und wieder abzuspeichern. Er vermag insbesondere große Datenblöcke mit vorsortierten Daten zu verarbeiten, wobei
die erzielte Verarbeitungsgeschwindigkeit gleich der Rechengeschwindigkeit werden kann. Er kann Teil eines
Computers sein, der neben den vorerwähnten Eigenschaften auch konventionelle Verarbeitungsformen aufweist. Der
Computer stellt vorzugsweise einen Computer für wissenschaftliche Daten dar, die höchste Verarbeitungsgeschwindigkeiten
zweckmäßig erscheinen lassen, was durch die erzielte Optimierung zwischen dem Zeitverhalten von Speicher und
Rechner sowie der sie verbindenden Kanäle realisiert werden kann.
E-in mit diesem Rechner versehener Computer vermag insbesondere
komplexe Vektoroperationen in höchst wirkungsvoller "Weise zu bearbeiten. Ein solcher Computer enthält zweckmäßigerweise
einen zentralen Datenverarbeiter, in welchem ein solcher Rechner enthalten ist, an dessen Ein- und Ausgängen
Pufferkanäle befindlich sind, die zwischen dem Rechner und Zentralspeicher liegen. Die Pufferkanäle werden durch eine
Registerdatei gesteuert, welche beispielsweise Vektorparameter in Maschinensprache speichern kann, welche durch entsprechende
Instruktionen eines Programms aufgerufen werden.
00 98 10/1522 ·
BAD ORIGINAL
A 37 479 b . ' "··■' "-
b - 135 - 6 -
ii. Aug. 196s 1942005
Zu den Pufferkanälen gehören Parameter- und Arbeitsregister
zur Steuerung der Pie chner ab laufe . Im einzelnen kann mittels
einer Ladevorrichtung aufgrund einer Programninstruktion der
in liaschinensprache verfaßte, Vektorparaneter enthaltende.
Inhalt der Registerdatei in die Parameter- und Arbeitsregister umgeladen werden, wodurch große Datenblöcke vorsortierter
Daten, beispielsweise komplexer Vektoroperationen, direkt und
fließend auf T'aschinenebene verarbeitet v/erden können.
Die erfindungsgemäße Time-sharing-Schaltung kann jedoch auch
in Verbindung mit anderen Computer-Systemen dazu dienen, daß solche mit ihr versehenen Computer höchste Verarbeitungskapazitäten
aufweisen. . .
BAD ORIGINAL
0098 10/1522
A 37 442 b
3.7.1969
"Weitere Einzelheiten und Merkmale der Erfindung können
den beigefügten Ansprüchen und/oder der folgenden Beschreibung
entnommen werden, die der 3rläuterung eines in der
Zeichnung dargestellten Ausführungsbeispiels der Erfindung dient. Es zeigen:
Pig. 1 Bine vorzugsweise Anordnung von Computereinheiten
und -peripheriegeräten, welche die vorgeschlagene Erfindung enthalten.
Pig. 2 Ein Blockschaltbild zu i?ig. 1.
Pig. 3 Ein Blockschaltbild zur Darstellung einer Gefügeschal £ung zwischen einem Zentralverarbeiter und einen
Peripherieverarbeiter der ?ig. 1 und 2. Ä
Pig. 4 Ein starker detailliertes Blockschaltbild nur Darstellung
der Gefügeschaltung der Fig. 3.
Pig. 5 Bin Jiagranr? zur Darstellung einer Betriebsweise
des Zentralverarbeitei's gemä3 lnig. 1-4.
Pig. 6 Sine Fuffereinheit zur geeigneten Einströmung beispielsweise
von Yektordaten in einen Rechner.
Pig. 7 Bin Blockschaltbild des Zentralverarbeiter3 gemät3
Pig. 1-4.
Fig. 8 Sinen Bwei-Kanal-Hechner in Zentralverarbeiter.
• ^
Mg, 9 Bauteile innerhalb des Zentralverarbeiters zur Durch- ;.'
'führung der Ge füge schaltung gen"43 Pig. 3 und 4.
009810/1522
BAD ORIGINAL
· · t 1
■ Il
A 37 442 b k-b 3.7.1969
194200% 8
Fig. 10 Ein Zeitteilverfahren zwischen Virtualverarbeitern innerhalb des Peripherieverarbeiters geraäß Fig. 1
und 2.
Fig. 11 Sin Blockschaltbild des Peripherieverarbeiters.
Fig. 12 Den Zugang zu Zellen in einen Konnmnikationsregister
der Fig. 11.
Fig. 13 Einen Zuordner der Fig. 11.
Zura genauen Verständnis der hier vorliegenden Erfindung wird es erforderlich, das Cornputersysteni zur vorzugsweisen
Verarbeitung naturwissenschaftlicher Daten, an dem die hier vorliegende Erfindung Anteil hat, zuerst allgemein und dann
in seinen einzelnen Baugruppen und Bauteilen so weit zu beschreiben, dai3 die Tragweite der Erfindung insbesondere
im Zusaramenspiel mit anderen Einheiten innerhalb des gesamten
Conputersystens richtig erkannt werden kann.
Zu Fig. 1: . . .
Das Computersysterj weist einen Zentralverarbeiter CPU 10
(Central Processing Unit) sowie einen Peripherieverarbeiter PPU 11 (Peripheral Processing Unit) auf. Ein Zentralspeicher
CSM 12 - 15 (Central Ilenory) besteht aus vier Dünnschichtspeicher-Untereinheiten 12-15 nit 160 "ano - Sekunden
Zykluszeit bei 1CO 2Tano-3ekuiiden durchschnittlicher Zugriffseit
und hat beispielsweise ein löschendes Speicherverhalter-
beim Auslesen. Der CE:i 10 - 15 ist an die CiP-J. 10 und
an die PPU 11 angeschlossen und kann von konventioneller
Bauart sein.
BAD ORIGINAL
0098 10/1522 '-■
19Λ2005
.A 37 442 b k-b 3.7.1969
Jede der Untereinheiten 12-15 hat eine. 16K Wortkapazität
von 16334 Worten. 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 Zentralspeicher- ;
Untereinheit liegen. j
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 jdem CEM 12-15 einerseits und der CPU 10 bzw. der PPU 11 *
andererseits dar. Das MCU -18 hat Puffereigenschaften sowie Vorrichtungen zur Ein- und Ausblendung (Gating), Kartierung
(Mapping) und zum Speicherschutz der Daten im CEM ; 12 - 15. . · I
CPU 10, PPU 11, MCU 18 und CEM 12 bis 15 laufen synchron :
miteinander. Ein CPU-Takt erscheint alle 50 Hano-Sekunden, ein PPU-Takt alle 65 Fano-Sekunden. Weitere Speichereinheiten
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 TS
23 - 26 Halbzollbänder verarbeiten, wobei alle Bandspeicher 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 Ausgabe von Information auf gestanzte Lochkarten; ein Zeilendrucker
L? 27 (line printer) ist als Druckerausgabegerät vorgesehen.
Al3 weiteres Ein/Ausgabe-Gerät dient eine Bildschirmkonsole
00*23 (oszilloscope console). Zwei Bedienungspulte sind
009810/1522
BAD ORIGINAL
A 37 442- b .
k-b 3.7.1969
mit zwei beispielsweise Zweistrahlverhalten aufweisenden Bildschirmen und der P?TJ 11 rekoppslt. Letztere bildet nicht
nur die Steuerungseinheit für den OC '23, .sondern gleichermaßen
auch für die CR 19, CP 20, LP 27 und To 21 bis 26. Ein Bediener vermag über die OC 23 Befehle in das Computersystera
einzugeben, die Prüfswecken dienen hinsichtlich j hardware oder software; gleichermaßen können über die OC
' Programmunterbrechungen an bestimmten Stellen durchgeführt ; werden, die es erlauben, den Fortgang einer Operation zu
fe. i überprüfen und aufgrund der erzielten Portschritte in ihf
rem weiteren Ablauf zu beeinflussen. Letzteres kann bedeuten, daß man die Operation auf dem eingeschlagenen Weg
! weiterlaufen oder auf andere Vfege mit eventuell anderen '
:· Daten verzweigen läßt.
Wie bei Computersystemen üblich, verfügt der Computer der ' Pig. 1 über mehrere Speicherhierarchien, beispielsweise
über die folgenden vier: die CPTI 10 mit dem schnellsten
Speicher, die CSIi 12-15 mit dem etwas weniger schnellen,
;■ die DS 16, 17 mit dem noch langsameren und die TS 21 - 26 , mit den Speicher, der im Vergleich zu den vorerwähnten die
; größte mittlere Zugriffszeit hat, falls von ihm keine entp
sprechend vorsortierten Daten abgerufen werden.
Das Computersystem der Fig. 1 verfügt über mehrere Untersysteme,
die neu sind und eine bemerkenswerte Steigerung der Verarbeitungskapazität speziell für die Pälle aufweisen,
bei denen eine große Anzahl vorsortierter, in bestimmten Gruppen geordneter Daten zur Verarbeitung anfallen.'
Eine erstes solches Untersystem besteht in einer automa- ~
tischen Gefügeschaltung zwischen dar CPU 10 und der PPU 11
009810/1522 bad original
A 37 442 b k-b
3.7.1969
des Coraputersystems, in './eichen mehrere Programme gleichzeitig
ablaufen und verarbeitet v.'erden können.
Ein weiteres solches Untersystem ist in der CPU 10 enthalten, welches es ermöglicht, Daten zur Eingabe in einen Rechner
so zu speichern, zu gruppieren und den Rechner in solcher
Reihenfolge anzubieten, da 3 damit die Verarbeitungsgeschwindigkeit des Computers wesentlich erhöht v/erden
kann.
kann.
Ein nächstes solches Untersysten 'betrifft einen Parallelrechner hoher Verarbeituiigsgeschwiiidigkeit und Flexibilität,
in welchen die Operanden in einer Art von Fließbandverfahren vorarbeitet werden.
Sin weiteres solches Untersystem schließlich betrifft ein
verbessertes time sharing-Verfahren einer Vielzahl von
Virtualverarbeitern innerhalb der TPU 11.
Virtualverarbeitern innerhalb der TPU 11.
Zu Pig. 2:
Die Systeriorganisation des Computers der Pig. 1 ist durch
eine Besprechung der im Blockschaltbild der ?ig. 2 aufgezeigten Datenkanäle des Computers leicht zu umreißen. Sin
Kanal 29 verbindet die HOU 18 mit einer puffernden Platten-
und !?rc.!".n:el'-'Vraerung DO" 30 (drum/disc control miit), von
der ein Kpηal sur DS 16 und ein anderer zur DS 17 weiterführer..
DIo ?T' JC f. Pt ein e ir. fs clv? r, fest verdrahteter
Sinsweck crr.r«ter rur alleinigen Bev/erkstelliguiig (Synchronisierung) --β? Da. ten transport s ?*·'2. sehen den r.it der I'OTJ ene'1. Z-ir.tralspeicher C2M 12-15 uni :len Platten-
Sinsweck crr.r«ter rur alleinigen Bev/erkstelliguiig (Synchronisierung) --β? Da. ten transport s ?*·'2. sehen den r.it der I'OTJ ene'1. Z-ir.tralspeicher C2M 12-15 uni :len Platten-
009810/ 1 522
BAD ORIGINAL
A 37 442 Td
3.7.1969
speichern DS 16, 17 über den Kanal 29 nach Erhalt eines
diesbezüglichen Peripheriebefehls.
Die soeben erwähnten Kanäle sind bidirektrional, wobei in
dem zwischen DS 16 oder 17 und DC 30 liegenden Kanal nur
Je Wort pro Taktzeit befördert wird. Im Kanal 29 werden dagegen gleichzeitig 8 Worte, also eine V/ortgruppe, zwischen
der HGU 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 bidirektionalen
Kanal möglich.
Ein weiterer 256 Bits simultan übertragender Kanal ist der zwischen der HCU 18 und der PPU 11 liegende bidirektionale
Kanal 32, der je eine Hortgruppe zwischen dem Zentralspeicher
CSIi 12-15 und den Peripherieverarbeiter PPU 11
über die KCU 18 befördert.
Wie weiter oben bereits angedeutet, dient die PPU 11 als Vielzweckconputer, der. u.a. die Steuerung des Datenflusses
zu allen anderen Peripheriegeräten außer den DS 16, 17, 31
obliegt und an welchen deren Datenkanäle angeschlossen sind.
Beim nichtzerstörungsfreien Auslesen aus dem Zentralspeicher OSM müssen die ausgelesenen Daten regenerativ wieder
eingespeichert werden, während nur eines der acht '/orte
einer Wortgruppe in der PPU 11 verarbeitet wird. Dies erweist
sich sohon deshalb al3 notwendig, da von der PPU 11
infolge der mehr oder weniger langsam arbeitenden Peripheriegeräte nur Jeweils ein Wort aus der Achwortgruppe (maximal)
benötigt wird. Sin gängiger Unschla^sv/ert für den
009810/1B22 BADOR.G.NAL
19Λ2005
A 37 442 b 1$
k-b 3.7.1969
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 acht Virtualverarbeiter, deren Mehrzahl so programmiert werden kann, daß jeder beliebige
Virtualverarbeiter- mit j-edem beliebigen Peripheriegerät
gekoppelt werden kann. Die PPU 11 arbeitet mit Hilfe der Virtualverarbeiter gemäß dem im CEI7I gespeicherten Programm
wobei diese außerdem das in äer 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 j
PPU 11 gesagten kann die CPU 10 alle acht Worte einer Wort- I
gruppe aus dem CEM 12-15 verwerten, wobei sie überdies t
die Fähigkeit besitzt, eine beliebige Kombination dieser \-
acht Worte zu lesen oder zu schreiben. Im Kanal 33 werden :
vorzugsweise alle 50 !Tano-Sekunden drei Worte transportiert, indem zwei Worte in die CPU 10 eingehen und ein Wort zur
MCU 18 gelangt.
In späteren Abschnitten wird beschrieben, wie die CPU 10 Vektoroperationenen direkt und ohne Übersetzung über irgendeinen
Compiler durchführen kann, wodurch lange Befehlsketten vermieden werden, da die CPU 10 solche aufgrund
eines einzigen Makrobefehls intern durchführt. Die CPU 10 hat diese Fähigkeit insbesondere deshalb, v/eil 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 Schlauchrechner
ausgebildeten Rechner.
009810/1522
! f BAD ORIGINAL
A 37 442 b k-b ■ 3.7.1969
Ein Kanal 34 an Ausgang der KCU.18 ist zur Erweiterung"
der Computerkapazität vorgesehen, falls weitere CPU's oder dergleichen zusätzlich angeschlossen v/erden nüssen.
Jeder der Kanäle 29 und 32 bis 34 hat über die KCU 18
direkten Zugriff in jede Untereinheit 12 bis 15 des Zentralspeichers
CEI-I. Zur Erhöhung der Vorarbeitungsgcnchwindigkeiten
v/erden im Computer und insbesondere im Zentralspeicher
zeitlich vorzugsweise einander überlappende Arbeitszyklen verwendet. In der MGU 18 ist eine Vorrangsteuerung
»mit vorzugsweise festen Zuordnungen vorgesehen, un Anfra-ί gen an den Zentralspeicher in einer gewünschten Reihenfolge
beantworten zu'können. So werden Anfragen von den an die j Kanäle 29, 32, 33, 34 unmittelbar angrenzenden Einheiten
vorzugsweise in dieser Reihenfolge sowie vorrangiger behandelt als solche von Einheiten, die jeden nachgeschaltet
sind, wobei Möglichkeiten vorgesehen wurden, die Priorität sordnung beliebig abzuändern.
Zu Fig. 3 : '
In einem Blockschaltbild wird eine automatische Gsfügeschal
tung (content sv/itching) gezeigt, welche eine Yerbin-P
dung zwischen der PPU 11 und eier CPU 10 darstellt und es
ermöglicht, daS der Zeithaushalt der CPU 10 vorsorglich so eingeteilt werden kann, daS zeitraubende Dialoge zwischen
ihr und der PPU 11 vermieden werden. Die Vfirkungsweise der
Schaltung basiert darauf, daß in der CPU IO echt oder vorzugsweise
quasi-gleichzeitig mehrere Benutzerprograrr.me ablaufen
können (multiprogramming) und da.; andererseits die PPU 11 periphere Anfragen von Seiten dieser Programme zu
erledigen hat, wodurch nun der PPU 11 die Aufgabe zukommt,
den Ablauf der in der CPU 10 wirksam werdenden Benutzer -
programme planerisch festzulegen. , »
BAD ORIGINAL
009810/1522
A 37 442 b
3.7.1969
1S
19A2005
Durch zweierlei 3efohle können die in der CPU 10 ausgeführten Benutzerpronrarme von der PPU 11 periphere Jienstleistungon
anfordern. Sin erstes solches Kommando lautet SCP (systen call and rrooeVl), ein zweites SGV/ (system call and
wait). Der Befehl SCP kommt dann im Benutzerprograram vor,,
wenn es möglich ist, daß in der Verarbeitung dieses Programms
ohne ein Abwarten auf den Vollzug der angeforderten peripheren Dienstleistung von Seiten der PPU 11 weitergegeschnitten
werden kann; die PPU 11 wird also auf Grund der entsprechend gestellten Anforderung Daten, Adressen oder ein
ganzes Programm sicherstellen bzw. zusammenstellen, welche im weiteren Ablauf des innerhalb, der CPU weiterver-arbei- '
teten gleichen Benutzerprogranms erforderlich werden. Die PPU 11 überstellt dann das angeforderte Informationsmate.rial
bei passender Gelegenheit. Der Befehl SOP wird in ?ig. 3
über eine Leitung 41 von der CPU 10 an die PPU 11 geführt.
Der Befehl SOV/ wird dagegen dann von einen Benutzerprogramn
ausgegeben, wenn es letzterem nicht möglich ist weiterzuschreiten, ohne die von der PPU 11 angeforlorte periphere
Dienstleistung erhalten zu haben. Dor Befehl SCi wird über eine- Leitung 42 aus dor CPU 10 an .Iiο in Fig. 3
zwischen der CPU 10 und der PPU 11 gelegene eigentliche Gefügeschaltung geführt. SrfindunFsger.?G analysiert die PPU
laufend diejenigen Programme innerhalb der CPU 10, die augenblicklich
festliegen und nicht weiterverarbeitet werden, un festzustellen, welches Programm davon als nächstes von
der CPU 10 weiterverarbeitet werden sollte. Hat sie ein solches Programm gefunden und selektiert, setzt die PPU 11
unmittelbar eins oclialtfahne 44 (automatic switching flag),
die hier durch sin Plip-]?lop dargestellt wird. Wird nun in
der CPU 10 bei Ablauf eines in ihr verarbeiteten Benutzer-Programms
0098 10/15 22
BAD ORIGINAL
A 37
3.7.1969
ein SCVZ-Befehl gefunden, entsteht über ein Und-Gatter *»3 ein
Signal "Umschalten" auf einer Leitung..H5» vorausgesetzt, daß
auch die Schaltfahne 4*1 gesetzt ist. Das Signal "Umschalten'1
aber verursacht in der CPU 10 die Durchführung der erforderlichen Umschaltung von dem auf den SCW-Befehl aufgelaufenen
Benutzerprogramm
009810/1B22
.·.. . ί9 4 2 OO 5
A 37 442 Ta- if
3.7.1969
k-b · I
"zu jenem Programm, das von der PPU 11 aus der Zahl
der in Reserve befindlichen Programme als nächstkommendes selektiert worden war.
Mehr im einzelnen betrachtet spielt sich also folgendes ab: ist die Schaltfahne 44 gesetzt, "kann bei Aufkommen eines
Befehls SCV/ von Seiten der OPU 10 über das Und-Gatter 43 der Befehl " Umschalten " auf der leitung 45 zur CPU 10 gelangen
und damit der CPU anzeigen, daß sie die Möglichkeit hat, statt des auf den Befehl SCV/ aufgelaufenen und nun
vorerst in Wartestellung befindlichen Programms ein ande- ■
res, bisher in Reserve befindliches Programm oder Programmteil weiterzubearbeiten. Sie wird letzteres automatisch ]
und ohne Verzögerung aufnehmen und betreiben, indem ihr ] durch Rückfrage bei der PPU 11 von dieser das betreffende t.
Programm oder Programmteil angezeigt wurde. Hat nun aber *~
beispielsweise die PPU 11 - etwa bei Fehlen solcher in Wartestellung befindlicher betriebsbereiter Programme - keine
solche Anzeige zu machen, wird sie auch nicht die Schaltfahne gesetzt haben, wodurch von vornherein ein Aufkommen
des Signals "Umschalten" unmöglich gemacht wurde. In diesem Pail beendet bei Aufkommen des Signals SCV/ die CPU 10
zwar ebenso die Weiterverarbeitung des auf SCT/ aufgelaufenen
Benutzerprogramms, behält dieses jedoch so lange, bis von Seiten der PPU 11 die Schaltfahne 44 gesetzt wird. Bei
Erscheinen des Signals "Umschalten" wird dann das die Schalt- , fahne 44 realisierende Flip-Flop rückgesetzt.
Durch die so ausgeführte automatische Gefügeschaltung wird
ein sonst üblicher zeitraubender Dialog zwischen dem Zentral- und dem Peripherieverarbeiter (CPU und PPU) dadurch
vermieden, daß die PPU 11 vorsorglich sämtliche in Reserve
befindlichen Programme innerhalb der CPU 10 auf Einsatzbereitschaft, d.h. die Möglichkeit sofort v/eiterverarbeitet
009810/1522
BAD ORIGINAL
A 37 442 b b-b '
zu werden, prüf υ und registriert. 3in weiterer Yorteil
entsteht dadurch,.Ja3 dor Zentraiverarbeiter keine Schaltkreise
sur Durchführung des sonst üblichen Dialogs mehr benötigt.
Zu Fig. 4:
Fig. 4 stellt ein Blockschaltbild dar, in welchen ein wesentlicher
erster Teil der Gefügeschaltung der Fig. 3 noch
stärker detailliert ist, so daß das Zusanmenspiel zwischen GPU 10, PPU 11 und MGU 18 deutlicher wird. In Fig. 4 wird
der betreffende wesentliche Teil der automatischen Gefügeschaltung
als zur PPU 11 gehörig gezeichnet, inden er als Ausgangsteil (interface section) der PPIJ 11 in Richtung
CPU 10 und HCU 18 dargestellt wird. Die PPU 11 enthält also
in Fig. 4 links einer gestrichelten, senkrechten Linie die Gefügeschaltung als ein Ausgangsteil der PPU und rechts
der gestrichelten Linie die die PPU eigentlich charakterisierenden Schaltkreise, von denen jedoch nur Anschlüsse
zu erkennen sind.
Die Eignalleitungen 41 uni 42 für die Signale SCP urrl 307
führen von der CPTJ 10 zur PPU 11, inden die Mngänge eines
Oder-Gatters 50 Signal SCP sowie Signal SC/ aufnehmen, die
Eingänge eines anderen Oder-Gatters 51 jedoch Signal SCv/
und ein Fehlersignal auf einer Leitung 53, die ebenfalls aus der GPU 10 konmt. Die Signale SCP, SCV/ und Fehler entstehen
aufgrund bestimmter Prograrnr.befehle im Benutzerprograram,
v/ob ei im Falle der zwei letzteren Befehle ein, Umschalten vom bisherigen 3enutzerprograrin zu einem nächsten
Programm gewünscht v/erden kann.
Sin grundsätzlich kurze Seit nach Erscheinen der Signale
0 0 9810/1522 BAD ORIGINAL
A 37 442 b k-b 3.7.1969
13
SCP oder SCV/ oder Fehler aufkommender Tastpuls auf einer
Leitung 54 verläßt die CPU 10 in Richtung PPU 11, um dort
ein Plip-Flop 1- 73 (C/S loading strobe time) zu setzen. Es
sei bemerkt, caß der Tastpuls und das von ihm getastete
Flip-Flop L 73 entfallen könnten, wie auch die im folgenden
besprochene Schaltung der Fig. 4 anders aufgebaut werden könnte, ohne von den in Fig. 3 gezeigten Prinzip abzuweichen.
Ein Signal auf einer der Leitungen 41,42 dient als Anfrage seitens der CPU 10 an die PPU 11 um Erlaubnis, daS die CPU
10 einen bestimmten Teil aus dem von ihr augenblicklich
ausgeführten Programm über den Kanal 33 und die MCU 18 in eine bestimmte, vorzugsweise reservierte Stelle des Zen-.
tralspeichors CIiM 12 bis 15 einspeichern darf» Dabei erstreckt
sich die Zeitspanne, innerhalb derer diese Stelle jenen bestimmten Teil des in- diesem Augenblick von der
CPU 10 verarbeiteten Programms enthalten soll, über die Zeit, welche die PPTT 11 benötigt, diesen Programmteil abzufragen
und aufgrund des vorgefundenen Informationsinhalts eine denentwrrechendc Instruktionsfolge ablaufen zu lassen.
In den hier vorliegenden Au.^fUhrungsbeispiel der Srfiniun?
wird iär eine solche oteuoroporaticri einer G-rüg«Schaltung
eine ''ortstelle in CSII 12 bis 15 reserviert. Sin auf einer
Leitung 55 aus der CPU 10 zur PPU 11 geschicktes Signal CCC (CPU call complete) meldet der PFU 11, da3 ein mit den
Signal SCP oder SCV/ begonnener Ablauf beendet ist.
Auf ein-?r Leitung 56 erreicht ein Befehl "Betriebserlaubnis"
oder 31 (run) c.u.3 rier PPU 11 die CPV 10,-/elcher, vie'nachher
erläutert wird, dazu verwendet v/er den kann, den Ablauf innerhalb der CPU 10 abzustoppen, sobald innerhalb der PPU
11 be3tinnte Betriebsbedingungen auftreten.
009810/1522
BAD ORIGINAL
-k-b· · 3.7.1969
Auf einer Leitung '57 wird ein Signal PSG (CPU switch complete)
als Quittiersignal.von der CPU 10 zur PPU 11 aufgrund eines vorausgegangenen SCV/- oder Fehlersignals gesandt. Die PPU 11 löst eine Operationsreihe aus, vermittels
der die an einem Punkt aufgelaufene CPU, an dem sie vorerst nicht weiterschreiten kann, veranlaßt wird, einen bestimmten
Informationscode ins CEM zu transferieren, welcher den Gesamtzustand des Programmteils der CPU 10 charakterisiert,
bei welchem .sie die Verarbeitung des Programms unterbrechen muß. Nach solcher Abspeicherung wird nun die CPU 10 in ei-;
nen gänzlich neuen Zustand versetzt, aus dem sie heraus ein neues Programm ausführen kann. Dieses Programm beginnt
bei dem Zustand, der dem Informationscode entspricht, mit dem die CPU nun versehen wurde. Erscheint also ein solches
Signal PSC auf der Leitung 57, kann die PPU 11 wiederum
auf den Leitungen 41, 42 oder 53 nachfolgend erscheinende Signale SCP, SCYi oder "Fehler" beantworten, '/ie noch gezeigt
wird, registriert die PPU 11 das auf der Leitung 57 erscheinende
Signal und bringt dementsprechend das nächste Programm sowie die von der CPU 10 zu verarbeitende Information
in Bewegung, sobald ein SCVi- oder Fehlersignal als nächstes auf den Leitungen 42 bzw. 53 erscheint.
Die Leitung 45 der Fig. 3 und 4 zeigt durch ihr Signal
"Umschalten" oder PS (Proceed with switching) der CPU an, daß letztere die Umschaltung von dem einen zu einem andern
Benutzerprogramm vornehmen kann. '
Ein auf der Leitung 58 von der PPU 11 zur CPU 10 gesandtes
Signal "Anrufen" oder PC (proceed with call) sagt letzterer,
daß die bestimmte Stelle im CSM verfügbar ist.
Bin Signal KSC auf einer Leitung 59 zeigt, die MGU 18 be-
009810/1522
A 37 442 b
3.7.1969
treffend, an, daß ein Schaltbefehl durchgeführt wurde; das Signal.geht von der MCU 18 zur PPU 11 und auf ein Und-Gatter
64, dessen zweiter Eingang die das Signal PSC führende Leitung 57 bildet. Bei erfüllter Und-Bedingung an
diesem Und-Gatter wird die PPU 11 in die Lage versetzt,
einen nächsten Zustandswechsel für die CPU vorzubereiten. Eine von der PPU 11 zur MCU 18 weisende Leitung 60 führt
dasselbe Signal " Umschalten" wie die obengenannte Leitung r
45; das Signal zeigt der MCU 18 an, daß sie den Schaltbefehl
ausführen kann.
V/ie bei der Besprechung der Fig. 2 bereits erwähnt, transportieren
die Kanäle 32 und 33 insbesondere acht Worte = >'' 256 Bits gleichzeitig zwischen der PPU und MCU bzw.' der CPU ''
und MQU, d.h. jeweils einen ganzen Wortblock. I'
Wie ebenfalls erwähnt, hat die PPU 11 ein zur Gefügeschal- Y-"
tung gehöriges Ausgangsteil. Zu letzterem gehören nach Fig. j1',
4 zehn Flip-Flops, das ist ein Flip-Flop C 71 (call request j *·
von der CPU), ein Flip-Flop S 72 (switch request von der ' ■
CPU), das Flip-Flop L 73 (O/S loading strobe tirae), ein
Flip-Flop CC 74'(call completed) ein Flip-Flop R 75 (run ■;
order für CPU), das Flip-Flop AS 44 (automatic switching ' ^ flag), ein Flip-Flop AC 77 (automatic calling flag), ein V>
Flip-Flop SC 78 (switch completed), ein Flip-Flop PS 79 '[■.
(proceed a switch operation) und schließlich ein Flip-Flop PC 80 (proceed a call operation). Weiterhin gehören
zun Ausgangsteil die Oder-Gatter 50, 51, die Und-Gatter
43, 64,-weitere Und-Gatter 61, 62, 63, 65, 66, '67 sowie ein weiteres Oder-Gatter 68.
Die Flip-Flops können einfache gleichstromgekoppelte RS-Flip-Flops
sein, deren Setzeingang durch S, Rücksetzein-
009810/1522
A 37 442 b , β
k-b . JZ
3.7.1969 '
gang durch R, Ja-Ausgang durch 1 und !Tein-Ausgang durch O
gekennzeichnet sei. Die Ja-Ausgänge tragen die Bezeichnung des Flip-Flops, beispielsweise C auf einer Leitung 81 als
Ja-Ausgang des "D1Up-FIo ρ a C 71 .
Der Ausgang des Oder-Gatters 50 führt an einen Eingang des
Und-Gatters 61 . Der Ausgang des Und-Gatters 61 bildet den
Setzeingang für das Flip-Flop C 71. Der I1Tein-Ausgang des
letzteren ist mit einem zweiten Eingang des Und-Gatters 61 sowie mit je einem Eingang der Und-Gatter 62 und 63 ver-r·
bUnden. Der Ausgang des Oder-Gatters 51 ist mit dem zweiten
Eingang des Und-Gatters 62 verbunden, dessen Ausgang den Setzeingang des Flip-?lops S 72 bildet. Der Nein-Ausgang
des letzteren ist mit je einem Eingang der Und-Gatter 61 bis 63 verbunden. Der Tastpuls der Leitung 54 bildet
den Setzeingang für aas Flip-Flop L 73, dessen Ja-Ausgang an je einen der Eingänge der Und-Gatter 61 bis 63
führt.
Die Wirkungsweise der aus den Flip-Flops 71 bis 73, den Und-Gattern 61 bis 63 und den Oder-Gattern 50 bis 51 bestehenden
Baugruppe ist die, daß auf einer Ausgangsleitung 81 'dann ein ügnal erstellt wird, wenn ein "Anruf" auszuführen
ist, da!3 andererseits auf einer Ausgangsleitung des Ja-Ausgangs des Flip-Flops S 72 dann ein Signal S erscheinen
soll, wenn eine Sehaltfunktion durchzuführen ist.
Die Flip-Flops G 71 und S 72 können erst dann gesetzt werden,
wenn auf der Leitung 54 der Tastpuls erscheint, wodurch bei Zwischenschaltung des Flip-Flops L 73 dessen Ja-Ausgang
in Form eines Zeitblendesignals L an je einen Eingang der Und-Gatter 61, 62 wirksam wird. Das den "Anruf" .
kennzeichnende Flip-Flop C 71 kann nur dann gesetzt werden, wenn es selbst und das Flit>-Flor>
S 72 bisher auf Aus wa-
BAD ORIGINAL 0 0 9810/1522
A 37 442 b 9 9
k-b ■ *J
3.7.1969
ren. In gleicher V/eise wird das Signal S auf der Leitung 82 als der 33in-Zuatand des Flip-Plops S 72 nur dann zustande
korine?!, falls es selbst sowie das Plip-Plop G 71
vorher auf AUS v/aren.·
Eine Rücksetzleitung 83 führt zu den Rücksetzeingängen der Flip-Plops G 71 und S 72, wobei diese Leitung Signale
entsprechend dem in der PPU 11 laufenden Programm führt,
wodurch nach Beendigung einer Anruf- oder Sehaltfunktion
ein solches Rücksetzsignal für diese Plip-Plops erscheint.
Es ist zu beachten, daß die Leitungen 81 und 82 an Anschlüssen 84 a und 84b führen, die zu einer Gruppe von Anschlüssen
34 gehören, welche sämtlich programinzugänglich
Oder-abhängig sind. So führt der Ja-Ausgang des Plip-Plops CC 74 auf einen entsprechenden Anschluß 84d, der Ja-Ausgang
des Plip-Plops R 75 auf einen Anschluß 84e, der Ja-Ausgang des Plip-Plops AS 44 auf einen Anschluß 84f, der
Ja-Ausgang des Plip-Plops AC 77 auf einen·Anschluß 84g sowie
der Ja-Ausgang des Plip-Plops SC 78 auf einen Anschluß 64h; sämtliche Anschlüsse 84a bis 84h sind also progranmsugänglich,
was weiter unten näher erläutert wird, soweit dies für ein Verständnis einer die Gefügeschaltung betreffenden
Operation erforderlich ist.
Signal CCC auf Leitung 55 bildet den Setzeingang des Flip-Flops
CC 74, welches nach Beendigung eines Anrufs auf SIN geht und durch Signal CC am Anschluß 84a dies der PPU meldet,
wonach letztere über eine Leitung 85. das Flip-Flop CC 74 rticksetzt.
Eine den Programm zugängliche Leitung 86 führt zum Setz-
0 0 9810/1522
BAD ORIGINAL
A 37 442 Td JU
k-b ·
3.7.1969
eingang dos Flip-Flops R 75. Dessen Ja-Ausgang erzeugt
in Falle des Ein-Zustandes des Flip-Flops ein R-Signal,
auf der Leitung 56 sov/io am Anschluß 84e, v/elcher vom Programm
abgefragt werden kann. 30s sollte beachtet v/erden, da3 das Plip-Plop R 75 dann automatisch rückgesetzt wird,
wenn das Oder-Gatter 68 ein Ausgangssignal aufweist. Somit ist also die PPI1 11 in der Lage, den Zustand des Flip-Plops
Il 75 zu bestimmen.
Das Plip-Plop AS 44 hat einen Setz- und einen Rücksetzeingang,
die über Leitungen 87 "bzw. 88 dem Programm zugänglich
gemacht sind. Der ITein-Au3gang des Plip-Plops ist mit
einem Eingang des Und-Gatters 66 verbunden, während der Ja-Ausgang
des Plip-?lo?s einerseits zum Anschluß 84f führt,
welcher prograrnnabfragbar ist, und andererseits über eine
Leitung 89 rr.it ejnem Eingang des Und-Gatters 43 verbunden
ist. Der Ausgang des Und-Gattsra 66 führt zu einem Eingang
des Oder-Gatters 68, dessen zweiter Eingang mit dem Ausgang des Und-GatterS 67 verbunden ist. 3in Eingang, des Und-Gatters
57 wird aus den Hein-Ausgang des Plip-Plops AC 77
gespeist, v'ihreno ein zweiter Eingang des Und-Gatters über
die Leitung "1 Verbindung nit inn Ja-Ausgang den Flip-Flops
G 71 hat. Sine rrograr.nabhängige Eingabeleitung 91
führt zum Setzeingang des Plip-Plops AC 77, während eine ' entsprechende Leitung 92 an den Rücksetzeingang des Plip-Plops
angeschlossen ist. Die '.'irkungsv/eise der Plip-Plops
AS 44 und AO 77 sowie der ihnen direkt zugeordneten Schalter ist die, daß nit ihrer Hilfe den in der PPU 11 befindlichen
Programm ermöglicht wird, entsprechend den zuvor gesetzten ?lip-?lops C 71 und 3 72 die den v/eiteren Ablauf
bestimmenden 'ieichen zu stellen.
Das 71ip-?lop 3"J 78 ist zur Abfrage für die PPU 11 vorge-
BAD ORIGINAL.
009810/1522
A 37 442 b
3.7.1969
3.7.1969
sehen, wodurch ihr ermöglicht werden soll, zu bestimmen,
wann eine Schaltoperation beendet ist. .Das Flip-Flop PS erstellt an seinem Ja-Ausgang, d.h. auf den Leitungen 45
und 60 das Signal "Umschalten" oder PS, wodurch der CPU 10 und der HuU 18 angezeigt wird, daß beide die Ausführung
des Schaltbefehl3 in Angriff nehmen sollen. Der Ja-Ausgang des Flip-Flops PG 80 erstellt auf der leitung 58 ein Signal
"Anrufen" (PC), welches der CPU anzeigt, die Ausführung des Anruf-Befehls in Angriff zu nehmen, wobei allerdings
das Flip-Flop nur dann auf SIN geht, wenn zuvor die Flip· Flops. C 71 und AC 77 gesetzt wurden.
Durch die bisherigen Erläuterungen wurde die Art dargestellt, in welcher eine Umschaltung von einem zu einem anderen
Programm innerhalb der CPU 10 automatisch durchgeführt wurde unter Berücksichtigung der innerhalb der CPU
bestehenden Bedingungen und in Abhängigkeit von der durch die PPU durchgeführten Steuerung. Der Ablauf soll als Operation
einer Gefügeschaltung bezeichnet werden, deren Boole'sehe Gleichungen al3 Kurzform der obigen Diskussion
in der Tabelle I wiedergefunden werden.
Die Besonderheiten der im Ausgangsteil zwischen der CPU 10 ,
und der eigentlichen PPU 11 realisierten Schaltung zur ent-
sprechenden Verarbeitung von SCV/-, SCP- und Fehlersignalen t j
sind: ' }
a) Eine CPU-Anfrage kann sein:
1. Eine durch Fehler verursachte Anfrage an die Gefügeschaltung
2. ein SCP-Anruf oder
3. ein SCi-Schaltbefehl.
b) Sine CPU-Anfrage wird in einer Taktzeit verarbeitet.
0098 1 0/1522
BAD ORIGINAL
A 37 442 b Z 6
k-b 3.7.1969 '
c) Die Progranmimochaltung und/oder Erledigung eines Anrufs
erfolgt, automatisch, ohne die eigentlichen Schaltkreise
der PPU zu beanspruchen, indem von der eigentlichen PPU getrennte "3 ehalt fahnen "-Elenente für Anruf
und Umschaltung "onnut3t v/erden.
d) Eine bestimmte Speicherstelle des GEII wird bei Durchführung
einer SCP- und SCJ-Konnunikation verwendet.
e) Bei einem SG'f-Befehl werden go trennte Erfüllung 3 signale
für Anruf und Schalten verwendet, wodurch es möglich wird, die Anrufoperation vor der Schaltoperation und
unabhängig von dieser zu Ende zu führen.
^ f) Eine Steuerung für die Betriebserlaubnis und das Stoppen
der CPU wurde vorgesehen'.
g) Unterbrechung für die PPU, sobald automatisch gesteuerte
CPU-Anfragen erledigt sind. Diese Unterbrechung kann
entschleiert werden (mas-ked off).
Es werden insgesamt zehn Flip-Flops für das Ausgangsteil
verwendet und in Tabelle I gemäß der in Pig. 4 gezeigten Schaltung aufgeführt. 7.rie später anhand der Fig. 11 erläutert
wird, stellen diese zehn Flip-Flops als sogenannte "CS-Bits" solche 3its dar, die in einer? oder nehr-?ror. "./orten
,eines Kominunikationsregiaters 431 (Tig. 11) enthalten
sind.
Um schließlich die bei der (Je füge schaltung vorkommenden
Operationen aarzustellen, werden in den Tabellen II und III
zv/ei repräsentative Ablaufbeispiele aufgezeichnet, indem in
beiden Fällen die Möglichkeiten "nur Anrufen" (Befehl SO?),
"nur Schalten" ("Fehler"meldung), wie auch "Anruf un:l
Schalten" (Befehl SC;/) betrachtet werden.'
-» BAD ORIGINAL
009810/1522
Λ 37 442 b
3.7.19c9
Zu ?i g. 5 :
Dns Conputcv:-vnto:.i dor hi er vorliegenden Erfindung eignet
sich nacht lv.ir für skalare Operationen, sondom insboaondsre
auch "ur Vcrarbeitung laufend veränderlicher, vektorieller
Daten (strearr.in;; vecto?· 'lata), velche dem Rechner insbesondere
wiederhol *:. zugeführt v;er.:en; da?* Cornrutercyston v/eist
also eine besondere iiigr.ung für Yektorpperationen auf.
Eine typische Vektoropei*ation ist die Addition zweier Vektoren
X+B"C (nit A1 3 und C als n-dinensionalen, linearen
Gebilden) in For::: einer Al.Ή tion ihrer IConpononten a.+b.=c.
Die Vektoren Λ und Ti wurden durch lCanalroohner üo hindurchgeführt
j .vi? lie ontc-Tirochendon y.or.y.onenten addiert v/erden;
auf diese V/cise er;~i"bt sich der Vektor C.
iline v/eitero h;-:ufij- benu';^;.o Or)»:r^4jion innerhalb des Oonputcrsyyts'ns
ist die Bildung eine.- skal^rer. Produkts (A*-'1?
=C oder eines Vekt.orproduktG XzIB^-Cf*. Day Hosvltat
wird v/it?dem:.. ;?o fje\ronne:i, la? lie Vektorer, ir. ihre I'.or.-ponenten
zerlegt und gerr-lQ.
η __
η __
arithmetisch errechnet v/erden, wobei der Cosinus oder Sinus
des Winkels zwischen A und B berücksichtigt wird.
Dies kann auf ein-? Multiplikation von Deterr.ir.ar.ten oder
Matrizen erweitert vverden. Heißt die eine Deter.-r.inar.te A,
die andere ?, so folgt für die resultierende leterninante
0 in Falle eines Λ-reiäir.ensionalen Haur.s :·
0098 10/1522
BAD ORIGINAL
A 37 442 b
3.7.1969
3.7.1969
a11 ai2 a13 b11 b12 b13 C11 C12 C13
a2i a22 a25 , b21 b22 b23 = C21 C22 G23
a31 a32 a33 b31 b32 b33 C31 C32 C33
mit beispielsweise .C^ = a^ b^ ^ + a^ „ b„1 + ai 3
und allgemein P
wobei ρ der Grad der Determinante ist. ·
Die Erzeugung des Elementes Cj1 kann man als eine Multiplikation
der ersten Reihe der Determinante A mit der err. sten Spalte der Determinante 3 durchf:üiren. Ein Element c,p
kann als Multiplikation der ersten Reihe der Determinante A mit der zweiten Spa—Ite der Determinante B entsprechend
erzeugt werden; ein Element Cj, aus der Multiplikation der
ersten Reihe der Determinante A mit der dritten Spalte der
Determinante 3.
Vektoriell ausgedrückt kann man so sagen: der Reihenvektor 1 a~r Determinante A diezit als Operandenvektor für drei Vektoroperationen
mit dem Spaltenvektor 1 oder 2 oder 3 der Determinants 3 zur Erzeugung des Reihenvektors 1 der re- ,-sultierenden"Determinante
C. In solcher V/eise wird nun noch zweimal verfahren. Ein erstes !'al, indem jetzt statt
des Reihenvektors 1 der Reihenvektor 2 der Determinante A und ein zweites Mal, indem jetzt der Reihenvektor 3 der De-
der
terminante A zur Erzeugung der Reihenvektore-n 2 bzw„ 3 Resultierenden
Determinante G ν er,·/ end et wird.
Eine solche skalare Vektormultiplikation in Form einer
Iiatrixmultirrlikc.iion kann der.*ne.ch so durchgeführt werden,
da3 zv:ei verschiedene Schleifen mehrmals durchlaufen werden.
0 0 9 8 10/1522
BAD ORIQiMAL
A 37 442 b k-b 3.7.1969
Diese Schleifen, seien a.ls innere bzw. äu3ere Schleife
bezeichnet. Für day Beispiel der llatrixmultiplike.tion sei
die innere Sclileife zur Indizieruiig von Element zu Element
innerhalb einer Reihe der Matrix G Vorgesehen, die äußere Schleife dagegen sum Portschreiten von Reihe zu Reihe innerhalb
der Matrix C.
Die in Fig. 5 hinsichtlich ihrer Ablaufschleifen skizzierten
Operationen worden in einer gemäß Fig. 6 aufgebauten
CPU in problemorientierter, optimierter Weise realisiert.
Zu Fig. 6: . ■ ■
Bei dem hier beschriebenen Computersystem v/eist die CPU 10
eine hohe Datenverarbeitungskapazität auf, wobei 'ihre Verarbeitungsgesehwindigkeit
wesentlich über der 3eschwindigkeit liegt, mit der Daten aus einem Speicher ausgelesen und
in diesen wieder eingespeichert werden können. Um nun die hohe Verarbeitungsgeschwindigkeit innerhalb der CPU 10 zur
Bearbeitung großer, vorsortierter Datenblöcke, wie bei Vektoroperationen, 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 HBU 100 (memory
buffer unit) bezeichnet und ist-in Fig. 6 als das zwischen der HCU 18 und dem Rechner 101 befindliche Teil erkennbar.
Es wird als zur CPU 10 gehörig betrachtet und hat über den Kanal 35 Verbindung nit der MCU 18; andererseits führen
zwei Datenkanäle 100a und 1GOb von der I-I3U 100 zum Rechner
101, der hier als Vektorrechner bezeichnet werden kann, sowie ein Datenkanal 100c vom Rechner 101 zur LBU 100. Aus
den. Kanülen 100a und 100b werden Operandan zum Rechner
0 09810/1522
BAD ORIGINAL.!
A 37 442 ο k-b ·
3.7.1S69
geschafft, während der Kanal 10Oc das in letzteren erstellte
Resultat zur KBU 100 zu transportieren gestattet» von
v/o es beispielsweise über die KGU 13 zun MZ: 12 bis 15
gelangen kann.
Zu Pig. 7:
Das anhand der Pig. 6 über den in der GPU 10 enthaltenen
Puffer I'IBü 100 Gesagte kann anhand der die GPU stärker detaillierenden
Pig. 7 in seinem Zusammenspiel betrachtet v/erden, ur. die Hochgeschwindigkeitskomraunikation zun und
™ von Rechner 101 au erläutern. V/ie anfangs erwähnt, befinden
sich in Zentralspeicher CEI-I V/ortgruppen von 256 Bits a*
Bit~V/orten, wobei jeweils eine V/ortgruppe gleichseitig ausgelesen
oder eingeschrieben v/erden kann. Die ' "v'ortgruppen
werden aus dem CEH über die MOU 18 und den Kanal 33 zu einer
Toreinheit KBG i£a (nernorj bus gating) gebracht. Der
I>iBG 18a ist die ITBU 100 nachgeschaltet. V/ie anhand der Pig.
6 gezeigt, liegen zwischen letzterer und den Rechner 101
drei Kanäle 100a, 1COb un?. 100c. Der Kanal 100a. ist der
Ausgangsteil eines Operand A Registerkanals 102, 103, welcher zv/ei in Serie geschaltete Puffer A1 \χ?Λ A enthalt.
In gleicher ".fei se ist der Kanal 10ob Ausgangakanal eines
fc Operand 3 Registerkanala 105, 106 aus zwei seriengeschalteten
Puffern 3' und 3. Kanal 100c dagegen bildet den Eingangskanal
für einen Resultat C Registerkanal 103, 107
aus sv/ei seriengeschalteten Puffern D und Q1 . Die Re~ister-
A und B puffern die Operanden
kanale^Tür lie Operanden/auf den *./eg zv/isor.-in CJM ur.'l Rechner.
Der Resultatregisterkanal dagegen puffert die von Rechner 101 ausrege'c-enen lürgebnisse, bevor sie beisOiols—
weise in "./ortgruppen gesammelt sun CE?·! 12 bis 15 zurückgeschafft
v/erden.
Der Puffer 102 ist so gebaut, da 3 er insbe sen lere nit if- '■ ~1T
00 9810/1522 bad ORIGINAL
A 37 442 l>
3.7.1969
achten Taktr.eit auf einnal eine aus acht V,rorten bestehende
Wortgruppe.empfangen und abspeichern kann. Synchron mit dem
Puffer -TO 2 wird j-\>de Gruppe zun Puffer 105 wo it ergeschafft.
32 Bit-'./orte werden vom Puffer 103 sun Rechner1G1 so transferiert,
da.? ein '.»'ort pro Takt puls bewegt wir!. LSs sollte
beachtet werden, daß je nach Art der Operation, die der Rechner 101 auszuführen hat, su jeder Takt seit ein vor.
Rechner erstelltes Resultat aus den Puffern 108 und 107 zum Cl-äll gebracht werden kann. Das Conputersyster. vermag.
ebenso hochwirksarm Operationen auszuführen wie auch solche
mit geringer Befehlsgeschwindigkeit. 3in Beispiel höchster
Befehlswirksar-.keit bei einer Operation der I3U 100 und des
Rechners 101 bietet die Addition von Vektoren, bei der die zv/ei Operanden aus den Puffern 103 und 106 su jeder Taktseit
sun Rechner 101 geführt v/er lon, und τ·;ο vor. Rechner 101
zu jeder Taktneit eine ounr.e erstellt wird, welche unmittelbar
vorn Puffer 1C5 aufgenorcic-n v,-ir:l.
In der CPU 10 befindet sich vielter eine allfer.^ne Datei
120 bis 1??, '·.'♦;!chv? Resistor nur Aufnahme von A.Ire = :-:-~n brr·'.
adressierbare Register enthalt';es sind ?.ie:· ":?&3i~>rerioter
ι *-vJ, ι C. ι , *j*r"i^erti :??·~: 3.^ *j ~ί* ι; uj *---,, ν. η -._.. -*..r*': „ »■» ^or ι <?.·■-
Jedes Register 120 bis 17.5 hat m::: Meehr.er 101 Zv.~-^;: über
einen ger.einnar.er. Konnunikäticns'-ranal 104 und eine 3inheit
DP3 126 (operand fetch/store unit), v;elche insbesondere als
Diirchgangikfi^rr: für Operanden in beiderlei Richtung vorgesehen
ist. ::i;v "Vin^it 00Γ 127 (O?" coni."xt s'ritchi:ir control
unit) dient ur.ter an ΰ er er. der Steuerung des Rechner ε
Einheit I3U 127a (iiistruction buffer ur.it) gelieferten Y.crir.c-.:idos
bildet. Die Einheit I31T 127a dient der Pufferung von
Befehlen, die sus einer Instrr.kticr.p-Datei I?U 126 (instrue-
009810/1 522
OR|Q|NAL
A 37 422 b $Z
3.7*1969 ·
tion ;fetch unit) stann-en. Die IS1IT 128 beliefert, nicht nur
die I3U 127a .nit Befehlen, sondern-außerdem, eine Index-^
adressiereinheit IAU 126a mit Adressen, wobei der Ausgang,
der IATJ 126a zur OPS 126 führt. Bistruktionsdateien 129 -..--.
und 130 bilden puffernde Kanäle für einen Instructionsfluß
vom CEI! 12 bis 15 zur Instruktionsdatei IPU 128.
Eine .Steuereinheit 3321131 (statur storage and .retrieval
gating j hat zu allen in Pig. 7 gezeigten Einheiten, außer ,
den Dateien 129 und I30 ,,Verbindung, wozu auch eine .Leitung
zwischen ihr und der MBG /gehört. Zur Aufgabe der SSR T31. .
gehört, aufgrund eines Befehls SCY,r oder "Fehler" (Pig. 4)\
den gesamten augenblicklichen Zustand der CPU 10 vorzugsweise zum CrJM 12 bis 15 zu schaffen und dafür einen neuen
Zustand in die CPU einzuführen, so daß der Ablauf eines neuen Programms begonnen werden kann. ·
Die ITBU 100 enthält eine 1-IBU-Datei aus einer Pararneter-Datei
132 und einer Arbeits-Datei 133, welche vorzugsweise
Register enthalten. Die Parameter-Datei 132 hat über einen
Kanal 134 und den Komnunikationskanal 104 Verbindung zur
Vektorpararneterclatei 125. Der Inhalt der Vektorparameter-Dqtei
125 v.'ird in die Parameter-Datei 132 übertragen, sobald
eine spezielle Vektorinstruktion z.3. aus dem CEM
zur Instruktions-Datei IPU 128 kam. V/ird also beispielsweise
von der IPU 128 eine solche Vektorinstruktion aufgenommen, erfolgt unmittelbar in naschinenspracheeine Übertragung der Parameter-Daten aus der Datei 125 zur Datei 132.
Die Ausführung der daraufhin erfolgenden Operationen erfolgt nach einer, irarialveriahren -vermittels der Einheiten IAU
126a, IBU 127a sowie 0F3 126 und CCU 127. Dies bedeutet
im einzelnen, daß während der Zeitspanne, in v/elcher der
Rechner 101 eine bestirnte.Operation durchführt, die 3in-
0/1ΒΪΖ.; .·.■■; ,.■ BAD
A 57 442 b JJ
lc-b -
3.7.1969 ■
heiten.OFS 126 und CGU 127 die nächste nachfolgende Operation
zur Durchführung im Rechner 101 vorbereiten. In derselben
Zeitspanne bereiten auch die 3inheiten IAU 126a und IBU 127a die nächstnachfolgende Operation vor. .Schließlich
nimmt während derselben Zeitspanne die Instruktionsdatei Ii1U 128 die daraufhin folgende Instruktion auf. Letztere
Instruktion wird somit im Rechner 101 drei Operationen
später als die augenblicklich wirksame Instruktion ausgeführt. Bei solcher Kanalstruktur vrerden also vier Instruktionen
gleichzeitig verarbeitet, indem'jede von ihnen in einer verschiedenen Verarbeitungsstufe gegenüber der anderen
liegt, wie dies in Pig« 4 durch die Zeiten T1, T2 und
T3 und T4 angedeutet wird. \ -
Es sei darauf hingewiesen, daß die Kombination aus der-Vektorparanet
er-Dat ei 125 und der Parameter—Datei 132 die Kapazität
des Computersystenis dahingehend erhöht, daß mit
hoher Geschwindigkeit komplexe Vektoroperationen in Maschinensprache aufgrund des Programms durchgeführt werden können.
Die in der Paraneter-Datei 132 und der Arbeits-DateL 133
vorkommenden Abkürzungen sind in Tabelle IV aufgeführt und erklärt.
Die Parameter .werden vorzugsweise aus dem CSiI in die Register
vor Ausführung einer Vektroinstruktion eingeladen. Die Vektoren werden im fließverfahren gemäß den in "der CPU
enthaltenen Parameterwerten durch den Rechner hindurch . geschleußt.
Im folgenden wird das durch die eingangs angegebenen G-lei-
00 98 1 0/152 2
BAD ORIQtNAL
A 37-442 b JH '
k-b · ■ ' .■"-■..:■.
3.7.1959' - . · ■■..■:■
chunge'n beschriebene Beispiel einer Deterniinantenmiltiplikation
durchgeführt, wobei als erstes durch tabelle V
eine Zuordnung swisehen Speicherstellen und den Elementen
der Deteminanteii Α., B, C "(auch "Vektoren" genannt) gegeben
ist.
Aus Tabelle .VI wird schließlich die Adressenfolge und die Art der Vektorrechnung für den Vektor A ersichtlich.
Die Vektoren 3 und G v/erden in ähnlicher V/eise bearbeitet.
Die Adressenfolge des Vektors 3 gleicht der Adressenfolge des Vektors A, außer daS 1 statt k Startadresse ist. Die
Adressenfolge des Vektors G ist m, m+1 ... m+8. Die Er- /
zeugung der Adressenfolge ist jev/eils von der speziellen
Vektorinstrviktion abhängig. Das obige Beispiel gilt für eine
skalare Multiplikation von Vektoren. Der entsprechende Vektorcode wird zwecks dieser Bestimmung in die 1-13U 100
eingegeben.
Zu Fig. 8
Durch die obige Beschreibung v/urde ersichtlich, da3 'las
der hier vorliegenden ^rflniung zugrundeliegende Oor^putersystem
gestattet, vorsortierte Daten-axt hoher 'xeacxr.-irindi-g-
-kei.t anzuliefern. Es v;ird sonit v/ünschenswert, da!3 der diese Daten verarbeitende Rechner 101 so ausgelegt ist, daS
die angelieferten Daten mit derselben Geschwindigkeit
verarbeitet '-'er'Ien, die durch die oben beschriebene IT^PJ 1CC (Pig.'6
und 7) realisiert werden kann-r
In ?ig. 8 wird ein Rechner gezeigt, der eine Ansah! Tjntereinheiten
aufv/.eist, die auf bestimmte Hechenoperationen
spezialisiert sind, an verschiedenen, ausgev/^>lten stellen
0098 10/1 522
A 37 442 b IC
k-b ^^
3.7.1969
eines kanalförriigeii Gebildes angordnet und in verschiedener
l/eise miteinander, verknüpft v/erden "können. Der hier
vorliegende Hechn^r 101 besteht aus zwei einander in wesentlichen
gleichen kanalförnigen Teilen, von denen jeae
Untereinheit über eigene Zwischenspeicher" verfügt. Der Rechner verwendet üultipliaiereinheiten, die gestatten, ein
Produkt in einen Takt pul η zu bilden. In Rechner 101 v/erden
grundsätzlich Verzögerungen vermieden, die bei iterativen Multiplikationsverfahren sonst üblich sind.
Der Rechner enthält zwei parallele Kanüle 300A und 300B
die symmetrisch zu einer llittellinie 300 angeordnet gezeichnet
sind. Die Operandeneingangskanäle wurden mit Bezugszeichen 300a bis 30Od versehen.
Der Rechnerkanal 300A enthält einen Exponenten-Subtrahierer
302, au den über einen. Kanal 303 ein Ausrichter 304
in Reihe geschaltet ist. Den Ausrichter 304 ist über einen Kanal 305 ein Addierer 306 nachgeschaltet; ein Ausgang
des Addierers 3CG führt über einen Kanal 3·7 zu einem
normalisier er 3CS, dessen Ausgang über einer. Kanal 309
zu einer Ausgangsstufe 31C verbunden ist.
Die Operandcneingangskanäle 300a und 30Co sind weiterhin'
über einen Vornor.-nalisierer 311 mit einer Itultipliziereinheit
312 verbunden, dessen Ausgang über einen Kanal
an einen weiteren Eingang des Addierers 306 führt. Ein
Akkumulator 314 hat einen ersten Singangskanal 315 aus
einen weiteren Ausgang des Ausrichters 3C4 scwie einen sv.'eiter.
7?iM~a":i": üb~r o:.r.%r. Kanal 316 aus einer. £vr?iten Ausgans·
des Addierers 3'Gi. 3in Kanal 317 verbindet überdies den
Akkunulaüor 31-1 r.51 einen spiegelbildlich angeordneten
Akkumulator 345 des Heclinsrrtanals 300?. 3in erster Ausrangs-
0098 10/1522
BAD ORIGINAL
A 37 442 b J6 ~ ■
k-b . . -.■■·.■
3.7.1969 · ■■■■"■".-...
"kanal 318 aus dem Akkumulator 31-4 führt an einen weiteren '
Eingang des Exponentensubtrahierers' 302, während ein zweiter Ausgang des Akkumulators 314 über einen Kanal 319 mit
einem zweiten Eingang der Ausgangsstufe 310 verbunden ist. -
Der Exponentensubtrahierer 302 hat an seinem Ausgang einen
weiteren Kanal 32Or der es gestattet, direkt an den ersten
Eingang der Ausgangsstufe 310 zu gelangen. In gleicher Weise sind, auch die Ausgänge des Ausrichters 3.04 sowie des
Addierers 306' an den Kanal 320 angeschlossen. Ein Kanal ,321
an einem weiteren Ausgang des Addierers 306 verbindet diesen mit einem vierten Eingang des Sxponentensubtraliierers
302. Der Addierer 306 verfügt über einen dritten Eingang, . der übe;r einen Kanal 322 mit dem Ausgang einer Hultipli- .
ziereinheit 341 verbunden ist, die im Rechnerkana'l 3003
spiegelbildlich zur Multipliziereinheit 312 des Rechner-,,.
-kanala 300A angeordnet ist.
Pur den Zweikanalrechner ist die Tatsache hervorzuheben, daß
dj e Or eranaenkanäle 3CCa und 300c über Kanäle 323 bzw. 324;;
direkt an jede Untereinheit des Hechnerkanals 300A hieran--.,,
geführt Kindy wobei lediglich der. Akkumulator 314 eine Ausnahme
na. cht. In einzelnen, führen die Kanäle 323 und 324
also über Kanäle 325 an die üultipllsiereinheit 3.12 , über ,
Kanäle 326 an den Ausrichter 304, über Kanäle 327 an den
Addierer 306, über Kanäle 328 an den !Torraalisierer 308, sowie
schließlich direkt an die Ausgangsstufe 310. Torschaltun-
gen. öffnen oder schlieSen die Sechnerk.anäle des Zweikanalrechners-aufgrund
irgendwelcher llaschinen oder Programmin struktior.en.
Der Reehnerkanal 300B ist entsprechend dem Hechnerkanal
300A aufgebaut. Es entsprechen ein Exponentensubtrahierer
0 0 9 8 10 / 152 2 , . / BAD ORIGINAL
A 37 .442 b k-b ■3.7.1969
330 dem Exponentensubtranierer 302, ein Ausrichter 332
dem Ausrichter 304, ein Addierer 334 dem Addierer 306, ein
normalisier er. 336 den ITorinalisierer 308, eine Ausgangsstufe
338-der Ausgangsstufe 310, ein Yornornalisierer
dem Vornormalisierer 311, die Multiplizier einheit 341
der .T-Iultipliziereinheit 312 und der Akkumulator 345 den
Akkumulator 314·.
Ebenso entsprechen sich die folgenden Kanäle: 300b dem Kanal 300c, 300d dem Kanal 300a, 331 dem Kanal 303,
333 dem Kanal 305* 335 dem Kanal 307, 337 dem Kanal- 309,
342 dem Kanal 324, 343 dem Kanal 323, 346 dem Kanal 318, 348 dem Kanal 313, 353 dem Kanal 313, 344 dem Kanal 316,
352 dem Kanal 321, 351 dem Kanal 320 und 347 dem Kanal 319. Überdies führt ein Kanal 350 vom Exponentensubtrahierer
330 zum Sxponentensub-fcrahierer 302 sowie ein -Kanal 355 vorder
Ausgangsstufe 338 zur Ausgangsstufe 310.
Wie bereits erwähnt, verfügt jede Untereinheit der zwei
Recimerkanäle 300A und 500B über eigene Zwischenspeicher,
wie dies am Beispiel der Ausgangsstufe 310 durch das Kennzeichen
310a angedeutet-ist. Addierer und Exponentensubtrahierer
haben eine Bit-Kapazität von 32 Bits, die Kultipliziereinheitsn
dagegen 64 Bits.
Der hier vorliegende Rechner 101 enthält also eine Viel- ..'
zahl von Speaialeinheiten zur Durchführung einer speziellen
arithmetischen Operation. Jede Untereinheit mit Ausnahme des Akkumulators hat eigene Operandeneingänge. Durch Proicrara^.-
oder IiaschineHinatruktionen kennen die Untereinheiten
in der verschiedensten ~.reise miteinander verknüpft werden,
so daß eine Vielzahl voneinander verschiedener arithmetischer Beziehungen realisiert werden können. Sind die
0 0 9810/1522
BAD ORIGINAL
A 37 442 b
3.7.1969
Verarbeitungswege festgelegt^ können die zu verarbeitenden
Daten so durch die beiden Heohnerl·:anale hindurch geschickt
v/erden, daß "beispielsweise während einer Taktaeic unterschiedliche Operanden je eino Untereinheit, also "einschrittige"
Untereinheiten durchlaufen, wodurch ermöglicht
wird, daß mehrere A-.'und B-Opsrandenworte aufeinanderfolgend
durch den Rechnerkanal hinclurch.stro.nien, inden sie
beispielsweise vier Verarbeitungsstufen innerhalb eines".-jeden
Rechnerkanals unterzogen v/erden. Ein solches Fließ-verfahren
mittels zweier einander parallel geschalteter Rechnerkanäle mit speziellen Rechenuntereinheiten, die in
jeder denkbaren Weise untereinander verknüpft v/erden können, gewährleistet eine durchschnittlich sehr schnelle Datenverarbeitung
innerhalb des Rechners bei entsprechend gleichschnell angelieferten und abfließenden Datenmengen.
Zur Erklärung der Wirkungsweise ist vorauszubenerken, daß
Gleitkonina-Addition eine der in Computer am meisten benötigten
Operationen ist, und daß diese in vier Schritten durchgeführt vferde.nT.u3: in einer Subtraktion der zwoi Exponenten des Λ- und 3-Operanden, in einer Ausrichtung der
Kantissen VorZUgsVreise nach rechts, in einer ..Addition der
Mantissen, sowi-e. in einer eventuellenotv/endigen ITachnormalisierung
des Resultats, beispielsweise in ?orn einer Linksverschiebung. Diese Schritte werden in Tabelle 7 dargestellt.
Bei der Addition" zweier Zahlenreihen oder .-'Vektoren ist zu
Beginn (Zeit tQ) jede Untereinheit des Zweikanalrechners
leer. Su einer nächsten Zeit t1 wird das --erste Zahlenpaar
a.. und b.j der Exporientensubtraktion unterzogen, die als
erstes durchgeführt werden r.u3. In einer nächsten Zeit tp
00 98 1 0/152 2
\ BAD ORiGiNAL
A 37 442 b 33
k-b
3.7.1969
3.7.1969
wird-, ein zweites Zahlenpaar a? und b dieser Sxponentensubtraktion.
unterzogen, während das erste Zahlenpaar a- und
b- eine zv/eite Stufe, in Form der Mantissenausrichtung
durchläuft. Dieses Fließverfahren wir-i in gleichem Sinne
fortgeführt, v/obei bereits zu einer Zeit t^, der Rechnerlcanal
dergestalt "angefüllt" ist, daß jede Untergruppe "bei
jeden Schritt ein Zahlenpaar verarbeitet.
Der Zweikanalrechner 101 ist grundsätzlich 64-Bit-orien-·
tiert. Alle Untereinheiten der Pig. 8 außer den Kultipliziereinheiten
312 und 341 empfangen 32 Bits und geben 32 g
Bits an ihren Auf3gängen ab; die I-*ultiplisiereinheiten geben
dagegen 64 Bits ab. Mit Ausnahme einer Multiplikation und Division benötigen alle Punktionen dieselbe Verarbeitungszeit
sowohl für Binzel- als auch Doppellängenöperänden.
Pestkommasahlen v/erden vorzugsweise im Sv/eierkomplenent
dargestellt, während Gleitkommazahlen als 3xzess-64-Zahl
nach Vorzeichen, !'"antisse und 3:cponent erscheinen.
Ein. hervorstechendes" Merkmal :les Ilechners i.-it sein eine
fließende Yc-rarbeitunr; ermöglichend ?r Au "ο:-υ. na-ch Art "eines
VerarbeitunnskanalJSj die insbesondere in Anv/en>iung auf
Vektorinstrii^t-ionen besonders güristxg.e 3ire2i!=chaften hat. , j
Die AnordmuiG zweier parallel liegender Ro-chnerkanHle gestattet,
daß zu jeder Taktpulszeit en jeder Ausgangstufe
und 338 ein Resultat erscheint. Jeder Rechnirkanal kann
Teile ar.äerer Instruktionen- verarbeiten. -Jeder Schlauch
enthält Untereinheiten, wodurch in ab es on .Io rc- die Additionsseit
Tür GH^i'V-cr.r.a-Aiditioii ''ef^xvzt v.'eri=:: liann. Die zv,-einajicler
issaesor.flere spiegelbildlichen Untereinheiten f.ar
svrei Rechner';?.r."le können jev/eil? miteinander kombiniert
v/erden; dißs filt allerdings nicht für die Hultiplizierein-
00 98 1 0/-1 5 22 --'-
BAD ORIGINAL
A 37 442 >'' Ίίΰ . ' - ;
3.7.1969 . ' ■ ',- /"
heiten. Die ExpOnentensubtraliierer 302, 330 können eine
solche .Verarbeitungsstufe· bilden, die in sich getrennt ν .
oder .miteinander gekoppel arbeitet, indem sie in letzterem..
Falle ein Doppellarigenwort- verarbeitet. ·. . - ... ;-.
Die Ausrichter 304, 332,können für Rechtsverschiebungen bei
Gleitkomma-Addition Verwendet werden. Die ITormalisierer 308, 336 dienen allen ITornalisierungsfordernissen und also auch
L■iJlkusv^g*(^(e:hi·ebungen. Die Addierer 306, 334 werden Vorzugs-,
weise -für Hochgeschwindigkeitsoperationen (second level
lookahead operation) zur Ausführung von Gleit- Oder F6Stkojnma-Addition
.verwendet. Sie finden überdies Verwendung zur Addition der sogenannten Pseudosumme mit dem sogenannten Pneudoüberlauf, welche, aus der Multipliziereinheit komne,n.
. . ; - .=
Bei der ,Verarbeitung von Vektoren ist Gleitkomna-Addition.
zur Anpassung an einen großen dynamischen Bereich wünschenswert. Obzwar der Rechner 101 sowohl Fest- als auch Gleitkornnia-Additio'n
durchführen kann, '.</ird seine, wirtschaft— ......
liehe Arbeitsweise hinsichtlich Zeitverbrauch und Bauteile- aufvranc!
besonders b4i der Gleitkonna-Addition nach Tabelle
7 erkennbar. ,.. ,
Die Multipliziereinheit 312 vermag eine Ilultiplikation von
32 Bits nit v/eiteren 32 Bits in einer Taktzeit durchzuführen und stellt also vorzugsweise ein einschrittiges Multiplizierv/erk
dar. Die Ilultipliziereinheiten 312 und341 entsprechen vorzugßvreise den in den folgenden Veröffentlichungen beschriebenen T;'p c?ines schnellen einschrittigen ITultiplizierv;erks
für Parallelrr-aschinen. Die Veröffentlichungen sind: Wallace "Suggestion for a Fast Multiplier" in
IEE3 SC 13, S. 14 bis 17, Februar 1964, sowie Speiser «Digitale Rechenanlagen" 1957, Seite-138 bis 190 (Abb. 183).
0098 10/1522
BA£> ORDINAL-
A 37 442 b UA
■3.7.1969
Solche Hultipliziereinheiten gestatten die Ausführung einer !-'iil tipi ikat ion während einer einzigen Taktzeit, wodurch
diese Untereinheit mit den übrigen Untereinheiten in Einklang steht, indem die 7erarbeitungsseiten grundsätzlich
gleich sind-.
Die Multipliziereinheiten bilden gleichzeitig die Verar-•beitungseinheiten
für eine Division. Doppellängeno-perationen für Multiplikation oder Division erfordern mehrere
Iterationen über die Multipliziereinheit, bevor das Resultat erhalten wird. Festkomma-MuItipiikationen und Einzellängengleitkomma-Hultiplikationen
werden nach nur einem Durchgang durch die Multipliziereinheit gewonnen. Der Ausgang
der Multipliziereinheit 312 bildet zwei Doppellängen-•worte, von je 64 Bits in Form einer Pseudosumme und eines
PseudoÜberlaufs; aus diesen V/orten ausgewählte Bits v/erden im Addierer 306 miteinander addiert, um ein Einwortlängenprodukt
zu erhalten. Soll mit einer Einzellängenmultiplikation
ein Doppellängenprodukt gewonnen werden, erzeugt die ITultipliziereinheit 341 eine. 64 Bit-Pseudosumme und
einen 64 Bit-Pseudoüberlauf, welche dann in den Addierern
306 und 334 addiert werden, wodurch das Doppellängenprodukt gewonnen wird. Eine DOppellängenmultiplikation kann
so durchgeführt werden, 'daß drei Schritte in der richtigen Reihenfolge durchgeführt werden: Multiplikation in der llultipliziereinheit
341 , Addition in den Addierern '306 und 334 sowie Saldierung in den Akkumulatoren 314 und 345. Die Akkumulatoren
514, 345 gleichen den Addierern und werden für spezielle.Zwecke verwandt, in denen eine laufende Saldierung
erforderlich wird. . .
Eine DOppellängenmultiplikation erfordert eine solche lau-
00 9810/1522
BAD ORIGINAL
A 37 442 b k^-b ■...
3.7.1969:
fende Saldierung, da vier getrennte 32 χ 32 Bit-Multiplikationen
durchzuführen sind, wonach deren Zwischenergebnisse (Partial sunncn) stelle.nrichtig in den Akkumulator en
aufaddiert v/erden. Eine Doppellängennmltiplikation erfordert deshalb 8 Taktzeiten, "big das richtige Ausgangssignal
erscheint, wMhrend eine Sinzellängenrnultiplikation nur vier
Taktzeiten benötigt. Eine DoppellHngennultiplikation bedeutet
zv/ei 64-3it-C-leitkomnazahlen (56 Sit-IIantisse), die
miteinander 'multipliziert werden,, un ein 64 Sit-Resultat
zu erhalten,wobei die niedrigstwertigen Bits nach der
Nachnornalisierung abgeschnitten sind. 3ine Fe stkoninanultiplikation
bedeutet eine Multiplikation von 32 χ 32 Bits
und ergibt ein 64 Bit-Resultat.
Eine Division ist die umfangreichste der vom Rechner 101
durchzuführenden Operationen, v/obei die Fähigkeit einer
schnellen Multiplikation von Vorteil ist. ITach einer Anzahl iterierender Multiplikationen ist der Quotient mit der
gewünschten Genauigkeit erstellt. Da dieses Divisionsverfahren
keinen Rast als. Resultat der zuvorgehenden Ilulti-'
plikation erstellen kann, wird es erforderlich, hardware—
mäßig veiterzurechnen, um den Rest zu., bestinmen, falls die-•
ser gewüP-scht wird. ',Jar die Lösung x/v= Q, kann der I^est
aus der Beziehung R = x-yQ gewonnen werden, d.h. duroh
I-Baltiplikation y.Q und anschlieSende Subtraktion von x.
Der Re3t wird bis auf- so viele Bits genau, als der Divident
χ solche enthält. Die erforderliche Zeit zur Bildung
des Rests wird direkt zu der Zeit addiert, die zur Bildung des .Quotienten erforderlich war. Die Divisionszeit für
Sinzellängen -Kcrst von 12 Taktzeiten bis zu 16 Taktseit^n
bei Erstellung eines Rests. Der Divisionsalgorhithnus erfordert, daG der Divisor normalisiert wir.!, bitweise bei
Festkorr^srih-ietik odor die höohststelli
ge lexa
. ' BAD ORIGINAL
0 0 98 10/1522
A 37 442 b Ut
fc-b ^
3.7.1969 ' - . . :
fer, bei.-Gleitkoisnaarithnetik mit Ausnahme von ΓΤυ.11.
Die.. Ausgangsstufe 310, 538. dient der Sannlung der Ausgangsdatpn
aus allen Untereinheiten sowie zur Ausführung einfacher Datenverschiebungen, Bool'scher Beziehung u.s.w., zu
deren Durchführung nur eine Taktzeit in Rechner 101 benötigt
wird.
Die Speichernögllohl'eit in ;jeder Untereinheit des Hechnerkanals
ermöglicht eine, wirksame Trennung der einzelnen, in
den verschiedene)! Untereinheiten getrennt verarbeiteten Daten* Der Rechnei', arbeitet, synchron, inden er eine gemeinsame
Taktseit für alle Schaltkreise anwendet. Deshalb
sind in jeder Untereinheit Speicherregister wie das Üegis-.ter
310a enthalten.
Zu Fig. 9: ■
Nach, einer Beschreibung der C-efüge?schaltung anhand dor 1-1Xg.3
und 4 sowie einer Beschreibung der CPU 10 anhand der Figo
bis 8 folgt s'A'eckrviijsigerweise in einer ""fKjchrV'ibung d~r
Fig. 9 dio Darstellung -"es Zu 3 ar:::; en:; pi el-* r-.:ir-ch"'2i OiV 10,
PPU 11 und !!Cr 13 von'Seiten der CtU 10 aus, den Teil Jor
Ge füge schaltung betreffend, welcher in üc-r OPU 10 angeordnet
ist. Die ?2g. 9 Und 4 betreffen also I-ei do die Gefügeschaltung,
wobei Fig. 4 den PFV-seitigen Teil und Fig. 9
den GPU-seitig?:i Teil der Gefügeserhaltung zeig·1,, welche
durch .die Kro.äl·: 41, 42 und 53 bis 3<~ :ii?teinander verbunden
sind.
In Fig. 9 ν·?!st AiG Instruktionsßatei 1Ρ7Ί2Γ ein Ausgang-nregister
12Sa auf, das in einer vorrugs'-'sisen .Ausführung
Speicherbits hat. Das Register ist in mehrere Abschnitte
0098-10/-1622
BAD ORIGINAL
A 37 442 b lt-b 3.7.1-969
unterteilt; ein erster Abschnitt 128b nit 8 Bits■enthält
den Operationscocie, ein nächster Abschnitt 128c ein Adressennerl;nal
von 4 "Bits und ein weiterer Abschnitt 128d aus 4
Bit« enthält normalerweise Daten zinn Betrieb des Rechners
101, nit denen'ein Register bestimmt wird, das nicht zur
Gefügesclmltung gehört, weshalb also über diesen Abschnitt
nichtr/veiteres gesagt zu werden ,braucht; schließlich ist
in einen Abschnitt 128e von 16 Bits ein Adressenfeld eingelagert.
Bein-normalen Operationsablauf vollführt die Index-Adressiereinheit
IAU 126a,.welche ein Ausgangsregister 126b hat, einen
Schritt in Zeitablav.f T1 bis T4» Bei einigen Operationen
w.ird durch -nie in Ausgangsregister 126b ein '-/ort erstellt,
da:> der Sunne aus dem Code in Adressenfeld 128e und den Code
in Indexregister 124 entspricht, wobei letzterer durch das
Adressennerkiaal im Abschnitt 128c aufgerufen wurde; eine solche
"Indexoperation11 entspricht also der bei Computern
üblichen Adressenmodifikation mittels Indizierung. Die
Adresse aus den Ausgangsregister 126b beaufschlagt desweiteren
zur Steuerung des Operandenflusses zum und von Rechner 1Q1 die Einheit OFo 125. ;.
Soba'd andererseits in Abschnitt 128b ein Operationscode .
SCV/ öler SCP erscheint, beginnt ein hin.Gichtlich. der anderen
.Opfiz-.ationscod.es verschiedener Operationsablaüf. Zuerst
■wird.der 3-3it-Codo aus dem Abschnitt 12FTo. in die■-Instruk—
tionspuf.-ereinheit IBU 127a übertragen, wonach sie in einea
Ausganjgsregister 12.7b der.,I3U 127-a erscheint. Anschließend
•.;irc dieser £-3it-Ccä? über einen Kanal 2CO zur ,'Steuereinheit
CGU 127 gebracht.
In der..QQu 1 27 ,vpr.arb.eitet ein .Sntschlugsler 201 diesen
ORiGiNAL V
A 37 442 b
3.7.1969
8~Bit~Cod; enthielt letzterer einen SC'i-Befehl, erscheint
auf einer Leitung, 202 und damit auf der Leitung 42 ein
SCT./ Signal; enthielt dagegen der S-Bit-Oode einen SCP-Befehl,
vrird eine Leitung 203 und damit die Leitung 41 entsprechend
mit einen SCP Signal beaufschlagt.
Fühlt nun die PPU 11 gemäß Fig 4 ein Signal auf der Leitung
41 oder'42 ab, wird sie nach einer bestimmten Zeit über
die Leitung 58 an die CCU 127 das Signal "Anrufen" (PC)
senden, welches es der CCU 127 ermöglicht, ihrerseits ein
Signal auf eine Leitung 204 zum Rechner 101 zu- schielten.
Letzteres Signal wird auch im folgenden veranlassen, daß I eine in einem Register I26d des OFS 126 befindliche Adresse
oder Codierung in eine vorbe.stinmte Speicherstelle übertragen wird. Diese Übertragung geschieht ttber einen Kanal
205f über einen Weg 206 innerhalb des Rechners 101, einen
Kanal 207, einen Zwischenspeicher 126e, sowie über den Kommmika ti onslcanal 104 zum Speicher.
Die abzuspeichernde Codierung aus dem Register 126e wird
in jene Speicheratelle des Speichers eingeschreiben, welche
durch den Inhalt eines Festadressenspeichers 203 bestimmt
ist. Der Inhalt dieses Festadressenspeichers kennzeichnet
eine Speicheradresse, die vorzugsweise nicht an- : derweitig benutzt vrird und eigens für solche Zwecke vorgesehen
ist. Dies kann also durch einfache Festverdrahtung*
innerhalb des Computers erreicht werden. Die Adresse auä dem
Festadressenspeicher 208 wird bei Beaufschlagung eines Gatters 209 vermittels des auf der Leitung 204 wirksamen
Signals ausgegeben.
Die CCU 127 ist im einzelnen so aufgebaut, daß die Signalleitungen
202 und 203 je an Eingänge eines 0der~ßat1ierä
geführt sind, dessen Ausgang über eine Verzögerungseinheit
009810/1622
BAD ORIGINAL.
A 37 442 Ό
3.7.1969
210 den Takt puls· auf der Leitung 54 erzeugt, 'welcher in
der PPU 11 nach Setzen des ?lip-Plops L .73 die Beladung
der Flip-Flop C 71 unl/cler S 72 ermöglicht; (Fig. "4).
Vorzugsweise führt die Fehlerloitung 53 an einen dritten, .
in E1Ig. 9 nichtgezeichneten Eingang des Odsr-jatters 211 sowie
nach Eingehen einer Undbedingung nit der PG Signal führenden
Leitung 53 an einen ersten ebensowenig geneichne-rten
Eingang eines Oder-Gatter.-; 213. TMs .Oder-Gatter 213,
dessen .Ausgangsleitung 204 ist, ist an s'./ei I-Mng'-ingen nit
den Ausgängen von Und-Gatt sr 212, 214 verbunden. "Das Und-Gatter
212 hat zv/ei" Eingänge, dessen einer über die Leitung
202-dus.. SCV/ Signal und dessen zweiter über die Leitung. 58
das Signal "Anrufen" (PC) erhält'. Das Und-Gatter 214 ist
entsprechend durch die Koinzidenz aus den Signalen SCP und
"Anrufen" (PO) aussteuerbar.
Um also ein Signal auf der Leitung 204 und damit eine Abspeicherung
d"er im Register 12od befindlichen Codierung in
die durch den Inhalt des Speichers 208 bestirnte Speicherstelle zu erzielen, muß auSer den Auftreten der Signale.-.
"Fehler" SCV/ oder SC? das Signal "Anrufen" (PO) von Seiten
der PPU vorhanden sein. .Tür bei entsprechenden Signalzustand
auf den Leitungen 5S, 57, 45, 58, 55, 53-wird also eine -solehe-Abspeicherung
erfolgen tonnen. Der gesar.te CPU-Be trie c
kann auf diese Weise unterbrochen werden; andererseits
kann der Betrieb während einleitender oder sonstv/ie vorbereitender
Operationen in Teilen des Conputersystens außer- .
halb der CPU 10 aufrecht erhalten werden. Diese Entscheidung hängt von dem in Ausgangsregister 12'Sa der I?U 128
befindlichen Instruktiönagehalt ab, ob nänlich in dessen
Abschnitt 123b der Operationscode SCU, SCP oder anders
heißt.
Die Leitung 53 der Fig. 4 und 9 führt dann das Signal'
Λ 37 ΑΑ2
k-b
3.7.1069
"Fehler",v/.enn innerhalb der CPU 10 ein Fehler, entdeckt
wurde. In Fiρ. 9 H-ird deshalb durch ein Oder-Gatter 220,
dessen Ausgangüloitung 53 ist, angedeutet, da3 Fehler innerhalb
der CCU-oTeuerung über eine Leitung 221 oder innerhalb
des Rechner.; ein .solches Signal erzeugen können. Eine Feh-rlerquelle
könnte eine -Überlaufanzeige in Rechner 101 sein,
eine ander·:· Pehl^vimseige könnte bei ο j nor Undefinierten
.Codierung innerhalb der COU 127 auftrete):. Durch- eine
dritte Eingang;·!*:) tung 222 an Eingang des Oder-Gatters
wird angedeutet, da.? noch weitere Prüf kreise zur Erzeugung
des Fehleri?i-T-JiIr. herangezogen worden können. Die .Einheit I
SSR 131 (Fig. 7) steuert 'lie so beschriebene Unsehaltung
der CPU, welch·: vjranlaSt, daP der bisher j ge lii!:alt. c! :-r
CPU iibgei'P'-'iC-i^rt und stattdessen, .n^uo Daten in diese eingegeben vrer-ien.
Zu Fig. 10: .
Aus den bi;-I-"ri4:?:i Angaben über die PPU 11 wirü. ersichtlich,
da3 dieser eine bedeutenue Rolle in der. Ausatouenin-jC. i
der CIU 10 zu;;et?ilt wurde. Die Γ?" 11 ist rer.'-'T: der Erfindung in C:oz' !,agc, in allgencinen ir: voraus die Anforderungen
der CPU 10 unr. an lerer l>r;vohoritcn ie-: 3--rteq3 zu ί ■
ermitteln,■ inden- ein speaielles Zeitsuteilverfahren (tine
shearing) nvviechen einer. Vielzahl von Virtiialverarbeitern
in der PPU 11 angewandt \/ird. Es werden nr.nlich von einer :
Grupre von Vjrv^slveraro.eiterr.. innerhalb der PPU 11 Pro-,
grange verarbeitet. V/o nun die Programme stark \ra.riieren,
ist es vorteilhaft, vor. einer fe^t auge crane ten Zeit^iateilimg
swischon den Virtxxalverarbeiterr. abzugehen.
In der in ?ig. 10 gezeigten Aiiordr.ung ist es nöglich, daS
BAD ORIGINAL
A 37 442 b ' 4-g-
Tc-Td ' " .■■■-·■
3.7.1969
einige Virtualverarbeiter weit mehr Zeit zuberaessen erhalten
als andere, Yfeiterhin. sind Vorkehrungen getroffen, die
Zeitzuordmmgen zv/isehen den Verarbeitern häufig und drastisch su ändern. ' . ■
Aus Fig. 10 wird, ersichtlich, daß Virtualverarbeiter PO
bis" P7 der PPU 1 T von einen PPU-Reeimer AHU 400 (Arithmetic
Unit) der PPU 1.1 versorgt" v/erden.
Das allgemeine Time Sharing Prinzip einer Zeitzuteilung,
in welchen ein Rechner und Virtualarbeiter zusammen arbeiten,
wird als bekannt vorausgesetzt. Die erfinderische Leistung liegt jedoch in einer höchst flexiblen Zuordnungsmöglichkeit der Elemente des Zeitteilverfahrens und in seiner
besonderen Steuerung. Die Virtualverarbeiter PO bis P7 können von der Art sein, wie sie beispielsweise in der US- '
Patentschrift 3 337 854 beschrieben werden, worin den Virtual verarbeitern feste Zeitspannen zyklisch zugeordnet sind.
Für die hier vorliegende Erfindung ist es dagegen kennzeichnend,
daß die zeitlichen Zuordnungen von der Natur der vorzugsweise durch Pragranne gestellten Aufgaben abhängen
und somit .fixe2end und steuerbar sind, ·
Von den acht Yirtualverarbei'tern PO bis P7 der PPU 11 (Fig.
10) kann.während einer Taktzeit nur je ein Virtualverarbeiter
über den Rechner ARn 400 verfügen, d.ii. nur jeweils
ein Virtualverarbeiter ist während jeder Taktzeit ait dem '
ARu 400 Verbunden.' JiG Auswahl" unter den Virtualverarbeitern
trifft ein Zuordner 401, der in Pig. 10 durch einen rotierenden Schalter dargestellt wird..Hit jedem Taktpuls
wird der Schalter um eine Schaltstellung weiterbewegt, ■ ";'
.wobei jeds Schaltsteilung eine Verarbeitungszeitspanne
von der Imnge. eines Täktimpulses darstellt; insgesamt
00981071522 ; / bad original
A 37 442 b · 2/ 4
3.7.196°
16 Verschiedene Schaltstellungen bezeichenen Zeitspannen
•0 "bis 15; der ΑΗΰ 400 wird dabei jeweils nit demjenigen Virtualverarbeiter
verbunden, der durch den Code (beispielsweise 0 bis 7) bestimmt ist, welcher durch den Schaltfin-•ger
des Schalters abgefühlt wird. In .einem Extremfall wird-über den" ganzen Zyklus nur ein bestimmter Virtualverarbeiter
mit dem ARU 400 unter Ausschluß aller übrigen . verbunden, im anderen Extremfall v/erden alle Virtualverarbeiter
in gleichen periodischen Zeitabschnitten und Zuordnungsanteilen mit dem ARU 400 gekoppelt. Das eine solche
Vielseitigkeit erlaubende System wird in den Pig. 11 bis
13 im Detail beschrieben.
Zu Pig. 11 :
Der Aufbau der PPU 11 wird aus Fig. 11 ersichtlich. Der
Zentralspeicher CSM 12 - 15 ist mit seiner Steuereinheit
MCU 18 und diese über den Kanal 32 mit der PPU 11 verbunden. Die Virtualverarbeiter PO bis P7 weisen einen zum ARU
400 gehenden Ausgangskanal 402 sowie einen vom ARU 400 zu ihnen führenden Eingangskanal 403 auf. Überdies sind sie
über Kanäle 410 bis 417 mit einem Eommunikationskanal 408
verbunden. Eine Puffereinheit 419 der PPU 11 verfügt über
acht einzelne Pufferregister 420 oder SWB 0 bis 427 oder SV/B
7; dabei ist ein solches,ein einzelnes Wort aufnehmendes Register ausschließlich jeweils einem der Virtualverarbeiter
PO bis P7 zugeordnet. Die Virtualverarbeiter PO bis P7 sind mit einer Zuordnersteuerung 418 versehen, welche die
Realisierung eines Teils des in Fig. 10 als Schalter dargestellten
Zuordners 401 darstellt. Die Steuerung 413 wird durch Taktpulse betrieben. Dei Puffereinheit 419 wird
durch eine Puffersteuerung 428 ausgesteuert. Ein Kanal erstreckt sich zwischen dem Kanal 408 und dem ARU 400.
0098 10/1522
BAD
.A 37 442 b 50 · :
3.7.1969 · -. ' '
Die Yirtualverarbeiter P O bis P 7 sind ferner mit einem
Festwertspeicher ROT·! .430 (read only memory) versehen. In
einem bevorzugten Ausführungsbeispiel der Erfindung ist der
Speicher 430 aus festverdrahteten' Diodenanordnungen für schnellen Zugriff aufgebaut. ■ -
Kommunikationsregister 431 sind zur Kommunikation zwischen
dem Kommunikationskanal 408 , den Peripheriegeräten und weiteren Steuer- und Datenkanälen vorgesehen. Bei dem hier
vorliegenden Ausführungsbeispiel enthält die durch die Kennziffer 431 ausgewiesene Einheit insgesamt 64 Kommunikationsregister. ■
Die an der Zeitzuteilung eigentlich beteiligten Baugruppen
sind der ARU 400, der Festwertspeicher ROH 430, die Einheit
431 mit den Eommunikationsregistern, CR 0, CR T...und die
Puffereinheit 419 mit den Sinwortpufferregistern SV.r3 0
bis SWB 7, wobei die Einheit 419 die Verbindung zwischen PPTJ
11 und dem Zentralspeicher CSH 12 bis 15 herstellt.·
Das ROM430 enthält einen bestimmten Progranmvorrat,- der
nur zugänglich wird, vrann ihn Progrannzähler der Virtual-verarbeiter
erschließen. Der Vorrat enthält ein Grundausführungsprogra:™.
und wenigstens ein Stouerprograrnm für jedes Peripheriegerät, das an den Computer angeschlossen ist.
Das ROM 430 hat eine Zykluszeit von 20 Uanosekunden und einen
Befehlsvorrat von 32Bit Instruktionen für die Virtualverarbeiter
P 0 bis P 7. Das ROH urnfaSt insgesamt 1 024
Worte für die Programme. Es ist in 256 'iortbaugruppen unterteilt, so daß es möglich ist, Programm abzuändern, ohne/das
gesamte ROH neu herzustellen oder insgesamt umbauen zu müssen.
Die "Peripherieprogramme enthalten Steuerfunktionen für
00 98 10/1522 BADORiGiMAL
A-37 442 b k-b
3.7.1969 '
3.7.1969 '
51
einzelnen Peripheriegeräten zugehörige Pufferspeicher sowie DatenüVirtr:i~ung.:funkiionen. Auf solche './eise können
mechanische I?ev.r o.^1. r.-ga ablaufe in äen PeripheriegerMten direkt
durch Programme gesteuert werden und benötigen nicht
eine jeweils speziell für jedes Peripheriegerät eigens
andere
durchgeführte/j'ostverdrahtung, Durch das Arbeitsprogramm können Parameter zur Variation eines Grundprogranmo vorgesehen v/erclen. Solche Parameter werden im Zentralspeicher CSH 12 bin 1.-5 geführt oder auch in Akkumulatorregistern der Virtualverarbeiter, welche "das Programm ausführen.
durchgeführte/j'ostverdrahtung, Durch das Arbeitsprogramm können Parameter zur Variation eines Grundprogranmo vorgesehen v/erclen. Solche Parameter werden im Zentralspeicher CSH 12 bin 1.-5 geführt oder auch in Akkumulatorregistern der Virtualverarbeiter, welche "das Programm ausführen.
Die Instruktiorisquelle für die Virtual verarbeiter kann entweder
das ROM 43C oder der Zentralspeicher ΟΞΠ 12 - 15
sein. Der von Frogramnaähler eines Yirtualverarbeiters addressierte
Speicher wird durch die Adressierart gesteuert, welche durch Verr.weigungsinstruktionen oder durch Löschung
des Systems notifiziert werden kann. Jeder Virtualverarbeiter
v/ird in die ROM Betriebsweise eingestellt, wenn das
System gelöscht ist.
Erhält man eine Programrifolge vora Zentralspeicher, so wird
diese von der Pui'ferdinheit 419 aufgenon:ren. Da dies derselbe
Zwischenspeicher ist, der für Datentransrorte zu und
von Zentralspeicher benutzt wird, und da der Zentralspeichcher größere Zugriffzeiten als der ROK-Speicher hat, werden also die Yerarbeitungszeiten günstiger, wenn das Programm
von ROH 43'3■'enpfangen wurde.
Ein Zeitabschnitt O kann einem der acht Yirtualverarbeiter
durch "einen Schalter auf einer: "Bedienungspult zugeordnet
werden. Diese Zuordnung kann durch das Programm nicht kontrolliert
werden. Die restlichen Seitabschnitte sind anfänglich
nish.t zugeordnet. Deshalb arbeitet an Anfang nur
0098 1 0/1522
BAD ORIGINAL
A 37 442 b · $jl· . -
k-b : ·...-■, ■·-■ *v
3.7.1969 ■■■■■·■■■
der Virtualverarbeiter, der durch diesen Schalter bestiinp.it
-wurde.· Da· weiterhin die Programmzähler aller Virtual verarbeiter
P- O bis P 7 ursprünglich auf Hull standen, beginnt *
der ausgewählte "Virtualverarbeiter sein Programm von der
Adresse.Null -.des ROH 430 an auszuführen; letztere aber ent- ·
hält ein Einleitungsprogranm. Der V/ahls ehalt er auf dem Bedienungspult
bestimmt ebenso, welches der acht Bits des Konnunikationsregisters 431 durch ein vonwBediener erzeugtes
Einleitungssignal gesetzt wird. .
Die Puffereinheit 419 ermöglicht,, daß die Virtualverarbeiter
zum Zentralspeicher GEH 12-15 Zugriff haben. Die Puffereinheit
419 besteht aus acht 32-Bit-Datenregistern,
acht 24-Bit-Adressenregistern und entsprechenden Steuer-"kreisen.
Vorn Standpunkt eines einzelnen Virtualverarbeiters aus erscheint die Einheit 419 lediglich als ein einzelnes
Datenregister und als ein einzelnes Adressregister.
Zu irgendeiner Zeit kann die Puffereinheit 419 bis zu acht Speicheranfragen enthalten, und zwar von jedem Virtualverärbeiter
eine. Die Anfragen v/erden vorzugsweise so ver- ' arbeitet, dal eine feste Prioritn.tssteuerung sowie' eine
Pri-oritätssteuerung nach den Prinzip "wer zuerst könnt, wird
zuerst abgefertigt" (first in-first out) kombiniert werden.
Vorzugsweise werden vier Prioritätsebenen festgelegt; 'werden
aber zwei oder mehr Anfragen aus derselben Prioritätsebene
gestelltj werden sie in der Reihenfolge bearbeitet, in der
sie zeitlich erscheinen.
Könnt zur Puffereinheit 419 eine Anfrage, "so hat sie automatisch eine Prioritäskennung, die durch den Zentralspei - ■
eher CSI-I 12 - 15 bestiimt i3t; Prioritäten werden in einem
der Hegister431 festgehalten. Die Prioritäten werden ent- '
0 0 98 1 0/1 5.2 2 bad original-
A 37 442 b
3.7.1969
sprechend der Hummer des "jeweiligen Yirtualverarbeiters angeordnet;
alle Anfragen von Seiten eines bestimmten Verarbeiters erhalten el ie. Priori tätskennung., welche in zwei
Bits des Prioritätenspeichers1 (Register 431 ) verschlüssel b
ist. Der Inhalt dieses Speichers wird durch das Ausführungsprogramm bestimmt; die Prioritätskennung für jeden Virtualverarbeiter
wird durch das-auszuführende Programm bestimmt.
Zusätzlich zu diesen zwei Prioritäts-Bits kann eine Zeitkennung 'mitverwendet werden, um die Fälle gleicher Priorität
zu lösen.
Die Register 431 enthalten je 32 Bits. Jedes Register ist von Seiten der Virtualverarbeiter adressierbar und kann
von der Einheit ausgelesen oder beschrieben werden, mit der es- verbunden ist. Die Register 431 sind Verbindungsglieder
zu allen Peripheriegeräten einschließlich' der Konsole, indem
sie Steuerungsbefehle sowie Daten zwischen Speichern, welche die Verbindung zwischen den Peripheriegeräten,dem
übrigen Teil der PPU und der CPU herstellen. Einige Parameter
zur Steuerung der Systemfunktion v/erden ebenfalls in solchen KomBranikationsregistern 431" gespeichert, von
welchen die Steuerung: durchgeführt wird.
Zur Fig. 12:
Ira Register 431 sind vorzugsweise als Flip-Flops CR^realisierte
Zellen enthalten,-welche gem. Fig. 12 zwei Eingangskanäle aufweisen. Ein Eingangskanal ist mit der, PPU 11 verbunden,
.während der andere Kanal "einem Peripherie-Gerät zur Verfügung steht. Daten von Seiten der PPU werden synchron
mit dem Taktpuls des Systems in die Zelle eingegeben. Eine Eingabe von Daten od. dgl. in die Zelle von Sei-
0098 10/1522
BAD ORIGINAL
A 37 442 b k-b 3-7-1969
ten eines Peripherie-Geräts kann durch Zwischenkreise swischen
diesem und der Zelle erfolgen, und zwar nicht notwendigerweise
synchron mit dem System-Taktpuls.
Zur Pig.13:
In Pig. 13 wird eine Anordnung gezeigt, mit Hilfe derer
.es möglich wird, Zeiten-schwerpunktmäßig auf nur einen oder
mehr er., der Virtualverarbeiter P bis P. 7 zu verlagern, ·
indem diese dc-n anderen vorgezogen werden, oder umgekehrt Zeitabschnitte auf alle Virtualverarbeiter gleichmäßig
φ aufzuteilen.
Die Steuerung der Verteilung der Zeitabschnitt-Zuordnungen
. ; an d.ie einzelnen Verarbaiter PQ bis P 7 erfolgt mittels
zweier KommuniTrationsregister 431 η und 431 η aus der Gesamtzahl
der Kommunikationsregister 431. Diese Register enthalten
32 Bits, welche in acht Segmente von je vier Bits ie
-. Segment :unterteilt sind. So hat beispielsweise ein Segment
440 des Registers 431n vier Bits a - d, welche 'jeweils; an
die Eingänge von TJnd-Gattern 441 - 444 geführt sind. 3in
Se.gme'nt 445 desselben Konnunikationsrafri^te'rs-hat ebenfalls
- _- vier 3its a - d, welche mit Eingängen von L-nd-Gattern 4^6
^- - 449 verbunden sind. Das erste Und-Gatter am Ausgang jedes
- Segments, an welches Bit a geführt ist, beispielsweise die
Und-Gatter 441, 446, führt an den Eingang eines Oder-Gat-
; · ters 450. Entsprechend sind alle Und-Gatter 442, 447 ... ,
welche durch 3i.t-b der Segmente gespeist werden, ausgangomäßig
mit den Eingängen eines Oder-Gatters 451 verbunden. In gleicher lieise erhält -ein Oder-Gatter 452 Signale aug
. den Und-Gattern 443, 448..., welche mit den Bits c der Segmente verbunden sind. SohlieSlicli gelten'für ein Oder-Gatter 453 die gleichen Beziehungen hinsichtlich der von Bit d
009810/1522 bad original
A 37 442 b 3 j
k-b f :
3.7.1969
gespeisten rrid-Oatter 444, 449...
Die Ausgänge der Ocler-Oatter 450-453 führen zu einem Register
45-, do?::-'-n Ausgang nit einen Dekodierer455 verbunden
ist. Acht T)vkocler-Ausftangsleitungen 460-467 steuern [
jeweils die Ein- und Ausgänge der Virtualverarbeiter P bis
P 7. j
P 7. j
Die Zuordnerateuorung 418 erhält über einen Kanal 460 Takt- |
impulse. Sie arbeitet vorzugsweise als Ringzähler mit 16 \
Stufen, wobei von jeder Stufe eine Ausgangsleitung wegführt.
Eine erste Ausgangsleitung 461 aus der ersten Stufe des j |
Ringzähler^ führt au dem zwe it en ,Eingang der Und-Gatter
441 bis 444. In gleicher Vieise ist eine zweite Ausgangs-
leitung 462 aus der zweiten Stufe des Ringzähler» nit den
zweiten Eintc:\n^on der Und-Gatter 446 bis 4^-9 verbunden.
Die restlichon 14 Au.sgan/rsleitungen aus der Steuerung 418
sind entoprechend mit jev/eils 4 weiteren Und-Gattern im
selben Sinne verbunden.
Drei von den vi?r Bits des Segments 440, nämlich die Bits
b, c, und d kennzeichnen einen der Virtualverarbeiter P
bis P 7 durch ο in entsprechendem Signal auf ein»r'r?«r AusgangRleitungen aus den Dekodierer 455.Uas vierte Bit, κ
nänlicli Bit a des Segnents 440, dient zur Freigabe bzw. ! ( • Sperrung der Dekodierung, so daß ein bestinrater Zeitabschnitt
frei, d.h. unbezo-sen bleiben kann.
b, c, und d kennzeichnen einen der Virtualverarbeiter P
bis P 7 durch ο in entsprechendem Signal auf ein»r'r?«r AusgangRleitungen aus den Dekodierer 455.Uas vierte Bit, κ
nänlicli Bit a des Segnents 440, dient zur Freigabe bzw. ! ( • Sperrung der Dekodierung, so daß ein bestinrater Zeitabschnitt
frei, d.h. unbezo-sen bleiben kann.
Es sollte bsp~cht?t v;erde2i, da3 der AHU 400 über Kanäle j
j 470 mit den Registern 431s und 431n verbunden ist, nit !
welchen er aufgrund einer Programmsteuerung die gevn.insch- ;
ten Zuordnungen in den Registern 431^n und 43in durchführen |.
kann. Entsprechend den Taktpulsen auf Kanal 460 kann also
0098 10/1522
BAD ORIGINAL
A37 442 b k-b 3.7.1969
der Dekodierer 455 mit jeden' Taktpuls von einem Virtualverarbeiter
zum nächsten umschalten. Entsprechend dem Registerinhalt der Register 431m und 431 η kann die gesamte Zeit
auf einen der Virtualverarbeiter verlegt werden, sie kann
gleichmäßig aufgeteilt oder auch ungleichmäßig diesen zugeteilt
v/erden, je nachdem dies die in den Registern 431m,
431n enthaltene Kodierung bestimmt.
Wenden wir ims nun den Steuerleitungen zu, die aus dem Ausgang des Dekodierers'455 kommen; es ist dabei zu beachten,
daß die zwischen den Registern 43in, 431h und dem Dekodierer.
455 liegenden Schaltkreise Bit-mäßig dargestellt wurden. Im Gegensatz dazu wird die - zwischen dem Dekodierer
und dem Rechner 400 liegende Schaltung zur Steuerung der' Virtualverarbeiter und insbesondere zwischen den Virtual—
verarbeitern und dem Rechner nicht bitmäßig sondern nur in · Blockschaltbildern dargestellt.
Sin Fluß von Verarbeiterdaten auf Kanälen 478 kann durch
entsprechende Signale auf den Leitungen 460 bis 467 freigegeben oder verhindert" werden. Im einzelnen führt der Aus- ·
gangskanal 460 zu einer Koinzidenzschaltung 490, an- welcheebenso
der.Kanal 478 angelegt ist. Sine Koinzidenzschaltung
500 nimmt erstens den Ausgs,ngskanal des" Virtualverar-■■
beiters P0 auf und zweitens-'den" Kanal 460. Auf die gleiche
Y/eise arbeiten Koinzidenzschalter 491 bis 497 an den Eingängen
der übrigen Virtualverarbeiter, sowie Koinzidenzschalter
5Ot bis 507 an deren Ausgängen/Schalter 500 bis 507 speisen eine Oder-Schaltung 508, deren Ausgang den Datenfluß
unmittelbar in den ARU £00 schickt. Auf diese 7/eise arbeitet
jeweils nur einer der Virtualverarb ei ter^b is P 7 wä.hrend
einer Zeitspanne, indem die'Auswahl eines beat.imra.ten-.
Virtualverarbeiters dem Inhalt derjenigen Segmente 440» 445..
009810/1522
A 37 442 b k-b ■ •3-7-1969
entspricht, .welche, nach Maßgabe der durch die Taktpulse
betriebenen zyklisch arbeitenden Zuordnersteuerung gerade angewählt werden. . .
Eine Beschreibung des Puffers MBU 100 findet man in einer
anderen Anmeldung der . Anmelder in '"(aintl. Aktenzeichen ...).
Sine Beschreibung der Gefügeschaltung findet man in einer
weiteren Anmeldung der Anmelderin (asitl. Aktenzeichen ...).
Eine Beschreibung der Zeitzuordner gem. Pig, 10-13 fin- »
det man wieder, in einer anderen Anmeldung der Anmelderin ' J ™
(amtl. Aktenzeichen „...).
0 0 98,10/1522
BAD ORIGINAL /.
A 37 479 b b - 129 ·
14. Aug. 1969
Eine ins einzelne gehende Beschreibung des Rechenpuffers findet man in einer anderen Anmeldung derselben Anmelderin
(amtl. Aktenzeichen ).
Eine ins einzelne gehende Beschreibung des Kanalrechners (Fig.
7 und 8) findet man in einer anderen Anmeldung derselben Anmelderin
(amtl. Aktenzeichen ).
Eine ins einzelne gehende Beschreibung der automatischen Gefügeschaltung
(Programmumsehaltung) nach Fig. 3,4,8 und 9
findet man in einer anderen Anmeldung derselben Anmelderin (amtl. Aktenzeichen ).
Im Rahmen des Erfindungsgedankens sind Abänderungen vom gezeigten
Ausführungsbeispiel möglich.
0 0 9810/1522
Λ 37 442 b S3
Tabelle It Boole'sehe Gleichungen und Funktion des in Ausgangsteil der ?PU gemäß pjg.4 "befindlichen
Teils der Gefügeschaltung.
FF L 73 ("Lade*Flop, zur Zeitgabe der Setzimpulse für FFC71
und/oder FFS72):
Setze L = (Tastpuls), wobei (Tastpuls) = verzögertes
Setze L = (Tastpuls), wobei (Tastpuls) = verzögertes
SC?- cd_er SCw'- oder "Fehlersigr.al.
Rücksetae L - L.C.S
PF C 71 ("Anruf"Flop, gesetzt durch SCP+SCV/, zur Anzeige der
speziellen Pro^ramrnsituation der CPU):
Setze C = L.C.Is). c1; wobei c'_= SCP + SCV,'.
EilcJ:o_etze__C von Seiten der PPU am Ende der Operation.
FP S 72 ("Schalf'Plop, gesetzt durch SCvrfPehler', zur Anzeige
der spezielleil Progranmsituation der CPU):
Setze S - L.(C).S.s1; wobei s1 = SC./+Fehler.
Biljck§.et-2e__S von Seiten der PPU am Ende der Operation.
009810/1522
FF AC 77 ("flnruf" Fahne): \
Setze AC von Seiten der PPU, zur Anzeige für die CPU, ■
daß eine Anrufoperation durchführbar wäre. Rüc3csetze AC von Seiten der PPU, zur Anzeige für die
CPU, daß eine Anrufoperation nicht möglich ist.
FP AS 44 ("SchaIt"Fahne):
Setze Ad von Seiten c,'3r PPU, zur Anzeige für die CPU,
darp eine Schaltoperation durchführbar ware.
Rucksetse AS von Seiten der PPU, zur Anzeige für die
CPU, dass eine Bchaltoperation nicht möglich ist.
FF R 75 ("Betriebserlaubnis"):
Setze R von Seiten der PPU, wenn ein Betrieb der CPU
erwünscht ist.
Rücksetge_R = AC.C+AS.S; dh:
bei (au,iCb). (SCP, SCV/, Fehler), also bei fehlender
Fahne von Seiten der PPU und Aufkommen einer entsprechenden
Anfrage von Seiten der CPU wird die CPU in-• aktiv und abwartend.
FF PC 80 {^Anrufen" Plop, befiehlt den Beginn der CPU-seitigen
Anrufoperation (memory call)):
Setze PC = ACC
Setze PC = ACC
Rücksetze PC von Seiter, der PPU nach Rückstellung
der PlipFiops C 71 und S 72.
FF PS 71 ("Umschalten" Flop, befjdilt den Beginn der CPU-seitigen
Bchältorieration):
Setze PS =AS .S
Setze PS =AS .S
Rücksetze PS von Seiten der PPU nach Rückstellung
der FlipFlops C 71 und S 72.
BAD ORIGINAL
CG 74 ("Anruf ausgeführt" Plop zur Rückmeldung an die PPU):
Setze CO = CCC
Rücksetze CC von Seiten der PPU nach Rückstellung der PlipFlops C 71 und S
SC 78 ("Umschaltung ausgeführt" Flop zur Rückmeldung
an die PPU):
Setze SC = PSC ..1,ISC; wobei
PSC die Rückmeldung-"Umschaltung ausgeführt" von
Seiten der CPU und MSC die Rückmeldung "Umschaltung ausgeführt" von Seiten der MCU ist.
Rücksetze SC von Seiten der PPU. nach Rückstellung der FlipFlops C 71 und S
009810/1522
Tabelle II | AC | ■ | PC | PS | R | L | cc | SC | V "Umschalten" |
C | S | AC | AS | PC | PS | R | Neubeginn | C-5 | L | SC | PPU | C | S | AC | AS | PC | PS | R | L | cc | SC | C | S | |
• Zeit I |
AS | 0 | "V •"Anrufen" |
0 | 0 | 1 | 1 | 0 | 0 | 1 | ■0 | 0 | 0 | 0 | j * | |||||||||||||||||||
II | Ϊ | . 0 | 0 | 1 | 0 | 0. | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | "SCP"- | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | Λ 0 |
|||||
III | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | t | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | |||||
IV | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | t | t | 1 | 0 | 0 | 0 | 1 | 1 | |||||
V | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | |||||
VI | 1 | 1 | 1 | 1 | 0 | 1 | —* | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | ||||||||||||||||
O | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | • | 1 | |||||||||||||||||||||||
O co |
"Fehlt | 1 | V | V | ||||||||||||||||||||||||||||||
OO | der .Φ |
•BCV/" | Y C sowie |
S- | ||||||||||||||||||||||||||||||
O | "Anrufen" ί | |||||||||||||||||||||||||||||||||
3r" — | —> | CC | sowie | |||||||||||||||||||||||||||||||
cn ro |
0 | "Umsehalten" . | ||||||||||||||||||||||||||||||||
ro | 0 | |||||||||||||||||||||||||||||||||
0 | ||||||||||||||||||||||||||||||||||
0 | ||||||||||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||||||||||
Ablaufdiagramm zur Gefügeschaltung am Beispiel:
Automatische Umschaltung und Anrufverarbeitung bei fortwähiaid betriebener CPU.
Bedeutung der Zeiten I bis VI:
I warten auf eine CPU Anfrage "SCP","SCW" oder "Fehler".
II Tastpuls
III Beschicken der PlipPlops C 71 und/oder S 72
IV Beginn der PCU-seitigen Operation
V \A.nruf ausgeführt' VI ^Umschaltung ausgeführt'
CD
O O cn
cn ro ιο
Zeit AC AS PC PS R L CC SC C S AC AS PC PS R L CC SC C S AC AS PC PS R L CC SC C S
II
III IV
V VI
0 0 0 10 0 0 0 0
0 0 0 110 0 0 0 0 0 0 10 0 0 0 1
I 0 0
0 0 Ü 0 0 1
1000 100000
1 0 0 0 11 0 0 0 0
10 0 0 10 0 0 10
10 10 10 0 0 10
1 0 1 0 1 *0 1 0 1 0
10 0 1 0 0 0 10 1
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | T |
1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 |
1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 |
Yb
Neubeginn der PPU,
"Fehler"
->" Ums ehalt on"
1BCP"
■"Anrufen"
"SCV/"—?C sowie S—>
"Anrufen" sowie "Umschalten"
Ablaufdiagramm zur Gefügeschaltung am Beispiel:
Automatische Anrufverarbeitung; verhinderte automatische Umschaltung, indem die CPU nur so
lange betrieben wird, bis CPUseitig auf Umschaltung angefragt wird.
Bedeutung der Spalten und Zeiten wie Tabelle II.
Bemerkung zu "A": Die PPU leitet eine (Pseudo) Umschaltung ein, indem das PS PlipFlop FFPS79
gezwungen wird.
"join1
Bemerkung» zu "B
auf
Zwar wird hier das PC FlipFlop FFPC80 auf die übliche Art gesetzt, wodurch ,--;
eine automatische Anrufverarbeitung in Gang kommt; die PPU leitet aber in- ν
folge A!3 eine. (Pseudo)Umschaltung ein, indem das PS FlipFlop FFPS79 auf "Ein"'
gezwungen wird. "-^.
900ZV6L
Tabelle IV: MBU-Datei der CPU 10:
SA Speicherstartadresse zum Auslesen des -Vektors A SB " Ji ti . ti Ii B
SC " "- Einschreiben des Vektors C
NY Anzahl der Elenente in einer fundamentalen Vektoroperation
NI Anzahl der Durchläufe in der inneren Schleife N0 Anzahl der Durchläufe in der äußeren Schleife
Δΐ Adresseninkrer.ent für die innere Schleife
Adresseninkrement für die äußere Schleife
AA Arbeitsadresse (laufende Adresse) für Vektor A BB " n " " M B
CC " " " " n C
VC laufende Zählung der Vektorkomponenten IC M " " Innenschleifen
CJC n n " Außenschleifen
Tabelle V: Speicherplatzbelegung zur Durchführung einer Multiplikation
zweier Determinanten dritten Grads
Speicherstelle für Speicherstelle für Speicherstelle für
Determinante A Determinante B Determinante C
k an_ l ..b„ «
k+2
k+β a31
- 11 | |
i+i" | .b21 |
1+2 ' | b31 |
1+3 | b12 |
1+U | b22 |
A+5 | b32 |
>13 | |
A+7 | b23 |
1+8 | b33 |
a23 A+5 b„ B+5
m+i | • | C12 |
»+2 | C13 | |
m+3 | C21 | |
C22 |
k+7 * e32 1+T b23 B+7 C32
■ a " 1+8 b33 B+8 C33
Die Determinante A ist reihenmäßig auf die Speicherstellen
k bis k ♦ 8 verteilt;
die Determinante B ist spaltenmäßig auf die Speicherstellen
1 bis 1+8 verteilt;
die Determinante C ist reihenmäßig auf die Speicherstellen
m bis m + 8 verteilt.
Zu Beginn der Multiplikation wird:
SA «■ k " NV = 3 ΔΙ = 1 - ' '.."',
SB = 1 NI = 3 Δ0 = 3 . .
SC = m "· N0 = 3
0 0 9 8 10/1522
Adressen- und Steüerungskbläiif. Tür!'die ©eferininante A
zur Durchführung der Multiplikation^-gemäß' Tabelle V.
Schritt
.
2
.
2
.3.
h '
•5 -·.
'
'
ίο ;.·
-
15."*
Operation
SA-?AA NV-1~>VC
-1—5>IC
•AA+1—;SAA VC-1
LH>AA VC-1—?VC
"SA—>AA " NV-1->VC
IC-I-^IC
AA+1—>AA' VC-1—>VC.
AA+1—^ VC-Ir-WC
•SA—>AA NV-1—>VC
IC.-1H>IC
AA+1—>AA VC-1—>VC
AA+1
VC-I-WC
VC-I-WC
0 2
1 0
NV-I-WC
-AA+l-SAA VC-1-^/C
ÄA+1—>AA
VCf 1-sVC
SA~>AA '
—>AA VC-1—WC
AA+1—?AA. .*" " '.
VC-I--PVC
SA—>AA -NV-1—>VC IC-1—£EC
. AA+1—!>AA :
plakat'ion^gemäß' Tabelle V.
A Adresse k
' VC IC 0C
· 2 "■" 2
1· ' 2
■ ·
•2 . i .1
0
0
0
2
0
0
0
2
•0
2: ; X
v-
2
1 V-0
1—>AA VC-1—WC
0 ·
009810/152
2·
2.
k+1 ·
k+2
k+1
k+2
k ' k+l' k+2 k+3
k+5
k+3
k+5 k+3
ORtQINAL INSPECTED
' Tabelle VI, Forts.
Schritt | Operation | VC | IC | 1942005 * 0C A Adresse |
. J k+o· |
'19' ■ · | SA+A#~$AA,SA ' NV-I-WC | 2 * |
2
• # |
0
• |
* k+7 |
• 20· ·■ |
AA+1—>AA
VC-I-VVC • -* |
2 · | 0 | . k+8 | |
• ·■
21 |
AA+1—>AA.
VC-1—>VC |
•
\ · |
" 2 • ■ *· |
0 | ".k+6 |
22 |
- SA->AA ' NV-l—WC
• IC-1—>IC |
. ·
2 * |
i: | 0 | k+7 |
23 ... |
AA+1—>AA
VC-I-WC - |
1 . | 1 | 0 | k+8 |
2k |
AA+1—^AA
VC-i~>VC . |
0 . | •1 | 0 | k+S |
25 . * |
"SA-JAA NV-1~>VC
IC-I-»IC |
•
2 |
' 0 | 0 | k+7 |
26 | AA+1—>AA VC-1—i>VC . . '- |
1 m | 0 | 0 |
k+8 ' ' i
* · * « |
27 |
AA+1—»A:
VC-1—>VC |
.0 | • 0 | . 0 | |
Tabelle VII: Beispiel für Gleitkommaadditionen | ι im |
Schlauchrechner 101:
Zeit:
Subtraktion der Exponenten Ausrichtung der Mantissen ■Addition der Mantissen
Nachnormalisierung des Resultats
a2* b2 a3
,b., aDi b2
Ί» bl
Ί "2 a.
a2, b2
Im selben Schlauch befinden sich z. Zt. t^ vier verschiedene Wortpaare
aA, bj^; i = 1 f 4 in vier verschiedenen Bearbeitungsstufen!
0098 1 Q/ 1 522
ORKkINAt iti
Claims (1)
- Patentansprüche :1. Mult!programmierbares und multiprozessierendes, digitales Datenverarbeitur.gssysten rat einer Zentralverarbeitungseinheit und einer dieser unterstellten Peripherieverarbeitungseinheit, dadurch gekennzeichnet, daß die Peripherieverarbeitungseinheit (11) in an sich bekannter Weise mehrere Yirtualverarbeiter (P -Py) sowie einen Rechner (400) enthält, und daß eine Steuervorrichtung (401) zur wahlweisen Steuerung der Anschlußzeiten der einzelnen Virtualverarbeiter an den Rechner vorgesehen ist.2. System nach Anspruch 1, gekennzeichnet durch einen Taktgeber zur 'Weiterschaltung der Steuervorrichtung.3. System nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Steuervorrichtung eine Schrittschaltvorrichtung mit mehreren Schaltzuständen ist, denen mindestens teilweise und in ausv;ählbarer Weise jeweils ein Virtualverarbeiter zugeordnet ist, wobei ausgewählte Virtualverarbeiter jeweils mehreren Schaltzuständen zuordenbar sind,4. System nach Anspruch 3, dadurch gekennzeichnet, daß die Schrittschaltvorrichtung einen Speicher (431) aufweist zur Speicherung prograranabhängiger Verhältnisse der Anschlußzeiten der Virtualverarbeiter an den Rechner.BAD ORiGIiMALG098 1 0/1522A 37 ^79 bb - 135 - y-ii. Aug. 196?. * 19420055. Systen nach Anspruch 3, dadurch gekennzeichnet, daß für alle Virtualverarbeiter ein gemeinsames, adressierbares Kommunikatior.sregister ('!3I) vorgesehen ist, das mit der Steuervorrichtung verbundene Segmente (IJ1IO, ^5) enthält zur Steuerung eier zeitlichen Zuteilung des Rechners zu den Virtualverarbeitern entsprechend den Codeinhalten dieser Segmente. . !6. System nach Anspruch 5, dadurch gekennzeichnet, daß | zv/ischen den Segmenten des Kommunikationsregisters und j ., den Virtualverarbeitern logische Schaltkreise (1I1Il - ^53) " sowie ein Dekoder (^55) vorgesehen sind, wobei die Verbindung zwischen den Segmenten und dem Dekoder durch die von der Schrittschaltvorrichtung gesteuerten logischen i Schaltkreise herstellbar ist.7. Syster. nach Anspruch 6, dadurch gekennzeichnet, daß die Segmente durch die Schrittschaltvorrichtung nacheinander mit dem Dekoder verbindbar sind, so daß je Taktzeit nur jeweils ein Segment r.it dem Dekoder verbunden ist.8., System nach Anspruch 7, dadurch gekennzeichnet, daß zv?isehen den Ausgängen des Fekoders und den Virtualverarbeitern logische Schaltkreise (^ΡΟ-ίιογ) zur Aktivierung jeweils eines Virtualverarbeiters pro Taktzeit vorgesehen sind, und daß zv;ischen den Virtualverarbeitern und dem Rechner ebenfalls logische Schaltkreise (500-507) liegen.-3-309810/1522 BAD ORIGINALA 37 479 bb - 13511. Aug. 1969689. System nach einem oder mehreren der vorhergehenden Ansprüche , dadurch gekennzeichnet, daß jeder Virtualverarbeiter einen Speicher enthält.10. System nach einen oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Rechner (400) zur Durchführung arithmetischer und logischer Operationen eine Auswahlvorrichtung zur Auswahl eingehender und ausgehender digitaler Informationen aufweist.11. System nach einem oder mehreren der vorhergehenden Ansprüche, mit einem Zentralspeicher, gekennzeichnet durch einen gemeinsamen Kanal (408) zwischen Zentralspeicher (18), Rechner ('!0O) und Virtualverarbeitern (P0-P7).12. System nach einem oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Peripherieverarbeitungseinheit eine Reihe von Pufferregistern (419) für jeweils ein einzelnes Wort zwischen Zentralspeicher (18) und Virtualverarbeitern (P0 -P-?) aufweist, wobei für jeden Virtualverarbeiter jeweils ein Pufferregister vorgesehen ist,13. System nach einem oder mehreren der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Peripherieverarbeitungseinheit zur Festlegung der Reihenfolge der Durchführung der Eenutzerprogramme entsprechend programmierter Kriterien vorgesehen ist und eine Vorrichtung (431) aufweist zur Erstellung einer Anzeige der nächstenBAD ORiGiNAL0 9 8-0/1522A 37 ^79 b11. Aug. 196? -λvon der Peripherieeinheit zu verarbeitenden Programminstruktion vor dem Ansprechen der Zentralverarbeitungseinheit auf diese Anzeige, und daß zwischen dem Rechner und den Virtualverarbeitern eine Vorrichtung zur automatischen Steuerung der Reihenfolge der in den Rechner einzugebenden Programminstruktionen und Daten vorgesehen ist.009810/1522BAD ORIGINAL
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US75669068A | 1968-08-30 | 1968-08-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE1942005A1 true DE1942005A1 (de) | 1970-03-05 |
DE1942005B2 DE1942005B2 (de) | 1973-08-23 |
Family
ID=25044636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19691942005 Ceased DE1942005B2 (de) | 1968-08-30 | 1969-08-18 | Datenverarbeitungsanlage zur aufnahme und abgabe von digitalen daten und zur ausfuehrung von operationen an den daten |
Country Status (8)
Country | Link |
---|---|
US (1) | US3573852A (de) |
JP (1) | JPS509507B1 (de) |
BE (1) | BE738171A (de) |
CA (1) | CA920711A (de) |
DE (1) | DE1942005B2 (de) |
FR (1) | FR2017099A1 (de) |
GB (1) | GB1278103A (de) |
NL (1) | NL6913243A (de) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE789583A (fr) * | 1971-10-01 | 1973-02-01 | Sanders Associates Inc | Appareil de controle de programme pour machine de traitement del'information |
US3918031A (en) * | 1971-10-26 | 1975-11-04 | Texas Instruments Inc | Dual mode bulk memory extension system for a data processing |
GB1397438A (en) * | 1971-10-27 | 1975-06-11 | Ibm | Data processing system |
US3913070A (en) * | 1973-02-20 | 1975-10-14 | Memorex Corp | Multi-processor data processing system |
US3916383A (en) * | 1973-02-20 | 1975-10-28 | Memorex Corp | Multi-processor data processing system |
US3825902A (en) * | 1973-04-30 | 1974-07-23 | Ibm | Interlevel communication in multilevel priority interrupt system |
FR2258113A5 (de) * | 1973-11-30 | 1975-08-08 | Honeywell Bull Soc Ind | |
DE2555963C2 (de) * | 1975-12-12 | 1982-10-28 | Ibm Deutschland Gmbh, 7000 Stuttgart | Einrichtung zur Funktionsmodifizierung |
US4648064A (en) * | 1976-01-02 | 1987-03-03 | Morley Richard E | Parallel process controller |
US4133028A (en) * | 1976-10-01 | 1979-01-02 | Data General Corporation | Data processing system having a cpu register file and a memory address register separate therefrom |
JPS5367811U (de) * | 1976-11-11 | 1978-06-07 | ||
US4197579A (en) * | 1978-06-06 | 1980-04-08 | Xebec Systems Incorporated | Multi-processor for simultaneously executing a plurality of programs in a time-interlaced manner |
DE2845218C2 (de) * | 1978-10-17 | 1986-03-27 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Mikroprogrammgesteuerte Ein-/Ausgabeeinrichtung und Verfahren zum Durchführen von Ein-/Ausgabeoperationen |
US4257097A (en) * | 1978-12-11 | 1981-03-17 | Bell Telephone Laboratories, Incorporated | Multiprocessor system with demand assignable program paging stores |
JPS55112651A (en) * | 1979-02-21 | 1980-08-30 | Fujitsu Ltd | Virtual computer system |
US4315310A (en) * | 1979-09-28 | 1982-02-09 | Intel Corporation | Input/output data processing system |
FR2469752B1 (fr) * | 1979-11-14 | 1986-05-16 | Bull Sa | Dispositif de partage d'un sous-systeme central d'un systeme de traitement de l'information en plusieurs sous-systemes independants |
US4446514A (en) * | 1980-12-17 | 1984-05-01 | Texas Instruments Incorporated | Multiple register digital processor system with shared and independent input and output interface |
US4481572A (en) * | 1981-10-13 | 1984-11-06 | Teledyne Industries, Inc. | Multiconfigural computers utilizing a time-shared bus |
JPS58182758A (ja) * | 1982-04-20 | 1983-10-25 | Toshiba Corp | 演算制御装置 |
US4837785A (en) * | 1983-06-14 | 1989-06-06 | Aptec Computer Systems, Inc. | Data transfer system and method of operation thereof |
US4750107A (en) * | 1985-01-07 | 1988-06-07 | Unisys Corporation | Printer-tape data link processor with DMA slave controller which automatically switches between dual output control data chomels |
US4750113A (en) * | 1985-02-28 | 1988-06-07 | Unisys Corporation | Dual function I/O controller |
US4773038A (en) * | 1986-02-24 | 1988-09-20 | Thinking Machines Corporation | Method of simulating additional processors in a SIMD parallel processor array |
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 |
US4827403A (en) * | 1986-11-24 | 1989-05-02 | Thinking Machines Corporation | Virtual processor techniques in a SIMD multiprocessor array |
US5027348A (en) * | 1989-06-30 | 1991-06-25 | Ncr Corporation | Method and apparatus for dynamic data block length adjustment |
JP3144842B2 (ja) * | 1991-08-09 | 2001-03-12 | 株式会社東芝 | マイクロプロセッサ |
US6047122A (en) * | 1992-05-07 | 2000-04-04 | Tm Patents, L.P. | System for method for performing a context switch operation in a massively parallel computer system |
US5560025A (en) * | 1993-03-31 | 1996-09-24 | Intel Corporation | Entry allocation apparatus and method of same |
BE1009813A3 (nl) * | 1995-09-29 | 1997-08-05 | Philips Electronics Nv | Programmeerbare logische controller. |
US6317820B1 (en) | 1998-06-05 | 2001-11-13 | Texas Instruments Incorporated | Dual-mode VLIW architecture providing a software-controlled varying mix of instruction-level and task-level parallelism |
US7594103B1 (en) * | 2002-11-15 | 2009-09-22 | Via-Cyrix, Inc. | Microprocessor and method of processing instructions for responding to interrupt condition |
US8290765B2 (en) * | 2005-03-16 | 2012-10-16 | Research In Motion Limited | Handheld electronic device with reduced keyboard and associated method of providing improved disambiguation |
US20120226890A1 (en) * | 2011-02-24 | 2012-09-06 | The University Of Tokyo | Accelerator and data processing method |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL134125C (de) * | 1958-04-25 | |||
GB888732A (de) * | 1959-12-30 | |||
US3156897A (en) * | 1960-12-01 | 1964-11-10 | Ibm | Data processing system with look ahead feature |
NL276236A (de) * | 1961-03-24 | |||
US3500334A (en) * | 1964-05-04 | 1970-03-10 | Gen Electric | Externally controlled data processing unit |
US3374465A (en) * | 1965-03-19 | 1968-03-19 | Hughes Aircraft Co | Multiprocessor system having floating executive control |
-
1968
- 1968-08-30 US US756690A patent/US3573852A/en not_active Expired - Lifetime
-
1969
- 1969-07-14 GB GB35358/69A patent/GB1278103A/en not_active Expired
- 1969-07-15 CA CA057064A patent/CA920711A/en not_active Expired
- 1969-08-18 DE DE19691942005 patent/DE1942005B2/de not_active Ceased
- 1969-08-27 FR FR6929277A patent/FR2017099A1/fr active Pending
- 1969-08-29 BE BE738171D patent/BE738171A/xx not_active IP Right Cessation
- 1969-08-29 JP JP44068555A patent/JPS509507B1/ja active Pending
- 1969-08-29 NL NL6913243A patent/NL6913243A/xx not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
FR2017099A1 (de) | 1970-05-15 |
NL6913243A (de) | 1970-03-03 |
GB1278103A (en) | 1972-06-14 |
US3573852A (en) | 1971-04-06 |
DE1942005B2 (de) | 1973-08-23 |
BE738171A (de) | 1970-02-02 |
JPS509507B1 (de) | 1975-04-14 |
CA920711A (en) | 1973-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1942005A1 (de) | Zeitzuteiler fuer Multiprogrammier- und Multiprozessier-Computer | |
DE1934365A1 (de) | Automatische Programmschaltung bei Computern mit Multiprogrammierung | |
DE3689394T2 (de) | Informationsverarbeitungsanlage mit einem Allzweckprozessor und einem Sonderzweckprozessor. | |
DE2555963C2 (de) | Einrichtung zur Funktionsmodifizierung | |
DE2554652C3 (de) | Modulare Signalverarbeitungseinrichtung | |
DE3686991T2 (de) | Mechanismus fuer parallele speicherdatenabholung und befehlsausfuehrung in einem prozessor mit reduziertem befehlssatz. | |
EP1329816B1 (de) | Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.) | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE3638572C2 (de) | ||
DE1285220C2 (de) | Datenverarbeitungssystem mit mehreren selbstaendigen Recheneinheiten | |
DE1952158A1 (de) | Speicherschutzverfahren und Einrichtung zur Durchfuehrung dieses Verfahrens | |
DE2646296A1 (de) | Assoziative elektronische schaltungsanordnung aus digitalen prozessoren | |
DE2704842A1 (de) | Datenverarbeitungssystem | |
DE2948668A1 (de) | Puffereinheit | |
DE2407241A1 (de) | Verfahren und anordnung zur erhoehung der verfuegbarkeit eines digitalrechners | |
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE2556617C2 (de) | Schiebe- und Rotierschaltung | |
EP0134831A1 (de) | Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung | |
DE2801543A1 (de) | Datenverarbeitungsanlage | |
DE3802025C1 (de) | ||
DE1499206B2 (de) | Rechenanlage | |
DE1949916B2 (de) | Verfahren zum betrieb einer programmgesteuerten datenverarbeitungsanlage und anordnung zur durchfuehrung des verfahrens | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE1499224C3 (de) | Datenverarbeitungsanlage mit Kellerspeichereinrichtungen | |
DE2747304A1 (de) | Einrichtung zur mikrobefehlssteuerung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
BHV | Refusal |