DE1524103A1 - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

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
Application number
DE1966B0090024
Other languages
English (en)
Other versions
DE1524103C3 (de
DE1524103B2 (de
Inventor
Stokes Richard Arthur
Gluck Simon Edwin
Bradley Richard Elmer
Barnes George Henry
Albert Sankin
Joseph Shifman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unisys Corp
Original Assignee
Burroughs Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Burroughs Corp filed Critical Burroughs Corp
Publication of DE1524103A1 publication Critical patent/DE1524103A1/de
Publication of DE1524103B2 publication Critical patent/DE1524103B2/de
Application granted granted Critical
Publication of DE1524103C3 publication Critical patent/DE1524103C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital 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/04Digital 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent 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 --
BAD ORIGINAL
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&ltdtnt 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
Arbeitsweise und den Aufbau des "Df gesäB der Erfindung besieht a
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
ILAR 304 entnimmt vier Worte auf einmal aus dem Speicher 122ν
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&ltbild 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«. '
IHDBZ-Vorgänge ύ
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
BADORIGfNAL
~ ■'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-
W&& Ä^ge1@ffgi@t®r bawlrken vier Bntnahasn
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
O093SI/156· BADORKWAL
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&regiatev 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.
Di© T®rblmäung@einheit 100 se&iolct, w@nn sie nicht
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·
Dae Schieberegister 224 enthält eine Zahl, die ein Versohlebebetrag (ehlft amount) 1st. Das Steuerregister
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
Im Regleter 222 befinden. Die Daten werden In dee Register
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&lt® 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 »
Eingehende Beschreibung der Verbindungsschaltung
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«
Befehle und 8prungoperationen
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·
Die sweisilbigen Befehle dor Fig. 80 sind folgendet
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,
FIf9 BJ geigt- dea aufbau des Sprunges aum Prüfen eines Xndex-
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
Arbtlteweiae . I. Laden der Maschin«
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.
BAD ORlQlNAL
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«
II. Arbeitsweise der Maschine während dee Betriebe
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"
III. Verarbeitung von Befehlen« die die Maschine verlassen
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
■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,
BAD ORiQiNAL
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
BAD ORIGINAL
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.
Charakteristische Eigenschaften und Merkeale:
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.
Ds«it können arithmetische Berechnungen von Steuerfunktionen
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.
Verbindungsschaltungs
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·
BAD ORIGINAL
«•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
Berechnungen in der Schaltung 104 hält, ao daaa die Zelt
*«- λ** 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ο
BAD ORDINAL
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
Die örtliohe Warteschaltung in dem
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. . (
Die Endschaltung:
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&ltung 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 .
Dl· reitlichen Bedingungen
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
AAB ADTAST Adreee Register AAU ADTAST Adder Unit
ABL Alternate Bounds Upper
ABU " " lower
ACCESS Level Indicating Menory Acces Hide
AIB ADVAST Instruction Regieter
ASM Associative Memory Address Checking Matrix
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
Input Register for ABVAST Adder for Baae Registers
STK0 STORQ T
TEMP
M Address Parts
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
Queue of Most Recent Stores Top of Stack Temporary (Data for Tinq) Storage
008861/1669

Claims (1)

Pa tent a^n^B g> r U e h e
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
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
ΟΟί»Β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
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
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
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,
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
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
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«
DE1524103A 1965-11-26 1966-11-26 Datenverarbeitungsgerät Expired DE1524103C3 (de)

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)

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

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

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)