DE1524103A1 - Datenverarbeitungsanlage - Google Patents
DatenverarbeitungsanlageInfo
- Publication number
- DE1524103A1 DE1524103A1 DE1966B0090024 DEB0090024A DE1524103A1 DE 1524103 A1 DE1524103 A1 DE 1524103A1 DE 1966B0090024 DE1966B0090024 DE 1966B0090024 DE B0090024 A DEB0090024 A DE B0090024A DE 1524103 A1 DE1524103 A1 DE 1524103A1
- Authority
- DE
- Germany
- Prior art keywords
- circuit
- memory
- register
- jump
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims description 90
- 230000015654 memory Effects 0.000 claims description 307
- 238000003860 storage Methods 0.000 claims description 74
- 238000000034 method Methods 0.000 claims description 64
- 230000008569 process Effects 0.000 claims description 56
- 238000012546 transfer Methods 0.000 claims description 37
- 238000004364 calculation method Methods 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 16
- 239000000872 buffer Substances 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 11
- 230000000694 effects Effects 0.000 claims description 10
- 238000012423 maintenance Methods 0.000 claims description 10
- 238000002360 preparation method Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 6
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 4
- HEMHJVSKTPXQMS-UHFFFAOYSA-M Sodium hydroxide Chemical compound [OH-].[Na+] HEMHJVSKTPXQMS-UHFFFAOYSA-M 0.000 claims description 3
- 230000014759 maintenance of location Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 2
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 claims description 2
- 230000003466 anti-cipated effect Effects 0.000 claims 3
- 238000006073 displacement reaction Methods 0.000 claims 2
- 238000012432 intermediate storage Methods 0.000 claims 2
- 230000003111 delayed effect Effects 0.000 claims 1
- 230000002452 interceptive effect Effects 0.000 claims 1
- 230000000737 periodic effect Effects 0.000 claims 1
- 238000007781 pre-processing Methods 0.000 claims 1
- 238000010615 ring circuit Methods 0.000 claims 1
- 210000001050 stape Anatomy 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 description 15
- 235000021251 pulses Nutrition 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000007792 addition Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 239000000047 product Substances 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 6
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 4
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical compound [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 description 4
- 230000009191 jumping Effects 0.000 description 4
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 3
- 102100023170 Nuclear receptor subfamily 1 group D member 1 Human genes 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 241000196324 Embryophyta Species 0.000 description 2
- 240000002834 Paulownia tomentosa Species 0.000 description 2
- 235000010678 Paulownia tomentosa Nutrition 0.000 description 2
- 241000862969 Stella Species 0.000 description 2
- GTVWRXDRKAHEAD-UHFFFAOYSA-N Tris(2-ethylhexyl) phosphate Chemical compound CCCCC(CC)COP(=O)(OCC(CC)CCCC)OCC(CC)CCCC GTVWRXDRKAHEAD-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- IMOYOUMVYICGCA-UHFFFAOYSA-N 2-tert-butyl-4-hydroxyanisole Chemical compound COC1=CC=C(O)C=C1C(C)(C)C IMOYOUMVYICGCA-UHFFFAOYSA-N 0.000 description 1
- 241000931365 Ampelodesmos mauritanicus Species 0.000 description 1
- 241000272517 Anseriformes Species 0.000 description 1
- 201000004569 Blindness Diseases 0.000 description 1
- 101100129922 Caenorhabditis elegans pig-1 gene Proteins 0.000 description 1
- 235000017399 Caesalpinia tinctoria Nutrition 0.000 description 1
- 241000282461 Canis lupus Species 0.000 description 1
- 102000016918 Complement C3 Human genes 0.000 description 1
- 108010028780 Complement C3 Proteins 0.000 description 1
- 101100520057 Drosophila melanogaster Pig1 gene Proteins 0.000 description 1
- 101100004158 Drosophila melanogaster bab2 gene Proteins 0.000 description 1
- 101100072702 Drosophila melanogaster defl gene Proteins 0.000 description 1
- 101150080661 Ear1 gene Proteins 0.000 description 1
- 108091034120 Epstein–Barr virus-encoded small RNA Proteins 0.000 description 1
- 244000025221 Humulus lupulus Species 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 240000004093 Mitragyna parvifolia Species 0.000 description 1
- 101100460844 Mus musculus Nr2f6 gene Proteins 0.000 description 1
- JGFZNNIVVJXRND-UHFFFAOYSA-N N,N-Diisopropylethylamine (DIPEA) Chemical compound CCN(C(C)C)C(C)C JGFZNNIVVJXRND-UHFFFAOYSA-N 0.000 description 1
- 101150081376 NR1D1 gene Proteins 0.000 description 1
- 241000764868 Oodes Species 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 101100520284 Pithecopus azureus psn12 gene Proteins 0.000 description 1
- 244000097202 Rathbunia alamosensis Species 0.000 description 1
- 235000009776 Rathbunia alamosensis Nutrition 0.000 description 1
- 229910000635 Spelter Inorganic materials 0.000 description 1
- 241000388430 Tara Species 0.000 description 1
- 241000897276 Termes Species 0.000 description 1
- 206010044565 Tremor Diseases 0.000 description 1
- 238000004026 adhesive bonding Methods 0.000 description 1
- 230000001919 adrenal effect Effects 0.000 description 1
- 239000004479 aerosol dispenser Substances 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000036461 convulsion Effects 0.000 description 1
- 230000005574 cross-species transmission Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 210000003746 feather Anatomy 0.000 description 1
- RFHAOTPXVQNOHP-UHFFFAOYSA-N fluconazole Chemical compound C1=NC=NN1CC(C=1C(=CC(F)=CC=1)F)(O)CN1C=NC=N1 RFHAOTPXVQNOHP-UHFFFAOYSA-N 0.000 description 1
- 239000008187 granular material Substances 0.000 description 1
- 238000005338 heat storage Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 239000010977 jade Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 239000011148 porous material Substances 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000012146 running buffer Substances 0.000 description 1
- 210000003296 saliva Anatomy 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 239000007921 spray Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- MBYLVOKEDDQJDY-UHFFFAOYSA-N tris(2-aminoethyl)amine Chemical compound NCCN(CCN)CCN MBYLVOKEDDQJDY-UHFFFAOYSA-N 0.000 description 1
- 230000017260 vegetative to reproductive phase transition of meristem Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Description
Pcrientanwali
. Wilhelm E&iahel
Frankfuri/Main-l
Pkß "
Burroughs Corporation, Detroit, Mich*, XTSA
Datenverarbeitungsanlage
Die Erfindung betrifft eine Datenverarbeitungsanlage, die einen
feil eines großen elektronischen Rechengerätes bildet, der aua
einzelnen Bausteinen oder Moduln aufgebaut ist. Insbesondere bezieht
eich die Erfindung auf eine Baueinheit zur Datenverarbeitung,
die in einer aus einzelnen Baueinheiten aufgebauten Datenverarbeltungsanlge
verwendet werden kann« Die Datenverarbeitungsanlage kann eine Anzahl von Rechengeräten, eine Anzahl von Eingebe
Ausgabesteuergeräten und Nebengeräte enthalten, die mit den Eingäbe-Ausgabegeräten
und ihren Speiehergeräten zusammen arbeiten«
Außerdem sind Verbindungselnrichtuzigen vorgesehen,sαB» Schalt-'
mittel, die getrennte Baueinheiten bilden können oder auch mit den anderen Baueinheiten teilweise oder gen« zusammenhängen und
die ala Verbindungseinrichtungen awischoR den Datenverarbeltungsbaueinh«iten
άαν Erfindung sowie mit den Speichereinheiten dienen,
die EU der Anlage gehören und rait denen sie verbunden sind» Außerdem
karra -eisi© I/O-Bausinheit, die ähnlich ausgebildet ist, wie
die Schalt'-Bßu-'Einhext vorgesehen sein, und awischen dsn Hebengeraten
und fieii Etngabe/Au3gabe~Steuergeräten
t3 0 0 8 S 1 / 1 & 6 9
Bor Auedruck "Baueinheit" oder "Modul" soll in der vorliegenden
Anmeldung unabhängig funktionsfähige Einheiten bezeichnen. Die
Erfindung ist nicht beschränkt auf Biueinhelten mit festen mechanischen
Grtusen und es soll auch nicht bedeuten· daß die
Baueinheiten nicht auch noch kleinere Einheiten oder Unterοin»
halten oder Teile enthalten, die noch andere Punktionen ausfuhren, als es durch den Hamen der betreffendem Einheiten angedeutet ist. Die englischem Ausdrucke "proceoüor, coapivtsr, proceseor
modul, computer modul und central processor", die in der amerikanischen
Ursprungsanmeldung vorkommen, werden als äquivalente Bezeichnung fUr Geräte verwendet, die in der vorliegenden Beschreibung alt der .Abkürzung"DY", das heißt Detenverarbeitungsge;
rät bezeichnet sind, für den Ausdruck MEingabe-Au3gabe" wird die
Abkürzung "I/O" benutzt, '
In der Anlage, in der das DV gemäß der Erfindung verwendet wird,
und in der außerdem I/O Steuereinheiten und Speichereinheiten vor*
banden sind, können diese Einheiten Befehle ausführen, die als "Descriptoren" bezeichnet elnd» Die Anlage kann auch so ausgebildet sein, daß nur ein oder zwei Geräte Deecriptoren verarbeiten
können« Diese Descriptoren leiten eine Folge von Operationen
ein» So kann z»B» ein Desoriptor für eine I/O-Steuereinhelt
einen Befehl enthalten, bei dessen Ausführung ein Datenblock aus einen lebengerät entnommen und in zusammenhängende
FIaVtse im Speicher eingeführt wird. Bei einen bevorzugten AuefUhrungebelepiel
ist die Anordnung so getroffen, daß die Speiohereiaheit
selbst einen Descriptor ausfuhren kann, der z.B? eo
auegebildet 1st, daB der Datenblock in der Speichereinheit abgetastet wird, um feststellen bu können, ob die darin befindlichen
Worte mit Kennzeichen übereinstimmen,die durch das DV-Gerät
der Erfindung spezifiziert sind. Bei einem zweiten bevorzugten
AusfUhrungsbeieplel sind die Speiohereinheiten nicht mit
BAD ORIGINAL 009851/1589
der fä&igkeit ausgestattet, Hire eigenen Eeocriptoren einzuleiten
oder aus Erführen« Dae M selbst arbeitet unter Programmsteuerung»
Dia Anlage salbet wird in Verbindung Bit einen Befehlaprograen
verwendet. Die Seseriptoren, die in einer Anlage verwendet
werden, von der das BV der Erfindung einen Teil bildet, enthalten
z.B. Worte mit 52 Bits, die in verschiedene Felder unterteilt eind. T/O-Descriptoren werden in der Anlage auch für Operationen
mit Kanalworten und mit speziellen Prograstaeohritten verwendet,
die eich mit Vorgängen der I/O-Steuereinheiten befaeeenο Die
verschiedenen Arten von rescriptoren und ihre Benennungen, die
besondere für die Benutzung in I/O-Steuerbaueinhoiten wichtig
eind, werden später im einzelnen erläutert, um dee Verständnis
der Erfindung zu erleichtern.
Ea eei darauf bingewies en, daß das ZHV gemäß der Erfindung best irate Operationen nicht auszuführen braucht, zu denen die übertragung
von Informationen und überführung deraelben in den SpeicherxJ
von Hebeneinheiten aus gehören. Biese Punktionen werden von den
oben beschriebenen I/O-Steuereinheit der Anlage durchgeführt,
von der die Erfindung einen Teil bildet. Außerdem hat bei dieser Anlage das Rechengerät selten die Aufgabe, die I/O-Steuereinheit
BU veranlassen, daß sie selbst der Reihe nah bestimmte Aufträge
durchfuhrt. Die I/O-Steuereinheit steuert aioh normalerweise
selbst kontinuierlich mit Hilfe von Verblndungsdesoriptoren,
die weiter unten näher erläutert werden. Außerdem können die I/O-Stuerelnheiten so geschaltet werden,daß jedes einzelne Eingabe-
und Ausgabegerät oder jede Gruppe von Eingabe- und Auegab«-
geräten von einem getrennten Kanal des i/O-Steuergerätee bedί»at
wird und in diesem letzteren Falle die Notwendigkeit wegfällt,
eine wahlweise Steuerung vorzusehen, um festzuatellenf welohe
I/0-Einheit die Übertragung vornehmen soll« Es sind besondere, die Kanäle bezeichnenden Worte, dah. Kanalworte vorgesehen, von '
00S85 1 / 1 569 --
dtntn jtdea »ich auf tinen Ubertragungekanal «wischen I/O-Gerättn
und I/O-Steuertinheiten bezieht. Bei einer bevorzugten Anlage
sind 51? derartige Kanäle vorgesehen, wobei ein oder zwei Kanal· und die zugehörigen Worte einsein den betreffenden Eingabeund
Auegabe- oder Bebengeräten zugeordnet Bind« Außerdem
kann bti einer AuefUhrungsform der Erfindung der Speicher selbst
eine Anzahl von Programmachritten enthalten, die in einer sol»
chen Sprache geschrieben sind, daß sie nur von der l/0<iSteuereinheit
und nioht von des Rechengerät gelesen werden kann, wobei
diese Schritte nicht von dem Rechengerät ausgeführt werden, sondern
von dem I/Ö-Steuergerät« Zu diesen Programmschritten ge«
hören solche Vorgänge und Informationen wie Prüfen, Angabe der
Zahl von Worten, die Übertragen werden sollen, und an und von
weichte Sebengerät sie können-, sowie das Einleiten von Übertragungen
auf anderen I/Q»Kenälen innerhalb der betreffenden I/O-Steuereinheit.
In dem ^eichergerät sind eine Gruppe von Parantttra
tnthalten, die es erlauben, eine Progranmfolge zu Individualisieren,
die eine Gruppe von Frogracnaschritten enthält.·
In dta Speicher ist außerdem eint jtwtila eint» "Kanalwort"
sugtordnete Paraneterfläche vorgesehen, Sie Schaltung hinter
der Pftrsatttrfläoht lot so ausgeführt, daß die Parameter getrennt
wtrdtn könnenο Bit Paraaottr enthalttn Infonsationen, welche die
internen Operationen betreffen, s,B, vieviele Worte übertragen
wtrdta tollen, oder die 8ptiehtradrt«se, an die die Wortt ausind,
oder der Σ/0-Xanal, dtr nach Bttndigung dtr
aktiviert «rtrdtn soll, usw. Ea iat dahtr aöglich,
daß vtrichiedene I/O-Kanält dit gltiohtn Z/O-Programiachrittt
ia »ehrtren vtrschitdtnta Parans et «rf lachen aua führen. Dies tr-■öglioht
te, g.S. das vielt aa»ina»dtr ähnliche Vorrichtungen,
t«B. Karttnlttegträttfdit gleichen Z/O-Prograsaachrittt aueführtn
kOnntn und dafi trotsdtB die Daten getrennt voneinander gt-Kü\t«fi
vtrdtn und auch die Optra*ionen gtstrtnnt. auegeführt
wtrdtn, da die Paramtttrflächen getrennt sind.
009851/1-S69-' bad original
Auf diese Weise tdLdet dieSeihe von Programmeohritten tateäohlioh
eine Reih· von Boutinen» die eine beliebige I/O-Steuerop·ration
betreffen und ein getrennter Teil des Speichers enthält eine
Liste der speziellen Nummern von Gegenständen und Torgängen
für die Identifizierung, die eingespeichert oder übertragen
werden sollen, oder an denen irgendeine andere Steueroperation
ausgeführt werden soll. Hierdurch ist es möglich, daß d ie I/O- ,,
Steuereinheiten Übertragungen ausführen, bei denen Befehle und Daten getrennt sind, so dau die Notwendigkeit für eine Wiederholung von Routinen vermieden wird«
Eine dritte Fläche im Speicher ist allen Kanälen gemeinsam.
In diesem. Bereich werden die Ergebnisse von Kanaloperationen eingeschrieben-, Sie Ergebnisse werden eingetragen, wenn der
Prograismechritt des speziellen Kanalprogramms ein Schreib on dtr
Ergebnisse verlangt ο Der Bereich ist durch ein Grundadreeeenr·-
gister definiert, das der ganzen I/O-Steuereinheit gemeinsam ist,
und das mittels !Programmsteuerung <
gesetzt wird.
Die I/O-Steuereinheit, mit der das DV gemäß der Erfindung ,
zusammen arbeitet, steht mit einem Speicher in Verbindung* der
In dem I/O-Steuergerät enthalten sein kanne Dus Hauptkennzeichen
dieses Speichere 1st eine Flächepro Kanal, dit etwa 104 Bit«
Steuerinformationen und ein odermehrere zueätBliche Wort·» zeBs
•in Batenwort ,enthält.
Se sind aus einzelnen Einheiten aufgebaute Ee oben-Anlagen oder
-maschinen bekannt. Zu ihnen gehören ζ.B* dl· von der Anatlderin
vertriebenen und hergestellten Rechenmaschinen B 5000» £825
und B55OO. Diese Maschinen sind in den von der Firma herausgegebenen
Handbüchern beschrieben, z.B. in des Handbuch "Burrcmga·
Militarized Modular Data Processing System",das von der Burrougha
Corp. Paoll, Penna, bezogen werden kann und in den Handbuch
009851/1561 ,
SADORiQlNAL
"Burroughs B 5500, Information Processing Syβteaβ, Reference Manual,
Copyright 1964, das von dar Burroughs Corp.Detroit, Mich, herausgagaban
ist. Dia Erfindung geht von einen Stand dar Technik aue,
dar durch diese Druckschriften gegeben ist.
Die Erfindung betrifft Verbesserungen zur sogenannten «weiten
Generation von Rechenmaschinen. Sie Erfindung befaflt sich besonders mit Schaltungen, die eine bessere Vorausschau oder Vorbereitung
(look ahead system) ermöglichen, die die Yerselbständigung
der Baueinheiten des geaasten Systems sum Ziele habet unä
mit einer Begrenzungseinrichtung des dynamischen Speichers zum
Schütze von individuellen Programmen» Das SV gemäß der Erfindung
ist so auegebildet, das es mit einen Eauptplanprograaa und mit
einem Steuergerät arbeiten kann, ao daß aloh weniger Unterbrechungen
beim Betrieb der Anlage ergeben· Me Erfindung hat den
Vorteil, das wesentlich weniger Oparationen und Vorgehe erforderlich
sind, üb die Rechenvorgänge auszuführen· Das DV gemäß
der Erfindung enthält auch strukturelle Vorteile, s.B. werden bei
dem DV gemäß der Erfindung die Adressen für f?ie Befehlevorausechau
einer VorrückechaItung (ADVAST station) zugeführt, in der
die Verarbeitung des Befehle vorgenomien wird und werden vorher
einer Befehlevorausschaueohaltung zugeleitet, so dafl wenn ein
Sprung eintritt, ein« Wiederholung von unnötigen oder unerwünsohten
Schritten nicht durchgeführt zu werden braucht, weil die Vorrüokachaltung
zu arbeiten beginnt. Dae heißt, die Vorausschau,
ob ein Sprung eintreten wird, findet statt, bevor eine Verarbeitung
in dem Rechner stattfindet und es wird über den Sprung entschieden,
bevor irgendwelche Schritte oder La teneanipulationen
stattfinden,
Oeaäß der Erfindung ist ein assoziativer Speicher vorgesehen,
der in einer besonderen und neuartigen Weise die Vorginge in Verbindung mit einer Frograonbezugetabells verbessert, so daü es
009851/1569
•ο daB ·β alt Hilf· der Q«rät· eöglich ist, auch Mehrfachaufgaben
und Mehrfachoperationen tu überwachen und su planenο
Außerdem wird ein schnellere· Arbeiten und ein maximaler Wirkungsgrad
der. AuenutEung ff «S^litnintnla^e ohne Erhöhung der Program ■ierungeechwl«rlgkeit
dadurch bewirkt, daß die Punktion der Baueinheiten des Rechengerät·· aufgeteilt werden, und individuelle
Einheiten für jede individuelle Funktion vorgesehen sind,
und ιwar für die Einheiten tür Befehleverarbeitung, sur Sllbenb«*tlsMung,
für die ASVASI- und Endechaltungen, und ihren Betrieb
la Parallelverfahren anstelle des Reihenverfahrene.
Das DV gasäS der Erfindung bringt infolg· der Parallelverarbeitung
Vorteile alt «Ich, ao daß «ich dar Programmierer nloht alt
den Emtelhelten der Operationen in der Mae chine tu befaaten .,'·,.
brauoht. Dies 1st «in Vorteil, aogar gegenüber geplanten Maschin
η·η, die nach de» Erfindungsdatu» dar Anaelderin beschrieben
worden «Ind. B.B. Hechenanlagen, dl· in der Veröffentlichung von
"AfIP8 Conference Proceeding··, Band 26, Teil II, I964?*5ttnt
Coaputer Conference" unter des fitel "Very High Speed Computer
8ystea" von d»r Asaoolatlon for Computing Machinery, «to*,
Copyright 1965, tob der Aeerioan federation of Information Proo«sslng
8ooietiee, 211 £ast 43rd Stret, lew York, I.Y. 10017t
8parton Book·, Imc, 1106 Connecticut Ave., I.W. Washington, £.0,
Selten 33-66 beeohrieben sind·
Sin weiterer Vorteil der Erfindung besteht darin, dtß ei· «in·
Eeohenanlage schafft, die eine Aniahl von sehr sohnell arbeitenden
Hilfespeichem in dar Baueinheit enthält, wobei dl· Hilf·-
epeicher vereohiedene funktionen gleichseitig ausfuhren, s.B. Iif
Verarbeitung von Befehlen la einesier sehr söhne11 arbeitender
Hilfeepeicherabschnitte und gleichseitig dl· Verarbeitung von
Baten in «in·· anderen Abschnitt dea betreffeoflen Speiohers.
008851/1569
8^D ORIGINAL
Gemäß der Erfindung werden eineeine, gleichzeitig und getrennt
schnell arbeitende Hilfsspeicher, dieuais "Scratch-Pad"-Speicher
bezeichnet werden zur Befehlsvorausβchau sowie für die Trennung
lokaler DAten, ferner alo zugehöriges lokales Register, odor
für das vorübergehende Warten vor einer Vorrückechaltung und
einer Endschaltung oder ala getrennter Stapelhilfsepoicher und
als getrennter assoziativer Speicher benutzt«, Gemäß der Erfindung
können alle diese Teile aus sehr schnell arbeitenden Einheiten, ZtB. au· integrierten Schaltungen und/oder aus Tunneldiodenechaltungen
und/oder aus Dünnschichtspeichern hergestellt sein. Ein
weiterer Vorteil der Erfindung ie t, daß das SV in der lage ist,
di· Ope ationen sehr rasoh durchzuführen» z*B· in einer Zeit,
die nur 100 lanosekunden für einige Operationen beträgt und
daS da· DV in der Lage 1st, mit «ehr hohen Frequenzen zu arbeiten,
s.B. in der Größenordnung von 30 KBz, obvohl auch höhere
und niedrigere Frequenzen verwendet werden können, z.B. in der
Größenordnung von 10 oder 20 MBc.
Der Erfindung liegt daher die Aufgab· zugrunde, «in DV für eine
Anlage su achaffen, bei der di· Zueaanecarbeit der Gerät· ait
•in·· Extcutive-Prograea erleichtert iat, to daß VialfachprograsB·
und gleichzeitig· Vielfaohoperationen durchgeführt werden
können.
Di· Vitlfachoptrationen aollen in «in und derselben Baueinheit
d·· Beohner· durchgeführt werden können.
Da· DV gtmäQ der Erfindung aoll in der Lag· »ein, auoh zusaenengeaetste
Program· unter der leitung ·1η·β Executive frograuO
auezufuhren» Kino Aufgab· der Erfindung b«at«ht auch darin» d»n
009.851/1569
Durchsate des Gerätes dadurch au vergrößern, daw eine Vorausschau
eingeführt wird,die jedoch die Nachteile und unnötigen Vorgänge vermeidet, die bei bekannten Voraussohau-Einrichtungen
erforderlich waren0
Dabei soll die Vorausschau derart durchgeführt werden, daß zwar eine Parallelverarbeitung eines vorliegenden und eines vorausgesetzten
Befehls bewirkt, jedoch ein Befehl in einer Endstation erst ausgeführt wird,wnn festgestellt worden ist,daß die zukünftigen
Befehle in der VorafissfHaltung keinen Sprung oder einen
anderen Vorgang enthalten, der das Verarbeiten oder die Durchführung des vorliegenden Befehls als nachteilig oder unnötig erkennen
läßt ο J)Ie Hanchine soll in der Lage sein, die Vorausschau
in der Weise durchzuführen, daß nur diejenigen vorausgenraeenen
Befehle ausgeführt werden, die tatsächlich zukünftig durchgeführt werden Bussen, wobei die Maschine Bit Einrichtungen versehen
ist, üb mehrerer8. _klei«voraus vorwegzunehmen, so daß vor
Durchführung des Befehls oder Schrittes festgestellt werden
kann, daß eine Abzweigung oder Übertragung nicht erforderlich 1st, die die Durchführung de· Befehls oder Schrittes illusorisch
aachen würde« .
?e?ner soll; das DV sich an eine MehrfachprograaBierung und eint. '
Mehrfaohverarbeitung leicht anpassen lassen, so daß tin Prograaa durchgeführt wurden kann, das in logische Segaente von Befehlen
und Konstanten unterteilt 1st, wobei eine Programabezugstabelle
die Verknüpfung zwischen dem Programm und den Datensegaenten
herbeiführt. Dabei wird eine Speicherfläohe angerufen, die einen
Operandenstapel und Anhang sowie einen Subroutine-Steuerstapel
aufweist, auf den durch ein BaaIbindexregister hingewiesen wird,
sowie eine globale Datenfläche,«eiche veränderliche Größen ent?·
hält, die von allen Subroutinen zugänglich sind.
BAD ORIGINAL
009851/1569
Forner soll gemäß der Erfindung das DV die Ausführung von
Sprüngen bei Übertragungsbefehlen erleichtern, die in Besiehung
mit einer beliebigen Silbe eines Wortes gebr a chi! werden« wobei die SiI^o eine bestimmte Asssshl von Bite umfaßt und mehrere
Silben ein Wort bilden·
Sas DV der Erfindung soll ferner anpassungsfähige und nerrenslchere
Srensen für den Speicher aufweisen und es aoll ein unzulässiger Zugang eu Eaten«egraenten awegoschloeecn sein» ao daß das
Programm gegen die ;äurstörung irgendwelcher Satendurch ein System
von Speichergrenzregistern und ein© Schutzvorrichtungfür die
Programmbesugstabelle geschützt ist<,
Außerdem soll das DV eine Sehuteschaltung aufweisen» so daß ein
Zugang au verbotenenPlächen bewirkt, daß das Programm unterbrochen
wirdf auoh tile Intnahisen aus bedeutungslosen Flächen sollen
ebenfalls eine unterbrechung herbeifuhren?
Bas BV gemäß der Erfindung soll ferner ind er Lag© s@im» Frograsflhdesoriptoren
zn 'verwenden, di® in @im& getBeinsaioen Prograioabe?
iiugstabelle enthalten sind, ua Übertsagungoa swischen Segnenten
des Programmes eu bewirken, wobei das Bech@sg*rät die Fähigkeit
der Prografflffldesoriptoren unterstütst, di® Adressierung einer
Silbe in dem Segment zn bewirken»
Das BV gemäß der Erfindung soll ferissr tsitnineia Arbeiiepelcher
zusasRsenarbeiteii, der drei logisehe Segssente enthält, nämlioh
einen Operandenstapel, eine gemeinsame Progrannbeeugstabelle und'
einen Subroutinensteuerstapel, der in einem susammenhängenden
Speieherblock untergebracht ist und dureh ©atenverarbeitungsspeir
ohergrensen begrenzt ist, wobei der Operandenstape! für alle logischen und arithiBetisohen Operationesi und sue Festhalten der
vorübergehenden Ergebnisse benutzt wi»d» wobei ferner ein geuein-
000851 /156Γ
earner Datenbereich entsprechend adressiert ist, und wobei der
8ubroutine-Steuerstapel den dynamisch zugeordnen Raun für subi·outine
Vorgänge und euch örtliche Variable, Indexworte und
Paraefer enthält <-
Bas DV der Erfindung »oll auch eine Schaltung zur. Ausführung
von Befehlen aufweisen und eine Vorauaachau eraugllchen, so daß
viele der Befehle, die in die Vorausauliau-Schaltung eingespeist
werden, aber noch nicht verarbeitet su werden brauchen, in einer
solchen Weise umgesetzt werden, da3 eine beträchtliche Ersparnis
an Schaltung auftritt.
Sohlitßlioh soll die DV geaäß der Erfindung eüte Schaltung sur
Vorprüfung von Befehlen, eine VorrUokschaltung, eine Warteschaltung und eine Endschaltung aufweisen, wobei die Vorausschau auf
die Befehle getrennt von der Schaltung ist, so daß die VorrUok- ;
sonaltung virkungsvoller betrieben werden kann, indes die Schal-'
tung eo getroffen ist, daß die VorrUcksohaltung keine Arbeiten
ausfuhrt, die wieder rückgängig geoaoht werden müßten. Wenn die
VorrückechaItung einen Sprungbefehl feststellt,* dann nlaat sie
swar PrograoiBworte auf, führt aber keine anderen Befehle aus, bis
üie weiu, ob ein Sprung gemacht werden soll oder nicht und welcher
Sprung ausgeführt werden β öl lc Sas S(V geaäß der Erfindung
untereoneidet eich daher vorteilhaft von anderen BVe, die alle
Befehle blβ rur Endstation ausfuhren und dann, wenn ein Sprung
auftritt, diesen berichtigen »Ussen, so daß die bekannten Einrichtungen, welche die Erfindung nicht aufweisen, den Vaohteil
einer langeaneren Arbeitsweise neben.
I» folgenden werden AusfUhrungsbelsplele der Erfindung la Zusaaaenbang-alt
den Zeichnungen näher erläutert. In den Zeichnungen let. *
009851/1161
BAD
Figur 1 ein Blockschaltbild, welches ein erstes Ausftthrungsbeispiel
des Srfindungsgegenstandes darstellte
Fig. 2 ein Blockschaltbild einer Ausführungsform einer Endschaltung, die euaamoen mit dem AuefUhrungsbeispiel der Erfindung
nach Figo 1 verwendet werden kann«,
Figo 3 ein Blockschaltbild einer Aueführung einer Schaltung eur
Voraussehen auf Befehle, die in Verbindung mit der Aueführung
der Erfindung nach Fig. 1 verwendet werden kann»
Flg. 4 ist ein Blockschaltbild, welches die Besiehung zwischen
der E&d-Warie-Sohaltung, einem vorübergehenden Speicher und der
Endschaltung des Ausfuhrungebeispieles zeigt, das in Fig* 1 dargtsttllt
let.
Flg. 5 1st tinBlockschaltbild, das ausführliche? den Optrandtnstapel,
die &&dschaltung und die eugehurlgen Btnerschaltungen und
Yerblndungsgerttte alt ihren cugehörigen Steuereohaltungen für das
AusfUhrungsbelspiel der Fig. 1 darstellt.
■ ■ ■ ■■-■■■" I
Figur 6 ist ein Blockschaltbild, welches die VorrUokschaltung
und die daeugehörigen Speiehereinheiten der Fig. 1 eeigt.
Figur 7 1st ein vereinfachtes Blockschaltbild, welches die Verbindungsgeräte
für das Aueführungebeispiel nach Figo 1 darstellt
Figur θ let eine Darstellung des Aufbaus der Befehle und εθigt
die Bits, Bytes und Silben von typischen Befehlen der verschiedenen
Arten von 'Befehlswarten, die bei dem Ausführungsbeispiel
der Erfindung verwendet werden könnenο Babel ββigt Figur 8A den
Aufbau eines einsilben Befehls. Figur„ΘΒ und 8C selgen verschiedene
Foraen von sweisüben Befehlen* Figur 8S selgt einen vier-
0Q98S1/1568
Adressen enthaltenden Befehl. Tlgur QE seigt den Aufbau eines Feldbefehle» Figur 8? ezeigt den Aufbau >on dreisilbigen
Befohlene Figur 88 seigt inen Sprungbefehl, d.h» einen
Speeialfall von zweisilbigen Befehlen» Figur 8H zeigt einen
Sprung bei einen Feldprüf be fehl* Figur 8.T iselgt einen Sprung
eines Indexprtifbefehle und Figur 8K zeigt den Set°up~Sprungbefehl
0
Figur 9 ist eine ähnliche Darstellung des Aufbaue von Worten
wie Figur 8 und zeigt die Bits, Bytes und die Anordnung von
Worten in der Programmbesugstabelle, d ie als Sprungbefehle
und Rttekinformationen verwendet werden» und die Wirkungsweise
der Executive-Programm- und eugehörigen Datenverarbeltungstuhaltung
unterstützen, um SprungoperaUonen aueeuführen<. Dabei ist
Figur 9A die Darstellung der Rückinfornation in der Frogramjbeeugstabelle,
die Worte "0" und Nitt. Figur 9S seigt das Sprung-Steuerwort
und Figur 90 geigt das Rucksteuerwort·
Figur 10 ist ein Blockschaltbild für das Aueführungebelipiel
nach Figur i.t wtlohta jedooh weitere Einzelheiten bringt} dien··
Bchaltbld eeigt die ZuaamenaetBiing der Figuren 1OA, 1OB und 100,
die susanmen die Figur 10 ergeben.
Figur 11 ist ein Blockschaltbild der Verbindungsainhelt naoh
Figur 7, welches weitere Einzelheiten dieser Schaltung bringt.
In Fig. 1 ist ein vereinfachtes Blockschaltbild eines bevorzugten AusfUhrungsbeispiels des DT gemäß der Erfindung dargestellt,
wobei das Serät sur schnellen Durchführung von Programmen dienen soll«
Das Gerät arbeitet parallel mit Hilfe von Prögrammfolgen,
die so geschrieben sind, als ob sie schrittweise nacheinander
auf üblichen, nicht parallel arbeitenden Maschinen ausgeführt werden
sollten. Die Befehlsl'olge besteht aus Befehlen, die im Pria»ip
009851/1569
-U-
etwa wit «it Btftalt fürdit Burrou^h B5OOO und dit B 55OO-Ma«
toaiata tufgttaut ■ iad und dit la dta oben erwähnten Yeröffentliohuagta
bteoliritbea sind» ilaigt dt* Befehle haben ktia Adrttttaftldi
tiaigt Befehl« haben tla Adrtsetaftld. Ud «ui Beitpiel
ein tfoit ie Speicher dt« Optraadtnstaptl obta susuftlhrta, β lad
ivtl Btfthlt trfordtrlioa. Dt? trete Befehl holt dtt Vort vra
8ptioAtr und ttttt es oben auf dta Stapel. Der swtitt Befehl
«dditrt dit btidtß oberen Worte des Stapels« Der Grund für die
Aufteilung der Funktion Auf vtrsQ<dtnt Befehle ist der, daß
der Befehlj tin Wort aus dta Speicher aarTorsuaoltn, in einea
fritnta Stitpunkt dtr Teig* ausgttUtot wird» so das Datua in
dta Stitpuakt vos&aaden sind, la dta der Befehl sur Durohftüiruni;
dtv Additloa autgtfUhrt wird.
&9«/Ης» 1 sind folgtadt ttastlat Soaaltuagta dargttttllt*
Hat TtvblaeiimiQtoaaltiaag 100, wtlolit dit ?«riinduögtn roe und
tue Sptiöbis? 122 tttfftttlltg «iae to^tittng 101 fur Vortuetoätu
•ttf Btftalt, dit seoa aioat a«tg«ftta?tt Befehle feethll*§ tiat
8§ae3.t«ag star Vfttettlluag worn Silbta »ue infttilta v^:. Be fehlen ι
tiat ToraüGfceu&tatuag 104 alt der- Btstioaaisag "ABTASi· einen tvo·
gstansililty 106 ait fines Btgittt* PCS iO€j tiat War^etohaltung"
10Θ ttix Eadtotftlilo (fllQ 106)f dit tiat toupet voa korsta Hegitttm
enthalt $ tiat fiadtonitltuag 110 9I18ff tiata ?orübergehtadta
Speicher SSKP 114t tiata Opt?aadtattsptl %%&t tinta a»so-■iatiTtaSpeicher
19- dtr swti Stgatat« aat» aValioh tiata ftil
118, ia dta dit Mrtetta ftttgtaaltta irt^ta und tiata Stil 120,
in dta dit Satta ftatgtaalftn vtrdta. Xa fig· 1 tiad fernei· ivti
EaaJtit für dSXitta aagtgttetai tia Kanal itf für Adressen, dit
dta Sptioii«r 122 eugtfUart wtrdta, uad tia Kanal 117 tut:. Beten,
dit sur Schaltung 104 tuvüokkoaata· AuSt?dta itt ia fig· 1 tia
Hauptspeicher 122 dargttttllt, dtr sbtr keinen feil der Baueinheit bldtt, Itr Ausdruck "Bautinatit", wit tr bit? verwendet vird,
soll nioht auf atohaaisoat Btgrtaiuagta wit öehüttee btaoaviakt
009851711SS
eein, sondern l«t ein Ausdruck, der «ich auf die
Bit Arbeitsweise des in Fig. 1 dargestellten OT ist wie folgtt
Befehle werden dem Speicher 122 über die Verbindungesehaltung
100 entnoBnen und der Yorauaschau-Sehartung 101 eugeführt» Mit
der Schaltung 101 ist ein Adreaoenregister ILAR (Fig» 3) verbunden,
das die Adressen für die Befehle enthält, die der Schaltung
101 sugefUhrt werden« Sieeoe Aäreeeenregieter enthält eine
Adresse, die etwas .vor der Adresse liegt, die in den Prograosjsähler
106 enthalten ist. DieSehaltung 101 enthält eine Ansah!
▼on Regietern, b»B, 12 Register sowie ein Adreesenregister, welches
den -flats ie Speicher 122 steuert, dem der nächste Befehl
entnoaaen werden aoll und auch swci Zeiger (pointer) 301 und 302
(Hg. 3), welche die Zahl der Befehle, die in'der Schaltung 101
gerade enthalten sind, befolgen. Die beiden Seiger 301,und 302,
die Zähler sein können, arbeiten alsEingtähltr, wobei der LeAesAhler
301 riersal jedesoal ua eine we it er »ehalt et, wenn susKtsliohs
rier Worte de* Speicher entnosaen werden, und der Entlade·
sähler 302 Jedes**! um eins weiterschaltet, wenn ein Wort der
Schaltung 101 entnoaven und ia die Silbenbesti»susgesohaltuag
102 Überführt wird. Der Bereich hinter des Zähler 301 und vor
denZähler 302 ist «it gültigen Befehlen gefttllt. Der Bereich
hinter dea Zähler 302 bis tu dem nächsten Zähler 301 ist alt
verarbeiteten Befehlen gefüllt.
Die beiden Zähler, von denen der Zähler 301 als Ladeeähler und
der Zähler 302 als Sntladesähler bezeichnet werden kann, arbeiten
wie folgt. Der Ladezähler 301 ist ein üblicher Zähler, der bei
des Aueführungabeispiel nit 12 Befehlen,e.B. zuerst von 0 - 11
eählt, entsprechend den 12 Registern bei der Ausfülirung nach
fig. 3ο Wenn nicht ein Sprungbefehl durch das Program ausgeführt
wird, dann achaltet der Ladesähler lsierroi fünften Register
auf das Ewölfte Register surück, bis ein Sprung ausgeführt wird«
009851/1569 badoriqinal
Ia Palie eines Sprunges wird auf das erste Register zurückgeschaltet,
Sie Zahl der Register in einer Schaltung soll nur ale
Beispiel dienen; es können nach der Erfindung auch andere Zahlen von Regietern, die größer oder kleiner sind, K0B0 16 oder
8 Register, verwendet werden. Der Zähler 301 bestimmt, in welches
Register das nächste Wort vom Speicher 122 eingeführt wird. Beim umlauf ist dao Register, auf welches der Zähler 301 gerade
hinweist, dasjenigo, welches dao Befehlswort vom Speicher 122
erhält. Außerdem int ©in ILAR-Zähler 304 vorgesehen« Der Zähler
18 Un dies zu tun, zählt der IMR-Zähler 504 von 0'bis 2 jeweils
us vier. Der Zähler IIAR 304 steuert daher die Vierfaeh-Sehritt«
in der Schaltung 101. Der Entladezähler 302 weist gleichzeitig auf eineβ der zwölf Register in der Schaltung 101 hin· Der Entladesähler
302 entleert jeweils ein Register.. Der Entladesählar
302 jagt den Ladezähler 301. Kenn jedoch der Entladesähler 302
dich bis auf vier Register demjenigen nähert, auf welches der
I*4es*hler 301 hinweist, dann bewirkt die Schaltung101, daß '
weiter« vier Worte dem Speicher 122 «ntnoaaen werden und dar
Zähler 301 wird viermal ua eins weitergeschaltet, so daw der
Abstand jeweils auf vier oder mehr Register gehalten wird. Jedoch
kann tine Verzögerung, die durch einen Konflikt alt anderen
Speicherzugängen entsteht, der Grund dafür «ein, da3 der Abstand eich auf drei, zwei oder sogar eins vermindert.
Die Befehle, auf die der Entladessähler 302 hinweist, werden
der Schaltung 102 zur Silbenbestimmung zugeleitet· Die Schaltung 102 enthält einen Schalter 1080, dessen Tore zwei Befehlsworte für diesen Zweck enthalten,: Dieoe beiden Worte enthalten
den nächsten Befehl, der von der Schaltung 104 gefordert wird, einschließlich eines zusätzlichen Wortes,, Die Schaltung 102 sur
Silbentrennung enthält einen Zähler, der die Silben zählte Es befinden
sich acht Silben zu sechs Bits in jedea Befehlswort. In
jedem Befehl sind eine Anzahl , BnB0 eine oder aehrtre Silben
enthalten. Die beiden Befehlsworte, die in der Schaltung 102 ent-
tv 0 3 8 5 1 / ι ϊ '·- 2"
3 '■*-*■ BAD ORIGINAL
• i
halten sind, enthalten 16 Silben von je 6 Bitβ ο Die·· 16 Silben
bilden einen Teil der Programmkette« Individuelle Befehle können
ein, zwei oder mehrere Silben lang sein, Die Schaltung 102
zur Silberibestimmung enthält auch einen Silbenschlebezähler (SSC)
und einen I6er-Zähler 1010 (Pig« 10/, der die nächste Silbe anzeigt»
die nicht auf die Schaltung 104 übertragen worden ist. Die Schaltung
zur Silbenbestimmung ist im einzelnen nicht getrennt gezeigt; sie geht jedoch aus dem Blockah<bild der Figur 10 genauer hervor*
Bei der Beendigung des laufenden Befehls in der Schaltung 104
zeigt der Zähler 1010 den nächsten Befehl an, der der Schaltung 104 zugeführt werden soll, Die Silbe, auf die der Zähler 1010
hinweist, und die nächsten drei Silben, werden alle auf die Schaltung
104 übertragen, wenn der Befehl vier Silben lang ist, d?h?,
seine maximale Befehlelänge hat. Der neue, auf die Schaltung 104
übertragene Befehl wird deoodiert, um festzustellen, wie lang
er tatsächlich ist, und der Zähler 1010 zählt ihn dann zur erstell
Silbe des näcSmten Befehles hinzu und dies kann eine der bereits
auf die Schaltung 104 übertragenen Silben sein.
Die Schaltung 104 enthält das vier-Silben-Befehlsrsglster, welches
bei der Beschreibung der Schaltung 102 zur Silbenbeetlmning
erwähnt worden ist, ferner die Codiereinrichtungen für diese Befehle,
die von dem Frogrammzähler 106 gezählt werden, ferner verschiedene
Arten von Basisadressenregistern und andere Register·
Haupteweck der schaltung 104 ist, diejenigen Befehle, die alt der
Berechnung von Adressen zusammenhängen und mit des Herbeiholen von,
Daten zu tun haben, zu decodieren, so daß das Herbeiholen von D§>
ten eingeleitet werden kann, bevor die Verrechnung der Daten «us»
geführt wird ο Befehle, die mit Berechnungen zu tun haben, werden
lediglich von der Schaltung 104 an die Warteschaltung 108 weiter^
geleitet, wo sie auf die Ausführung warten» BSfehle zub Berechnet*
0 09 85 1/15 6 9
von Adressen w©i>i©si dazu benutet, diese Adressen eu berechnen}
die Adreear \:^:ütm nach ihrer Erstellung der Verbindungsschaltung
100 iig@führt, un dea Speicher die Daten su entnehmen,
Sprungbefehle werden auch in der Schaltung 104 ausgeführt, Wenn dir Sprung eine Prüfung an eines Indexregister ist, dann
wird das Indexregister Säit dem endgültigen Wert in der Schaltung
104 verglichen und der Sprung ausgeführt, selbst Wenn nicht
alle Berechnungen, die mit diesem Sprung zusammenhängen,in der
110 beendet sind. Wenn andererseits der Sprung von D-ten verlangt, dann wartet die Anlage,bis
die fiidsohaltung 110 die Baten errechnet hat, die geprüft werden
tollen. Auf diese Weise wird im allgemeinen die Batensohal~ ··
tungausgeleert. Ein© Berücksichtigung dieses zuletst genannten'j
Punktes ist einer der üb»Sande, die den bisherigen Versuchen '<}'■■·
im Weg· et and en, eine richtige Vor a nase hau ohne die Erfindu
durchzuführen. Bei «eichen Anlagen ohne die erfindungegeoäöe
Einriohtung wurde vor Herstellung der Paten lediglich gerat «al·,;
welchen Weg die Prograaafolge gehen würde. Daher aufiten diese?:;*
Anlagen oft vqa neues beginnen und eine große Zahl von Daten-·
vorgängen !Becken«. '
Der Xnitxvorgang' ist tin Yerfahreneachritt, der beia
rtn verwendet wi^d, wenn tint AnMhI von Angaben vorliegt»
der «leiche Vorgang alt allen Angaben durchgeführt werden
Dabei die Adresse einer Angabt Jeweils ua tint Zahl erhöht,
et Zahl kann jedeeaal hinsugesählt werden, wenn tin Vorgang
alt dtn Dätenangaben ausgeführt fet. Da die Operationen, die a
den betreffenden1Datenangaben durchgeführt werden sollen, je* ,
desaal die gleichen sind, wird Jedesmal der gleiche *
code bub Ablauf gebracht. Dies bedeutet, daß am Ende dieses
feile des Progrannoodes das Indexregister u» einen Schritt
w:eiterg08chaltet wird, eo daß es beim näohettnital die näohatt
Dattngruppe verarbeitet<, Das Indexregiettr wird auch geprüft,
0.0 9851/1568
ob et stiatn Grenewer^ errticht hat, d.h. ob «11· Bitenfrappea
verarbeitet worden eind oder nicht« Dieser Vorgang kann in
voraus von dem Prograiieierer angegeben werden. Er befindet
eioh daher in der Progrftraaiolge und hängt nloht davon ab,
was alt den Baten paeeiert, Ee wird also in voraus bestirnt,
wae nit den Taten getan werden soll, unabhängig davon, wae
mit den Daten passiert. lter Ablauf der Operation wird daher
nicht gestört, wann die Datenverarbeitungsbefehlo nooh in
der Warteschaltung 108 unausgeführt zurückgehalten werden,
solange die Schaltung 104 das Indexregister IDXQ (Figuren
6 und 10) auf seinen Qremwert prtift und in Abhängigkeit
davon* die Verarbeitung in über einst immmng mit; 'den Progranaetufen
einleitet, die an der Stelle dee Speichere feetgehalte*
sind, der durch den IndexprUfbefehl gekennzeichnet ist. Ee
let bekannt, daß diese Befehle schließlich dann rollrogen
werden, wenn die Wartesohaltung 106 ausgeleert wird«
SIa prektieohee Beispiel der Schaltung 101 sur Vorauaaohaü
wird la folgenden beaohrieben, jedoch let die Erfindung
nicht auf dieses Beispiel beschränkt. Bei dea Beispiel werden. Zeiger (pointer) oder Zähler in Verbindung alt der Speioherfläohe
verwendet. Bei des Beispiel, das in figur 3 dargestellt ist, eind Lade- und fctladesähler 301 und 502 vorgesehen, die nur eine Fläche von 1.2 Werten in der 8ohaltuof
101 überstreichen. De« Beispiel liegt die Absieht lugrunde,
In der Schaltung 101 einen Block von s.B» vier Prograa*-
worten su haben, der einen Abschnitt eines Programs enthält, auf den die Prograaafolge bei der nächsten übertrat
gung springen kann» Die Ausdrucke "Übertragung;, ■Sprung"
und "Verzweigung" (transfer, junp and branch) sind alle
synonym=
In der Schaltung 101 1st eine Gruppe von 12 Worten enthalten,
wobei (Uq Worte 52 Sita aufweisen können, von denen
48 Befehle sind* Zwei Bits sind sogenannte Beiseichrunge-Bite
(Plag-Bite) und ein Bit dient der Paritätsprüfung.»
Wenn der Entladezähler 302 dem Ladezähler 301 folgt,
und den Abstand auf vier Worte oder weniger verringert,
wird ein weiterer Entnahmeryklue automatisch von dem
Hauptspeicher 122 ausgeführt, um die· Speicherfläche
Bit Befehlen zu versorgen« Ein unabhängiges Register,
näalich ein Vorochauadressenzähler 304 (Fig· 3) ist vorgesehen, das die erste Adresse in dem Speicher 122 liefert,
aus dem die Entnahme gemacht wird.
Bei dem Auoführungsbeiepiel der Fig. 3 iat ein Bereich
der Yorechausohaltung 101 vorgesehen, mit dem das Herbeiholen
von Befehlen be la Sprung abgekürzt werden soll· u
Der vler-Worte-Blook eit der Bezeichnung "old-jumpsntry
area", welche den nold-juap~entry-point" enthält,
wird beibehalten« Die Schaltung 101 enthält einen Uelaufswisohenepeieher
für zwb*lf Worte mit den Entladeeähler
302 und den ladezähler 301. Die vier zusätzlichen Worte
unter den zwölfen enthalten den Slagangspunkt bein
letzten Sprung. Die Überlegung ist hier, daß siealloh
hltufig Programme wiederholt zum selben Eingangepunkt
Springenο Bein Springen sub gleichen Eingangapunkt
werden die Worte» die bereits In der Schaltung 101 vorhanden
eind, noohaals benutzt. Wenn ein Sprung zu e^nen
neuen Eingängepunkt gea»cht wird, werden die Tier Worts
dss alten Sprungeingange ignoriert und neue Befehls
herbeigeholt.
Die Bezeichnung Adressenapeicher (scratch pads oder
scratch pad memories) beziehen sich auf JfltIne Speicher
«it gleichBäBigen Zugriffe- und Umlaufzelten, die des
Taktgeber angepaßt sind, und die mit der Herkunft und/ oder dem Verbleib der Daten eng gekoppelt sind. Disss
Speicher können örtliche Register 126, vorübergehende
009851/156
Speicher 114, einen Stapelanhang SOO und örtliche Zwischenspeicher 124 enthalten, die einen ersten Adreseenepeioher
und eine Schaltung 101 bilden können, wobei der assoziative Speicher 19 eine Progranmbezugstabelle und
eine Warteschaltung für Indexworte aufweist, sowie einen Wärmespeicher, die einen «weiten Adressenspeicher bilden
können3
Es wird nun wieder auf Fig. 1 und insbesondere auf den assoziativen Speicher 19 Bezug genommen0 Der assoziative
Speicher 19 enthält zwei Abschnitte 118 und 120. Er enthält
Raum für 28 Adressen und Baum für 28 Datenworte, d.h. einen Adreseenteil 118 und einen Datenteil 120.
Jede Adresse ist eine Speicheradresse, jedes Datenwort ist unter entsprechenden Bedingungen eine Wiedergabe des
Datenwortes, die in den Speicher 122 von der zugehörigen
Adreas· aufgefunden wird. Der assoziative Speioher 19
wird dazu benutet, den Entnahmeeyklus für den Speicher
kurzzuschließen« Wenn eine Adresse de» Speicher 122 fugt
fuhrt wird, wird sie mit dem AdressenfβId 118 des
»•eosiativen Speichers 19 verglichen. Wenn der Vergleich
erfolgreich ist, wird das Datenfeld in dem assoziativen
Speicher 19» anstelle des Datenfeldes in dem Hauptspeicher 122 ausgewählt. Der assoziative Speicher 19 vixä
für drei Arten von Daten benutzt. Er wird für diejenigen Worte benutzt, die als Indexworte verwendet werden. .
Er wird für indirekte Adressen in der Programebeiugstabelle
benutzt und er wird für Wort· benutet, die gespeichert
werden. Diese drei Funktionen sind in den Block 19 der Fig. 10 dargestellt, und werden nun der Reih·
nach erläutert.
In dem Speicher 122 werden Indexworte festgehalten und
mit Speicheradressen versehen, Wenn auf ein Indexwort
Bezug genommen wird, das nicht in dem assoziativen Speir
009851/1569 ßAD original
eher 19 enth«Iten ist, wird ein alter Eintrag aus dta
assoziativen Speicher in den Hauptspeicher 122 zurlickgospeichert
und der neue Eintrag, auf den Bezug genommen
wird, wird dem Speicher 122'.entnommen und verwendet.
Seine Adresse und Eate^n werden in dem assoziativen Spei·
eher 19 zurückgelassen, in dem sie einmal benutzt worden
sind, in der Annahme, daß Indexworte bald und häufig
benutzt werden.
Die zweite Verwendung des assoziativen Speichere 19 liegt
bei den indirekten Adressen in der Prograrambejsugstabelle»
Die" Programmbesugstabelle wird abgekürzt ale PRT bezeichnet»
Die indirektenAdressen der PrograBrnbezugatabelle
sind in gewieser Besiehung ähnlich den Indexworten, Sie
werden aus dem Speicher 122 abgerufen, damit die Schaltung 104- sie zur Erzeugung von Adressen von Baten,benutzen
kann«. Ein Abschnitt von 24 Worten des assoziativen Speicher
is 19 (IMQ und PSfQ, Mg, 10) ist für Indexworte und
Prograonsbezugstabellenleitungen reserviert, Dieser Abschnitt
von 24 Worten des assoziativen Speichers 19 arbeitet,
als umlaufender Zwischenspeicher ähnlich wie dl· Schaltung 101 ale umlaufende? Zwischenspeicher arbeitet.
Wenn auf «ine FRT-Leitung oder ein Xndexwort Bezug
genommen wird, das eich nicht in dem assoziativen Spti- '
eher 19 befindet, dann wird die älteste Leitung oder da·
älteste Wort aus den assoziativen Speicher 19 entfernt und durch das neu eing»führte Wort oder die leitung an
de» alten Plate ersetzt« Sa PHT-Leittmgen niesele verändert
werden, werden auch PRS-Leitungen nicht in den
Hauptspeicher 122 ssurüekübsr tragen, Die Indexworte jedoch_
werden beim Gebrauch abgeändert. Daher müssen alte Indexworte
in dem Hauptspeicher 122 wieder eingetragen werden, so daß die erhöhten Indexworte nach de» neuesten
Stand in dem Hauptspeiehe? 122 enthalten sind* Der Adressenteil
116 des assoziativen Speichere 19 wird dazu
BAD ORIGINAL,
0 0985Ί/1569
benutet, un die Adressen zu kontrollieren, unter denen
diese Worte in den Hauptspeicher 122 wieder eingetragen werden«
Der assoziative Speicher 19 kann atrier dem Indexwortabschnit*
IDXQ und dom Prograsnsbezugtabellenabochnitt PRIQ
eine Hauptwarsenchaltung STORQ entfalten (die alle in Pigur
10 dargestellt, aber nicht Bit Bezugseiffern versehen
sind)e
Die dritte Aufgabe des assoziativen Speichers ist die einer Hauptspeicherwartesehaltung (main storage queue), Ein
Speicherbefehl an den Hauptspeicher ergibt die Berechnung
einer Adresse in der Schaltung 104» Diese Adresse wird in
den nächsten freien Fiats in der Warteschaltung STORQ (Figo 10) eingeführt. Die Warteschaltung STORQ arbeitet
auch als ualaufender Zwischenspeicher, wie die Schaltungen
IDXQ und FRTQ dee assoziativen Speichers 19 und der
IS/ölf-Worte-Abschnitt der Schaltung 101. Sie Adresse wird
in die Schaltung STORQ eingeführt und der zugehörig· Datenabechnitt
Bit den Zeichen "eepty" (leer) versehen*
Dieser leere Datenabschnitt ist XUr diejenigen Daten
bestivot, die unter der Adresse gespeichert werden, wenn
die Schaltung 110 den gleichen Funkt in der Frogranafolge
erreichte
Eine einseine Zelle der Schaltung SIORQ des assoziativen
Speichers 19. besteht aus einer Adresse und eines Datenabechnitt*
.'er Eafohl:" im Speicher festhalten", hat das
folgende Ergebnis» Wenn der Befehl über die Schaltung 104
ankommt, wird eine Adresse errechnet und in den Adressenteil
der Zelle des assoziativen Speichers 19 festgehalten*
Der Datenteil wird in diesen Pall ait der Bezeichnung "eapty", d-h* "leer" versehene Wann dieser Befehl bis zur
009851/1563
Warteschaltung 108 vorgedrungen let, werden die Γ*ten
rota obersten Flats des Operandenstapels 116 durch die
Schaltung FIHSI 110 entfernt und In den Detenabsohnltt
dieser Zelle der Warteschaltung SIOBQ eingeführt. In
dleaeo Zeitpunkt wird die Beeei.chnung "eapty" wieder
entfernt und die Schaltung.. ICO darf die Speicherung
ausführen.
Die Warteschaltung SIORQ hat £wei Aufgaben. Zu·rot soll
ale dafür sorgen, daß der Vorgang des Speichern« Indes
8p·loher 122 durch die Schaltung 100 beliebig ausgeführt
werden kann, und nicht alt anderen Torgängen zeitlich suaaaaentrifft, die den Speicher 122 betreffen. An «weiter
Stelle und wesentlich wichtiger jedoch let die Tat*
aache, daß die Schaltung SIOHQ benötigt wird, u» die
folgenden Schwierigkeiten iu beseitigen. Wenn Daten de*
Speicher 122 entnoaaen werden» auS sichergestellt werden»
daß die entnoaaenen Daten der letsten Wiedergabe entepreehen,
die in der Prograoafolge erseugt worden ist.
Wenn die Schaltung 104 aohneller arbeitet als die
Schaltung fH8I 110, 1st es auglich, daß die Schaltung
104 den Speicher 122 Worte iu entnehmen eucht, bevor die
Endschaltung 110 die Worte hergestellt hat, die herbeigeholt oder vorbereitet werden sollen. Dadurch, daß die
Adresse in der Warteschaltung SIORQ enthalten ist, wird
jedes Wort, das in den Speicher 122 festgehalten werden
eoll, aber dort nicht angekommen ist, erkannt. Die Adresse
eines solchen Wortes wird erkannt, wenn die Adresse
dea Befehls sub Herbeiholen alt dea umlaufenden Speicher
verglichen wird» Wenn die raten die Bezeichnung "eapty"
enthalten, dann bedeutet dies, daß das Wort noch nicht herbeigeholt werden kann·
Bs wird nunoehr auf die Warteechaltung 108 und den voJ*
Übergehenden Speichor 114 der Pig- 1 Bexug genoaaen»
009 851/1561
' BAD ORIGINAL
Die Schaltung 108 enthält so viele Register, daß ei· vier
Befehle in einem unlaufenden Zwischenspeicher aufnehmen
kann, ähnlich wie die drei umlaufenden Zwischenspeicher in dem oben beschriebenen Bauteil. Ein Ladeifiähler 411»
ntolich der Zähler FIIiQ-IEMP (FSLP von Fig, 4) ist
hauptsächlich zur Verwendung der Schaltung 104 vorgesehen
und markiert den Punkt, an dem die Schaltung 104 Befehle
βineetKt, die sie erledigt hat, deren Durchführung \
jedoch noch nicht beendet istο Die Ausführung solcher
Befehle wird von der Endschaltung 110 beendet· Ein Ent- ■
nähme- oder Ablesesähler 41?, nämlich der Zähler
FIIQ-IEHP (FZRP in Fig. 4) bezeichnet das Ende des
Warte vorgänge und stellt den Plats dar', an den die Befehle
auf die Endschaltung 110 sur Durchführung übertragen
werden» Die Schaltungen 108 und 114 sind in Fig« 4 ;
echematisch dargestellt. Sie Sohaltung 114 kann vier ]
Zellen von je 52 Bite enthalten sur Aufnahme von Daten· j
werten, die in Verhältnis 1 $ 1 den vier Zellen der Schaltung 108 entsprechen» Die Zellen der Schaltung 108 an- ·
dererseits enthalten nur kurse Speicherwert·, s.B» Je i
sieben Bits für Befehleο
Einige Befehle in der Warteschaltung 108 nutsen die
vorübergehende Speicherung in der Sohaltung 114 nicht aus.
Beispiele für solche Befehle sind Kultiplisieren, Dividieren,
Addieren und Prüfbefehle, die die beiden obersten Worte des Stapels vergleichen usw» Einige dieser Befehl·
sind solche, die speziell auf die sugehurigen Zellen
in dem Speicher 114 hinweisen» Diese Befehle enthalten · in erster Linie den einen Befehl, der die übertragung
von dem Speicher 114 sum obersten Plats des Stapele 116
bewirkt (vglο Τ.0,S3, Figuren 5 und 10). Dieser Befehl
in der Schaltung 108 kann von einer Aneahl von Befehlen
herrühren, die in der VorschauBchaltung 104 betrachtet
wurden, wozu auch Übertragungen von dem Speicher sur
0Q9B51/1569 " .. ;
' BADORlGiNAL
Schaltung 114, Übertragungen vom örtlichen Datenswieehenepeicher
124 sub Speiober 114, Übertragungen von
dea Adressenregister AAR 602 (flg. 10) sub vorübergehenden
Speicher 115 gehören, und die alle In der warteschaltung
108 erscheinen, ua eine Übertragung von dea vorübergehenden
Speicher 114 ium oberen Plats dee Stapele durchzuführen. Die Schaltung AAR 602 let der centrale
Akkumulator der Vorrückeehaltung (siehe fig. 10).
'/;=■ wird nun auf die Bndaohaltung 110 In flg. 1 Besug
genoaaen. Die Endschaltung 110- erhält nach Beendigung
eines gegebenen Befehle ihren nächsten Befehl von der 8teile, auf die der Entledesählsr 412 der Leeekontrolleohaltung
1022 hinweist. Das Befehleregieter der Bndaohaltung
110 hat eine Beoodlermatrlx 1023 (flg. 10),
die bei der Ausführung der Befehle althilft. Sie Ausgangaiapulee
der Deoodieraatrix 1023 betätigen Addierer,
Vergleicher 1021, ein Schieberegister 1020 und andere logieohe Sohaltungen. flg. 10 zeigt diese Schaltungen
und Ihre Zusammenarbeit. flg. 2 selgt das Gerät JHBf
la elm einen.
Es wird nun In flg. 1 auf den Operandenstapel 116 Besug
genommen, der in figur 5 im einselnen dargestellt let.
0er Operandenatapel 116 ist ähnlich ausgeführt wie der
Operandenstapel der Maschine Burroughs B 5000 und B 5500, die In dem oben erwähnten Handbuch beschrieben sind. Ss
ist ein Operandenstapel· bei dem der letste Eintrag als erster ausgegeben wird, und arbeitet mit einem Oode, der
such als ^Polish-Code" betelohnet wird. Sie Pollsh-Sohreibwelse
ist ein Verfahren, um Ausdrücke ohne Zuhilfenahme von Klammern su schreiben* Sowohl die Maeohine
B 5000 als auch die Maschine der vorliegenden Erfindung ermöglichen es, eine unbegrenste Länge dee Stapele su
009851/156«
erreichen, indea überschüssige Stapelwortt in de· Speicher festgehalten werden. Das vorliegende Aueführung·beiepiel
unterscheidet eioh jedoch von der Aueführung der
Meeohine B 5000 durch die Zahl der Worte dee Stapel·,
die in des TN festgehalten werden können, bevor der Überschuß in den Speioher abgegeben wird. Sin feil des
Adressenspeichers 116 (Pig. 5) ist in der Baueinheit der
Stapelworte reserviert, die sich in der Baueinheit befinden. Wenn dieser feil 12 volle Worte enthält, dann
werden vier Worte an den Speicher 122 durch die Oerätβ
abgegeben, da der Stapel 116 voll ist. Wenn der in de· ITf vorhandene feil kleiner ala vier Worte iat, dann wird
eine Entnahme in des Speioher 122 eingeleitet. Se sei
darauf hingewieeen, daß bei dieeer Anlage der 8peioher
einer der Speiοherbaueinheiten angehört, aber die Irfindung
let nioht auf die Verwendung etnea derartigen
Speioher· beschränkt. Alle Stapeloptrationen, welche des
Stapel 116 weniger ale iwOlf Worte suführen, oder Ihn
üb mehr ala vier Worte entleeren, werden daher ohne Zuhilfenahae des Speioher· durchgeführt. Sa bei eine»
normalen Betrieb der Stapel 116 Jewelle nur ua wenige
Worte gunlaat oder abnint, bedeutet dlee, daB Speicher-Ubergfinge
vo· Boden des Stapele 116 auf eines Miniaua
gehalten werden* Diese «wolf eben beschriebenen Worte
werden auoh als Stapelanhang 500 in fig« 5 bezeichnet
und elnd in Pig. 1 durch die Aufschrift "Stapelanhang11
(stack extension) auf der Verbindungslinie zwischen de· Stapel 116 und der Schaltung 100 angegeben.
Kit <Je a »wo lfw ort igen Stapelanhang 500 in Fig. 5 sind
zusätBliche Register verbunden. Blnlge/S.S. iwei Datenregiater/sind
in den AuafUhrungsbeiaplel naoh YIg. 5
angegeben, wobei die beiden Hegieter die erβten beiden
Worte oben im Stapel getrennt von des iwölfwortigen
009651/1569
BAD
8tap®laß&fiBg 500 festhalten» Xft.Aaheng 500 ist ein
obererer Zählen 503 vorhandenf der das oberste Wort in
den Stapel 500. anseigt« Bs Innern auch «w®i Register,
näolieh das Stapelregister 501 und ein zweites Register
502 vorgesehen ©ein, von denen die beiden ersten Worte
oben im Stapel aufgenommen werden können, doho , daß
sie nicht im'Adreosenspeieher 500 dos Stapele 116 enthalten sind«, Der Adreoßenapeicher 500 (scratch-pad)
des Stapels wird auch als "extension", "stack extension" oder "stack extension memory" bezeichnet, Mit des Anhang
500 ist ein oberer Zähler 503 verbunden, der auf das Datenwort hinweist, dessen Lage in Stapel 500 direkt
unter den Datenworten ist, die sich in den Flipflop~Stapelregistern
501 und 502 befinden., Bin unterer Zähler 510
deutet auf das letzte Wort in dem Stapelanhang 500 hinο
Sine Differ»nesehaltung 508 stellt die Differene zwischen
den Ördnungseahlen der Worte fest, auf die der obere Zähler
505 und der untere Zähler 510 hinweisen« Wenn der unttr«
Zähler 510 und der obere Zähler 503 eine Differenz vom «wolf
in der Differenssohaltung 508 ergeben, werden die untersten
Tier Worte an den Speicher surUckUbertragen an der Stelle,
die von dem Stapelzähler 504 angeseigt wird« Wenn der
untere Zähler 510 und der obere Zähler 503 sich einander
nähern und die Ilffer«ns in derDifferendschaltung 508
kleiner als 'vier wird, dann bedeutet dies, daß der Stapelanhang 500.-vier Worte oder weniger enthält. In diese» Fall
werden d@ia Speicher 122 vier Worte an der Stelle entnousen,
auf die der Stapel?.ähl©r 504 hinweist, Jedesmal bei»
Speichern oder Auslesen an Speicher 122 wird der Zähler 504 vier Worte zurück- oder vorgezählt,
Stapelslhl@r 504 wird anfangs durch das BafehlaprogriMi
so eiageetellt, Saß er auf den feil des Speichere himreiat,
dtr dem Stapelanhang eugeoidr-et ist. Er aiählt
~ ■'c.-;-;;-#&^8B1 /1569
hinauf oder herunter, jenachdem ob dem Speicher Wort·
SU" oder abgeführt werden» Eine Schwierigkeit, die mögli*
oherweise auftritt, ist die, daß der Stapelsähler 504 versucht,
BU viele Worte an den Speichor 122 surficksugehen, >
weil der Stapel zu hoch wirdo In einem späteren Abschnitt
wird eine SchutEschaltung für die Speichergreneen beschrieben, die mit der Schaltung 104 »usanmengebaut ist,
Der Stapelzähler 504 wird mit den Speichergrenaen verglichen,
was weiter unten näher erläutert wird. Dies ist notwendig, falls der Stapelanhang 500 «u voll wird
und die in Speicher sur Verfügung stehende Fläch· Über»
schreitet ο
Sine RechenschaItung 505 ist in Üblicher Weise ausgeführt
und kann Additionen, Multiplikationen, Divisionen, Subtraktionen, Vergleichs und anders logische Punktionen
wl* AID, HOf, IMPLY, exclusive» ODBE und Übertrüge ausführen,,
In Abhängigkeit von der Decodierung in der Endschaltung
110 bewirkt die Rechensohaltvng 505» daß die
Daten oben auf dea Stapel 501 und in «weiten Register
502 sur Ausführung der Rechenvorgänge bsnutst werden und
dafi das Ergebnis oben in Stapel 501 wieder eingeführt
wird» Ein zusätsllches Register 507 ist vorgesehen,
damit bei Rechnungsarten wie Division oder Multiplikation
die betreffenden Reste oder Kultiplikationsprodukte
größerer Länge in dieses susätsliche Register 507
aufgenommen werden können«
Aufler den eben beschriebenen Geräten und Schaltungen
enthält das Aueführungsbeispiel der ?ig, 1 in des Adrtssenspeicher
eine Fläohe, die als örtlicher Zwischenspeicher 124 beseichnet wird und eins anders Fläche als
sin örtliches Register 126ο Die beiden Flächen 124 und
126. werden direkt von Befehlen an das Laderegietsr,
Leseregister und Abgaberegieter usw* adressierte Das
009851/1569 BAD0RialNA1-
i®w ABg©l)@sa an des Speicher» Si·
©im Mitt©lU nit Sem i®r
Sat@®<~ISttaate@a mai vie? Beten™-ss
R©gtst@s? @wg£ttte@a teasi» I® sllgeaieinea
einä in am Awt£üfeKsi,g®1b©i@pt®X all© Begister durch
Äteeseta aasp^QO&fea^i. B-Ii0 w@aa ©in Programmierer "liee
egisttif80 wi& ii@ Etgisttr-Iummer angibt, dann
ahalt di@s@® Registers" aus dem
Piste las Stapel 501 „~ Alle Begieter
heao Mi raelÄen Begister haben epe eielle.Funkti@a@Re
goB, wie äse Sehisberegleter 224t
dee Begieter 1023 für Sie obere Bögrentimg und des Begister
1OtS für die lautere Begr@asimg( d®a PRT-Besteregieter
620 msw« (sieh© figuren 6 imd 10)» Einige der
weniger häufig benutzten Begieter Bind nicht aus Ylip»
flope aufgebaut, sondern in des Adreeeenepeioher dee W
äieeeia fall wird ele Adreeee dee Reglet tr*
Adr©ee» See Adreeeenepeleaere benutst. Stwe 52
dlieeer Begiete? sind in den Adressenepeioher enthalten
und nloht als Flipflops auegebildet, AuSer den Adveeeen·
epeicherregistem» die epeelelle Verwendungeewecke
haben, sind noch 16 Adreeeenepeicherregleter ohne Aufgaben vorgesehen, so daB der Prograaaierer eie in einer
beliebigen Weiee verwenden kanne Dieser feil, der nor-Balerwelee
ein Teil dee örtlichen Begietere sein würde,
wird ale "local date buffer", d.h. als örtlicher Zwischenspeicher
124 beseiohnet. Die Ausführung kann auoh
•o getroffen* sein, da3 keine speziellen Speicher Torgeeehen
eind und der Hauptspeicher wird dann für diese
Aufgaben benutst«
Die Schaltung 104 ist in ?lga 6 in β !meinen dargeetellt.
Inder Mitte der Schaltung 104 ist das Steuergerät 600
in gestsiehelfen Linien angedeutet* Bes Steuergerät
enthält ein Adresaesiregieter ME 602 'ύηΑ siiien Addierer
601, die als Akkueulator dienen. He fell S®s Sttuerge-'
rät β β 600 let auch ein Indexadreseenrsglst*:? XAH 603
vorgeeehen, das cusamtuen alt den» Addierer 601 ale Hilfe~
akkumulator dient« Im ο !Igen« inen worden die Adressen
durch Addiex'ung von drei Größen gobildet« Diese drei
Größen einds eretens der Inhalt des Srundregieterß,
sweltene der frühere Inhalt des Adreaeenregietere 602
und drittene dae Adresaenfeld aus dem Befehlο Ein Befehleregister
(AIR) 6o4 Bimnt das Adreeeenfeld in dea
Befehl auf, das unter drittens oben genannt let. Der vorhergehende
Inhalt dee Registers 604 wird In dea Adreseenregieter
60? festgehalten· Es sind eine Aneahl ron r*reohiedenen
Basisregietem vorgesehen und der Baslsregistergegenetscd
wird einem dieeer Baslsregister entnosnen.
Zu diesen Basisreglstern gehören das Baslsreglster
für die Prograaebeeugetabelle (PRfB) 620, ein Bealsindexregister
(BIR) 621, ein Baeisdatenreglster (DBR) 622, ein
Baeisunterbreoa üijeadreseenregieter (BIAR) 624 und ein
Basisunterbreohungaspeloherregister (SI8R) 625· Der
Progr&nnssMhler (PCR) 106 kann auch als Basisregister benutet
werden. Außerdem ist ein Baeisprograasregieter
(BPR) 626 vorgesehen*
Se werden nun die Yorwendungaewecke dieser verechiedenen
Register beechriebenc Γ*β BaeiBregister 620 PR? weist
auf die Bas ie der Prograffltsbesuga tabelle hin ο Die PrograeebftKugstabelle
let eine Leeetabelle fUr indirekte Adressen
und andere Informationen.^
Das Basis indexregister 621 weist auf eine Speicherflftohe
hin, Sie daeu benutst wird, Indexregister eu speiohern.
Basisindexrögister 621 wird bei iede© Eintrag auf
anderen Subrou^nt Psgel weitergeschaItet · Bas
Welt· er schalten uos .Bisisindexrcgieters 621 ergibt
009851/1569
s ■— ~ *—...
. BAD ORieiMAL
St»pel von Speioher- und Indexflachen für jeden Subroutine-Peg·!.
Dae Bfieieindtxregister 621 weist normalerweise auf
βim« fläche hin, die innerhalb der normalen Speiohorgrenzen
liegt ο lie norst&len Speiohergrenzen werden weiter unten erläutert.
Ifee Besisdatenregister 622 weist auf eine Iläohe
des Arbeitsspeieherβ hin, Einige Programme können aber auch
dieee suletst genannte ArbeitsspeicherfJ.äche DBR 622 außer
Acht lassen ο Das Baslsprogrammregister 626 waist auf den Beginn
des Segmentes des gerade verarbeiteten Codes hin» Der Prograameähler 106 weist auf den Befehl in dem laufenden
Segment des Codes hin, der sich in diesem Augenblick in der
Schaltung 104 befindeto Bine Vorbereitung in Bezug auf den
Prograra.sEh.lav 106 kann nur für solche Gegenstände benutzt
werden» die sit dem Programm gespeichert werden können und
sieh aiesals Wtme Swii der Bssisregister, nämlich BIAR
624 unfl. BISl 620 wurden nur für ünttrbrechungszwecke rer-
%@ii%mtfrbrec;hungsr@gi©ter BIAS 624 weist auf den
des in £©itpu»&t der Unterbrechung
Zweck S©s Basisvinterbrechungs-
iutg auf ein® Fläche i» Speicher
Zuhalte verschiedener Rechenregieter
Dir @runi für eine solche Spei-Si®
l©f@Meroutin® Etehenregiattr für ihren
%vsmk kssitigt^und #e büss®e-'daher die Inhalte dieser
erhalten
AWABf' Böfelilevegieter "604 Ie Figur 6 erhält seine
imsmugsschaltung 102,
die' Auagssgeisptals© des' Registers 604 - in einer Deco-
d@eöii@rt werden. Bi® Bscodierschaltung .,.
Sie liefert den transformierten
108 (Figur 1) eingegeben
BIe AssgaiagsispüiXs® clienen auch dazu, all® Operationen
der S@bel$uBg-: 104 cu steuern«
BADORiQINÄL
9-851 / 15 6.9- "
Die Aufgabe dev Schaltung 104 tot hauptsächlich, Adreaaen
•u berechnen. Diese Adressen werden la den Adreaee®iatev
602 gespeichert» nachdem sie berechnet sind. Aus diesem
Adreeeenregister 602 gelengen die Adressen en drei Stellen!
■ie gehen sit· einem Begrenzungsprüf gerät 645» bu dem
Adressenteil 118 des assoziativen Speichers 19 und zu
der Verbindungseinheit 100, so dsfl sie bei der Entnahme
▼on Daten aus dem Speicher 122 wirksam werden können.
Jede Adresse, die eineia adres3geben#en Be&hl in dem
Befehleregister 604 (Figur Io) entstammt, ist die Summe
Ton drei Cf egenst finden t dea Adressen?eld, welche β dem
Befehl entspricht (Eingang 2,Figur 10), einen der versohlediBien
Sasisregister, das entsprechend dem Befahl
ausgewählt ist (Eingang 3, Figur 10) und dem Ergebnis ▼on vorherigen fodexvorg&ngen» dl· in dar Schaltung
A4R 6o2 gespeichert sind (Eingang 1, Figur Io). lach
jedes Stbrauch von AAR Io7 wird AAR 6o2 auf O geführt,
ao dat vorhergehende Adressen nicht fäleohlioherveiat
mit Biohfolgendtn Mreeeen addiert warden können. Jade
auf diaee Veiaa arseugta Adraeaa wird an drei Stallan
übertragen) an daa Orenepitfgerät 6451 dan Advaas entail
118 dta assoaiatlven Speichere 19 und die Verbindung*-
aohtltung 100.
Der aasosiative Speioher 19 ist oben schon btschrieben
worden. Er nimmt die Adresse auf, die errβohne* worden
ist, und sieht nach, ob die mit der Adresse Bueasnexiatehenden
Baten bereits in dem BT enthalten aind oder
nlv-ht. Wenn dies der fall ist, wird der Befehl sur
?@rbindungssehaltung 100 unterbrochen und die !Daten»
bereits ßrtlioh verfügbar sind» werden verwandet.
wird, die Air@ss® sn des. Spalohov 1-2 tmd
dem Speioäer 122 die Säten,, die m&or £i@aa? Adreaaa
gespeichert sinao
009851/U69
Des Prüfgerät 645 prüft die Adresse mit Bezug auf die
Speichergrenzen. Wenn kein anderer Befehl vorliegt, dann
erfolgt diese Prüfung gegenüber den sogenannten normalen Speichergrenzen. Es sind sowohl normale obere Speiohergrensen 1023 und normeIe untere Speichergrensen 1026
vorhanden (Figur 1). Sie beiden drcnisregister 1025 und 1d26
!cam* man aioh in dem normalen Urenzregister (BBH) 640
vereinigt denken. Abgesehen von Ausnehmen, die weiter unten
noch erläutert werden , ist die Tatsache, daa eine Adreaae,
die si eilt innerhalb der normalen Speiohergrensen 640 liegt,
ein Ctrund für eine Unterbrechung.
Bine Abänderung dieser Vorgänge bei der Entnahne von
Daten aus dem Speicher 122 ergibt eioht wenn die Prograaabeeugetabell®
benutzt wird. Bei diesem Torgang wird ein 3feograimbe2ugsteb6llen«&ren2regieter ΡΕϊί 641 benutst·
Sin Befehl für eine Entndme aus dem Speicher 122 und
Abgabe an das Mreasenregieter 602 unter Angabe des Inhalte
des P^ogramabeaugetabellen-Basisregisters 120 bewirkt einen
Torgang, durch den eine Adresse für die WT (Frogrammbesugetabelle)
berechnet wird. Biese Adresse wird nun gepitft,
ua 6U M$h&n9 o% sie wischen dem Inhalt, der in dem Program«·
bezugstsbellen-Basisregist^ 620 gespeichert ist, und dea
ProgT8iaisb®siig£3tafe@ll©H'»'Sreai5^@giste£· 641 liegt, das als
obere. Ovenae dient. Wtaaa '«in Befehl für &m Advessenregiatetf
602 eus dem Speicher 122 mit Borog auf die fBf eine EntmahsMi
au machen, eiB® gültige Adresse swiaoheii dam ISf
620 und dem ?!7~(lrenzr®gi!ter oöer dem PEf oberes
641 ergibt« wlri das Wort i@r ΈΒ.Ψ entmomaeii «si ä$m
1071 '(figur* 10) zugeführt« Sas Wort» velehos i®^ WRf
wird, isMwa, t& veraohieden®·? ¥©lse bes@ieiiset wf^ies«
einfachste Terfahrm der "Bemidammg let ein'"■ttg-OCiie·»
Dtdeuttt 8 abwechselnde SpelctorgrtmEse zu T#rw@nä#n. ¥®nm das
werden AIa-,Jäteten 18 Bits .dee'Vortee in- daa
register 60S eingeführt, damit ale bei dem nächsten
Adreseenheretellungsbef~hl verwendet werden· Ein «ueätaliehea
Mressenfeld auf der linken Seite dee rechten Adressenfeldes
wird in des wechselnde Speiohergremsenregieter 642 eingeführt,
und dient dazu, die Fläche dee Speichers 122 zu hegrensen,
die Über diese PRI-Leitung zugänglich let. Ea wird deher
unattglich, mit Hilfe dor ΡΒΪ-Leitung einen Gegenstand
anzusteuern, der außerhalb der Fläche liegt, die durch die Befehlsroutine bozeiohnet worden ist. Ein susätslloher
Oo&e* der 9n die PRT-Leitung angeschlossen werden kann,iet
•In Sprung-Code. In die a em fall wird dia PBT-Leltung Bim
Aafang einer Subroutine gaaaoht und aas Register 642 wird
nicht benutet. In oenohen füllen kann dl· ΡΕΪ-LeitUBg
euch alt dam Wort "Interrupt·1, d.h. ''Unterbrechung*
werden. Dias tritt β·Β· dann ein, wann AIa Baten, ataf dt·
durch die Pll-£eitimg hlsgawiaeen vardan «oll, kaiaen
sugfihurigan Plate la 3peion«v halMin, odav vnm tu· irg#nd-•laes
Snsad 4a* Bafalilvpx^evwni nicht vunaeht, daS £«r <
b«tref f^adtB PBf «leitung Zugriff iu dlaaaa lie te«, gegefeaa
wird.
tndaxedraasvBraglatar 603 wird al* Akkuaul*i»cr oat Äta?
Sesaohmmg der Adreeeen tsanutit» dia auf tndazifort· feiüw«iaiaxi·
Bin getrennter Akkumulator vird sua EiXMaia wns.t
Indaxworta varwacdet, weil das reguläre
6o2 die Brg«bniaee von frühere» Ind error ganzem
kann oder auch &·& Inhalt τοπ PEf-Eingeben, dia unberührt
bleiben tiüssen, während die Indexwort havbaigaisol't wird·
Spasitlle Ini»3Cbef ehlö maohea von dem Xndaxt4?aa*aiigagi8i·?
$05 (kibrauoh. Veiter· Seile der Schaltung 104 des
106 sind in Terblndu&g Bit figur 1 bereits
und werden daher nicht noch «tnaal baaobjH.«bea«
Sin Indearwortregglster BfE 630 In Figur 6 bildet ·!&·
Stell« eur Einführung dar Indexworte oder PHT-L*Ittmgen
die in dem Index und in der PST-Bateuflach« IUXQ und
009851/1589
STOHQ gefunden wad en. Dabei wird davon auegegangen, daß
diese Datenflachen in einen Dünnschichtspeicher festgehalten
werden, der im Multlplexverfehren auch nooh für andere
Aufgaben benutzt wird. Wenn bei dem Aueführungsbelepiel
der Erfindung noch mikroelektronische Ädresaenapeioher
oder integrierte Schaltungen vorhanden βIna, dann
können diese Detenfläohen auch von den anderen Aufgaben
befreit werden und das Indexwortregißter 630 .let dann
nicht erforderlich*
figur 2 aeigt im θ inaeinen die Endschaltung 110* die der
Endschaltung 110 in Figur 10 ähnelt, aber nooh weitere Einzelheiten enthält· Die Endschaltung 110 kann in drei
Btuptteile aufgegliedert werden. Der erste Abschnitt
auf der linken Seite der figur 2 enthält die Daten«
trnd Befel3l8<
>-£ing8ng8elemente und die Steuerung« Zu dleeem
•raten Seil der Schaltung gehören Tore 210 sur Auswahl
ύοά Satan, deren Eingänge an die Schaltung 104 # ferner
en die SohtltOBg 114 und die Schaltung 108 angeschlossen
eini, wobei «Hf die Aoagangsiatpulae von TEMP 114 tmfl fXSQ
XOB eine OoSieraohaltiing 212 anspricht· In dieeea Teil
dar Sohaltuä£ ist eis TZHQ-fSMF-Steuorgerät 211 vorgeaeheny
weichte den fHQ-fSHP-Ladeeähler 411 waA den
flSQ-fEHF-IfaeaeäUer 412 enthält (figur 4). Xn das
Beiapial ist lediglich «la Xedesähler und ein Laeeiänler
dargaatallt. Ee kunnen jadooh auoh mehrere» b.B« ja
swei Zähler 411 und je swei Zähler 412 vorgesehen efin.
In da» ersten Seil der Sohaltung ist ferner einjfiSST-Steuargerät
214 vorgeeehan. Der aweite Teil dar Schaltung
fXIBf 110 enthält die im mittleren Teil der figur 2
abgebildeten Beetendteile« Hierzu gehört der fieohenabeoiuaitt
der Schaltung 110, der übliche Eechenacheltungen
wie Addierer und Multiplikationssohaltungen enthält»
sowie Schieberegister dafür und die verschiedenen Vorrichtungen, welche der Datenverarbeitung und der Ausführung,
BAD 00985T/156 9
▼on Befehlen in dem DV dienen. In diesem Heohenteil der
Sohaltung sind s.B. ein Addiere» 220, «Ine Mult Ipllkation·-
•οhaltung 221, tin Schieberegister 222 und Steuersohlltuagen
vorgesehen, au denen ein Steuertor 223, ein Schieberegister 224 und ein Steuerregister 225 gehören· Eingabetor· 226
können vorgesehen sein, ua die Daten in die Schaltung
elnsugeben· Bee Schieberegister 224, das Steuerregister
und Steuertore 223 steuern den Betrag und die Art der VersOhiebevorgSnge, die von der Sohaltung 222 ausgeführt
werden. Als Eingang für den Addierer 222 sind Tore 22? vorgesehen, welche die Daten dem Addierer suführen· Bin
Detektor für die führende Bins ist vorgesehen, um die
Worte au normieren· Ein Codiergerät 229 liefest die
Mngangslmpulae für den Addierer 220 und für die Steuertore
223 eur Sormlerung der Worte. Ein Komparator 230 1st in diee«a
fall der Schaltung angeordnet» um Vergleiche durchzuführen
und verschiedene logisch· Kombinationen tu ·reitΐein. Ein
SiMr~Beslatl~tf«ttdldr 295 kann vorgesehen sein, um die
blnttroodlerten Daten in blnäroodierte Deuime!daten
uasuwandela·
5a* dritte fell dar Schaltung 1st In der figur 2 auf dar rechten
Saite dargestellt und enthält die Register und Steuergeräte, dia mit dem Stapel ftueaamenhängen. Dies sind die Register,
welche die Informationen enthalten, die von den Heohenteil
für die !Durchführung dar Reohenvörgänge benötigt werden«.
Ia diesem dritten Teil der Schaltung 110 sind bei dem hler gaeeigtea Aueführungsbeispiel dor Erfindung (fliehe
anoh figur 5 und die Kugahttrige Beschreibung) diejenigen
Oeräte untergebracht, die mit dem Stapel und das Stapalaahang
nusaasi^äarbelten und ihm engehören. Hiersu gehört dta oberste
Sttptlragistar 501, das «weite Begistar 502* dar Stapalanhang 500,
am? obere iahlsr30J9 der Anhangsfiüaer 504, der untere Zähler
*1 *
0098S1/1563
mid eine Difforenaaehaltung 208« Su dieser Gruppe τοπ
Registern gehören ferne? daa Zusatsregister P 507 (Figur 5)»
dl® Eingangstore des P-Begisters 240» die Eingangstore
dee oberen Register (T)9 die.Eingängetore 242 dee eweiten
legistere (S), die Eingangetore 244 des Stapelanhanga
uni die Auegangetore 243 dos Stapelenhangs. Ein Steuergerät
245 für den Anhang let zwischen der Difforenss-Sohaltung
5o8 und dem Stapelanhana 300 vorgesehen.
Ee wird wieder auf ]?igur 2 Bezug gonojomon* Wenn der
Operand, der herbeigeholt werden soll, lokal in der ilBTAST-Wartesohaltung gespeichert ist. d.h. den
Inhalt der Index-Warteschaltung IDXQ und der Warteschaltung
der Programmbesugatabells FRTQ und den Inhalt
dee Wartaspelohers STORQ ia Satenteil 1-20 dos assoziativen
Speichers 19 bildet> wird or den Toren 210 zur Auswahl
der Daten angeführt. Wenn die Information nicht lokal
gapaiohert lot» wird der swsite Eingang der Tore 210
faenutst. Um den Operanden eu erhalten, aniB da? Speicher
122 ftngeeproohen und eine Information dea Entniiheevagieter
756 gsugeführt werden. Der dritte Eingang der
forschaltung 210 ist der Index-Variant-Befehl, dar
in Auegang des Adresaenregletos 602 entgegengenommen
wlTd» Der vierte Eingang steht mit dem ABVASf-Bafehlaregister
604 (Figur 6} in Terbinduii^· Zu Slaean Elngaageimpulsen
kennen die Eweite biß vierte Silbe dee Befehls
gehören, der in dem Befehlsdecodlerer 606 decodlert
worden ist, und dessen erste Silbe der Schaltung ftXQ
lp& zugeführt wurde. Auf diese Welse werden die Operanden
die Varianten dee Befehls den !Poren 210 angeführt.
hier wird- diese Eafosmatlon der Schaltung 5KMP 114 &ug#~
leitet· Ea werden also Ia diesem Zeitpunkt Befehle in
A$r Schaltung FIHQ 108 und Operanden uaä.Teriaafttn äer
Befehle In der Sohaltujig 5BJiP 114 vovhsn&m
009851/1589
?ür jeden in der Schaltung PIHQ 108 vorhandenen Befohl
kann entweder am entsprechenden Platz in der Schaltung
TEHP 114 ein Operand oder Variant vorhanden sein oder auch nioht vorhanden sein· Ee können "bis eu vier Befehle
in der Sohaltung PIHQ 108 bei dem dergestellten Beispiel
vorhanden sein und es ist nOglioh, bis zu vier entsprechende
Operanden und/oder Varianten in der Sohaltung TEHP su haben. Bas fIHQ-?EMP-Steuergerät 211 gibt en, an
welohar Stell· von TIRQ und TEMP 114 die Information
zugeführt wird und von wo dta Information in diesen Geräten kommt. Der FIHQ-TEMP-Steuermeehanismue 211
(der den PIHQ-TEMP-Ledezähler 411 und den PIHQ-TEMP-Leseaähler
412 von Figur 4 enthält), zeigt ebenfett an, wenn 7IHQ Io8 leer iet. In diesem Tall wird das
JISST-Steuergerät 214 daran gehindert, den Inhalt der
Sohaltung HIQ Io8 ale neuen Befehl su erkennen.
Die Befehle, dia am Ausgang der Sohaltung TIHQ 108 entnommen werden, warden in dem Opoodt- und den
Variantdaoodierer 212 decodiert. Wenn Jedoch die Ausgsngsimpulae
der Schaltung VIIiQ 108 anzeigen, daß ein
Variant erforderlich let, dann mufi auch der entsprechende
Variant in dar Sohaltung TSNP 114 durch den Opcode- und Variantdeooäier·* 212 gleiohieitlg dtooditrt
warden.
Vann festgestellt wird, dall die Information in dar
Sofcaltuag EBMP 114 ein Operand tat, dann wird «la ist da·
f-BftgiBter 501 «ing»führt.Vena featgestallt wird» defl dia
Information «in Variant 1st* dar nioht deaodiart vtrdta
tollt jedoch in ein Beglatex» *.B das T-Ragietar $01 oder
da« Schieberegister 224 aixsgeftUirt werden soll, dann wird
dl·* er Variant in da· Reglet er «at sprechend dam
•petlellen Befehl in der Schaltung YIVQ 108 alagae«lM&·
0QS8S 1 / 1 S69 BAD
Die PINSI-SteueraohaItung 214 enthält die logischen
Schaltungen, Plipflops, Tore usw., welohe die dccodierten
Befehle von dem Opcode- und Variantdecodierer 212 ©usführen
und bewirken/ daß die entsprechenden Datenverarbeitungen
in dem Reohenteil der Schaltung 110 stattfinden. Dne
Steuergerät 214 liefert die Befehle, die notwendig
sind, um die Verarbeitung der in dem Siapel 116
enthaltenen Daten zu bewirken. D.h., das Steuergerät 214
führt die Eeoho.nvorgänge aus und manipuliert den Stapel
116. Der Taktgeberzähler 213 der Endechaltung liefert
dieTaktimpulse, die für den Betrieb der Steuerschaltung
214 erforder11oh sind.
Der Eeohenteil der Steuerschaltung 214 arbeitet wie
folgtt Der Addierer 220 führteile arithmetischen Operationen
dee Addierens, Subtrahieren und Dividieren aue. Der
Addierer führt euch einen Heil der Multlpllkatlonebefehle
aue· BIe Hultipllzlervorrlohtuag 221 vM zusammen mit
dem Addierer 220 benutzt, um die Multiplikationsbefehle
euesuführen· Ea let klar, daß es verschiedene Addier- und
verschiedene Multipliaierbefehle gibt und das Wort "Befehl"
wird für eile diese verschiedenen Vorgänge benutzt·
225 nimmt alle Verschlebebeträg* auf , eineohliefilioh
deslnheltee des Sohiebereglatere 224« wenn es erforderlich
1st, alt Aue ns hin e der Ausgangs impulse des Detektors 228
für die führende Eins und des Entoodierers 229* Wenn
eia Versohiebebetrag in des Steuerregister 225 eingeführt
ist, wird er durch die Stauertore 223 sofort decodiert
und steuert die Qrüße der Verschiebung der Daten, die aloh
0098 S 1 /16 6 9
über die Tore 226 von dem T-Register 501 und/oder dem P-Register
dee Stapelabschnitts 116 eingegeben. Die Ausgangsimpulse des Detektors für die führende Eins und dea Codierers 229 werden direkt
den Toren 223 zugeführt und steuern den Betrag der Verschiebung
während eines Normierbefohls. Die Eingangstore 226 stellen den
Inhalt des T-Registers 501 oder den des P-R^gister 507 oder den
Inhalt von beiden Ragi et erhellst and ig für logische Verschiebungen
sur Verfügung» Die Eiiig angst ore 226 versetzen auch einen Teil des
T-Registesj» 501 für az-ittaaetioche' Verschiebungeno Bas Register
kann drei Stufen enthalten» DieJAusgangsimpulee der Eingangstore
226 werden der ersten Stufe des Registers 222 zugeführt» Ausgangsiopulse
der ersten S$ufe des Registers 222 verschieben die Eingänge
impulse üb 0, 8, 16, 24» 32 oder 40 Plätze» Der verschobene Betrag
wird der zweiten Stufe des Registers 222.7 zugeführt, welches tine
Verschiebung von 0, 1, 2, 3, 4, 5» 6 oder 7 Plätzen ausführt...".:■
Dies ergibt einen Bereich der Verschiebungen von 0 - 47» Die
Auegangsimpulee der «weiten Stufe des Registers 222 werden der
dritten Stufe zugeführt« Die dritte Stufe ist in der Lage, die unverschobenen Daten durchzulassen« Die dritte Stufe hat ferner
die Eigenschaft, die ersten 48 Bits mit den zweiten 48 einer
Gruppe von 96 Bits zu verschieben, um Rechtaversohiebungen in
Verbindung mit der richtigen Decodierung des Shlft-Betrages tu
ermöglichenο Die dritte Stufe kann entweder eine Rechte- oder
eine Linksverschiebung dadurch möglich machen,diß die ersten
48 Bits und die zweiten 48 Bits auegetauscht werden/. Die dritte
Stufe des Registers hat auch die Fähigkeit, die eingestellten
arithmetischen Eingangeimpulse neu zu ordnen. Wie oben erwähnt
wurde,wurden zur Ausführung derarithmetIschen Operationen die
In£a<® dee S-Regieters 501 versetzt, wenn sie den Eingänge tore*
226 zugeführt wurden. Di® dritte Stufe kompensiert diese Versetzung, d.ho der Inhalt des T-Registers 501 wird bei» Passieren.
durch Sie Eingangstore. 226 gegenüber dem Inhalt des P-Regieterp
versetzt, so das der Inhalt dea !!!-Registers 501 neben den
009851/1569^
BADORS^fNAL
Inhalt dta P-Reglsters 50? gestellt werden kann, ohne daß ein
Bit-Abatand fUr die Schiebeoporationon des Registers 222 dazwischen ist» Die dritte Stufe kompensiert dies, indem die im T-Regieter
501 und im P-Register 507 enthsltenen Teile in die richtig·
lege gebracht werden, so daß sie bein Zurückführen in die
T- und P-Register 501 und 507 wieder in ihrer richtigen Lage
erscheinen«
Die dritte S$ufe der Vorrichtung 222 fuhrt auch verschiedene Teile
oder Pelder der Außgangnimpulse dar zwoixan S'cufe übar ODER-Schaltungen Eusaoiüian, üb eine spezielle Änderung der VexOchiobung zu
erwirken, BnB. nach dem Prinzip "end off11 oder "end around",
Bei einen arithmetischen Operanden-Wort ist das. erste Bit das
Mantissen-Zeichen» daa »weite Bit das Exponenten-Zeichen und das
dritte bis dreisehnte Bit die Exponent en-GröSe-, Der Rest von rierlehntan
Bit en ist die Kantlaeen-SrSBe.
Bei diesen arithmetischen Befehlen wird die gleichförmige Kotierung
der oben erwähnten Maschine B 5500 von Burroughs beibehaltan»
»o das dia gansa Zahl die gleiche Herstellung hat wie eine
Zahl alt gleitende» Koona, Sine gansa Zahl hat einen Exponenten
0, «in« Zahl »It gXaitendeoJCoiraa hat eiaen Exponenten, der nioht
gltich 0 iat. Auf diese Weisa kann ein und derselbe aritho«tisofc*
Bafaal «ntweder für Oparanden alt einer garnen Zahl oder auoh
■it gleitende» Eowea benutst werden.
Dar Detektor 228 für die führende Eins und der Codierer 229 bestimmen
xusamaen den Betrag der Verschiebung, die notwendig 1st,
us dia führende Eins einer Kantissengröfle in die U. Stella
eines Operanden eineufUhren*
Di» Stalle das 14a Bits des Operanden 1st die Mühst® Stelle
dar MantissengröBer Diese Arbeitsweise des Detektors 228 fir Sit
Ö0986 1/166 3
führende Eine und des Codiereru 229 ergibt eine !formierung der
•rlthaetisuhen Elngangainpula«o Gleichseitig nuß der Ausgang des
Codier ere 229 von dem Exponenten abgezogon werden->
Der Comparator und die logische Einheit 23 haben svei Punktionen,
Die Schaltung 23 vergleicht dae T-Register 501 und das S-Regi-Bter
$02 bezüglich der Ausgangeimpulse, um entweder die Qleiohheit
oder das überwiegen des einen oder anderen festzustellen«
Diese Eigenschaft wird auch verwendet, ura einige der Befehle
auscufUhren, die weiter unterjoch bee anrieben werden, wobei es
notwendig ist, die Exponenten und die Mantissen je getrennt eu
vergleichen.
Bei der Durchführung der «raten Funktion, nttol'lch eines Vergleiche
auf "gleich", "gröQerJil«" oder "kleiner «le" kann die Schaltung
230 da« garne Wort für d«n Vergleich nennen, od«r si« kann In
Terblndung alt d«r Vorrichtung 222 auch einen Ttil «ine« Worten
tue Vergleich mit den Teil ein«β anderen Wortes auswählen.
Dl« «weite funktion dar Schaltung 230 besteht darin, die Au*-
gangsiapula· d*e T-Beglster« 501 und dea 8-Beglater« 502 eu koeblnl«r«n,
üb Ergebnisse vot$.ogisch«n Funktionen su erhalten, s.
B. von UID, ODEB, IKPLIES, COHPLHfHTC. Wenn dies« «weit« Funktion
b«nut«t wird, werden die Ausgangsiapul·« der Schaltung
230 dee T-Regi«t«r 501 sugefiihrt.
Ea wird nun auf den dritten Teil der Schaltung, der auf der
rechten Seite der Figur 2 dargestellt iat, «ingtgangen. Pl«««r
gibt die Elnxelh«it«n des Stapel« 116 bti sein·« Betrieb in
T«rbindung alt der Endschaltung 110 wieder. Di« Register alnd
in Figur 5 dargestellt. Das I-Begister 501 Ut das obtratβ Β·-
gieter des Stepels, da« «weite oder S-Begister 502 ist da« näch-
009ft6,t/i669 "
5AD0RIQJNAL
et· Register über den Stapelanhang. Das Ϊ-Hegleter 501 wird bei
Jedem arithmetischen Befehl benutet«, Xn manchen Fällen wi
T-Hegieter 501 in Verbindung mit den S~Regieter 502 oder &
den P-Begister 507 verwendet. De T-Register 501 kann entweder
allein verwendet werden oder auch in Verbindung mit dem S~5tegieter
502 oder daa T-Register 501 kann in Verbindung mit dem P-Regleter
507 benutsst werden, Ee gibt auch einige Befehle, die da» I- und S-Register 501 und 502 Susannen benutzen und die
sueanaen einige Regletor des Stapelanhange 500 benutzen * Die
Regleter T 501 und S 502 können euch alu Seil des Stapele betrachtet
werdeno See P-Reglater let jedoch ein Hilferegleter,
dae verwendet wird, um Befehle nach Bedarf auszuführenπ See
T-Register 501 enthält die Summe, nachdem eine Addition oder
Subtraktion von der Addlerschaltung 220 durchgeführt worden tat; doho la lalle einer Subtraktion oder einer Addition err
scheint die algebraische Differenz oder die algebraisohe Suaae
in des T-Register 501 und das P-Register 507 «eigt kein Ergebnis außer In einigen wenigen speziellen Fällen» Io lalle eines
Multiplikation«)Vorganges enthält a« Schluß das T-Regieter 501
die höchsten Stellen dee Produkte· und die nledrlgeren^Stellen
ersoheinen In des P-Regiater 507« Iv !felle einer Dlvielon erscheint
an Schluß der Quotient in des T-Regieter 501 und der
Reet erscheint ie P-Register 507· Bei de» SV der Erfindung sind
Befehle und Operationen alt doppelter Prärielon Möglich. Bei
solchen fällendoppelter Genauigkeit erscheinen die höchsten
Stellen der Hälfte des Resultats in den T-Register 501, die
niedrigeren Stelle« des Resultats erscheinen la S-Register 502 und weitere Stellen erscheinen Ib P-Register 507, E.B. die niedrige
ten 8teilen einer Surae oder eines Produktes·
Des !-Register 501 ist direkt oder indirekt alt den neisten
anderen Registern des «entralen DV verbunden. Der erste Weg des
nÄalen Dotenilussee führt von der Schaltung TEMP 114 tun f-Register
501, dann xua S-Reglster 502 und von da «leßtepelan-
009861/1669
hang 500« Der eweits Wog des normalen Datenbusses führt von
Stapelanhang 500 Über das S-Register 502, dann cuo T-Register
501 und von dort su anderen Teilen der Baueinheiten, « B0 zur
Schaltung SIORQ des Datenabschnitts 120 des association Speichers
19ο Ss sind auch Wege su anderen Registern vorhandenο
Die Arbeitsweise des Stapelanhang ist ins Zusammenhang mit
5 beschrieben worden. Der Stapeleähler 504» der sowohl in ?ig*
5 als auch in 7Ig0 2 su sehen ist, enthält die Adresse der näohsten
vier Worte in Speicher 122, die in den Stapelanhang 504 gebracht werden, wenn es notwendig ist» Der Zähler 504 kann ua
viei* weitergeschaltet werden,und die sich ergebende Adresse definiert
den Plate in Speicher des Blockes von vier Worten, in des die vier ältesten Operanden in den Speicheranhang 500 gespeiohert
werden kennen, wenn ee notwendig Ist»
Es wird nun auf TIg. 7 übergegangen. figur 7 soigt im Blockschaltbild
den Aufbau der Verbindungssehaltung 100 des DV6 In
der Verbindungesohaltung 100 können Sender 758 und Empfänger
762 vorgesehen sein« Die fender 758 und die Empfänger 762 können
einen feil eineüSohaltverbindung (switch interlock) darstellen,
die für die Maschine vorgesehen ist, von der das DV einen feil der Erfindung bildet» ua die Verbindung «wischen Baueinheiten
der Maschine herzustellen und us den Vorrang für den Zugriff sub Speicher, EoD« filr DVs und I/O-Steuerbauteile der
Maschine hersustellen·
Die Verbindungssohaltung 100 kann einen Taktgeber 77 enthalten, sowie die oben erwähnten Eapfanger (CSR) 762 und Sender (OZM)
758, ein Verbindungsadressenregister (CAR) 754, ein Verbindungsabfrageregister
(CSS) 760, ein Verbindungsvorbereitungsregister
(ClR) 756, ein Verbindungsspeicherregister (CSR) 752, einen Verbindungswort sähler (CWC) 750 und einen FaritätsprUfer 764. Der
009851/1569 '
BAD ORIG/NAL
Taktgeber iat ale 20 MHs-Taktgeber dargestellt, su den die Synohroniaierunfsleltungen
führen) der Taktgeber kann jedoch auoh wahlweise an einer anderen Stelle angeordnet werden und ea können
auch andere Frequensen benuttt werden« Bei den Beispiel ist
ala Taktgeber eine Synchronmaschine dargestellt, ca ist aber
auch nttgllch, bei der Erfindung eine asynchrone Arbeitsweise vor»
susehen. Alle Informationen, die dem Speicher 122 xugefUhrt werden, werden erst den Yerbindungsapeicherregister 752 augeleitet.
Der. Ausgang des Terbindungsapeicherregisters 752 ist
direkt alt den Sender 758 verbunden. Alle Inforeationen, die
Ton de» Speicher 122 körnen, werden den Verbindungsentnahnere- ·-
glater sugefUhrt. Dieses Register 756 wird direkt von den Empfängern
762 betrieben. Alle aufgenoraenen Informationen werden in
des Paritäteprtfer 764 geprüft.
Die Speicheradressen werden den Verbindunguadresaenregister
angeleitet· Einige Operationen tu der Yerbindungsschaltung
greifen aufeinander über oder finden gleichseitig alteinander
etatti s.B. können die letsten drei Worte einer Tie*faoh-£ntnahjie
aufgenonaen werden, während der nächst θ Torgang Über
den Syeloher 122 eohon eingeleitet wird. Wegen einea eolohen
Übergreifen· iat ca notwendig, maohul die Mreaee dee letstea
Torgang· in Erinnerung su behalten, während der neue Vorgang
eingeleitet wird, Die· ist s.B» notwendig» "·** dtr l*tste
Vorgang einen fehler der Parität ergibt, nseadea daa Adressen·?
raglrter 754 eise neue Ate···· erhalten hat. Ute die Steuerung
la eine« eolohen lalle nicht durcheinander su bringen, wird die letste Adresse In den effektiven Adreeaenregiater 760 festgehalten.
Da swel Vorgänge gleichseitig ablaufen können, alnd ■wei effektive Adreaaenregiater EAR1 und BAB2 vorgesehen,für
den Teil, daß beide Adressen fehler enthalten«. Der Zähler 750
sählt eins oder vier, je nachde«, ob die Entnahae eine einfache
oder eine vierfache Entnahme ist» Di· Schaltung 100 führt entweder
009861/1569 · 2AD0RiaiNAL
eine einfache oder eine vierfache Entnahao aus; durch dieee
Möglichkeit wird Zeit gespart« Die Leitungen kub Speicher 122
können parallel 53 Bits führen, und ewar 52 Datenbitβ und 1 Bit
sur Synchronisierung* Bei einer praktischen AusfUhrungsfora er·
fordert eine vierfacha fiatnahjBo oder eine Vierfach-Sptieherung
vier Zeitperiodon. Bei Verwendung eines Taktgebers von 20 HHs
kann s->B. eine Periode von swei Taktiapulson oder 100 Nanosokundon
pro Wort verwendet werden, co deβ eine Vior-Wort-Übertragung
vier Zehntel einer Mikrosekunde *rfordort« Wenn nur οin Wort
erforderlich iet, dann wird auch nur ein Wort auf der Leitung ausgeaandt oder enρfangen.
In dec Gerät der Figur 7 sind nicht dargestellte Leitungen vorhanden,
die eine Vielsahl von Befehlen der Sohaltung sufUhren,
welche einer Vielsahl von Adresssnquellen für die Schaltung CAB
754 entsprechen. Zu den abglichen Quellen von Adressen gehören die Befehlsadressen der Befehlsvorschauschaltung 101, die Adressenregister
602 der VorrückechaItung 104, die Indexadressenregieter
603, die Stapelsähler 504 aa Stapel 116 (Fig. 5), die
Adressen von de« Adressenfeidteil 118 eines Wortes in der Warteschaltung
SfOBD, die Adressenfeidteile 118 eines Wortes la PBT-Bereioh
des assooiativen Speichers PBfQ oder die Adressenfeidteile
118 eines Indexwortes in der Indexwartesohaltung IDXQ, di#
■ion ebenfalls in dea assooiativen Speicher 19 befindet, und die
in den Speicher 122 surUokgelangen Bliesen, Diesen verschiedenen Herkunften von Adressen entsprechen eine Vielsahl von Befehlen
für die Schaltung 100. Die Befehle können von der 8chalti;^ 101
(Pig« 3) von dem Stapelanhang 500 (Fig. 5), von der Warteschaltung
STORQ dee aeeoclativen Speichers 19 (Fig. 1 und Fig. 10),
von der Schaltung 104 (Fig^ 6)t von der Indexwortflttche IDXQ
des associative^ Speichers 19 (Fig«1 und 10) koaaen, die alle
einen Zugang «u der Schaltung 100 su erhalten wünschen. Die
Schaltung 100 enthält nach Pig» 7 ein logisches lettwerk, das ^
swisohen drei Gruppen oder Pegeln (levels) unterscheidet, Sie
stellt eine feste Prioritätsordnung urd/oder - reihenfolge für
die verschiedenen Gruppen fest, die alle einen Zugang zu der
Schaltung 100 haben wollen-
Die Priorität unter den verschiedenen Gruppen wird durch die Verdrahtung des Gerätes bestimmt-. Wenn die Schaltung 104 einen
Zugang sur Verbindungecchaltung 100 haben will, um eine einsige Entnahme su machen, dann enthält sie dienen- Bei einem derartigen
Aufbau liegt entweder dieWarteschaltung STORQ des asso~
siativen Speichere 19 oder die Schaltung 101 am hinteren Ende der Prioritäteliatβ, Andere Befohle, die getrennte Befehle für
dit Schaltung 101 sind, können durch Befehle des Dump-Registers und des Laderegistero ausgeführt werden? Die Verbindungsscha1-tung
ist ia einseinen in Fig. 11 dargestellt»
Dar Taktgeber für 20 MEc kann durch «inen Taktgeberossillator in
jeder Baueinheit betrieben werden» Dia Taktgeberossillatoran
werden von einen sentralen Haupttaktgeber synchronisiert, wie
es in den dargestellten Beispiel der lall ist, obwohl auoh tin· asynchrone Betriebsweise, ohne dan Erfindungsgedanken su verlassen,
bewirkt werden kann« Der sentrale Haupttaktgeber befindet
sich in irgendeiner dar Baueinheiten, s.B. in dar I/O-Steuereinheit.
Dl« Taktgeber aller Baueinheiten sind miteinander synchronisiert
»
In Figur 11 ist ein Blockschaltbild der Verbindungssohaltung
100 dargestellt, das in vereinfachter Ausführung in Fig. 7 g·- saigt 1st. Die Verbindungssohaltung 100 dient sur Verbindung syl-
009851/1569
sehen dem Speicher und seinen Seilen«Abschnitten und Einheiten
sowie Registern innerhalb der Maschine der Erfindung, die alle einen Zugang sun Speicher 122 suchen oder eine Entnahme aus
de« Speicher machen wollenα Biese Teile, Abschnitte und Baueinheiten,
die In folgenden auch Geräte genant werden, enthalten den Teil 120B der Warteschaltung STORQ und die Teile 12OA
der Index- und Progrannbesugetabelle (IDYQ/PRT) des aseociativen
Speiohers 19 (Fig» 1 und 10*;, den Stapelanhang 500 (Figo 2 und 5),
einen Sprung-Steuerabschnitt 1101B und einen ADVAST-Steuerabschnitt
1101A, die beide T0IIe der ADVAST-Steuereinheit 1101 (PIgn 10)
bilden, die Schaltung TEMP 114 (Pig» 1 und 2) und die Schaltung
101 sur Vorschau der Befehle (siehe Pig, 1), Ee sind nehrere
Plipflops, die auf Signale ansprechen, welche den Zugriff sun
Speicher wünschen,vorgesehen, wobei je ein Flipflop für jeden
dieser Teile, Xbschnltte oder Einheiten vorgesehen ist, Zu diesen FlIpflop· gehören Anfrage-Plipflo^a PP1101, die auf ein
Anfrageaignal von STORQ 210B ansprechen, Plipflope FF102, die auf
Anfrag·eigneIe IDXQ/PRTQ 120A ansprechen» Plipflops PF1103, die
auf Anfrageeignale des Stapelanhange 500 ansprechen, Plipflope PfH04, dl· auf Anfrageeignale der Sprungateuerung 1101B der
ADTAST-Steuerschaltung 1101 anapreohen, Plipflops FP1105» die
auf Anfrageeignale dβr^Schaltung TBMP 114 ansprechen, Plipflopa
Pf1106, dia auf Anfragesignale von der Schaltung AIVA8T 1101A
ansprechen und bum ADYAST-Steuergerät 1101 gehören und Flipflops
1107, die auf Anfrageeignale der Schaltung 101 ansprechen»
Sin Satten irgendeines dieser:Plipflops durch die Ausgangsanfragestgnal·
leitet eine Anforderung auf Zugriff zu« Speicher 122 ein» Sine Prioritäsechaltung 1102 ist vorgesehen, welche die
Reihenfolge in Übereinstianung nit der vorbestlmten Reihenfolge
»wischen den genannten Vorrichtungen bestinat.
Dl· Yorrangreihenfolge 1st in allgemeinen von vornherein festgelegt. Sa liegt jedoch auch in Sinne der Erfindung, die Reihenfolge oder Rangordnung su verschieben und andere Arten von Priori*·
009861/1569 bad original
tätsscbaltungen su benutzen. An der AusgangsβeIte der Priorltätssehaltung
1102 sind 7 Plipflops PPP11, PPP12, PPPJ3, PWM,
PPP16 und PPP17 vorgesehen, die auf einen zugehörigen Abfrageflipflop
ansprechen sowie auf die entsprechenden Schaltungen STORQ 120B, IBXQ/PRTQ 120A1 den Stapelanhang 500, das Sprungsteuergerät 1101D, TEMP 114, ADYAST-Kontroft-Abeschnitt 1101Ao
Auf dese Weise spricht der Flipflop F71111 auf den Flipflop
HM101 und die Schaltung STORQ 120Bjm, der Prioritätsflipflop
PP1J12 spricht auf den Flipflop PP1102 und die Schaltung IDXQ/
PTRQ 120A am der Prioritätsflipflop PPPH13 spricht auf «en
Flipflop 1103 undßen Stapelanhang 500 an, usw, Es sind mehrere
Auswähltore vorgesehen, die auf die AusgangsInpulse der sieben
Prioritätsflipflops PP1101 bis PJ"! 107 ansprechen ο Ea sind dies
dl· Tore H10, 1111, 1112 und 1113» Sie drei Aubwahltore, näa~
Iich die Tore 1110, 1111 und 1112 verarbeiten Baten, ein viertes
Auewahltor 1113 verarbeitet Adrestie^ Sie Auswahltore 1110 enthalten
die «raten 22 Bite des ersten Datenwortββ und dia Auswahltor·
1111 enthalten Tore für die ersten 22 Bits d®* Datenwort·
2, 3 und 4, während die Auswahltore 1113 Tore fUr die
Bits 23 - 51 aller Batenworte enthalten. Sie Auewahltore 1113
enthalten die Tore für die 22 Bits, die eine Adresse bilden, wenn das BY in der beschriebenen Welse arbeitet. Bas Yerblndungar
adressenregister (CAR) 754 (Ilg. 7 und 10b) bearbeitet die beiden
Adressen, die an den Speicher 122 geschickt werden und den traten Abschnitt des Datenwortes. Das Yez^ !ndungsadressenregiste?
754 spricht auf die Auswahltorsohaltung 1110 an, auBerdea, aber
niohijgl«ioheeitig, auf die Ausgangsinpulse des Yerbindungsspelr
oherreglsters (CSR) 752 (Pig· 7 und 10), über einen RUokkopplung·^-
weg, der zwischen dem Ausgang des Yerbindungsspeioherreglsters
752 und den Slngang des CAB-Begister 754 vorgesehen 1st» Bas
CSR-Register 752 kann aus swei Hälften aufgebaut sein, einer
ersten Hälfte, welche die Bits 1-22 des Batenwortes oder seiner Adresse enthält und einer sweltesJBälfte, w eich· die Bits
BAD
008861/1569 *
23 bis 51 das Datenwortes aufnimmt. Das Bit 52 des Datenwortea
tat für den Baritätegenerator 764 (PIg. 7) beetimat. Die Adressen Ton den Auswahltoren 1113 werden der ersten Hälfte dea CSR-Regletere
752 »it don Bits 1 - 22 sugefUhrt. Die Btta 23-51
die in den Auswahltoren 1112 gespeichert waren, werden der
«weiten Hälfte dea CRS-Regiatera 752 Bit den Bits 23 - 51 xugeleltet.
Ea Bind ferner svei effektive Adreasenregiater EAR (1) und FAR
(2) 114 und 115 vorgesehen. Daa erete Register 114 Speichel die
Adresse einer ersten Anfrage auf Zugang sua Speicher von den Wahladreasentoren 1113 und das «weite Register 1115 speichert
die Adressen der nächstfolgenden Anfrage auf Zugang etui Speicher ▼on den Vahladreeaentoren 1113· Die ,Ankunft einer dritten Adreaae
einer Anfrage von den Wähltoren H13 veraetst die Adreaee der
ereten Anfrage« die In dea Register 1114 vorhanden ist. Der
Uweck der Register 1114 und 1115 ist, sichercueteilen, daß die
Adreaaen erhalten bleiben, so daU wenn ein Fehler auftreten sollte,
die Anlage weiß, welche Adresse in dem Programm den Fehler enthalten hat. Sobald eins der Wahltore 1110, 11 Ii, 1112 oder
1113 betätigt ist, wird die Parität In dea Parltätagenerator
geprüft und 100 lanoaekunden später wird iae Farltätsbit 52
in dta CSR-Reglater 752 entsprechend eingestellt, wenn die
Daten und die Adresse In das OSR-Register eingegeben werden.
Zin Uβrät 117 sur Feststellung der Anfragen kann 16 Fllpfloys
enthalten» XIn Dekodierer 1118 dekodiert die Adresse von den
Wahltoren 1113. Das Gerät 1117 alt seinen Flipflopa spricht
auf die Ausgangeiapulce dea Dekodierers 1118 an, ua feeteueteilen,
welcher fell des Speichere 122 angesprochen wird. Siner der 16 Flipflops dea Gerätes 1117, der dea Speicherten entsprloht,
wird geaetct. Zwischen jeden dieser 16 Flipflops des
Geräte· 1117 und eine« entsprechenden sugehttrigen ßpeioherteil
009661/1569 original
sind Terbindungaleitungen vorgesehen« Bei den Ausführungebeiepl«l
elnd daher 16 Speicherteile angegeben, obwohl es «uoh
möglich ist, eine größere oder kleinere Zahl su verwenden»
ferner ist ein Plipflop-fi9 vorgesehen, der ale Anfr&ge-flipflop
(Requestor stroke flipfiop) 119 beceichnet wird. Gleichseitig
■it de· Setsen eines der Plipflops des Gerätes 1117 wird ein
flipflop 1119 gesetzt, Wenn einer der 16, Flipflops 1117 gesetet
ist und auch der Flipflop 1119 geectst iet, der Leitungen hat,
die su «Ilen Speicherteilen führen, dann kann die in den CSR-Begieter
732 enthaltene Informationen an den betreffenden Teil des Speichers 122 übertragen werden. Sobald das CSR-Regiettr
752 geladen ist, werden Treiberstufen 758 freigegeben, (welohe
die Sender der fig. 7 enthalten), und die Information aus de«
CSR-Regieter 752 wird in den Speicher 122 Übertragen.
Venn eine Information aus einen Bauteil des Speichers 122 entnommen
wird, wird sie tueret den Empfängern 762 (fig« 7) zugeführt.
Die Empfänger 762 normieren die ankörnenden Signale und
übertragen die nomlerten Signale in das Terbindungeentnahaeregieter
756 (flg. 7)ο Die Anordnung enthalt auch ein Register 1120
(PfH), das als Prooessor-fehler-Regietsr beseiohnet wird« Ton
den SsjpfUngern 762 werden die ankommenden Baton User das Paritttts*-
prüfgerät 764 geführt. Wenn ein fehler vorhanden 1st, Ann setst
der ParitätepriTer 764 ein Bit in das Prooessor-fehler^Rsglstsr
(PfR)1120. Venn ein fehler entdeokt wird, dann betätigt das
fkhlerausgangssignalAs ParltätsprUfers 764 eines der beiden
Register 1114 und 1115.
Das OfR-Regieter 756 überträgt die von den Speicher 122 ankommenden
Daten an eine dor Abfrage-Torrichtungen SIORQ 120B, IDIQ/
PRTQ 1201, Stapelanhang 500, Sprungsteuergerät 1110B, TEKP 114,
ADTAST-Control 1101A oder die Schaltung 101, d»h. an diejenige
der Torrichtungen, die Informationen von dem Speicher 122 angefordert hat ο
Bb sol darauf hingewiesen,daß »war in Figo 11 in den Vorrichtungen
ST0RQ120B, IUXQ/PRTQ 120A, Stapelanhang 500, Sprungateuerung
1101B,TEMP 114, ADVAST-Control 1101A und Schaltung
101 die Worte "dat.a in" angegeben sind, aber tatsächlich haben
nicht alle diese Geräte ihren eigenen Speicher und der Teil der
Geräte, der mit "data inH bezeichnet ist kann tatsächlich als
Torsohaltungsteil bezeichnet werden.Sie Sprungsteuerung 1101JB
und ADVAST-Steuerung 1101A, ζ°B« sind nicht nit einen eigenen
Speicher ausgerüstet* Wenn Daten von den Gerät ADTAST-Steuerung
1101A aufgenommen werden, dann werden sie sofort durch entsprechende
Tore dem zugehörigen Abschnitt in den Cferät IDXQ/PBTQ 120A
oder den IWR-Eegister 630 (?ig. 10) sugefUhrt. In einigen fällen
wird wahlweise die Schaltung 104 den Befehl abgeben,daß die «weite Gruppe von Bits 30 - 48 in CFH~Register.756 direkt mn
das ADVAST-Speicheradregsenregieter (ASMA) 1064 abgegeben wird,
daa nach Fig» 10 vorgesehen ist und beiiversohiedefl^prungaikro-· ·
aequensen verwendet wird. Wenn die Information tier Sprungsteuerunjf
1101B Bugefuhrt wird, dann leitet sie die Baten direkt an das
Gerät IPXQ/PETQ 120A des assooiativen Speichers 19 weiter. Di»
übrigen Anfragegeräte STORQ120B, IDXQ/FRSQ 120A Stapelanhang
900, Sohaltung 114 und Schaltung 101 haben ihren eigenen Spei- ·
eher, der die Inf oma tion aus den Speicher ι 122 aufnlaat. lin
Codierer 1121 kann vorgesehen sein, der Tehlerelgnale entdeokt
und da· richtige OÄterbrechungsbit in ein UnterbrecJiungerefister
einführt, welohes für die Unterbrechungen in der Schaltung
vorgesehen ist, AuBerde« 1st eine Vomerkeinheit 1122
Die Einheit 1122 kann $ ▼oraerk-HiplLopae enthalt en, die nicht dia
einzelnen dargestellt sind. Der Zweck dieser 5 flipflopa ist, .
eine Voraerkung festsuhalten, welohes der 5 Anfragegeräte von den
7 Anfragegeräten nänlich StapelanbroJP^OO, Sprungeteuerung 110TB>
Sohaltung 114, Schaltung 1101A, oder Sohaltung 101, die Anfrage
»wecke Auslesung geaacht hat, so&fi sichergestellt wixtd, daß bei
einea Zurückkönnen der Information aus den Speicher 122 diese"
009851/1569
Iformation wirklich an das 0«rät abgegeben\4rd, welches die
Anfrage gestellt hat.
Der Grund, daß ein Flipflop in den Geräten SXORQ 12OA und IBXQ/
FRTQ 120B dea Batenttils 120 des associativen Speichers 19 nicht
vorgesehen ist, ist der, darf diose Gerätenioht die Aufgabe haben,
Beten aufsunehmen, noch die Fähigkeit dazu beoitzeho Daß heißt,
sie senden Baten nur an den Speicher 122 und nehmen selbst keine Baten aus dea Speicher 122 entgegen- Es sei jedoch daran
erinnert, daß die Schaltung ADVAST 1101A Informstionen senden
und auch die Informationen aue dem'Speicher 122 aufnehmen kann
und sie in dem Teil IBXQ des Latenabschnitte 120 des association
8peiehers 19 speichernkann» Die Schaltung STORQ 120 wird Ton den Stape&anhang 500 gefüllt.
In anderen Masohinen können Baueinheiten enthalten sein, die
oberflächlich den Blocksohaltungen ähneln, die für die AJressensohaltung,
die Endschaltung und die Warteschaltung der Erfindung vorgesehen sind» BIe ausgeflhrten funktionen sind jedoch
andere und die 'bekannten !feschinen verarbeiten alle Befehle
über Ihre Itadschaltung, so daS diese J*?schinen nit den
Sprüngen fertig werden müssen« wenn sie auftreten. Dies führt su Vorgängen, durch die die Masfelne «u stark verlangsamt wird.
Bei der Maschine der vorliegenden Erfindung ist die Vorrückechair»»
tung 104, die Schaltung HIQ 103-vorgesehen, wobei die Schaltung
101 sur Vorschau auf die Befehle funktionamäßig, jedoch nicht <-»■■*■
notwendigerweise auch Beohsnischj von der Schaltung 104 getrettnt
1st ι sodBU die Schaltung 104 wirkungsvoller arbeiten kann.
Bsi der Maschine der Erfindung braucht dfe Vorrttoksohaltung
keine Arbeiten auszuführen, die später wieder rückgängig gemacht '
werden müssen. Insbesondere wird die Schaltung 104, wennjsie
009861/1669
•lntn Sprungbefehl feststellt, keinen Befehl ausführen, beror
el· weiß, welohen Weg der Sprung nehaen wird und ob dtr Sprung
auegefUhrt werden toll oder nicht,
I)Ie funktioneile leimung der Befehlsrorsohauschaltung 101 von
der Vorrückeehaltung 104 ist in der Zeichnung dargestellte Ee
ist ersichtlich, diB die Befehle der Schaltung 101 «ugefUhrt
werden. Bit 8ohaltung 104 decodiert die Sprünge, so daß, wenn ein Sprung vorhanden ist, während die Befehle in der Schaltung
101 verarbeitet werden, und aych in dir SilbenbeetiBnungsschaltung
102 verarbeitet werden, der Sprungbefehl nooh nicht ausgeführt werden darf, bie es bekannt ist, ob ein 8prung auegefUhrt
werden soll und wohin der Sprung führen eoll«
Ba wird auf Hg. 6 Besug genossen, welche den Aufbau der Befehle
in flg. 8JL ble 81 darstellt.
flg. 8λ aelgt einen einsilbigen Befehl, den üblichen 6-BltlIngenoperetionaoode
oder Opcode enthält« Dia Sln-SUben-Befehle,
welche den Aufbau haben sind folgend··
Stop« fdbh froa Hanory to Steok at Absolute Addreas
of Zero, Store fron Steok to Memory at Absolute Adreso
of Zero, Ooepieaent, Or, And, IBpIy9 Exolueire OB (these last
four ere logioel instructions] the next; eight are arithmetic
lost ructions), Hound, Add, Subtract, Multiply, Diride,
■oraallse, Integer Dlrlde, Make Integer, which Converts floating
I*oint Beprosedbtion of Hunbers to Integer Bepresentetion of
Huabere, Double Length Add, Double Length Subtreot,
Double Length Multiply, Double Length Diride, Add Hegnit^ß
ivgnorlng exponents, Subtract Magnitude (the next aaren are
miscellaneous instruct ions), Duplicate Top of Stack, Return
frost Subroutine, Betura. from Interrupt, Index by ϊορ of Steok,
whloh Beans Add Top Df Steck to adtrese Register, .' .
0098S1/1569
ORIGINAL
&Operation, AHlAB1S Veit or VISQ iknpty, Extract fag Bite (to
atop of ötöok)* insert Teg Bite» from top of eta ok into oeoond
word in staek» and a eeoond representation of EaIt.
2HLe sweiellblgen Befehle nach. Yig« 8 B enthalten 6 Bite
für den Qp-Oode und weitere 6 Bit» für eine Tariant-Silbe*
Xn Mg. 80 eind sweisilbe Befehle dargestellt» von denen
die ersten 6 Bits den Op-Oode darstellen und die zweiten
6 Bits eisen ntaaerisohen Wort bedeuten· Me eveieilbigen
Befehl· na oh fig. 8B sind folgendes "reaibange top of
steole8» *ALtt and Jump*» und ein Befehl stur ttnwandlung
BtaSr«* und Dezimalnotierung·
sh©rfe literal« fetoh from register to otaok, store
freu Jtaek to register set barrel shift register, enter
ezemiti?« $g®@mmit initiate input-output prooes»» and
maule*
wmmsiMoh% ^eId kaim eine Zahl» eine Begisteradresse»
eia® i@M«l»@£ilO.img» einen BiAgengspunlct» eise
Msdulsahl 3i@r tine Ooiaputer-Ifodiilxahl darstellen·
· %& Ä*l^t den Aufbau ron Adressen-Yarlant-Befehleff*
li#ee !©fehle enthalten 4 Silben. IQie erste Silbe von
6 Bits «Ethilt den O'^-CoÄe oder die Operatione-Oode-luaaAr
fik im Befehl. Me Bits 5-8 sind die Variant-Bit β. Die
Bite !Nil enthalten 3 Bits, welche ein Baeisregieter beseiohnen·
Die 6 Site Ton, 12 « 17 und die 6 Bits von 18-23 enthalten
die IS Bite dee Adresaenfaides» welche eine sweiallbige
Sptiaharadress» beseiohnen· Diese Befehle β ad folgendes
~AD ORjQiMAL I
008861/1669
Pet oh fron Memory to Staok, Jet oh from Memory Conditional»
P*oh from Maaory to Address Register, Stora, from Stack to
Memory, fetch from Memory and Set lag Bits ,„in Memory, While
fetching, Setup Jimp, and Seat and Modify !„dex Word«
Pig. 8B Beigt den Aufbau einoa Befehls für felddefinierte
Oparationen· Sr enthält d/rei Silben· Die ersten 6 Bits 1-5
der felddefinierten Operationen sind der Op Code. Die Bits 6-11 beseiohnan die Größe des feldes durch die Zahl dar
Site. Dia Bits 12-15 bezeichnen das Anfangbit das 7e3.de*·
Die feIdoperationen «ind folgende ι
Clear the Yield, Set the Tiald to 111 Ones, Complement the
Jield, Brtraot the Held from a Word, Insert a field
from One Word Into Another.
009861/1589
OFiIQlNAL
SS
Der Befehl« ein Feld zu prüfen, enthält eine vierte1
außer den drei Silben nach* Fig.8E. Die vierte Silbe ist eine Variante!!be» die die Art der Prüfung voraohreibt. Sie enthält
die Bitrtellen 18 - 23.
Weitere dreiailbige Befehle alnd in Fig. 8F dargestellt. Diese
Befehle bestehen aus einem öp-Code mit Bita 0 - 5 und einem
Adreaaenfald in den zwei Silben von Bite 6 - 17. Zu Ihnen gehören
die Befehles "fetch Adresa to top of stack11 und "index".
Pig.83 zeigt άβη Aufbau der Sprungbefehle. Dies ist ein 8pezialfsll
der zweisilbigen Befehle nach Fig. 8B. Tir ist eingehender
in der Fig. @6 wegen seiner Ähnlichkeiten mit den Sprungbefehlen nach Fig, BH und 8J gezeigt.
Pig» 8© seigt € Bit» das Op-Öodea, auf die eine Variantsilbe
folgt, de^en Mts '=">
Unterteilung des Variante spezielle Bedeutisngen
haben. Bis 6 Bits άβτ Variantsilben enthalten ein
Bit;, «stichel angibt, ob das erste 'Ort, das verglichen
p®f5*g@lsaltOT oder gel «acht werfen soll* T)as zweite Bit
gibt an, ob das zweite der miteinander verWort« festgehalten oder geluacht werden soll. Die
4 Bits geben Tier Variationen dee Vergleichaprozeeaee
aise s»B. Vergleiche », Vergleiche >
, vergleiche ^ , vergleiche 25* uaw.
flg. 811 zeigt den Aufbau für den Befehl, einen Sprung zur
Prüfung eines Feldes zu machen. Die ersten 6 Bite alnd der Op-üoda, die zweiten 6 Bita haben ^enau die gleiche Bedeutung
wie die f&riant'-Sllbe daa Sprung-Befehls nach Fig. 86. Die
dritte Siiii© gibt die Bit-fiumner der Auerangapjöaitioi* dea
Feldes» Dl© vierte Silbe gibt die Größe dea Feldes an, d.h.
die Z«M ¥@n Bits in dem Feld,
i m:'si& eilte ait 6 Bita enthält urn Op-Code* Die.
ait S Bite ist eine Variant-Anßabe. Die letzten
iiSfit/iSii
4 Bite von diesen 6 Bite sind identisch mit den letzten 4
Bits der beiden anderen Sprungbefehle, Jedoch geben die ersten zwei Bits die Art und ''/eise an, in der das Indexwort
naoh dem Prüfen abgeändert werden soll. Die dritte und vierte Silbe dee Befehle enthält eine 12-Bit-Adresee des Indexwortes
mit Bezug auf das Baaieindexregiater 621 (Pig.6),
Pig. ΘΚ zeigt den Aufbau der Set-up-Sprungbefehle. Die erste
Silbe iat der Op-Code. Die erste Silbe ist eine Variantsilbe.
Pas erste Bit der zweiten Silbe wird nicht benutzt. Das zweite Bit der zweiten Silbe ist ein unbedingtes Bit, welches angibt,
daß der Sprung ohne jede Prüfung ausgeführt werden sollλ
Das dritte Bit der zweiten Silbe ist für die Programmbezugstabelle
bestimmt und gibt an, ob die Adresse von einer PRT-Leitung
(indirekter Sprung) kommt oder ob sie eine PTR-1O6-Eineteilung
ist (direkter Sprung). Die nächsten 3 Bits dsr Tariantsilbe sind die Silbenadreese der Befehle, auf die gesprungen
werden soll, wenn eine solche Silbenadresee anwendbar
let. Die letzten zwei Silben des Befehles enthalten ein 12-Bit-Adressenfeld. Venn das 3«Bit der Tariantsilbe eine
Null ist, dann soll das Adrtsssnfsld mit Bezug auf das Basieprogrammrtgister
626 (Fig. 6) genommen werden. Wenn das 3· Bit der Yariantsilbe eine Sine ist, dann ist das A<3juiaeenfeld
die Adrsss· der Leitung in der FrogrammbiBUgstabelle, dit dtn
Sprung angibt.
Bs ist klar, daß bestimmte Desoriptoren auch bei des Befehleaufbau
der anderen Baueinheiten der Kaschine enthalten sind.
Z.B. können die Speichereinheit und/oder die Eingabe-Ausgabtsteuereinbeit
in der Lage aein, Befehle, dit in das DT f.emÄB
der Erfindung eingeführt werden, aufgrund von Befehlen erzeugt, di« ursprünglich durch das Exekutiv- und Steuerprogramm gegeben
sind.
ORIGINAL
009061/1869
-6ο«
Fig. 9 zeigt den Aufbau von einigen "Orten, die im Inneren der
Maschine in Form von Deecriptoren gespeichert werden und die
in der Programmbezügetabelle oder unter der Adresse Null des
Basisindexregisters 621 gefunden werden können.
1Zu Figur 9 gehören die Figuren 9A1 9B und 9C.
Fig. 9A zeigt den Aufbau der Rückinformation, die am Kopf jeder Programmbezugetabelle festgehalten wird. Sie bildet das
'/ort "Null" und Wort "Eine" jeder Programmbeeugetabelle.
Di« ersten beiden Wörter in jeder PRT enthalten Rückinformation,
eo daß das Segment, welches gerade verarbeitet wird, zu dem Segment zurückkehren kann, welches angerufen hat. Einige Prograambezugstabellen
werden jedoch ale Hauptprogrammbezugstabellen
für bestimmte Arbeiten benutzt und können auch weitere Informationen enthalten.
Bas erste dieser beiden ersten Worte enthält die Adresse der
alten Programnbeeugetabelle, d.h.der Programmbezügetabelle dee
anrufenden Programmsegnentea. Se enthält auch die GrtiB* der
alten Frogr&smibe züge tabelle, damit Irgendeine Bezugnahme auf
die altt Programabezugstabelle tatsächlich in die alte Programmbezugetabelle
hineinfällt. Die Größe wird ale Programsbe zugetabellengrenzf eld festgehalten« außerdem können die
ersten drei Beeeichnungsbits dieses ersten Portes auch ale
"Grenzen" kodiert werden, so daß mit Hilfe der alten ProgrammbezugstabeXle,
auf Baten bezug genommen werden kann, auf die durch die alte Programmbezugetabelle hingewiesen wird, ohne
daß die Notwendigkeit besteht, diese Bezugnahmen in die laufend«
Prograambeaugetabelle hineinzuschreiben· Dies ist der Aufbau
Ton denjenigen Worten in.der Programmbezugstabelle, die auf Segmente von Baten hinweisen. In diesem Fall 1st das Segment
von Baten, auf das hingewiesen wird, die alte Programmbezugetabelle, 'die zu dem anrufenden Programmsegment gehurt. Ferner
sind in dem ersten '"ort 12 Bits enthalten, die für den Gebrauch
008851/1668 BAd
dee Exekutivprogramms reserviert sind. Sie enthalten mindestens
ein Bit, welcheβ angibt, daß die alte Programmbezugstabelle
lediglich ausgelesen wird und daß nichts in sie eingeschrieben wird.
Das zweite Wort der Programmbe^ugstabelle enthält Informationen
über sein eigenes Programmsegmente Es enthält das Adressenfeld, ,
mit dem das .Segment beginnt, und die Einstellung des Basisprogrammregisters
zur Ausführung dieses Programmsegments. 3s enthält seine eigene Größe, die Grenzen der Programmbezügetabelle.
Diese beiden Felder sind 18 Bits lang. Bas Bezeichnungsbitfeld (tag bit field) ist auf "leer" eingestellt. Außer den
56 Bits der beiden Felder, nämlich der Adresse der Programmeegmente
und der Größe der Programmbezugstabelle, sind 12 Bits vorhanden, die für das Exekutivprogramm reserviert sind.
Fig.9B zeigt den Aufbau von Sprungsteuerworten, die in die PRT eingebettet sind, um eine übertragung der Steuerung auf neue
Programmsegmente oder auf Teile des Codes innerhalb der existierenden Programmsegmente zu bewirken« Das Sprungeteuerwort ist ein
Eintrag in der Prigrammbezügetabelle. In Bezugnahme auf eine bestimmte
Zeile der Programmbezugetabelle, die ein Sprungeteuerwort
enthält, bewirkt im Programm die Ausführung eines Sprunges, wie es durch das Sprungsteuerwort ftetgeltgt wird. Die ersten
3 Bits des Sprunguteuerwortes enthalten den Sprungtypus. Zu den
Arten von Sprüngen, die in dem Sprungsteuerwort vorgeschrieben
werden, /ehoren ein nicht rückkehrender Sprung, bei dem die
Steuerung lediglioh auf ein anderes Programmsegment übertragen
wird, ein interner Segmentsprung, bei dem ein Sprungrückkehrwort
gesetzt wird, das weiter unten näher erläutert wird und bei den der Code, auf den übergesprungen wird, in dem gleichen
Segment wie das folgende Segment liegt, ein Segnentsprung, der
gleich einen internen Segmentsprung ist, außer daß der ausgeführte Cod· in einen neuen Programmsegment steht und schließlich
008881/166«
der ferfahrenssprung, der die Einstellung des Sprungrückkehrwort
te für die Rüoklnformation und das Springen auf ein neues
Programme»gmsnt bewirkt und außerdem auch eine neue Programmbezugetabeile
für das weitere Arbeiten bildet. Im letzteren
Falle befindet eich der Eintrag am Kopf der neuen Bezugetabelle,
welche die Adresse des Programmsegmentes enthält, auf das Übersprungen
wird. In de? Beschreibung ist schon erwähnt worden, daß
di® Programmbezugetabelle Zeiger oder Zähler enthält,, die auf
versohiedene Codesegmente und verschiedene Datensegmente hinweisen.
Die Sprungeteuerworte sind* die Zeiger, welche auf andere
C©deatgsne»$# hinweisen. Die Eweiten.12 Bits enthalten ein Inkre-B«nt
für di® Mastellung $#s Basisindexregieters 621, um der
Routine, auf di® übergesprungen wird, eine neue Arbeitsfläche,
neue Xndexwo^td "It-S ©is Sprungrückkehrwort eu geben, dae unter
der < BMieindekrtgia^Taeresae bei full gespeichert wird. Die
i Bit f. d®@ 3prungsteuer&ortes sind eine relative
Sie. ersten 12'-'Bits werden dem Baeis-(526
hiasmaddiert9 im Sie effektive.Adresse eu
übergesprungen wirdfn eolli die.let et en drei
9£te iini U^ Silli6Ee4re@ee- in des gerade, aufgefundenen Wort.
hetm 1Slit@ des Sprungstenerwortes sind ein 'Adrssssrfür
äie|«nigen Sprungtjpen» die eine neue Prograiiaibecugetabelle
verlangen n würde dies das Ädreeeenfeld der neuen Pro-
sein, für diejenigen Sprungtypen, die keine
" neue BrogxsoiBbesugetabelle verlangen, 1st dies dae Adreeeenffld
für dme B«eieprogrejuBregleter 626. Bei denjenigen Sprungtypem«
bei &%nm weder eine Xnderung des Baslsprogrsiittregletere
626 rooh fim® neue Frograambesugetabelle verlangt wird, werden
dless Bits'.nloht-"benutst, Me letsten drei Bits sind die Beseioniiwigsteits*
Si® enthalten den Drei-rBit-Οοαβι der snseigt, dej dies
ein e-pvuBeatsnexvort lets Meeer Oöd·. wird von des JJf dekodiert,
@nsiäseiie»9 ia® «to.. Ae»ar$ieev Sprung vorliegt, Wenn du 8eg«
«erden aoll,: nicht im Htupteptioher,
00MI1/1IM
Ί524103
sondern anderweitig, eum Beiepiel in einem Plattenspeicher,
gespeichert ist, dann bewirken die Bezeichnungsbits eine Unterbrechung dee Exekutivprogramines.
Außer der Information, die in der Programmbezugstabelle ger
speichert iet, iet noch eine Information, welche die Rückkehr
vom Sprung in das DV steuert, in dem Sprungrüokkehrwort enthalten. Das Sprungrückkehrwort wird stets unter de** .\dresse
Null in Bezug auf das Basieindexregiater 621 gefunden. Die
ersten drei Bits des Sprungrüokkehrwortes geben den Sprungtypus
an, und zeigen an, ob eine Rückkehr zu einer alten Programmbezugetabelle
oder, eine Beueinstellung auf das Basisprogrammregister
erforderlich ist. Die nächsten 12 Bite enthalten ein Busieindexregiaterdekrement
und werden von dem Baeisindexregisterinkrement
des Sprungsteuerwortes gesetzt. Jeder Pegel der Subroutine erhöht das Basieindexregister 621 bein Eintritt in Abhängigkeit von dem
Inkrement, das in den Sprungateuerwort gespeichert int. Bei der
Rückkehr der Subroutine wird das Basieindexregister 621 entsprechend
dem Inkrement erniedrigt, das in dta Sprungrückkehr»
wort enthalten iat. Da das Sprungrüokkehrwort an einer Stella
gespeichert iet, auf dia von dan Baeieindexregleter 621 hingewiesen wird, ergibt jede Erniedrigung des Baaisindexregieterff
eine Erniedrigung des vorhergehenden RÜckkehrwortes. Eine vollst
and ige Folge von Rückkehrworten klettert daher Immer höher, bla
eine der Worte die erste Stufe erreioht.
* f
Die nächsten *5 Bite sind eine Programmeählereinatellung, Diea
iet eine relative Einstellung; sie muß dem Baeieprogranatregieter
626 hinsuaddiert werden, um eine abeolute Adresse sur Cinetelluag
dee Prograomeählere 106 eu erhalten. Die letsten 1θ Bite bilden
ein Adreeaenfeld, welches gegebenenfalls die alte Ba«ieprogrA«iregiaterainatellung
esthKlt. Ia Fall derjenigen Sprünge, dit eine
neue Prograambeeugatahelle verlangen, werden die alten Baeiaprogramregietereinetellungen
nicht benutet. Die Beseichnungsbite
sind auf leer eingestellt.
000861/1568
BADORlQfNAL
Beim ersten Anlassen der Maschine, bei der ein DV gemäß der Erfindung
verwendet wird, muß das Exekutivprogramm in den Hauptspeicher eingeführt werden, ohne daß das DV irgend etwas tut,
was diesen Vorgang stören könnte. Nachdem das Sxekutiyprogramm
in den Hauptspeicher eingegeben ist und die Steuerung übernimmt,
steuert die Aufgabentabelle in dem Exekutivprogramm die Arbeit
des DV eur Ausführrng von speelellen Programmen. Dies trifft
auoh IU, wenn keine anderen Programmeegmente in dem DV sind, da
in diesem Fall die Aufgebentabelle vollständig l*er 1st und das
ExekutivprografflB ditse AufgabentubeHe ständig prüfte ob etwas
au tun let. Anfänglich ist da« DV mit Hilfe eines Handschalters
euegeeohaltet. Ein elneelntr Descriptor ist durch Verdrahtung
In dl· Σ/0-Einheit eingebaut. Dieser Descriptor bewirkt die Über
tragung irgendwelcher Daten Ton einem bestimmten Nebengerät nach
eint* Speicherplatz. Die·· in dta Nebengerät enthaltenen Daten
bilden da· Exekutlvprograiiai und der eingebaut· Descriptor in dem
Speicher bewirkt, daß da· Exekutivprogrsjui odir ein genügender
Teil davon ift den Spticher eingegeben wird.
Die so eingegeben· Houtine kann aus einer Laderoutine (bootstrap
loading routin·)beetehen, welch· dee Hauptexekutivprogramm von
der Stallt» wo «■ nonaalerweiee geepeiohert let, vorzugsweise
auf Platten, herbeiruft· Bai Z/0-Steuergerit beginnt «ein·
2fcieriptor#n aue»ttftüir»n, trenn ein getlgneter Deeori'ptor in de«
Z/O-GerKt i«t und «·ββ wm de« Hcbengerttt «in Stich ta gegeben
«elohe· anaeigt, dai eic Dmttn fertig «or Eingab· sind.
·· dalier dieser v«rdrafet«tt Deeorlptor auf den richtigen
final' in des I/O-SteuergerKt gegeben let, let es notwendig, den
Aülaiknepf In des Kebengerät «u drücken, na da· Zeichen eu
•o d&8 4ae I/0-Oerilt beginnen kann.
Dae Zeichen von dem Nebengerät bewirkt, daß der Descriptor, der
in das I/Ö-Gerät gerade eingegeben worden ist, geprüft wird» Der
Descriptor bewirkt die Übertragung von Daten von dem Nebengerät an
den angegebenen Speicherplatz. ·
Das. DV muß nun eine Einstellung des Basieunterbrechungsregiatere
624 erhalten, die mit dem Speicherplatz 122 übereinstimmt. Das
Register 624 wird, wenn nötig, von Hand auf einen Wert aufgeladen,
der der Adresse entspricht, unter der der Teil des Exekutivprogramms gerade von dem Nebengerät eingegeben worden ist·. Der
Schalter des.DV wird dann abgeschaltet· Beim Einschalten der
Spannung in dem DV ist in dem Unterbreehungsregister ein Unterbrechungebit gesetzt worden. Dies bewirkt eine Unterbrechung für
einen spezifischen Fiats in Bezug auf die Baeisunterbrechung in
dem Adreseenreglster« Sie Steuerung geht nun auf den Platz über,
der das Programm enthält, das gerade in dae I/O-Steuergerät
eingegeben ist. In diesem Zeitpunkt arbeitet die Maschine unter der Exekutivprogramitteteuerung und der AnlaSvorgang ist beendet,
Das Exekutiveteuerprogramm teilt Vorgänge entsprechend den Eingängen
in der Aufg^bentabelle zu, es teilt Speichersätze 122,
entsprechend den Datengegenständen und Prbgrammsegmenten zu, die
durch die Einträge in die Aufgabentebeile gefordert werden. Es teilt den kaum im Plattenspeicher zu. Ee steuert alle Übertragungedaten
von den Nebengeräten sum Speicher 122 und von dem Speicher zu den Hebengeräten· Das Exekutivprogramm bewirkt daner, daß alle
notwendigen Daten, alle Konstanten und Variablen an die zugehörigen
Speicherplätze übertragen werden, so die gegenständliche Programme,
die später in den Speicher 122 eingeführt werden, jederzeit
die notwendigen Daten sur Verfügung *ab«n, die erforderlich sind·
BAD ORIGINAL
009061/156«
Normalerweise wird das Exekutivprogramm erwarten, die notwendigen
Gegenstände für ein gegebenes Programm entweder in dem Hauptspeicher 122 oder in einem Plattenspeicher zu finden, Eingaben
von außen werden nahezu unabhängig von dem I/O-Steuergerät bearbeitet.
Der Programmierer z.B.wird beim Auflegen eine« Kartenstapele,
sei es ein Programm oder Daten, auf einen Kartenleser und beim Ablesen dieses Kartenstapele mit Hilfe des Kartenlesers
im allgemeinen keine unmittelbare Anteilnahme des zentralen CV
bewirken. Bas I/O-Steuergerät und sein· steuernde Folge von
Desoriptoren wird bewirken, daß die Information von* dem Kartenleser
β.B.auf olam Plattenspeicher übertragen wird, ohne daß
das zentrale BV unise^ifrroohen wird, außer möglicherweise am Ende
des Vorganges, um aEmizaigen« da£ eine Programmgruppe vollständig
in um Plattenspeicher für »«künftige Verarbeitung übertragen worden
ig £·
I^akutivprograna wird die erste oder mehrere Karten der im
Plattenspeicher enthaltenen Informationen, d.h.die Deckkarten oder
Kopfkartan prüfen, um festzustellen, was mit dem Programm getan
werden soll, ob es gespeichert oder nur auf Fehler geprüft werden
soll, ob es in die Bibliothek übertragen werden soll, oder was damit
sonst geschehen soll. Nach der Feststellung, was mit dem gegebenen
Programm getan werden aoll, wird das Ezekutirprogramm diese Information
in die *aiga^antabelle einführen.
In einen späteren Zeitpunkt, wenn die laufenden Arbeiten von dem
BY ausgeführt worden sind, und dieser leerläuft, wenn z.B. einein
der Aufgabentab@ile enthalfeis Arbeit beendet 1st, dann wird der
Eintrag in der Aufgabentabclle auf den neuesten Stand gebracht.
Zu diesem 'Zeitpunkt wir* de!? Vorgang zur Vorbereitung der notwendigen
Profi'aiwsfj^aeia^ee D&tenblooka und Programmbesnigstabellen durchgeführt
009851/1569
Bel dieser Vorbereitung werden die Datengegenstande oder Prograamsegmente
in den Hauptspeicher 122 Übertragen und die Leitungen der Programmbeaugetabelle werden mit den Adreesen im
Speloher 122 versehen, welche die verschiedenen Gegenstände,
die in dem Programm benutet werden, anzeigen. In diesem Zeitpunkt wird der Programmz&hler 106 auf den ersten Befehl in dem
Haupteegaent des Programmoodes gesetzt und eine RUckUbertragung
von dem Unterbrechungsbefehl ausgeführt. Dies ergibt eine Einstellung der Flipflops der DV auf die Anfangsbedingungen und
der erste Programmsohritt wird ausgeführt.
Einige leitungen in der Programmbcsugatabelle deuten in diesem
Zeitpunkt auf Datenobjekte oder Frograamsegmente hin, die in
der Kopfkarte als "notwendig" bezeichnet worden sind, die in
den Hauptspeicher 122 eingebracht worden ist. Wenn die Ausführung dee Programme andere FRT-Leltungen für Datenobjekte
heransieht, die nioht vorhanden sind, dann wird der Reohenvorgang unterbrochen. Diese Unterbrechung wird von den Unterbrechung*- ,
bits der Programmbesugstabelle erzeugt, die aloh auf nioht vorhandene
Gegenstände bestehen« Der Exekutivbefehl wird dann vsr- '
suchen, Speicherplatz fUr den Gegenstand, der benötigt wird, bereitzustellen
,und wenn ein β ο loher Plats gefunden werden kann,
wird dieser Gegenstand eingebracht und dl· Steuerung kehrt wieder
auf daa Programs zurüok, weloheβ diesen Gegenstand verlangt
hat.
Der Vorgang wir mit Bezug auf Gegenstände weiter fortgeführt,
die notwendigerweise zugeführt werften,müssen, bis die Beendigung
des Programms durch einen entsprechenden Anruf dta sifekutivbefehls
signalisiert wird. In diesem Zeitpimkt wird der gesamte Raum, der von diesem Programm eingenommen worden let, ^tlöeoht,
mit Ausnahme von aolohen Gegenständen und Prograaaaegmentcnt die
von anderen Programmen nooh verwendet werden und mit denen die
anderen Programme bis jetzt nooh nioht fertiggeworden sind.
1 / 1 SM §ÄD OBIG/N^
7"
Ee wird nun zur Erläuterung eine einfache Folge von Programmechritten
angegeben, die in dem Speicher 122 an Irgendeiner
Stelle gespeichert sein können, bis sie in dem DV verarbeitet
werden. Bas Beispiel soll eine Programmfolge zur Multiplikation
von X und Y und Addition von W und Speicherung des Ergebnisses unter der Adresse Z betreffen. Dies kann duroh die Gleichung
dargestellt werden:
Z m IY + W .
In der "Poliehn-Sohreibweise würde die Gleichung lauten:
XY · W + Z «
Die Befthlsfolge zur Ausführung dieser Gleichung könnte aus den
folgenden Befehlen bestehen:
dieeer Befehl holt eine Leitung dee PRT* Biese leitung
dee PHT enthält die Adresse des Beginn· einer Datengruppe X.
Bas Adressenfeld wird an das Adressenregieter 602 (Fig. 6) übertragen.
(BIe Buchstaben FlIA bedeuten: fetch for memory to address
register.)
w
w
■Index", ein Befehl sum Herbeiholen des Indexworte·, dessen
Inhalt alt dem Adreseenregister .602 addiert wird, um einen Gegenstand
anzudeuten, d.h.einen der Batengegenetände X;
"FMS11, ein Befehl, der angibt, daß ein Wort aus dem Speicher
dem Stapel oben zuzuführen ist. Bie Ausführung dieses Befehle wird weiter unten ausführlich erläutert. Ee ergibt eich ein Gegenstand
X, der-im obersten Platz in dem Stapel steht, wobei der
000861/1666
laufende Inhalt des Adressenregisters 602 al3 Aniselchen benutzt
wird, wo in dem Speicher 122 die Baten gefunden werden können;
"FMA" wird dazu benutzt, von der Frogrammbezügetabelle die
Basisadresse einer Gruppe von Gegenständen Y abzurufen.
"Index", wenn notwendig;
"SMS" für ein spezielles Datenwort Y;
"Multipliziere";
"PMA", PMA wird benutzt, um den Basieindex einer Gruppe von
Gegenständen W zu erhalten;
"Index"j
"PMA" t Dies PMA bezieht eich auf die PRT-Leitung, welche eint
Gruppe von Gegenständen Z anzeigt. Zur Vereinfachung sei angenommen, daß nur ein einzelner Gegenstand in der Gruppe ist, so
daß ein Indexvorgang nicht erforderlich ist;
"SSM" : Speiohere vom Stapel zum Speicher;
Die Folge der Programmechritte würde in der "Polish"-Schreibweise
wie folgt aussehens Fetching, using the subsequence FMA, possible
indexing, and PMS corresponds to the occurence of a single variable.
Dies· Unterfolge "fetching" tritt einmal für X und einmal für Y auf. Der Befehl zum Multiplizieren entspricht dem Multiplications-
009051/1569
1524102
symbol. Die Uhterfolge tritt wieder für V/ auf, gefolgt von einem
Befehl zum Addieren. Eine etwas verschiedene Unterfolge bewirkt,
daß das Resultat, das oben im Stapel enthalten ist, wieder in den Speicher an der Stelle Z gespeichert wird, Diene leichte
abweichende Unterfolge ist "BlA, möglicherweise Index,
5s sei angenommen, daß diese Befehle in dem Speicher 122 an
irgendeinem Punkt des Vorgangs gespeichert werden. Bei der Ausführung des Programmes, in dem diese Instruktionen enthalten
sind, bewirkt das Vorschau-Register,304 (Fig. 3), daß diese
Inetruktionsbefehle aus dem Speicher entnommen und in die Schaltung
101 überfuhrt werden. In einem späteren Zeitpunkt wird der ' erste PMA-Befehl durch die Schaltung 102 herausgezogen und der
Schaltung 104 zugeführt.
Am Ende jeder Ausführung eines solchen Befehls in der Schaltung
104 wird der näohste Befehl der Folge von der Schaltung 101
durch das Gerät 102 angerufen und in die Schaltung 104 eingeführt« Die Ausführung der Befehle, die einer naoh dem anderen in die
Sohaltung 104 eingeführt werden, 1st dabei die folgende:
Der erste FKA wird von der Schaltung 104 dekodiert und eine Adresse
an den Speicher 122 abgegeben. Die Adresse kann ihre Daten von den
Datenabschnitt 120 des assoziativen Speichers 19 erhalten, wenn κ auf den Gegenstand X kürzlich Btzug genommen worden ist. Andernfalls
wird die Programmbezugstabellenleitung von dem Speicher
geholt und eins der zwei 18 bit-Adresssnftlder dieser Leitung
wird in die Schaltung AAH 602 eingeführt. Wenn der Bezeichnungebit-Teil
der PRT-Leitung durch das Exekutivprogramm auf den Grenzoode eingestellt ist, dann befinden sich die beiden Adressenfelder
der PRT-Leitung in den beiden Registern ABL 1027 und ABU
1028 (Fig.10) und dienen zur Begrenzung der nächsten Entnahme für
den Speicher. Der erste Befehl wird von der Schaltung 104 vollständig durchgeführt und bewirkt, daß kein Befehl in die Bndwartesohaltung
108 eingeführt wird«,
009861/1669
Bel der Beendigung der Ausführung des ersten Befehls hat das
Silbenbestimmungefeld 102 nun den zweiten Befehl, einen Indexbefehl,
in die Schaltung 104 eingeführt.
008851/1569
Dl· Decodierung einte Indexbefehle bewirkt die Berechnung
einer Adreeee eines Indexwortes. Das Indexwort kann in
den aaaoElatlven Speicher 19 gefunden werden, ebenso wie
die PRT~Leitung-> Andernfalls wird das Indexwort aus dem
epeioher 122 herbeigeholt« Der Inhalt dea Indexwortes
wird au den vorhergehenden Inhalt dee Adressenregisters
602 (Figur 6) hineugefUgt„ Hiermit ist der Vorgang beendet,
der durch den Indexbefehl verlängt wird und der Indexbefehl bewirkt keinen Eintrag in der Warteschaltung
10Θ,
Der dritte Befehl lautet:"EntßiP" . aus den Speicher und
überführe in den Stapel11, Der Inhalt des Adressenregistere
602, der nun die Summe des Adressenfeldes der PRT-Leitung
und des Adressenfeldes de· Indexwort·· darstellt, wird
■lt den Adressenlnhalt dee PMS-Befehle addiert, wenn er
vorhanden let und auf den Speicher 122 ale Adreeee Übertragen,
In die Warteschaltung 106 wird «in Befehl eingetragen,
us eine übertragung von de« vorübergehenden
8peloher au· obereten Plata dee Stapel· au bewirken. Der
Plata in de» vorübergehenden Speloher 114 wird der ?erblndungeeohaltung
100 lueamien alt der Adreeee sugeleitet,
dl· gerade hergestellt worden ist. Di· Yerbindungssohaltung
100 erhÄlt dl· Adr···· von der Schaltung 104 und bewirkt,
dal dl··· Adreeee auf den Speicher 122 übertragen wird. Wenn Daten von de· Speicher 122 aufgenossen werden,
bewirkt dl· Verblndungaechaltung 100, daae die Daten In
den vorübergehenden Speicher 114 an einer Stell· eingetragen werden, die der Verbindungeaohaltung 100 mitgetellt
worden let. Der Plata In des vorübergehenden Speicher
114, der der Terblndungaachaltung 100 mitgeteilt
worden let, entspricht de· Plats In der Warteeohaltung 108,
welche den Befehl enthält! "übertrage vom vorübergehenden
Speicher sub obereten Plata dee Stapele"„ Wenn dieser Befehl
unten in der Warteeohaltung 108 eintrifft, enthält
000861/1669
aar Plate in dan vorübergehenden Speicher 114 dia Daten,
dia aua da« Speicher 122 entnommen worden sind-
Be folgt nun ein Befehl PMA^ Gerade wie der vorhergehende
WA-Befehl Übertrügt er eine Adresse aua der Programmbe-■ugatabelle
in daβ Adreaaenregieter 602 der Schaltung 104-Der
nächste Defehl ist ein Indexbefehl, welcher don Inhalt
eines Indexwortes sum Adresaenregiater AAR 602 addiert.
Der nächste Befehl ist ein IMS, der in die Warteschalturg
108 einen Befehl sur Übertragung aua den vorübergehenden
Speicher sum obersten Plats des Stapele eineetst und auf die
Vtrbinduttg880haltung 100 eine Adresse im Speicher 122 und
einen Plats in ▼»«•Übergehenden Speicher 114 überträgt - Zu t
diesem Zeitpunkt enthält die Warteschaltung 108 swei Befehle, näffllioh nacheinander sweimal eine übertragung von
dam vorübergehenden Speicher sub obereten Plats dee Stapele
vorsunehmen·» Venn swei Plätse im vorübergehenden Speicher
114 «ugeordnet worden sind, enthält mindeatena einer Daten,
welohe da· Obertragungafeld 100 aua dam Speloher 122 entnommen
hat. fur ein Plats dee vorUbeigehenden Speiohere ()
wird in einem gegebenen Seitpunkt geleert. Die Yerbindunga- j
aohaltung 100 »use erst den einen füllen, bevor eie einen
Befehl annimmt, den anderen sit füllen, da nur eine Terbindungaaohaltung
100 vorhanden let.
Jedesmal, wenn die Endschaltung 110 einen Befehl ausgeführt
hat, kann sie einen neuen Befehl aus der Wartesohaltung
entnehmen und diesen Befehl ausfuhren^ In dem vorliegenden
VaIl kann die Sndachaltung 110 diese Befehle sur übertragung
von dem vorübergehenden Speicher sum obersten Plats des Stapele ausfuhren, aobald der vorübergehende Speicher 114 £
gefüllt ist oder ale kann einige Zeit warten, weil die früheren Befehle in dar Warteschaltung 108 von der Soha?
tung .110 noch nicht ausgeführt sind. Es besteht kalne nc
wendig· Zeitbesiehung twiechtn des Zeitpunkt» in de· die
Schaltung 104 den Befehl beendet und in den die Schaltung 110 den Befehl aufnimmt, um ihn aueiufiihren
In der Zwischenzeit ist in der Schaltung 104 ein Befehl su multiplizieren decodiert worden» Der Multiplikationbefehl
betrifft nicht die Schaltung 104 und wird umgeändert auf die Schaltung 108 als dritter Eintrag Überträgen
IMe nächsten drei Befehle bestehen aus der folge FMA, Index,
IKS» die in Ablauf ähnlich sind wie die oben beschriebenen Befehle» Das Ergebnis ist ein Befehl an die Wartesohaltung
108, eine Übertragung von den vorübergehenden
Speicher su« obersten Flats dee Stapels Vorsunehaen. Der
nächste Befehl 1st ein Additionsbefehlf er wird in der
Sohaltung 104 deoodlert. Is wird festgestellt, dass kein
Torgang in der Schaltung 104 erforderlich 1st, und der AdÄierungabefthl wird daher als solcher als fünfter Untrag
dft* Mret·*chaltung 106 sugeleltet. Der nächste Befehl
ist aim Üf&-~--B§£<ahl, der eine Adresse aus der Frogrambe-Bugstabelle
entnlmt. Auf ihn kann ein Indexbefehl folgen,
der eine Indexänderung der Adresse 620 hinsuaddiert, die
aus der Frogranbesugatabelle entnoaven 1st und die In des
Adressenreglster AAR 602 festgehalten wird«
Der nächste Befehl fordert eine Speicherung tob Stapel in den Speicher. Dieser Befehl bewirkt, dass die gerade
hergestellte Adresse, die sich in den Adreesenregieter
602 befindet, an den Adressenabschnltt 118 des nächsten
leeren Flatses in der Warteschaltung STORQ übertragen
wird. Der näohste in die Schaltung 110 Übertragene Gegenstand
ist ein Kommando, das eine Speicherung !η. \vc Wartenohaltung
verlangt alt einen Hinvola darauf, welcher de?
na? Plätse in der Warteschaltung HlIORQ 120 J) Jieaeia
Γψ*Lohervorgang ».ugeortlnel; toc,
In diesen Zeitpunkt sind die folgenden Befehle in der folgenden Ordnung in die Warteschaltung 108 eingegeben
worden:
übertrage vom vorübergehenden Speicher zum obereten
Fiats dea Stapele (dies ist die Variable X); Übertrage
voo vorübergehenden Speicher sub obersten Ilate dee Stapele
(dies iBt die Variable Y)j Multipliziere; Übertrage
▼ob vorübergehenden Speicher sub obersten Platz des Stapele
(dlea 1st die Variable W) j Addieret Übertrage von
obersten Fiat« dea Speichers In die Warteschaltung. Biese Folge von Befehlen und Operanden, die sich in der
Warteschaltung 108 und in de· Speicher 114 befinden, entsprechen sehr genau der Folge von Operatoren und Operanden
nach der HPolieh"-Schreibweiee des obigen Beispiels,
der einzig· Mangel an übereinetieaung besteht darin, dass
die Variable Z nicht in des vorübergehenden Speloher 114 epeslfislert iat. Die Variable Z tat in des Adresseafeld
spealflslert, dae der Warteschaltung 120 B zugeordnet ist.
Die Schaltung 110 führt diese Folge von Befehlen in der Reihenfolge aus, in der sie auf sie trifft«. Ba 1st nicht
wichtig, wie viele Befehle in der Warteschaltung'108 in
den Zeltpunkt, in den die Schaltung 110 sie ausführt, enthalten
sind, Die Schaltung 110 kann die Befehle so schnell
ausführen, wie die Schaltung 104 sie abgibt, wenn ea BUglich
ist, oder die Schaltung 110 kann auch hinter der Schaltung 104 nachlaufenr Ea besteht keine notwendige
Zeitbeziehung zwischen den beideru
Um des vorteilhafte Verhalten der Ma8chine genäse der
Erfindung bei der Ausführung von Sprüngen au würdigen, sei nunmehr beschrieben, wgs eintritt, wenn der Befehl,
der auf einen Speicherbefehl folgt, einen Sprung zu einen
anderen Teil des gleichen Programmοodes foriert In
diesen Pall 1st der Befehl, der «5em SSM folgt, dor In der
Schaltung 104 aufgefunden wird, ein Sprusgbefohl, Dieser
Sprungbefehl wird decodiert ο Ee kann zdB-, ein Set-up-Sprungbefehl
sein, bei dem das unbedingte Bit so gesetzt ist, dass es einen unbedingten Sprung bewirkt. Iu der
Schaltung 104 bewirkt die unbedingte Sprungvariante dee
8et-up-Sprungebefehls, dass der Programaxähler 106 auf den
neuen Wert gebracht wird, der in den Set-up-Spruügbefehl
angegeben ist. Die Schaltung 104 wird daher Programm«
schritte ausführen, die von dem neuen Programmeegment erhalten werden■>
Xn diesem Fall hat die Anwesenheit eines unbedingten Sprunges in der Programmfolge der Schaltung
104 den Hinweis gegeben, dass der Sprung ausgeführt werden soll, ohne Rücksicht darauf, was in der Schaltung 110
paaslart, und es ist daher richtig, den Sprung ohne Rücksicht auf dl· Tatsache auseuführen, dass dito Schaltung
diajanigen Berechnungen noch nicht fertiggestellt hat,
welche den Sprung vorausgehen. Die Schaltung 110 wird natUrlloh
dia notwendigen Berechnungen beenden, wenn die Wartesohaltung
108 ausgeleert wird ο
Wann andrerseits der Torgang in diese» Punkt dar Prograaefolge
keine Speicherung des Resultate Z, sondern eine Prüfung des Resultate Z fordert, um eu sehen, ob es positiv oder negativ lat, und wenn dar Sprung von dieser
Prüfung bedingt abhängig ist, dann wurde die Schaltung nicht waiter gearbeitet haben« Die Schaltung 104 würde
In ein·· Zeitpunkt einen Set-up-Sprungbefehl decodiert
haben, ua fest»usteilen, an welche Stella er gehen soll.
Dar nächste Befahl, dar von dar Schaltung 104 decodiert wird, würde ein Sprang- oder "Prüf"-befahl gewesen sein-Dar
Sprung-Befehl würde alaa apaslelle Prüfung des Resultats
Z, s.B. ein· Prüfung, ob Z grosser als 0 IaIy vorgeschrieben
haben. Xn diese» lall würde die Schaltung 104
009161/1669 1
ORIGINAL '
anhalten und warten, dass die Warteschaltung 108 leer wird,
und nur dann wUrde die Schaltung 104 wiesen, dass das gewünschte Resultat in der Schaltung 110 hergestellt
worden ist. Die Prüfung würde dann der nächste von der Warteschaltung
108 zur Schaltung 110 übertragene Gegenstand sein und würde unter Verwendung der Vergleichsschaltung
230 der Schaltung 110 ausgeführt. Sie Schaltung 104 würde dann den Sprung in Abhängigkeit von dem !Ergebnis der Prüfung
ausführen» Wenn der Sprung ausgeführt würde, dann würde es notwendig sein, weitere Befehle der Schaltung
zuzuführen. Die neue Einstellung des BefAhlsadressenjählers,
näalioh das Register 304, .würde vo» Sprungsteuerregieter
1090 (figur 10) aufgefunden wtrden. Die Adresse in dta Sprungateuerregister (JOH) 1090 würde dann in da·
Register 304 übertragen, daait die Befehle, auf die da·
Program» springt, in die Schaltung 101 gelangen. Kach
dieser Übertragung sorgt die noraale Arbeitsweise der Silbenbestimungssehaltung 102 dafür» dass der Befehl»
auf den gesprungen wird, in die Schaltung 104 eintritt.
Die Schaltung 101 kann aSglicherweise Befehle aufgenoMien
haben, die auf den Sprungbefehl folgen und die nicht ausgeführt werden sollen* Dies Herbeiholen von Befehlen 1st' ,
Jedoch ohne Schaden, da keine Daten und keine Program- , "
folge geändert worden sind.
Die Bedingungen, welche die Schaltung 104 sue Anhalten brin
gen, sind stets durch speslelle Op-Codes angegeben. Hiersu
gehören der bedingte Sprung, der Sprung but Prüfung für ein feld, und ein spesieller Befehle die Warteschaltung
ohne Sprung auesuleeren. Bei allen anderen Op-Codes arbeitet die Schaltung 104 welter, nachdea sie
den laufenden Befehl ausgeführt hat» Bei diesen drei genannten Op-Codes hält die Schaltung 104 jedoch an, bis
die Warteschaltung 108 leer ist ι sie weiss, dass in den
009861/1569
BAD ORIGINAL
Zeltpunkt, in d«-m dia Warteschaltung 108 leer ist, alle
früheren in der Programnfolge geforderten Resultate nun-■ehr
la obersten Flats dee Stapels 501 berechnet worden sind*
Wir kehren nunmehr sur vorigen Auaführungsfora des Ausführungsbelspiels
zurück, Babel befindet sich ein Code von Befehlen in der Warteschaltung 108, der eine Übertragung
von dem vorübergehenden Speicher sun obersten Plats des Stapels, eine swelte übertragung von dem vorüber·
gehenden Speicher sum obersten Plats des Stapele, eine Multiplikation, eine Übertragung von vorübergehenden Speicher sub obersten Plats des Stapels» eine Addition und
eint übertragung sur Wartesohaltung enthält. Der erste
Befehl, näalioh die Übertragung rom vorübergehenden Speicher
sub obersten Plats des Stapels bewirkt, dass eine Orttaa· X von der Schaltung 104 «um obersten Plats des
Stapele 501 übertragen wird. Die nächste übertragung voa
vorübergehenden Speicher sub obersten Plats des Stapels bewirkt, ustvo die Gasest Y in den Stapel 501 an oberster
Stell« eingeführt wis?Ä und der Wert X üb eine Stelle
aaoti u&ttz» ie ils «weit® Stelle des Stapels 502 gelangt.
Bei der Multiplikation werden die beiden obersten Werte I 501 und 8 502 des Stapels 216 Biteinander multipliziert
und das Ergebnis wird am obersten Plats dta Stapels 501
festgehalten. Der oberste Plats des Stapels 501 enthält nunaehr das Produkt XY. Der nächste Befehl ist eine
übertragung vom vorübergehenden Speicher sub obersten
Plats des Stapels und bewirkt, dass ein Wert W in den obersten Plats des Stapels 501 eingeführt wird. Das bereite
berechnete Produkt ruta&ht eine Stelle in den zweiten
Register 502 nach unten. Der nächste Befehl, der auf
Addieren lautet, bewirkt, dass die obersten beiden Einträge in des Register 501 und 502 aiteinander addiert
werden. Der Wert W wird mit den Produkt XY addiert,
009061/1560
worauf eioh daa Produkt In den zweiten Register 502 des
Stapels 516 befindet. Die beiden Zahlen, die altelnander
addiert werden, werden einsein gelöscht und nur die 8uatoe
bleibt erhalten, Zu dleaea Zeitpunkt befindet sich das
Resultat in obersten Plats des Speichers und ist die θiniige Zahl in des Plats des Stapels 516.
Der nächste Befehl, das ist der letste Befehl in des AusfUhrungsbeleplel,
der in die Warteschaltung 106 eingeführt worden ist, lautat auf Speichern« Er bewirkt, das·
daa Ergebnis, daa nun in des ober·ten Plats des Stapele
vorhanden lat, in den Batenabaohnltt 120 der Warteschaltung
STORQ 120 B dee aesosiatiren Speichere 19 Übertragen J
wird. In eine· späteren Zeitpunkt spricht die Verbindungen
eohaltung 100 auf daa 8ignal von der Werteschaltung 120 B
an, das besagt, daae die Warteschaltung Baten enthält, die gespeichert werden sollen und bewirkt, dass das Resultat,
daa eioh in der Wartesohaltung 120 B befindet, in
den Speicher 122 surückUbertragen wird·
lachde» nunaehr der Aufbau, die Wirkungsweise und das Betriebeverfahren
dea Brflndungsgegenetandes beschrieben worden sind, wird es für nütsllch gehalten, auf einige
wichtige Eigenechaften dee Df der Irflndung nochmals
hlnsuwelaen.
Des AusfUhrungebeiepiel der Irfindung, aas hler besearieben
worden let« besieht eioh «of ein BT, das eile das Sentralsystesj einer Rechenmaschine hoher Oeechwindigkeit
sur Verarbeitung komplexer Baten benutet werden kann.
OOetSt/1669
BAD ORIQINAl.
und auch Unterbrechungevorgänge bewirkt
werden, die unter der Leitung einoe JBxklueivprogramme
ausgeführt werden» Es können mehrere Vorgänge gleichseitig
durchgeführt werden* 22s sind Zwischenspeicher vorhanden,
welche viel Zeit benötigende Vorgänge, wie die Ausführung
von Befehlen an Operanden, überbrückenο Das zentrale
W der Erfindung enthält drei Hauptteile: eine Verbindungeechaltung,
eine VorrückechaItung und eine Endschaltung-Mose
drei Schaltungen arbeiten Ib wesentlichen unabhängig
voneinander.
Vsrbladujägssehaltuag steuert und verarbeitet alle Beswleeh·»
die» Hauptspeicher und de.» ventralen Die Verblndungssehaltung 100 überwacht die
verschiedenen Einheiten in der Schaltung 104 und der Endschaltung
HO, dit vorübergehend Zugang eua Hauptspeicher
benötigen ^ Die Verbindungsschaltung kann vier Einheiten
in dem neutralen W bedienen, näelich den Stapelanhang 500,
die tfas-taeefealtung 114, dl« Vorrüoksohaltung 101 und den
•asoiifttlv·!! Speiehei* 19» Der associative Speioher 19
enthält die Speicherwarteechaltung, die Indexwarteechaltung
und jdjL« Varttschaltung für die Prograaobesugstabelle.
B§r Stapelanoang 500 befindet sich In der EndchaItung 110
und wird Je nach Bedarf bedient. Όί· Verbindungssohaltung
100 fuhrt automatiech Speioher- und Entnahuevorgänge aus,
ua ein« vorhestlmte Ansahl von Operanden sur Verarbeitung
durch die Endstation 110 bereitzuhalten. Auch die vorübergeht
n<äe W&rteeohaltung 114 befindet sich In dsr Bndschaltuag
110 und kann von der Verbindungeschältung 100 naoh
Bedarf bedient werden. PIs Vorrüokschaltung 104 kann alls
Anfragen sur Bedienung der vorübergehenden Warteschaltung 114 einleiten. Die Vorrückeehaltung 101 kann eins rau«lieh
00ί«81/166·
getrennt· Baueinheit sein, oder sie kann auch in der Vorrückschaltung
104 enthalten sein; die Vorrückeehaltung 101
kann nach Bedarf bedient werden. Die Verbindungeschältung
100 überwacht die VorrUokaohaltung 101 in ähnlicher Weise,
wie sie den Stapelanhang 500 überwachtt jedoch iat der
Vorgang bei der Vorrückeehaltung 101 einseitig, da nieaale
die Hotwendigkeit einer Speicherung von der Vorrückschalttung 101 aus auftritt« Sie Speicherwartesohaltung des
assosiatlven Speichers 119 ist in der Vorrüoksohaltung 104
angeordnet und wird ständig durch die VerbindungsachaItung
100 überwacht und nach Bedarf bedient· Die Verbindungs-βch*Itung
100 epeiohert Baten aus der Speioherwartesohaltimg
in des Hauptspeicher 122 periodisch, üb sie sur Verwendung
in der EndechaItung 110 tür Verfügung su halten» Die Indexwartesohaltung
und die Frogramabetugstabellenwartesohal»
tung des association Speichers 19 können -sowohl auf Anforderungen
als auch nach Bedarf bedient werden» Wenn das sentrale DV eine Sntnahae aus den Hauptspeicher 122
machen will, die sich auf das Basisindex-Register 621 oder
die Prograrabesugstabelle besieht, dann wird diese in den
assosiatiren Speicher 19 duroh die Verbindungsschaltung 100 eingegeben. Wenn die I&dexwarteaohaltung und die Prograeebeiugetabellenwarteschaltiing
des assoziativen Speichere 19 in diese» Zeitpunkt gefüllt sind, dann entnimmt die Verbindungssohaltung
100 den ältesten Dateneintrag in der Warteschaltung und bringt ihn in den Hauptspeicher 122
surück.
Andere Punktionen der Verbindungssohaltung 100 können die Brseugung eines Paritätabit* bei abgehenden Adressen
und Daten, die Prüfung der Parität bei ankörnenden Daten
und die ständige Überwachung von Ünterbreohungeleitungen
von den Speiohereinheiten der I/O-ßt*uereinheit und
anderen Einheiten des »entralen DV eein. Die Verbindung«-
sohaltung 100 kann die fepfanger 762 enthalten (üb Signal·
«•82- '" r
su tepfangen und au normieren* $1« de» BV von den Speicher
and I/O-Steuergerät nigaff&rt Parian), sowie dl· Sender 758»
J1Ur die Übertragung jnrle&tara den Baueinheiten, (wobei die
¥r eiber st ut@n Aj^fflebe-Snergie an die Signalleitungen von
de» BY üä #ö?& Speieher und die l/O~Steuereiah«iten liefern)
ferner Ysrbindungsadressenregister 754 für Adressenewischenspsicherung,
da» Yerbindungsapeleherregister 752 «ur
Iwisohenspelcherung von zu schreibenden Beten, das 7erblnäungsebfrageregister
756, welches ewlschenepeichert
eis ¥erteilungssentrum für ankomiaende Daten dient, und
Yerbiadmagseteuereyateo (figur 11), welches eur Uber-T
Priorltäts- und leihenfolgenfeststellung und
Steuerung aller Operation®» swleohen de» DY und dem
Hauptspeicher dient.
Das Wf kamt üti Sea Hauptspeicher und de» I/D-Steuergerät
•it Hilf«? &Mf tTerMndsagesehaltuiig 100 in Verbindung
'^MsitangssebaituBg tonn die Übertragung von
jn ^wieehen. de» DY wnä dem Hauptspeicher ,
sowie Sea: I/O'-Steuergerät koordinieren. Es kenn eine ZeitbewirtwA»
die dl« Beihenfolge der Operationen
M* VorrUoiiecaaitune 104 ist der das Progranm ausführende
Seil des sentralen DY, Alle Operationen der Schaltung 104
btgInnen in i#r Schaltung 101 eur Yorausscliau auf die Beftlile.
Die Schaltung 101 eatfc&U tin örtliches Spelcherger&t,
üsks Bur Swiscfeenepeicfe#nj? g von Befeüeworten des
lattfenden fregramas vor der Yerarbeitung dient. Die Kapasltfttfder
Sshßltung 101 kann 12 Worte *u 52 Bit· pro Wert
betragen. Um dar längste Befehl bei de» Beispiel vier
Silben'su $ Bit« hat, «teilt ein Speichtrr&u» für 24 Befehle
iur Verfügung. Bei einer derartigen YorauaechauBuglichkolt
ist es nicht schwierig, das« die Yerbindungaachaltung 100 '
die Schaltung 101 genügend la Vorlauf vor den tatsächlichen
*«- λ** RÄ-rbeiholen der Programe Überbrückt wird-
Bie Befehle werden der Schaltung 101 ler Reihe nach entnonaen
und in daa Advaat-Befehlareglster 604 gebraoht*
Bieeea Register 604 hält den laufen Op-Oode, Silben und
Yarlanten und/oder die Adreaaenailben feat« Die Operation«-
und Yarlantailben werden von der Advaat-Steuerschaltung 1101
deoodlert üb feettueteilen, welche Operationen von der
Schaltung 104 ausgeführt werden «ollen. Aue der Kombination . I
von Opcode und Variant ergibt «ich, ob ein* Adreeeenberechnung
ausgeführt werden «ruee und wenn dlea der fall let,
welche« Baala-Regiater angewendet werden «oll und welche
Greneen bei der Spelohergrensprttfung In der Advast-Yerglelchseinheit
benuttt werden aollen. Wenn die Befehle eine Adressenbereohnung verlangen, die eine Besugnahae auf den
Speicher erfordern, dann wird die Adreaaa besttglloh der
Speichergrensen in der Advaet-Yergleiohaeohaltung geprüft
und bei Veatatelluag eine« Fehler« wird eine Unterbrechung
herbeigeführt ο Die Adreaae wird auch de« «aaoalatlven
Speicher 19 sugeftthrt, us? f««t«uateilen, ob daa verlangt·
Wort in der Speloherwarteeehaltuag, der Indexwarteeohaltung
oder der Progr««ebe«ug«tabellenwarte«ohaltung Örtlich gespeichert
latD Wenn eich daa verlangte Wort nicht in de«
Örtlichen Speicher befindet, dann wird die Adrea·« an daa
Yerbindungsreglater 754 suaaaaien ait der Kontrollinforawtion
weitergegeben, die angibt, wo die Yerbindungaaohaltung
diese Adreaae abgeben aoll, die aua dea Speicher koavt.
Wenn daher das Wort für die Xndaehaltung 104 beatlawt i«t,
dann braucht die Schaltung 104 nicht au warten, bla die Sntnahae beendet letο
009S61/1669
ttachdeo einaal die Verbindungsschaltung 100 in Gang gee et et
let, kann eich die Vorrückechaltung 104 frei eum nächsten
Befehl begeben» Wenn die nächste Adresse örtlich gespeichert 1st, dann wird durch den assosiativen Speicher 19 automatisch
die örtliche Warteschaltung betätigt und das gewünschte Wort erscheint am Ausgang«Wenn das gewünschte
Wort von der Schaltung 104 verwendet werden soll, dann steht es für die Berechnung am Ausgang der Warteschaltung
gur ?e?fUgungo Wenn es für die Endschaltung 110 beetlnmt
ist» dann überträgt die Schaltung 104 das Wort an den vorübergehenden
Speicher 114» der die Warteschaltung der Endschaltung für örtliche Operanden ist-, Die Additlonssohal -
W tung 6G1 der Vorrückeehaltung kann eine Addierschaltung
wit drei Eingängen sein, die in einem AddItIonsVorgang die
Adresstnsilben der Befehlefolge, ein Basisreglster und
einen Indexbetrag addiert. Sin Indexvorgäng, d.h. eine Erhöhung d«r Adresse üb einen festen Betrag, wird mit
Hilfe des Advast^Adressenregieters 602 durchgeführt. Bas
Adv«et-*Adr#e0«nregister 602 ist der Akkumulator für die
Speieher 19 kann bis su 24 Indexworte enthalten,
eo des· «in guter Seil eäatllcher Indexvorg&ng·
olme Besugaalia« auf den Hauptspeicher ausgeführt werden
kans,
Di« Prograaabesugstabellenwarteechaltuiig des assosiativen
Speichere 19 1st der örtlioh« Speicher für die suletst
benutet* Erograaabesugstabell· für Besugnahaen auf den
Hauptspeicher 122.Sie ist «in örtlicher Speioher für
Steutrworte* die bei Prograwasprüngen benutet werden, für
Worte, dit abwechselnde Spei ehe radreeeengrenjsen enthalten
und für Wort·, die indirekt· Adressen enthalten. BIe Ausführung
aller Prograsneprilage wird von der Schcltung
gesteuert„ Die verschiedenen Arten von Sprüngen sind oben
in eineeinen aufgeführt» Die Einleitung des Sprung»Steuerregisters
1090 wird durch die Schaltung 104 bewirkt» ebenso wie die Verteilung der Sprung-Steuerworte und die Bildung
des Rücklaufst.euerwortes» Die Schaltung 104 stellt auch
alle Bedingungen für Unterbrechungen fest, spricht auf speeielle
Unterbrechungavorgänge an und steuert die Vorgänge
für eine vorläufige Unterbrechung»
Alle in dem DT ausgeführten Befehle werden in der Schaltung
104 verarbeitet. Diejenigen Befehle, die ausdrückliche Operationen der Endstation 110 verlangen, werden lediglich
von der Schaltung 104 decodiert und an die Schaltung 110 übertragen. . (
saaaBasaaaasawBsass
Die Endschaltung 110 ist derjenige Teil des «entralen Df9
der arithmetische und logische Operationen durchführt und auch alle Daten und Datenprttfoperationen ausführt« Alle
Vorgänge der Endschaltung werden durch Befehle ausgelöst,
die der Reiht naoh der Bndwarteechaltung 108 entnomen werden.
Wenn die Vorrückeehaltung 104 die Vorbereitung der Befehle
für die Endschaltung vollendet hat, dann werden die Op- " Codes in die Endwart«schaltung 106 eingeführt und die zugehörigen
Variantsilben und ortIioh gesteuerten Operanden
in dea vorübergehenden Speicher 114 festgehalten.. Wenn
ein Operand betroffen ist, der aus den Hauptspeicher entnowc '
■en werden nuss, dann liefert die Schaltung 104 an die Verbindungsschaltung
100 eine vorübergehende Adresse, unter der die Verbindungsschaltung 100 den Operanden festhält,
wenn er ankönnt., Alle Vorgänge In der Endschaltung betref-
1 BAD ORIGINAL
O000S1/1S0I
fen den Stapelanhang 500 und insbesondere die ersten zwei
Plätze, die durch das T-Regietti. 501 und S~Register 502
gebildet wardsn. Die Endschaltung 110 enthält eine Vergleichsschaltung
25§t dl® für alle Stapel^eld-Prüfvorgänge
benutzt vftsä uad die auch für logische funktionen,
«el, «IMP*ä »UHS/ÖDBR" oder für Vorgänge wie "Clear Pield"
und "Complement 3?ieldw benutet werdest Ein Detektor für
Eineen wird zur !formierung benutzt und zur Umwandlung von
ganszahligeai Rechnen auf Rechne yn mit gleitendem Komma
Bit wird auch bei Stapel- und Peldprüfungen gegenüber dem
Sullwert benutzt. Ein Additionsgerät 220 wird lediglich für arithmetische Operationen benutzt. Verschiebungen und
feldraanipulationen werden mit Hilfe von Schlebeschaltungen
durchgeführtο
Me Endschaltung 110 arbeitet unter der Steuerung der
Schaltung 1C?45 fe#im a¥$ar nicht angehalten werden, solange
Befehl« ία 3ίΚ? -'ii&ew&steechaltuiig 108 vorhanden sind. Es
ϋ^θΐί1®11βη Befehl, der die Endschaltung 110
vi@mi s-r &b%n in der Badwarteachaltung 108 erscheint,
BEdwarttafaltung 106 wird erst abgearbeitet, bevor
d@r IMte^breoltungerouti&eii beginnt. Alle Ober-
ou Bsteu *ua Bauptepeioher 122 werden von der
Stelle des Stapele 501 aus vorgenommen. Beim Voreines Befehle "Speichere ross Stapel zum H*uptepel*~
, überträft die Sehaltuag 110 den Inhalt dee T-Ee-
501 an üte Speloheswarteeoiialtung in dem aseozlativen
Speicher-19»Die Sudechaltung 110 hängt von der Torrüokschaltusäg
104 und d©r Terhindiragaech<ung 100 nur
soweit ab, dass fUr ihren Betrieb irgendeine Angabe in der
Eadwartosehaltujag 108 und In ds» vorübergehenden Speicher
114 enthalten sein muss» Solange noch Befehle für die
Endetetion vorhanden sind, braucht die Endetetion nicht
auf die Vorrückötation 104 oder die Verbindungsstation 100
su warten.
BAD
eosesi/isii .
Die Erfindung ist nicht auf dae AusiüiTungsbeispiel besohränkt,
in den drei verschiedene Zelten fUr die Ausführung
jedes Befehls angegeben sind, nämlich eine In der
Schaltung 104, eine In der Verbindungeschaltung 100 und eine in der Endschaltung 110. Die Vorrückschaltung 104
berechnet Adreasen und befasst aich mit den Indexvorgängen
und Indexprüfungen. Die Verbindungsschaltung 100
stellt die Verbindung «wischen den Rechengerät und dem Speicher her und die Endetation 110 verarbeitet die Daten
und prüft die Daten. . i
Alle Befehle werden von der YorrUckschaltung 104 verarbeitet,
in der auch die Decodierung der Befehle erfolgt. Einige Befehle werden auch in der Verblndungsschaltung
und in der Endschaltung 110 verarbeitet. Diese Schaltungen sind durch Zwischenspeicher verbunden, so das· sie
unabhängig voneinander arbeiten können. Wenn b.B der Befehl "Addiere" von der TorrUoksohaltung 104 verarbeitet
wird, wird er in dl« Eadwart»schaltung 106 eingegeben,
daait er von der Endschaltung 110 verarbeitet werden kann.
Di· Vorrückeonaltung 104 kann daher schon alt der Verarbeitung
des nächsten Befehls beginnen ohne darauf warten su VUaBBB, dass dl· Endschaltung 110 verfügbar tat. Dl·
varblndungBBohaltung 100 kann ebenfalls ttbcr Iwisohenepeicher
ang«sohloss«n sein und so lang· diese JSwieohenspeicher
nicht voll sind, arbeiten dl« Schaltungen unabhängig voneinander und gleichseitig. Dl« AusfUhrungseeit
für eine folge von Befehlen kann dadurch angenähert warden, daes aan einββIn die Zelten für jed· Schaltung
addiert und dann die gxösste dieser drei Sueeen feststellt.
00Ö851/156Ö ■
ORIQtNAL
Bei einigen Befehlen kann es notwendig sein, zwei Schaltungen
gleichzeitig zu verwenden und die Unabhängigkeit zwischen den Schaltungen braucht für dleee Befehle nicht
zuzutreffen» Z.B. kann ein Indexbefehl, der erstmalig auf
ein Indexwort Bezug nimmt (nicht im örtlichen Speicher)
verlangen, dass die Schaltung 104 wartet, bis die Verbindungsschaltung
100 das Indexwort gefunden hat, bevor die Schaltung 104 mit der Indexberechnung fortfahren kann.
Die 3eit, die erforderlich ist, daait die Verbindungsschaltung
100 Befehleworte herbeiholt, wird hierbei nicht berückeichtigt, da die Verbindungeschaltung 100
in der Lage let, Befehlewort· weit im voraus vor ihrer
Verwendung in der VorrUokechaltung 104 herbeizuholen. Diese
Befehlewort· werden der Schaltung 101 während einer Zeit zugeführt, In der die anderen Schaltungen des DT die
Verbindung nicht benutzen.
Se folgt nun dl· Wiedergab· eines Glossars, in der die
Abkürzungen alt den zugehörigen Bezeichnungen der Gerät·
Ib englleoher Sprache aufgeführt sind. Ee ist beabsichtigt,
dieses Glossar durch HinzufUgung der entsprechenden deutschen
Ausdrücke später zu ergänzen.
Olossar
ABL Alternate Bounds Upper
ABU " " lower
AIB ADVAST Instruction Regieter
009JS1/1818 '
BIAR 1 &
EAR 1 I.G.
EAR 2 1.8.
IU Odd ILA Sven
Associative Memory Adress Register (copy of AAR)
Base Data Register
Base Interrupt Adress Registers
Base Program Register
Barrel Shift Register
Base Index Register
Communication Address Register
Commo Fetch Register
Communication Storage Register
Drivers to Memory or I/O
Effective Address
M If
Input Gates for EAR 1 ) Two required because of
) speedο One saved until
" w " w 2 ) interrupt could occur.
Parity Error Signal from Memory (or no access to
memory)
Finish Station Queue (queue of inst)
Interrupt Condition Register
Index Limit
Queue of BXR Relative References
Index Value or Contents
Input Oat·
Instruction Look Ahead A word block Odd
Interrupt Mask Register
000061/1669
INPUT 1 INPUT 2 INPUT 5 JCR NBL NBU
PCR PPR PRT PRTL PRTQ RCVRS REQI REQSTB RIB
SLP S.S.C.
stka
STK0 STORQ T
TEMP
TEMP
n AAR & Top of Stack
Jump Control Register Normal Bounds Lower 11 " Upper
Extension of Top of Stack Program Control Register Processor F&il Register
Program Reference Table Base Register P3R9T, Limit Register (PRT Upper Bounds)
Queue of PRT Relative References * Receivers fron üeaory to Comm<
> Signal tailored to specific Memory Module Strobe to all Memory
Register Transfer Bus Second of Stack Stack Load Pointer Syllable Selection Controller
4 word Top Extension of Stack " " Next ■ " ■ " H N Last M HR
008861/1669
Claims (1)
1) Datenverarbeitungsgerät zur Verarbeitung von vorliegenden
und vorausgenommenen Befehlen, gekennzeichnet
durch
a) tine Befehle ausführende Endschaltung
b) Einrichtungen zur Verarbeitung von Befehlen vor ihrer Ankunft in der Endschaltung
c) Einrichtungen, die vor Ausführung des Befehls bestimmen, ob
ein Sprung oder ein anderer Vorgang bewirkt werden soll, der vorbereitende Arbeitsschritte und Manipulationen der Daten
unerwünscht macht, und
d) Einrichtungen, die auf die Beβtiinniungseinrichtungen ansprechen
un eine weitere Vorbereitung durch die Vorbereitungseinrichtung zu verhindern.
2) Datenverarbeitungsgerät nach Anspruch 1, dadurch
gekennzeichnet, dass die Bestioaungseinrichtung
eine Steuerung für eine Vorrückschaltung und eine Steuerung
für Sprünge aufweist, die in Verbindung Bit und in Abhängigkeit von den Ergebnissen eines bedingten Sprunges arbeiten, wenn
dieser in den vorausgenommenen Befehl vorhanden ist, um eine
Entscheidung herbeizuführen, ob eine Verarbeitung in der Endschaltung ermöglicht oder verhindert werden solle
3) Datenverarbeitungsgerät nach Ansprüchen 1 oder 2, d a durch gekennzeichnet, daee
S) die Vorbereitungseinrichtunnaeine Vorrückschaltung enthalten,
} das pV-Geräx eine Enawartesonaltung aufweist und
c) die Einrichtung, welche verhindert, dass die Vorrückschaltung J
nach Ausführung eines laufenden Befehls weiter« Vorbereitungsechritte
tr"ifft, auf Bedingungen anspricht, einen bedingten Sprung, einen Sprung zum Prüfen eines Feldes und einen speziellen
Befehl, die Warteschaltung ohne Sprung zu löschen, auszuführen
d) dass das Datenverarbeitungegerät ferner Einrichtungen enthält,
welche ein kontinuierliches Portschreiten der Vorrückeehalt trag
nach Beendung *s laufenden Befehls bei Fehlen der drei Bedingungen,
bewirken,
009851/1569
e) dass die Einrichtung zum Anhalten der Vorrückschaltungen
Einrichtungen enthält, die arbeiten, bis die Endwarteschaltung
leer ist, und
f) dass das Datenverarbeitungsgerät ferner Einrichtungen enthält,
die bewirken, dass in dem Zeitpunkt, in dem die Endladeschaltung
leer ist, der Platz der nächsten Adresse anhand der Bedingungen bekannt isto
A) Datenverarbeitungsgerät nach Ansprüchen 1 oder 2, dadurch gekennzeichnet, dass
a) Die Endstation eine Endwarteschaltung enthält,
b) dass die Einrichtungen« welche die Verarbeitung bestimmen,
eine VarUckschaltung, eine Vorrücksteuerschaltung und
Sprungtfveuerschaltungen aufweist, die zusammen so arbeiten,
dass bei einen unbedingten Sprung der Sprungbefehl dekodiert wird, und die Endschaltung die notwendigen Berechnungen zur
Entleerung der Endwarteschaltung ausführen kann,
c) dass die VorrUcksteuerschaltung und Sprungs'teuerschaltung
Einrichtungen aufweisen, die auf einen bedingten Sprung ansprechen, ua zu verhindern, dass die Vorrückschaltung
weiter arbeitet,
d) dass die Vorrückechaltung Einrichtungen aufweist, welche
den bedingten Sprungbefehl dekodieren um festzustellen, an welchen Platz er gehen soll,
e) dass die Vorrückschaltung, die Yorrücksteuerschaltung und
Sprungsteuerschaltung Einrichtungen aufweisen, wodurch die
Vorrückschaltung la Falle eines bedingten Sprunges die Arbelt
unterbricht und wartet, bie die Endwarteschaltung leer let,
f) dmββ dme Datenverarbeitungegerat Einrichtungen aufweist, die,
wenn das Ergebnis des bedingten Sprungs bekannt 1st, bewirken, dass die Vorrücksohaltung den Sprung ausführt,
g) dass eine Befehlsvorschauschaltung vorgesehen 1st,
h) das· Einrichtungen vorgesehen sind, durch die ,wenn der
Sprung ausgeführti*rd, dl· Vorausschau auf dl· Befehl· alt «μ
«ueät«lichen Befehlen versehen wird.
BAOORIGiINAL
009851/1569
i) dass die zuletzt genannte Einrichtung nit der Sprungsteuerschal
tung ein Sprungsteuerregister enthält, welches eine Adresse aufweist,
J) dasβ das Datenverarbeitungsgerät ferner ein Befehlsvorschauregister
aufweist und Einrichtungen, die die Sprungsteueradresse auf das Befehlsvorschauregister übertragen, so dass
die Befehle, .auf die das Programm springt, auf die Befehlsvorschaueinrichtung
übertragen werden können,
k) und dass Einrichtungen vorgesehen sind, durch die, wenn die Befehle in die Befehlsvorschaueinrichtung übertragen worden
sind, ein Silbenbestimmungsvorgang bewirkt^rÖo die Befehle
an die Vorrückschaltung weiterzugeben-,
5) Datenverarbeitungsgerät nach Anspruch 1, d a d u r c h
gekennzeichne t, dass die Verarbeitungeeinrichtung ,
a) eine Schaltung zur Vorschau auf Befehle enthält, die .<
"
1) ein· Anzahl von Registern zur Aufnahae von ausführenden
Befehlen enthält,
2) eine Anzahl von Zeigern zur Steuerung des Ladens und :
Entladens der Vorschauschaltung aufweist
3) ein Vorschauregister zur Aufnahae von Adressen von Befehlen
enthält, die der Vorschausohaltung zugeführt werden sollen,
und
4) einen Programmzähler enthält
b) eine Silbenbestiamungsschaltung, die
1. Einrichtungen zum Festhalten von Worten eineohliesslich
des nächsten Befehls aufweist, der von der Vorrückschaltung angefordert wird, ,,
2. einen Schalter enthält,
o) tine Vorrückeehaltung, die
o) tine Vorrückeehaltung, die
1. eine Vorrücksteuerschaltung aufweist, welch· Befehle an ·
die Endschaltung weiterleitet, die eit der Berechnung zu ·
tun haben,
2. ein Vorrückachaltungsbefehlsregieter
3« «inen Operationedekodierer,
4· «int automatisch arbeitend· Sprungsteuerung,
5» einen Operationskodedekodierer zum Dekodieren von Befehlen
enthält und
6. Einrichtungen zum Berechnen von Adressen aufweist
6. Einrichtungen zum Berechnen von Adressen aufweist
ΟΟί»Β1/15β0
d) dass die Endschaltung eine Endwarteschaltung besitzt,
e) dass die Vorrückstäuerschaltung und Sprungsteuerung bei
bedingten Sprüngen wirksam wird, die das Prüfen von Baten
' benötigen, damit das Verarbeituvigsgerät wartet, bis die Endschaltung
die Daten berechnet hat, die geprüft werden sollen," und die das Entleeren der Warteschaltung ermöglicht,
f) dass die Haschine damit eine Vorschau ermöglicht, ohne dass
die Datenverarbeitungen rückgängig gemacht zu werden brauchen,
g) dass das Vorrückschaltungsbefehlsregieter auf das Silbenbestimmungsgerät
anspricht» um Ausgengeolgnale zu erzeugen, die
eine Dekodierung in dem Operationsdekodierer hervorrufen,
h) dass der Operationsdekodierer einen ersten Ausgang hat, welche
einen transformierten Code liefert und der Endwarteschaltung erführt,und einen zweiten Ausgang,welcher eine Fläche des
Speichers begrenzt, die über eine Frogrammbezügetabelle den
Leitungen zugänglich ist,und
e) dass der Programmsähler auf einen Befehl in dem laufenden Segment des Codes hinweist, der sich in diesem Zeitpunkt in
der VorrückechaXttmg befindet«
6. Datenv®rarb«itungsgerät nach Anspruch 1, in dem das Gerät
»it einem Hauptspeicher zusammenarbeitet, dadurch gekennzeichnet»
dass das Datenverarbeitungsgerät
a) Einrichtungen sur selbsttätigen Ausführung eines indirekten
Sprunges enthält,
b) dass die automatische Anordnung eine Steuerung aufweist, die auf ein Sprungbefehlswort antwortet«
c) dass iine Prüfschaltung vorgesehen ist, A) ferner ein Sprungsteuerregister,
·) ferner eine Addierechaltung,
f) ein Adressenreglster,
g) sowie eine schnell arbeitende Hilfsbezugswarteschaltung,
h) ein Verbindungsgerät, welches das Sprungsteuerwort in den
HilfsSpeicher überführt,
1) dass das Verbindungsgerät ein Verbindungsadressenregister
enthält, welches feststellt, wann im Hauptspeieher ein Wort
aufgesucht werden soll und ein Verbindungsanfrageregister,
welches vom Speicher entnommene Worte festhält, um sie der schnell arbeitenden Hilfswarteschaltung suKufUhren,
BADORIQINAL
009861/1 SS·
j) dass der Speicher einen Prograaabesugstabellenteil aufweist
und K ·
k) Mittel, welche eine selbsttätig* Rückkehr der Informationen
sicherstellen, so dass eine Rückkehr unter der Steuerung eines Exekutivprogranae an die Prograatabezugstabelle erfolgen kann,
1) wodurch eine Ineinanderschachtelung von Programmen und Aufgaben
durch ein Exekutivprograaa erleichtert wird, ohne Einschreiten des Prograaaes.
7) DatenverartaLtungsgerät nach Anspruch 6, dadurch gekennEeichnet,
dass die Einrichtung sur Durchführung eines indirekten Sprunges Einrichtungen aufweist, die wahlweise
einen nicht rUckkehrenden Sprung, einen internen Segaentsprung,
einen äußeren Segaentsprung und einen Verfanrenssprung ausführen.
8) Datenverarbeitungsgerät nach Anspruch !,dadurch
gekennceichnet, dass die Einrichtungen, welche die Verarbeitung von vorliegenden und vorausgegriffenen Befehlen
eraöglichen, Einrichtungen enthalten, die einen indirekten Verfahrenssprung
bewirken, und dass diese Einrichtungen folgende Mittel aufweisen
a) Einrichtungen sua Dekodieren eines 8prungsteuerwortee, Hr
b) Steuerungeinrichtungen, die auf das dekodierte 8prungoaiBierwort
ansprechen,
c) mehrere Grensreglster,
d) einen Orensvergleioher, J
e) Einrichtungen sua Speichern einer Prograaabeeugstabelle,
f) ein Prograaabesugatabellenregister,
g) ein Basieprograaaregieter,
h) Einrichtungen, die auf den Steueraechaniaaus und auf da·
Grensregister und den Grensvergleioher ansprechen, ua Worte
BU dekodieren, welch« rUckkearende Inforaationen in der
PrograaabeBUgetabelle darstellen, und !
1) Einrichtungen, die «inen Sprung su einer fläche bewirken,
durch die Rückinforaationsworte bestiaat ist und weIChI1PVo
graeoboaugeSpeicher, die Prograaabeeugstabellenregister und
das Prograaaregister enthalten-
008SS1 /1569
9 ο Datenverarbeitungsgerät i*ach Anspruch 1, g, » kennzeichnet durch folgende Einrichtungen:
a) automatische Einrichtungen zur Bewirkung eines indirekten Sprungeβ vor Ausführung eines nachfolgenden Befehls, so dass
die Verarbeitung weitergehen kann und das Programm kürzer wird
b) Einrichtungenι die auf einen direkten Sprung ansprechen, damit
das Programm nachfolgende Schritte aufweisen kann,
c) wobei die Einrichtung zum Ausführen indirekter Sprünge enthält
1. ein Sprungsteuerregister,
2«, ein örtliches Schnellspeicherregister zum Festhalten von Programmbezugstabellenworten, wobei auch der Hauptspeicher
diese Programmbezugstabelxenworte festhält,
3· ein Programmbezugstabellenbasisregister,
4. ein Basisprogrannregister und
ψ 5. ein Programmsteuerregister
ψ 5. ein Programmsteuerregister
d) wobei ferner das Sprungsteuerregister Einrichtungen für das automatische Zusammensetzen und Ausgeben von Informationen **;,
aus der Bezügetabellenspeicherung eowie aus den Programnbeeugetabellenregiöter,
den Basisprograomregister und dem ProgrammzählregiBter
enthält und
e) dass die Einrichtung für den indirekten Sprung eine automatische
Vorrichtung für verschiedene Arten von indirekten Sprünge enthält, zu denen ein nicht rttckkehrender Sprung, ein interner
Segmentsprung, ein ausserer 3tgmentsprung und Verfahrenssprung
gehören.
10. Satenverarbeitungsgerät nach Anspruch 1 zur Verwendung in
" eine· Rechengerät, das einen Speicher und Datenverarbeitungseinrichtungen
enthält, daduroh gekennzeichnet, dass das Verarb«itungegerät folgende Teilt aufweist
a) eine Anzahl von im wesentlichen einander unabhängigen funktionalen
Schaltungen»
b) dass die funktionalen Schaltungen enthalten e) «in Verbindungegerät
d) «in« Vorrücksohaltung»
·) eine Endschaltung
·) eine Endschaltung
BAD ORIGINAL
008861/1569
f) Einrichtungen, die bewirken,.dass die Endschaltung keine
datenverarbeitenden Befehle ausfuhrt, wenn bedingte Sprungbefehle in vorhergehenden Schaltungen festgestellt werden,und
g) getrennte Parallelwege zur parallelen Verarbeitung verschiedener Yerarbeitungsfunktionen.
11, Datenverarbeitungsgerät nach Anspruch 10, gekenn ~
zeichnet durch
a) eine Schaltung zur Vorausschau auf Befehle,
b) ein Silbenbestimmungsgerät,
c) die Vorschauschaltung enthält einen örtlichen Speicher zum
Festhalten von Befehlen eines laufenden Programms vor ihrer Verwendung, so dass die Zeit zum Herbeiholen von Programmworten
überbrückt wird, da die Befehlsvorschau soweit vorauseilt, dass sie vor der Berechnung durch die Vorrückstation
d) dass die Vorrückschaltung Einrichtungen zur Adressenberechnung
enthält und
e) dass die SilbenbestinuBungsschaltung Einrichtungen zum Zergliedern
von Befehlen zur Darbietung an die Vorrückschaltung enthält,
12. Datenverarbeitungsgerät nach Anspruch 11, dadurch
gekennzeichnet, dass die VorrückBchaltung enthält: .
a) eiwnprogrammverarbeitenden Teil» ;
b) ein Befehlsregister, welches die laufenden Operationscode- '
silben und zugehörige Variant- und Adressensilben enthält,
c) ein Vorrücksteuerschaltungsgerät, welches bestimmt, ob und
welche Operationen von der Vorrückschaltung ausgeführt werden sollen
d) eine Anzahl von Basisregistern, die mit der Vorrücksohaltung
zusammenhängen,
·) Einrichtungen zum Prüfen berechneter Adressen mit Bezug auf
die Speichergrensen,
f) wobei das Datenverarbettungsgerät ferner einen assoziativen
Speicher aufweist ^
g) wob·! die VorrückBchaltung Einrichtungen aufweist, die feststellen,
ob ein angefordertes Wort in dem assoziativen Speicher enthalten ist,
009861/1569
h) Einrichtungent die bewirken, daes, wenn ein Wort in der
Vorrtfckschaltung für die Endschaltung bestimrat iat, die
Vorrückschaltung das Wort in din Endschaltung überträgt,
i) ein Addierer zum Addierea von Adreeoensilben mit den Inhalt
eines der Basisregieter und einem Indexbetrag
1) ein VorrückschaltungBadresoenreßis-iar, um bei der Adressen=
berechnung einen Indexvorgang einzuschalten, wobei d*,a
Adrassenregister ein Akkumulator für Indexbereahnunßen iot,
k) wobei die Vorrückschaltung alle Befehle verarbeitet, die in
dem Datenverarbeitungogerät ausgeführt werden und
1) Einrichtungen, durch welche die Befehle, die Operationen der Endschaltungen betreffen, dekodiert und in die Endschaltung
überführt werden.
13° Batenverarbeitungsgerät nach Anspruch 10, gekennzeichnet durch
a) einen assoziativen Adressenspeicher ■*«
b) dieser assoziative Adressenspeicher enthält eine Prograombezugstabellenwarteschaltung,
um eine örtliche Speicherung der neuesten Bezugstabelle au ermöglichen, um eine örtliche
Speicherung von Steuerworten zu ermöglichen, die bei Programm-Sprüngen
benutzt werden, ferner von Worten, die die Speicheradressen
begrenzen und für Werte, die indirekte Adressen enthalten
c) Sprungbefehls:!:egister und
d) wobei die YorrUckscnaltungen Einrichtungen enthalten, welche^
die Ausführung von allen Programmsprüngen bewirken und folgend
Teile aufweisen
1. Einrichtungen,, die mit den ProgranunsprUngen verbunden sind,
und das Sprungeteuerregister auslösen,
2. die ein® Tsrteilung der Sprungsteuerworte und die Bildung von Rücksteuerworten vornehmen,
3ο die alle ünterbreehimgsbedingungen feststellen,
4« die auf speziolle Ifnterbrechungsbedingungen ansprechen,
5. die vorläufige Unterbrechungsfolgen stenwti und
6. alle Befehle» die. in dem Batenvesarbeitl·^ ^ββ?&* ausgeführt
werden sollen, verarbeiten*
iAD ORIGINAL
001861/1569
14- Datenverarbeitungsgerät nach Anspruch 10, gekennzeichnet
durch
a) einen assoziativen Speicher,
b) der einen Adresoentoil und einen Datenteil enthält,
o) wobei der Adressen- und Datenteil des assoziativen Speichers
d) eine Indexwarteschaltung und eine Progranobezugstabe^lenwartung
aufweist,
e) eine Hauptspeicherwarteschaltung,
f) die Indexwartaschaltung enthält Speichereinrichtungen, welche
ermöglichen, dass ein wesentlicher Teil des Indexverfahrens ohne Bezug auf den Hauptspeicher ausgeführt werden kann,
g) die Programmbezugstabellenwartesohaltung enthält örtliche
Speicher für indirekte Adressen in der letzten Programobe- «ugstabelle für Beziehung mit dem Hauptspeicher für Steuerworte,
die bei ProgrammsprUngen benutzt werden und für wahl- {
weise Spelcheradressengrenzworte und
h) die Speicherwarteschaltung enthält Einrichtungen zum Erkennen von Worten, die in dem Hauptspeicher gespeichert werden sollen
die dort nooh nxht angekommen sind.
15· Datenverarbeitungsgerät nach Anspruch 10, gekennzeioh
net durch
a) eine Endwarteschaltung, *·
b) einen vorübergehenden Speicher
c) die Endwarteschaltung spricht auf die Torbereitung von Befehle für die Endschaltung durch die TorrUokschaltung an, um vorübergehend
den Operationscode der Befehle «u speiohern,
d) die vorübergehende Wartesohaltung hangt alt der Bndwarteschaltung
zusammen und liefert vorübergehende Speicherung für diejenigen Yarlantsignale und Ortlich·gesteuerte Operanden
die entsprechend dem Operationscode der Befehle in der Endwarteschaltung
existieren,
e) die vorübergehende Warteschaltung enthält Einrichtungen, die Operanden von dem Speicher aufnehmen,
f) die Endschaltung enthält ferner Dekodier - und Steuereinrichtungen,
die auf die Informationen in der Endwarteschaltung und in der vorübergehenden Warteschaltung ansprechen, und
BAD
000861/1581
- 10 -
g) die Endschaltung enthält ferner Einrichtungen zur Ausführung arithmetischer Berechnungen von Daten in Übereinstimmung mit
den dekodierten Befehlen und den Operanden und Variaten der Endwarteschaltung und der vorübergehenden Warteschaltung*
16. Datenverarbeitungsgerät nach Anspruch 10, g e k e η η zeichnet
durch
a) einen Vorarbeitungsstapelanhat^r verschiedener Länge **
b) Einrichtungen« die alt dem Stapelanhang zusammenhängen,
so dass sein Inhalt zwischen einer unteren und einer oberen Grenze von Worten schwanken kann, so dass er zum Auffangen
von StOssen dient, und
c) Einrichtungen zum Verbinden des Stapele mit dem Hauptspeicher und zur Ausführung von Übertragungen von Worten zu und von dem
Hauptspeicher und dem Suapelanhang, um dent Stape^anhang w4&L-weise
auszuleeren und wlederzufüllen.
17. Datenvererbeitungegerät nach Anspruch 10, dadurch
gekennzeichnet, dass es ein Stapelgerät enthält,
welches einen veränderlichen Stapelanhang aufweist, der mit dem Hauptspeicher zum Tüllen und Ausleeren des Stapelanhanges verbunden
werden kann.
18. Datenverarbeitungegerät naoh Anspruch 10, gekennzeichnet
durch
α) ein Prograneeteutrregiater,
b) einen Örtlichen Datenzwischenspeicher und
c) ein Ortliches Register
d) der Ortliche Datenzwischenspeicher und das örtliche Register
sind direkt adressierbar für Befehle und können Befehle ausführen, wie "lade das Register", "lies das Register", "springe
im Register" sowie zugehörige Operationen ausführen, die mehrfache
Entnahmen aus dem Speicher und mehrfache Speichervorgänge erfordern,
e) der Ortliche Zwischenspeicher enthält eine Anzahl von Adressen'
platzen für den Programmierer und ermöglicht eine Steuerung und Ausführung von Hehrfachentnahme und Mehrfachspeichervorgängenvon
Operanden zwischen dem Datenverarbeitungsgerät und dta Speicher«
000851/15«! pAD
- 11 -
19» Datenverarbeitungsgerät nach Anspruch 10, gekennzeichnet duroh
a) eine Yorsohauschaltung für Befehle,
b) diese Vorschausohaltung enthält eine Anzahl von Registern in Ringschaltung, um Befehle festzuhalten, die dem Speicher
entnommen sind,
c) ein Adressenregister, welches den Platz in dem Speicher steuert,
von dem der nächste Befehl entnommen werden soll,
d) einen Ladezeiger und einen Jintladezeiger, um die Zahl von
Befehlen zu verfolgen, die in der Vorschauschaltung jederzeit vorhanden sind, und
e) die Vorschauschaltung enthält Einrichtungen, um wahlweise eine Mehrfachentnahme aus dem Speicher vorzunehmen.
20. Datenverarbeitungsgerät nach Anspruch 19, gekennzeichnet
durch
a) eine Silbenbestimnungeschaltung
b) die Silbenbeetlmmungesohaltung tnthält
1. einen Schalter, der Befehleworte einsohlleeslich des
nächsten Befehle steuert, der von der Vorschau der Vorrüok-
schaltung angefordert wird.
2« einen Silbenzähler, der die Zahl der 811ben in jedem
2« einen Silbenzähler, der die Zahl der 811ben in jedem
Befehl zählt
3. einen Silbtntohltbtzähler, der die nächste Silbe anzeigt, die noch nicht in den Entnahmezeiger der Vorschaueohaltung überführt worden ist,
3. einen Silbtntohltbtzähler, der die nächste Silbe anzeigt, die noch nicht in den Entnahmezeiger der Vorschaueohaltung überführt worden ist,
c) der Entladezeiger enthält Einrichtungen, um ein Register zu entladen und um den Ladezeiger zu verfolgen, bis der Entladezeiger
sich bis auf eine vorbestimmten Anzahl von Registern dem Ladezeiger genähert hat,
d) die Vorschausohaltung enthält ferner* ^hrichtungen, dit bewirken,
dass eine Anzahl von Worten Άβ,η Speicher tntnoaatn
wird und dass der Ladezeiger entsprießend weitergeschaltet
wird, um beständig einen Abstand vqfn jtoindeetene einer vorbeetimmten
Anzahl von Worten zwischen, dfeai Ladeztigtr und dta
Bntladezelger zu gewährleisten,, . .
4
A
000861/1569
- 12 -
21, Datenverarbeitungsgerät nach Anspruch 10, d a d u r ο h gekennzeichnet, daee die Sndeohaltung eine Bndwartesohaltung
und eine Reohensohaltung enthält» ferner ent» hält die VorrtiokBohaltung
a) ein Befehleregister,
b) eine Anzahl von Wahladressenregistern,
c) Einrichtungen zum Dekodieren von Befehlen, die mit der Berechnung von Adressen zu tun haben und zum Herbeiführen
von Daten, so daes der Abruf von Daten eingeleitet werden kann, bevor die Berechnung der Daten selbst durchgeführt
worden ist,
d) Einrichtungen zur Weiterleitung von Befehlen, die mit der
Berechnung in der Endwarteschaltung zu tun haben,
e) eine Endschaltung mit
1. einer Anzahl Basisregistern
2. einen Adressenregister und
3· einen Befehleregieter zur Brreohnung von Adressen in
Übereinstimmung alt den Adressenberechnungsbefehl, die
an das Verbindungegerät weitergegeben werden, um Daten aus des Speicher zu entnehmen,
f) Einrichtungen und Ausführungen von Indexvorgängen und
g) Einrichtungen zum Ausführen von Sprungbefehlen, wobei unbedingte
Sprungbefehle ständig ausgeführt werden und gewisse bedingte Sprungbefehle verzttgsrrt werden, so dass die Hbοnine
wartet, bis die Endschaltung die Daten berechnet hat, die geprüft werden sollen,und die Endwarteschaltung ausgeleert
) ist, um ein Raten zu vermeiden, welchen Weg die Programmfolge
nehmen soll.
22. Dateaverarbeltuogagerat naoh Anspruch 10, dadurch
gekennzeichnet, dass die Torrück- und Endschaltung
verschiedene Teile aufweisen, die periodisch einen Zugriff sua Hauptspeicher erfordern,und das« da« Terbindungsgerat enthält
a) Einrichtungen zum Steuern und Ausführen von Bezugnahmen auf die Hauptspeicher von dea Datenver&rbeitungsgerät,
000061/156*
b) Einrichtungen zur überwachung der verschiedenen Einheiten
innerhalb der Vorrticlcochaltung und der Endsehaltung, die
periodisch einen Zugang zu dem Hauptspeicher benötigen,
c) die verschiedenen Teile der Endschaltung enthalten einen Stapelanhang und eine vorübergehende Warteschaltung,
d) die Vorrückschaltung enthält einen ascoziativen Speicher,
e) der assoziative Speicher enthält
1, eine Speicherwarteschaltung
1, eine Speicherwarteschaltung
2- eine Indexwarteschaltung und eine Programmbezugstabellenwarteschaltung,und
das Datenverarbeitungsgerät enthält ferner eine Vorechauschaltung
f) das Verbindungogerät enthält ferner Einrichtungen zur Bedienung von
1, dem Stapelanhang nach Bedarf,
2r zur Bedienung der vorübergehenden Warteschaltung nach ™
Bedarf in Übereinstimmung mit der Einleitung von Anfragen
zur Bedienung an die vorübergehende Warteschaltung, die von der Vorrücketatlon ausgehen«
3. zur Bedienung der Befehlsvorechauschaltung nach Bedarf»
wobei Befehle von den Speicher entnommen und in der Vorechauschaltung
festgehalten werden, und
4r eur Bedienung der Speicherwarteschaltung nach Bodarf, so
daso die Indexwarteechaltung und die Programmbezugstebellenwarteschaltung
auf Anfrage und nach Bedarf bedient werden,
g) die Verbindungeeinheit enthält ferner Einrichtungen
1. zur Überwachung dee Stapelanhangs und zur automatischen
Ausführung von Speicher- und Entnähmevorgängen, um eine A
vorbestimmte Anzahl von Operanden zur Verwendung durch
die Endschaltung bereitzuhalten,
2c zur kontinuierlichen Überwachung der Speicherwarteschmltung
uid zur periodischen Speicherung von Baten aus der Speicherwerk
β schaltung in dem Hauptspeicher, um diese Daten fUr dl· Verwendung in der Endschaltung verfügbar zu halten, und
h) das Verbindungsgerät enthält ferner
ο Einrichtungen, die in den assoziativen Speicher eine Bozugnahm
β eingeben, die von dem zentralen Verarbeitungsgerät an den Hauptspeicher gestellt wird und sich auf ein Basisindexregister
oder die Prcgrammbezugstabelle bezieht,
ORIGINAL C0Ö851/1E60
2« Einrichtungen zum Entnehmen des ältesten Datengegenatandes
in der Indexwarteschaltung und der Bezugstabellenwarteschaltung des assoziativen Speichers, wenn dieser gefüllt
ist,
3 ο Einrichtungen zur Erzeugung von Paritätswerten bei abgehenden
Adressen und Daten und zur Prüfung von Pari ty-t; der
einkommenden Daten und
4. Einrichtungen zur Überwachung von Unterbrechungen.
23» Datenverarbeitungogerät nach Anspruch 10, dadurch
gekennzeichnet, dasβ das Verbindungsgerät enthält
a) Empfänger zum Aufnehmen und Normieren von Signalen,
die dem Verarbeitungegerät von de* Speicher zugeführt werden,
' b) Sender für die Verbindung »w< «r>h(»r den Geräten,
c) ein VerbJxlungsadressenregister für Adre se ^zwischenspeicherung
d) ein Verbindungsspeicherregister für Zwischenspeicherungen
von Schreibdaten,
e) ein Verbindungsentnahmeregister, das als Verteilungszentrum für ankommende Daten dient und
f) ein Verbindungssteuergerät, das die Bedienung überwacht und
Prioritätabestimmungen vornimmt und die Vorgänge von Verarbeitungsgerät
zum Speicher steuert.
24. Datenverarbeitungsgerät nach Anspruch 10, dadurch
: gekennzeichnet, dass die Endschaltung zur Durchführung von arithmetischen und logischen Operationen» von
Stapelvorgängen und Stapelprüfvorgängen folgende Teile enthält:
a) einen Stapel, der
1· einen Stapelanhang,
2. einen obersten Platz in Stapelregister und ein suites
Register enthält,
b) eine Sndwarteschaltung zum Festhalten von Befehlen,
c) einen Endspeicher, der der Endwarteschaltung entspricht, üb
Varianten und Daten aufgrund von Befehlen festzuhalten,
d) einen Konparator zua Prüfen von Stapel und Feld und si» Ausführten
von logischen Funktionen
BAD
006861/1669
-15-
β) Einrichtungen zum Normieren und Umwandeln von ganzzahligen Rechnungen in Rechnungen mit gleitendem Konma und für Stapel
und Feldprüfungen auf NuIi1
f) Addiererund Multiplizierer zur Durchführung arithmetischer
Operationen,
g) eine Verschiebeeinrichtung, die mit hoher Geschwindigkeit arbeitet, um Verschiebungen und Feldmanövrierungen durchzuführen,
h) die Endschaltung steht unter der Steuerung durch die Vorrück-Bchaltung,
kann jedoch nicht angehalten werden, solange Befehle in der Endwarteschaltung enthalten sind,
i) Einrichtungen zur Durchführung aller Datenspeicherungen in dem Hauptspeicher vom obersten Platz des Stapels,
j) die Vorrückschaltung enthält einen assoziativen Speicher mit <
einer Speicherwarteschaltung "
k) Einrichtungen zur Überführung des Inhalts -vom obersten Fiats
des Stapelregisters in die Speicherwarteschaltung, wenn ein Befehl vorliegt,vom Stapel auf den Speicher überzugehen,und
1) die Endschaltung 1st unabhängig vonäer VorrUckschaltung alt
Ausnahme des Falles, dass die Endschaltung mindestens einen
Informationsgegenstand in der Endwarteschaltung benötigt und wenn entsprechende Informationen in den vorübergehenden Speicher erforderlich sind, um dl· Vorgänge fortzusetzen.
25. Datenverarbeitungsgerilt nach Anspruch 1, gekennzeichnet
du roh eine Anzahl von Untereinheiten zur Aufteilung der Verarbeitungsfunktion in parallele Prozesse, wo- μ
b«i die Untereinheiten einen Befehleprozess ordnen und einen
Datenverarbeiter enthalten» wobei der Datenverarbeiter ein
Silbenbestimaungsgerät und eine VorrUokschaltung enthält, wobei
das Bgtenbedienungsferat einen Adressenspeicher sub festhalten
einer Anzahl von Datenworten enthält und wobei eine Endschaltung den Speicher zur Aufnahme von Befehlen, Varianten und Operanden
aufweist und ein Stapel si» Verarbeiten von Daten innerhalb des Prozesses vorgesehen ist und arithmetische Einrichtungen
zur Durchführung von Satenverarbeitungen in Übereinstimmung
Hit den -Befehlβvarianten und Operandenworten angegeben sind«
009851/1S61
26. Datenverarbeitungsgerät nach Anepruch 1 Amt Verwendung in
einer Haechine, die einen Hauptspeicher enthält, g e k e η η selchnet
durch
a) eine Anzahl τοη Adressenspelchern, die verhältnisaässig
kleine, gleichartige Speicher enthalten, deren Zugriffs*
selten und Ualaufselten mit denen der logischen Eleaente
Übereinstimmen,und die wahlweise mit mindestens einer Datenquelle
und einem Abgabegerät verbunden werden können,
b) der Adressenspeicher enthält ferner Einrichtungen, um verschiedene
Funktionen parallel durchzuführen,
o) der Adressenepeicher enthält einen Hilfsspeicher zur Vorausschau
auf Befehle,
d) einen Ortlichen Datenzwischenspeicher,
e) einen Adressenspeicher für vorrübergehende Warteschaltung und
f) einen Stapelhilfsepeicher*
27. Datenverarbeitungsgerät nach Anspruch 1 für eine Haschine,
die ait eine» Hauptspeicher susasstenarbeitet, g e k e η η seiohnet
durch
a)'Einrichtungen, die eine parallele Verarbeitung ermöglichen,
■it einer Ansahl von getrennten Kanälen,
b) eine Toreohauschaltung sur Verhinderung der Ausführung von
Befehlen, wenn ein sukünftiger Befehl eine Operation erfordert,
die die Durchführung und Verarbeitungevorgänge unerwünscht aachen würde,
o) Einrichtungen, dl· eine flexible, dynamische Speioherbegrensung
bilden,
d) eine Ansmhl von funktional getrennten Adreesenspeiohern und
Steuerungen dasu,
t) Mindesten· einer der funktional getrennten Adreseenspeicher
enthält einen.8tapelanhang veränderlicher lange alt Einrichtungen
, die sich bis in den Bauptspeicher eretreoken können»
und
f) Einrichtungen sur selbsttätigen Durchführung indirekter
8prünge.
009S51/156I
28. Datenverarbeitungsgerät nach AnFipi-uch 1, g e k β η η zeichnet
durch Einrichtungen, die wahlweise dynamisch
veränderliche Speichergrenzen unter Steuerung durch ein
Exekutivprograma bewirken, jedoch ohne Dazwischentreten desselben
wobei diese Einrichtungen enthalten
a) ein oberes Grensregister,
b) ein unteres Grenzregister,
c) ein Schaltungoadressenregister,
d) einen Grenzkomparator zuo Prüfen, ob die Zahl derADressenregister
zwischen den Grenzen der oberen und unteren Trennregister liegt,
e) eine logioche Schaltung, die auf Kennzeichen^ita anspricht,
die von den Programm unabhängig sind,
f) die Beeeichnungsbits sind wirksam, um die Füllung der Grens- j
regioter zu kontrollieren; "
g) die Bezeichnungsbits sprechen nur auf ein Exekutirprograsn
an,und
h) die Grenzeineteilungen sind anpassungsfähig ohne Dazwischentreten
des Programme.
29· Datenverarbeitungsgerät nach Anspruch 28, dadurch gekennzeichnet, dass die Programme sowohl für keine
wechselnden Grenzen ale auch für wechselnde Grenzen gelten, wobei bei wechselnden Grenzen das Programs erfordert, dass die Bezeichnungsbits
geprüft werden ua festzustellen, ob eine Änderung der Grenzen erforderlich ist, und dass die Einrichtungen enthalten
a) ein Prograaabesugstabellenregister, A
b) eine Prograambezugetabellenwartesohaltung,
c) Einrichtungen, welche bestiasen, ob die geänderte Adresse in
dem Adressenregister in der Progranbezugstabellenwarteechal-»
tung gespeichert ist, und um festzustellen, ob die Bezeichnungi
bits eine Änderung der Grenzen erfordern,
d) Einrichtungen, die ansprechen, wenn eine Änderung der Grensen durch die Bezeichnungsbits verlangt werden,
1 ο um eine erste Gruppe von bits aus der Programmbezugstabellei
warteschaltung in das untere Grensregister einzuführen,
2. ua eine zweite Gruppe von Bits aus der Prograurabesugstabellenwarteshaltung
in das obere Grenzregister einzuführen,
J 009851/15Sl
e) ein Addiergerät, welcheβ ein Wort bildet, indem folgende
Grossen addiert werden:
1. die Progranatabellenwarteschaltungsbits, die in das untt-i
Orensregister eingeführt worden sind, 2ο die Programmbezugstabellenwarteschaltungsbits, die in di
obere Seteregister eingesetzt worden sind,
■■■ 3« Torbeetianate Bits, die in der Programiabezugstabellenwar^
schaltung enthalten sind, und
f) Einrichtungen, die in das Adressenregister das Wort einsatz
das durch Addieren ale neues Indexwort erhalten wird, und daer das neue Indexwort zwischen den Grenzeinstellungen lir
die durch die Änderung der Grenzen hervorgerufen sind,
«Β Öl*»"1 "
009851/156«
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US509908A US3401376A (en) | 1965-11-26 | 1965-11-26 | Central processor |
Publications (3)
Publication Number | Publication Date |
---|---|
DE1524103A1 true DE1524103A1 (de) | 1970-12-17 |
DE1524103B2 DE1524103B2 (de) | 1975-03-13 |
DE1524103C3 DE1524103C3 (de) | 1979-06-21 |
Family
ID=24028601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1524103A Expired DE1524103C3 (de) | 1965-11-26 | 1966-11-26 | Datenverarbeitungsgerät |
Country Status (5)
Country | Link |
---|---|
US (1) | US3401376A (de) |
CA (1) | CA921609A (de) |
DE (1) | DE1524103C3 (de) |
FR (1) | FR1502315A (de) |
GB (1) | GB1164475A (de) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3546677A (en) * | 1967-10-02 | 1970-12-08 | Burroughs Corp | Data processing system having tree structured stack implementation |
US3577190A (en) * | 1968-06-26 | 1971-05-04 | Ibm | Apparatus in a digital computer for allowing the skipping of predetermined instructions in a sequence of instructions, in response to the occurrence of certain conditions |
US3573854A (en) * | 1968-12-04 | 1971-04-06 | Texas Instruments Inc | Look-ahead control for operation of program loops |
US3573745A (en) * | 1968-12-04 | 1971-04-06 | Bell Telephone Labor Inc | Group queuing |
US3593314A (en) * | 1969-06-30 | 1971-07-13 | Burroughs Corp | Multistage queuer system |
US3631400A (en) * | 1969-06-30 | 1971-12-28 | Ibm | Data-processing system having logical storage data register |
JPS514381B1 (de) * | 1969-11-24 | 1976-02-10 | ||
US3651476A (en) * | 1970-04-16 | 1972-03-21 | Ibm | Processor with improved controls for selecting an operand from a local storage unit, an alu output register or both |
US3656123A (en) * | 1970-04-16 | 1972-04-11 | Ibm | Microprogrammed processor with variable basic machine cycle lengths |
NL7102289A (de) * | 1971-02-20 | 1972-08-22 | ||
US3693165A (en) * | 1971-06-29 | 1972-09-19 | Ibm | Parallel addressing of a storage hierarchy in a data processing system using virtual addressing |
BE789583A (fr) * | 1971-10-01 | 1973-02-01 | Sanders Associates Inc | Appareil de controle de programme pour machine de traitement del'information |
US3725876A (en) * | 1972-02-08 | 1973-04-03 | Burroughs Corp | Data processor having an addressable local memory linked to a memory stack as an extension thereof |
US3794981A (en) * | 1972-06-02 | 1974-02-26 | Singer Co | Realtime computer operation |
US3810117A (en) * | 1972-10-20 | 1974-05-07 | Ibm | Stack mechanism for a data processor |
US3858183A (en) * | 1972-10-30 | 1974-12-31 | Amdahl Corp | Data processing system and method therefor |
US3868644A (en) * | 1973-06-26 | 1975-02-25 | Ibm | Stack mechanism for a data processor |
US3889243A (en) * | 1973-10-18 | 1975-06-10 | Ibm | Stack mechanism for a data processor |
US3949378A (en) * | 1974-12-09 | 1976-04-06 | The United States Of America As Represented By The Secretary Of The Navy | Computer memory addressing employing base and index registers |
CA1059639A (en) * | 1975-03-26 | 1979-07-31 | Garvin W. Patterson | Instruction look ahead having prefetch concurrency and pipe line features |
US4212060A (en) * | 1975-04-30 | 1980-07-08 | Siemens Aktiengesellschaft | Method and apparatus for controlling the sequence of instructions in stored-program computers |
US4025901A (en) * | 1975-06-19 | 1977-05-24 | Honeywell Information Systems, Inc. | Database instruction find owner |
SE403322B (sv) * | 1977-02-28 | 1978-08-07 | Ellemtel Utvecklings Ab | Anordning i en styrdator for forkortning av exekveringstiden for instruktioner vid indirekt adressering av ett dataminne |
US4371927A (en) * | 1977-11-22 | 1983-02-01 | Honeywell Information Systems Inc. | Data processing system programmable pre-read capability |
US4521850A (en) * | 1977-12-30 | 1985-06-04 | Honeywell Information Systems Inc. | Instruction buffer associated with a cache memory unit |
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 |
US4312036A (en) * | 1978-12-11 | 1982-01-19 | Honeywell Information Systems Inc. | Instruction buffer apparatus of a cache unit |
US4539635A (en) * | 1980-02-11 | 1985-09-03 | At&T Bell Laboratories | Pipelined digital processor arranged for conditional operation |
JPS5927935B2 (ja) * | 1980-02-29 | 1984-07-09 | 株式会社日立製作所 | 情報処理装置 |
JPS56149646A (en) * | 1980-04-21 | 1981-11-19 | Toshiba Corp | Operation controller |
US4947369A (en) * | 1982-12-23 | 1990-08-07 | International Business Machines Corporation | Microword generation mechanism utilizing a separate branch decision programmable logic array |
US4872109A (en) * | 1983-09-29 | 1989-10-03 | Tandem Computers Incorporated | Enhanced CPU return address stack |
US4868735A (en) * | 1984-05-08 | 1989-09-19 | Advanced Micro Devices, Inc. | Interruptible structured microprogrammed sixteen-bit address sequence controller |
US4630195A (en) * | 1984-05-31 | 1986-12-16 | International Business Machines Corporation | Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage |
USRE34052E (en) * | 1984-05-31 | 1992-09-01 | International Business Machines Corporation | Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage |
JPS619734A (ja) * | 1984-06-26 | 1986-01-17 | Nec Corp | プロセツサ制御方式 |
US4714994A (en) * | 1985-04-30 | 1987-12-22 | International Business Machines Corp. | Instruction prefetch buffer control |
US5062036A (en) * | 1985-06-10 | 1991-10-29 | Wang Laboratories, Inc. | Instruction prefetcher |
US4791557A (en) * | 1985-07-31 | 1988-12-13 | Wang Laboratories, Inc. | Apparatus and method for monitoring and controlling the prefetching of instructions by an information processing system |
US4991090A (en) * | 1987-05-18 | 1991-02-05 | International Business Machines Corporation | Posting out-of-sequence fetches |
JPH0769812B2 (ja) * | 1987-12-29 | 1995-07-31 | 富士通株式会社 | データ処理装置 |
CA2038264C (en) * | 1990-06-26 | 1995-06-27 | Richard James Eickemeyer | In-memory preprocessor for a scalable compound instruction set machine processor |
US6782407B1 (en) * | 2000-09-26 | 2004-08-24 | Koninklijke Philips Electronics N.V. | System and method for low overhead boundary checking of java arrays |
US7136990B2 (en) * | 2003-01-16 | 2006-11-14 | Ip-First, Llc. | Fast POP operation from RAM cache using cache row value stack |
US7139876B2 (en) * | 2003-01-16 | 2006-11-21 | Ip-First, Llc | Microprocessor and apparatus for performing fast speculative pop operation from a stack memory cache |
US7139877B2 (en) * | 2003-01-16 | 2006-11-21 | Ip-First, Llc | Microprocessor and apparatus for performing speculative load operation from a stack memory cache |
US7191291B2 (en) * | 2003-01-16 | 2007-03-13 | Ip-First, Llc | Microprocessor with variable latency stack cache |
US9910801B2 (en) | 2014-08-01 | 2018-03-06 | Universiti Teknologi Malaysia | Processor model using a single large linear registers, with new interfacing signals supporting FIFO-base I/O ports, and interrupt-driven burst transfers eliminating DMA, bridges, and external I/O bus |
DE102014111305A1 (de) | 2014-08-07 | 2016-02-11 | Mikro Pahlawan | Prozessor-Modell, das ein einziges großes, lineares Register verwendet, mit FIFO-basierten I/O-Ports unterstützenden neuen Interface-Signalen und unterbrechungsgesteuerten Bus-Transfers, die DMA, Brücken und einen externen I/O-Bus eliminieren |
CN111723920B (zh) * | 2019-03-22 | 2024-05-17 | 中科寒武纪科技股份有限公司 | 人工智能计算装置及相关产品 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3158844A (en) * | 1959-09-14 | 1964-11-24 | Ibm | Data processing system |
US3156897A (en) * | 1960-12-01 | 1964-11-10 | Ibm | Data processing system with look ahead feature |
US3223976A (en) * | 1961-05-26 | 1965-12-14 | Bell Telephone Labor Inc | Data communication system |
BE625673A (de) * | 1961-12-04 | |||
US3229260A (en) * | 1962-03-02 | 1966-01-11 | Ibm | Multiprocessing computer system |
USRE26171E (en) * | 1962-03-02 | 1967-03-07 | Multiprocessing computer system | |
US3319226A (en) * | 1962-11-30 | 1967-05-09 | Burroughs Corp | Data processor module for a modular data processing system for operation with a time-shared memory in the simultaneous execution of multi-tasks and multi-programs |
US3287703A (en) * | 1962-12-04 | 1966-11-22 | Westinghouse Electric Corp | Computer |
US3287702A (en) * | 1962-12-04 | 1966-11-22 | Westinghouse Electric Corp | Computer control |
US3323109A (en) * | 1963-12-30 | 1967-05-30 | North American Aviation Inc | Multiple computer-multiple memory system |
-
1965
- 1965-11-26 US US509908A patent/US3401376A/en not_active Expired - Lifetime
-
1966
- 1966-11-21 GB GB52077/66A patent/GB1164475A/en not_active Expired
- 1966-11-24 CA CA976318A patent/CA921609A/en not_active Expired
- 1966-11-25 FR FR85082A patent/FR1502315A/fr not_active Expired
- 1966-11-26 DE DE1524103A patent/DE1524103C3/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
DE1524103C3 (de) | 1979-06-21 |
US3401376A (en) | 1968-09-10 |
GB1164475A (en) | 1969-09-17 |
FR1502315A (fr) | 1967-11-18 |
DE1524103B2 (de) | 1975-03-13 |
CA921609A (en) | 1973-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1524103A1 (de) | Datenverarbeitungsanlage | |
DE1953662C2 (de) | Elektrisches Steuersystem für die numerische Steuerung von mindestens einer Werkzeugmaschine | |
DE1813916B2 (de) | Elektronische Datenverarbeitungsanlage | |
DE1449531C3 (de) | Prozessor, vorzugsweise für ein modul ares Mehrprozessorsystem | |
DE1282337B (de) | Programmgesteuerte elektronische Rechenanlage | |
DE1449532B2 (de) | Datenverarbeitungsanlage | |
DE1178623C2 (de) | Programmgesteuerte datenverarbeitende Maschine | |
DE1499175A1 (de) | Digitalrechner-Datenverarbeitungszentralanlage | |
DE1942005B2 (de) | Datenverarbeitungsanlage zur aufnahme und abgabe von digitalen daten und zur ausfuehrung von operationen an den daten | |
DE1303071B (de) | ||
DE1524102A1 (de) | Programmierbares Eingabe- und Ausgabe-Rechengeraet | |
DE1200581B (de) | Programmunterbrechungssystem fuer eine elektronische Rechenmaschine | |
DE1424732A1 (de) | Elektronische Ziffernrechenmaschine | |
DE1190704B (de) | Rechenanlage | |
DE1948490C3 (de) | Schaltungsanordnung zur numerischen Steuerung der Bewegung eines verstellbaren Organs längs einer Bahnkurve, insbesondere zur numerischen Steuerung der Bewegung des Werkzeug- oder Werkstückträgers einer Werkzeugmaschine | |
DE2003150B2 (de) | ||
DE1805992C3 (de) | Einrichtung zur Adressierung von Zwischenspeichern beim Sortieren/Mischen von vorsortierten Datenfolgen | |
DE1499224C3 (de) | Datenverarbeitungsanlage mit Kellerspeichereinrichtungen | |
EP3914976B1 (de) | Zuordnen von werkzeugen zu plätzen in einem werkzeugmagazin | |
DE1132747B (de) | Elektronische Rechenmaschine | |
DE1193279B (de) | Elektronen-Ziffernrechner mit eingespeichertem Programm | |
DE1957600A1 (de) | Elektronische Rechenmaschine | |
DE1424710A1 (de) | Schaltungsanordnung zum Verbinden von Informationsquellen mit Bestimmungsorten in Datenverarbeitungsanlagen | |
DE1212748B (de) | Datenverarbeitende Maschine mit Programmunterbrechung | |
DE1934441C3 (de) | Befehlswerkgesteuertes Rechenwerk für einen Digitalrechner |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) |