DE1942005A1 - Zeitzuteiler fuer Multiprogrammier- und Multiprozessier-Computer - Google Patents

Zeitzuteiler fuer Multiprogrammier- und Multiprozessier-Computer

Info

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
Application number
DE19691942005
Other languages
English (en)
Other versions
DE1942005B2 (de
Inventor
Husband Edwin Howard
Watson William Joseph
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of DE1942005A1 publication Critical patent/DE1942005A1/de
Publication of DE1942005B2 publication Critical patent/DE1942005B2/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures 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.
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.
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-
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
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
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
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 '
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.
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
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.
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
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
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
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
Tabelle III:
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
Arbeits-Datei 133:
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
.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
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
2: ; X
v-
2
1 V-0
1—>AA VC-1—WC
0 ·
009810/152
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)

  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 ORiGIiMAL
    G098 1 0/1522
    A 37 ^79 b
    b - 135 - y-
    ii. Aug. 196?. * 1942005
    5. 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 ORIGINAL
    A 37 479 b
    b - 135
    11. Aug. 1969
    68
    9. 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ächsten
    BAD ORiGiNAL
    0 9 8-0/1522
    A 37 ^79 b
    11. 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/1522
    BAD ORIGINAL
DE19691942005 1968-08-30 1969-08-18 Datenverarbeitungsanlage zur aufnahme und abgabe von digitalen daten und zur ausfuehrung von operationen an den daten Ceased DE1942005B2 (de)

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)

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

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

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