DE1549444A1 - Informationsverarbeitungseinrichtung - Google Patents

Informationsverarbeitungseinrichtung

Info

Publication number
DE1549444A1
DE1549444A1 DE19671549444 DE1549444A DE1549444A1 DE 1549444 A1 DE1549444 A1 DE 1549444A1 DE 19671549444 DE19671549444 DE 19671549444 DE 1549444 A DE1549444 A DE 1549444A DE 1549444 A1 DE1549444 A1 DE 1549444A1
Authority
DE
Germany
Prior art keywords
register
list
word
memory
signal
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
DE19671549444
Other languages
English (en)
Inventor
Harmon Sherril Allan
Goshorn Larry Arthur
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.)
General Electric Co
Original Assignee
General Electric Co
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 General Electric Co filed Critical General Electric Co
Publication of DE1549444A1 publication Critical patent/DE1549444A1/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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Peptides Or Proteins (AREA)

Description

-SW-
Electric Company, Scheneotady N.Y./USA
Informationsverarbeitungseinrichtung
Die Erfindung "betrifft eine Informationsverarbeitungeeinrichtung mit Registern und Speiohervorriehtungen, die mehrere Speicherplätze zur Speicherung einer eiitspreohenden Anzahl von Informationswörtern enthalten. Insbesondere ^ handelt es sich um eine Einrichtung zur Bildung zweier Prioritätsstufen "bei der Kommunikation zwischen Informationslisten, die in einem Speicher mit wahlfreiem Zugriff gespeichert sind, und einem Rechen- und Steuerwerk.
Realzeitinformationsverarbeitnngseinrichtungen müssen auf das Auftreten eines Ereignisses innerhalb seiner Beeinflussungszeit ansprechen, um unerwünschte oder katastrophale Folgen zu vermeiden, die sich andernfalls aus diesem Ereignis ergeben würden. Ferner muß eine Realzeitinformationsverarbeitungseinrichtung mehrere Funktionen scheinbar gleichzeitig ausführen. Die zu verarbeitenden Daten werden von vielen Ereignissen oder Neeenprozessen abgeleitet, von denen einige ständig, einige periodisch und andere statistisch auftreten.
109808/ 1 583
15494U
Ein Digitalrechner ist an sich eine seriell arbeitende Vorrichtung, wenn man ihn in der Befehleebene betrachtet. D.h., er kann die Programmschritte nur seriell, einen nach dem anderen ausführen. Infolge seiner außerordentlich hohen Rechengeschwindigkeit kann ein Digitalrechner erfolgreich zur Realzeitprozesssteuerung und/oder Überwachung verwendet werden· Damit ein Digitalrechner den funktionellen Anforderungen des gesteuerten oder überwachten Prozesses folgen kann, muß für die vielen Punktionen der Einrichtung eine Priorität s einrichtung vorgeshen sein. Das gleichzeitige Auftreten bestimmter Kombinationen von Ereignissen kann dann eine zeitweilige Heuzuord&ung von Prioritäten erforderlich aiaohen. Infolge de se sn unterscheiden sich Realzeit programme wssentlich von Mohi-Realzeitprogrammtiu
Das Programm eines Bealzeitrechners wird somit praktisch zu einem System von Programmen, die die Prozessfunktionen gemäß einem vorgegebenen Prioritätsschema steuern und/oder überwachen. Diese Programme arbeiten derart unter einem "Exekutiv-Steuerprogramm11, daß sie sich gegenseitig in Abhängigkeit von den sich ändernden Prozessen unterbrechen.
Diesem scheinbaren Durcheinander, das sich durch das
muß Ineinandergreifen so vieler Programme ergibt, eine Ordnung zugrundeliegen. Das Exekutivsteuerprogramm muß deshalb von Hause aus zahlreiche "Bucnhaltungs"- oder "Haushaltungs11-
-2-
109808/ 15 83 bad original
1549U4 S
Funktionen, d.h. organisatorische Punktionen,ausüben. In der Tat erweisen sich die bis zu einem gewiesen Grade bei allen Rechnerprogrammen erforderlichen organisatorischen Punktionen bei einem Reelzeitrecheneinrichtungsprogramm als besonders wichtig«
Daraus ergibt sich, daß bei der Wahl von Realzeitinformationsverarbeitungseinrichtungen die besonderen Anforderungen an Realzeitprogramme beachtet werden müssen, an denen sic h diese von denjenigen*Programmen unterscheiden, die für Niclirealzeit-Inforniationeverarbeitungsfälle erstellt werden. Gleichzeitig kann sich eine Verbesserung dee Realzeitbetriebe als sehr nützlich für einen Nichtrealzeitbetrieb erweisen, wenn die Verbesserung in einer Verkürzung der Verarbeitungszeit und/oder Steigerung des LeiatungswirktingBgrades besteht.
Gewöhnlich werden sowohl bei Realzeit- als auch bei Nichtrealzeit-Informationsvererbeitungeeinrichtungen gespeicherte Listen verwendet. Eine derartige Liste enthält eine Reihe mehr oder weniger zusammenhangender digitaler Wörter, die in mehreren aufeinanderfolgenden Speicherplätzen im Speicher der Informationsverarbeitungseinrichtung gespeichert sind. Bei der gewöhnlichen Listentechnik wird jedes Wort oder jeder Posten der Liste direkt durch einen Befehl adressiert, der gerade zergliedert (analysiert) und ausgeführt wird, um einen speziellen Poeten
-3-
10980t/U8 3
1549U4
der Liste zu benutzen oder su beeinflussen. Der Befehl kann, bevor er ausgeführt wird, derart abgewandelt (modifiziert) worden sein, daß ein spezieller Posten in einer Liste nach einem an sich bekannten Verfahren, z.B. dem Indexverfahren, aufgesucht wird. Die Posten, aus denen eine solche Liste besteht, können jedoch alle die gleiche Priorität haben.
Nun will nan jedoch auch Listen mit Poeten verarbeiten können, die «ehrere verschiedene Prioritäten haben. So ist es beispielsweise an sich bekannt, daß eine Liste dazu ▼erwendet werden kann, Informationen in oder aus Eingabe/ Ausgabe-Vorrichtungen zu leiten. Wenn z.B. Informationen in einer Liste angeordnet würden, bevor sie an eine Ausgabevorrichtung, z.B. eine Schreibmaschine, ausgegeben werden, würde die Liste teilweise oder ganz in methodischer Weise dadurch gefüllt» daß jeder Speicherplatz einzeln adressiert wird. Bee Satfernen läßt sich dann in ähnlicher Weise bewerkstelligen, sowie ei die Zeit und die Betriebsbereitschaft der Wiedergebeechr«ibmaeohine erlaubt» Se ist jedoch wünschenswert, Poeten mit hoher Priorität zuerst zu verarbeiten. Solch ein Poeten sit hoher Priorität kann ein Alarnzeichen sein, das einen gefährlichen Zustand in dem überwachten oder gesteuerten System anzeigt, wobei dieser ao schnell wie möglich ausgedruckt oder auf
-4-
109808/1583 BAD
andere Weise angezeigt werden muß. Um diese Fähigkeit zu erzielen, wurde das "zirkuläre Listenanlegen11 ( circular listing) entwickelt. Beim zirkulären Listenanlegen wird einer gesamten Liste eine Adresse im Speicher zugeordnet, der ein Steuerwort enthält, das folgendes bestimmt: Die maximale Größe der Liste, die Speicheradresse eines EINFÜHRBAREN ANFANGSPOSEENS der Liste, die Anzahl der gerade in der Liste befindlichen Posten und ob die Liste gerade leer oder voll ist. Das zirkuläre Listenanlegen ermöglicht das Anhängen oder Entfernen an oder von dem Ende der Liste. Ein Posten mit hoher Priorität kann »lao am Anfarg der Liste angehängt werden, so daß er den nächsten von einem Programm, das wiederholt den Anfangsposten adressiert, zu entfernenden Posten daiäbellt.
Di* Aufgabe der Erfindung wird nun* darin gesehen, eine Einrichtung zu schaffen, mit deran Hilfe es möglich ist, das zirkuläre Listenanlegen vollautomatisch durchzuführen, wahlweise Postnn an eine Liste anzuhängen oder von der Liste zu entfernen, und zwar am Anfang oder am Ende der Liste, wobei der Anfang- oder Endposten in einer Liste durch Adressieren eines Listensteuerwortes in Abhängigkeit von Signalen, die aus einzelnen von der Informationsverarbeitungseinrichtung dekodierten Befehlswörtern erzeugt werden, angehängt oder entfernt werden, und schließlich Listensteuerwörter in Abhängigkeit von
109808/1583, bad
speziellen Anhängungs- oder Entfernungebefehlen, die ausgeführt werden, selbsttätig zu modifizieren.
Gemäß der Erfindung wird diese Aufgabe dadurch gelöst, dafl folgende Vorrichtungen miteinander kombiniert sind: ein erstes Register zur Zwischenspeicherung des Befehlswortes einer Anweisung, die von der Informstionsverarbeitungseinriohtung ausgeführt werden soll, wobei das Befehlswort aintn Operandenadressteil enthält,
eine idreseierrorriohtung, die auf den Adressteil de» im ersten Register gespeicherten Befehlswortes anspricht und die Kennung ©inss ersten Speicherpiatees bildet,
ein zweites Register zur Zwischenspeicherung des Operanden-Glt% &Q& im ersten Register gespeicherten
ein drittes Register, das mit der Speichervorrichtung zusammenarbeitend in Verbindung steht,
eine auf die von der Adressiervorrichtung ansprechende Vorrichtung zur Übertragung des im essten Speicherplatz gespeicherten Wortes in das dritte Register,
eine Prüfvorrichtung zur Prüfung eines ersten Teils des im dritten Register zwischengespeicherten Wortes und zur Feststellung eines Speicherplatzzustandes,
-6-
BAD ORIQiNAL
100Θ03/iSd3
eine Vorrichtung in der Prüfvorrichtung, die auf die Feststellung des Speieherplatzzustandes anspricht und ein Signal erzeugt,
eine Vereinigung«vorrichtung sun Vereinigen mindestens eines zutJfctzlichen Teile das im dritten Register zwischen· gespeicherten Wortes «it der im zweiten Register ζ wie ο he ngespeioherten Operandenadresse, um die Kennung eines zweiten Speicherplatzes zu bilden,
ein viertes Register und
eine auf das Signal und die von der Vereinigungevorrichtung ansprechende Vorrichtung turn Übertragen eines Informationawortes »riechen dem vierten Register und dem «weiten Speichelet« *
Bei dieser Ausführung dar Erfindung tat also eine Einrichtung vorgesehen, dta auf Signale anaprioht, die ihreraeita aua "Liaten"-Befehl»wört»rn abgeleitet eind, wobei diese Befehlewörter einen Operandenadreastail haben, der die Adraaaa eines Lietenateuerwortes beatiaat. ferner sind Mittel vorgesehen, über dia die Signale eine Fdfee von Operationen auslösen, au denen auch die übertragung dea Llstensteuertrorte* aua dem Speloherplats im Speicher Ina Rechenwerk der Informetionaverarbeitunge- -einrichtung gehört. Sa* Llatensteuerwort awird dekodiert,
101101/1583
um den augenblicklichen bzw. laufenden Zustand der Liste, den es darstellt, festzustellen und die vorgeschriebene Anhängung an die oder Entfernung von der Liete auszuführen, wie es in einem Operationsteil des Listenbefehlswortes vorgeschrieben ist. Eine weitere Einrichtung spricht ebenfalls auf aus dem Listenbefehlswort abgeleitete bzw· dekodierte Signale an, um das Listensteuerwort in Abhängigkeit von der speziellen, gerade ausgeführten Operation auf den neuesten Stand zu bringen. Je nachdem, welcher Listenbefehl gerade ausgeführt wird, werden diejenigen Teile des Listeneteuerworts, die die relative Adresse des EINPÜHRBABEN ANFANGSPOSTENS der Liste bestimmen, und die Anzahl der laufend in der Liste befindlichen Posten individuell um 1 erhöht oder verringert oder nicht geändert· Wenn die Liste bei der Ausführung eines Listenbefehls leer oder voll wird, werden dritte oder vierte Teile des Listensteuerwortes derart geändert, daß sie diesen augenblicklichen Zustand anzeigen. Auch ist eine Einrichtung vorgesehen, die das Listensteuerwort selbstiätig in ihren richtigen Speicherplatz im Speicher zurückspeichert, wenn ein Anhängung8- oder Entfernungs-Listenbefehl erfolgreich ausgeführt ist. Außerdem ist eine Einrichtung vorgesehen, die die Programmeteuerung auf eine von zwei
-8-
1 09809/1583
BAD ORlGfNAL
abwechselnd benutzten Speicherplätzen in Abhängigkeit davon überträgt, ob die Anhängung oder Entfernung erfolgreich war oder nicht.
Die Erfindung wird nun anhand der beiliegenden Zeichnungen ausführlich beschrieben, wobei alle aus der Beschreibung und den Zeichnungen hervorgehenden Merkmale zur Lösung der Aufgabe im Sinne der Erfindung beitragen können und mit dem Willen zur Patentierung in die Anmeldung aufgenommen wurden.
Mg. 1 zeigt im Blockschaltbild den Verlauf des Informationsflusses in das Rechen- und Steuerwerk nach fig. 5 in einem vierten Re iheriolge st euer zustand, während der Ausführung der Befehle ABL, AEL, RBIs und REL.
i"ig. 2 zeigt im Blockschaltbild den Verlauf des Informationsflusses in das Rechen- und Steuerwerk nach fig. 5 in einem fünften Reihenfolgesteuerzustand während der Ausführung der Befehle ABL und AEL und
Pig, 3 zeigt im Blockschaltbild den Verlauf des Informationsflusses in das Rechen- und Steuerwerk nach Pig. 5 in einem fünften Reihenfolgeateuerzustand während der Ausführung der Befehle RBL und RBL.
-9-
10 980 8/1583 BAD original
Pig. 4 ist ein symbolisches Diagramm, das das Format der verschiedenen in den Systemen verwendeten Befehlswörter darstellt.
Pig'. 5 ist ein Blockschaltbild des Rechen- und Steuerwerks, das in der Informationsverärbeitungseinrichtung verwendet wird.
Fig. 6 fet ein Blocks±taltbild des Taktsteuerteils des Rechen- und Steuerwerks nach Pig. 5.
Pig, 7 zeigt tabellarisch den Zustand dreier Flipflops eines TaktZählers in dem Taktsteuerteil, die vom Taktgeber abgegebenen Signale und die schaltalgebraischen Gleichungen von Signalen, die den Taktzähler von einem Zustand zum nächsten weiterschalten.
Pig. 8 zeigt im Blockschaltbild die größeren InformationsfluBpfade zwischen verschiedenen Registern des Rechen- und Steuerwerks nach Fig. 5 in einem normalen ersten Reihenfolgesteuerzuetand während der Ausführung eines typischen Befehls.
Pig. 9 zeigt im Blockschaltbild die größeren Informationsflußwege zwischen verschiedenen Registern des Rechen- und Steuerwerke nach Pig· 5 in einem normalen zweiten
-10-
109808/1583
ORIGINAL
15494U 44
Reihenfolgesteuerzuetand während der Ausführung eines typischen Befehls.
Pig. 10 ist ein Taktdiagramm, das die Reihenfolge von Taktsignalen zeigt, die den Informationsfluß steuern, der in den Fig. 8 und 9 angedeutet ist, und das ferner die Beziehungen zwischen den TaktSignalen darstellt, die in dem Taktsteuerteil nach Fig. 6 erzeugt werden.
Fig. 11 zeigt im Blockschaltbild den größeren Teil der Schaltwerke des Sechen- und Steuerwerks nach Fig. 5, das vorbeetimmte Signale abgibt.
Fig. 12a zeigt schematise!! einen Speicherblock fester Lange, der für eine Zirkulare Liste reserviert ist, und ferner das Format eines Liatensteuerwortes, das im ersten Speicherplatz des Blocks gespeichert ist.
Fig. 12b zeigt symbolisch den zirkulären bzw. kreisförmigen Aufbau der Liste nach Fig. 12a.
Fig. 12c ist eine Tabelle, die die Modifikationen zeigt, die in Teilen 51F" und M!i" eines Listensteuer-Wortes während der Ausführung von Listenbefehlen er-
-11-
109808/1583 bad original
folgen} und den Speicherplatz, der von jedem Listenbefehl relativ zu einer Adresse Z des Speicherplatzes, in dem das Lietensteuerwort in "f-und "N"-Teilen aufgeteilt vor der Modifikation gespeichert ist, beeinflusst wird.
Die Fig. 13-21 eind echematische Darstellungen des Infafcltee einer als Beispiel gewählten zirkulären Liste, während verschiedene Operationen von der erfindungsgemäßen Einrichtung mit ihr ausgeführt werden.
Die fig« 22 let ein Taktdiagramm aur Erläuterung der Wirkungsweise der erfindungsgemäßen Einrichtung bei der Ausführung eines ABL-Befehto.
Pig. 23 ist ein !Paktdiagramm zur Erläuterung der Wirkungsweise der erfindungsgemäßen Einrichtung bei der Ausführung eines AEL-Befehls.
Pig. 24 ist ein Taktdiagramm zur Erläuterung der Wirkungsweise der erfindungsgemäßen Einrichtung bei der Ausführung eines RBL-Befehls.
-12-
109808/1S83 ßAD
15494U U
Fig, 25 ist ein Taktdiagramm zur Erläuterung der Wirkungsweise der erfindungsgemäßen Einrichtung bei der Ausführung eines REL-Befehls.
Fig. 26 üst ein Blockschaltbild, das die Wirkungsweise des Zählers J im Rechen- und Steuerwerk nach Pig, 5 bei der Ausführung der Befehle ABL, AEL, RBL und REL zeigt, und
die Fig. 27 und 28 sind Blockschaltbilder von Schaltwerken, die kritische Bitmanipulationen, Prüfungen und Entscheidungen, die in einem dritten ReihenfolgesteuerzisBtand während der Ausführung der Befehle ABL, AEL, RBL und REL auftreten, ausführen.
Literaturstellen zum bekannten Stand der Technik* Digital Computer Design Fundamentals von Yaohan Gnu, herausgegeben 1962 von der MoGraw-Hill Publishing Company, Ine, und Digital Computer Primer von E. M. MoCormick, herausgegeben 1959 von der MoGraw Hill Book Company, Inc.
-13-
109808/1583
Zunächst sei auf die Figuren 4 und 5 Bezug genommen: Sie Grundinforaationaeinheit, die in der speziell beschriebenen Einrichtung verwendet wird, ist ein Wort aus 24 binären Ziffern, «it denen 8 Deziaalzahlen ±u Octalcode dargestellt werden können. Es werden drei Hauptkategorien von Wörtern in der Einrichtung verwendet: 1. Datenwörter, 2. Befehlswörter und 3. Hilfswörter zua Adressieren und Steuern. Wie noch erläutert wird, sind die Operationscodes der verschiedenen Befehlswörter aus den Bits 23 - 18 der Befehlswörter gebildet. Die Operationscodes können daher durch zwei Octalziffern dargestellt werden. Sine 8 als Index nach einer Zahl bedeutet Octalschreibweise. Eine IO als Index nach einer Zahl bedeutet Dezimalschreibweise.
Die von Rechen- und Steuerwerk der Einrichtung ausgeführten Befehlswörter sind in 6 Kategorien eingeteilt: Volloperanden-, GEII-, GJ3J2-, GEIJt, Quasi- und Sprung-Öleitkoama-Befehle. Die letzteren werden entsprechend des englischen "step floating point" auch ait SFP abgekürzt. Der Aufbau aller dieser Befehle ist in Fig. 4 dargestellt. Wie bereits erwähnt, werden die Operationscodes bei.allen Befehlen von den 6 höchstwertigen Bits (23 - 18) der Befehlswörter gebildet. Der Befehlscode bestirnt die spezielle Wirkimg, die sich durch die Ausführung eines Befehle ergeben soll.
-14-
109808/1593
Sie Vollperandenbefehle sind die aa häufigsten verwendeten. Diese Befehle werden zur Aueführung von Rechenoperationen* logischen Operationen, Indexsteueroperationen und Datenübertragungen in und aus des Hauptspeicher-Modul 2 verwendet. Die Bits 13-0 dieser Befehlswörter« der Operandenadressteil, bezeichnen die Adresse des Speicherpiatees i« Hauptspeicher 2, der die Informationen enthält, die durch die Ausführung dee Befehls verwendet oder beeinflußt werden aollen. Bit ?4 der VolloperandenbefehlswtSrter bewirkt, wenn es eine "1* darstellt, eine Modifikation der Operandenadresse, was relative Adressierung genannt wird, und noch ausführlicher beschrieben wird.
Die Befehle GEN1 unterscheiden sich von anderen Befehlsarten durch ihren Operationscode 05g» Di«se Befehle sind ferner durch Mikrocodierung der Bits 14 - O des Befehlswortes unterteilt. Sie werden hauptsächlich zur Ausführung von Bitoanipulationen im Hauptakkuaulatorregieter des Rechen- und Steuerwerks 1 verwendet.
Die Befehle GEN2 unterscheiden sich von anderen Befehlen durch ihren Operationscode 25g. Diese Befehle sind ebenfalls durch Mikrocodierung der Bits 14-0 des Befehlswortes unterteilt. Sie werden in der Einrichtung für folgende Zwecke verwendet:
109808/fäil
BAD ORIG'NAL
1549U4
1. Zur Auswahl von Baugruppen und Vorrichtungen in der Eingabe-yAuegabe-Einrichtung,
2. zur Übertragung von Daten in diese oder aus diesen Vorrichtungen und
3. zur Ausführung von Programmsteuerungsübertragungen, wie sie von den verschiedenen internen und externen Bedingungen bzw. Zuständen, auf die die Einrichtung anspricht, vorgeschrieben werden.
Pie Befehle OH3 unterscheiden sich von anderen Befehlen durch ihren Operationscode 45β· Diese Befehle sind ebenfalls durch Mikrocodierung der Bits H - 0 des Befehlswortes unterteilt. Sie werden zur Verarbeitung des Inhalts der Haupt- und Sekundärakkumulatorregister und zur Beeinflussung anderer Elemente in Rechen- und Steuerwerk 1 verwendet. Die Befehle GEH3 werden auch in Quasi-Unterprogrammen zur Beschleunigung von Gleitkomma-Rechenoperationen verwendet.
Quasi- Befehle sind erkenntlich am Vorhandensein der Zahl 7g in den Bitstellen 23 bis 21 des Befehlewortes. Diese Befehle werden zur Auslösung von Quasi-Unterprogrammen verwendet, bei denen Gleitkomma-Rechenoperationen oder andere sich wiederholende spezielle Funktionen ausgeführt werden. Die Hauptspeicher-2-Adresse des ersten Befehlswortes in eines QuasiUnterprogramm wird durch den Operationscode dee entsprechenden Quasi-Befehls bestimmt.
15A9U4
SFP-(step floating point)-Befehle sind durch ihren Operationscode 01g gekennzeichnet. Sie werden in Quasi-Unterprogrammen zur Verwirklichung und Beschleunigung von Gleitkomma-Rechenoperationen verwendet. Die Bits H-O der Befehlswörter sind mikrocodiert, um Bitmanipulationen im Rechen- und Steuerwerk spezieller Bedeutung hinsichtlich der Durchführung von Gleitkomma-Operationen auszuführen.
Die als X-Bits bezeichneten Bits 17 - 15 aller Befehlswörter sollen anzeigen, ob eine herkömmliche Indexmodifikation mit einem Befehl ausgeführt werden soll, bevor er ausgeführt wi^d, und wenn eine Indexmodifikation vorgeschrieben ist, welche Indexzelle die modifizierende oder Indexgröße enthält, die die Umsteuergröße (modifier) sein soll. Wenn die Bits 17-15 aller Befehlswörter alle "Null" sind, erfolgt keine Indexmodifikation, wenn das Befehlswort in das Rechen- und Steuer werk 1 zur Ausführung übertragen wird. Wenn die Bits 15 - 7 irgendeine andere mögliche Kombination (001-111) bilden, erfolgt eine Indexmodifikation des Befehlswortes, indem der Inhalt des bezeichneten Speicherplatzes (00001-0007g) zu den Bitstellen 15-0 des Befehlswortes hinzuaddiert wird. Bei dem am häufigsten verwendeten Befehl "Volloperand" besteht das Ergebnis normalerweise in einer Änderung des Operandenadressteils des Befehlswortes. Bei anderen Befehlsarten kann die Befehlsmikrocodierung und mithin die auszuführende Operation jedoch durch Indexmodifikation beeinflußt werden.
Wenn die insgesamt mögliche Anzahl von Wörtern, die im Hauptspeicher 2 gespeichert werden können, die für den Darstellungsbereich desjenigen Teils (der Bits 13-0 der VoIl-•operandenbefehlswörterj, der die Operandenadresse bestimmt, überschreitet, wird eine spezielle Art der Adressierung verwendet, um eine größere Adressierfähigkeit zu erhalten, ohne die Grundwortlänge der Informationsverarbeitungseinrichtung zu erhöhen» Das Bit 14 der Tolloperandenbefehlswörter dient zur Vorb.estimmung, ob bei einem Befehlswort, das zur Ausführung ins Rechen- oder Steuerwerk 1 gerufen wurde, die relative Adressierung angewendet werden soll oder nicht. Wenn das Bit H eine "1" darstellt, wird die relative Adressierung vorbestimmt, und der Operandenadressteil des Befehlswortes wird vor der Ausführung des Befehles nach vorbestimmten Rechenregeln derart modifiziert, dafl die Gesamtzahl der adressierbaren Speicherplätze ist Hauptspeicher 2 viermal so groß ist wie derjenige, der durch die Bits 13-0 oder die relative Adressierbarkeit vorbestimmt werden könnte. Wenn das Bit H eine "Kuli" ist, wird die relative Adressierung nicht angewandt, und die Befehlswortoperandenadresse ist diejenige, die direkt durch die Bits 13-0 bestimmt wird, wobei diese Bits einer Indexmodifikation, wie erwähnt, unterworfen werden.
Quasi-Befehlswörter können ebenfalls relativ adressiert sein, obwohl das Ergebnis nicht das gleioheist, wie das, was sich mit Volloperandenbefehlswörtern erzielen lfcßt. Wenn ein Quasi-!-
1088Ö8/-W83 BAD original
15494U
Befehlswort ausgeführt und die Prograaasteuerung in den voa Quasi-Befehlswortoperationscodeteil vorgeschriebenen Speicherplatz übertragen wird, wird die ia Operandenadressteil enthaltene Binärzahl autoaatisch in einen vorbestiaaten Speicherplatz übertragen, aus dea sie, falls erwünscht, für das Quasi-UnterprograiDB geholt werden kann. Wenn ein Quasi-Befehlswort "relativ adressiert " ist, ergibt sich schließlich eine Änderung der la vorbeetiaaten Speicherplatz abgespeicherten Binärzahl und keine Änderung der Operandenadresse selbst.
Rechen- und Steuerwerk
Pig. 5 ist ein vereinfachtes Blockschaltbild des Rechen- und Steuerwerks (weiterhin Rechenwerk genannt) 1 und der Register ia Hauptspeicher 2, ait denen es direkt koaauniziert. Das Blockschaltbild zeigt die funktionell Beziehung zwischen den Registern, einea Paralleladdierwerk und einea Serienvoll·»· addierer. Die Inforaationsübertragung zwischen den Registern und den anderen Bauteilen des Rechenwerks 1 erfolgt, wie es durch die Yerbindungaleitungen in Fig. 5 angedeutet ist, durch Parallel- und/ oder Serienübertragung von Binärziffern. In der nun folgenden Beschreibungseinleitung werden nur die wesentlichen Registereigenachaften und -funktionen beschrieben, während der InforaationsTerlauf ia weiteren Verlauf der Beschreibung erläutert wird.
-19-109808/1583
BAD
IO
Das Paralleladdierwerk 20 ist ein 24-Bit-Paralleladdierwerk ait gleichzeitiger (Vorausschau-J-Übertrag-Portpflanzung zwischen allen vier Bit-Gruppen, die je nach Wunsch durchgeschaltet und gesperrt werden können. Eine Erläuterung der Wirkungsweise von Paralleladdierwerken mit gleichzeitiger Übertragfortpflanzung befindet sich auf den Seiten 390 und 391 des bereits zitierten Buches "Digital Computer Design Fundamentals" von Taohan. Chu. Alle parallelen Rechenoperationen la Rechenwerk 1 werden im Paralleladdierwerk 20 ausgeführt. Außer für Rechenfunktionen dient das Paralleladdierwerk 20 auch als "NABE" ("hub") für die meisten Pairallelübertragungen von Daten zwischen den Registern des Rechenwerkes 1.
Das A-Regieter 21 ist ein 24-Bit-Akkumulator für Rechenoperationen und Bitmanipulationen. Heben dem normalen Parallelaustausch von Informationen mit dem Paralleladdierwerk 20 ist es in der Lage« entweder Rechts- oder Linkeverschiebungen auszuführen. Die Parallelübertragung von Informationen kann zwischen einem Teil des A-Registers 21 und dem J-B&hler 30 für Gleitkomma-Operationen ausgeführt werden. Das A-Register 21 ist in der Lage, mit dem Q-Register 22, dem "F"-Volladdierer 27 und dem "H-"Volladdierer 29 zusammenzuarbeiten.
Das Q-Regieter 22 ist ein 24-Bit-Hilfsakkumulator, der in Verbindung alt dem A-Register 21 für Rechenoperationen mit zweifacher Genauigkeit verwendet wird. Außerdem winj der Inhalt des Q-Registere 22 zur Bestimmung von Operationsteilen des
109808/1583
_2o - BAD ORIGINAL
Α-Registers 21 und/ oder B-Registers 25 während der Ausführung von "Teil"-Befehlen verwendet, bei denen die vorgeschriebenen Teile (Gruppen aus einem oder mehreren Bits) eines Inforaationswortes beeinflußt werden. Das Q-Register ist ebenfalls in der Lage, Links- oder Rechtsverschiebungen auszuführen und Informationen in das oder aus dem Paralleladdierwerk 20 parallel zu übertragen und in der Lage, mit dem "Ρ·8 Volladdierer 27 zusammenzuarbeiten.
Das I-(instruction)-Register 23 ist ein 26-Bit-Register, in dem das Befehlswort, das in einem vorbestimmten Zeitpunkt ν ausgeführt wird, gespeichert wird. Zwei Bits A und B sind zwischen den Bits 14 und 13 eines normalen 24-Bit-Befehlewortes angeordnet, wenn im I-Register 23 ein 16-Bit-Operandenteil bei größerer S/peicheraddressierung vorgesehen sein soll. Die in das oder aus dem I-Register 23 übertragenen Bitinformationen werden normalerweise parallel übertragen, obwohl Teile, des I-Registers 23 unter bestimmten Bedingungen seriell verschoben werden können. Das I-Register 23 kann mit dem Paralleladdierwerk 22, dem P-Register 24, dem I-Volladdierer 28, dem Speicheradressenregister 32 und dem Speicherdatenregister 33 zusammenarbeiten.
Das P-(programm location)-Register 24 ist ein 16-Bit-Register, das normalerweise die Adresse des Speicherplatzes im Haupt-
- 21 -
109808/1583 bad
1549U4
speicher 2 bestirnt, aus des der als nächster auszuführende Befehl geholt werden soll. Alle Informationen werden parallel in das und aus dem P-Register 24 übertragen. Das P-Register
24 kann «it des Paralleladdierwerk 20, des I-Register 20, de» H-Eegister 26 und den Spticheradressenregister 32 zusamaenarbeiten.
Das B-Register 25 ist ein 24-Bit-Paralleleingangs-Zwischenspeicherregister, das zwischen den Hauptspeicher 2 und den Verarbeitungsregistern des Rechenwerks 1 angeordnet ist. Alle Informationen, die in die «"öder aus den Speicherplätzen des Hauptspeichers 2 übertragen werden, werden durch dieses Register über das Speicherdatenregister 22 geleitet. Das B-Register kann bei der Ausführung bestimmter Befehle, bei denen das B-Register 25 als funktioneller Informationsverarbeiter und als Zwischenspeicher verwendet wird, nach; rechts verschoben werden. Die Informationen werden dabei zwischen dem B-Register
25 und dem Paralleladdierwerk 20 parallel übertragen. Das B-Register 25 kann auch mit dem F-Folladdierer 27, dem I-Volladdierer 28 und de» H-Volladdierer/zusammenarbeiten.
ι t
Daβ H-(holding)-Register 26 ist ein 16-Bit-Register, das hauptsächlich zur Kurzzeitspeicherung von Informationen bei der Ausführung bestimmter "erweiterte Punktione-Befehlen verwendet wird. Dieses Register kann aus dem Paralleladdierwerk 20 Daten
parallel übernehmen und parallel ins Paralleladdierwerk 20, ins P-Register 24 und in das Speicheradressenregister übertragen.
Der "F"-Volladdierer 27 wird zur Ausführung von Rechen- und logischen Operationen an Teilen verwendet, die durch das Q-Register 22 bei der Ausführung von Teilbefehlen vorgeschrieben werden, und auch zur Neueinstellung eines Teils der Listensteuerwörter während der Ausführung von Listenbefehlen, die bestimmte Speicherplätze in vorgeschriebenen Teilen des Hauptspeichers 2 beeinflussen«
Der "!"-Volladdierer 28 wird dazu verwendet, aus den in Listenateuerwörtern enthaltenen Informationen die relativen Plätze von Posten zu errechnen, die in denjenigen Listen ergänzt oder aus denjenigen Listen entfernt werden sollen, die während der Ausführung von Listenbefehlen im Hauptspeicher 2 gespeichert sind.
Der "N"-Volladdierer 29 wird zur Ausführung von Rechenoperationen und logischen Operationen des A-Registers 21 und zur Neueinstellung «weiter und dritter Teile der Listensteuerwörter während der Ausführung von Listenbefehlen verwendet.
Der MJ"-Zähler 30 ist ein 5-Bit-Zähler, der zur Steuerung
- 23 - »AD
109808/1583
15494U
it
von Inforaationemanipulationen und bestimmter zeitabhängiger Vorgänge bei der Ausführung von Befehlen verwendet wird, bei denen in der einen oder anderen Weise gezählt werden mußt, z.B. in Abhängigkeit von veränderbaren Bedingungen oder Zuständen.
über den Eingabe-Ausgabe-Wähler 31 kann das Rechenwerk mit dee Außeneteuerunge-Eingabe-Auegabe-Zwiechenepeicher, des Prozeßsignal-Eingabe-Auagabe-Zwischenspeicher 9 und der Programmierkonsole 6 verbunden werden· Der Eingabe/Ausgabe-Wähler 31 schaltet bei der Ausführung bestimmter Befehle einen von mehreren wählbaren 24-Bit-Eingabe/Ausgabe-Informationskanälen ein. Alle aus Eingabe/Ausgabe-Vorrichtungen parallel übertragenen Daten werden über den Wähler 31 in das Paralleladdierwerk 20 zur Weiterverteilung im Rechenwerk 1 geleitet. Das Speicheradressenregister 32 ist ein 16-Bit-Register, gehört zubj Hauptspeicher 2 und nicht zum Rechenwerk 1. Es erhält jedoch ein verstümmeltes 16-Bit-Wort direkt aus dem P-, I- oder Η-Register des Rechenwerke 1, wobei dieses Wort die Speicheradresse für das nächste gespeicherte 24-Bit-Wort bestimmt, das über das Speicherdatenregister 33 aus den Hauptspeicher 2 des Rechenwerks 1 übertragen wird·
Das Speicherdatenregister 33 gehurt auch zum Hauptspeicher-■odul 2. Es handelt sich ua ein 24-Bit-Regieter, das jedes
109808/4158 3 0RIQ'NAL
gerade unter einer speziellen Adreeee, die im Speicheradressenregister 32 gespeichert war, und aufgrund eines Speicheranrufs durch das Rechenwerk 1 aus den Speicherplatz geholte Wort speichert. Das Speioherdatenregieter 33 arbeitet mit dem B-Regieter 25 und dem I-Regiater 23 des Rechenwerks zusammen.
Bei einer binären Informationsverarbeitungseinrichtung wird üblicherweise jedem speziellen Signal eine spezielle nemotechnische Bezeichnung gegeben. Im vorliegenden Falle werden die Bezeichnungen der. Signale durch vier Buchetaben abgekürzt. So wird z.B. das Taktsignal mit TCKA bezeichnete
In der Schreibweise der Booleechen Algebra bedeutet das Signal TOKA die logische Inversion oder Negation von TOKA, was durch einen Querstrich über der Abkürzung angedeutet wird. Wenn TCKA "Eins" ist, muß TCKA "Null" sein, und wenn TOKA "Null" ist, dann muß ΙΰκΤ "Eins" sein.
Die Bedingungen, die erfüllt sein müssen, damit ein bestimmtes Signal "Eins" ist, lassen sich in Form einer Booleschen Gleichung oder Schaltfunktion (vgl. DIN 44300) darstellen. Aus der Booleschen Gleichung oder Schaltfunktion für den Eins-Zustand eines Signale ergibt eich für den Fachmann aber ohne weiteres der gerätetechnisohe Aufbau eines Schaltwerks oder Schaltnetztee - aus eog."logi8ohen"
- 25 -
109808/158 3
1549ΑΑΛ 46
Bauteilen, z.B. UIiD-GIi ed em, ODER-Gliedern, Speieherglie-
i dern Und NICHT-Öliedern - alt dteeen Hilfe dieses Signal
gebildet werden kann·
Un die Operationen im Rechenwerk 1 in der richtigen Reihenfolge ablaufen zu lassen, liefert eine Reihenfolgesteuerlogik 50 fünf sich gegenseitig aueechließende Reihenfolge-Bteuerzustände, die durch fünf Reihenfolgesteuerflipflope PISCO 1, PISCO 2, PISCO 3, IISCO 4 und PISCO 5, wie es im Blockschaltbild nach Tig« 6 gezeigt 1st, bestimmt werden.
Das den Reihenfolgesteuerzustand 1 bestimmende Flipflop FISCO 1 bestimmt den Lesezyklus für alle Befehle. Der Lesezyklus ist diejenige Zeitspanne, während der ein im Hauptspeicher 2 gespeicherter Befehl angefordert, aus dem Hauptspeicher 2 ins Rechenwerk 1 übertragen und ins I-Regieter weitergeleitet wird. Außerdem wird die im P-Register 24 gespeicherte Zahl gewöhnlich während des Reihenfolgesteuerzustands 1 erhöht, so daß andere Informationen zwischen den Registern übertragen werden können. Einige Befehle, die durch eine einfache Gruppe von Operationen ausgeführt werden können, werden vollständig während des Reihenfolge-Steuer zustande 1 ausgeführt« Auch die relative Adressierung findet während des Reihenfolgesiaierzustande 1 statt, wenn sie vom Bit 14 des Befehlswortes vorgeschrieben wird. Das Takt-
109808/1583
signal SGIA let "Eine", wenn daa den Reihenfolgeateuerzustand 1 beatimmende Flipflop PISOO 1 geaetzt iet.
Das Reihenfolgeeteuerzuatand-2-FlipflQp FISOO 2 bestimmt den Reihenfolgezyklus, in dem die IndexBodifikation atattfindet. Außhdie Aueführung einiger Befehle, bei denen die X-Bita (17,15) eines Befehlawortee für andere Zwecke als für die normale IndexBodifikation verwendet werden, findet in Reihenfolgesteuerzuatand 2 statt. Der Reihenfolgesteuerzustand 2 folgt noraalerweiae, wenn er verlangt wird, unmittelbar auf den Reihenfolgesteuerzuatand 1. Daa Taktsignal SC2A ist "Eins;, wenn daa Reihenfolgesteuerzuetand-2-Flipflop FISCO 2 gesetzt ist.
Das Reihenfolgesteuerzustand-3-FlIpflop FISCO 3 beatiaat eine zusätzliche Bitaanipulationszeit für eine Anzahl von Befehlen unter bestirnten Bedingungen vor dar weiteren Aueführung. Die Zeltepanne des Reihenfolgeateuerzuatanda 3 wird durch die Anforderungen der einzelnen Befehle bestimmt. Das Taktsignal SC3A iat "Eins", wenn daa Flipflop FISCO 3 geaetzt ist.
Daa Reihenfolgeeteuerzuatand-4-Flipflop FISCO 4 bestiaat die letzte Stufe der Ausführung der meisten Befehle· Der Reihenfolgeateuerzuatand 4 schließt sich an die Heihenfolgesteuerzustände 1, 2 oder 3 an, ja naoh de« welcher Befehl,
-. 27 - BAD
109808/1583
gerade ausgeführt wird. Per Reihenfolgesteuerzustand 4 kann ähnlich wie der Reihenfolgesteuerzustand 3 zeitlich verlängert werden, was bei einigen Befehlen erforderlich ist. Da· Taktsignal SC4A ist "Eins", wenn das Flipflop FISCO 4
gesetzt ist.
Das Reihenfolgesteuerzustand-5-Flipflop FISCO 5 bestimmt eine zur Ausführung weiterer Funktionen erforderliche Zeitspanne, üb die Ausführung einiger Befehle zu vervollständigen. Das Taktsignal SC5A ist "Eins", wenn das Flipflop FISOO 5 gesetzt ist.
Die zur Ausführung der einzelnen Operationeschritte bei bzw. in jedem Reihenfolgesteuerzustand und zur Steuerung der Übergänge von einem Reihenfolgesteuerzustand zum anderen erforderlichen Takteignale werden von einem Reihenfolgetektzähler 51 und einem Verzögerungstaktzähler 52 aus dem Taktsignal TCKA abgeleitet, das vom Taktgeber 35 erzeugt wird. In Fig. 10 und den folgenden Taktdiagrammen ist das Taktsignal TCKA der Einfachheit halber symmetrisch und nicht asymmetrisch wie in Fig. 7B dargestellt. Der Reihenfolgetakt «ähler 51 enthält drei Flipflops: FITCSA, FITCSB und YIICSC. Die dekodierten und vom Reihenfolgetaktzähler abgegebenen Taktsignale sind in Fig. 7 zusammen Bit den logischen Gleichungen für die Zählerfortechaltimpulse, die in der unmittelbar mit des Reihenfolgetaktzähler 51 verbundenen Logik gebildet werden, tabellarisch dargestellt·
- 28 - ßAD
109808/1583
15494U Λ
Der Verzögerungetaktzähler 52 enthält fünf Flipflops» PITAPP, PITBPP, PITCPP, PITDPP, IITEPP, Er wird während der Ausführung von Befehlen, bei denen eine Verlängerung der Dauer der Reihenfolgezustände 3 und/oder 4 erforderlich ist, zur Erzeugung spezieller Steuersignale verwendet· Der Verzögerungetaktzähler 52 ist während der Reihenfolgesteuerzuatände 3 und/oder 4 dieser Befehle auf eine Zahl gesetst, die kleiner als 3O8 ist, und wird dann vom Taktsignal TCKA hochgezählt. Während aller übrigen Reihenfolgesteuerzustände ist der Verzögerungszeitzähler 52 zwar ebenfalls auf 30g gesetzt, jedoch wird er dann as Weiterzählen gehindert* Ein Verzögerungstaktzählersperrsignal TPI3 wird "Eins", v wenn der Verzögerungetaktzähler 52 den Zählerstand 30Q erreicht und der Reihenfolgetaktzähler 51 sich la TT4B-Zustand befindet· Wenn diese Bedingung erfüllt ist, wird ein "letzter-Impuls "-Signal TIiPS erzeugt, das mit TCKA zusammenfällt. Die Hinterflanke des Signals TLPS löscht in jedem Reihenfolgesteuerzustand den Reihenfolgetaktsanier 51, und dann beginnt der Taktzyklus des nächsten Reihenfolgesteuerzustand ea. Mit der Rückflanke des Signals TLPS des letzten Reihenfolgesteuerzustandes für die Ausführung irgendeines Befehls beginnt wieder der Reihenfolgesteuerzustand 1, um mit der Ausführung des nächsten Befehls zu beginnen·
Die Hauptfunktion des Reihenfolgesteuerzustands 1 besteht darin, einen im Speicher unter einer Adresse gespeicherten
- 29 -
108808/1583 bad original
Befell, die ie P-Reglster 24 gespeichert ist, ins Rechenwerk 1 su bringen, so daß er dekodiert und susgeführt werden kenn. Auferde» wird das P-Register 24 während des Reihenfolgesteuerzustande 1 normalerweise schrittweise weiterge-' zählt (incremented), so daß es die Adresse des nächsten Befehls, der ausgeführt werden soll, enthält, wenn die normals Programmfolge abläuft. An dieser Stelle sei darauf hingewiesen, daS bestimmte Zustände bzw. Bedingungen oder Befehle eine Abweichung der voa P-Register 24 vorgeschriebenen Befehlsreihenfolge bestinen können.
Der Hauptzweck des Reihenfolgesteuerzustands 2 besteht darin, eine herkömmliche Indexmodifikation auszuführen, wenn die Bits 15,16 und 17 eines Befehlswortes, das ausgeführt wird, nicht alle "Bull? sind. Dieser Zustand wird während des Taktes TCTA des Reihenfolgteteuerzustande 1 festgestellt. Bann werden entsprechende Signale erzeugt, so dafl am Ende dea Reihenfolgeateuerzustands 1 in den Reihenfolgesteuerzuatand 2 übergegangen wird.
BIe Signale, die während der Reihenfolgesteuerzustandβ 1 und 2 erzeugt werden, und der Informationsfluß, der in diesen Zuständen stattfindet, sind bei allen Befehlen gleich oder nahezu gleich. Sie Tig« 8 und 9 sind Blocksehaltbilder, die jeweils den Verlauf des Informationsflusses während der normalen Reihenfolgesteuerzustände 1 und 2 darstellen.
" 30 " BAD ORIGINAL
109808/1683
Fig. 10 let ein Zeitdiagramm der Dureheehaltsignale, die den Informationsfluß steuern· Außerdem sind die normalen Takteignale, die in jedem Reihenfolgesteuerzustand verwendet werden, in dem Zeitdiagramm nach Pig. 10 enthalten.
Die Wirkungsweise und Funktion der normalen Reihenfolgesteuerzustände 1 und 2 werden nun an Hand der Fig. 1,5,8,9, 10 und 11 näher beschrieben. Fig. 11 ist ein Blockschaltbild, das die Logikteile des Rechenwerks 1 darstellt, aus dem die wichtigsten Signale kommen.
Es sei darauf hingewiesen, daß der Hauptspeicher 2 alt dem Rechenwerk 1a synchron zusammenarbeitet. Ua ein gespeichertes Befehlswort aus dem Speicher zu holen, wird der Reihenfolgesteuerzustand 1 ausgelöst, und dem Hauptspeicher 2 wird signalisiert, daß voa MREQ-Signal ein Anruf erfolgt, wie es Ib Taktdiagramm nach Fig. 10 gezeigt ist. Gleichseitig wird der Inhalt des P-Registers 24 voa MAMP-Signal Ins Speicheradressenregister (MAR«memory adress register) 32 durchgeschaltet. Der Inhalt des vorgegebenen Speicherpiatee· la Hauptspeicher 2 wird von der Hauptspeicher-2-Logik, die unabhängig voa Rechenwerk 1 arbeitet, ausgelesen und Ins Speicherdatenregister (HDR-data register) 33 übertragen. Wenn das gewünscht· Wort dem Speicherdatenregister 33 but Tsrfügung steht, ersaugt dar Hauptspeicher 2 ein "Datan-Fertig"-Signal ODRA und gibt dieses ans Rechenwerk 1 tb,
- 31 108808/158 3 bad original
15494U 31
und io takt TCT2 wird der Inhalt des Speicherdatenregisters 33 vom BDOB-Signal ine B-Register 25 durchgesehaltet. Außerdem werden die Bite 23-14 dee Speicherdatenregisters 33 vom IDOC-Signal in Aie Biteteilen 23-H ins I-Register 23 durchgeschaltet, so daß mit der Dekodierung des Operationscodes begonnen werden kann. Während des Taktes TCTA werden die Bite 13-0 des B-Registers vom UBLA-Signal in die Bitstellen 13-0 des Paralleladdierwerke 20 durchgeschaltet. Mit der Rückflanke des Signale TLFS werden die Bits 15-0 des Paralleladdierwerke 20 während des Reihenfolgesteuerzustande von IAUI-Signal in die Bitetellen A,B, 13-0 des I-Registers
23 und von HAUH-Signal ins H-Regieter 26 durchgeschaltet.
Pie normale Weiterschaltung (incrementation) dee P-Registers
24 erfolgt auch während des Reihenfolgeeteuerzuetande 1 und geechieht in der folgenden Weise, ohne den Informationsfluß zwischen den verschiedenen Elementen des Rechenwerke 1 zu stören. Während des Taktee TCTS werden der Inhalt des P-Regietere 24 und eine Eins jeweils von den Signalen UPAU und UEHC gleichzeitig in das Paralleladdierwerk 20 durgesehaltet. Sie Auegangeeignale dee Paralleladdierwerks 20 stellen dann die gewünschte Summe P+1 dar· Diese Summe wird vom HAUH-Signal, das im Takt TCT2 auftritt, ins H-Regieter 26 durchgeechaltet. Mit der Rückflanke des Signals TLPS wird dann der Inhalt des H-Registers 26 vom Signal PXHP, sowie die Ausgangssignale des Paralleladdierwerks 20, die den
- 32 -109808/1583
Bitstellen 15-0 entsprechen, vom HAUH-Signal ins H-Register durchgesehaltet werden, ins P-Register 24 durchgeschaltet«
Somit enthält am Ende eines normalen Reihenfolgesteuerzustands 1 das !-Register 23 den Befehl, der aus dem Hauptspeicher 2 aufgerufen wurde; die Zahl im P-Register 24 ist um eins erhöht, der Operandenadressteil des ausgelesenen Befehlswortes befindet sich im H-Register 26 und der nächste Reihenfolgesteuerzustand kann eingeleitet werden, um mit der Ausführung des Befehls fortzufahren. Ee zeigt eich, daß sich der Operationscodeteil des Befehlswortes während des Taktes TCTA des Reihenfolgesteuerzuetands 1 im I-Re- ** gister 23 befindet und bei der Befehlsdekodierung erzeugte Steuersignale in diesem Augenblick zur Verfügung stehen, um folgendes zu beeinflussent
(a) den Rest des Reihenfolgesteuerzustande 1 (wie es bei einigen Befehlen erforderlich ist),
(b) den Reihenfolgesteuerzustand, der nach dem Signal TIPS als nächster eingeleitet wird, und
(c) die Aktionen, die während der folgenden Reihenfolgest euer zustände ausgeführt werden müssen.
Nimmt man an, daß die Bits 17-15 des Befehlswortes der Instruktion (Anweisung), die ausgeführt wird, nicht "Null" sind, dann wird der Reihenfolgesteuerzustand 2 naoh dem Reihenfolgesteuerzustand 1 eingeleitet. Bas Signal
- 33 109808/1583
wird erneut "Eine", wodurch ein Anruf an den Hauptspeicher angezeigt wird. Gleichzeitig wird der Inhalt der Bitsteilen 17-15 dee I-Registere 23 vom Signal MAMI in die Bitetellen 2-0 des Speicheradressenregisters 32 durchgeschaltet, um die Speieherplatz-Indexierungsgröße, die ausgelesen werden soll, zu bestimmen· Dies ist vorzugsweise einer der niedrigerwertigen Speicherplätze 00001-00007q. Deshalb werden die höherwertigen Bitstellen des Speicheradreesenregisters 32 einfach vom Signal MAMX gelöscht. Wenn das Signal CDRA anzeigt, daß die gewünschten Modifizierungedaten im Speicherdatenregister 33 zur Verfügung stehen, wird der Inhalt dieses Registers im Takt TCT2 vom BDOB-Signal ins B-Register 25 durchgesehaltet. Im Takt TCTA wird der Inhalt dee B-Registers 25 von den Signalen UBLA und UBUA ine Paralleladdierwerk 20 durchgeaehaltet. Gleichzeitig wird auch der Inhalt der Bitetellen A,B, 13-0 dee I-Registere 23 vo» UIAU-Signal ine Paralleladdierwerk 20 durchgeschaltet. Die Ausgangesignale des Paralleladdierwerke 20 stellen dann die Summe des Operandenadressteils des Befehlewortes, dae ie I-Regieter gespeichert ist, und des Modifizierungswortes oder der Indexgröße, die in der vorgeschriebenen Indexkernzelle gespeichert ist, dar. Mit der Rückflanke des Signals TLPS wird die Summe der Bitstellen 15-0 des Paralleladdierwerks vom IAUI-Signal in die Bitstellen A,B, 13-0 dee I-Regietere 23 durchgeeehaltet, und die Reihenfolgesteuerung geht in den nächsten geeigneten Reihenfolgesteuerzustand über, Je nach
15494« JtT
den Anforderungen der einzelnen Befehle, die zwischenzeitlich im I-Register 23 gespeichert sind. Bei einigen Befehlen, die die Indexzellen beeinflussen oder prüfen, werden die Indexbits zur Befehlssteuerung verwendet, so daß sie den Operandenadressteil des Befehlswortes nicht sperren·
Io Verlauf der folgenden Beschreibung der Erfindung wurde angenommen, daß die als Beispiel gewählten Befehle nicht indexiert sind, um die Taktpläne nicht unnötig zu komplizieren. Es sei jedoch darauf hingewiesen, daß diese Befehle auch in der gerade beschriebenen Weise indexmodifiziert βein können.
Zirkuläres Listenanlegen
Die Flg. 12a und 12b sind Bchematische Darstellungen eines Blocks von Speicherplätzen, der eine fest vorgegebene Länge hat. Das erste Wort des Blocks ist für ein Listensteuerwort vorgesehen, das im Speicherplatz Z gespeichert dargestellt ist, wobei Z für dieses Beispiel eine willkürlich gewählte Adresse ist. Die Adresse Z dient als Kennzeichen für eine gesamte zirkuläre Liste, die diesem Block von Speicherplätzen zugeordnet ist.
Das Listensteuerwort enthält mehrere Teile, deren Funktionen und Eigenschaften unmittelbar ira Anschluß hieran allgemein und ausführlicher in Verbindung mit der Erläuterung von vier
109f0l5/i683 «D
Listenbefehlen, die ausgeführt werden können, um eine zirkuläre Liste zu beeinflussen, beschrieben werden. Das Format des Listensteuerwortes ist in Fig. 12a dargestellt. Sie maximale Länge, d.h. die Größe des reservierten Speicherblocks irgendeiner bestimmten Liste ist durch den Teil "L" (die Bite 3-0) des Listensteuerwortes für die Liste bestimmt. Die Lietenlänge wird durch den Ausdruck 2 dargestellt, in dem L die in den Bits 3-0 des Listensteuerwortes enthaltene Anzahl darstellt. Bei der vorliegenden Ausführung der Erfindung muß L in den Bereich von 1 « L « 9 liegen. Das
Bit 4 des Listensteuerwortes stellt einen "Liste-leert-Teil
eine 1 dar und in% wenn die Liste gerade leer ist, d.h. wenn keine Wörter oder Poeten in den Speicherplätzen der dem Listeneteuerwort zugeordneten Liste gespeichert sind. Das Bit 5 dee Lietensteuerwortes stellt einen "Liste-voll"-Teil dar und iit nur dann eine "1", wenn die Liste gerade voll ist, wie es durch die maximale Lietenlänge, die durch den "L"-Teil rorgegeben ist, bestimmt wird. Der "N"-Teil (die Bits 14-16) des Listensteuerwortes bestimmt direkt die Anzahl der laufend in der Liste vorhandenen Poeten. Der "F"-Teil (die Bits 23-15) des Listensteuerwortes bestimmt die Adresse dea Speicherplatzes, der für einen "zuführbaren Anfangepoeten" ("enterable beginning item"), relativ zum Speicherplatz Z+1 ausgedrückt, zur Verfügung steht. F muß im Bereich von 0 » F » 2-1 liegen.
. - 36 -
109808/1583
Jt
Durch Adressieren des Speicherplatzes Z durch den Operandenadressteil irgendeines der vier Lietenbefehle, die noch im folgenden beschrieben werden, kann ein vorgewählter Speicherplatz von vier Speicherplätzen innerhalb desjenigen Speicherplatzblocks, der durch den "!"-Teil des Listensteuerwortes bestimmt wird, das im Speicherplatz Z gespeichert ist, beeinflußt (aufgerufen) werden. Diese vier Speicherplätze werden "der entfernbare Anfangsposten", "der zuführbare Anfangsposten", "der entfernbare Endposten" und "der zuführbare Endposten" genannt. Die speziellen Speicherplätze, die als diese "Posten" ('Items") dienen, sind dynamisch und nicht statisch angeordnet. D.H. während In- w formationspoaten an eine zirkuläre Liste angehängt oder aus dieser entfernt werden, ändert sich der Anfang und das Ende der besetzten und leeren Teile der Liste entsprechend, wird jedoch stets vom Listensteuerwort soweit vorgeschrieben, als es zur Ausführung der Listenbefehle erforderlich ist.
Die in den Pig. 12a und 12b dargestellte zirkuläre Liste ist teilweise besetzt und teilweise leer/bzw. frei dargestellt, um die normale Beziehung zwischen den verschiedenen Posten und dem gesamten Speicherplatzblook, der für die Liste vorgesehen bzw. reserviert ist, zu zeigen. Der "entfernbare Anfangsposten" und der "zuführbare Anfangsposten11 besetzen immer benachbarte Speicherplätze. In ähnlicher Weise sind der "entfernbare Endposten" und der "zuführbare
10 S 8 0 8 /317 S~8 3 BAD ob\gvhal
15494U iS
Endposten" in neben&inanderliegenden Speicherplätzen gespeichert. Die Speicheradresse dee "entfernbaren Anfangspostens" ist stete Z+1+(P+1), wobei P die im "P"-Teil des Listeneteuerworte enthaltene Anzahl und Z, wie bereits erwähnt, die eigentliche Speicheradresse des Listensteuerwortea iet. Die Adresse des "zufUhrbaren Anfangepostensf ist stets Z+1+(P). In ähnlicher Weise ist die Adresse des "entfernbaren Endpostens11 stets Z+1+(?+H), wobei H die Anzahl der laufend in der Liste gespeicherten Posten ist, wobei die liste von dem "N"-Teil des Listensteuerwortes vorgesohrieben ist· Die Adresse des "zufUhrbaren Endpostens" ist
Die folgenden vier unabhängigen Volloptrand-Listenbefehle werden dekodiert, um die zum Hinzufügen von Posten in die oder zum Entfernen aus der zirkulären liste und zum entsprechenden Modifizieren des Listensteuerworts erforderlichen Signale zu erzeugen· Einen Befehl "anhänge Posten an Lietenanfang" wird willkürlich die Bezeichnung ABL und der Operationscode 57g zugeordnet. Auf den Befehl ABL wird das adressierte Listensteuerwort aus dem Hauptspeicher 2 ins Bechenwerk 1 übertragen· Wenn das Bit 5 des adressierten Listensteuerwortes eine "Bull" ist (Liste nicht voll)-, wird das Wort oder der Posten im A-Register 21 an die Liste im zugehörigen Speicherplatz, der den "zuführbaren Anfangsposten" darstallt, angehängt, so daß dieser Posten zum neuen "entf 3rnbe?s:i Anfangspoeten" wird. Der "Hw-Teil des Listen-
10180·/? SM
steuerwortee wird um 1 veLtergezählt, damit er die neue laufende Nummer oder Anzahl der Poeten in der Liste wiedergibt, und der "F"-Teil wird um 1 verringert, um die neue Adresse des "zuführbaren Anfangepoetens" der Liate anzugeben. Wenn die Liste bei der Operation voll wird, wird das Bit 5 des Listeneteueworta auf "1" gestellt. Das modifizierte Listenet euerwort wird dann wieder in seinen richtigen Speicherplatz im Hauptspeicher 2 abgespeichert, und die Programmsteuerung wird in den zweiten auf denjenigen Speicherplatz folgenden Speicherplatz übertragen, in dem der Befehl ABL gespeichert ist. Wenn das Bit 5 des Listensteuerwortes eine "1" (Liste voll) ist, nachdem das Listensteuerwort ins Rechenwerk 1 übertragen worden ist, wird der Befehl ABL nicht ausgeführt. Die Prograamsteuerung wird in diesem Falle in den ersten auf denjenigen Speicherplatz folgenden Speicherplatz übertragen, in des der Befehl ABL gespeichert ist. Weder das modifizierte Listensteuerwort noch der Inhalt des A-Regiaters 21 werden abgespeichert, wenn die Liste bereits voll ist.
Einem Befehl "anhänge Posten an Ende der Liste" let die Bezeichnung AEL und der Operationscode 47g zugeordnet. Auf den Befehl AEL wird das'adressierte Listensteuerwort aus dem Hauptspeicher 2 ins Rechenwerk 1 übertragen« Wenn das Bit 5 eines adressierten Listensteuerworta eine JHuIl" (Liste nicht voll) darstellt, wird das Wort oder der Posten im A-Regieter 21 in desjenigen Speicherplatz angehängt, der
" 59 -
109808/1583
den "zuführbaren Endposten" darstellt, eo daß dieser der neue "entfernbare Endpoeten" wird, und der "N"-Teil dee Listensteuerworte wird um 1 erhöht. Die Adressen der Anfangsposten bleiben die gleichen« Der Teil "F" des Listensteuerwortea wird mithin nicht modifiziert. Wenn die Liste voll ist, wird das Bit 5 des Listensteuerwortes auf 1 gesetzt. Das modifizierte j&isteneteuerwort wird dann in seinen richtigen Speicherplatz im Hauptspeicher 2 gesetzt, und die Programmsteuerung wird in den zweiten auf denjenigen Speicherplatz folgenden Speicherplatz tibertragen, in dem der Befehl AEL geapeichert ist« Wenn jedoch das Bit 5 des Listensteuerwortea eine 1 ist (Liste voll), nachdem das Listensteuerwort ins Rechenwerk übertragen wurde, wird der Befehl AEL , nicht ausgeführt. Die Programmsteuerung wird in diesem Falle in den ersten auf denjenigen Speicherplatz folgenden Speicherplatz übertragen, in dem der Befehl AEL gespeichert ist· Weder das modifizierte Listensteuerwort noch der Inhalt des A-Registers 21 werden gespeichert, wenn die Liste bereite voll ist.
Eine* Befehl "entferne Anfangeposten aus der Liste" ist die Bezeichnung RBL und der Operationscode 56ß zugeordnet. Auf diesen Befehl RBL hin wird das adressierte Lietensteuerwort aue den Hauptspeicher 2 ins Rechenwerk 1 übertragen. Wenn das Bit 4 eines andreesierten Listensteuerwortes eine lull ist (List® nicht leer), wird der "entfernbare Anfangeposten" der Liste aus dem Hauptspeicher 2 geholt und ins
- 40 - ßAD
108000/1583
Α-Register 21 gesetzt. Der Teil "N" des Lietensteuerwortes wird um 1 verringert, so daß er die neue Anzahl der Posten in der Liste wiedergibt, während der Teil "F1 um 1 erhöht wird, so daß er die neue Adresse des "zuführbaren Anfangspostens" der Liste wiedergibt. Daβ Bit 4 des Listeneteuerwortes wird auf "1" eingestellt, wenn die Liste durch die Ausführung dieses Befehls geleert ist. Das modifizierte Listensteuerwort wird im Hauptspeicher 2 gespeichert, und die Programmsteuerung wird in den zweiten Speicherplatz gespeichert, der auf denjenigen folgt« in dem der Befehl HBL gespeichert ist. Wenn das Bit 4 des Listensteuerwortes jedoch eine "1" ist (Liste leer) und das Listensteuerwort ins Rechenwerk 1 übertragen ist, wird der Befehl RBL nicht ausgeführt. Die Programmsteuerung wird dann in den ersten auf denjenigen Speicherplatz folgenden Speicherplatz übertragen, in dem der Befehl RBL gespeichert ist. Das modifizierte Listensteuerwort wird nicht gespeichert, und der Inhalt des A-Registers 21 wird nicht geändert, wenn die Liste bereits leer ist.
Einem Befehl "entferne Endposten aus Liste" ist die Bezeichnung REL und der Operationsoode 46g zugeordnet. Auf diesen Befehl REL hin wird das adressierte Listensteuerwort aus dem Hauptspeicher 2 ins Rechenwerk 1 übertragen. Wenn das Bit 4 eines adressierten Listensteuerwcrtes eine Null (Liste nicht leer) ists wird der "entfernbare Endposten11
10880S/1SS3
15494U Hl
der liste aus dem H tsptspeicher 2 geholt und ins A-Register 21 gesetzt, und «i@r Teil "N" des Listensteuerwortes wird um 1 verringert, so daß er die neue Anzahl der Posten in der Liste wiedergibt. Der Teil "f wird nicht geändert, weil «ich die Adresse des "zufuhrbaren Anfangepoetens" nicht
ändert. Das Bit 4 wird auf 1 eingestellt, wenn die Liste bei der Ausführung dieses Befehls geleert wurde. Bas modifizierte Lletensteuerwort wird im Hauptspeicher 2 gespeichert und die Programmsteuerung in dem zweiten auf denjenigen Speicherplatz folgenden Speicherplatz gespeichert, in den der Befehl REL gespeichert ist. Wenn jedoch das Bit 4 eine (Liste leer) darstellt, und das Mstensteuerwort ins Rechenwerk 1 übertragen worden ist, wird der Befehl REL nicht ausgeführt. Di© Programmsteuerung wird in den ersten auf denjenigen Speicherplatz folgenden Speicherplatz übertragen, in dam der Befehl RSL gespeichert ist. Das modifizierte Listensteuerwort wird nicht gespeichert, und der Inhalt des A-Registers 21 wird nicht geändert, wenn die Liste bereits lter ist.
In Pigs, 12c ist eine Tabelle dargestellt, in der die Modifikationen der "?"- und "H"-Teile der Listensteuerwörter bei erfolgreicher Ausführung der Befehle ABL, AEL, RBL und REL vmä die iron jedem aufgerufenen Speicherplatz relativ zur Adresse Z des Listensteuerworts zusammen dargestellt sind.
- 42 -
109808/1683
Nach erfolgreicher Ausführung aller dieser Befehle wird die Programmsteuerung in den zweiten auf denjenigen Speicherplatz folgenden Speicherplatz übertragen, in dem der ausgeführte Befehl gespeichert ist. Wenn der Listenzuatand, voll oder leer, derart ist, daß keine weiteren Wörter angehängt oder entfernt werden können, dann wird die Programmsteuerung in den ersten auf denjenigen Speicherplatz folgenden Speicherplatz übertragen, in dem der ausgeführte Befehl gespeichert ist. Ein mit diesen Eigenschaften vertrauter Programmierer kann deshalb geeignete Befehle sowohl in den ersten als auch in den zweiten in der Reihenfolge folgenden Speicherplatz einfügen, um ein 'laufen· des Programm entsprechend der erfolgreichen oder erfolglosen Anhängung oder Entfernung, die sich bei der Ausführung eines Listenbefehls ergab, zu steuern.
Um besser zu verstehen, welcher Speicherplatz bei allen Listenbefehlen aufgerufen wird, um die Begriffe "zuführbarer Anfangspostan", "entfernbarer Anfangspos ten11, "zufuhr barer Endposten11, "entfernbarer Endposten11 zu klären und die zirkuläre Natur einer zirkulären Liste zu erläutern, seien Operationsbeispiele anhand einer kurzen Liste in Verbindung mit den Figuren 2c und 3 bis 1 erläutert· Ee sei jedoch darauf hingewiesen, daß diese Befehle bei einem laufenden Programs in einer pseudowillkürlichen Reihenfolge la Verhältnis zu den vielen anderen Befehlen des Programms ausgeführt werden können. Bar Einfachheit halber werden diese
- 43 -
10980I/1S83 bad
Listenbefehle jedoch einer nach dem anderen betrachtet. Die Reihenfolge, in der sie ausgeführt werden, ist jedoch völlig willkürlich, da jeder Befehl völlig unabhängig ist.
Vor dem ereten Schritt mögen die Listen beispielsweise das in Pig. 13 dargestellte Format haben.. Wie durch das Bit 4 des im Speicherplatz Z gespeicherten Listensteuerwortes angezeigt wird, ist die Liste leer, die maximale Anzahl von Posten, die in der Liste enthalten sein können, wie es
durch den "L"-Teil vorgeschrieben wird, ist 4 (2 ), und die Speicheradresse für einen "zuführbaren Anfangsposten" ist Z t 1, während die Zahl des "F"-Teils 0 ist. Da die maximale Länge der Liste in diesem Beispiel 4 ist, werden nur die Bits 15 und 16 des "F"-Teils und nur die Bits 6 und 7 des N-Teils zur Errechnung der Postenadressen verwendet.
Als Beispiel sei angenommen, daß ein Befehl ABL mit der Operandenadresse Z ausgeführt wird, um einen Posten "W" auB dem A-Register 21 zum "zuführbaren Anfangspoeten" der liste zu übertragen. Der tatsächlich aufgerufene Speicherplatz ist Z -r 1 - (F), der in diesem Falle einfach Z-r1 ist, da der Teil "F" die Zahl 0 enthält. Nach der Ausführung des Befehls ABL ergibt sich das in Fig.14 dargestellte Listen- format, bei dem der Poeten W als im Speicherplatz Z+1 ge speichert dargestellt ist. Der Teil N ist um die Zahl 1 erhöht worden, wodurch angezeigt wird, daß inefcesamt gerade
1098087 168 3 *° «**««.
ein Tosten in der Liste gespeichert ist. Der Teil F ist um die Zahl 1 verringert worden, und man sieht, daß der zuvor lauter Nullen enthaltende Teil F jetit lauter Einsen enthält, aus Gründen, die noch näher erläutert werden. Die Bits 15 und 16 können als entweder auf -1 oder 4-3 eingestellt angesehen werden. Sie werden jedoch als +3 verwendet, wie der nächste Schritt zeigen wird.
Nun sei ein zweiter Schritt betrachtet , bei dem ein zweiter ABL-Befehl mit der Operandenadresse Z ausgeführt wird, um einen zweiten Posten X an den "zuführbaren Anfangsposten11 der Liste anzuhängen. Der tatsächliche Speicherplatz ist Z+1+(F) oder Z+4. Nach der Ausführung des ABL-Befehls ergibt sich das in Fig. 15 dargestellte Listenformat. Man sieht, daß der Teil F als Zahl +3 verwendet wurde, um die Kernzelle (Z+1+F=Z+4) zu bestimmen, in der der Posten X gespeichert war. Bei dem modifizierten Listensteuerwort wurde der F-Seil um 1 verringert und der N-Teil um 1 erhöht, um den augenblicklichen Zustand der Liste darzustellen.
Jetzt sei ein dritter Schritt betrachtet, bei dem ein AEL-Befehl mit der Operandenadresse Z ausgeführt wird, um einen dritten Posten Y in den "zuführbaren Endpesten11 der Liste zu übertragen. Die Errechnung des aufgerufenen Speicherplatzes ergibt Z+1+(F+N+1) » Z+1*(2+2+1) = Z+6 oder Z+(110)2. Der L-Teil begrenzt jedoch dte wirkliche Berechnung auf den
- 45 -
109808/1583 bad
■. H
reservierten Speioherplatzblook, und wenn die zur Adresse Z zu addierende Zahl in diesem Beispiel 4- überschreitet, bleibt der Überschuß von 4 unltarUoksichtig, so da β der in diesem Schritt aufgerufene Speicherplatz Z+2 und nicht Z+6 ist,daj der Speicherplatz Z+6 außerhalb des-Blocks liegt. Nach der Ausführung des ΑΕΙ-Befehls ergibt sich das in fig. 16 dargestellte Listenformat, an dem «an erkennt, daß der Posten Y im Speicherplatz Z+2 gespeichert 1st» Der P-Teil des Listensteuerwortes ist bei der Ausführung dee Befehls nicht mod/ifiziert worden, da sich der "zufuhrbare Anfangsposten" nicht geändert hat. Der M-Teil ist wiederum um 1 erhöht worden, um die augenblickliche Anzahl von Posten in der Liste darzustellen.
Nun sei ein vierter Schritt betrachtet, bei dem ein weiterer AEIi-Befehl mit der Operandenadresse Z ausgeführt wird,um einen vierten Poeten Z in den "zuführbaren Endpasten" der Liste zu übertragen. Die Berechnung des Speicherplatzes ergibt diesmal Z+1+(?+N+1), was jetzt gleich Z+1+(2+3+1) »Z+7 oder Z+(1011)2 let. Wie bei dem vorangegangenen Schritt erläutert wurde, bewirkt der !-Teil, daß der Speicherplatz Z+3 aufgerufen wird. Nach der Aasführung des AEL-Befehls ergibt sich das in Pig. 27 dargestellte Lietenformat. Da bei dieser Operation die Liste gefüllt wird, ist das Bit 5 des modifizierten und zurückgeepeloherten Liatensteuerwortee jetzt eine 1. Außerdem ergibt die Berechnung Z+1+(P) « z+3, daß ein ABL-Befehl den gleichen Speicherplatz Z+3 aufgerufen hätte und ebenfalls bewirkt hätte, daß das
100101/fit 3 SADORiGiNAL
Bit 5 dee Listensteuerwortes gesetzt wird. Da die Liste jetzt voll ist, würde jeder weitere Versuch, einen Posten entweder an den Anfang oder das Ende der Liste anzuhängen, bewirken, daß die Programmsteuerung ein Unterprogramm übertragen wM, das vom Programmierer für diesen Pail vorgesehen ist» Dieses Unterprogramm würde, das Mißlingen des Versuches feststellen und geeignete Maßnahmen auslösen. Der N-Teil wird um 1 erhöht, jedoch werden die höheren Bits 7 und 6 "NuIl11J wobei ein Übertrag in das Bit 8 angegeben wird, der aber wegen der vom L-Teil ausgeübten Steuerung unberücksichtigt bleibt.
Als nächstes werde beispielsweise ein BBL-Befehl ausgeführt, bei dem der "entfernbare Anfangspoeten11 aus der Liste entfernt und ins A-Register 21 Übertragen werden eoll. Nach der Ausführung des RBL-Befehle ergibt sich das in Fig. 18 dargestellte Listenformat. Man sieht, daß der entfernte Posten aus dem Speicherplatz 2+4 geholt wird, den nentfernbaren Anfatgsposten", der vom Listensteuerwort vor dessen nach der Beziehung Z+1 -t (F+1) errechneten Modifikation vorgeschrieben wird. Nach der Modifikation ist der F-Teil dee Listensteuerwortee um 1 erhöht und der N-T^iI, um 1 verringert, so daß er den augenblicklichen Zustand der Liste darstellt. Außerdem ist das Bit 5 gelöscht, um anzuzeigen, daß die Liste nicht mehr voll ist.
Jetzt sei angenommen, daß ein weiterer RBL-Befehl ausgeführt wurde, um den "entfernbsren AnfangspostenH erneut aus der Liste zu entfernen. Die Berechnung des aufgerufenen
- 47 -
109808/1S8 3 BAD
HS
Speicherplatzes ergibt Z+1+(F+1) = Z+(101)2. Wie jedoch bereits erwähnt wurde, begrenzt der L-Teil die Wirkung der Listensteuerbefehle auf den reservierten Speicherplatzblock, so daß der Überschuß von 4 unberücksichtigt bleibt uid der tatsächlich aufgerufene Speicherplatz Z+1 und nicht Z+5 ist. Nach der Ausführung des RBL-Befehls ergibt sich das in Pig. 19 dargestellte Listenformat. Der F-Teil ist wiederum um 1 erhöht worden und der N-Teil um 1 erniedrigt. Die Erhöhung des P-Tells hatte einen Übertrag in die Bitstelle 17 des Listensteuerwortes und die Löschung der Bits 16 und zur Folge. Daraus kann man wiederum die zirkuläre Eigenschaft der Liste ersehen, da das Bit 17 so lange nicht bei der Berechnung der Adresse eines "entfernbaren oder zuführbarHn Anfangspostens" berücksichtigt wird, wie die Liste maximal 4 Poeten lang bleibt.
Als nächstes sei die Ausführung eines REL-Befehls betrachtet, bei dem der "entfernbare Endposten" aus der Liste entfernt werden soll. Der aufgerufene Speicherplatz ist Z+1+(F+N) = Z+3. Hach der Ausführung des REL-Befehls ergibt sich das in Pig. 20 dargestellte Listenformat, aus dem man ersieht, daß der Posten Z aus dem Speicherplatz Z+3 entfernt, der P-Teil nicht geändert und der F-Teil um 1 verringert wurde, um den augenblicklichen Zustand der Liste wiederzugeben.
- 48 -
109808/1583
HS
Schließlich sei die Ausführung eines weiteren REL-Befehls betrachtet, bei dem erneut ein "entfernbarer Endposten11 aus der Liste entfernt werden soll. Der beteiligte Speicherplatz ist Z+1+(F+N) ~ Z+2. Fach der Ausführung des REL-Befehls ergabt sich das in Pig. 21 dargestellte Listenformat·
Der Posten Y wurde aus der Speicherkernzelle Z+2, der F-Teil nicht modifiziert, der ΪΓ-Teil um Eins auf Null verringert und das Bit 4 des Listensteuerwortes auf Eins eingestellt, um anzuzeigen, daß die Liste erneut leer ist.
Die Liste braucht jedoch nicht gefüllt zu sein, bevor der erste Entfernungsbefehl ausgeführt werden kann, noch braucht die Liste leer zu sein, bevor der erste Anhängungsbefehl abgeführt werden kann. Die gerade beschriebene Reihenfolge der Befehle wurde Miglioh als Beispiel gewählt.
Die Verwirklichung dieser Befehle erfiigt durch die 11P"- 1 11N"- und »T'-Volladdierer. Jeder Volladdierer 1st mit einem Übertragflipflop versehen, das je nach Wunsch voreingestellt sein kann. Die zu den Volladdierern gehörige Steuerlogik soll die geeigneten Bitmanipula tieren für die Ausführung der Listenbefehle durchführen, was noch ausführlicher beschrieben wird und in den Jig. 27 und 28 dargestellt ist.
" 49 100808/1113
Der Reihenfolgesteuerzustand 1 eines Lietenbefehls läuft in der oben im einzelnen beschriebenen normalen Weise ab. Deshalb enthält das I-Register 23 am Ende des Reihenfolgeeteuerzustands 1 bei irgendeinem dieser Befehle das Befehlswort, während das H-Register 26 den Operandenadressteil desjenigen Befehls enthält, der die Speicherplatzadresse Z des Listensteuerworts für die zirkuläre Liste, die geändert werden soll, vorschreibt, wohingegen der Inhalt des P-Registere 24 um 1 erhöht wird. Heben den zuvor beschriebenen normalen Operationen des Reihenfolgesteuerzustands 1 werden die "P"-, "I"- und »NB-Übertrag-Plipflops (24A, 28A und 29A) von der RUckflanke des Signals SC1A, das den ODER-Gliedern GHO, G172 und G204 (Pig. 27 und 28j zugeführt wird» gelöscht.
Nimmt man an, daß keine Indexmodifikation vorgeschrieben ist, dann wird nach Beendigung des Reihenfolgesteuerzustands 1 für einen Listenbefehl in den Reihenfolgesteuerzustand 3 übergegangen, und während dieses Rgihenfolgesteuerzustands werden dfe kritischen Prüfungen und Bitmanipulationen bei der Ausführung der Listenbefehle durchgeführt.
Während des Reihenfolgesteuerzustande 3 werden bestimmte Manipulationen ausgeführt, die bei allen Liatenbefehlen vorkommen« Aus den !Taktdiagrammen der 71g. 22, 25 t 24 und 25 ersieht man, daß der Verzögerungetaktzähler 52 duroh Zuführung des Signale TP17t das In Takt XTIS des
- 50 - ßA0
1GÖ8CI/U83
15A94U 51
Reihenfolgesteuerzustands 3 eine Eins darstellt, zum Löscheingang von PITAPP und den Setzeingängen von PITBPP-PITEPP, die in Pig. 6 dargestellt sind, auf 17g eingestellt wird. Dies hat eine Verlängerung des Reihenfolgesteuerzustands zur Folge, da die Erzeugung von TU1S um neun Taktimpulse TCKA verzögert wird. Während der gesamten Dauer des Reihenfolgesteuerzustands 3 für die Ausführung irgendeines Listenbefehls ist das Signal MAMI "Eins", so daß das Speicheradressenregister 32 mit der Operandenadresse eines Listensteuerwortes aus dem I-Register 23 versehen wird. Wenn das Listensteuerwort im Speicherdatenregister 33 zur Verfügung steht, wird es vom BDOB-Signal, das im Takt TCT2 "Eins" wird, ins B-Register 25 durchgescheitet. Das Listens-teuerwort erscheint ebenfalls sofort im Paralleladdierwerk 20, da die Signale UBUA und UBLA während des ganzen Reihenfolgesteuerzustands 3 auf "Eins" gehalten werden, um den Inhalt des B-Rel/§sters 25 ine Paralleladdierwerk 20 durchzuschalten. Im Takt TCT3 wird das Einer-Komplement des Meile des Listensteuerwoife vom JNUJ-Signal aus dem Paralleladdierwerk 20 in den J-Zähler 30 durchgeschaltet, wie es in Pig. 26 gezeigt ist. Das die Bitetelle 4 speichernde Plipflop des J-Zählers 30 wird immer dann vom Signal JNOJ gesetzt, wenn dieses Signal während des Reihenfolgesteuerzustands 3 für die Listenbefehle "Ebs" ist.
Nach diesen Operationen und am Anfang des Taktee TT4-E dee Reihenfolgesteuerzuetands 3 aller Listenbefehle let das Listensteuerwort im B-Register 25 enthalten, der Yerzb'gerungs-
109808/1583 BAo original
taktzähler 52 auf 17g voreingestellt, der J-Zähler 30 auf das Einer-Komplement derjenigen Binärzahlen eingestellt, die im L-Teil, die Bits 3-0, des Listensteuerworts enthalten
sind, das I-Register 23 enthält den ausgeführten Listenbefehl, das H-Regbter 26 die Speicherplatzadresse des Listensteuerworts und die Ausgangssignale des Paralleladdierwerks 20 stellen das Listensteuerwort dar, da die Signale TJBUA und UBLA auf Eins gehalten werden.
Die Modifikation des Listensteuerwortes findet stets während des Reihenfolgesteuerzustands 3 eines Listenbefehls statt. Wie bereits erwähnt wurde, bestehen die Modifikationen, die während der Ausführung eines ABL-Befehls auftreten, in der Subtraktion der Zahl Eins vom F-Teil und der Addition der Zahl Eine zum N-Teil, während das Bit 5 gesetzt sein muß, wenn die Liste bei der Ausführung des ^eiligen ABL-Befehls voll wird. Aus Gründen, die später noch näher erläutert werden, wird der unmodifizierte F-TdI ebenfalls in die Bitstellen 8-0 des !-Registers 23 geschoben. Außerdem wird am Ende des Reihenfolgesteuerzustands 3 geprüft, ob die Liste gerade voll ist, so daß der ABL-Befehl nicht richtig ausgeführt werden kann.
Im folgenden sei der ABL-Befehl näher betrachtet. Es zeigt sich, daß das DABL-Signal "Eins" ist, wenn sich der
- 52 -
SAD
109808/1583
15A9444
Operationscode des ABL-Befehls im I-Register 23 befindet. Big. 27 zeigt die Logik zur Verwirklichung der Subtraktion der Zahl Eins vom F-Teil und der Übertragung dee unmodifizierten F-Teils in die Bitstellen 8-0 des I-Registera 23. Der eine Eingang eines NAND-Gliedes G1Q0 wird während des ganzen Reihenfolgesteuerzustendes 3 vom Signal SC3A derart vorbereitet, daß das Eins-Ausgangssignal des die Bitstelle 15 speichernden Flipflops im B-Register 25 praktisch invertiert und dem A-Einga ng des 1"-VoIIaddierers 27 zugeführt wird. Der Eingang B des F-Volladdierers 27 wird von dem durch das NIOHT-LGlied 1186 inver&erten Signal DABL auf Null ν gehalten. Die Ausgangssignale S und S des F-Volladdierers 27 werden jeweils einem der Eingänge der UND-Glieder G102 und G103 zugeführt. Dem anderen Eingang dieser UND-Glieder wird das Schiebesignal ISFT zugeführt.
Während des verlängerten Taktes TT4E des Reihenfolgesteuerzustands 3 für alle Listenbefehle ist das Signal ISFT in Koinzidenz mit TCKA eine "Eins",bis der Endzustand des VerzögerungstaktzähleEB erreicht ist. Da der Verzögerungstaktzähler auf 17g gestellt wurde, tritt eine Folge von neun ISFT-Impulsen auf, wie es in den Taktdiagrammen der Fig. 22, 23, 24 und 25 gezeigt ist, bevor das Signal TP13 "Hns" wird. Den UND-Gliedern G103-G118 wird ebenfalls ein Eins-Signal ISFT zugeführt, um die ReohtsverSchiebung der Bitstellen 23-15 des B-Registers 25 zu ermöglichen.
- 53 - . BAD
10980Θ/1583
Die Ausgangesignale O und ö des P-Volladdierers 27 haben keinen Einfluß auf das F-Übertrag-Flipflop 27A, da" die UND-Glieder G201 und G203 nioht durchgeschaltet sind. Die Folge davon , daß der Eingang B des F-Volladdierers 27 zwangsläufig auf Null gehalten wird, während der gesarate T-Teil des Listensteuerwortes über den Eingang A geleitet wird, ist eine Subtraktion von Eins vom F-Teil, der nach dsm neu*en ISFT-Impuls seine ursprüngliche Lage im B-Register 25 wieder eingenommen hat.
Die Subraktion der Zahl Eins durch diese serielle " methode" ist an sich bekannt und läßt sich an einem einfachen binären Rectenbeispiel erläutern. Die ursprüngliche Zahl sei z.B. die binär dargestellte Dezimalzahp. 9·
ursprüngliche Zahl =1001 =9 Zwangszahl = 1111
Ergebnis (1) 1000 = 8
Da in diesem Beispiel nur vier Stellen vorgesehen sind, geht der Übertrag verloren, so daß man des gewünschte Ergebnis erhält·
Die Anzahl der Bits, die aus dem F-Teil des Listensteuerwortes im B-Register 25 in die Bitstellen 8-0 des !-Registers 23 geschoben werden sollen, wird von der Länge der Liste bestimmt, die duroh die Zahl dargestellt wird, auf die der
109808/1683 BAD 0RIG'NAL
si
J-Zähler gesetzt wurde, d.h. das Einer-Komplement des L-Teils. Diese Operation erfolgt synchron mit der Verringerung des F-Teils um Eins. Wie aus Pig. 27 zu ersehen ist, ist der Null-Ausgang des die Bitstelle 15 speichernden Flipflop im B-Regäster 25 direkt mit dem Eingang A des I-Volladdierere 28 verbunden. Die Ausgänge S und S des I-Volladdierers 28 sind jeweils mit einem Eingang der UND-Glieder G122 und G121 verbunden, und der andere Eingang dieser Glieder ist mit dem Ausgang eines anderen UND-Gliedes G119 verbunden· Der eine Eingang des UND-Gliedes G119 wird vom Signal ISFP betätigt und der andere wird vom Signal «Π5Τ7 durchgeschaltet, da dieses Signal solange "Eine" bleibt, bis der J-Zähler 30 schrittweise auf 37Q hochgezählt ist. Wie in Fig. 26 gezeigt ist, wird der J-Zähler 30 vom Signal JINC hochgezählt, das synchron mit ISFT "Eins11 ist, bis die Zahl 37Q erreicht ist. Es werden also 1-9 JINC-Impulse erzeugt, je nachdem, auf welche Zahl der J-Zähler 30 voreingestellt war. Sem einen Eingang des UND-Gliedes G120 wird ebenfalls das Signal ISFT zugeführt, jedoch wird dem anderen Eingang nur dann ein Eins-Signal zugeführt, wenn der J-Zähler 30 den Zählerstand 37« erreicht, d.h. wenn das Signal J037 "Eins" wird. Die Auegangesignale der UND-Glieder G120 und G121 werden den Eingängen eines ODER-Gliedes G123 zugeführt. Das Ausgangssignal des ODER-Gliedes G123 wird den Löscheingang des die Bitsteile θ speichernden «ELipflop im I-Register 23 zugeführt. Das Auegangesignal des UND-Gliedes 122 wird dem Setzeingang desselben Flipflop zugeführt. Dem einen Eingang der UND-Glieder G124-G139 wird das Signal ISFf
- 55 -
109808/1583 bad original
15494U
Si
zugeführt, um die RechtsverSchiebung dieses Teils des I-Registers 23 zu ermöglichen} solange wie der I-Zähler 30 nicht die Zahl 378 erreicht hat, wird das UND-Glied G119 von jedem Schiebeimpuls ISPT durchgeschaltet, um einen Eingang aller UND-Glieder G121 und G122 durchzuschalten. Das eine oder andere dieser UND-Glieder wird in Abhängigkeit vom Zustand der Ausgänge S und S der I-Volladdierers 28 mit jedem Schiebeimpuls ISFT durchgeschaltet. Wenn also das UND-Glied 122 durchgeschaltet ist, wird das die Bitstelle 8 speichernde Flipflop im I-Register 23 mit der Rückflanke des Schiebeimpulses ISFT geöffnet (d.h. durchgescholtet). Wenn dagegen des UND-Glied G121 durchgeschaltet ist, ist auch das ODER-Glied 123 durchgeschaltet, um das die Bitstelle 8 speichernde Flipflop im I-Register 23 mit der Rückflanke des Impulses ISFT zu löschen. Wenn der J-Zähler 30 die Zahl 37g erreicht, ist die zur Darstellung der relativen Adresse des "zuführbaren Anfangspostens" in der Liste aus dem die Bitstelle 15 speichernden Flipflop des B-Reglsters 25 geschoben, und eine weitere Verschiebung über die Glieder G121 und G122 findet nicht statt, da das UND-Glied G119 jetzt gesperrt ist. Das UND-Glied G120 wird jetzt jedoch mit jedem Impuls ISFT durchgeschaltet, da das Signal JO37 jetzt »Eins» ist. Das ODER-Glied G123 wird deshali durchgeschaltet, um mit jedem Impuls ISFT eine Null in das die Bitsteile 8 speichernde Flfcflop im I-Regster 23 zu schieben. Auf diese Weise wird nur derjenige Teil des F-Teils des Listensteuerwortes, der geeignet ist, den
- 56 -
109808/1583
"zuführbaren Anfangsposten" einer zirkulären Liste relativ vorzuschreiben, ins I-Register 23 geschoben und entsprechend angeordnet.
Der IT-Teil des Li st en st euer wo riss wird sowohl vor als auch nach der Modifikation des Listansteuerwortes in den Bitstellen 14-6 des B-Registers 25 gespeichert. Wie in Pig. 38 gezeigt ist, ist das ET-tJbertrag-Flipflop 29A am Anfang des Reihenfolgesteuerzustandes 3 gelöscht, da das Signal SG1A seinem Löscheingang über das ODER-Glied G140 zuvor zugeführt wurde. Das Signal DABL schaltet jedoch das ODER-Glied G 210 durch und im Takt TCT3 wird das UND-Glied G141 duBhgeschaltet. Ein Eins-Ausgangssignal des UND-Gliedes G141 schallet das ODER-Glied G142 durch, das seinerseits den Setzeingang des N-Übertrag-Flipflop 29A ansteuert. Deshalb wird das N-Übertrag-Flipflop 29A gesetzt, bevor irgendeine Addition im N-Yolladdierer 29 stattfindet,und der Eingang P des N-Volladdierers 29 w±rd durchgeschaltet, bevor der erste Impuls ISFT auftritt, da er vom NulMusgang des N-Übertra»g-Flipflop 29A angesteuert wird.
Der Eingang eines NAND-Gliedes G143 wird während des gesamten Reihenfolgesteuerzustandes 3 vom Signal SC3A durchgesohaltet, und sein anderer Eingang ist mit dem Eins-Ausgang des die Bitstelle 6 speichernden Flipflop
_ 57 _ BAD
109808/1583
im B-Register 25 verbünden. Wenn der ISFT-Impulszug erzeugt ist, findet die zirkuläre Verschiebung des N-Teils des Listensteuerwortes über den N-Volladdierer 29 im wesentlichen in der Weise statt, wie es für die Verringerung des P-Teils beschrieben wurde. Die Impulse ISPT werden dem einen Eingang der UND-Glieder GH4 bis G161 zuführt, um die serielle Rechtsverschiebung des N-Teils im B-Register 25 zu ermöglichen. Die Ausgänge C und C des N-Volladdierers 29 sind jeweils mit dem einen Eingang der UND-Glieder G162 und G163 verbunden. Der andere Eingang dieser Glieder wird vom Signal ISPT angesteuert. Das Ausgangssignal des UND-Gliedes G162 wird dem einen Eingang des ODER-Gliedes G142 zugeführt, das, wie bereits erwähnt, den Setzeingang des N-Übertrag-Flipflop 29A ansteuert. In ähnlicher Weise ist der Ausgang des UND-Gliedes G163 mit einem Eingang des ODER-Glieds GHO verbünde^, das den Löscheingang des N-Übertrag-Flipflop 29A ansteuert. Mit dieser Anordnung wird eine normale Übertragweiterleitung während der Serienaddition erzielt, da der Null-Ausgang des N-Übertrag-Flipflop 29A direkt mit dem Eingang P des N-Volladdierers 29 verbunden ist, um diesen Eingang für die nächste Serienaddition durdeu schalten oder zyfeperren, je nach dem, ob sich bei der gerade beendeten Serienaddition ein Übertrag ergeben hat oder nicht.
- 58 -
109808/1583
15A944A S3
Bei der N-Tei1-Erhöhung (schrittweise um 1) muß geprüft werden, ob die Liste voll ist, wie es vom modifizierten N-Teil vorgeschrieben ist. Zu diesem Zwecke ist ein "Liste-Voll"-Flipflop PIXLCP vorgesehen, das in Pig. 38 dargestellt ist. Im Takt TCT3 des Reihenfolgesteuerzustands 3 wird ein UND-Glied G164 durchgeschaltet, um dieses Plipflop PIXLCP voreinzustellen. Einem anderen UND-Glied G165, dessen Ausgang mit dem Löscheingang des Plipflops PIXLCP verbunden ist, werden die Signale JO37» ISPT und das S-Ausgangssignal des H-Volladdierers ·29 zugeführt. Bei dieser Anordnung wird das UND-Glied G165 synchron mit den Impulsen ISPT durchgeschaltet, wenn das S-Ausgangssignal des N-VoIladdierers 29 "1" ist, und der J-Zähler 30 die Zahl 3-7 θ noch nicht erreicht hat. Wenn dies bei allen 9 Schiebeimpulsen ISPT der Pail ist, wird G165 durchgeschaltet, um das Plipflop PIXLCP zu löschen. Das heißt, wenn eine "1" vom S-Ausgang des N-Volladdierera in das die Bitstelle H speichernde Plipflop des B-Registers während der Modifikation des N-Teils geschoben wird, wird G165 durchgeschaltet, um das Plipflop PIXLCP zu löschen, wenn das Signal JO37 "1" ist. Wenn die Liste voll wird, sind alle höheren Bits des N-Teils "0", da sie vor der Modifikation alle "1" gewesen sdn müssen, und das nächste Bit, das dann eine "1" sein würde, um den resultierenden Übertrag darzustellen, wird nicht weitergleitet» da nur die höheren Bits infolge de* Einflusses des L-Teils als im J037 -Signal wiedergegeben angesehen werden« Unter diesen Bedingungen bleibt
das Plipflop PIXLCP gesetzt. BAD ORIGINAL
109808/1583 -59-.
1549U4
Der 1-Ausgang den Flipflop^ PIXLCP .steuert einen Eingang eines UND-Gliedes G104 an, dem auch die Signale SC3A und TLPS zugeführt v/erden. Das Ausgangssignal des UND-Gliedes G184 wird einem· von zwei Eingängen eines weiteren UND-Gliedes G166 zugeführt. Der andere Eingang des UND-Gliedes G166 ist bereits vom Ausgangssignal eines ODER-Gliedes G183 durchgeschaltet, das unter anderem vom Signal DABL durchgeschaltet ist. Wenn die Liste voll geworden ist, werden das UND-Glied G184 und mithin das UlID-Glled G166 im Takt TLPS des Reihenfolgesteuerzustands 3 des ABL-Befehlß durchgeschaltet, um dem Setzeingang des die Bitstelle 5 speichernden Flipflop? im B-Register 20 ein Signal zuzuführen. Das die Bitstelle 4 speichernde Plipflop im B-Register wird stets, im Takt TLPS des Reihenfolgesteuerzustands 3 des ABL-Befehls durch das Durch-r schalten eines UND-Gliedes G167 gelöscht, dessen einer Eingang ebenfalls vom Ausgangssignal des ODER-Gliedes G153 durchgeschaltet wird, da die Liste nach der erfolgreichen oder unerfolgreichen Beendigung eines ABL-Befehls niemals leer sein kann.
Am Ende eines Reihenfolgesteuerzustands 3 während der Ausführung eines ABL-Befehls muß geprüft werden, ob die Liste gerade voll ist, was durch das Bit 5 des Listeneteuerwortes agezeigt wird, das vor seiner Modifikation eingestellt worden ist. A11S Pig. 28 ersieht man, daß, wenn
-60-
109808/1583
original
das Signal DABL "1" ist, um das ODER-Glied G143 durchzuschallen, das UND-Glied G174 während des gesamten Reihenfolgesteuerzustands 3 nur dann durchgeschaltet wird, wenn das die Bitstelle 5 speichernde Flipflop im B-Register 25 gesetzt ist. Dieser Zustand wird durch Zuführung des 1-Ausgangssignals des die Bitstelle 5 speichernden Flipflop im B-RegLster 25 zu einem der Eingänge eines ODER-Gliedes G164 geprüft. Wenn das die Bitstelle 5 speichernde Flipflop im B-Register gesetzt ist, ist das Ausgangssignal des UND-Gliedes GH74 "1", und diesef) Signal schaltet ein ODER-Glied G175 durch. Das AusgangssLgnal des ODER-Gliedes G175 wird dann einem Eingang eines UlTD-Gl led es G176 zugeführt, dem als weiteres Eingangsignal· TLPS zugeführt wird. Deshalb wird das UND-Glied G176 im Takt TLPS des Reihenfolgesteuerzustands 3 für den ABL-Befehl durchgeschaltet, wenn das die Bitstelle 5 speichernde Flipflop im B-Register 25 gesetzt ist. M^t der Rückflanke des Taktsignals TLPS wird das Reihenfolgesteuerzustand-1— Flipflop FISCO1 vom Ausgangssignal des ODER-Gliedes G177 gesetzt, das unter anderem vom Au3gangssignal des UND-Gliedes G176 durchgeschaltet wird. Der in Fig. 28 nicht gezeigte andere Eingang des ODER-Gliedes G177 stellt die vielen Zustände oder Bedingungen car, die dafür sorgen, daß der Reihenfolgesteuerzustand 1 bei der Ausführung verschiedener Befehle eines laufenden Programmes periodisch eingeleitet wird.
-61- BAD ORIGINAL
109308/1583
1549A/ι 4
Es sil daran erinnert, daß, wenn der Reihenfolgesteuerzustand 1 nach dem Reihenfolgesteuerzustand 3 eines ABL-Befehls eingeleitet wird, da3 P-Register 24 die erste nach derjenigen •Speicherplatzadresse folgende Hpeicherplatzadre»se enthält, in der der in der Ausführung befindliche ABL-Befehl geopeichort ist, da sie während des Reihenfolgesteuürzufitands um 1 erhöht wurde. Mithin wird die Programmsteuerung auf denjenigen Befehl übertragen, der in diesem ersten öpeLoherplatz gespeichert ist, und es v/erden weder Informationen noch das modifizierte Listensteuerwort gespeichert.
Es sei darauf hingewiesen, -dai3, worin das UHIMxILed 'ΐΐ 'B durchgeschaltet sein solLte, weil das die Bitstolie 4 speichernde Flipflop im B-Register 25 gesetzt Ist, das ODER-Glied G125, das UND-Glied (Π26 und das ODER-Glied G177 ebenfalls im Takt TLPS durchgeschaltet werden. Dieser Fall wird noch anhand der Überprüfung einer Liste auf Leere des sog. "Liste-leer-Tests" erläutert. Auf der anderen Holte v/ird, wenn weder die die Bitatellen 5 oder 4 speichernden Flipflops im B-Register 25 gesetzt 3ind, das iiOIi-Gliüd CM 79 gesetzt, da die UND-Glieder G174 und G-17*3 beide gesperrt Bein müsuen. Deshalb wird das UND-GlM G180 und nicht das UlH)-GLled G176 im Takt TLPS durchgeschaltet, so daß das Ausgangssignal des UND-Gliedes G180 das ODER-Glied GIBl durchschaltet. Mit der Rückflanke des Taktsignals TLPC wird das Reihenfolgesteuerzustand-4-Flipflop gesetzt, um eine vollständige Ausführung des ABL-Befehls zu ermcJglLohen.
BAD
1549U4 t$
Der andere Eingang des OUKH-GIieden GV31, der in Pig. 28 nicht beschriftet ist-, stellt die vielen Bedingungen dar, untor denen der ReihenfölgeoteuorzuBtand 4 während der Ausführung verschiedener Befehle eines laufenden Programms periodisch eingeleitet wird.
Mc während der ReihenfolgeB-teuerzuotiin.de 4 und !)■ ausgeführten" Operationen eines vollständig ausgeführten ABL-Befehls lassen sich am besten anhand des ABL-Taktdiagramms, anhand der Pig. und der Fig. 1 und 2 erläutern, bei denen es sich jeweils um ein Blockschaltbild des Informationoverlaufs zwischen den verschiedenen Registern währ-nd der Reihentfügesteuerzustände A und 5 handelt. Das Signal MAHH ist während des gesamten Reihenfolgesteuerzustandes 4 "1", um den Inhalt des H-Registers 26 ins Speicheradressenregister 32 durchzuschalten. Das modifizierte IJBtensteuerwort, das kurzzeitig im B-Rei/gster
25 gespeichert war, wird vom Signal I)BI)R ins Speicherdatenregister 33 durchgeschaltet und im Speicherplatz Z gespeichert, das die Adresse war, die aus dem H-Register 26 ins Speicheradressenregister 32 übertragen wurde. Das P-Register 24 wird durch eine zweite Eins in der gleichen Weise wie im Reihenfolgesteuerzustand 1 um eins erhöht. Im Takt TGTS des ReihenfolgeateuerzuetandB 4 werden der Inhalt der Bitstelle 8-0 &8 I-Registers 23, der Inhalt des H-Registers
26 (Z) und die Zahl 1 gleichzeitig jeweils von den Signalen UIAU, UHAU und UENC ins Paralleladdierwerk 20 durengesehaItet.
"63~ BAD ORIGINAL
109808/1583
15494U it
Die Summe, die dann durch die Ausgangesignale des Paralleladdierwerks 20 dargestellt wird,.ist dann die eigentliche Adresse des Speicherplatzes, in den das im A-Register 21 gespeicherte Infermationswort eingespeichert wird. Diese Adresse wird aus dem Peralleladdierwerk 20 in die Bitstellen A, B, 13-0 des I-Registers 23.durchgeschaltet, und zwar synchron mit dem Takt des Reihenfolgesteuerzustaiids 4 durch das Signal IAUI.
Während des Reihenfolgesteuerzustands 5 eines vollständig ausgeführten ABL-Befehls wird das Informationswort im A-Register 21 vom UAAU-Signal ins Paralleladdierwerk 20, vom Signal BAUB aus dem Paralleladdierwerk 20 ins B-Register 25 und anschließend aus dem B-Register 25 vom Signal DBDR ins Speicherdatenregister 33 durchgeschaltet. Während des ganzen Reihenfolgesteuerzustands 5 ist das Signal MAMI "1", um den Inhalt der Bitstellen A, B, 13-0 des I-Registers 23 ins Speicheradressenregister 32 durchzuschalten, Das Informationswort idt deshalb in demjenigen Speicherplatz gespeichert, der von der Adresse im !-Register 23 vorgeschrieben wurde, die während der Reihenfolgesteuerzustende 3 und 4 gebildet wurde. Mit der Rückflanke des Taktsignals TLPS des Reihenfolgesteuerzustands 5 wird der Reihenfolgeeteuerzustand 1 wieder eingeleitet, um den nächsten Befehl aus dan Speicherplätzen zu holen, die vom Inhalt des P-Registers 24 vorgeschrieben werden, das die zweite Adresse nach derjenigen Adresse speichert, unter der der ABL-Befehl gespeichert ist.
1549U4 65
Nun sei der Befehl AEL betrachtet. Das Signal DiEL ist "1", wenn der AEL-Operationscode aus dan Bitstellen 23-18 des !-Registers 23 dekodiert wird. Wie aus fig. 27 zu ersehen ist, wird der P-Teil des Liatenateuerwortes während des Reihenfolgesteuerzustanda 3 bei der Ausführung eines AEL-Befehls durch die Impulse ISPT in der gleichen V/dse wie im Reihenfolgest euer zustand 3 "bei der Ausführung eines ABL-Befehls über das NAND-Glied Q100 und den F-VoIladdierer 27 im Kreis geleitet. Im Falle des AEL-Befehls wird der Eingang B des F-Volladdierers nicht auf Null gehalten, da das Signal DABL nicht "1" ist. Infolgedessen wird der F-Teil während des Reihenfolgesteuerzustands bei der Ausführung eines AEL-Befehls nicht modifiziert. Die am Ende des Reihenfolgesteuerzustands 3 des AEL-Befehls in den Bitstellen 8-0 des I-Registers 23 gespeicherte Binärzahl muß gleich der Summe der Teile F und N vor ihrer Modifikation zuzüglich einer weiteren 1 sein, um das Abspeichern im Speicherplatz des "zuführbaren Endpostens" zu erreichen. Wie aus Fig. 27 zu ersehen ist, werden das ODER-Glied G168 und die UND-Glieder G2O6 und G170 von der Kombination der Signale DAEL, SC3A, TÖT3 durchgeschaltet, um das I-Übertrag-Flipflop 38A voreLnauijtüllen. Die Impulse ISFT werden dann zur VersohLs) 1HUIg :lea F-I'eils des Listensteuerworts in den Bt tat-/lien 23-15 des B-Registers 25 und des N-Teils dea LLatenateuefwortes in den Bistellen 14-16 des B-Regtafcere 25 über den I-Yolladdierer 28 verwendet.
" 65~ ,BAD ORIGINAL
' 109808/1583
15494U
Die Impulse ISFT werden auch zum Durchschalten der Ausgangseignale 3 und S in die Bitatellen Θ-0 des I-Regieters 23 verwendet, wie es für den ABL-Befehl beschrieben wurde. Die UND-Glieder G144 bis G161 ermöglichen eine serielle Rechtsverschiebung des im B-Register 25 gespeicherten N-Teila, wenn die Schfebeimpulse ISPT auftreten. Das UND-Glied G135 wird immer dann durehgeachaltet, wenn der AEL-Befehl dekodiert wird, um die Information im i'lipflop der sechsten Bitstelle des B-Registers 25 über das NAND-GlLed G173 zum Eingang B des I-Volladdierers 28 au schieben. Die UND-Glieder GI69 und G171 und die ODER-Glieder G170 und G172 arbeiten zusammen, um die Ausgangssignale C und C des I-Volladdieres 28 synchron mit den Schiebeimpulsen ISPT zum !-Übertrag-Flipflop 28A durchzuschalten und eine normale Übertragweiterleitung zu erzielen.
Wenn die Liste bei der Ausführung eines AEL-Befehls voll wird, wird das die Bitsteile 5 speichernde Flipflop im B-Register 25 im wesentlichen durch die gleiche Folge logischer Operationen wie bei dem ABL-Befehl gesetzt, nur daß jetzt da3 ODER-Glied G143 vom Signal DAEL und niuhb 7or;i Signal DABL durchgeschaltet wird. In ähnlicher 7«Lijo lab dia ReLhenfolgeütirierauntand-Entscheidung, die mn Ende de.! ReLhenfoIgenteuarzm-ibande ;5 erfolgt, bei ilen But'fjhlen Al)L und AüL die gleiche, abgesehen rom üurc:h-, das lern ODER-Glied G 143 au^efuhrt v/ird.
-ob-
10 9308/1583
Die während der Reihenföl gesteuerzustände 4 und 5 ausgeführten-Operationen sind bei den Befehlen ABL und AEL gleich.
In folgenden wird nun der RBL-Befehl beschrieben, I)8S Signal DRBL ist "1", wenn der RBL-Operationsoode aus den Bitstellen 23 - 1Θ des I-Registero 23 dekodiert ist. Wie bereits erwähnt, sind die Modfikationen, die mit dem Listensteuerwort bei der Ausführung eines RBL-Befehls vorgenommen werden müssen, folgende:
a) eine Addition von. 1 aura F-Teil
b) eine Subtraktion von 1 vom lf-Toil und
c) da3 oetsen des Bite 4 des Listens!ouerwortes, wenn nie Liste bei der Ausführung des augenblicklichen RBL-Befehls voll wird.
Ferner wird die Zahl Ptl in die Bitat eilen bO des I-Registers 23 geschoban, um die Bestimmung des genauen Speicherplatzes vorzubereiten, aus dem ein Informationswort geholt werden soll.
Die Logik zur Verwirklichung der Addition von 1 zum F-Teil und der Übertragung des ummodifizierten F-Teila 31 In« 1 in die Bitstellen 80 des I-Registers 23 ist in Fig. gezeigt. Wie bei den Befehlen ABL und AEL wird während des gesamten Reihenf ο Igesteuerzusiaids 3 ein Eingang
-67-
109808/1583
8AO OHfGlNAt
des NAND-Gliedes G100 vom Signal SC3A vorbereitet bzw. durchgeschaltet, so deß das Ausgangθsignal vom 1-Ausgang des die Bitstelle 15 speichernden Plipflop im B-Register 25 praktisch invertiert und dem Eingang A des P-VoIladdierers 27 !zugeführt wird. Außerdem bereitet das Signal SC3A den einen Eingang eines anderen NAND-Gliedes G200 vor. Der andere Eingang von G200 wird vom 1-Ausgang des ertre~g~tter Aug des F-Übertrag-Flipflop 27A angesteuert, und der Ausgang von G200 ist mit dem Eingang P des F-Volladdierers 27 verbunden. Man sieht, daß dae F-Übertragflipflop 27A am Afang des Reihenfolgezustands 3 bei der Ausführung eines RBL-Befehls gelöscht ist, da das Signal SCIA zuvor dem Löscheingang über ein ODER-Glied G204 zugeführt wurde. Das Signal BRBL schaltet jedoch das ODER-Glied G210 durch, und dessen Ausgangssignal wird dem Eingang eines UND-Gliedes G205 zugeführt, das im Takt TC3 des Reihenfolgesteuerzustands 3 vollständig durchgeschaltet wird. Das Ausgangssignal von G205 stellt das eine Eingangssignal des anderen ODER-Gliedes G202 dar, das seinerseits den Setzeingang des F-Übertrag-Flipflop 27A ansteuert. Deshalb wird das P-Übertrag-Plipflop 27A gesetzt, bevor eine Addition im P-Vo11addierer 27 stattfindet, und der Eingang P des P-Volladdierers 27 wird vorbereitet, bevor der erste Impuls ISPT erzeugt wird. Hithin wird, wenn die Impulsfolge von 9 Impulsen ISPT erzeugt ist, der P-Teil des Listensteuerwortes
-68-
BAD ORIGINAL
109808/1583
. über den F-Volladdierer -27 und zurück in seine ursprüngliche Lage im B-Register 25 geleitet, nachdem er infolge der Voreinstellung des F-Übertrag-Flipflop 27A am 1 erhöht wurde. Die Anzahl der Bits, die aus dem F-Teil im B-Raster 25 in die Bitstellen 8-0 des I-Reglaters 23 geschoben werden sollen, wird in der gleichen Weise wie beim ABL-Befehl bestimmt. Die tatsächliche Zahl, die ins I-Register 23 geschoben wird, muß in dem Falle eines RBL-Befehls jedoch gleich dem F-Teil plis 1 sein. Diese Addition der Zahl 1 erfolgt durch Voreinstellung des I-Übertragflipflop 28A. Wie in Fig. 7 gezeigt istr schaltet dee Signal DRBL ein ODER-Glied G168 durch, und das Ausgangssignal von G-168 wird einem Eingang eines UND-Gliedes G206 zugeführt, dessen andere Ein gänge die Signale SC3A und T0T3 erhalten· Wenn das DHD-Glied duiriageschaltet ist, schaltet sein Auegangssignal ein ODER-Glied 170 durch, das den Setzeingang des I-Übertragflipflop 28A betätigt. Der Kuli-Ausgang des I-Flipflop 28A ist direkt mit dem P-Eingang des I-Volladdierers 20 verbunden. Der Eingang P des I-Volladdierers 28 wird deshalb vor dem Auftreten der Impulsfolge ISFT durchgeschaltet. Die Impulsfolge ISFT schiebt den F-Teil über den I-Volladdierer 28 und in die Bitstellen 80 des I-Registers 23, und zwar in der gleichen Weise wie beim ABL-Befehl. Das Ergebnis in den Bitsteilen 80 des I-Registers 23 ist die Summe F + 1, die sich durch Voreinstellung des I-Übertrag-Flipflop 28A ergibt.
-69-
BAD
109808/1583
fo
Der N-IeIl muß bei der Ausführung eines RBL-Befehls um 1 verringert werden. Dies erfolgt durch die in Pig. 28 gezeigte Logik. Der eine Eingang des NAND-Sliedes G143 wird vom Signal SC3a durchgeschalxeti und der andere Eingang ist direkt mit dem 1-Ausgang des die Bitstelle 6 des B-Registers 25 speichernden Flipflop verbundent so daß dessen Ausgangssignal dadurch praktisch invertie* und dem Eingang A des N-Volladdierers 29 zugeführt wird. Der Eingang B des N-Volladdierers 29 wird vom Signal DRBL festgelegt, daß über das NOR-Glied G207 invertiert wird. Das zuvor von der .Rückflenke des Signale SC1A, das über des ODER-Glied GHO zugeführt wird, gelöschte N-Übertragflipflop 29 ist nicht voreingestellt und sorgt so dafür, daß nur eine normale Übertragweiterleitung erfolgt. Das Ergebnis der zwangsweisen Festlegung des Eingangs B des N-Yolladdlerers 29 bei der Umleitung (circulating) des N-Teils über den Α-Eingang, wenn die Impulsfolge ZSFT erzeugt wird, ist die Subtraktion der Zahl 1 vom N-TeIl,der nach dem 9. Schiebeimpuls ISJ1T In seine ursprüngliche Lage im B-Register 25 zurückgekehrt ist.
Das Flipflop FIXLCP überwacht den Ausgang S des N-Volladdierers 29, um festzustellen, ob die Liste nach der Ausführung des RBL-Befehlβ leer wird, was durch den modifizierten N-Tpil angezeigt wird. Wie bei den Befehlen ABL und AEL ist dieses Flipflop FIXLCP im Takt GT3 des Reihenfolgesteuerzustandes 3 durch das Durchschalten des UND-Gliedes G124 voreIngeeteilt. Das UND-Glied G165, das den Lösoheingang des Flipflop FIXLCP ansteuert, wird synchron mit den Impulsen ISFT durohgeschaltet, und zwar immer dann, wenn das Ausgangssignal am Ausgang S dee N-Addierers 29 "1" ist und der J-Zähler 30 den Zählerstand 378 noch nicht erreicht hat. Wenn dies bei Irgendeinen der neiuen Schiebeimpulse ISFS der Fall 1st,
BADORiGiNAL
15494U
wird G 1.6-5' durchgeschaltet, um da β Flipflop FDCLCP zu löschen« Wenn die Liste jedoch leer wird, sind alle früheren Bits des N-Teils, wie vom L-Teil vorgeschrieben, Null, und das Flipflop FIXLCP wird nicht gelöscht.
-71-
109808/158 3 BAD
Der 1-Ausgang des Flipflop PIXLCP ist mit dem einen Ein gang des UND-Gliedes CM84 verbunden, dem auch die Signale SC3A und TLPS zugeführt werden. Wenn die Liste leer geworden ist, wird G141 im Takt TLPS des Reihenfolgesteuerzu- stands 3 des RBL-Befehls durchgeschaltet, um seinerseits den einen Eingang des UND-Gliedes G208 durchzuschalten. Der andere Eingang des UND-Gliedes G208 ist bereits vom Ausgang eines ODER-Gliedes G280 vorbereitet, dem das Signal DREL zugeführt wird. Das die Bitstelle 4 speichernde Flipflop in B-Register 25 wird mithin mit der Rückflanke des Takt- signals TLPS im Reihenfolgeeteuerzuetand 3 des RLB-Befehle gesetzt, wenn das Flipflop PIXLCP gesetzt geblieben ist. Das die Bitetelle 5 speichernde Flipflop im B-Register 25' wird jedesmal im Takt TLPS des Reihenfolges-teuerzustande eines RBL-Befehls durch das Durchschalten der UND-Glieder G211 und G2O9 gelöscht, weil eine Liete nach dei>- erfolgreichen^oder nicht erfolgreichen, Beendigung eines RBL-Befehls niemals voll βein kann·
Nun sei der REL-Befehl betracMßt. Das Signal DREL ist "1", wenn eich der REL-Operationecode in den Bitstellen 23-18 dee I-Regieters befindet. Wie aus Fig. 27 zu ersehen ist, wird der F-Teil lediglich von den Schiebeimpulsen ISFT über dae NAND-Glied G100 und den F-Volladdierer 27 im Reihenfolgeetaierzu8tand 3 des REL-Befehle geleitet. Dae F-Ubertrag-Flipflop 27A, das zuvor von der Rückflanke dee SC1A-
- 72 -
109808/1583 8AD original
15A94AA
Impulses gelöscht wurde, der über das ODER-Glied G2O4 zugeführt wurde, ist nicht voreingestellt und der Eingang B des F-Volladdierers nicht durehgeschaltet. Die Binärzahl, die am Ende des Reihenfolgesteuerzustanda 3 dea REL-Befehls in den Bitstellen 8-0 des I-Registers 23 erscheint, muß jedoch gleich der Summe der F- und N-Teile sein, "bevor das Listensteuerwort modifiziert ist. Diese Summierung erfolgt durch Verschiebung des F-Teils zum Α-Eingang und des N-Teils zum B-Eingang des I-Volladdierers 28, dem die Schiebeimpulse ISi1T zugeführt werden.
Das I-Übertrag-Flipflop 28A, das zuvor über das ODER-Glied G172 von der Rückflanke dea Impulses SC1A gelöscht wurde, ist nicht voreingestellt. Diese Operation verläuft in ähnlicher Weise wie die des AEL-Befehls, unterscheidet sich jedoch darin, -daß das ODER-Glied G185 vom Signal DREL und nicht vom Signal DAEL durchgeschaltet wird.
Am Ende des Reihenfolgesteuerzustands 3 beider Befehle RBL oder REL muß geprüft werden, ob die Liste gerade leer ist, was vom, Listensteuerwort vor der Modifikation angegeben wird. Wie in Fig. 3 gezeigt ist, ist das eine Eingangssignal des UND-Gliedes 178 das Ausgangssignal des ODER-Gliedes G182, das von dem Signal DRBL oder DREL durchgesehaltet wird. Die anderen Eingangssignale des UND-GIiede« G178 sind das Signal SC3A und das Ausgangssignal vom Eins-Ausgang
8AD
10980β7Γ6β3
15494U
des die Bitstelle 4 speichernden Flipflop im B-Register Das UND-Glied G17ö ist mithin während des ganzen Reihenfolgesteuerzustands 3 des Befehls RBL oder REL nur dann vorbereitet, wenn das die Bitstelle 4 speichernde Flipflop im B-Register 25 gesetzt ist. Wenn diese Bedingung erfüllt ist, wird das ODER-Glied GH75 ebenfalls von Ausgangssignal des Gliedes G178 durchgeschaltet, und das Ausgangesignal des Gliedes G175 schaltet einen Eingang des UND-Gliedes G176 durch. Der andere Eingang von G176 wird im Takt TLPS des Reihenfolgesteüerzustands 3 bei den Befehlen RBL oder REL durchgeschaltet und das Reihenfolgesteuerzustande-1-Flipflop wird im Augenblick de« Auftretens der Rückflanke des Taktβignalβ TLFS vom Ausgangssignal des ODER-Gliedes G177, das von G176 durchgeschaltet wird, gesetzt. Es zeigt sich, daß in diesem Augenblick das F-rRegister 24 die erste Speicherplatzadresse nach derjenigen enthält, in der der gerade ausgeführte Befehl gespeichert ist. Die Programmsteuerung wird mithin auf den in diesem Platz gespeicherten Befehl übertragen, und es wird weder irgendeine Information noch das modifizierte Listensteuerwort gespeichert. Wenn dagegen die die Bitstellen 5 oder 4 speichernden Flipflop in B-Register 25 nicht gesetzt sind, wird das HOR-GIied G179 durchgesehaltet, weil die ÜHD-Glieder G174 und G178 beide gesperrt sein müssen. Wenn die letztgenannte Bedingung erfüllt ist, wird das UID-Glied 6180 und nicht G176 ■it des Takt TLPS durchgeeehaltet, üb das ODER-Glied G181 durchzuschalten· Das Auegangsβignal des ODER-Gliedes G181
BAD
addierwerk 20 durchgeechaltet. Im Takt TLPS schaltet das Signal AAUA das durch die Ausgangesignale des Paralleladdierwerke 20 dargestellte Informationswort ins A-Regieter 21, und dann beginnt der Reihenfolgesteuerzustand 1, um das in der zweiten Kernzelle nach derjenigen, in der der gerade ausgeführte Befehl HBL und REL gespeichert ist, gespeicherte Befehlswort auszulesen.
Die Signale DIBL und DODL, die die Eingangssignale der verschiedenen Glieder .in den Figuren 27 und 28 darstellen, werden während irgendeines Taktes bei der Ausführung der Listenbefehle nicht "1".
109808Π 583 bad original
setzt das Reihenfolgesteuerzustand-4-Flipflop, so daß der Befehl RBL oder REL vollständig ausgeführt werden kann.
Die während des Reihenfolgezuetands 4 der Listenbefehle RBL und REL auegeführten Punktionen sind einander gleich, und der Re ihenf olges .-teuer zustand für diese Befehle läuft in der gleichen Weise wie bei den Befehlen ABL und AEL ab.
Die in ReihenfοIgesteuerzustand 5 eines vollständig ausgeführten Befehls RBL oder REL durchgeführten Funktionen sind einander gleich und werden ia folgenden an Hand ihrer jeweiligen Taktdiagrasme nach Fig. 24 und 25 und an Hand der Fig. 3, das ein Blockschaltbild der zwischen den einzelnen Registern des während des Reihenfolgezustands 5 auftretenden Informationsübertragungen darstellt, beschrieben. Während des gesamten Reihenfolgesteuerzustands 5 ist das Signal MAMI "1" und schaltet den Inhalt der Bitstellen A1B, 13-0 des I-Registers 23 ins Speicheradressenregister 32. Die Operandenadresse im I-Register 23 ist in diesem Augenblick cie während der Reihenfolgezustände 3 und 4 gebildete. Deshalb ist das Informationswort, das im Speicherdatenregister 33 erscheint, der gewünschte "entfernbare Anfangs- oder Endposten1' , der entfernt werden soll. Im Takt TCT2 wird dieses Informationswort vob BDOB-Signal ins B-Register 25 und von dort durch die Signale UBÜÄ und UBLA, die während des gesamten Reihenfolgesteuerzustends 5 "1" sind, ins
1098O8/1S8 3

