DE1474018A1 - Datenverarbeitungssystem zur Steuerung von Programmablaeufen durch Listenregelungsworte - Google Patents

Datenverarbeitungssystem zur Steuerung von Programmablaeufen durch Listenregelungsworte

Info

Publication number
DE1474018A1
DE1474018A1 DE19641474018 DE1474018A DE1474018A1 DE 1474018 A1 DE1474018 A1 DE 1474018A1 DE 19641474018 DE19641474018 DE 19641474018 DE 1474018 A DE1474018 A DE 1474018A DE 1474018 A1 DE1474018 A1 DE 1474018A1
Authority
DE
Germany
Prior art keywords
address
register
memory
word
stored
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.)
Pending
Application number
DE19641474018
Other languages
English (en)
Inventor
Grady Robert James
Walter Klein
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.)
Beckman Coulter Inc
Original Assignee
Beckman Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beckman Instruments Inc filed Critical Beckman Instruments Inc
Publication of DE1474018A1 publication Critical patent/DE1474018A1/de
Pending legal-status Critical Current

Links

Classifications

    • 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Complex Calculations (AREA)
  • Programmable Controllers (AREA)

Description

Patentanwalt
8000 MUNCHEN-SOLLN
Frans Hab Strafte 21
Telefon 796213
Postfach 48
BM 1230 ''München, den
Dr. H./D./Th
Bookman Instruments, Inc. 2500 Harbor Boulevard Fullerton, California
Datenverarbeitungssystem zur
Steuerung von Programmabläufen durch Listenregelungsworte.
Priorität« USA, 10.Juni 1963; Serial No. 286 794
Die Erfindung betrifft elektronische Datenverarbeitungsanlagen, die von einem gespeicherten Programm gesteuert werden. Insbesondere betrifft die Erfindung das Adressieren bestimmter Daten innerhalb des Datenverarbeitungssystemes.
In digitalen elektronischen Datenverarbeitungsanlagen werden InstruktioAs- oder Be$fehlsworte verwendet, um Worte, die bestimmte Daten darstellen, zu adressieren und um die mit diesen Worten vorgekommenen Operationen zu regeln und zu überwachen. Ein Befehlswort besteht typischerweise aus mehreren binären Bits. Einige dieser Bita werden als Adressteil des Befehles und andere als Befehlsteil oder Befehls-Code dee Befehles bezeichnet. Der Befehls-Gode (oder Operatione-
Beyeri·*· Verefcubank München 820993
809901/069·
schlüssel) identifiziert eine bestimmte Rechenoperation,
die die Datenverarbeitungsanlage ausführen soll. Der Adressrtrrvteil des Befehles identifiziert die Stelle im Speicher, in der die Information enthalten ist, mit der die bestimmte Rechenoperation vorgenommen werden soll. Bei bestimmten Gelegenheiten wird der Adresste-p-teil des Befehl- Portes dazu benutzt, die Speicheradresse eines anderen Befehlswortes zu
identifizieren. Häufig sind mehrere Befehlsworte und Datenworte im Speicher gespeichert. Die vielen Befehlsworte sind im allgemeinen nacheinander in einer bestimmten Folge angeordnet. Diese Folge wird Programm genannt . Zumindest einige der Befehle werden innerhalb der Folge mehrere Male wiederholt.
Werden gespeicherte Programme verwendet, so ist häufig dafür Vorsorge getroffen, daß das Programm beim Auftreten bestimmter Bedingungen geändert werden kann. Zu diesem Zweck werden typischer Weise Indexregister "benutzt, um die Modifizierung des Programmes und die damit zusammenhängenden Operationen durchzuführen. Anstelle einer direkten Adressierung der zu verarbeitenden Daten durch das Befehlswort, kann der Adressteil des Befehlswortes eine Adressier-Basis sein, die einem Register zugeführt wird, wo diese Adressier-Basis dadurch modifiziert wird, daß der vorher eingestellte Inhalt eines oder mehrerer vorherbestimmter Indexregister von ihr abgezogen oder zu ihr hinzugezählt wird. Die daraus hervorgehende Adresse nimmt dann auf eine bestimmte Stelle im
&; 809901/0696
BM 1230 - 3 -
Speicher Bezug, aus der die Information zur weiteren Verarbeitung herausgezogen wird. Diese Information kann entweder ein Datenwort sein oder ein weiteres indirekt adressiertes Befehlswort, das aus einer Adresse besteht, die in das Register eingeleaen wird, wo sie wiederum durch eine Indexre-" gistaroperation modifiziert werden kann, wenn dies gewünscht ist. Das letzte Wort in der Wortfolge wird dann dem in dem Befehl enthaltenen Befehlscode entsprechend verarbeitet. Die in dem Indexregister gespeicherte Zahl, die zu einer indirekten Adresse addiert werden soll, kann jede gewünschte Zahl sein. Ein typisches Beispiel einer Adressenmodifikation und indirekter Adressierung unter Verwendung von Indexregistern kann in der US-Patentschrift Nr. 3 036 773 gefunden werden.
Die Verwendung des indirekten Adress'ierverfahrens unter Benützung von Indexregistern zur Modifizierung von Adressen schafft eine bewegliche Adressenstruktur. Dennoch sind noch flexibelere Adressenmodifizierungen und entsprechende Mittel bei manchen Anwendungen wünschenswert. Das ist zum Beispiel bei der Steuerung von Rechenoperationen durch zeitabhängige Befehle bei der Verarbeitung von zeitabhängig anfallenden Daten (real-time computation) der Pall.
Demgemäß ist es ein Ziel der vorliegenden Erfindung, Möglichkeiten für eine w/lrksamere und flexibelere Adressenmodifizierung in digitalen Datenverarbeitungsmaschinen zu schaffen.
809901/0696
Dies geschieht mit Hilfe einer Listenregelungsstruktur. Bin digitales Datenverarbeitungsgerät, das einen Speicher, ein Speicheradressierregister, welches zur Adressierung von im Speicher gespeicherten Daten mit dem Speicher verbunden ist, und einen Pufferspeicher, der ebenfalls mit dem Speicher verbunden ist, enthält, um eine Pufferspeicherung für diejenigen Daten zu bilden, die von dem Speicher in bestimmte vorgesehene Plätze im Speicher eingelesen werden, kennzeichnet sich erfindungsgemäß dadurch, daß im Speicher Listenkontrollworte gespeichert sind, die ein erstes Adressenwort, das einen' verschlüsselten ein oder mehrere Bits enthaltenden Codeteil aufweist, ein zweites Adressenwort und ein drittes Adressenwort enthalten, sowie dadurch, daß ein mit dem Speicher verbundenes Adressenmodifikationsregister vorgesehen ist, das von diesem eines der Adressenworte empfängt, sowie dadurch, daß mit dem Speicher und dem Speicheradressierregister Mittel verbunden sind, die dieses eine Adressenwort entweder in geänderter oder in umgeänderter Form dem Speicher und dem Speicheradressierregister zuführen, und das Pufferregister die Punktion übernimmt, das zweite oder dritte Adressierwort zu emfpangen und es der Stelle im Speicher wieder zuzuführen, von der her es ausgelesen worden war, sowie dadurch, daß mit dem Pufferregister und dem Adressenmodifi::ationsregister arithmetische und Vergleichsmittel verbunden sind, um von dem Adressenmodifikationsregister Daten zu empfangen und zu diesen
BAD ORIGINAL
809901/0696
_ 5 —
Daten algebraisch entweder -f 1,0 oder-1 hinzuzuaddieren und das Ergebnis dieser Operation dem Adressenmodifikationsregister wiederum zuzuführen, ferner um den Inhalt des Pufferspeichers mit dem Inhalt des Adressenmodifikationsregisters zu vergleichen oder um den Inhalt des Pufferspeichers zu empfangen, algebraisch +■ 1 oder - 1 hinzuzuaddieren und das Ergebnis dem Adressenmodifikationsregister zuzuführen.
Die Begriffe Liste, Listenregelungswort und Listenregelungsstruktur bedeuten in diesem Zusammenhang ein laufendes Adressenwort, das mit geeigneten Kennzeichnungsbits versehen ist, oder ein End-Adressenwort und ein Anfangs-Adressenwort, die in nebeneinander liegenden Zellen gespeichert sind.
Bei einem Beispiel, das den Grundgedanken der vorliegenden Erfindung erläutern soll, kann irgendeine Anzahl von Listenregelungsstrukturen im Speicher eines digitalen Datenverarbeitungsgerätes gespeichert sein. Jede dieser Listen wird durch den Adressteil eines Befehles adressiert, der ebenso die letzte Operation nennt, die mit den durch die laufende Adresse adressierten Daten vorgenommen werden soll. i)ie Adresse im Befehl adressiert lediglich das laufende Adressenwort. Wird ein laufendes Adressenwort adressiert, so kann die die Adresse darstellende Zahl vermehrt oder verringert werden, und zwar in Abhängigkeit von dem Operationsverfahren, das durch den Befehl benannt ist durch Vergleich mit der -End- oder
adrease, und dazu benützt werden, um schließlich einen Operanden innerhalb einer Operanden-Liste zu adressieren. Ein Kennzeichnungsbit im laufenden Adressenwort kann festgestellt werden, um einen Operationszyklus zur Vermehrung oder Verringerung oder zur Durchführung des Vergleichszyklus dadurch in Gang zu setzen. Dieses Merkmal der zyklischen Operation ist besonders dann von Nutzen, wo wiederholte Operationen (wie zum Beispiel Addition, Subtraktion, Multiplikation, Division, Linearisierung, usw.) mit einer Liste von Operanden durchgeführt werden müssen.
Die Listenreirelungsstruktur der vorliegenden Erfindung weist eine Reihe von Merkmalen auf. Ein einzelner Befehl kann sich auf eine Speicheradresse beziehen, die wiederholt dazu benützt wird, eine bestimmte Operation auszusuchen und auszuführen, und das für jeden einer Gruppe von gespeicherten Operanden. Die Gruppe von Operanden, die durch die Listenregelungsstruktur adressiert ist, kann jede Größe (die anders als die Größe 1 ist) haben, sofern sie innerhalb der Kapazität des Speichers liegt. Die Gruppe der adressierten Operanden kann innerhalb irgendeiner Liste aus aufeinanderfolgenden Adressen ::1 im Speicher gespeichert sein. Innerhalb der Speicherkapazität kann jede Anzahl von Listenregelun'-f;strukturen innerhalb eines Datenverarbeitungssystemes, das von gespeicherten Programmen gesteuert wird, programmiert werden. Die Operation der Listonregelung sstruktur ist vollständig programmierbar und erlaubt so eine Benennung durch das Programm und eine entsprechende Manipulation durch die Maschine von sowohl der gerade in Bezug genommenen laufenden Adresse als auch der Anfangs- und ind-
BAD ORIGINAL
809901/0898
adresaen der Liste von Operanden. Von irgendeinem Befehl können drei verschiedene Arten der Lietonregelung genannt werden. Das ist zunächst das statische Verfahren, bei dem die Operanden-Adresse, die von der Listenregelungsstruktur ausgewählt wird, die gleiche wie die zuvor ausgewählte Adresse ist. Zweitens
das Vermehrungsveriäiren, bei dem in der Folge die nächsthöhere Adresse ausgesucht wird; drittens das Verringerungsverfahren, in dem in der Folge die nächst niedrigere Adresse ausgesucht wird. In ähnlicher Weise sucht die Bezugnahme auf eine Liste an . der Anfangsadresse im Verringerungsverfahren automatisch die Endadresse aus.
Die Listenregelungsstruktur kann weiterhin dahingehend ergänzt werden und so betrieben werden, daß mehrfaches Adressieren von Listen möglich ist, und daß es weiterhin möglich ist, die Regelung eines programmierten Befehles durch einen automatischen Befehl zu überspringen, bis alle Listen ihre Endstellung erreicht haben. Ein bestimmtes ^ennzeichnungsbit in einem lau fenden Adressenwort wird innerhalb eines Operationszyklus wahrgenommen, um so zu bewirken, daß das Adressierverfahren fortgesetzt wird, um einen anderen Operationszyklus zu erreichen, ι oder um einen gegebenen Befehl auszuführen. Zusätzlich kann die Wahrnehmung desselben Kennzeichnungsbits auch dazu dienen, zu bestimmen, ob ein Listenregelungswort in das Verfahren mit einbezogen ist, und für den FaIl, daß diese Listenregelungsworte sich nicht in ihrer Endstellung befinden, einen gegebenen Befehl daraufhin auszuführen und den als nächsten darauf folgenden Befehl zu überspringen, oder um den nächstfolgenden
809901/0696
Befehl auszuführen, wenn alle Lisien sich in ihrer Endstellung befinden, wobei der nächstfolgende Befehl typischerweise ein Befehl ist, der bewirkt, daß der Operationszyklus verlassen wird oder ein Befehl, der eine Verbindung zu einem weiteren Programm herstellt.
Da*s mehrfache Adressieren von listen gestattet es, daß ein Befehl eine Listenregelungsstruktur adressiert, die ihrerseits eine oder mehrere indirekte Adressen oder Listenregelungsstrukturen adressiert, bevor die letzten Listen von Operanden oder aufeinander folgenden Gruppen von Speicherplätzen erreicht werden. Wie es im folgenden noch im einzelnen erklärt werden wird, ist ein Vorteil dieses Merkmales die Fähigkeit, eine Kette von Datenworten zu sortieren und neu zu ordnen, d.h. innerhalb der Kette von Datenworten einzelne Worte voneinander zu trennen und wieder zu gewünschten Gruppen zusammenzusetzen. Dieses Merkmal ist besonders nützlich, wenn mehrere gleichzeitig zur Verfügung stehende und übertragende Daten (MuItiplex-Betrieb) in bestimmter Anordnung zusammengefügt werden sollen. Ein einzelnes Bit im laufenden Adressenwort wird j festgestellt und dazu benützt, die Ergänzung des Programmes durch mehrfaches Adressieren von Listen vorzunehmen. Das kennzeichen des Befehles, automatisch eine bestimmte Regelung zu überspringen, gestattet es, daß ein Befehl in einer .Reihe von Befehlen übersprungen wird, solange alle Listenregelun^sstrukturen ihren Endwert haben. Der Befehl, der übersprungen wird, ist typischerweise ein Befehl, durch den der Operatidnszyklus · verlassen wird oder ein ähnlicher Befehl, der dem lJatenverarbeitun^sgerät einen neuen Befehl zuführt.
BAD ORIGINAL
609901/0696
In den Figuren bedeuten:
Pig. 1 ein Blockschaltbild eines Teiles eines Datenverarbeitungsgerätes, das gemäß den Lehren der vorliegenden Erfindung für das Adressieren von Daten eingerichtet ist;
Pig. 2a bzw. 2b erläutern das Format der Befehlsworte und das Listenregelungsformat, das von dem System nach Pig. I verwendet wird;
Pig. 3-6 und 8-10 sind Flußdiagramme, die die aufeinander folgenden Zustände der Betriebsweisen erläutern, die unter bestimmten Bedingungen vorgenommen werden;
Fi1'*. 7 ist ein Diagramm, das an einem Beispiel die Verarbeitung von Daten zeigt, bei der der Grundgedanke der vorliegenden Erfindung verwendet wird.
Der Grundgedanke der vorliegenden Erfindung ist bei jeder Art von Datenverarbeitungsgeräten anwendbar. Besonders jedoch bei solchen, die Daten verarbeiten, die in Abhängigkeit des tatsächlichen Zeitverlaufes anfallen (real time computation),
messungen
wie zum Beispiel bei Zielver, Nachrichtenverarbeitungen, bei der Bereitstellung und.Auswertung von Daten, der Regelung von Verfahren, und bei denen allgemeinen Zwecken dienende Rechnungen vorgenommen werden müssen, die eine Leistungsanalyse, Fehlerüberwachung, Wartung, Reduktion und Korrelation von Daten, sowie andere ingenieurmäßige und wissenschaftliche Rechnungen durchgeführt werden müssen. Ein typisches Beispiel einer derartigen Anwendungsart ist die Reduktion von Daten, die sich auf Temperatur, Treibstoff-Fluß usw. beziehen bei einem Raketentest. Diese Daten stehen
809901/069$ bad original
im allgemeinen in Form von Spannungen zur Verfügung, die in analoger Weise den zu messenden Größen entsprechen. Die Spannungen stammen von Thermoelementen, Flußmetern, Meßgeräten für elastische Spannungen usw. Diese Daten müssen dann in solch eine Form gebracht werden, daß sie für die dann folgenden ingenieurmäßigen Hechnungen verwendbar sind. Die außerhalb des Datenverarbeitungsgerätes zur Verfügung stehenden Daten von den Meßgeräten her werden dann in digitale Form umgewandelt und einem oder mehreren Eingabe/Ausgabe-Geräten zugeführt. Die Daten werden dann von dorther dem Speicher eines Dai.enverarbeitungsgerätes zugeführt, aus dein sie nacheinander ausgelesen und bestimmten Rechenoperationen unterzogen werden. J5s kann notwendig sein, die abgeleiteten Spannungen mil: einem oder mehreren Werten zu multiplizieren, oder solche werte zu ihnen zuzuaadieren, wodurch die entsprechende Ausgangsgröße der Wandler erhalten wird. Außerdem kann es wünschenswert sein, die Daten zu linearisieren. Es können komplexe Funktionen mit Gegenstand der Messungen sein, wie es zum Beispiel der Fall ist, wenn die messenden Wandler den Druck entlang eines Venturi-Kohrs messen und diese Information muß dann so umgewandelt werden, daß sie den Treibstoff-Fluß darstellt. Des weiteren können die Daten dann einem Eingabe/Ausgabe-Gerät zugeführt werden,
dem
von sie auf Magnetband aufgetragen oder gedruckt werden. Die
GrundVorstellungen der vorliegenden Erfindung sind anwendbar, wenn die im Speicher gespeicherten Daten adressiert werden sollen, sodaß sie daraufhin den entsprechenden Geräten zugeführt werden können, die dann mit den Daten die gewünschten Operationen vornehmen.
BAD ORIGINAL
809901/0696
In 'ig. 1 1st nur ein feil eines digitalen Datenverarbeltungssystemes im Blockschaltbild gezeigt. Die verschiedenen verwendeten Einheiten sind in ihrer Funktion wohl bekannt. Einfache Linien, die einzelne Sohaltblöoke verbinden, stellen die übertragung eines einzelnen Bits an Information, von Regelungssignalen oder in Reihe auftretenden Informationsbits dar. Die einzelnen Blöoke verbindenden Kabel präsentieren einen parallelen Datenfluß.
lypisoherweise besteht ein Datenverarbeltungegerät dieser Art aus drei Hauptkomponentent
1« ein arithmetisches Untersystem für allgemeine Zwecke,
2. ein Elngabe/Ausgabe-Systemt
3· ein Speicher, der von den beiden zuerst genannten Systemen gemeinsam verwendet wird.
In 'ig. 1 ist ein Speicher 10 gezeigt, der in herktSmmlioherwei-■e aus Magnetkernen aufgebaut sein kann. Ebenso zeigt Tig. I die anderen Komponenten der genannten Systeme, die zur Ausführung der die Adressierung kennzeichnenden Merkmale der vorliegenden Erfindung notwendig sind. Die Register und die anderen Komponenten, die die typieohen arithmetischen und Regelungsoperationen durchführen, wie beispielsweise Addition, Substraktion, Multiplikation, usw. sind nioht gezeigt. Ebenso sind die Eingabe/Auegabe-Gerätβ, wie Bedienungspult, Loohkarten-und Magnetbandeinheiten, Fernschreiber usw. nioht gezeigt, die mit den in Fig. 1 gezeigten logisohen Schaltbluokea verbunden werden kttnnen.
π λ η ORIGINAL
809901/0696
Daten werden dadurch in den Speicher 10 eingelesen und aus
ihm ausgelesen, daß dem Speicher für das Datum eine Adresse
zur Verfugung gestellt wird, ferner das Datum selber, sowie ein Lese- oder Scbreibesignal. Jede der Regelungsleitungen in ^ig. hat eine mnemotechnische Bezeichnung, die ihr zugeordnet ist.
So'leiten beispielsweise die Leitungen 11 und 12, die mit dem
Speicher 10 verbunden sind, diesem Lese- und Schreibsignale zu. Die mnemotechnische Bezeichnung MMGPRD, die der Leitung 11 zugeordnet ist, heißt "lese den Hauptspeicher 10 des Datenverarbeitungsgeräts". Der mnemotechnische Ausdruck MMGPWT, der der Leitung 12 zugeordnet ist, bedeutet: "schreibe in den Hauptspeicher 10 des Datenverarbeitungsgerätes ein". Zusätzlich zu einer im
folgenden stattfindenden Beschreibung aller dieser mnemotechnischen Bezeichnungen, die jeweils den Hegelungsleitungen zugeordnet sind, werden diese Bezeichnungen und ihre Bedeutung noch im folgenden tabellarisch aufgeführt.
Die Daten (einschließlich der Adressen, Befehle und Informationen) vom Eingabe/Ausgabe-Gerät werden über ein Kabel 14, die
Eingangstore 15 und ein Kabel 16 dem Speicher 10 zugeführt. Die Tore 15 können von den Eingabe/Ausgabe-Geräten geregelt werden. Daten können ebenso von Hand in den Speicher 10 mit Hilfe einer Druckknopf etät igt en Regelungsanlage oder ähnlichem einwiesen werden, die am Regelungspult vorgesehen sind und dies geschieht über ein Kabel 18, die Eingangstore 19 und ein Kabel
20, welche mit einem Pufferspeicher 21 (MB Register) -verbunden
EAD ORSGiNAL .
809901/0696
ist. Diese Daten werden dem Speicher 10 von dem Pufferspeicher21 über das Kabel 22, ein Kabel 23, die Eingangstore 24 und ein Kabel 25 zugeführt.
Die Daten im Speicher 10 werden mit Hilfe eines Speicheradressierregisters 30 (MA Register) adressiert, das mit dem Speicher 10 über das Kabel 31 verbunden ist. Die Adressen werden dem Speicheradressierregister 30 von einem Programmadressierregister 32 ( £a Register) oder von einem Adressenmodifikationsregister 33 (YA Register) zugeführt. Das Programmadressierregister 32 ist mit dem Speicheradressierregister 30 durch ein Kabel 35, Singangstore 36 und ein Kabel 37 verbunden. Das Adressenmodifikationsregister 33 ist mit dem Spe.icheradressierregister 30 über ein Kabel 39, Eingangstore 40 und ein Kabel 41 verbunden. Das Adressenmodifikationsregister 33 kann außerdem dem Speicher 10 noch Daten (einschließlich Adressen) über das Kabel 39, das Kabel 42 die Eingangstore 24 und das Kabel 25 zuführen. Der Pufferspeicher 21 liefert Daten an das Programmadressierregister 32 über das Kabel 22, ein Kabel 44, die Eingangstore 45 und ein Kabel
Obwohl im folgenden die Betriebsweise der in Fig. 1 gezeigten Komponenten rioch im Detail beschrieben werden wird, ist eine Kurze Beschreibung der bereits erwähnten Komponenten hier am Plaxze. Die Information wird in den Speicher 10 von einem äußeren Eingabe/Ausgabe-Gerät über die Eingangstore 15 eingelesen. Ebenso kann die Information in den Speicher 10 über die Eingangstore 19, das Speicherregister 21 und die Ein^angstore 24 eingelesen werden. Die Daten können vom Adressenmodifikationaregister
809801/0696
33 durch das Eingangstor 24 in den Speicher 10 eingelesen werden. Innerhalb des Speichers 10 werden die Daten mit Hilfe des Speicheradressierregistere 30 adressiert, das von dem Programmadressierregister 32 und dem Adressenmodifikationsregister 33 die entsprechenden Adressen erhält. Das Programmadressierregister 32 leitet dem Register 30 die Adresse des nächsten vom Rechengerät aus zu führenden Befehles zu; demgegenüber leitet das Adressenmodifikationsregister 33 dem Register 30 Adressen von Daten (Operanden oder Adressen) zu, die während des Programmes bearbeitet werden sollen.
Vom Speicher 10 gelangen die Daten in ein Kabel 50. Das Kabel 50 ist über ein©» Kabel 51 mit anderen (nicht gezeigten) betriebsmäßigen Registern des Rechengerutes verbunden. Diese betriebsmäßigen Register führen die eigentlichen Operationen, Berechnungen usw. durch und haben mit dem Gedanken der vorliegenden Erfindung nichts zu iun. Die im Speicher 10 vorhandenen Daten werden über das Kabel 50, ein Kabel 52 und die Eingangstore 53 dem Pufferspeicher 21 zugeleitet. Der Speicher 10 kann ein destruktiver Speicher sein. Dann wird nach dem Auslesen eines Wortes dieses wieder über den Pufferspeicher 21 an denselben Platz 21 zurückeingelesen, sodaß dieses Wort nicht verloren geht. Außerdem werden vom Speicher 10 über das Kabel 50, das Kabel 51» ein Kabel 55, Eingangstore 56 und ein Kabel 57 Daten dem Adressenmodifikationsregister 33 zugeführt. Außer der Zuführung von Daten zum Speicher 10 und zum Register 30 stellt das Adressenmodifikationsregister 33 den Befehl, der bearbeitet
EAO ORtGiMAL
809901/0696
werden soxl, über das Kabel 39» ein Kabel 60 der Steuer- und Regelungseinheit 61 zur Verfügung. Wie das im folgenden noch im einzelnen beschrieben werden wird, hat die Steuerungseinheit 61 lediglich die Aufgabe, die Signale auf den entsprechenden Ausgangsleitungen im angebrachten Zeitpunkt zur Verfügung zu stellen, um so zu veranlassen, daß der Speicher 10 ausgelesen wird, Daten durch die Tore hindurehgelangen usw. Das Befehlswort wird in der Steuereinheit 61 lediglich gespeichert, um darin eine Anzeige zu schaffen, aus der zu ersehen ist, welches Betriebsverfahren gerade benützt wird. Das Steuergerät 61 enthält eine Uhr, um Taktimpulse zu erzeugen; ein Zählgerät, um diese Impulse zu zählen, sowie herkömmliche logische Torschaltungen und Kippschalter, um geeignete Regelungssignale auf den Ausgangsleitungen im vorgesehenen Zeitpunkt in Abhängigkeit von den vorzuenehmenden Operationen zu erzeugen. Vorzugsweise ist die Steuereinheit 61 mit elektronischen Geräten ausgerüstet. Es können allerdings mechanische oder von Hand betätigbare Taktgeber und ^eitfolgeeinrichtungen verwendet werden, wenn die Geschwindigkeit der durchzuführerden Operationen keine Rolle spielt.
Der Pufferspeicher 21 ist über das Kabel 22 und ein Kabel 63 mit einem Abtasteschalter 64 verbunden. Dieser Abtastschalter ist ein herkömmlicher Parallel-Reihenkonverter, der die auf der Ausgangsseite des Pufferspeichers in paralleler -^'orrn zur. Verfügung stehenden Daten in in Reihe nacheinander zur Verfügung stehende Folge von Datenbits auf der Ausgangsleitung 65 umwandelt. Die Ausgangsleitung 65 ist mit der arithmetischen Einheit 66 verbunden.
609901/0696
Das YA Register 33 ist mit der arithmetischen Einheit 6_6 durch die leitungen 67 und 68 verbunden. Die arithmetische Einheit hat drei funktionen zu erfüllen:
1. serienweise (Bit für Bit) den Inhalt des YA Registers 33 mit dem Inhalt des MB Registers 21 zu vergleichen und ein .Ausgangssignal ( eine l) auf der Ausgangsleitung 69 zu erzeugen, wenn einander entsprechende Bits in den Worten in diesen Registern nicht gleich sind;
2. den Inhalt des YA Registers zu vermehren (l hinzu addieren) ' oder zu vermindern ( 1 subtrahieren) und das Ergebnis diesem Register wieder zuzuführen;
3. Das YA Register 33 mit dem um 1 vermehrten oder verminderten Inhalt des MB Registers 21 zu laden. Der Vergleich des Inhaltes des YA und des MB Registers und das Laden des um eines vermehrten oder verminderten Inhaltes des MB Registers in das YA Register findet gleichzeitig statt. In ähnlicher Weise ist eine arithmetische Einheit 72 mit dem Programmadressierregister 32 über die leitungen 73 und 74 verbunden. Die arithmetische Einheit 72 hat lediglich die funktion, das im PA Register 32 gespeicherte Wort zu vermehren (eins hinzuzufügen).
Die Regelungstorschaltun.^en 76 sind mit dem Speicheradressierregister 33 über die leitung 77 verbunden. Die ^egelungstorschaltungen 76 reagieren auf Eingangssignal so, daß sie entweder eins oder zwei der letzten zwei signifikanten Bits (Bits 1 und 2)
BAD URINAL
809901/0696
im rfpeicheradressierregister 30 ändern. '.Vie das im folgenden noch deutlich werden wird, bewirkt diese Operation, daß irgendeine von drei aufeinander folgenden Adressen anstelle der einen einzigen Adresse, die im MA. Register 30 gespeichert ist, ausgewählt wird. Die Regelun-storschaltungen 80 und 81 sind über entsprechende Leitungen 82 und 83 mit dem MB Register 21 und dem YA Register 33 verbunden. Diese Regelungstorschaltungen und 81 bewirken beim Vorhandensein von Eingangssignalen, daß irgendeines oder mehrere der Kennzeichnungsbits A, B, oder G eines im MB oder YA Register gespeicherten Adressenworte eingestellt werden.
Die Leitungen 86 bis 88 und 69 sind vom YA Register 33 mit der Steuereinheit 61 verbunden, um für die Dauer einer Operation den Zustand (eins oder null) der entsprechenden Kennzeichnungsbits A, B und C des Adressenwortes zu speichern und um ferner zu speichern, ob die laufende Adresse einen Grenzwert, der durch entsprechende Schalter innerhalb der Steuereinheit 61 eingestellt ist, erreicht hat. Die Schalter in der Steuereinheit 61, die den leitungen 86 bis 88 zugeordnet sind, werden (wenn das entsprechende Bit eine eins ist) zum Zeitpunkt 0 6 innerhalb der Zeitfolge eingestellt, der Schalter in der Steuereinheit 61, der der -"eitung 69 zugeordnet ist, wird (wenn die laufende Adresse nicht der End- oder Startadresse gleicht) zum Zeitpunkt 0 8 innerhalb der Zeitfolge eingestellt, wie das im einzelnen im folgenden noch beschrieben werden wird. Ist daa A Bit eine eins, so sind die Adressen oder Listenregelungsworte oder -strukturen nacheinander folgend angeordnet (die dann vorhandene laufende Adresse ist eine Zwischen- oder In-
809901/0696 r-.p original
direkte Adresse). Ist das B Bit eine eins, so ist ein Listenregelungswort oder -struktur (laufendes Adresswort, Endadressen— wort und Startadressenwort) vorhanden. Ist das C Bit eine eins, so hat die laufende Adresse einen Grenzwert erreicht, (die laufende Adresse ist gleich der Endadresse oder Startadresse). Wie im größeren Detail noch im folgenden beschrieben werden wird, sind ein Paar Flip-Flops 90 und 91 mit einer Und-Schaltung 92 verbunden, um anzuzeigen, ob alle Listenregelungsworte, die im Zusammenhang mit einem gegebenen Programm benutzt werden, sich in Granz- oder -^ndstellung befinden öder nicht, d.h. um anzuzeigen, daß eine Liste aufgetreten ist und daß alle Listen, die aufgetreten sind, einen Grenzwert erreicht haben. Die Leitung 69 ist mit einem Flip-Flop 91 verbunden, um dieses Flip-Flop während des Zeitpunktes 08 einzustellen (das wird noch im Zusammenhang mit den Figuren 3-6 und 3-10 erklärt werden). Das Flip-Flop 91 wird dann in seinen Eins-Zustand gebracht, wenn die laufende Adresse nicht der Endadresse oder Startadresse gleicht. Die Leitung 87, die das B Bit zur Verfugung stellt, ist mit dem Flip-Flop 90 verbunden, um dieses zum Zeitpunkt
06 in seinen Bins-Zustand zu bringen, wenn das B Bit gleich eins ist. Der Eins-Ausgang des Flip-Flopes 90 ist einer der Eingänge zu der Und-Schaltung 92 und der Null-Ausgang des Flip-Flops 91 ist der zweite Eingang zur Und-Schaltung 92. Ist de.s Flip-Flop 90 in seinem Eins-Zustand und das Flip-Flop 91 in seinem Null-Zustand, dann erzeugt die Und-Schaltung 92 ein Ausgangssignal. Ist der Ausgang der Und-Schaltung 92 eine eins, so zeigt das an, daß alle Listen ihre Grenzen erreicht haben, d.h. daß ein Listenregelungswort aufgetreten ist und daß alle
609901/0598
Listenregelungsworte, die aufgetreten sind, einen bestimmten Grenzwert erreicht haben (laufende Adresse gleicht der Endoder Startadresse). Anderenfalls ist der Ausgang der Torschaltung 92 eine null und d.h., daß entweder keine Liste aufgetreten ist oder irgendeine eine Liste noch nicht ihren Grenzwert erreicht hat.
Aus den Figuren 2a. und 2b ist zu ersehen, daß das Format des Befehlswortes andeutet, daß ein Befehlswort 18 Bits aufweist. Die Bits 1-9 zeigen die Adresse eines Operanden oder eine andere Adresse an. -Die Bits 10 - 12 zeigen einen Adressenmodifikationscode an. Um die Erörterung einfacher zu gestalten, sind lediglich drei Adressmodifikationscodes verwendet. Ist der M
Code gleich eins, dann wird ein Vermehrungsverfahren verwendet; ist der M Code gleich zwei, dann wird ein statisches Verfahren verwendet; ist M gleich drei, dann wird das Verminderungsverfahren verwendet. Die einzelnen Operationen im Zusammenhang mit den verschiedenen Verfahren werden in größerem Detail noch weiter unten erörtert werden.
Das Bit 13 des Befehlswortes ist eine Speicher-Teilbereichsanzeige, die anzeigt, wie bestimmte Teilbereiche des Speichers (im Unterschied zu Speicherplätzen für Datenworte) adressiert sind und ist nicht Bestandteil der vorliegenden Erfindung. Die Bits 14 bis 18 enthalten den Befehlscode, der den tatsächlichen Befehl (lade, speichere, addiere, multipliziere usw.) enthält, der. mit dem adressierten Operanden ausgeführt werden soll.
Fig. 2b erläutert eine Listenregelungsstruktur, wie sie ver-
609901/0696
wendet wird, um den Grundgedanken der vorliegenden Erfindung auszuführen. Sine Liste von Daten (Operanden oder Adressen) wird durch eine Gruppe von drei fellen repräsentiert, die im Speicher liegen, wobei der Adressteil eines Befehlswortes auf eine Gruppe von drei Zellen Bezug nimmt. Die einzigen Kennzeichnungsbits, die für die vorliegende Erfindung von Bedeutung sind,.sind die A, B, C Kennzeichnungsbits, die die Bit-Positionen 18, 17 und 16 des laufenden Adresswortes einnehmen, ^ie laufende, die End- und die ötartadresse sind in aufeinander folgenden Speicherplätzen des Speichers ein eschrieben und mit X, X 4- 1 und X f 2 in Fig. 2b bezeichnet. Beim indirekten Adressierverfahren ist die Adresse im Befehlswort die Adresse X des laufenden Adressenwortes. Die -und- und Startadressen werden automatisch adressiert. Die Bits A, B und C haben die folgenden Bedeutungen:
A=O- laufende Adresse ist die letzte wirksame Adresse
A=I- laufende Adresse ist eine Zwischen-, indirekte Adresse
B=O- einfache indirekte Adressenstruktur, keine
Listenregelungsstruktur (keine End- oder Start-Adresse)
B=I- LISTMHEGELUNGSSTRUKTUH, END- und START-Adressen existieren
C=O- laufende Adresse hat den Grenzwert nicht erreicht C=I- laufende Adresse hat den Grenzwert erreicht
ÖÜS9G1/Ü696
Da die Listenregelungsworte (laufende, End- und Startadressen) drei aufeinanderfolgende Speicherplätze einnehmen, um eine leichtere Handhabung zu ermöglichen, muß die Adresse X (des laufenden Adressenwortes) im Befehlswort entweder in Stelle oder 4 (im oktalen Code) enden, wenn das Bit B eine 1 ist.
Wie bereits erwähnt, sind die verschiedenen Regelungsleitungen von der Steuereinheit 61 zu den in Fig. 1 gezeigten Komponenten mit verschiedenen mnemotechnischen Bezeichnungen versehen. Eine Ausnahme ist die Leitung 100, die die Eingangstorschaltungen 19 mit der Steuereinheit 61 verbindet. Sie dient zum Einlesen von Hand. Von Hand betätigbare Schalter am Bedienungspult des Rechengerätes oder ähnliche Einrichtungen geben ein Signal an die Steuereinheit 61, die daraufhin ein Signal an die Leitung 100 gibt, um die Eingangstorschaltungen 19 in den zum Einlesen vorgesehenen Zustand zu bringen. Sind die Eingangstorschaltungen 19 geöffnet, dann können von Hand Daten über das Kabel 18, die Torschaltungen 19, das Kabel 20 in den Pu ferspeicher 21 eingelesen werden.
In der folgenden Liste sind die Bezeichnungen, die in Pig. I für die Kontroileitungen benützt werden, aufgeführt und eine kurze Beschreibung der damit verbundenen. Operationen:
609901/0690
Leitung
MALAWI 113 .
MALA02 114
MALDLA 112
MALDYA 102
MBLDPG 120
MBLDMM 107
MMGPRD 11
MMGPWT 12
MMLDMB 101
MMLDYA 102
PAINC 140
PALDMB 106
YACLMS 127
YACOM 132
IADBC 131'
YAINC 130
YALDFG 126
Bedeutung
H74018
YALDMM
108
Setze Bit 1 des MA Registers auf 1 (adressiert die End-Adresse).
Setze Bit 2 des MA Registers auf 1 (adressiert die Start-Adresse).
Stelle Bits 1 und 2 des MA Registers auf null zurück (adressiert laufende Adresse).
Lade MA Register mit den Inhalt des YA Registers.
Lade MB Register in den Bit-Positionen 18. 17, 16 mit den Kennzeichnungen (1) A, B, C.
Lade das MB Register mit Speicherdaten.
Verursache den Speicher einen Lesezyklus dure hzufuhr en.
Verursache den Speicher einen Schreibzyklus durchzuführen.
Lade Speicherzelle mit Inhalt des.MB Registers.
Lade Speicherzelle mit Inhalt d^es YA Registers.
Vermehre in Inhalt des PA Registers um
Lade das PA Register mit dem Inralt des MB Registers.
Lösche den gesamten Befehl im YA Register außer dem Adressteil.
Vergleiche den Inhalt des YA Registers mit dem des MB Registers.
Vermindere den Inhalt des YA Registers um 1.
Vermehre den Inhalt des YA Registers um 1.
Lade das YA Register in den Bit-Positionen 18, 17, 16 mit den Kennzeichen (1) A, B,C.
Lade das YA Register mit Speicherdaten.
BAD ORIGINAL
809901/009$
Bezeichnung
YALODD
YALODI
Leitung
134
133
Bedeutung
Lade das YA Register mit dem um verminderten Inhalt des MB Registers.
Lade das YA Register mit dem um vermehrten Inhalt des MB Registers. ·
121
122
123
benützt in Verbindung mit MBLDFG oder YALDPG
A - Kennzeichen (1), Bit-Position 18 der laufenden Adresse.
B - Kennzeichen (l), Bit-Position 17 der laufenden Adresse.
C - Kennzeichen (l), Bit-Position 16 der laufenden Adresse.
Weitere Abkürzungen, die in den Figuren 3-6 und 8-10 verwendet werden·
Bezeichnung
COM
EA
SA
Bedeutung
Befehl
laufende Adresse End-Adresse Start-Adresse
Opcrationeboginn am Ende des Operationsablaufes
Die Leitungen 101 und 102 verbinden die Steuereinheit 61 und die Eingangstorschaltungen 24 und sind mit den Bezeichnungen MMLDMB und MMLDYA versehen, Die Leitung«» 101 erzeugt ein Signal, um die Eingangstorschaltungen 24 zu öffnen, sodaß der Speicher 10 vom MB Register 21 her geladen werden kann. Die
809901/069$
Die Leitung 102 erzeugt ein ^instellsignal für die Eingangstorschaltungen 24, eodaß der Speicher 10 vom YA Register 33 geladen werden kann.
Die Leitungen 104 und 105 verbinden die Steuereinheit 61 mit den entsprechenden Eingangstorschaltungen 40 und 36 und sind m±\ den Bezeichnungen MALDYA und MALDPA versehen. Über die Leitung 104 gelangt ein Einstellsignal an die Eingangstorschaltungen 40,.sodaß das MA Register 30 vom YA Register 33 her geladen werden kann. Über die Leitung 105 gelangt ein Einstellsignal andLe Torschaltungen 36, sodaß das MA Register 30 vom PA Register 32 her geladen werden kann, üine Leitung 106 verbindet die Steuereinheit 61 und die Eingangstorschaltungen 45, die ; mit dem PA Register 32 verbunden sind. Diese Leitung ist mit 1PAU)MB bezeichnet. Über sie gelangt ein Einstellsignal an die Torschaltungen 45, sodaß vom MB Register 21 Daten an das PA Register 32 weitergegeben werden können. In ähnlicher Weise verbindet eine Leitung 107 die Steuereinheit 61 und die Torschaltungen 53· Diese Leitung ist mit MBLDMM bezeichnet und über sie gelangt ein Einstellsignal an die i'orschaltungen 53, sodaß daraufhin das MB Register 21 vom Speicher 10 her geladen wird. Die mit YALDMM bezeichnete Leitung 108 leitet ein Einstellsignal an die Ein^angstorschaltun-ren 56, sodaß das YA Register 33 vom Speicher 10 her geladen werden kann.
Die Leitungen 112 bis 114 verbinden die Steuereinheit 61 mit den Regelun.gstorschaltun^en 76. Diese Leitungen sind "mit MALDLA, MALAl und MALA2 bezeichnet. Über die Leitung 112
809901/0696 bad
gelangt ein Signal an die Regelungstorschaltungen 76, um die zwei letzten signifikanten Bits der Adresse im MA Register 30 auf null zurückzustellen. Über die leitung 113 gelangt ein Signal an die Regelun storschaltungen 76, um das letzte signifikante Bit der Adresse im MA Register 30 auf 1 zu stellen. Über die Leitung 114 gelangt ein Signal an die Regelungstorschaltungen 76, um das zweitletzte signifikante Bit der Adresse im MA Register 30 auf 1 zu stellen. Das MA Register 30 wird dazu verwendet, die Adresse X eines laufenden Adressenwortes während eines Operationszyklus zu speichern und durch das einfache Hilfemittel, nämlich die letzten beiden signifkanten Bits in dieser Adresse auf null oder auf eins zu stellen, können den laufende Adresse (bei Adresse X — stelle die Bits 1 und 2 auf null zurück), die End-Adresse (bei Adresse X plus 1 — setzte Bit auf l), oder die Start-Adresse (bei Adresse X plus 3 — setze Bit 2 auf l) ausgewählt werden.
Die Leitungen 120 bis 123 verbinden die Steuereinheit 61 mit den Regelungstorschaltungen 80. Diese Leitungen sind mit den Bezeichnungen MBLDi1G, A, B und C versehen. Bei bestimmten Gelegenheiten ist es notwendig, ein oder mehrere Kennzeichnungsbits A, B und C in das MB Register 21 wieder einzusetzen. Das wird dadurch erreicht, daß ein Kennzeichnungsbit (eine l) durch die Torschaltungen 80 an das MB Register gelangt, wenn diese durch ein Signal auf der Leitung 120 geöffnet sind. In ähnlicher Weise sind Leitungen 126 und 121 bis 123 zwischen der Steuereinheit 61 und den Regelungstorschaltungen 81 vorgesehen.
Fi. Π
809901/0696
Über die Leitungen 121 bis 123 gelangen die A, B und C Bits an das YA Register 33, wenn durch ein Signal auf der mit YAUXPG bezeichneten Leitung 126 die Regelungstorschaltungen 81 geöffnet sind und dann werden eines oder mehrere dieser Bits in das YA Register 33 eingesetzt. Eine mit YACLMS bezeichnete Leitung 127 verbindet die Steuereinheit 61 mit dem YA Register 33, um unter bestimmten Umständen, die noch im folgenden erläutert werden, die signifikantesten Bits zu löschen. Die in Fig. 1 gezeigten Register sind Flip-Flop Schieberegister herkömmlicher Art. Die Torschaltungen bestehen aus herkömmlichen UND- und ODER-Schaltungen.
Die Leitungen 130 bis 134 verbinden die Steuereinheit 61 mit der arithmetischen Recheneinheit 66. Diese Leitungen sind mit YAINC, YADEC, YACOM, YALODI und YALODD bezeichnet. Über diese leitungen gelangen entsprechende Regelungesignale an die arithmetische Recheneinheit 66. Über die Leitung 130 gelangt ein Signal an die arithmetische Recheneinheit 66, das bewirkt, daß der Inhalt des YA Registers um 1 vermehrt wird. Diese Operation wird in Serie durchgeführt. Die 1 wird in herkömmlicherweise zum Inhalt des YA Registers 33 hinzuaddiert. Die Daten im YA Register 33 werden in Reihe durch die arithmetische Recheneinheit 66 durchgeschoben, die eine 1 zu diesen Daten hinzuaddiert und das Ergebnis über die Leitung 68 wieder an das YA Register zurückgibt. In ähnlicher Weise gelangt über die Leitung 131 ein Signal an die arithmetischen Recheneinheit 66, um zu be wirken, daß der Inhalt des YA Registers 33 um 1 vermindert wird, d.h. vom Inhalt eine 1 abgezogen wird.
EAD CRIGiMAL
809901/0696
Über die Leitung 132 gelangt ein Signal an die arithmetische Recheneinheit 66, um den Inhalt des MB Registers mit dem Inhalt des YA Registers zu vergleichen. Das wird dadurch erreicht, daß über den Abtastschalter 64 und die leitung 65 der Inhalt des MB Registers 21 an die arithmetische Recheneinheit 66 zusammen mit dem Inhalt des YA Registers 33 gelangt. Der Inhalt beider Register wird in Reihe verglichen (d.h., daß die entsprechenden Bits eines jeden Registers in Reihe nacheinander verglichen werden und dann, wenn ein oder mehrere Bits nicht gleich sind, ein Schalter oder ein Flip-Flop betätigt wird, der ein Ausgangssignal auf der Leitung 69 erzeugt, das anzeigt, daß die laufende Airesse nicht gleich der Endadresse oder Startadresse
Über die Leitung 133 gelangt ein Signal an die arithmetische Recheneinheit 66, um sie so einzustellen, daß sie den Inhalt des MB Registers 21 um 1 vermehrt. Der Inhalt des MB Registers 21 gelangt an die Recheneinheit 66 in Reihe über den Abtastschalter 64. Ferner bewirkt das über die leitung 133 an die Recheneinheit gelangende Signal, daß dieses um 1 vermehrte Datum an das YA Register weitergegeben wird. Das geschieht in Reihe in derselben Weise, wie der Inhalt des YA Registers 33 ι um 1 vermehrt wird, lediglich kommen, die Daten vom MB Register 21 anstatt vom YA Register 33 her. In ähnlicher Weise gelangt über die Leitung 134 ein Signal an die arithmetische Recheneinheit 66, um dann zu bewirken, daß das YA Register 33 mit dem um 1 verminderten Inhalt des MB Registers 21 geladen wird.
Das PA Register 32 und die arithmetische Einheit 72 funktionie-
609901/0696
147A018
ren in ähnlicher Weise wie das YA Register 33 und die arithmetische Recheneinheit 66. Jedoch hat die arithmetische Einheit 72 lediglich die Funktion, den Inhalt des PA Register» 32 um 1 zu vermehren. Die mit PAINC bezeichnete Leitung 140 verbindet die Steuereinheit 61 mit der arithmetischen Recheneinheit 72. Gelangt ein Signal auf die leitung 140, so addiert die arithmetische Recheneinheit 72 1 zum Inhalt des PA Registers 32.
! Wie bereits beschrieben, wird der Adressteil eines Befehles
! dazu verwendet, die Daten zu adressieren, die ein Operand oder eine weitere Adresse sein können. Fig. 3 erläutert die Stufen 01 und 0 2 des Operationsablaufes, die notwendig sind, um einen Befehl zu adressieren. Während des ganzen Operationsablaufes
: werden im folgenden Betriebsablaufsdiagramme ( keine Blockschaltbilder! ), wie sie in den Figuren 3-6 und 8-10 gezeigt sind,
: zur Erläuterung der entsprechenden Operationen und der während ! der einzelnen Stufen des Operationsablaufs gemachten Entscheidungen, die einen Operationszyklus darstellen, benützt und dabei werden nummerierte Rechtecke verwendet, die mit entsprechenden Linien verbunden sind. Ein Operationszyklus schreitet von links nach rechts in der Zeichnung fort. Bestimmte Regelungssignale bewirken, daß während jeder Stufe des Operationsablaufes bestimmte Operationen durchgeführt werden. In der nächsten Stufe bewirken andere Signale wiederum verschiedene Operationen usw. bia der Operationszyklus vollendet ist. Am Ende des Zyklus schreitet das Verfahren in irgendeinen anderen Zyklus hinein, wie das in den Zeichnungen gezeigt ist oder geht dazu, über, einen bestimmten Befehl auszuführen.
BAD ORlGIMAL
809901/0696
Die Rechtecke 160 und 161 in Fig. 3 erläutern die Operationen und die Regelungssignale, die während der ersten beiden Stufen des Operationsablaufes (mit 0 1 und 02 bezeichnet) auftreten. Das Befehlswort (gezeigt in Pig. 2a) wird vom Speicher im Zeitpunkt 01 ausgelesen. Die Regelungssignale, die dazu notwendig sind, daß der Befehl ausgelesen wird, und die von der Steuereinheit 61 gesendet werden, sind im Rechteck 160 mit den entsprechenden Bezeichnungen der Regelungsleitungen aufgeführt. Die in den Rechtecken 160 und 161 gezeigten Operationen sind herkömmlicher Art und sind nicht Teil der vorliegenden Erfindung. Sie sind lediglich angedeutet, um ein besseres Verständnis der gesamten Betriebsweise der Listenregelungsstruktur nach Fig. 1 zu bieten. Das Signal MALDPA gelangt über die Leitung 105 and die Eingangstorschaltungen 36. Das Signal ermöglicht es, daß die Eingangstorschaltungen 36 die Adresse des nächsten Befehles im Programm vom PA Register 32 an das MA Register 30 weiterleiten. Es sei angenommen, daß das Programmadressenwort beispielsweise die Adresse des ersten Befehles in einer durchzuführenden Befehlsfolge ist. Ein Signal MMGPRD gelangt über die Leitung 11 an den Speicher 10, und bewirkt, daß die in der vom MA Register bezeichnetenAdresse stehenden Daten vom Speicher in das Kabel 50 eingelesen werden. In diesem Fall ist das Datum der Befehl, der von dem PA Register 32 adressiert ist und im MA Register 30 gespeichert ist. Ein Signal MBLDMM gelangt auf die Leitung Io7 und von dieser zu den Eingangsschaltungen 53 und ermöglicht so, daß dieses Datum (der Befehl) in den Pufferspeicher 21 eingelesen wird. In ähnlicher Weise gelangt ein Signal YALDMM auf die Leitung 108, um die Torschaltungen
809901/0696
56 so einzustellen, daß der Befehl in das YA Register 33 eingelesen werden kann. Diese Operationen vollenden die Operationsfolge, die notwendig ist, um einen Befehl aus dem Speicher auszulesen*
Während der zweiten Stufe des Operationsablaufes, die im Rechteck 161 erläutert ist, wird der Befehl geschrieben. Obwohl es in dem Rechteck 161 nicht gezeigt ist, wird der Befehl in ein Register in der Steuerstufe 61 eingeschrieben, um die Steuerstufe 61 mit der Information zu versorgen, die das gerade benützte Befehlswort betrifft. So wird zum Beispiel das Operationsverfahren ( M gleich 1, 2 oder 3) innerhalb der Steuereinheit 61 benützt, um zu bestimmen, ob das YA Register statisch gehalten wird, vermehrt wird oder vermindert wird. Diese Operations ist ebenso kein Teil der vorliegenden Erfindung und ist hier lediglich erklärt, um ein besseres Verständnis der Betriebsweise zu vermitteln, in der die Befehle aus dem Speicher 10 ausgelesen und in diesen eingelesen werden, lün Signal MMLDMS gelangt über die Leitung 101 an die Eingangstorschaltungen 24 und ermöglicht es so, daß der Befehl, der während der Stufe 01 des Operationszyklus in das MB Register 21 eingelesen worden war, nun vom MB Register 21 zurück in den" Speicher 10 eingelesen wird. Außerdem wird auf der Leitung 12 ein Signal MMGfPWT erzeugt, und gelangt an den Speicher 10, um zu ermög- \ Hohen, daß der Speicher 10 diesen Befehl an der vom MA Register 30 bezeichneten Adresse speichert (, die die Adresse f ist, aus der der Befehl ausgelesen worden war). f
Über die Leitung 127 gelangt ein Signal YACLMS an das YA Re-
809901/0696
gister 33. Dieses Signal bewirkt, daß die signifikantesten Bits (der Befehlscode, die S-und M-Verfahrensteile)-des Befehlswortes im YA Register 33 gelöscht werden. Da das YA Register dazu verwendet wird, die Adressenmodifikation durchzuführen, besteht&eine Notwendigkeit, andere Teile des Befehlswortes ^aIs die Adresse in diesem Register gespeichert zu halten. Auch wird während der Stufe 02 das PA Register 32 um .1 vermehrt, dadurch daß ein PAINC Signal Über die Leitung 140 an die arithmetische Recheneinheit72 gelangt. Dieses Signal auf der Leitung 140 bewirkt, daß die arithmetische Recheneinheit 72 zum Inhalt des PA Registers eine 1 hinzuaddiert. Der Inhalt des PA Registers, das ein Schieberegister ist von herkömmlicher Art, wird aus diesem herausgeschoben und in die arithmetische Recheneinheit 72 eingeschoben, in der zum Inhalt des PA Registers eine 1 hinzuaddiert wird und der so um 1 vermehrte Inhalt über die Leitung 74 an das PA Register zurückgeleitet wird. Das PA Register speichert nun die Adresse des nächsten Befehles. Das letzte während der Stufe des Operationsablaufes 02 auftretende Signal ist das Signal MALDYA, das über die Leitung an die Eingangstorschaltungen 40 gelangt. Dieses Signal öffnet die Eingangstorschaltungen 40, und ermöglicht es so, daß der Adressteil des Befehles, der nun im YA Register 33 gespeichert ist, übertragen wird und im MA Register 30 gespeichert wird.
Auf diese Weise enthält das PA Register nun die Adresse des nächsten Befehles, der als nächster ausgeführt werden soll. Das MA Register 30 enthält den Adressteil des Befehlswortes, das, in Abhängigkeit von der Verfahrensart (M Code), die Adresse
Ö09901/Ü696
eines Operanden oder eine weitere Adresse sein kann. Das YA Register 33 enthält dieselbe Adresse. Nachdem der Befehl in der Stufe 01 des Operationsablaufes gelesen und in der Stufe 02 geschrieben ist, schreitet das in S1Xg. 1 gezeigte System in Stufe 06, wie sie durch den Kreis 162 in Fig. 3 angedeutet ist, fort. Die dazwischen liegenden Stufen 03 bis 05 sind für die vorliegende Erfindung nicht von Bedeutung.
Fig. 4 erläutert die Stufen des Operationsablaufes für einen Operationszyklus, der eine relativ einfache Operation, die von dem in Fig. 1 gezeigten System durchgeführt wird. Während der Erörterung der Figuren 4-6 und 8-10, die die verschiedenen Operationsverfahren des in Fig. 1 dargestellten Syetemes zeigen, sind die verschiedenen Einstellungen (der M Code) und die B und C Bits im Listenregelungswort in den Zeichnungen bezeichnet. Rechtecke in diesen Figuren stellen einzelne Operationen dar, Entscheidungen sind in Rauten eingeschrieben, Kreise stellen das V/eiterrücken zu einem nächsten Operationszyklus oder zur Ausführung eines Befehles dar. Ist der Wart; eines Bits nicht angegeben, dann ist es für die in der betreffenden Figur gezeigte Operation belanglos, welchen Wert dieses Bit gerade hat. In Fig. 4 ist der angezeigte M Code «fi4 der-jenige, bei den M gleich 1 ist, der das Vermehrungsverfahren anzeigt. Das B Bit im Listenregelungswort ist eine null; daher ist von der Operation kein Jiistenregelungswort (d.h. keine End- und Startadresse) betroffen. Die in Fig. 4 dargestellten Operationen sind auch im Verminderun^sverfahren (M = 3) anwendbar. Aus Fig. 4 geht hervor, daß die laufende Adresse aus dem Speicher ausge-
BAD ORIGINAL
809901/0696
lesen wird, daß dann bestimmte Entscheidungen getroffen werden, und daß daraufhin die Adresse dem Speicher wieder zugeführt und in diesen eingelesen wird. Nach diesen Operationen wird der Befehl entweder durch das entsprechende mit dem in *'ig. 1 gezeigten System verbundene Gerät ausgeführt, oder wird die Operation auf Stufe 06 zurückgeleitet, um einen weiteren Operationszyklus fortzusetzen. Während der durch das Rechteck 163 angezeigten Stufe 06 wird die laufende Adresse vom Speicher 10 dadurch ausgelesen, daß das Signal MMGPRD über die Leitung 11 anaen Speicher 10 gelangt und dadurch, daß das Signal YALDMM über die Leitung 1οί3 zu den Eingangtorschaltungen 56 gelangt. Das Signal auf der Leitung 11 bewirkt, daß im Speicher die laufende Adresse aus der Speicherstelle, die der gerade gespeicherten Adresse im MA Register 30 entspricht, ausgelesen wird. Das Signal auf der Leitung 108 öffnet das Tor 56 und er-
i
möglicht so, daß diese laufende Adresse in das YA Register 33
eingelesen wird.
Nimmt man nun an, daß das A Bit im laufenden Adressenwort (Fig. 2b) eine 1 ist, dann ist die laufende Adresse nicht die j Adresse des bestimmten gesuchten Operanden, sondern es ist eine indirekte Ad-resse (d.h., die Adresse einer anderen Adresse, die die Adresse des Operanden oder wiederum die Adresse einer weiteren Adresse sein kann). Da das A Bit eine 1 ist, wird in dem rautenförmigen Viereck die Entscheidung getroffen, dad die Adressen aneinander gereiht werden und daß die Operation φα. der in Stufe 09 durch das Rechteck 1 65 angezeigten Operation
8099Q1/0S96
fortschreitet. Wie im Rechteck 165 angezeigt, wird die laufende Adresse in den Speicher 10 dadurch zurückgeschrieben, daß die Signale MMGPWOT und MMLDYA auf den entsprechenden Leitungen 12 und 102 erzeugt werden. Das Signal auf Leitung 12 bewirkt, daß der Speicher 10 schreibt und das Signal auf Leitung 102 öffnet das Tor 24» um so zu ermöglichen, daß die laufende Adresse vom YA Register 33 in das Speicherwerk 10 in die durch das MA Register 30 bezeichnete Adresse eingeschrieben wird. Der letzte Vorgang in Stufe 09 ist das Signal MALDYA auf Leitung 104, das anaie Tore 40 gelangt, um die laufende Adresse vom YA Register 33 in das MA Register 30 einzulesen. Das MA Register 30 enthält nun eine davon verschiedene Adresse. Typischerweise enthält das MA Register 30 ursprünglich die Adresse eines Befehles. Sie ist die Adresse der laufenden Adresse in Stufe 06. Das MA Register 30 enthält nun diese laufende Adresse, die nun die Adresse einer weiteren Adresse ist (war das A Bit eine null, dann wäre die laufende Adresse die Adresse eines Operanden). Bei Ende der Stufe 09 kehrt der Operationsablauf zur Stufe 06 zurück, wie das innerhalb des Kreises 166 angedeutet ist. Die Operationszyklen, die nun, ausgeführt werden können, können die gleichen sein, wie diejenigen, die in Fig. 4 oder in den Figuren 5, 6 oder 8-10 gezeigt sind. Die Operationszyklen werden sich solange fortsetzen, bis die Adressen nicht mehr aneinandergereiht sind und.bis das A Bit in dem laufenden Adressenwort gleich null ist. Ist das A ^It gleich null, dann wird ein Befehl am Ende dee entsprechenden Zyklus ausgeführt werden.
Es sei nun angenommen, daß das A Bit gleich null ist. Dann
8Q9901/0696
"35~ U74018
wird eine zweite Entscheidung, wie in der Raute 167 in Pig. angedeutet, getroffen, um zu bestimmen, ob alle Listen begrenzt sind, d.h. ob irgendeine Liste zu einem Zeitpunkt während des Operationszyklus bestanden hat, und ob keine laufende Adresse existiert, die nicht gleich einer End- oder einer Startadresse ist. Diese Entscheidung wird durch die Flip-Flops 90 und 9i und die UND-Schaltung 92, die beide in *nig. 1 gezeigt sind, getroffen. Wie das noch bei der Erörterung anderer Diagramme genauer erläutert werden wird, werden die Flip-Flops 90 und während der Stufe 09 (eines vorhergehenden Zyklus) zurückgestellt, wenn das A Bit gleich null ist. Die Leitungen zur Zurückstellung dieser Flip-Flops sind der Einfachheit der Darstellung halber nicht gezeigt. Das B Bit ist im Flip-Flop 90 während der Stufe 06 gespeichert (das Flip-Flop 90 befindet sich in seinem 1-Zustand, wenn B gleich 1 ist). Ist eine laufende Adresse nicht gleich seiner End-oder Startadresse, dann wird während der Stufe 08 das Flip-Flop 91 in seinen 1-Zustand gebracht- Wie bereits erwähnt, werden herkömmliche Flip-Flop Schalter in der Steuereinheit 61 so eingestellt, daß sie den Status der A, B und C Bits im YA Register während der Stufe anzeigen. Ein Schalter ist dann in seinem 1-Zustand, wenn das entsprechende Bit 1 ist. Ein ähnlicher Schalter wird während der Stufe 06 in seinen 1-Zustand gebracht, wenn die laufende Adresse nicht ihren Endwert aufweist. Diese Schalter in der Steuereinheit 61 werden in ihren O-Zustand während der Stufe zurückgestaltet. Auf diese Weise dienen die Schalter lediglich dazu, diese Anzeigen für die Operationezyklen zu speichern.
809901/0696
U74Q18
Nimmt man nun zunächst an, daß alle Listen ihre Grenzen noch ; nicht erreicht haben, dann ist das B Bit in allen laufenden Adressenworten, die vom vorliegenden Operationszyklus betroffen eind, nicht eine 1 gewesen (also keine Listenregelungsworte) oder es ist vom gegenwärtigen Operationszyklus eine laufende Adresse betroffen, die noch nicht der Endadresse oder Startadresse gleicht. In diesem Fall schreitet der Operationsablauf nach Stufe 09, die durch das Rechteck 168 bezeichnet ist, fort. Die laufende Adresse wird dann in den Speicher IO zurückgeschrieben, in dem das Signal EMGPWT auf Leitung 12 an den Speicher gelangt und das Signal MMLDYA auf Leitung 102 an die Eingangstorschaltungen 24·· Das geschieht auf dieselbe Weise wie das im vorangehenden unter Bezugnahme auf das Rechteck 165 in I1Ig. beschrieben worden ist. Das Signal PAINC gelangt auf Leitung 140, um zu bewirken, daß der Inhalt des PA Registers 32 um 1 vermehrt wird, und daß dadurch im PA Register 32 die Adresse des nächsten auszuführenden Befehles gespeichert wird. Daraus ist zu ersehen, daß das PA Register 32 nun zweimal vermehrt wurde (während der Stufe 02, die durch das Rechteck 161 in Fig. 1 dargestellt ist, und während der Stufe 09, die durch das Rechteck 168 in ^ig. 4 dargestellt ist). Der Grund für diese doppelte Vermehrung wird im folgenden noch im einzelnen erörtert werden. Kurz gesagt, wird das eine automatische Befehlsüberspringung genannt, da ein unmittelbar folgender Befehl übersprungen wird.
Als letzter Vorgang während der in dem Rechteck 168 angezeigten , Stufe 09, gelangt das Signal MALDYA auf leitung 104, um die gegenwärfige laufende Adresse vom YA Register 33 in das MA Register
609901/0696
30 zu übertragen. Am Ende der Stufe 09 wird der gegenwärtige Befehl ausgeführt, wie das durch das E innerhalb des Kreises 169 angezeigt ist. Obwohl es nicht Teil der vorliegenden Erfindung ist, wird der Befehlscode dazu benützt, die gewünschte Operation demjenigen Operanden auszuführen, der an der gegenwärtigen laufenden Adresse gefunden wird (adressiert durch das MA Register 30).
Nimmt man nun an, daß alle Listen ihre Grenzen erreicht haben, dann deutet die eine Entscheidung anzeigende Raute auf einen anderen Ausgangspfad in dem in S1Ig. 4 gezeigten Diagramm. Alle Listen sind nun an ihrer Grenze angelangt, wenn eine Liste existiert hat und wenn keine laufende Adresse ungleich ihrer Endoder Startadresse ist. Diese Information wird von den Flip*-Flops 90 und 91 und der Ünd-Schaltung 92 geliefert. Ist eine Liste niemals aufgetreten, dann war das B Bit im laufenden Adresbenwort eine 1, die in dem Flip-Flop90 an der Stufe 06 gespeichert war. Sind alle laufenden Adressen nun gleich ihren entsprechenden End- und Startadressen geworden, dann entsteht ein Ausgangs-
j j
signal am 0-Ausgang des Flip-Flop 91 > der an die Und-Sehaljtung 92
!■; ■ geht (ist irgendeine laufende Adresse nicht gleich ihrer Bjjid-
/ oder Startadresse, dann befindet sich das Flip-Flop 91 in deinem 1-Zustand). Die Und-Schaltung 92 reagiert auf ein l-Auegan»B-signal und ein 0-Ausgang8signal v<j>n den entsprechenden Flij-
t . r
Flops 90 und 91 dadurch, daß sie £in Ausgangssignal erzeugt, das
, Γ
an die Steuereinheit 61 gelangt. Dieses Ausgangs signal zeijgt an,
i; daß alle Listen an ihren Grenzen angelangt sind. Die Operation läuft dann weiter zur Stufe 09, die durch ein Rechteck 170 angezeigt ist, in dem die laufende Adresse von dem XA Register; 33 wiederum in den Speicher 10 geschrieben wird, nachdem die Signale
809901/0696
ORIGINAL INSPECTED
und MMLDYA erzeugt worden sind. Wie im vorhergehenden Fall ist das letzte Signal MALDYA, das bewirkt, daß die gegenwärtige laufende Adresse im MA Register 30 gespeichert wird. Der Befehl wird dann ausgeführt, wie das durch das S im Kreis 171 angeführt ist. Das geschieht auf dieselbe Art und Weise wie das bereits oben erörtert worden ist. Es ist zu sehen, daß in diesem Augenblick während der Stufe 09 das PA Register 92 nicht um 1 vermehrt worden ist. Auf diese Weise enthält das PA Register immer noch die Adresse dessen zweiten Befehlswortes, welches typischerweiae, wie das noch erörtert werden wird, ein Befehl zum Anspringen eines Zweiges eines anderen Befehlszyklus oder zum Verlassen eines Operationszyklus ist. Dieser zeigt dann an, daß die Operation auf irgendein anderes Befehlswort oder auf eine andere Operation übergehen muß.
Zusammenfassend kann gesagt werden, daß die Stufen des Operationsablaufes, wie sie in -^ig. 4 dargestellt sind, anzeigen, wie eine laufende Adresse aus dem Speicher 10 ausgelesen wird und wie bestimmte Entscheidungen getroffen werden, um zu bestimmen, ob der Befehl auegeführt wird, ein anderer Operationszyklus durchgeführt wird, und welcher nächste Befehl dann vom PA Register 32 adressiert wird. Pig. 4 erläutert kurz die Operationen zum Aneinanderreihen von Adressenworten und zum Überspringen von Befehlen bis eine Begrenzung erreicht ist. Diese bestimmten Operationen werden noch im Zusammenhang mit I1Ig. 7 näher im einzelnen erläutert werden. Fig. 7 zeigt ein Beispiel einer Operation, die die verschiedenen Merkmale der vorliegenden Erfindung besonders erläutert.
809901/0696
In ^1Ig. 5 sei nun angenommen, daß der Befehl in angemessener Weise, wie das in Pig. 3 erläutert worden ist, aus dem Speicher herausgelesen ist. Fig. 5 erläutert weitere Operationen, die durchgeführt werden, wenn ein Listenregelungswort existiert. Bas B Bit im laufenden Adressenwort ist eine 1 und zeigt an, daß das Listenregelungswort einschließlich laufender Adresse, End- und Startadresee existiert. Das Verfahren ist das Vermehrung sverfahren, und daß 0 Bit in der laufenden Adresse ist O und teigt dadurch an, daß die laufende Adresse gegenwärtig nicht gleich der End- oder Startadresse ist. Während der Stufe 06, die durch das Rechteck 180 angedeutet ist, wird die laufende
Adresse vom Speicher 10 ausgelesen. Das über die Leitung 11 an den Speicher 10 gegebene Signal MMGPRD verursacht, daß der Speicher 10 ausgelesen wird. Über die Leitung 108 gelangt das Signal YALDMM.an die Eingangstorsohaltungen 56, die dadurch geöffnet werden und es ermöglichen, daß. das laufende Adressenwort in das TA Register 33 eingelesen wird. In der Stufe j07, die durch das Rechteck 181 angezeigt ist, wird das Endadressenwort gelesen. Es sei daran erinnert, daß das laufende, das End- und das Start-Adressenwort in auf einanderfolgenden Speicherzellen (wie in ^ig. 2b angedeutet) gespeichert sind. Daher kann das Endadressenwort dadurch ausgewählt werden, daß der Inhalt des MA Registers 30 um 1 vermehrt wird. Das wird daduroh vorgenommen, daß das Signal MALAl auf der Leitung 113 an die Re-. gelungstorschaltung 76 geleitet wird. Dieses Signal bewirkt, daß das Regelungstor 76 das letzte signifikante Bit (Bit No. l) des MA Registers 30 auf 1 setzt. Die zwei letzten signifikanten Bits der laufenden Adresse sind immer nullenj durch Einstellen
809901/0696
~40' U74018
dee ersten Bits auf 1 wird die Endadresse ausgesucht.
Dae Signal MMGPRD gelangt über Leitung 11 an den Speicher 10 und bewirkt, daß der Speicher das Endadressenwort aus der vom MA Register 30 bezeichneten Stelle im Speicher ausliest. Über die Leitung 107 gelangt das Signal MBLDMM an die Eingangstore 53,'öffnet diese, und ermöglicht so, daß das Endadressenwort in das MB Register 21 gelangen kann,(das kurz darauf die Endadresse in ihren entsprechenden Speicherplatz im Speicher zurücküberträgt). Das Signal YAINC gelangt über die Leitung 130 ' an die arithmetische Recheneinheit 66. Dieses Signal bewirkt, daß die arithmetische Recheneinheit 66 zum Inhalt des YA Registers 33 eine 1 hinzuaddiert und ihn somit um 1 vermehrt.
Die Endadresse wird dann wieder in den Speicher 10 eingeschrieben, wie das durch das Rechteck 182 in ;Stufe 08 angedeutet ist. Über die Leitung 12 gelangt das Signal MMGPWT an den Speicher 10 und über Leitung 101 gelangt das Signal MMLDMB an die Eingangstorschaltungen 24, um so^die Übertragung des Endadressenwortes vom MB Register 21 zurück zum Speicher 10 an den Speicherplatz, von dem es ausgelesen worden ist, zu ermöglichen. Über die Leitung 132 gelangt das Signal YAOOM an die arithmetische Recheneinheit 66. Das Signal erlaubt es, daß die ündadresse im MB Register 21 mit der gegenwärtigen laufenden Adresse (laufende Adresse in Stufe 06 plus 1) im *A Register 33 verglichen wird. Wie bereits erwähnt, geht dieser Vergleich in Reihe vor sich, dadurch daß der Abtastschalter 24 die· parallel .
' ι
ORIGINAL INSPECTED
609901/0696
zur Verfügung stehenden Daten vom MB Register 21 in in Reihe zur Verfügung stehende Daten auf der Leitung 65 umwandelt. Jedes Bit beider Adressen ist mit dem ihm entsprechenden Bit der anderen Adresse verglichen. Besteht irgendeine Ungleichheit, so wird auf der Ausgangsleitung 69 ein Signal erzeugt, das dieses Ergebnis anzeigt. Diese Entscheidung wird duroh die Raute 183 in Pig. 5 angedeutet.
Im Augenblick sei angenommen, daß die laufende Adresse nicht gleich der Endadresse ist. Dann ist die nächste zu treffende Entscheidung diejenige, ob die Listenregelungsworte aneinandergereiht sind oder nicht. Diese Entscheidung ist durch die Raute 184 angedeutet. Sind die Listen aneinandergereiht, dann ist das A Bit in der laufenden Adresse eine 1. Die Operation läuft dann weiter zur Stufe 09, wie das durch das Reohteok 185 angezeigt ist, das die Vorgänge enthält, durch die die
j !
laufende Adresse wieder in den Speicher 10 zurückgeschrieben wird. Über die Leitung 112 gelangt das Signal MALDLA an die Torregelungsschaltungen 76.
809901/0698
Ή74018
Dieses Signal bewirkt, daß die beiden letzten signifikanten bite in MA Register 30 auf 0 zurückgestellt werden und eofflit ermöglichen, daß der Inhalt des MA Registers 30 an die Adresse der laufenden Adresse zurückgeführt wird. Das Signal YALDl1G gelant über die Leitung 126 an die Regelungstore 81 zusammen mit den Signalen auf den Leitungen 121 und 122.
Diese Operation setzt die A und B Bits im YA Register 33 '■ auf 1 für den F-Il, daß diese Bits verlören gegangen sind.
Diese Oits sind die selben wie die vorher erwähnten, da es festgestellt wurde, daß in dem in Figur 5 dargestellten , Operationsablauf das B bit eine 1 ist und das A Bit ebenfalls f eine 1 war, wie das durch die die Entscheidung des Aneinander-
reihens anzeigende Raute 184 bereits angezeigt ist. Ss werden h nun Signale auf die Leitungen 112 und 102 gegeben, um zu bewirket
(daß der Inhalt des YA Registers 33 (gegenwärtig die laufende Adresse der Stufe 06 um 1 vermehrt) im Speicher 10 gespeichert wird« Auf diese Weise wird die laufende Adresse im Speicher in der entsprechenden Speicherzelle für die laufende Adresse, die durch das MA Register 30 adressiert ist, gespeichert und außerdem wurde diese laufende Adresse um 1 vermehrt. Das Signal MALDYA gelangt über die Leitung 104 an die Eingangstorsohaltungen 40. Dieses Signal öffnet die !Tore 40. und ermöglicht •s, daß der Inhalt des YA Registers 33 in das MA Register 30 übertragen wird. Da der Inhalt des YA Registers 33 die gegenwärtig laufende Adree% um 1 vermehrt, ist, ist dieses Wort im MA Register als 4ie Adresse des nächsten laufenden Adresswortes, das adressiert werden soll, gespeichert. Das Verfahren kehrt
BAD ORIGINAL
{ 809901/0696
Stufe 06 wie da« durch den Kreis 166, der «06* enthält angedeutet ist. Die A1 B und O ftjLte des nächsten laufenden Adresaenwortes, (adressiert du roh den veraehrten Wert der gegenwärtig laufenden Adresse) können entweder verschieden oder die gleiohen sein» wi· die A1 B und 0 Hits des gegenwärtig lautenden Adressenwortes.
Wie in Figur 5 gezeigt, können andere Operationen in Abhängig-
keit davon ob die laufende und die Endadreese gleich sind, : ; stattfinden und in Abhängigkeit davon, ob das A Bit eine 1 oder eine 0 ist, und ob alle Listen ihre Grenze erreicht haben. Ss · sei nun angenommen, daß die laufende Adresse wiederum nicht ait der Endadresse übt reins tiaaat, aber daB das A «it 0 ist. Sann ι geht der Operationsablauf weiter in die Stufe 091 wie Aas durch das Rechteck 187 angezeigt ist. In dieser Stufe 09 wird die laufinde Adresse (die laufende Adresse der Stufe 06 plus 1) in r den Speioher 10 zurückgeschrieben. Bas Signal FAIVO gelangt auf die Leitung HO, tun zu bewirken,dafi das PA Register 32 ua 1 veraehrt wird. Bieses Signal tritt auf, da das Verfahren nun ta. Ende einer Kette von aneinandergereihten Lasten iet, und bereit ist, den vorliegenden Befehl an den Operanden auezufUhren, der unter der gegenwärtig laufenden Adresse ia TA Register gespeichert ist (die gegenwärtig laufende Adresse ist also die laufende Adresse der Stufe 06 plus 1), Das PA Register wird so eingestellt, daß es dem nächsten Befehl in der aufeinanderfolgenden Reihe der Befehle nun adressiert. Auf der Leitung 112 erscheint nun das Signal MALDLA um die letzten 2 signifikanten bits ia MA Register 30 wieder zurückzustellen, um so die laufende Adressenβteile, die sich gegenwärtig in Stufe 06
BAD ORIGINAL
609901/0696 i
befindet, zu adressieren. Das Signal YALDPG gelangt über die Leitung 126 zusammen mit einem Signal auf Leitung 122 zu den
j Regelungstorschaltungen 81, so daß das B Bit 1 im YA Register
gespeichert wird. Da über die Leitungen 121 und 123 kein Signal an die Regelungstorsohaltungen 81 gelangt, sind für die A und C bits im YA Register 33 je eine 0 gespeichert. Es gelangen ' Signale auf die Leitungen 12 und 102, um die vermehrte f. laufende Adresse (die laufende Adresse der Stufe 06 plue 1) f vom YA Register 33 in den Speicher 10 einzulesen. Das letzte Signal in Stufe #9 ist das Signal MALDYA, das auf die Leitung 104 gelangt, um die Eingangstorschaltung 40 zu öffnen. Dieses Signal erlaubt, daß die laufende Adresse vom YA Register 133 in das MA Register 30 übertragen wird und dort gespeichert wird. Diese laufende Adresse, ist nun die Adresse des Befehles, der ausgeführt werden soll, wie das durch den Kreis 188 angedeutet ist.
Stellt sich heraus, daß die laufende Adresse gleich der Endadresse ist, wie das durch die: eine Entscheidung anzeigende Raute 123 in Figur 5 angedeutet ist, so müssen zusätzliche Entscheidungen getroffen werden. Diese Entscheidungen, nämlich ob die Listen aneinandergereiht sind, oder ob alle Listen ihre Grenzen erreicht haben, sind die gleichen, wie die ähnlichen Entscheidungen, die bereits im Zusammenhang mit Figur 4 erörtert wurden. Die letzte Operation in Stufe 09 ist im wesentlichen die^-eelbe als die unter Bezugnahme auf Figur 4 diskutierte mit Ausnahme, daß in Figur 5 zwei zusätzliche Signale MALDLA' und YALDFG verwendet werden. Nimmt man an, daß die laufende Adresse gleich der Endadresse ist und daß alle Listen aneinandergereiht sind, dann ist die für diese Situation richtige Entscheidung in der Raute 189 angezeigt.
8099O1/0896
Da das A Bit eine 1 ist, achreitet die Operation zu Stufe 09 fort, die im Rechteck 190 angezeigt ist. Diese Operation ist ähnlich der in Stufe 09 stattfindenden, die dort durch das Rechteck 165 angezeigt ist. Da jedoch zumindest ein Listenregelungswort von den in Figur 5 gezeigten Operationen betroffen ist, gelangt über die Leitung 112 ein zusätzliches ^ignal HALDLA an die Regelungstorschaltungen 26. Wie bereits erwähnt, wird, da das letzte signifikante Bit im MA Register 30 in Stufe 01 um 1 vermehrt wurde, um die Endadresse zu adressieren, dieses Bit in Stufe 09 zurückgestellt, um die Adresse des laufenden Adressensjpeicherplatzes (des gleichen wie in Stufe 0S) wieder im MA Register 30 zu speichern.
Diese Rückstelloperation, war im Zusammenhang mit Fig. 4 nicht nötig, da dort keine Listenregelungsworte existierten, (B war gleich 0 in Figur 4). Durch Signale auf den Leitungen 12 und 102 wird das laufende Adressenwort, das im YA Register 33 gespeichert ist, in den Speicher 10 übertragen, und es gelangt dort an die Adresse des laufenden Adresswortes, die vom MA Register bezeichnet ist. Eine über die Leitung 126 wirksam« werdendes Signal YALDFG gelangt an die Regelungstorschaltungen 81 und bewirkt, daß in den Bit-Positionen A, B und 0 jeweils eine 1 gespeichert wird. Das C Bit wird auf 1 eingestellt, da die laufende Adresse nicht gleich der Endadresse ist. Diese Einstellung der Bits A, B und C war im Zusammenhang mit den Operationen nach Fig. 4 nicht notwendig, da der Inhalt dea YA Registers 33 nicht verändert (vermindert, vermehrt usw.) worden ist und da somit keine Möglichkeit bestand, daß die Bits A, B und C verloren gingen. Das letzte Signal in Stufe J#9 ist das Signal MALDTA, das über die Leitung 104 an die Bingangs-
809901/0696 !
- - 46 -
torschaltungen 40 gelangt. '
In gleicher Weise wie zuvor ermöglicht dieses Signal, daß
neue laufende Adresse (die laufende Adresse der Stufe 06 plus 1) in das HA Register 30 eingelesen wird, um dort als die Adresse der nächstfolgenden Adresse zu dienen (nicht der Adresse eines Operanden, da das A bit eine 1 ist). Auf diese Weise geht der Operationsablauf wieder in Stufe 06, um einen weiteren Operationszyklus durchzuführen, wie das durch den Kreis 191 in Figur 5 angedeutet ist.
Wäre in Stufe 0 6 das A flit in der laufenden Adresse eine 0, so zeigt die Raute 189 in Figur 5 an, daß im weiteren Operationsablauf, angedeutet durch die Raute 192 ,die Entscheidung getroffen wird, ob alle Listen bereits ihre Begrenzung errefcht haben. Ist dies nicht der Fall so geht der Operationsablauf weiter zu Stufe 09, angezeigt durch das Rechteck 193 und zur Ausführung der durch den Kreis 1994 angedeuteten Operation. Haben alle listen ihre Begrenzung erreicht, dann geh* der Operationsablauf weiter zu Stufe 09, die durch das Rechteck 195 angedeutet ist. Daraufhin läuft das Verfahren zur Ausführung einer bestimmten Operation, wie das durch den Kreis 196 gezeigt ist. Die von den Rechtecken 193 und 195 angezeigten Operationen sind identisch, mit der Ausnahme, die im Rechteck 193 angezeigt ist, daS das FA Register 32 um 1 vermehrt wird. Haben alle Listen ihre Begrenzung noch nicht erreicht, so wird das PA Register um 1 vermehrt, was bewirkt, daß ein dazwischenliegender Befehl übersprungen wird (das PA Register wurde das erste Mal m 1 während der Stufe 02 vermehrt, die durch das Rechteck in Figur 3 erklärt ist, und ein zweites Mal in Stufe 09 vermehrt, die durch das Rechteck 193 angezeigt ist, und überspringt somit den dazwischenliegenden Befehl) In der durch das Rechteck 195 aageeeigten Stufe 09
809901/0698
bei der'alle Listen ihre Begrenzung erreicht haben, wird das PA Register 32 nicht vermehrt. Dadurch wird der zweite Befehl als nächster ausgewählt (der durch die Vermehrung des PA Registers um 1 in Stufe 02 nach Figur 3 ausgewählt worden ist) und dieser Befehl ist normalerweise ein Befehl zum Verlassen des Operationszyklus iind oder um Über einen Zweig eines Operationsablaufes in einen neuen Operationsablauf einzuspringen.
Zyklus 6 erläutert die aufeinanderfolgenden Stufen eines Operationsablaufes und der Operationen während eines Operationszyklus bei einem Betrieb nach dem Vermehrungsverffahren. Die Bits B und C sind jetzt eins. Da das C Bit gleich 1 ist, ist die gegenwärtig laufende Adresse gleich der zugeordneten Endoder Startadresse. Das ist eine typische Anfangsbedingung einer Operation, wie das noch besser verständlich werden wird an Band der im folgenden vorgenommenen Erörterungen von figur 7« In der Stufe 06 des Operationsablaufes, die durch das Rechteck 200 dargestellt ist, wird das laufende Adressenwort aus dem Speicher 10 ausgelesen und im YA Register 33 gespeichert. In Stufe 01t gezeigt durch das Rechteck 201 bewirkt ein Signal MALD 2 auf Leitung 114 an die Regelungstorschaltungen 76, daß das zweite flit im MA Register 30 auf eine gesetzt wird, um so die Startadresse zu adressieren, über die Leitung 11 gelangt ein Signal an den Speicher 1o und bewirkt, das der Speicher nun ausliest. Das Signal MBLDMM auf Leitung 107 öffnet die Eingangstorschaltungen 53 und erlaubt so, daü die Startadresse im MB Register 21 gespeichert wird.
809901/0696
Während der Stuf· 0B, die durch das Rechteck 202 angezeigt ist, wird dl· ßtartadreees wieder in den Speicher 10 βingβ-e ohr Üben \ind «war in die gleiche Adresse, aus der sie herausgelesen worden war, in des ein Signal über die Leitung 12 an einen Speicher 10 gelangt und ein Signal auf leitung 101 an die SingangKtoriOhaltungen 24· Bas Signal TACOM gelangt über ! Leitung 152 an die arithmetische Recheneinheit 66, uns einen Vergleich zwischen Startadresee, die ist HB Register 21 gespeichert, ist, und der laufenden Adresse, die im YA Register 33 gespeichert ist zu bewirken. Der Vergleich geht auf die gleiche Art und Weise vor eich, wie das bereite oben beschrieben worden war. Ein Signal auf Leitung 69 zeigt an, ob diese beiden Adressen gleich sind oder nicht. Eine 1 auf Leitung 69 bedeutet, daß die Adressen ungleich sind. Gleichzeitig mit diesem Vergleich gelangt Über die Leitung 133 das Sgnal YALODX an die arithmetische Recheneinheit 66 und bewirkt, daß die Startadresse vom MB Register 21 plus 1 im YA Register 33 gespeichert wird. Es sei darauf hingewiesen, daß der Abtastschalter 24 Baten in Reihe auf Leitung 65 zur gleichen Zeit übertragen kann, zu der das MB Register 21 ±u statischen Verfahren betrieben wird und Baten zurück in den Speicher 10 überträgt. Jetzt enthält das YA Register 33 die Startadresse vom MB Register 21, um 1 vermehrt. Wie das noch im Einzelenen weiter unten im Zusammenhang der Erörterung der Stufe 09 erörtert werden wird, kann die Vermehrung der Startadresse und die Übertragung an das YA Register 33 bewirken, daß die Kennzeichnungsbits A, B und C unrichtig gespeichert werden. Daher werden in Stufe 09diese Bits im YA Register 33 oder im MB Register 21 eingesetzt.
BAD ORIGINAL
8Q99O1/0696
Im allgemeinen wird beim Beginn tines Ilstenre&tlungtvtr* fahrens die Bnd- oder Startadreese auch im Speicherplatz der laufenden Adresse (Adresse Z) gespeichert« In Abhängigkeit von der gerade verwendeten Verfahrensart (Verminderung-·, Vermehrungs~, statisches terfafcrtn) wird diese laufende Adresse durch Start- oder Bndadrees« ersetEt. um das Listenregelungeverfahren in Umgang tu B»teen# Bieses Srent:-en der laufenden Adresse durch die Starte und Endadrtsst wird so durchgeführt, wie es der in Figur 6 geseigte Betriebsablauf darstellt, und «war nicht dadurch, daß die laufende Adresse nun um t vermehrt oder vermindert wird, sondern dadurch, dafl die laufende Adresse durch die Startadresse (oder die Bndadresse) plus 1 ersetat wird· Wie jedooh noch au erläutern sein wird, wird eher die Bndadresse als die Startadreag« aus a«m Speicherplatz der laufenden Adresse gespeichert werden. Indieasn Fall mufl der Inhalt des YA Register« (31& Startadreaa« plus 1) korrigiert werden und dieses findet dadurch statt, ü&3 ö^r Inhalt des YA Registers di# Stuft jtf9 venaiucert wird* (dei heiöt, die Startadreese plus 1 wird dann gerade in YA Segitttr *53 gespeichert und diese Korrektion wird dadurch vorgenoauaen, daß , davon 1,abgezogen wird; das 3rge»nis 1st die tatsächlich^ Startadresee, die dann im YA Register 33 gespeichert ist« Ü» dit Startadresse (oder Endadresse) die Kennaeiohnungeoits A, B und C nicht enthält, müssen dlese gespeichert werden, wie d«s la folgenden noch beschrieben werden wird· Bs sei nun angtnaaaea, daß sich herausstellt, daß die laufende Adresse niuht gleich dar Startadresse ist, wie das durch die eint Sntscheidung darstellende Raute 203 in Figur 6 angeeeigt ist.
BAD ORIGINAL
609901/Q69S
Ala näohetes muß dia Sntsoheldung getroffen werden, ob alle Adressen aneinandergereiht eind, wie das durch die ein«* Max scheidung darstellende Raute 204 an «deutet ist. Nimmt aan an, dad die Adressen aneinandergereiht sind (das A Bit des laufenden Adre salvor* es in Stuf» 09 ist eine 1 und war in der Steuereinheit während der Operationen d3r Stufβ 06 gespeichert), dann läuft der Verfahrensablauf zu Stufe 09 reiter, wie das duroh daa Rechteck 205 angezeigt ^ird. Das Staeadreseenwort, das in Stufe 07 aus dem Speicher 10 ausgelesen wurdef wird dann gegenwärtig im MB Register 21 gespeichert. Die Startadresse wird nun als laufende Adresse (an Adreasenatelle X) im Speicher 10 gespeichert. Da die Startadresse nicht die richtigen A, 3 und tfita aufweist, gelangt ein Signal MBLDFd auf Leitung 120 susaomen mit Signalen auf den leitungen 121 und 122, um A und B felts von i*weila der Sröße 1 im MB Register 21 zu speichern. Kein Signal gelangt.auf Leitung 123· Daher ist das C Hit 0 (die laufende Adresse ist nicht asi Bndwert angelangt). Das 0 Bit, das gleioh Null iät, wird im MB Register 21 gespeichert. über die ^eiiung 112 gelangt ein Signal MALDLA an die Regelungstorsohaltungfcn 76 und bewirkt, daß deis MA Register 30 wiederum den SpeicherplEtsü der laufenden Adresse adressiert (in Stufe 07 hat daa MA Hsgister 30 die Startedressenzelle.adressiert).
' tfoar Leitung 12 gelangt ein Signal an den Speicher 10 und
Leitung 101 en die Eihgangstorachaltung 24- und bewirkt, die im MB Register 21 gespeicherte Startadresse an den Speisher 10 übertragen wird, und zwar an die durch das IiA Register 30 bezeichnete Adresse. Daher ist zudLesem Zeitpunkt die frühere Startadresse nun als laufende Adresse im Speicherplatz für die laufende Adresse (Adresse X) gespeichert. BAD Original
8Q990 1/0 696
Da die Startadresee plus 1 im TA Register 33 in Stufe gespeidhert war, gelangt non «in Signal TADSO über Leitung 131 as die arithattieoh· Recheneinheit 66 und bewirkt ein· Verminderung des Inhalts dee TA Register« 35» Daner enthält das TA Register 53 nun das Startadrteeenwort, das in Stuf· 01 bestanden hat und das nun im Speioher 10 al« gegenwärtig laufendes Adressenwort gespeichert ist« Dann wird das Signal MAIDTA auf leitung 104 erzeugt, um die Eingangstorsohaltungsn 4-0 zu öffnen« Die Startadresee, die nun die laufende Adresse ist, wird Tom TA Register 33 in das MA Register 30 übertragen· Zu diesem Zeltpunkt speichert das XA Register 3o das gegen* wärtig laufende Adressenwort (das die Startadresee in Stufe 0 war) als die Adresse des nächsten laufenden Adressenwortes· Da die Adressen hintereinandergereiht sind, wird der Befehl noch nicht ausgeführt und der Operatlonsablauf kehrt in Stufe 06 zurück, wie das durchden Kreis 206 angeseigt ist.
War die laufende Adresse nicht gleich der Startadresee, und waren dIe Adressen nicht aneinandergereiht, dann würde der Operationszyklus in Stufe 09 weiterlaufen, wie das durch das Rechteck 207 in Figur 6 angezeigt ist. Dort ist das Verfahren identisch dem jenigen der Stufe 09 nach Rechteck 205, außer daß lediglich ein Bit der Größe 1 (die A und C bits sind 0) im MB Register 21 gespeichert wird. Zusätzlich wird das PA Register 32 vermehrt, wenn auf Leitung 140 das Signal PHING auftritt. Wie bereits erwähnt, wird das PA Register 32 vermehrt, wenn ein Befehl ausgeführt werden soll und alle Listen nicht an ihrer Begrenzung angäLangt sind. Nun wird der Befehl ausgeführt, wie das durch den Kreis 208 angezeigt ist.
BAD
609901/0696
-JjTL - ■
147^018
Nimmt man nun an, daß in Fig. 6 die laufende Adresse gleich der Startadresse ist, dann geht der Operationsablauf in Stufe 09 über, wie das durch das Rechteck 210 angedeutet ist und dann zu einem Operationszyklus, der in Stufe 06 beginnt und
durch den Kreis 211 angedeutet ist, wenn Adressen oder listen aneinandergereiht sind, oder der Operationsablauf geht nach Stufe 09, wie durch das Rechteck 212 angezeigt ist und zur Ausführung eines Befehles, wie angedeutet durch den Kreis 213,
wenn Adressen und Listen nicht aneinandergereiht sind. Ist das A Bit eine 1, dann werden die Bits A und B, die beide 1 sind, in das YA Register 33 eingelesen, nachden,wie durch das Rechteck 210 angedeutet, auf Leitung 126 das YALDX'G Signal aufgetreten ist. Diese Bits werden dann in das YA Register 33 eingesetzt, weil diese Bits verlorengegangen waren, als ihr Inhalt durch Startadresse -f- 1 in Stufe 08 ersetzt wurde. Die Adresse im MA Register 30 wird zurückgestellt auf die Adresse des laufenden Adressenwortes (auf Adresse X), wenn ein Signal auf Leitung 112 auftritt, und Signale auf den Leitungen 12 und 102 verursachen, daß das laufende Adressenwort im YA Register 33 in den Speicher 10 eingelesen wird. &s s;eht daraus hervor, daß, wenn die laufende Adresse nicht gleich der Startadresse ist, dj,s Adressenwort im MB Register 21 an den Speicher 10 übertragen wird. Dies geschieht in Stufe 09, 'wie das durch das Rechteck 207 oder das Rechteck 205 an^e'seigt ist. rienn, wie im vorliegenden Beispiel, die laufende Adresse gleich der Startadresse ist, dann wird die Startadresre in Stufe 01 während des Operationsablaufes -j- i, was in. Stufe 08 im YA Register 33 gespei-
BAD ORIGINAL
809901/Ü696
-·«- U74018
SS
chert war, nun im Speicher 10 gespeichert. D.h., daß im früheren Pail das laufende Adressenwort vom MB Register kommt und im letzteren Fall vom YA Register. Das Signal MALDYA auf Leitung 104 ist das letzte Signal in Stufe 09 und bewirkt, dafl daa MA Register 30 die gegenwärtig laufende Adresse speichert (die die Startadresse nach Stufe 01 + 1 ist, was im YA Register 33 gespeichert worden war). Der Operationszyklus kehrt dann nach Stufe 06 zurück, wie durch den Kreis 211 angedeutet.
Ist das A Bit in der laufenden Adresse in Stufe 06 null, dann setzt sich der Operationszyklus zu Stufe 09 fort, wie durch das Rechteck 212 angezeigt» Die Operationen sind hier dieselben, wie diejenigen, die im Rechteck 210 angezeigt sind, aufler daß kein A Bit (und damit ein A Bit vom Werte O) im YA ßegieter 33 gespeichert wird und dadurch, daß das FA Register HZ m£ 1 vermehrt wird.Der Operationazylclus fährt dann fort, um dem B<§- fehl auszuführen, wie das durch den Kreis 213 angedeutet ist.
Die vorangegangene Erörterung der Figuren 4-6 hat die grundlegenden Operationen des in Fig. 1 gezeigten Systames unter / einer Vielzahl von bedingungen erläutert. Die figuren 8-10 zeigen ähnliche Operationszyklen mit verschiedenen M-Oodeg. Ist der M-Oode 2, dann findet keine Vermehrung oder Verminderung statt. Ist der M-Oode 3, so findet Verminderung (anstatt Vermehrung) statt. An dieser Stelle der Beschreibung wird es fÜ* gUnstig gehalten, eine bestimmte Gesamtopβratisa die in fig* I
BAD ORiGiMAL
8Q8901/0S9S
gezeigten Systemes zu erörtern.
Ea wird nun auf I1Ig. 7 Bezu£ genommen, das die Liatenregelungsadreasenmodifikation erläutert, das Aneinanderreihen von Listen, das automatische Überspringen von Befehlen an einer üstenbegrenaung. Die Darstellung ist in diagrammatischer Form. Kurz ausgedrückt, erläutert !"ig. 7, wie eine Vielzahl von Befehlen und Listenregelungaworten gespeichert werden und eine Umordnung ▼on Datenworten oder Operanden A-,, B,, G, bis A10Q, B-,Qq und ^1OO bewirken. Die A, B und C Datenworte sind nicht dieselben wie die A, B und C Kennzeichnungsbitβ, die der laufenden Adresse zugeordnet sind, Ea aei angenommen, daß viele der A, B und C Datenworte nacheinander in einem Speicherblock gespeichert sind, wie das durch daa Hechteck 220 angedeutet ist. Alle Adressen und Indizea, die ir Fig. 7 gezeigt sind, sind der Einfachheit halber im oktalen Code geschrieben. Daher entsprechen jeweils 100 der Worte A, B und C in oktaler Schreibweise 64 in dezimaler Bohreibweise. Diese Worte sind in aufeinanderfolgenden Speicherplätzen von den Adressen 1.000 bia 1.277 gespeichert. Diese Daten können beispielsweise reihenweise an dem Prüfstand einer Rakete angefeilen sein. Die Daten sind nach drei Typen A, B und C unterschieden, die zum Beispiel Signale von drei verschiedenen Vandlernt die ala Meßgeräte bei dem Rakexsntest verwendet werden, darstellen können. Diese Daten werden durch eine aufeinanderfolgende stichprobenweise Entnahme der Ausgangssignale dieser drei Wandler (sampling) entnommen, in digitale Perm umgewandelt und iB Speicher 10 gespeichert. Bei vielen Gelegenheiten ist
BAD ORIGINAL
809901/0696
U74018
wünschenswert, diese Daten so umzuordnen, daß zunächst eine Reihe der A Worte dann eine Reihe B Worte und dann eine Reihe C Worte zur Verfügung steht, wie das in den Rechtecken 221 bis 223 jeweils dargestellt ist. Es kann wünschenswert sein, die Worte A1 bis A100 an den Adressenstellen 2.000 bis 2.077,d4-e Worte B1 bis B-,oo an den Adressen 3.000 bis 3.077, die Worte C1 bis C100 an den Adressen 4.000 bis 4.077 zu speichern, ^o kann das in i*ig. 1 gezeigte System dann so betrieben werden, daß die gespeicherten Daten in jeder gewünschten Weise umgruppiert werden. i*ig. 7 erläutert lediglich ein Beispiel vieler möglicher Operationen, die für den Fachmann offensichtlich sind.
Pig. 7 erläutert die Art und Weise, in der ein Befehl auf ein Listenregelungswort oder eine Listenregelungsstruktur Bezug nimmt (laufende, End- und Start-Adresse durch Adressieren der laufenden Adresse), die ihrerseits wieder eine Liste von Datenworten adressiert. Zusätzlich ist aus dieser Figur auch zu ersehen, wie ein Befehl eine Listenregelungsstruktur adressiert, die ihrerseits wieder in einem Zyklus arbeitet, um drei indirekte Adressen zu adressieren, deren jede wiederum eine Listenregelungsstruktur adressiert. Die Befehle und Listenregelungsworte sind in beliebigen Speicherplätzen gespeichert.
Eine Gruppe von aufeinanderfolgenden Befehlen, die im Speicher 10 gespeichert sind, ist mit der Nummer 226 bezeichnet. Die Adressen (563 bis 567) dieser Befehle sind links der Gruppe angeschrieben. Kin erster Befehl in Adresse 563 zeigt an, daß die Daten an Adresse 300 in einen (nicht gezeigten) Akkumula-
BAD ORIGINAL 809901/0696
for geladen warden aollen. Bar Akkumulator lat nit dan in fig· I gaaaigtan Kabel 51 verbunden und dient lediglich daeu, e'in Daten-Wort aolange zu apetohern, bia irgendeine Operation im entsprechenden Zeitpunkt alt ihn durchgeführt wird. Der M-Oode im ersten Befehl an dar Adreaaenatalle 563 zeigt an» daß dae Vennehrungeverfahren benutzt wird. Bin zweiter Befehl an der Adreseenatelle 564 fat ein Abzweigbefehl, der die Anweisung enthält, daß das Programm nach AdreeBenetelle 565 gehen soll. Der dritte Befehl in der Adreasenstelle 565 zeigt an, daß der Inhalt des Akkumula- torregistera, wie angezeigt, an Adresse 100 gespeichert werden aoll. Der M-Oode ist eine 1, um anzuzeigen, daß das Vermehrungs verfahren verwendet wird. Der vierte Befehl in Adresse 566 ist Auaachreibbefehl und er ist der letzte Befehl, der durchgeführt wird und zeigt an, daß das Programm zu einem weiteren Befehl oder einem weiteren Programmteil übergehen soll. Mn fünfter Be fehl an Adressenstelle 567 ist ein Abzweigbefehl, der bewirkt, daß die Reihenfolge der Operationen nun nach Adresse 563 geht.
Der erste Befehl an der Adressenstelle 563 ist nach Mg. 3 adressiert. Die Adresse 563 wird in das Prograinmadressierregister 32 in ^ig. 1 eingeschrieben, -^in Signal auf Leitung 105 öffnet die Eingangstorschaltungen 36, um zu ermöglichen, daß die Adresse (563) im PA Register 32 in das MA Register 30 übertragen wird. Bin Signal auf Leitung 11 an dem Speicher 10 und ein Signal auf •^eitung 107 an die Eingangstorschaltungen 53 bewirken, daß der Befehl an Adressenstelle 563 im MB Register 21 gespeichert wird. In gleicher Weise gelangt über leitung 108 sn die Eingangstör- "
8Q9901/0 6 96 bad
Of
■ - ■· ■ · . ■■ ■
schaltungen 56 ein Signal und bewirkt, daß dieser Befehl in da» TA Register 33 eingeaohrieben wird. In Stufe 02 wird der Befehl vom YA Register 33 in die 3teuerstufe 61 übertragen, wie das bereite erläutert wurden »in Signal euf Leitung la? Xt^edhf 4if meisten signifikanten Bits (alle außer, der Adresse) des im YA Register 33 gespeicherten Befehles. Bin Signal auf Leitung 12 gelangt an den Speicher 10 und ein Signal auf leitung 101 an die Eingangstorschaltungen 24 und bewirkt, daß der Befehl vom MB Register 21 in den Speicher 10, und zwar an die Adresse (563), von der βτ ausgelesen worden war, eurückübertregeÄ vird, Über leitung 140 gelangt el λ Signal an die arithmetisch« Einheit 72 und bewirkt, dafl der Inhalt des PA Registers 32 im 1 vermehrt wird. Bas PA Register 32 speichert nun die Adresse 564« Bas letzte Signal MALDYA auf Leitung 104 öffnet die Hingangstorschaltungen 40 und ermöglicht es so, da^ß die vom ersten B*fehi zeichnete Adresse vom YA Register 33 an das MA Register 3Ö! über- ! tragen wird. Das MA Register 30 enthält nun die Adresse 300, die von dem ersten Befehl bezeichnet worden war. Nun schreitet der Operationaablauf zu Stufe 06 fort.
Die Adresse 300 adressiert ein laufendes Adressenwort, das mit dem Bezugszeichen 230 bezeichnet ist. Da das B Bit des laufenden ! Adressenwortes 230 eine 1 ist, existiert eine Liste, Die Bnd- ] und Startadreaaen sind durch die Bezugszaicfaen 231 und 232 b·· zeichnet. Diese drei Adressen sind in nebeneinanderliegenden Speichersellen gespeichert, in diesem Pail an den Adressen 300/
301 und 302. Die laufende Adresse hat ein A Bit, das 0 ist» und zeigt aomit an, daß die Listen nicht aneinandergereiht sind
BAD ORIGINAL
809901/0696
und ein 0 Bit des Wertes 1 zeigt an, daß die gegenwärtige lau-
- ■' . ■■ ■ *■- '■-■■■·
fendβ Adrees· fin Qreciwert 1st (gleioh seiner Ifoä- oder Start-.,, «dr«88e iat), Paa laufende Adreaewort, das mit Summer 230 be-J zeichnet ietf adressiert die Adrease 1277, das Bndadreasenwort *■ aireesiert die Adresse 1277 und die Startadreaae adressiert die ■! Adreeae 1000.
flg. 6 erläutert die Art und Weise, in der das laufende Adreesenwort 230 zunächst adressiert wird. Das laufende Adress- ^ . wort, wird vom Speicher in Stufe 06 ausgelesen, wie es durch dae ■| fiechteck 200 Ir+ -^ig. 6 angedeutet ist. Das laufende Adressenwort ., sind die A, B und 0 Bits O, 1 und 1 und die Adresse ist, wie ..; in ?lg. 7 gezeigt, 1277. Dieses laufende Adressenwort wird im ,: YA Regiater 33 gespeichert. In Stufe 01 wird das von Bezugszeichen 232 beaeiohncte ötartadreaaenwort vom HA Register 30 dadurch adressiert, daß dae Signal MALA2 über Leitung 114 an die Rege-
. ■ lttngBtorsohaltung 76 gelangt. Dieses Startadressenwort 232, . ί
/ das die Adresse 1000 bezeichnet, ist im ME Register 21 gespeichert. In Stufe 06 wird das im MB Register gespeicherte Startadreeaenwort an den Speicher 10 zurückgeliefert, die Startadresse mit der laufenden Adresse verglichen, die Startadresse um 1
:i vermehrt und dann in das YA Regiater 53 eingeschrieben. Da die laufende Adresse 1277 ist und die Startadresse 1000 ist, ist die laufende Adresse nicht gleich der Startadresse. Das A Bit ig laufenden Adressenwort 230 ist nicht 0 und daher setzt sich ; der OperationsZyklus zu Stufe 09 fort, wie das durch das Rechteofc 207 in iig. 6 angezeigt ist. Da die im MB Register 21 gespeicherte Startadresse nicht die &ennzeichnungsbits der laufenden Adresse 230 enthält, wird ein Öignal MALDFG auf Leitung
809901/069$ @ad original
S" U74Ö18
■ trifttft euiftsata Mt ein« iifatl, d·! ttb«r leitung 128 «ft dl* Regelungetoreohaltungen 80 gelangt, ua tin B Bit d·· Werte· ! 1 1« IO Reglit·* ±1 iu »pelehern. Da· A Bit des anfänglichen
f. >.■■.■:■■; ■ : .·:■· ■ ■; ■,:· -; ■·.■·. ■ ■ ν .■ ■;
laufenden Adr«i«9tnrort·· wer ·1η· null* 3D·· O Bit itt nun ·1β· null, da dl· lilet· n*oh nicht an einer Begrenzung angelangt let,
. ■ \ .·■.■■:.■■..-.·, ... . ■ . . ■ »■■·■■
Daher sind Im HB Iegieter 21 für dl· A und B Bit· nullen gespeichert. Si· «wei leteten signifikanten Bit· Im KA Register 30 werden auf O surüekg··teilt, wenn ein Signal auf der alt den Regelungetorechaltungen 76 verbundenen Leitung 112 ersoheint. Dae HA Register 30 enthält nun die Adresse dea laufenden Adreaaenwortesi die·· Adresse let 300. Über Leitung 12 gelangt ein Signal an den Speicher 10, über Leitung 101 an dl« Eingangetorechaltungen 24 und bewirkt so, daß da· Im HB Register 21 geapeioherte Startadressenwort In den Speioher 10 tibertraf**1 und dort aUf Adressenplate 300 gespeichert wird· Das laufend· Adressenwort 230, das ic *ig. 7 gezeigt ist, bezeichnet nun anstelle der Adresse 1277 die Adresse 1000. Da· TA Register wird nun vermindert. Dieses Register speichert nun das gegenwärtig laufende Adreeeenwort (die Startadresse der Stufe #7). Das PA Register 32 wird nun vermehrt und enthält die Adresse 565, die die Adresse des Speicherbefehles ist. Über die Leitung 104 , öffnet ein Signal die Eingangstorschaltungen 40 und ermöglicht es so, daß die gegenwärtig laufende Adresse fom TA Register 33 in da« MA Register 30 eingelesen wird. Zu diesem Zeitpunkt ist la PA Register 32 die Adresse 565 gespeichert* Das laufende Adreseenwort, das die A, B und C Bits vom Werte 0, 1 und O hat und eine Adresse lOOOiat an Adreesenatelle 300 im Speicher
BAD ORIGINAL
809901/0696
•H74018
to
gespeichert. Dasselbe laufende Adressenwort i st im MA Register 30 gespeichert. Der Operationszyklus, der in Fig.- 6 dargestellt ist, nijamt nun seinen Fortgang, um den Ladebefehl auszuführen. Bei der Aasführung des Ladebefehles werden die am Adressplatz 1000 gefundenen Daten, nämlich das Datenwort A1 an den Akkumulator übertragen.
Nach Ausführung des Ladebefehles wird der nächste Befehl geholt. Dieser Befehl ist der Speicherbefehl auf Adressenplatz 565 und dieser wird genauso hergeholt, wie das unter Bezugnahme auf Pig. 3 erörtert wurde. Dieser Speicherbefehl zeigt an, daß der Inhalt des Akkumulatorregisters in der Adresse gespeichert werden soil, die entweder direkt oder indirekt von der Adresse 100, die im Befehl enthalten ist, adressiert ist. Nimux man an, daß die Operationen der Stufen 01 und 02 durchgeführt worden sind, dann schreitet der Operationszyklus zu Stufe 06 fort.
Zu diesem Zeitpunkt ist die Adresse 566 im PA Register 32 gespeichert; Der Adressteil des Befehles (100) ist im YA Register und im MA Register 30 gespeichert. Der Operationszyklus, wie er in Pig. 6 gezeigt ist, schreitet fort, da das Vermehrungsverfahrai dadurch angezeigt wird, daß M im Speicherbefehl gleich 1 ist und die B und C Bits des laufenden Adressenwortes in Adresse eins sind. Das laufende Adressenwort an Adresse 100 ist mit der Nummer 236 bezeichnet und enthält A, B und 0 Bits, die gleich 1 sind und eine Adresse, nämlich die Adresse 1402. Die iind- und Startadressen, die dem laufenden Adressenwort 236 zugeordnet sind, sind mit den Nummern 237 und 238 versehen. In diesem Pal geht der Operationszyklus ; uf die gleiche Art und weise vor
BAD ORSGINAL
809901/0696
eich, wie das bereits erörtert worden ist, außer daß das A Bit nun eine eins ist und die Operation in Stufe 09 diejenige ist, die durch das Rechteck 205 dargestellt wird und nicht diejenige, die durch das Rechteck 207 dargestellt wird. Die Startadresse war im HB Register 21 in Stufe 01 gespeichert. Die laufende Adresse (1402) wa^r mit der Startadresse (1400) in Stufe 08 verglichen worden und als nicht gleich ihr befunden worden. Da, wie bereits erörtert, die Startadresse nicht die richtigen A, B und C Bits aufweist, nüssen diese Bits nun in das MB Register eingeschrieben werden. Da die Start- und die laufende Adresse nicht gleich sind, ist eine für die Beendigung notwendige Bedingung noch nioht erreicht und eine 0 wird als C Bit in das MB Register 21 ejlngelesen (da auf der Leitung 123 kein Signal vorhanden ist). Da das A und B Bit des laufenden Adressenwortes je eine eins Bind, werden in diese Positional' je eine 1 in das MB Register 21 eingeschrieben. Das geschieht dadurch, daß die leitungen 120, 121 und 122 je mit einem öig- j nal beaufschlagt werden. Die Resrelun ^storschaltungen 76 werden mit dem Signal MALDLA beaufschlagt, um die laufende Adresse (100) in das MA Register 30 wieder einzustellen. Über leitung 12 gelangt ein Signal an den Speicher IC und über Leitung 101 an die Eingangstorschaltmigen 24. Daduroh wird bewirkt, daß das Adressenwort (mit der Adresse 1400) vom MB Register 21 in den «Speicher 10 an Adresse 100 eingelesen wird. Auf diesa Weise ist die laufende Adresse 1400 nun am Stellennlatz 100 im Speicher 10 gespeichert. Das YA Register 33 wird :u.: 1 vermindert und es enthält nun dasselbe laufende Adressen-
rt. Die -tun^ra'-st or schaltungen 40 werden geöffnet und die iuiYii'de Adresse des Wortes (A bleich 1, B gleich 1, C bleich
809901/0696 bad original
und die Adresse 1400) wird nun vom YA Hegiater 33 in das MA. Begister 30 eingelesen. Das MA Register 30 enthält nun die Adresse 1400, die die Adresse des nächsten Operanden oder eine indirekte Adresse ist. Da die Adressen aneinandergereiht waren, kehrt der Operationszyklus in die Stufe 06 zurück.
Das laufende Adre3senwort am Adresaenstellenplatz 1400 enthält ein A Bit des Wertes 1, und B und C Bits des Wertes O. Fig. 4 erläutert einen diesbezüglichen Operationezyklua. Das mit dem Bezugszeichen 240 bezeichnete laufende Adressenwort in Adresse 1400 wird vom Speicher 10 in das YA Register 33 in Stufe 06 eingelesen, wie das durch das Rechteck 163 in Fig.. 4 angezeigt ist. Da das A Bit im laufenden Adresaenwort 240 eine 1 ist, sind die Adressen aneinandergereiht und der Operationszyklus bewegt sich weiter zu Stufe 09» wie das durch das Rechteck 165 in Fig. 4 angezeigt ist. Die laufende Adresse im YA Register 33 wird wieder in den Speicher 10 zurückgeschrieben, naohdem ein Signal MMGrPVvT auf Leitung 12 und das Signal MMLDYA auf Leitung 102 erscheint. Die Eingangstorschaltungen 40 werden geöffnet und das MA Register speichert nun die Adresse 574. Der Operationsablauf begibt sich dann auf Stufe 06.
Das laufende Adressenwort in Adresse 574 ist mit dein 3ezugszeiohen 242 versehen. Die zugeordneten 3nci- und Startadressenworte sind mit dem Bezugszeichen 243 und 244 versehen. Sas laufende Adressenwort 242 hat ein A Bit vom "Wert O und B und C Bits vom Vierte 1. Da der M Code 1 ist (im Speicherbefehl) und die B und G Bits 1 sind, schreitet der Betriebszyklus wie in.Fig, 6 angezeigt fort. Die durchgeführten Operationen sind
80990 1/0696 bad original
U74018
identisch mit denen, die mit dem ersten laufenden Adressenwort 230 durchgeführt worden sind und die durch die Rechtecke 200, 201, 202, 203, 204 und 207 angedeutet sind. An Ende dieses Operationezyklus ist die laufende Adresse am Adressenplatz 574 nun 2000, die im PA Register 32 gespeicherte Adresse 567, und die im MA Register 30 gespeicherte Adresse 2000. Die
letztere Adresse 1st die Adresse des Speicherplatzes, in dea das Datenwort Al gespeichert ist. In demjenigen Teil des Operationszyklue nach Pig. 6, in dem der Befehl ausgeführt wird, (und der nicht Teil der vorliegenden Erfindung ist) wird das Datenwort Al vom Akkumulatorregister in den Speicher übertragen und dort am Adressenplatz 2000 gespeichert. Der erste Operationezyklus bei der Umordnung der Datenworte A, B und C ist nun vollendet. Die typische Zeitspanne, die für einen gesamten Zyklus nach Pig. 7 benötigt wird, insoweit er seither erörtert worden ist, ist annähernd 35.2 MikroSekunden.
Da noch nicht alle Listen ihre Begrenzungen erreicht haben, werden die Operationszyklen im wesentlichen in gleicher Weise wie oben wiederholt. Das PA Register 32 speichert nun die
der Adresse 567* Das ist die Adresse eines Abzweigbefehles, die
ι Befehlsadresse 563 und einen M Code von 0 hat. Dieser Abzweigbefehl verursacht, daß das Programm über eine Abzweigung zurück zum Ladebefehl auf Adresse 563 in herkömmlicherweise zurückläuft. Die Programmadressierregister, wie das Register 32 werden in normaler Weise nacheinander um 1 vermehrt, um die aufeinanderfolgenden Befehle zu adressieren (ohne Befehle zu überspringen), bis zum Ende eines Programmes, wo ein Abzweigbefehl ausgeführt wird. Die Operation, die darin besteht,
ΡΛΓ> ORIGINAL
809901/0696
den an Adresse 567 bezeichneten Abzweigbefehl zu erreichen, ist nicht Teil der vorliegenden Erfindung. Diese Operation ■wird praktischerweise durch Durchführen des Operationszyklus nach Fig. 3 erreicht, bei dem dann am Ende des Zyklus der Abzweigbefehl (3r563) ausgeführt wird, um auf diese Weise im Programm zum Befehl an Adresse 563 zurückzugelangen. Die spezifische Verwirklichung dieser Operation ist im einzelnen in Fig. 1 nicht gezeigt, da sie nicht Teil der Erfindung bildet.
Kurz gesagt schreitet das Verfahren bei Durchführung des Zyklus nach Fig. 3 fort, um den Befehl auszuführen, anstatt nach Stufe 06 weiterzugehen, wie das durch den Kreis 162 angedeutet ist, da der M Code gleich 0 ist. Der Abzweigbefehl (Br 563) wird ausgeführt und bewirkt, daß die Adresse (563) in diesem Befehl, die im YA Register 33 während des Zyklus nach Fig. 3 gespeichert war, in Reihe vom YA Register 33 (leitung 67) an die arithmetische Recheneinheit 72 übertragen wird. Darauf wird sie in das PA Register 72 in der gleichen Art und Weise eingelesen, in der die in Reihe zur Verfügung stehenden Daten vom Abtastschalter 64 an die arithmeti-
sehen Recheneinheit 66 weitergegeben und dann im YA Register 33 gespeichert werden.
Das PA Register 32 speichert nun die Adresse 563 des Ladebefehles, der wiederum in der in Fig. 3 bezeichneten Weise erreicht wird. Nachdem dieser Befehl erreicht wurde, enthält das PA Register 32 die Adresse 564 und das ViA Register 30 die Adresse 300, die die Adresse des laufenden Adressen-Wortes ist, das mit den Be:iu?szeichen 230 bezeichnet ist.
BAD ORIGINAL 809901/0696
In diesem Zeitpunkt hat das laufende Adressenwort ein A Bit vom Wert 0, ein B Bit vom Wert 1, und ein C Bit vom Wert O und die Adresse 1000. Da das C Bit nun O ist (immer noch im Vermeh rungsverfahrenj das B Bit ist eine 1), so findet ein Operationszyklus nach Pig. 5 statt. Das laufende Adressenwort 230 wird vom Speicher 10 in das YA Register 33 während der Stufe 06 eingelesen, wie das durch das Rechteok 180 in Pig. 5 angezeigt ist. Das Endadressenwort wird dann adressiert und in das MB Register 21 in Stufe 07 eingelesen. Der Inhalt des YA Registers , 33 wird um 1 vermehrt. Das Endadressenwort wird dann auf den entsprechenden Speicherplatz im Speicher 10 wieder zurückeingelesen (in die gleiche Adresse, aus der es herausgelesen worden ist), und das um 1 vermehrte laufende Adressenwort wird mit der im Endadressenwort in Stufe 08 verglichen, wie das durch das Rechteck 182 angedeutet ist. Da die laufende Adresse plus 1 1001 ist und die Endadresse 1277 ist, ist die gegenwärtige laufende Adresse nicht gleich der Endadresse. Das A Bit im laufenden Adressenwort ist null und daher findet kein Aneinanderreihen statt. Daher schreitet der Operationsablauf nach Stufe 09 vor,wie durch das Rechteck 187 in Pig. 5 gezeigt. In Stufe 09 wird das PA Register 32 um 1 vermehrt und enthält nun die Adresse 565. Ein Bit B vom Werte 1 wird nun in das YA Register 33 eingesetzt und sein Inhalt (laufende Adresse plus 1) wird wieder zurück in den Speicher 10 in Adresse 300 gebracht. Ebenso wird diese neue laufende Adresse im YA Register 33 im MA Register 30 gespeichert. Das laufende Adreseenwort, daß anstelle 300 im Speioher 10 gespeichert 1st, hat ein A Bit τβΛ
809901/0886
- «j - U74018
Werte O, ein B Bit vom './erte 1> ein C Bit vom Werte O und äie Adresse 1001. Dasselbe laufende Adressenwort ist nun im MA Register 30 gespeichert. Der Operationsablauf geht weiter, um den Ladebefehl auszuführen, der verursacht, daß die Daten am Speicherplatz 1001, nämlich das Datenwort B., in den Akkumulator geladen wird. Das PA Register, <3 .s nun in Stufe 02 einmal vermehrt und wieder in Stufe $9 vermehrt worden ist, enthält nun die Adresse 565.
Der Speicherbefehl in Adresse 565 wird auf die in Bezug auf Pig. 3 beschriebene Art und Weise erreicht und das MB Register adressiert nun das laufende Adressenwort 236. Das PA Register enthält nun die Adresse 565. Das laufende Adressenwort 236 hat nun ein A Bit vom Wert 1, ein B Bit vom Wert 1 und ein C Bit vom viert 0 und die Adresse 1400. Der Operationsablauf ist nun der in Pig. 5 gezeigte und ist im'großen und ganzen identisch dem vorhergehenden Operationszyklus, der unter Bezugnahme auf das laufende Adressenwort 230 beschrieben worden ist. Das laufende Adressenwort 230 enthält jedoch ein A Bit vom Wert 1 und die Operation in Stufe 03 entspricht eher derjenigen, die im Rechteck 185 in Fig. 5 angezeigt ist, als der die im Rechteck 187 erläutert ist. Der einzige Unterschied in der Operation ist, daß das PA Register'32 nicht vermehrt wird und sowohl die A und B Bits vom Werte 1 im YA Register 33 wieder hergestellt werden. In diesem Zeitpunkt wird die neue laufende Adresse (laufende Adresse plus 1, das ist 1401) \ .,vo» XA Register in die Speicherzelle 100 im Speicher 10 über- " - tragen. Dasselbe laufende Adressenwort wird ebenso an das MA
BAD ORIGINAL
8008*1/069$
Register 30 übertragen. Daher ist der Speicherplatz, der nun vom MA Register 30 adressiert wird, die Adresse 1401 und der Operationszyklus kehrt zu Stufe 06 zurück. Das laufende Adressenwort am Speicherplatz 1401 ist mit dem Bezugszeichen 246 bezeichnet und ist das gleiche wie die laufende Adresse 240, außer, daß der Adressteil (634) unterschiedlich ist. Der Operationszyklus ist derselbe wie der oben unter Bezugnahme auf das laufende Adressenwort 240, das in Fig. 4 gezeigt ist, diskutierte. Das laufende Adressenwort 246 wird aus dem Speicher ausgelesen (in Stufe 06) und in ihn wieder in Adresse 14OI eingeschrieben (in Stufe 09)· Ebenso ist das laufende Adressenwort 246 nun im MA Register 30 gespeichert. Der Ablauf der Operationen geht nun nach Stufe 06 und geht in der in Fig. gezeigten Form vor sich.
Das laufende Adressenwort in Adresse 634 hat ein A Bit vom Werte 0, ein B Bit vom Werte 1, ein C Bit vom Werte 1 und die Adresse 3077. Dieses laufende Adressenwort ist mit dem Bezugszeichen 248 bezeichnet. Es hat die End- und Startadresse 249 und 25O, die ihm zugeordnet sind. Der Operationsablauf ist identisch demjenigen, der oben unter Bezugnahme auf das laufende Adressenwort 242 in Fig. 6 beschrieben worden ist. Das bedeutet: das laufende Adressenwort 248 wird in das YA Register 33 in Stufe 06 eingelesenj das Startadressenwort 250 wird in das MB Register 21 in Stufe 01 eingelesen; das Startadressenwort wird an den Speicher 10 zurückgeführt, die laufende und die Endadresse werden verglichen, es stellt sich heraus, daß sie nicht gleich sind und die Startadresse wird um 1 ver-
809901/0696
mehrt und in Stufe 08 im YA Register gespeichert; in Stufe 09 wird das PA Register um 1 vermehrt, ein B -Bit vom Wert 1 wird im MB Register 21 gespeichert, der Inhalt des MB Registers im Speicher 10 an Adresse 634 gespeichert, der Inhalt des YA Registers 33 um 1 vermindert, und dieses seltne laufende Adressenwort (Startadresse in Stufe 07) mit der Adresse 3000 wird im
MA Register 30 gespeichert. Der SOeicherplatz 634 enthält nun ein laufendes Adresswort,, das ein A Bit vom Wert 0, ein B Bit vom Wert l,ein C Bit vom Wert O und die Adresse 3000 hat. Dasselbe laufende Adressenwort ist im MA Register 30 gespeichert. Der Operationsablauf fährt fort mit der Ausführung des Befehles, was bewirkt, daß das vorhea^im Akkumulator gespeicherte Wort B, an Adressenstelle 3000 im Speicher 10 gespeichert wird. Da das PA Register 32 in Stufe 09 um 1 erhöht wurde, wie das durch das Rechteck 187 in ^ig. 5 gezeigt ist, enthält es die Adresse 567. ·
Nachdem der Speicherbefehl ausgeführt -worden ist, wird der nächste Jefehl erreicht. Das PA Register enthält die Adresse 567, die die Adresse eines Absweigbefehles ist und bewirkt, daß das rrogramm über den Zweig zurück zum Ladebefehl an der ^dresse 563 läuft. Der Ladebefehl an Adresse 56-; .vi.rd auf die gleiche Art und Weise erreicht wie das zuvor beschrieben worden ist. Das MA Register 30 enthält letzt die Adre.se 300, die das laufende Adressenwcrt 230 adressiert. Das I'-'.i;i;nüe Adressenwort 230 hat nun ein A Bit vom Werte 0, din -■ :.;it vom ..erte 1, ein' C Bit vom V;erte O und die Adresse ICOl. ^ic laufende Adresse 1001 wird vermehrt und mit der Endadreaae ver::iic!en, wie dao bei'eits
BAD ORIGINAL 8 0 9 9 0 1/0696
65
unter Hinweis auf Fig. 5 bei Adressierung des Datenv/ortes S-, beschrieben worden ist. Am Ende des in Fig. 5 gezeigten Operationszyklus, ist das Datenwort CL im Akkumulator gespeichert und das PA Register 32 enthält nun die Adresse 565.
Der Speicherbefehl an Adresse 565 wird so erreicht,wie das unter Bezugnahme auf Fig. 3 beschrieben worden ist. Daraus geht dann hervor, daß die Adresse 100 im MA Register 30 gespeichert wird. Das laufende Adressenwort 236 an Adressenplatz 100 im Speicher 10 enthält ein A Bit vom Wert 1, ein B Bit vom Wert 1 und ein 0 Bit vom Viert 0 und die Adresse 1401. Der in Fig. 5 gezeigte Operationszyklus wird wiederholt. Dabei wird das laufende Adressenwort 236 vermehrt und mit dem Endadressenwort 237 verglichen. In diesem Zeitpunkt ist die vermehrte laufende Adresse (1401 4· 1) gleich der Endadresse (1402). Da das A Bit im laufenden Adressenwort 236 eine 1 ist, sind die Adressen aneinandergereiht und der Operationszyklus schreitet zu Stufe 09 fort, wie das durch das Viereck 190 in Fig. 5 angezeigt ist. Die A, B und C Bits im ^A Register 33 werden auf den Wert 1 eingestellt. In diesem Zeitpunkt ist das C Bit auf 1 eingestellt, um· anzuzeigen, daß das Verfahren eine Grenzbedingung erreicht hat. Der Inhalt des YA Registers 33 (A,B und C Bits vom Wert 1 und die Adresse 1402) werden in den Speicher 10 an Adresse 100 zurückgeleitet. Dieses selbe laufende Adressenwort ist im MA Register 30 gespeichert. Der Operationszyklus schreitet zu Stufe 06 fort, wie das durch den Kreis 191 in Fig. 5 angezeigt ist.
809901/0696
Dae MA Register 30 adressiert nun das laufende Adressenwort 252 an die Ac :v ::r; ■ 1402 im Speicher 10. Das laufende Adressenwort 25 2 hat a..,. <\ 3:..t vom Wert 1, ein B Bit vom Wert 0, ein 0 Bit vom Wert O und die ^cire»3e 720. Wie zuvor in Verbindung mit der Sortierung der lauf end srs ^elraasenwcr^a 240 und 246, ist der OpercXionszytlua in ?ig. 4 erläutert. Auf diese Weise enthält das MA Register 30 nun das laufende Adressenwort und das Verfahren schreitet zu Stufa'06 fort.
Ähnlich wie bei der Eröterung der laufenden Adressenworte 242 und 248 erwähnt, adressiert nun das MA Register 30 eine laufende Adresse 254 an die Speicheradresse 720. Der Operationszyklus ist der in Fig. 6 gezeigte, wie er oben unter Bezugnahme auf die Adressenworte 242 und 248 erörtert worden ist. Das laufende Adressenwort 254 enthält ein A Bit vom w'erte 0, ein B Bit vom Werte 1, ein C Bit vom Werte 1 und die Adresse 4077. Das Endadressenwort 255 und das Sxartadressenwort 256 sind dem laufenden Adressenwort 254 zugeordnet. Der in Fig. 6 gezeigte Operationszyklus wird wiederholt und endet mit Stufe 09, wie durch das Rechteck 207 angedeutet. Das PA Register 32 wird vermehrt, bis es die Adresse 567 enthält, der Speicherplatz 720 enthält das laufende Adressenwort 254, dessen A Bit den Wert 0, dessen B Bit den Wert 1, dessen C Bit den Wert 0 und das die Adresse 4000 enthält. Das MA Register 30 enthält diesesselbe laufende Adressenwort. Das Verfahren schreitet fort, um den Befehl auszuführen, der bewirkt, daß das Datenwort C,, das in dem Akkumulator gespeichert ist,
nun an Speicheradresse 4000 im Speicher 10 gespeichert wird. Es sei bemerkt, daß das Listenadressenwort, daß das laufende
80 9901/0696 bad ORIGINAL
' **"" H74018
Adressenwort 236 hat, nun am Ende angelangt ist. Ss sind jedoch nicht alle Listen an ihrem Ende angelangt, d.h, das Listenadressenwort befindet sich an Adresse 720 (mit dem laufenden Adressenwort 254) und iat indirekt adressiert durch die Adresse 100 (und dann durch Adresse 1402) und befindet sich* 30 noch nicht am Ende, ^s massen also noch mehr Operationssyklen durchgeführt werden, bevor das vollständige Programm .je end et ist.
Es wird der nächste Befehl hereingeholt, der eine Abzweigung zum Ladebefehl an Adresse 563 in der bereits erörterten Art und V/eise verursacht. Das Verfahren schreitet fort, wie es oben erörtert wurde, indem nun das Datenwort Ap adressiert und im Akkumulator gespeichert, wird. Das laufende Adressenwprt 2;6 wird wie in Fig. 6 gezeigt hereingeholt (da das C Bit wiederum gleich 1 ist) und adressiert seinerseits das laufende Adre;:.:'f..TA!crt I:·-:-O i:i :;e? in Fig. 4 gezeigten Art und Weise. Das lautende Adr.ic se".· wort 240 adressiert dann das laufende Adressenvjorx 242. Der Operationszyklus für das nereinholen des laufenden Adresseuwortes 242 ist in Fig. 5 gezeigt. Die Operation ist dieselbe, wie clus Hereinholen des zweixer· laufenden Airesienwortes 230, das in der bereits erörtevjten Art und Weise das iMüe^wort B-, adressiert hat. Der stattfindende Operaticnszyklus ist der in Fig. 5 gezeigte, da das C Bit nun den V/ei't 0 hat. Der Befehl wird ausgeführt und dabei wird das Datenwort A9 gespeichert, das im Akkumulator im Speicherplatz 2001 behalten worden war.
BAD ORIGINAL
809901/0696
Die oben angeführten Operationen werden fortgesetzt mit den Datenworten A1, A3... A100, die in den Speicherplätzen 2000 bis 2077 gespeichert sind, mit den Datenworten B-,, B^... die in den Speicherplätzen 3000 bis 3077 gespeichert sind und den Datenworten G1, C3... Cqq, die in den Speicherplätzen 4000 bis 4076 gespeichert sind. Eine etwas unterschiedliche Operation findet bei der letzten Operation, nämlich der Speicherung dea Datenwortes C,qq statt.
Bs sei nun angenommen, daß alle Datenworte A1, B1, C1 usw. geladen und gespeichert worden sind, außer dem Datenwort Das laufende Adressenwort 230 an Adresse 300 enthält nun eine Adresse 1276, das laufende Adressenwort 236 an Speicherplatz 100 enthält nun eine Adresse 1401, und das laufende Adressenwort 254 speichert an der Adresse 720 die Adresse 4076. Der Ladebefehl an Adresse 563 bewirkt, daß das Datenwort C,00 auf Adresse 1277 im Akkumulator gespeichert wird. Das geschieht auf die bereits erörterte Art und Weise. Der Operaticnszyklus schreitet jedoch in unterschiedlicher Weise als seither durch Fig. 5, da die laufende Adresse (1277) nun gleich der Endadresse (1277) ist. Ein Listenregelungswort hat existiert, da das B Bit eine 1 ist und da die laufenden und End-Adressen aller Listenregelungsworte (in diesem Fall lediglich eine, das an Adresse 300 gespeichert ist) für den gegenwärtigen Befehl (den Ladebefehl an Adresse 563) gleich sind (laufende Adresse 1277 gleich Endadresse 1277). Aus diesem Grunde sind alle Listen an ihren Begrenzungen angelangt. Der Operations-Zyklus schreitet zu Stufe 09 vor, wie durch das Rechteck
BAD ORIGINAL
809901/0696
195 in Fig. 5 angezeigt. Die Operationen sind dieselben, wie sie seither unter Bezugnahme auf das Rechteck 187 beschrieben wurden außer, daß nun beide Bits, sowohl das B als auch das C Bit auf den Wert 1 eingestellt sind und das PA Register 32 nun nicht vermehrt wird. Das C Bit ist auf 1 eingestellt, da sich die Liste in ihrem Endzustand befindet. Da das PA Register 32 in Stufe 09 nicht vermehrt wird, wird der nächste Befehl (Br 565) nicht übersprungen, sondern ausgeführt. Dieser Abzweigbefehl an Adresse 524 wird hereingeholt und zweigt zu dem Speicherbefehl an Adresse 565 in der gleichen Weise ab, wie das bereits oben unter Bezugnahme auf den Abzweigbefehl (Br 563) an Adresse 567 erörtert worden ist.
Der Speicherbefehl an Adresse 565 wird hereingeholt und adressiert das laufende Adressenwort 236 an Adresse 100. Das geschieht in der bereits erörterten Art und Weise. Das laufende Adressenwort 252 an Adresse 1402 wird adressiert, das seinerseits das laufende Adressenwort 244 an Adresse 720 in der bereits beschriebenen Art und Weise adressiert.
An dieser Stelle findet eine unterschiedliche Operation statt, um somit das Programm zu beenden. Der Operationszyklus ist der in Fig. 5 gezeigte. Das laufende Adressenwort 254 (Adresse 4076) wird in das YA Register 33 in Stufe 06 eingelesen. Das Endadressenwort (4077) wird in das MB Register 21 eingeleeen. Das YA Register 33 wird in Stufe 01 um 1 vermehrt; die um 1 vermehrte laufende Adresse (4076 plus 1) wird mit der Endadresai
809901/0696
verglichen und in Stufe 06 wird die Gleichheit beider Adressen angezeigt. Das A Bit im laufenden Adressenwort 254 ist eine O. Daher ist die nächste Entscheidung, zu bestimmen, ob alle Listen ihre Begrenzungen erreicht haben. Diese Entscheidung ist durch die Raute 192 in Fig. 5 angedeutet. Alle Listen haben nun ihre Begrenzungen erreicht, da die zwei notwendigen Voraussetzungen erfüllt sind. Zunächst war eine Liste vorhanden und alle Listen, die aufgetreten sind, sind nun in ihrer Endlage. Zwei Listen wurden vom vorliegenden Speicherbefehl betroffen, die den laufenden Aaressenworten 236 und 254 zugeordnete Liste. Bei der letzten Operation mit den laufenden Adressenworten 236 und 254 wurde die laufende Adresse gleich der entsprechenden Endadresse gefunden. Ea sei nun wieder auf Fig. 1 Bezug genommen. Das Flip-Flop 90 wird in seinen 1-Zustand gebracht. Das Flip-Flop 91 wird in seinen O-Zustand gebracht (Ungleichheit stellt dieses Flip-Flop in seinen 1-Zustand ). ^ie Und-Schaltung 92 erzeugt ein Ausgangssignal, das anzeigt, daß alle Listen ihre Begrenzung erreicht haben. Dadurch wird bewirkt, daß die Steuereinheit 61 die entsprechenden Ausgangssignale erzeigt. Auf diese Weise wird bewirkt, daß die inStufe 09 stattfindenden Operationen die im Rechteck 195 in Fig. 5 dargestellten sind. Die B und C Bits vom Werte 1 werden im YA Register 33 gespeichert. Der Inhalt dieses Registers wird an den Speicher 10 an Adresse 720 übertragen. Derselbe Inhalt des YA Registers 33 wird nun an das MA Register 30 übertragen, um daraufhin den Speicherplatz 4077 zu adressieren.
809901/0696
If
Es eel darauf hingewiesen, daß dae PA Register 32 in Stufe 03 nicht vermehrt worden ist. Auf diese Weise enthält das FA Register 32 die Adresse 566. Der Speioherbefehl wird mit dem Datenwort C10Q ausgeführt, das im Akkumulator gespeichert war, und nun im Speicher 10 auf Adresse 4077 gespeichert wird. » Daraufhin wird beim Hereinholen des nächsten Befehles ein Aus-
Sprungbefehl an Adresse 566 gefunden, der das System nach \ I1Ig. 1 dazu veranlaßt, den nächsten Befehl oder die nächste Polge von Befehlen aufzusuchen. Dieser AusSprungbefehl kann { ein Stopbefehl sein, der damit die gesamten Operationen anhält.
Es sollte nun deutlich sein, daß Pig. 7 verschiedene Qperationszyklen erläutert, die das in Pig. I dargestellte System durchzuführen in der Lage ist. Pig. 7 erläutert, wie ein Befehl .; eine Listenregelungsstruktur daduroh adressieren kann, daß : eine einzelne Adresse (in diesem Fall die Adresse 300) vorgesehen wird, um eine Operation an einer Liste von Datenworten (A-,, B, , C, usw. ) durchzuführen. Obwohl in dem bestimmten gegebenen Beispiel in Fig. 7 die Datenworte A-, bis C-J0O le~
diglich in den Akkumulator geladen werden, so könnte der Befehl mathematische oder andere Operationen angerufen haben, um diese Operationen an den Datenworten vorzunehmen.
Pig. 7 erläutert ebenso wie ein einzelner Befehl eine Listenregelungsstruktur an eine einzelne Adresse (in diesem Fall die Adresse 100) adressieren kann, um zyklisch eine Operation an einer Liste von Daten vorzunehmen. In dem spezifischen in ■fc'ig. 7 gezeigten Beispiel, adressiert das laufende Adressen-
809901/0696
wort 236 zyklisch die laufenden Adressenworte 240, 246 und 252 immer wieder, bis alle gewünschten Operationen dur.chge-
fr , führt sind. Die Daten an den Adressen 1400, 1401 und 1402
α können jedoch Operanden haben, mit denen arithmetische oder
r- ( andere Operationen durchgeführt werden sollen. Es kann auch von Pig. 7 gesehen werden, daß die laufenden Adressenworte 240i, 246 und 252 eine Liste von Operanden adressieren können . -(an Adressen wie 574, 634» 720), die nicht in nebeneinander-' liegenden Speicherplätzen gespeichert sind. Jede gewünschte Anzahl (zwei oder mehr) von Worten wie 240, 246 und 252 kann anstatt von drei Worten verwendet werden. Fig. 7 erläutert ebenso die Art und Weise, in der Adressen mit einer einzelnen Befehlsadresse (Adresse 100) wirksam verbunden werden können,
^ .] die auf eine Kette von indirekten Adressen Bezug nimmt, von * , ■'■ denen einige Listenregelungsstrukturen sind.
Darüberhinaus wird deutlich in Pig. 7 die Art und Weise, in der eine Liste von Befehlen bearbeitet werden kann und wodurch ein innderhalb einer Reihe von -befahlen liegender Befehl, wie zum Beispiel ein Aussprun^befehl, periodisch übersprungen wird, bis eine Grenzbedingung erreicht worden ist. Diese Operation«» ist ebenso nützlich, vienn es gewünscht ist, eine arithmetische Operation (wie zum Beispiel das Addieren) mit einer LMe von Operanden durchzuführen. Ein erster Befehl spezifiziert "addiere", ein zv/eixer Befehl (der übersprungen wird bis alle Listen ihre Grenze erreicht haben) spezifiziert einen Au-sprung- oder Abzwei°;bef ehl in ein ande-
BAD ORIGINAL
80 9901/0 696
res Programm, ein dritter ^efehl spezifiziert einen Rücksprung zum ersten Befehl.
Die Figuren 8-10 erläutern andere Verfahrensarten mit dem in Pig. 1 gezeigten System. Fig. 8 erläutert das statische Verfahren, wo der Befehlscode M gleich zwei ist. In dieser speziellen Verfahrensart tritt leine Vermehrung oder Verminderung auf. Das laufende Adresfnenwort wird vom Speicher 10 an eine bestimmte Adresse gelesen und im YA Register 33 in Stufe 06 gespeichert, wie das durch das Rechteck 260 angedeutet ist. Eine Bestimmung wird dann gemacht, ob die Adressen aneinandergereiht sind, die durch die Raute 261 in -^'ig. 8 angezeigt ist. Ist das A Bit eine 0, dann schreitet die Operation zu Stufe 09 fort, wie durch das Rechteck 262 angezeigt. Die laufende Adresse wird vom YA Register 33 zurück in den Speicher 10 eingelesen, und zwar an die Adresse, aus der es ausgelesen worden war. Dieses laufende Adressenwort wird ebenso im MA Register 30 gespeichert. Die Operation schreitet fort, um den Befehl auszuführen, wie das durch den Kreis 263 angezeigt ist. Ist das A Bit eine 1, dann schreitet die Operation zu Stufe 09 fort, wie durch das Rechteck 264 angezeigt. Die Operation ist hier die gleiche als die, die durch das Rechteck 262 angezeigt wird, außer daß die Operation in die Stufe 06 zurückkehrt, wie das durch den Kreis 265 angezeigt ist. Die automatische Regelung des überspringen eines Befehles wird im statischen Verfahren (M gleich 2) nicht benützt.
Wie bereits mit Hinweis auf Fig. 4 erörtert, zeigt ditjRt Jfigu?
8099Q1/0696
auch den Operationszyklus für das Verminderungsverfahren (ebenso wie für das Vermehrungsverfahren), wenn kein Listenregelungswort betroffen ist. Tatsächlich findet keine Vermin derung statt, da das B Bit den Wert null hat.
Fig. 9 illustriert den Betriebszyklus im V§7 ..inderungsverfahren, wenn ein Listenregelungswort existiert und die laufende Adresse nicht gleich der End- oder Startadresse ist. Die laufende Adresse wird dann vom Speicher 10 in das YA Register 33 in Stufe 06 eingelesen, wie durch das Rechteck 270 angezeigt. In Stufe 01 wird, wie durch das Rechteck 271 angezeigt, die Startadresse dadurch adressiert, daß ein Signal über Leitung 114 an die Eingangstorschaltung 76 gelangt, um das zweite Bit im MA Register 30 auf 1 einzustellen. Das bewirkt, daß das MA Register 30 nun das Startadressenwort adressiert (an die Adresse X plus 2) . Das Startadressenwort v/ird dann vom Speicher 10 ausgelesen und in das MB Register 21 eingelesen. Da das Verminderungsverfahren verwendet wird, gelangt ein Signal über ^eitung 131 an die arithmetische Recheneinheit 66,.um den Inhalt des YA Registers 33 um 1 zu vermindern. In Stufe 0B, wie durch das Bezugszeichen 272 angedeutet, wird das Adressenwort vom MB Register 21 in den Speicher 10 an die Adresse, aus der es herausgelesen werden war, wieder zurückeingelesen. Dann wird dieses Startadressenwort mit dem verminderten laufenden Adressenwort verglichen.
Nach Stufe 08 sind in Pig. 9 alle Operationen identisch mit
" denen, die in 3?ig. 5 gezeigt und unter Bezugnahme auf diese
IS
Figur erläutert worden sind. Es wird eine Entscheidung getroffen, ob die laufende Adresse gleich der Startadresse ist, wie das duroh die Raute 273 angezeigt ist. Es wird eine Bestimmung gemacht, ob die Adressen hintereinander angeordnet sind. Diese Entscheidung ist durch die Raute 274 angedeutet. Sind laufende und Start-Adresse nicht gleich und die Adressen hintereinandergereiht, dann schreitet der Operationszyklus nach Stufe 09 fort, wie durch das Rechteck 275 angezeigt. Schließlich kehrt der Operationszyklus in die Stufe 06 zurück, wie durch den Kreis 276 angezeigt. Sind die Adressen nicht hintereinandergereiht, dann setzt sich die Operation nach Stufe 09, wie im Rechteok 277 gezeigt, fort, um den Befehl auszuführen, wie das duroh den Kreis 278 angedeutet ist. Wiederum, wie in Pig. 5, -wird, wenn die laufende Adresse gleich der Startadresse ist, eine Entscheidung getroffen, ob oder ob nicht die Adressen hintereinandergereiht sind, wie das durch die Raute 279 angezeigt ist. Wie durch die Raute 282 angezeigt, wird eine Entscheidung getroffen, ob die Liste ihre Begrenzung erreicht hat. Das Verfahren schreitet dann nach Stufe 09 fort, wie das durch die Rechtecke 280, 283 und 285 angezeigt ist. Darauf kehrt das Verfahren nach Stufe 06 zu rück, wie durch den Kreis 28i angedeutet oder schreitet fort, um den Befehl auszuführen, wie durch die Kreise 284 oder 286 angedeutet.
Fig. 10 erläutert den Operationszyklus im Verminderungsverfahren, bei dem ein Listenregelungswort existiert (das B Bit hat den Viert l) und die laufende Adresse gleich der End- oder
80990 1/0696
bad
Startadresse ist (das 0 Bit hat den Wert 1). In Stufe 07, die durch das Bezugszeichen 291 kenntlich ist, wird das Bndadressenwort dadurch adressiert, daß über Leitung 113 ein Signal an die Regelungstorschaltungen 76 gelangt. Das End- adreseenwort wird dann in das MB Register 21 eingelesen. In Stufe 08, die durch das Bezugszeichen 292 gekennzeichnet ist, wird das Endadressenwort in den Speicher 10 zuriickgelesen. Dann wird das Endadresse-nwort mit der laufenden Adresse verglichen. Das YA Register 33 wird mit dem um 1 verminderten Inhalt des MB Registers 21 geladen und das geschieht auf dieselbe Art und Weise, in der das YA Register mit dem um 1 vermehrten Inhalt des MB Registers in Stufe 08 nach fig. 6 geladen wurde. Ist die laufende Adresse nicht gleich der Bndadresse, wie durch die in der Raute 293 zu treffende Entscheidung angedeutet, dann wird, wie durch die Raute 294 angedeutet, eine Entscheidung getroffen, ob die Adressen aneinandergereiht sind. Ist das der Fall, dann schreitet das Verfahren nach Stufe 09 fort, wie durch das Rechteck 295 angezeigt. Diese Operation ist identisch mit der im Rechteck 205 in-Fig. 6 gezeigten, mit der Ausnahme, daß das YA Register 33 vermehrt wird, wie das in Fig. 10 gezeigt ist, anstatt vermindert zu werden, wie das in Fig. 6 gezeigt ist. In Stufe 09 kehrt das Verfahren nach Stufe 0 zurück, wie durch den Kreis 296 angedeutet. Ist das A Bit eine O, so schreitet der Operationszyklus nach Stufe 09 fort, wie durch das Rechteck " 297 angezeigt. Diese Operation ist identisch der im Rechteck
809901/0696
207 in Fig. 6 gezeigten, mit der Ausnahme, daß das YA Register vermehrt anstatt vermindert wird. Das Verfahren führt dann den Befehl aus, wie durch den Kreis 298 angedeutet.
Ist die laufende Adresse gleich der Endadresse, äann wird eine Entscheidung getroffen, ob die Adressen hintereinandergereiht sind, wie das durch die Raute 299 angedeutet ist. Ist das A Bit eine 1, dann schreitet das Verfahren nach Stufe 09 fort, wie durch das Rechteck 300 angezeigt, ^ie hier stattfindenden Operationen sind identisch mit denen, die unter Bezugnahme auf das Rechteck 210 in i"ig. 6 beschrieben wurden. Das Verfahren kehrt dann nach Stufe $6 zurück, wie durch den Kreis 501 angezeigt. Ist das A Bit eine 0, dann schreitet der Operationszyklus nach Stufe 09 fort, wie durch das Rechteck 302 angezeigt. Diese Operationen sind identisch mit den in Fig. 6 unter Bezugnahme auf das Rechteck 212 beschriebenen. Die Operationsfolge setzt sich dann fort, um den Befehl auszuführen, wie durch den Kreis 303 angezeigt.
Obwohl lediglich eine beispielhafte Ausführungsform und verschiedene zur Erläuterung vorliegender Erfindung dienende Verfahren beschrieben wurden, sei darauf hingewiesen, daß andere Verfahrens- und Anwendungsmöglichkeiten gegeben sind, und daß an der gezeigten Ausführungsform der Erfindung die verschiedensten Änderungen vorgenommen werden können, ohne vom Grundgedanken der Erfindung abzuweichen. '
Fat ent aneprüoheι
809901/019$

Claims (7)

  1. ■ - iff -
    Patentansprüche
    Iy Digitales Datenverarbeitungssystem, das einen Speicher J und ein mit diesem verbundenes Speicheradresseerregister zur Adressierung der im Speicher gespeicherten Daten, sowie einen mit dem Speicher verbundenen Pufferspeicher zur Speicherung von vom Speicher in diesen übertragenen Daten und zur Rückübertragung derselben Daten in bestimmte Speicherplätze des Speichers aufweist, dadurch gekennzeichnet, d a ß im Speicher Listenregelungsworte gespeichert sind, die aus einem ersten Adressenwort, das einen 1 oder mehrere Bits enthaltenden Codeteil aufweist, einem zweixen und einem dritten Adressenwort bestehen, und daß ein Adressenmodifikationsregister vorgesehen ist, das mit dem Speicher in Verbindung steht und von ihm eines der Adressenworte empfängt, sowie durch Mittel, die mit dem Speicher und dem Speicheradressierregister verbunden sind, um dieses eine Adressenwort in veränderter oder unveränderter 'Form dem Speicher und dem Speicheradressierregister zuzuführen, sowie dadurch, daß der Pufferspeicher das zweite oder dritte Adressenwort empfängt und es wieder an den Speicher in den Speicherplatz, aus dem es ausgelesen wurde, zurücküberträgt, sowie dadurch gekennzeichnet, daß Mittel Bur Durchführung von arithmetischen Rechenoperationen und zum Vergleich, die mit dem Pufferspeicher und dem Adressenmodifikationsregister in Verbindung stehen, vorgesehen sind, um ■' aua dem Adressenmodifikationsregister Daten zu empfangen und
    80 9901/069$
    U74018
    algebralsoh plus 1,0 oder minus 1 hlnzuzuaddieren und das Ergebnis an das Adreeeenmodifikationeregister zurückzuübertragen, und um den Inhalt des PufferrSgisters mit dem Inhalt des Adressenmodifikationsregisters zu vergleichen oder um den Inhalt des Pufferregisters zu empfangen, algebraisch plus 1 Oder minus 1 dazuzuaddieren und das Ergebnis dem Adressenmodiflkationsregister zuzuführen.
  2. 2. System nach Anspruch 1, dadurch gekennzeichnet, daß das erste, zweite und dritte Adressenwort jeweils die laufende Adresse eines Operanden in einer gespeicherten Liste von Operanden enthält, die Bndadresse des letzten der Operanden und die Startadresse des ersten der Operanden, sowie dadurch, daß der Codeteil im ersten Adreseenwort dazu dient, anzuzeigen, daß die Operanden in der Liste von Operanden nacheinander und zyklisch durch das Listenregelungswort adressiert werden, sowie dadurch, daß Mittel vorgesehen sind, um das Vorhandensein eines bestimmten Codes in dem ersten Adressenwort festzustellen und die zyklische Operation zu regeln.
  3. 3. System nach Anspruch 1, dadurch gekennzeichnet, daß ein neuer Code in dem Adressenmodifikationsregister gespeichert wird als Ergebnis des von den Mitteln zur Durchführung arithmetisoher Rechenoperationen und Vergleich durchgeführten Vergleichs.
  4. 4. System nach Anspruch 2, dadurch gekennzeichnet, daß die Liste von Operanden in aufeinanderfolgenden Speicherplätzen im
    809901/0696
    Speicher gespeichert ist.
  5. 5. System nach Anspruch 1, dadurch gekennzeichnet, daß ein im Speicher gespeicherter Befehl, der eine bestimmte Verfahrensart der durchzuführenden Operationen bestimmt und von dem Speicheradressierregister adressiert ist, das erste Adressen- * wort adressiert, und dadurch, daß die in dein Befehl bezeichnete Verfahrensart bewirkt, daß die Mittel zur Durchführung arithmetischer Rechenoperationen und Vergleich zu dem Inhalt des Adressenmodifikationsregisters während eines OperationszykluB des Systems algebraisch plus 1,0 oder minus 1 addieren, oder zu den ihnen vom Pufferspeicher zugeführten Daten während eines Operationszyklus des Systems plus 1 oder minus 1 addieren.
  6. 6. System nach Anspruch 1, dadurch gekennzeichnet, daß im Speicher zumindest zwei Listenregelungsworte gespeichert sind, deren jedes ein erstes, ein zweites und ein drittes Adressenwort enthält, welches jeweils die laufende Adresse eines Datums in einer gespeicherten Liste von Daten und einen Codeteil, die Endadresse des letzten der gespeicherten Daten und die Startadresse des ersten der gespeicherten Daten enthält, sowie dadurch gekennzeichnet, daß das Adressenmodifikationsregister nacheinander das erste Adressenwort empfängt, es modifiziert, das Ergebnis mit dem zweiten oder dritten Adressenwort vergleicht, um festzustellen, ob das erste Adressenwort seinen Endwert erreicht hat und dann ein Ausgangssig-
    nal erzeigt, wenn der Sndwert noch nicht erreicht wurde, sowie
    809901/0696
    dadurch gekennzeichnet, daß eine Steuer- und Hegeleinheit mit dem Speicher, dem Speioheradressierregister, dem Pufferspeicher und dem Adressenmodifikationaregister verbunden iat, und dadurch, daß die laufende Adresse in einem ersten der Listenregelungsworte eine Adresse enthält, die ihrerseits wiederum indirekt über ein Adressenwort das erste Adressenwort in einer zweiten Listenregelungswort adressiert, und der Codeteil in dem ersten Adressenwort des ersten Listenregelungswortes in vorherbestimmbarer Weise eine verschiedener möglicher Operationsverfahren, denen jeweils ein Code zugeordnet ist, bezeichnet, wobei diese Codes in den Listenregelungsworten von der Steuer- und Regeleinheit wahrgenommen werden, die daraufhin entsprechende Signale erzeugt, um ein aufeinanderfolgendes Adressieren der jeweiligen Listenregelungsworte zu bewirken, das dadurch erfolgt, daß das erste darin enthaltene Adressenwort adressiert wird, bis die Codeteile keinen Code mehr enthalten.
  7. 7. System nach Anspruch 1, dadurch gekennzeichnet, daß in aufeinanderfolgenden Speicherplätzen des Speichere zumindest ein Programm gespeichert iat, das mindestens drei Befehle enthält, von den zumindestens zwei Listenregelungsworte gespeichert sind, sowie dadurch gekennzeichnet, daß das Adressenmodifikationsregister nach Empfang des ersten Adressenwortes dieses um 1 vermehrt und das Ergebnis mit dem zweiten Adressenwort vergleicht und bei Ungleichheit beider Adressenworte ein Ausgangssignal erzeugt und dem Speicher zuführt, sowie daduroh gekennzeichnet, daß ein Programnadreasierregiater mit dem Spei-
    80990.1/0096
    oheradressierregisttr und der Steuer- und Regeleinheit verbunden ist, um einen oder mehrere Befehle in einem Programm solang· su überspringen bis die laufende und die End-Adresse in den Mstenregelungsworten gleich sind, und um dann das Überspringen eines oder mehreren Befehlen zu beenden, sowie ' dadurch gekennzeichnet, daß ein weiterer Speicher vorgesehen ist, der mit dem Adressenmodifikationsregister und der Steuer- und Regeleinheit verbunden ist, um den Zustand des Codeteils des ersten Liatenregelungswortes zu speichern und ein vorherbestimmtes Signal an die Steuer- und Regeleinheit abzugeben, wenn die laufenden und die Endadressen in einem listenregelungswort gleich geworden sind.
    8· System nach Anspruch 7, dadurch gekennzeichnet, daß die weiteren 8peicher aus ersten bistabilen Schaltmitteln zur Speicherung des Zustandes des Codeteils und zweiten bistabilen Schaltmitteln zur Speicherung der Feststellung, ob die laufende Adresse in einem Listenregelungswort einen Endwert erreicht hat, bestehen und weiterhin eine logische Tor-•ohaltung aufweisen, die mit den ersten und zweiten bistabilen Scnaltmitteln verbunden ist, um dann ein Ausgangssignal an die Steuer- und Regeleinheit zu leiten, wenn der Codeteil einen vorherbestimmbaren Inhalt hat und wenn die laufende Adresse noch nicht ihren Sndv/ert erreicht hat.
    BAD ORIGfNAL
    809901/0696
DE19641474018 1963-06-10 1964-06-05 Datenverarbeitungssystem zur Steuerung von Programmablaeufen durch Listenregelungsworte Pending DE1474018A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US286794A US3297997A (en) 1963-06-10 1963-06-10 List control

Publications (1)

Publication Number Publication Date
DE1474018A1 true DE1474018A1 (de) 1969-01-02

Family

ID=23100186

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19641474018 Pending DE1474018A1 (de) 1963-06-10 1964-06-05 Datenverarbeitungssystem zur Steuerung von Programmablaeufen durch Listenregelungsworte

Country Status (2)

Country Link
US (1) US3297997A (de)
DE (1) DE1474018A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3774166A (en) * 1963-09-30 1973-11-20 F Vigliante Short-range data processing transfers
DE1250659B (de) * 1964-04-06 1967-09-21 International Business Machines Corporation, Armonk, NY (V St A) Mikroprogrammgesteuerte Datenverarbeitungsanlage
FR1477814A (de) * 1965-04-05 1967-07-07
US3384875A (en) * 1965-09-27 1968-05-21 Ibm Reference selection apparatus for cross correlation
US3405396A (en) * 1966-04-29 1968-10-08 Scient Data Systems Inc Digital data processing systems
US3426332A (en) * 1966-12-15 1969-02-04 Ibm Data handling apparatus with recurrent address manipulation to access a plurality of storage areas
CH486071A (de) * 1967-03-31 1970-02-15 Kienzle Apparate Gmbh Speicherprogrammierte elektronische Rechenmaschine und Verfahren zu deren Betrieb
US3521237A (en) * 1967-05-11 1970-07-21 Bell Telephone Labor Inc High-speed data-directed information processing system
US3440618A (en) * 1967-07-07 1969-04-22 Bell Telephone Labor Inc Information processing system
US3611301A (en) * 1968-05-13 1971-10-05 Time Inc Systems for informational processing of dispatches
US8139668B2 (en) * 2009-03-31 2012-03-20 Mitsubishi Electric Research Laboratories, Inc. Unified STTC encoder for WAVE transceivers

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT614744A (de) * 1958-08-29 1900-01-01

Also Published As

Publication number Publication date
US3297997A (en) 1967-01-10

Similar Documents

Publication Publication Date Title
DE3424962C2 (de)
DE2555963C2 (de) Einrichtung zur Funktionsmodifizierung
DE2355993C3 (de) Programmierbare Datenverarbeitungsanlage
DE2321112C2 (de) Signalverarbeitungsanlage
DE1900141C3 (de) HilfsSteuerwerk für eine Datenverarbeitungsanlage
DE2145120A1 (de) Digitales Datenverarbeitungsgerat
DE2126206A1 (de) Datenverarbeitungsgerat
DE1218761B (de) Datenspeidbereinrichtung
DE1499288B2 (de) Datenverarbeitungsanlage
DE1549523B2 (de) Datenverarbeitungsanlage
DE2646296A1 (de) Assoziative elektronische schaltungsanordnung aus digitalen prozessoren
DE1474018A1 (de) Datenverarbeitungssystem zur Steuerung von Programmablaeufen durch Listenregelungsworte
DE2339636A1 (de) Programmsteuereinrichtung
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2360303A1 (de) Datenverarbeitungssystem mit dynamischer adressuebersetzung
DE1262641B (de) Mikroprogrammsteuerwerk
DE2739525C2 (de) Rechner
DE2617485C3 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
DE1424747A1 (de) Datenverarbeitungsanlage
DE2245284A1 (de) Datenverarbeitungsanlage
WO2000038049A1 (de) Verfahren und anordnung zur erzeugung und ausführung von komprimierten programmen eines vliw-prozessors
DE2349590A1 (de) Vorrichtung zur datenverarbeitung
DE1424710B2 (de) Schaltungsanordnung zum verbinden von daten abgebenden mit daten aufnehmenden einrichtungen in datenverarbeitungs anlagen
DE2704560B1 (de) Datenverarbeitende Anlage mit paralleler Bereitstellung und Ausfuehrung von Maschinenbefehlen
DE19850650C2 (de) Verfahren zum Übertragen von Daten