Claims (1)

  1. Patentansprüche
    1. Informationsverarbeitungseinrichtung mit fiegistern und Speichervorrichtungen, in denen mehrere Speicherplätze zur Speicherung einer entsprechenden Anzahl von Informationswörtern vorgesehen sind, dadurch gekennzeichnet , daß folgende Vorrichtungen miteinander kombiniert sind:
    ein erstes Register (I-Register 23) zur Zwischenspeicherung des Befehlswortes einer Anweisung, die von der Informationsverarbeitungseinrichtung ausgeführt werden soll, wobei das Befehlswort einen Operandenadressteil (Fig. 4s Bits 14-0) enthält,
    eine Adressiervorrichtung (Speicheradressenregister 32), die auf den Adressteil des im ersten Register (I-Register 23) gespeicherten Befehlswortes anspricht und die Kennung eines ersten Speicherplatzes (Pig. 22aZ) bildet,
    ein zweites Register (H-Register 26) zur Zwischenspeicherung des Operandenadressteils des im ersten Register (I-Register 23) gespeicherten Befehlswortes,
    ein drittes Register (B-Register 25)» das mit der Speichervorrichtung (Hauptspeicher 2) zusammenarbeitend in Verbindung steht,
    eine auf die von der Adressiervorrichtung (Speicheradressenregister 23) ansprechende Vorrichtung (Speicheradre8senregister 32) zur Übertragung des im ersten Speicherplatz
    098O871583
    BAD ORIGINAL
    gespeicherten Wortes (Listenateuerwort) in das dritte Register (B-Register 25),
    eine Prüfvorrichtung (Pig. 38, G174-G181 und PISCO4) zur •Prüfung eines ersten Teils (Pig. 22a: Bit f oder Bit e) des ±u dritten Register (B-Register) zwischengespeicherten Wortes und zur Peststellung eines Speicherplatzzustandes (Liste nicht voll nicht leer),
    eine Vorrichtung (Pig. 38: G179 und PISC04) in der Prüfvorrichtung, die auf die Peststellung des Speicherplatzzustandes anspricht und ein Signal (Pig. 38: PISCO4) erzeugt,
    eine Vereinigungsvorrichtung (I-Volladdierer 28 und Paralleladdierwerk 20) zum Vereinigen mindestens eines zusätzlichen Teils (Pig. 22a: P-Teil oder P-Teil und N-Teil) des im dritten Register (B-Register 25) zwischengespeicherten Wortes mit der im zweiten Register (H-Register 26) zwischengespeicherten Operandenadresse, um die Kennung eines zweiten Speicherplatzes (Pig. 22c: aufzurufender Listenspeicherplatz) zu bilden,
    ein viertes Register (A-Register 21) und
    eine auf das Signal (PISC04) und die von der Vereinigungsvorrichtung (I-Volladdierer 28 und Paralleladdierwerk 20) ansprechende Vorrichtung (Speicheradressenregister 32 und Speicherdatenregister 33) zum Übertragen eines Informationswortes zwischen dem vierten Register (A-Register 21) und den zweiten Speicherplatz (aufgerufener Listenspeicherplatz).
    10 9 8~018/ T S 8 3 ^0 0Rfö'NAL
    15494U 93
    2. Inforinationsverarbeitungseinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß sie ein fünftes Register (P-Register 24) zur Zwischenspeicherung der Speicheradresse des Befehlswortes, eine Vorrichtung (Paralleladdierwerk 20, Signale UPAU, UENC) zur Erhöhung der in fünften Register zwischengespeicherten Speicheradresse um 1 und eine Vorrichtung (Paralleladdierwerk 20, Signale UPAU, UENC) enthält, die auf die Erzeugung dieses Signals anspricht und die im fünften Register zwischengespeicherte Speicheradresse um eine weitere 1 erhöht.
    3. Einrichtung nach Anspruch 1, dadurch gekennzeichnet , daß die Prüfvorrichtung (Fig. 38: G174-G181 und PISC04) einen ersten und einen zweiten Teil des im dritten Register zwischengespeicherten Wortes prüft und die Zustände eines ersten und zweiten Speicherplatzes abtastet, und daß die Ansprech- und Feststellvorrichtungen (G174 und 6178) auf die Feststellung des ersten Speicherplatzzustandes ansprechen, ein erstes Signal erzeugen, ferner auf die Feststellung des zweiten Speicherplatzzustandes ansprechen und ein zweites Signal erzeugen, daß Vorrichtungen (G179 und FISC04) vorgesehen sind, die auf die Erzeugung sowohl dee ersten als aucl· des zweiten Signals ansprechen und ein drittes Signal erzeugen, daß Signalansprechvorrichtungen (Speicheradresserregtster und Speicherdatenregister 34) sowohl auf das dritte Signal als auch die von der Vereinigungsvorrichtuag gebildete Kennung ansprechen·
    10980
    4. Einrichtung nach Anspruch 1, dadurch gekennzeichnet , daß die Vereinigungsvorrichtung (I-Volladdierer 28 und Paralleladdierer 20) mindestens einen zusätzlichen Tei'l des im dritten Register (B-Register 25) zwischengespeicherten Wortes mit der Operandenadresse, die im zweiten Register (Η-Register) zwischengespeichert ist, vereinigt, um die Kennung eines zweiten Speicherplatzes zu bilden.
    5. Einrichtung nach Anspruch 1, dadurch gekennzeichnet , daß die Vereinigungsvorrichtung (28,20) einen dritten Teil des im dritten Register zwischengespeicherten Wortes mit der im zweiten Register zwischengespeicherten Operandenadresse vereinigt und die Kennung eines zweiten Speicherplatzes bildet.
    (·. Einrichtung nach Anspruch 1, dadurch gekennzeichnet , daß die Vereinigungsvorrichtung (28,20) dritte und vierte Teile des im dritten Register zwischengespeicherten Wortes mit der im zweiten Register (26) zwiBchengespeicherten Operandenadresse vereinigt, um die Kennung eines zweiten Speicherplatzes zu bilden.
    ßAD ORIGINAL
    109808nS83
    7« Einrichtung nach Anspruch 1, bei der ein Steuerwort im ersten Speicherplatz gespeichert ist, dadurch gekennzeichnet , daß das Steuerwort in das dritte Register (25) übertragen wird, daß dieses Steuerwort "P"-, "N"-, "L"- und "Liste-voll"-Teile enthält, von denen der "L"-Teil die vorbestimmte Anzahl von Speicherplätzen anzeigt, daß die Prüfvorrichtung den "Liste-voll"-Teil des im dritten Register (25) zwischengespeicherten Steuerwortes prüft, um einen "Speicherplatz-nicht-verfügbar"-Zustand festzustellen, daß die Ansprech- und Peststellvorrichtungen (G 174· und GH 78) auf das Versagen der Prüfvorrichtung ansprechen, um einen "Liste-voll-Zustand" zur Erzeugung dieses Signals festzustellen, daß die Vereinigungsvorrichtung (28 und 20) den "Ρ''-Teil des im dritten Register zwischengespeicherten Steuerwortes zur im zweiten Register zwischengespeicherten Operandenadresse und zusätzlich die Zahl 1 hinzuaddieren, um die Kennung eines zweiten Speicherplatzes zu bilden, daß die auf das Signal und die Kennung, die von der Vereinigungsvorriohtung gebildet ist, ansprechende Vorrichtung (33 und 34) ein Informationswort aus dem vierten Register in den zweiten Speicherplatz überträgt.
    - 81 - BAD ORIGINAL
    108*08/1683
    Sl
    8. Einrichtung nach Anspruch 7, gekennzeichnet durch Vorrichtungen (N-Übertrag-Flipflop 29A und N-Volladdierer 29) zum Addieren der Zahl lr1" zum "N"-Teil des im dritten Register zwiechengespeicherten Steuerwortes, um ein modifiziertes Steuerwort zu bilden, und durch weitere Vorrichtungen (32,34), die auf das Signal ansprechen, um das modifizierte Steuerwort in dem ersten Speicherplatz abzuspeichern,
    9. Einrichtung nach Anspruch 7, dadurch gekennzeichnet , daß die Vereinigungsvorrichtung (28,20) auch den K-0!eil und die Zahl 1 zum F-Teil des Steuerwort es MiL?-uaddiert·
    10* Einrichtung nach Anspruch 7» gekennzeichnet a si r s h ©ine Vorrichtung '(29) zum Subtrahieren der Zahl 1 ¥oa l-fsil und zum Addieren der Zahl 1 zum N-Teil des Steuerwortes·
    11. Einrichtung nach Anspruch 1» bei der ein Steuerwort im ersten Speicherplatz gespeichert ist, dadurch gekennzeichnet , daß das Steuerwort in das dritte Register (25) übertragen wird, daß das Steuerwort "P"-, MN"-, "1"-, und "Liste-leerlf-Teile enthält, von denen der "LN-Teil die vorbestimmte Anzahl von Speicherplätzen anzeigt, daß die Prüfvorrichtung (G174-G181 und FISC04) den
    - 82 -
    09808/1^83
    Si
    "Liste-leer"-Teil des im dritten Register (25) zwischengespeicherten Steuerwortes prüft, um das Fehlen sinnvoller in den Speicherplätzen gespeicherter Informationswörter festzustellen, daß die Ansprech- und Peststellvorrichtungen auf das Versagen der Prüfvorrichtung ansprechen, und einen "Li8te-leerM-Zustand zur Erzeugung des Signals feststellen, daß die Vereinigungsvorrichtung den "F"-Teil des im dritten Register zwiechengespeicherten Steuerwortes und die Zahl 1 zum ira weiten Begister zwischengespeicherten Adressteil addiert, um die Kennung eines zweiten Speicherplatzes zu bilden, und daß die auf das Signal und die von der Vereinigungsvorrichtung (28,20) gebildete Kennung ansprechenden Vorrichtungen (32,33) ein Informationswort aus dem zweiten Speicherplatz in das vierte Register (21) übertragen.
    12. Einrichtung nach Anspruch 11, dadurch gekennzeichnet , daß die Vereinigungsvorrichtunc (28,20) ferner den N-TeIl des Steuerwortee hinzuaddiert.
    "3· Einrichtung nach Anspruch 12, dadurch £ e kennzeichnet , daß sie eine Vorrichtung (27A und 27) zuffi Subtrahieren der Zahl 1 vom "N"-Teil des Steuerwortee enthält.
    1 098087 fs83
    BAD
    14« Einrichtung nach Anspruch 12, dadurch gekennzeichnet , daß die Yereinigungsvorrichtung (28,20) eine weitere Zahl 1 hinzuaddiert, um die Kennung eines zweiten Speicherplatzes zu bilden.
    15. Einrichtung nach Anspruch 12, dadurch gekennzeichnet , daß sie eine Vorrichtung (27A, 27) enthält, die die Zahl 1 zum "F"-Teil addiert und die Zahl 1 vom "N"-Teil des Steuerwortes subtrahiert.
    SAD ORJGiNAL
    109808/1583
DE19671549444 1966-11-23 1967-11-22 Informationsverarbeitungseinrichtung Pending DE1549444A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US59666666A 1966-11-23 1966-11-23

Publications (1)

Publication Number Publication Date
DE1549444A1 true DE1549444A1 (de) 1971-02-18

Family

ID=24388194

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19671549444 Pending DE1549444A1 (de) 1966-11-23 1967-11-22 Informationsverarbeitungseinrichtung

Country Status (7)

Country Link
US (1) US3473161A (de)
BE (1) BE706901A (de)
CH (1) CH489056A (de)
DE (1) DE1549444A1 (de)
FR (1) FR1570457A (de)
GB (1) GB1207167A (de)
NL (1) NL6715891A (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2136170A (en) * 1983-03-03 1984-09-12 Electronic Automation Ltd Method and apparatus for accessing a memory system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2907524A (en) * 1954-06-01 1959-10-06 Burroughs Corp Conditional stop control apparatus
US3061192A (en) * 1958-08-18 1962-10-30 Sylvania Electric Prod Data processing system
US3202970A (en) * 1958-08-29 1965-08-24 Ibm Scatter read/write operation using plural control words
US3202971A (en) * 1958-08-29 1965-08-24 Ibm Data processing system programmed by instruction and associated control words including word address modification
US3161763A (en) * 1959-01-26 1964-12-15 Burroughs Corp Electronic digital computer with word field selection
US3116410A (en) * 1959-11-30 1963-12-31 Monroe Calculating Machine Simple general purpose digital computer
GB942153A (en) * 1961-01-26 1963-11-20 Int Computers & Tabulators Ltd Improvements in or relating to data processing apparatus
US3290658A (en) * 1963-12-11 1966-12-06 Rca Corp Electronic computer with interrupt facility

Also Published As

Publication number Publication date
BE706901A (de) 1968-04-01
NL6715891A (de) 1968-05-24
GB1207167A (en) 1970-09-30
CH489056A (de) 1970-04-15
FR1570457A (de) 1969-06-13
US3473161A (en) 1969-10-14

Similar Documents

Publication Publication Date Title
DE2411963C3 (de) Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken
DE2637004C2 (de) Dynamischer Halbleiterspeicher
DE2731188C2 (de) Schaltungsanordnung zur Behandlung von Unterbrechungsanforderungen
DE2756890C2 (de) Schaltungungsanordnung zur Steuerung der Datenübertragung zwischen einer zentralen Verarbeitungseinheit und einer Mehrzahl peripherer Einheiten
DE2755952C2 (de)
DE1549522B1 (de) Datenverarbeitungsanlage mit simultanverarbeitung mehrerer programme mittels mehrerer rechner
DE1499201B2 (de) Schaltungsanordnung zur Umwandlung von Informationen in gepackter Bytedar stellung in eine ungepackte Darstellung
DE2928488A1 (de) Speicher-subsystem
DE1178623B (de) Programmgesteuerte datenverarbeitende Maschine
DE1474062B2 (de) Datenverarbeitungsanlage mit einer anzahl von pufferspeichern
DE1499206C3 (de) Rechenanlage
DE3121742C2 (de) Mikroprogramm-Steuereinrichtung
DE1189294B (de) Datenverarbeitungsanlage
DE1474063A1 (de) Datenverarbeitungsanlage
DE1802646A1 (de) Schaltungsanordnung fuer Datenverarbeitungsanlagen,insbesondere Fernsprechvermittlungsanlagen,mit Einrichtungen zur Nachrichtenuebertragung
DE3587874T2 (de) Protokolle für Terminal.
DE2935101C2 (de)
DE1115488B (de) Datenverarbeitungssystem
DE1474033A1 (de) Schaltungsanordnung zum Anschluss von datenverarbeitenden Systemen an Nachrichtensysteme
DE1179027B (de) Speicherprogrammierte digitale Rechenanlage
DE1424747A1 (de) Datenverarbeitungsanlage
DE3447634A1 (de) Dividiervorrichtung
DE1549444A1 (de) Informationsverarbeitungseinrichtung
DE2900460A1 (de) Warteschlangenstruktur
DE2610428A1 (de) Anordnung zur steuerung der zwischenspeicherung von zwischen zwei funktionseinheiten zu uebertragenden daten in einem pufferspeicher