DE2743060A1 - Digitalrechner - Google Patents

Digitalrechner

Info

Publication number
DE2743060A1
DE2743060A1 DE19772743060 DE2743060A DE2743060A1 DE 2743060 A1 DE2743060 A1 DE 2743060A1 DE 19772743060 DE19772743060 DE 19772743060 DE 2743060 A DE2743060 A DE 2743060A DE 2743060 A1 DE2743060 A1 DE 2743060A1
Authority
DE
Germany
Prior art keywords
signal
bit
word
signals
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19772743060
Other languages
English (en)
Other versions
DE2743060C2 (de
Inventor
John Paul Conners
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.)
Giddings and Lewis LLC
Original Assignee
Giddings and Lewis LLC
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 Giddings and Lewis LLC filed Critical Giddings and Lewis LLC
Publication of DE2743060A1 publication Critical patent/DE2743060A1/de
Application granted granted Critical
Publication of DE2743060C2 publication Critical patent/DE2743060C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30029Logical and Boolean instructions, e.g. XOR, NOT
    • 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/30094Condition code generation, e.g. Carry, Zero flag

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)

Description

Patentanwälte D:p;.-lng. Curt Wallach
Dipl.-Ing. Günther Koch
Dipl.-Phys. Dr.Tino Haibach
Dipl.-Ing. Rainer Feldkamp
D-8000 München 2 · Kaufingerstraße 8 ■ Telefon (0 89) 24 02 75 Telex b 29 513 wakai d
Datum: <_/',, bf. ρ4:*: i:.!.». ■" 1>7V
Unser Zeichen: .
Lrv;l.:,
F on O clu Lau, w i:..con:, Ln, L\
•09815/0600
BAD ORIGINAL
BESCHREIBUNG
Die Erfindung bezieht sich allgemein auf programmierbare Digitalrechner und betrifft insbesondere Digitalrechner, bei denen die Möglichkeit besteht, eine Verarbeitung einzelner Bits, die in Wörtern eines Speichers des Systems festgehalten werden, gemäß der Booleschen Logik zu verarbeiten.
Programmierbare artithmetische Digitalrechner sind als solche bekannt. Ferner sind "programmierbare Steuergeräte" bekannt und in Gebrauch, bei denen es sich praktisch um nach der Booleschen Logik arbeitende Einzelbit-Prozessoren handelt. Zwar hat man bereits Digitalrechner und programmierbare Steuergeräte so zusammengeschaltet, daß der eine Teil der Anordnung den Betrieb des anderen Teils beeinflussen kann, doch sind solche Anordnungen kompliziert und teuer. Soweit bekannt, steht bis jetzt kein Einzelgerät zur Verfügung, das geeignet ist, sowohl arithmetische Rechenaufgaben der üblichen Art zu lösen als auch eine Verarbeitung nach der Booleschen Logik durchzuführen, und bei dem es möglich ist, die Ausführung programmierter arithmetischer Operationen davon abhängig zu machen, daß vorher programmierbare verkettete Verarbeitungsschritte nach der Booleschen Logik durchgeführt worden sind.
Der Erfindung liegt die Aufgabe zugrunde, einen Digitalrechner zu schaffen, der es nicht nur ermöglicht, auf programmierbare Weise arithmetische und damit verwandte Operationen bekannter Art durchzuführen, sondern bei dem sich auch einzelne Bits verschiedener Wörter im Speicher des Systems auf programmierbare Weise gemäß der Booleschen Logik verarbeiten lassen. Ferner soll ein solcher "kombinierter" programmierbarer Rechner für arithmetische und logische Operationen geschaffen werden, bei dem es möglich ist, mehrere der Hardwareteile, die
109815/0600
λ 7 4 3 U b O
einem arithmetischen Digitalrechner benötigt werden, zu benutzen, um viele der zusätzlichen Funktionen zu erfüllen, die eine programmierbare logische Verarbeitung ermöglichen, so daß sich ein auf doppelte Weise benutzbarer Rechner ergibt, der im Vergleich zu bekannten Rechnern billiger, kleiner und leichter programmierbar ist. Weiterhin soll es die Erfindung ermöglichen, die logischen Verarbeitungsbefehls-Adressenwörter und die Mehrbitwörter von ein- und abschaltbaren logischen Operandensignalen in einem Speicher des Systems festzuhalten, sie auszugeben sowie sie einzugeben, und zwar ebenso wie wenn es sich um herkömmliche arithmetische ßefehlsadressenwörter oder um numerische Datenwörter handelte. Hierbei benötigt man keine spezielle Speicherorganisation oder besondere Steuereinrichtungen, und tatsächlich kann man äußere Einrichtungen, z.B. Schalter oder Kippschaltungen, die zur Erzeugung logischer Bits für Ein- oder Ausgangssignale dienen, nahezu so behandeln, als ob sie Bits von Wörtern repräsentierten, die in einem Kern- oder Großintegrationsspeicher bereitgehalten werden. Gemäß der Erfindung sollen ferner Teile eines im übrigen auf bekannte Weise ausgebildeten arithmetischen Digitalrechners verwendet werden, um an der Durchführung der programmierten logischen Verarbeitung eines einzelnen Bits teilzunehmen, wobei sich die Programmschritte für die logische Verarbeitung im wesentlichen regellos mit den Programmschritten für arithmetische Funktionen verschachteln lassen. Somit soll eine "kombinierte arithmetische Rechner- und logische Verarbeitungsanordnung" geschaffen werden, die bezüglich der insgesamt gebotenen Rechenmöglichkeiten, der Flexibilität und der Leichtjgceit der Programmierung einer Anordnung überlegen ist, wie sie sich bei einer einfachen Vereinigung eines Digitalrechners bekannter Art mit einer programmierbaren Steuereinrichtung bekannter Art ergeben würde. In diesem Sinne soll ein "kombinierter Rechner und Prozessor" geschaffen werden, bei dem sich die Ausführung und das Ergebnis arithmetischer Schritte qualifizieren und von dem Ergebnis vorher durchgeführter programmier-
809815/0600
ter Einzelbitschritte nach der Booleschen Logik abhängig machen läßt.
Ferner soll ein "kombinierter Rechner und Prozessor" geschaffen werden, bei dem es möglich ist, das Ergebnis verketteter Operationen nach der Booleschen Logik in einem beliebigen Bit verschiedener Wörter im Speicher des Systems zu "speichern", und zwar ohne Rücksicht darauf, ob diese Wörter in einem gewöhnlichen Speicher, z.B. in Speicherkernen, festgehalten werden, oder in äußeren Einrichtungen, z.B. Kippschaltungen zum Steuern von Motoren, Ventilen und dgl., wobei sich diese Wirkungsweise durch einfaches Programmieren des "Eingebens" eines logischen Ergebnisses in ein gewähltes Bit einer gewählten Speicheradresse erzielen läßt. In Verbindung hiermit soll ein Digitalrechner geschaffen werden, der es ermöglicht, in Abhängigkeit von codierten Befehlswörtern ein logisches Antwortsignal zu einem gewählten Bit eines gewählten Wortes im Speicher zu übertragen bzw. eine "Zwischenspeicherung" durchzuführen oder alternativ aus dem gewählten Bit des gewählten Wortes eine 1 (Setzen), eine O (Rücksetzen) oder jeweils das entgegengesetzte Signal (Invertieren) zu machen. Weiterhin soll es gemäß der Erfindung ermöglicht werden, das auf bekannte Weise ausgebildete Befehlsadressenregister eines Digitalrechners bekannter Art zu verwenden, um Befehlswörter zu empfangen, mittels welcher konventionelle arithmetische Funktionen verlangt werden, sowie spezielle Befehlswörter aufzunehmen, die für die Durchführung von Funktionen nach der Booleschen Logik gelten. Im letzteren Fall werden bestimmte Bits des Ausgangssignals des Befehlsadressenregisters decodiert, um Operationen bestimmende logische Signale zu erzeugen, wobei bestimmte andere Bits dazu dienen, ein bestimmtes Bit eines Wortes als logischen Operanden zu wählen, und wobei weitere andere Bits als Adresse benutzt werden, um ein das betreffende Bit enthaltendes Wort zu wählen und es dem Speicher zu entnehmen. Ferner soll gemäß der Erfindung das auf bekannte
80981 5/0600
ι*
-X-
27Α3060
Weise ausgebildete arithmetische Eingangsregister eines gewöhnlichen Digitalrechners benutzt werden, um ein Datenwort aufzunehmen, dar; einen gewünschten logischen Einzelbitoperanden enthält, und um von dem Register aus einem Eingang eines Prozessors für Operationen nach der Booleschen Logik das betreffende Operandenbit des genannten Wortes zuzuführen, das durch die Kombination bestimmter Bitsignale aus dem Befehlsadressenregister bestimmt ist und einen speziellen logischen Befehl enthält. Schließlich soll bei einem "kombinierten Rechner und Prozessor" eine wirtschaftliche Ausnutzung der Hardware mittels einer Einrichtung ermöglicht werden, die normalerweise auf einen arithmetischen Befehl der üblichen Art anspricht, die jedoch auf andere Weise auf ein spezielles logisches Instrukti-onscodeformat reagiert, wobei die Bits der beiden Arten von Befehlen zwar in gleicher Anzahl vorhanden sind, wobei jedoch die den speziellen Befehl enthaltenden binären Bitwählsignale an vorbestimmten Bitstellen vorhanden sind.
Erfindungsgemäß ist diese Aufgabe durch die Schaffung eines Digitalrechners gelöst, dessen Aufbau zweckmäßig und relativ einfach ist, der nicht nur geeignet ist, konventionelle arithmetische Operationen nach einem Programm durchzuführen, sondern der es ermöglicht, 1. verkettete Verarbeitungsschritte nach der Booleschen Logik bei einem beliebigen gewählten Bit irgendeines von verschiedenen im Speicher bereitgehaltenen gewählten Wörtern durchzuführen, 2. das Ergebnis der logischen Verarbeitung dadurch zu verwerten, daß das Ergebnis an einer beliebigen gewählten Bitstelle innerhalb eines beliebigen der verschiedenen im Speicher festgehaltenen gewählten Wörter zu speichern und/oder 3. zu veranlassen, daß sich die Ausführung verschiedener vorbestinunter Befehle innerhalb eines Programms nach den Ergebnissen vorher durchgeführter logischer Einzelbit-Verarbeitungsschritte richtet, und bei dem die logische Verarbeitung in Abhängigkeit von auf besondere Weise codierten Befehlswörtern erfolgt, die innerhalb eines Qesamtprogramms regellos mit den
809815/0600
ze
Befehlsschritten für die konventionellen arithmetischen Operationen verschachtelt werden können. Hierbei werden in großem Umfang schon vorhandene Register und Geräteteile benutzt, die für konventionelle arithmetische Operationen benötigt werden, um Signale dem logischen Prozessor zuzuführen oder zu entnehmen, und Hardware wird nur in einem sehr geringen zusätzlichen Umfang benötigt, um die logische Verarbeitung, die Speicherung und die Herbeiführung der genannten Abhängigkeit zu bewirken.
Ein Ausführungsbeispiel der Erfindung wird im folgenden anhand schematischer Zeichnungen näher erläutert. Es zeigt:
Fig. 1 ein verallgemeinertes Blockschaltbild eines erfindungsgemäßen Digitalrechners, bei dem die in Beziehung zueinander stehenden Hauptteile zum Teil entsprechend ihrem Aufbau und zum anderen Teil entsprechend ihrer Funktion dargestellt sind;
Fig. 2a und 2b insgesamt als Fig. 2 ein ausführlicheres Blockschaltbild eines arithmetischen Digitalrechners, der geeignet ist, logische Verarbeitungsschritte nach der Booleschen Logik durchzuführen;
Fig. 3 ein ausführlicheres Blockschaltbild des auch in Fig. 2a dargestellten Befehlsadressenregisters;
Fig. t* den Aufbau einer in Fig. 2a nur schematisch angedeuteten Direktdecodierschaltung;
Fig. 5 den Aufbau eines Phasensequenzgenerators und eines Haupttaktgebers, die in Fig. 2a nur schematisch angedeutet sind;
Fig. 6 und 7 über der Zeit aufgetragene Wellenformen zur Ver-
809815/0600
-ΡΑ / L\ ό U D O
anschaulichung verschiedener ,'Jignale, die in der Rechneranordnung während des betriebs bei bestimmten Befehlsfolgen auftreten;
Fig. 8 ein Schaltbild zur Veranschaulichten/^ der Verbindungen zwischen dem Phasenfolgegenerator und einem Festwertspeicher zum Erzeugen codierter Eingangssignale für einen Mikroprogramm-Festwertspeicher;
Fig. 9 das Blockschaltbild eines Mikroprogramm-Festwertspeichers und der zugehörigen Decodierer zum Erzeugen verschiedener Kombinationen von Steuersignalen in verschiedenen Zeitpunkten in Abhängigkeit von der Verarbeitung verschiedener Befehle;
Fig. 10 ein ausführliches Blockschaltbild eines nach der Booleschen Logik arbeitenden Prozessors, der zur Durchführung der Erfindung geeignet und in Fig. 1 und 2a nur schematisch angedeutet ist;
Fig. 11 ein funktionelles Blockschaltbild eines Ausführungsbeispiels für einen Systemspeicher, der in Fig. 2b nur schematisch angedeutet ist; und
Fig. 12 ein fragmentarisches Blockschaltbild, das veranschaulicht, auf welche Weise bestimmte Wörter des Systemspeichers mit Hilfe äußerer Hardwareteile, z.B. von Schaltern und Kippschaltungen, erzeugt werden, wobei jede dieser Hardwareeinrichtungen ein logisches Bit darstellt, das gefühlt werden kann, oder ein logisches Bit, das nicht nur gefühlt, sondern auch in den einen oder anderen von zwei möglichen Zuständen gebracht werden kann.
109815/0600
ίVAJU ο O
In der folgenden Beschreibung wird ferner auf die Tabellen I bis VII bezug genommen, die zur Ergänzung von Fig. 1 bis 12 dienen und aus Gründen der Zweckmäßigkeit am Ende der Beschreibung beigefügt sind.
1. Einleitung
In Fig. 1 ist ein Ausführungsbeispiel eines erfindungsgemäßen Digitalrechners teilweise entsprechend seinem Aufbau und zum anderen Teil entsprechend seiner Wirkungsweise dargestellt. Zunächst sei das programmierbare Grundsystem für arithmetische digitale Rechenvorgänge betrachtet; zu einer Zentraleinheit CPU gehören eine arithmetische Einheit 100 und eine Steuereinheit 200, die durch eine Schiene 10 mit mehreren Leitungen mit einem Lese- und ochreib-Systemspeicher 300 verbunden sind. Der Speicher 300 ist auf bekannte Weise ausgebildet, d.h. er weist mehrere Speicherstellen zum Aufnehmen, Festhalten und Melden von Mehrbitwörtern auf, bei denen jedes Bit einen von zwei Werten, d.h. den Wert 0 oder den Wert 1, annehmen kann. Jedes Mehrbitwort wird an einer Stelle gespeichert, die durch eine eindeutige Adresse bezeichnet ist. Bei einigen der in dem Speicher gespeicherten Wörter handelt es sich um arithmetische Befehlsadressenwörter, die ihrer speziellen Natur nach ein Softwareprogramm bilden, das dem Speicher vor dem Beginn der Rechenoperationen eingegeben werden kann. Im Gegensatz hierzu handelt es sich bei einigen der in dem Speicher an anderen Stellen gespeicherten Wörtern um numerische Datenwörter, die bei sequentiellen arithmetischen Berechnungen oder als Ergebnis davon verwendet und/oder verändert werden. Diese Befehlswörter und die arithmetischen Datenwörter sind in Fig. 1 mit 300a bzw. 300b bezeichnet, um erkennen zu lassen, daß sie von grundsätzliche verschiedener Art sind.
Die Steuereinheit 200, zu der ein Taktgenerator und ein Programmzähler gehören, die in Fig= 1 nicht dargestellt sind,
109815/0600
17 4 3 ϋ 6 O
dient dazu, aufeinander folgende Befehle eines Programms sequentiell auszuführen und die verschiedenen Einrichtungen innerhalb des gesamten Recimers zu steuern, während jeweils ein Schritt durchgeführt wird, der durch ein Befehlswort bezeichnet ist. Zwar könnte man den Digitalrechner und seine Steuereinheit 200 auf bekannte Weise so aufbauen, daß es möglich ist, in Abhängigkeit von einem einzigen Befehl mehrere Arbeitsfolgen durchzuführen, z.B. das Adressieren eines Index, Berechnungen mit doppelter Genauigkeit sowie mehrere Schritte umfassende Berechnungen wie Multiplikation, Division oder Wurzelziehen, doch ist der im folgenden zu beschreibende arithmetische Rechner lediglich der Einfachheit und Kürze halber auf die Durchführung einer Arbeitsfolge in Abhängigkeit von jedem Befehlswort beschränkt. Somit kann man für die Zwecke der zu gebenden Beschreibung annehmen, daß die Steuereinheit 200 das Rechensystem veranlaßt, aufeinander folgende Operationsfolgen zu durchlaufen, wenn es nacheinander irgendwelche Befehlswörter abruft und verwendet. Bei einer Art einer solchen Operations folge führt die Steuereinheit Adressensignale über die Mehrleiter-Adressenschiene 11 dem Speicher 300 zu, um ihn zu veranlassen, ein Befehlsadressenwort aus der gewünschten Speicherstelle an die Schiene 10 abzugeben, damit das gewünschte Befehlsadressenwort in die Steuereinheit überführt wird.
Danach führt die Steuereinheit die in dem abgerufenen Befehlswort enthaltene Adresse über die Schiene 11 dem Speicher 300 zu, um den Speicher zu veranlassen, das Datenwort aus der Adressenspeichersteile über die Schiene 10 der arithmetischen Einheit 100 zuzuführen. Hierauf führt die Steuereinheit 200 Signale, die aus dem Befehlsteil des abgerufenen Wortes abgeleitet sind, über einen Leitungsweg 13 dem arithmetischen Teil 100 zu, um ihn zu veranlassen, die entsprechende Funktion auszuführen, z.B. das zugeführte Zahlendatenwort zu einem vorher der arithmetischen Einheit eingegebenen Wort zu addieren oder
809815/0600
davon abzuziehen.
Die Ergebnisse einer Folge von arithmetischen Berechnungen, bei denen aufeinander folgende Datenwörter als Operanden verwendet werden, können zu einer bestimmten Adressenstelle im Speicher zurückgeleitet werden, um in einem späteren Zeitpunkt verwendet oder an äußere Einrichtungen ausgegeben zu werden. Bei einem "Speichervorgang" dieser Art veranlaßt ein abgerufenes Befehlsadressenwort die Steuereinheit 200, der arithmetischen Einheit 100 über den Leitungsweg 13 ein Befehlssignal zuzuführen, so daß die arithmetische Einheit ihr bis dahin angesammeltes arithmetisches Antwortwort an die Schiene 10 abgibt, woraufhin die Steuereinheit den Speicher 300 veranlaßt, die Bits dieses 'forts so zu speichern, wie sie in der Schiene erscheinen, und zwar an einer Speicherstelle, die der durch das abgerufene Befehlsadressenwort repräsentierten Adresse entspricht.
Diese hier nur mit äußerster Kürze behandelten arithmetischen Operationen, auf die im folgenden näher eingegangen wird, ermöglichen die Durchführung aufeinander folgender Rechenvorgänge (z.B. Addition, Subtraktion oder Division), und das dabei erhaltene Ergebnis wird im Speicher erneut gespeichert, um in einem späteren Zeitpunkt verwendet oder über eine äußere Einrichtung ausgegeben zu werden, z.B. eine Kathodenstrahlröhre, einen Drucker o.dgl. Lediglich um ein einfaches Beispiel zu geben, sei angenommen, daß ein kurzer numerischer Berechnungsvorgang in Abhängigkeit von einem vorher eingeführten Programm durchgeführt wird, wobei das Programm die nachstehenden Schritte enthält: a) Entnehmen der Zahl A aus der Speicherstelle 124, b) Addieren der Zahl B aus der Speicherstelle 126, c) Abziehen der Zahl C aus der Speicherstelle 130, d) Teilen des Ergebnisses durch 2 und e) Speichern des Ergebnisses an der Speicherstelle 140, wo es als die Zahl D betrachtet werden kann. Jede solche numerische oder wDaten"-Zahl wird in der binären Schreib-
809815/0600
/743060
weise an den verschiedenen Bitstellen eines numerischen Datenwortes durch eins 1 oder eine 0 dargestellt; jedes Befehlswort setzt sich aus einer ähnlichen Anzahl von zweiwertigen Bits zusammen, die im Speicher in einer bestimmten Adresse enthalten sind, wobei eine erste Gruppe der Bitwerte in einem vorbestimmten Codeformat die Art der betreffenden durchzuführenden Operation bezeichnet, und wobei eine zweite Gruppe der Bitwerte in der binären Schreibweise die Nummer der Speicheradresse bezeichnet, an welcher der Operand (oder die rechnerische Antwort) im Speicher des Systems zu finden bzw. zu speichern ist.
Bei zahlreichen Anwendungen programmierbarer alphanumerische? Digitalrechner und insbesondere dann, wenn Prozesse oder Maschinen in Abhängigkeit von Änderungen gefühlter Werte oder sich ändernden Bedingungen dadurch gesteuert werden sollen, daß die Werte von schrittweise berechneten variablen Größen verändert werden, ist es erwünscht, zahlreiche ein- und abschaltbare Einrichtungen, z.B. Endschalter, Sicherheitsdruckschalter, Motorschütze und dgl., abzutasten, um auf logische Weise zu ermitteln, ob die Kombination ihrer Zustände einer vorbestimmten Beziehung, d.h. einer Booleschen Gleichung, entspricht, und bestimmte äußere Einrichtungen ein- oder abzuschalten, wenn die Bedingungen nicht erfüllt sind. Anstelle von Schaltern und Relaiskreisen werden bereits programmierbare Steuereinrichtungen benutzt. Wenn z.B. vier Schalter S1 - S4 und ein Relais R1 zum Steuern eines Motors zum Antreiben einer Kühlmittelpumpe vorhanden sind, kann es bei einer bestimmten Steuereinrichtung erwünscht sein, den Motor dann und nur dann einzuschalten, wenn der Schalter S1 geschlossen ist, oder wenn die Schalter S2 und S3 geschlossen sind, während der Schalter S4 geöffnet ist. Hierfür würde die folgende Boolesche Gleichung gelten:
S1 + (S2 + S3) · STf = R1
Hierbei kann man jeden Schalter als ein Bit eines Wortes im Speicher betrachten, wobei das Bit als binärer Wert entweder den Wert 0 oder den Wert 1 hat, wenn der Schalter geöffnet bzw.
8098 1 5/0600
? "I U 3 Li ο J
geschlossen ist; man kann das Relais als ein gespeichertes Bit betrachten, das auf 1 gesetzt werden soll, wenn die Bedingungen der vorstehenden Gleichung erfüllt sind, und das auf 0 (Abschalten des Relais R1) gesetzt werden soll, wenn die Bedingungen der Gleichung nicht erfüllt sind.
Wie in Fig. 1 funktionell dargestellt, enthält der Speicher 300 in einigen seiner Adrersenspeichersteilen 300c spezielle logische Befehlsadressenwörter. Ferner kann der Speicher logische Mehrbit-Datenwörter 30Od enthalten. Wird ein bestimmter Programmschritt erreicht, bei dem ein spezielles logisches Befehlswort abgerufen und der Steuereinheit 200 zugeführt werden soll, decodiert die Steuereinheit den Befehlsteil des Mehrbitwortes, so daß man einen logischen Operationscode erhält, der einem logischen Prozessor 400 über einen Leitungsweg 14 zugeführt wird. Außerdem reagiert die Steuereinheit 200 auf den Adressenteil des abgerufenen speziellen logischen Instruktionswortes, um Adressensignale über die Schiene 11 abzugeben, damit der Speicher 300 veranlaßt wird, der Schiene 10 das der Adresse entsprechende Datenwort zuzuführen. Zwar wird das Datenwort der arithmetischen Einheit 100 zugeführt, doch führt letztere bezüglich dieses Wortes als Operand keine arithmetische Funktion aus. Vielmehr wird ein Bitwählcode, der durch eine bestimmte Bitgruppe der abgerufenen Befehlswörter gebildet wird, der arithmetischen Einheit 100 über einen Leitungsweg 15 zugeführt, um zu bewirken, daß ein gewähltes Bitsignal des Datenwortes über den Leitungsweg 16 als Einbit-Operandeneingangssignal LB dem logischen Prozessor 400 zugeführt wird. Dann führt der Prozessor nach der Booleschen Logik eine Funktion bezüglich des Operanden zusammen mit jeder vorher existierenden logischen Antwort LA durch. Zu diesen logischen Funktionen gehören z.B. die Funktionen LOAD (LADEN), AND (UND), OR (ODER) und XR (Exklusiv-ODER). Das logische Ergebnis LA wird in invertierter Form als Signal LA" über einen Leitungsweg 17 der Steuereinheit 200 zugeführt,
809815/0600
um die Arbeitsweise der Steuereinheit unter bestimmten Bedingungen auf eine noch zu erläuternde Weise zu modifizieren. Das logische Ergebnis LA und seine invertierte Form EA* behalten ihren jeweils festgelegten binären Wert 0 oder 1 bei, bis sie durch eine weitere befohlene logische Verarbeitungsoperation verändert werden.
Ein Verfahren zur Verwendung des logischen Antwortsignals LA nach seiner Erzeugung durch eine oder mehrere verkettete Boolesche Operationen besteht darin, daß das Signal an einer gewählten Bitstelle eines gewählten Wortes im Speicher gespeichert wird. Dieser Vorgang, der hier als "Zwischenspeicherung" bezeichnet wird, um ihn von der Speicherung eines arithmetisch berechneten Ergebnisses zu unterscheiden, wird in Abhängigkeit von einem speziellen logischen Befehlswort durchgeführt, das aus dem Speicher 300 abgerufen und der Steuereinheit 200 zugeführt wird. Das Operandenwort, welches das gewünschte Bit enthält, wird dann aus dem Speicher 300 in die arithmetische Einheit 100 überführt, und der Bitadressen-Codeteil des abgerufenen Wortes veranlaßt, daß der gewählte Bitwert des Operandenwortes über den Leitungsweg 16 als Signal LB dem logischen Prozessor 400 zugeführt wird. Mit Hilfe noch zu beschreibender Einrichtungen verwendet der logische Prozessor das Eingangssignal LB in Verbindung mit dem schon vorhandenen logischen Antwortsignal LA zur Erzeugung eines Bitsteuersignals BC. Das Signal BC wird zu der arithmetischen Einheit über einen Leitungsweg 18 zurückgeleitet und außerdem einer Einrichtung zugeführt, die bewirkt, daß das ursprüngliche Operandenwort zusammen mit dem gewählten Bit, das gezwungen wird, mit dem logischen Ergebnis LA übereinzustimmen, über die Schiene 10 dem Speicher 300 an der Speicherstelle eingegeben wird, die über die Adressenschiene 11 durch die Adressenbits des ursprünglich abgerufenen Befehls bezeichnet wird.
Zusätzlich zu den vorstehend beschriebenen Vorgängen kann jedes
809815/0600
2743U6U
Wort aus dem Speicher 300 herausgezogen und in die arithmetische Einheit 100 überführt werden, und zwar in Abhängigkeit von einem speziellen logischen Befehlswort, das abgerufen und der Steuereinheit 200 zugeführt wird und die Funktion bezeichnet, daß ein gewähltes Bit eines vorbestimmten Wortes gezwungen wird, den Wert 1 (SETZEN) oder den Wert 0 (RÜCKSETZEN) anzunehmen bzw. in den entgegengesetzten Zustand überzugehen (INVERTIEREK), bevor das Operandenwort wieder zu seiner ursprünglichen Adressenstelle im Speicher zurückgeführt wird.
Die vorstehende kurze einführende Erläuterung anhand von Fig. 1 läßt auf sehr allgemeine Weise erkennen, wie es mit Hilfe weniger zusätzlicher Teile bei einem allgemein auf bekannte Weise aufgebauten arithmetischen Rechensystem gemäß der Erfindung möglich ist, eine programmierbare logische Verarbeitung durchzuführen. Weitere Einzelheiten des Aufbaus und der Wirkungsweise sowie die erzielbaren Vorteile ergeben sich aus der nachstehenden Beschreibung weiterer Einzelheiten.
2. Grundsätzlicher Aufbau des arithmetischen Systems
Gemäß Fig. 2a und 2b gehören zu dem Systemspeicher 300 Ausgabeleitungen 301, die sich an die Schiene 10 des Systems anschließen lassen, wenn ein Mehrbitgatter Gmr betätigt wird, um der Schiene 10 die Signale einzugeben, die einem an einer bestimmten Stelle gespeicherten Wort entsprechen. Die Wortspeicherstelle wird mit Hilfe numerisch codierter Signale gewählt, die im jeweiligen Zeitpunkt der Adressenschiene 11 zugeführt werden, und der Lesevorgang wird durch ein Steuersignal MEM eingeleitet. Umgekehrt nehmen die Eingabeleitungen 302 des Speichers 300 stets Signale aus der Schiene 10 auf; die zugeführten Signale werden an einer Speicheradresse gespeichert, die durch jeweils über die Adressenschiene 11 zugeführte Signale bezeichnet wird, jedoch nur dann, wenn ein Freigabe- bzw. Schreibsignal BTM' der Speichersteuerschaltung
809815/0600
I* ? 7 Λ 3 U B J
zugeführt wird. Durch die Eingabe eines Wortes mit 1o Bits in eine bestimmte Speicherstelle wird der vorher dort gespeicherte Inhalt gelöscht.
Um unnötige Einzelheiten zu vermeiden, die nur das Verständnis der Erfindung und ihrer Vorteile beeinträchtigen würden, wird im folgenden eine stark vereinfachte Ausführungsform eines typischen arithmetischen Rechnersystems beschrieben. Hierbei sei angenommen, daß der Systemspeicher 300 auf bekannte Weise als Kern- oder Großintegrationsspeicher mic nur 1024 Wortadressenstellen ausgebildet ist, wobei .jedes Wort eine Länge von 16 Bits hat. Zu den Eingabeleitungen 301 und den Ausgabeleitungen 302 gehören jeweils 16 Leiter, und die Schiene 10 enthält ebenfalls 16 Leiter, so daß in ,iedem Zeitpunkt 16 Bitsignale übertragen werden können, die ein Wort repräsentieren. Zu der Schiene 11 gehören 10 Leiter, und die Kombinationen der Spannungswerte 0 und 1, die in diesen Leitern erscheinen, ermöglichen es, jede Adresse eines Dezimalwertes von 0 bis 1023 in binärer Schreibweise darzustellen. Wenn in der Adressenschiene 11 'ignale erscheinen, die in binärer Schreibweise den Dezimalwert 285 repräsentieren, ist somit anzunehmen, daß das Wort an der Adressenstelle 285 aus dem Speicher in die Schiene 10 überführt wird, wenn das Lesesignal MEH vorhanden ist; anderenfalls wird über die Schiene 10 dieser Adressenstelle eine neue Form des Wortes eingegeben, wenn das Schreibsignal BTM1 ansteht. Ilatürlicn könnte man den Speicher und die Schiene auf 18 Bits je Wort erweitern, um eine Paritätsprüfung zu ermöglichen, doch ist diese bekannte Verfeinerung hier zur Vereinfachung der Beschreibung fortgelassen.
Der einzigen vorhandenen Schiene 10 des Systems können Signale jeweils von einer von mehreren Quellen aus zugeführt werden. Wird eines der Gatter Gmr, Gad, Gr oder Gatb freigegeben, werden die Signale dem Speicher 300, der Adressenschiene
80981 5/0600
11, einer Exklusiv-0DER-Anordnung 106 oder einem Akkumulator 104 entnommen. Somit ist es möglich, der Schiene 10 Bitsignale eines Mehrbitwortes jeweils von der Einrichtung aus zuzuführen, durch die eines dieser Gatter gespeist wird. Die Signale, die der Schiene 10 in ihrem unteren Strang längs des Randes von Fig. 2 zugeführt werden, können durch einen Schienenverstärker 12 verstärkt werden, bevor sie zu dem im oberen Teil von Fig. 2 dargestellten Teil der Schiene gelangen, doch ist nur eine einzige Jchiene 10 für das gesamte System vorhanden. Der Schiene zugeführte Signale können jeweils von einer beliebigen von mehreren Einrichtungen "angenommen" werden, die mit zur Voreinstellung dienenden Eingangsklemmen versehen sind, welche an die Leiter der Schiene angeschlossen sind, doch geschieht dies nur, wenn der betreffenden Einrichtung ein vorher eingestelltes "Freigabesignal11 zugeführt wird. Weiter unten wird erläutert, auf welche Weise solche Freigabesignale einem arithmetischen Eingaberegister 102, einem Befehlsadressenregister 202, einem Programmzähler 226 oder dem Speicher 300 zugeführt werden. Lediglich um ein Beispiel zu geben, sei bemerkt, daß das arithmetische Eingaberegister 102 zur Annahme der ihm parallel zuzuführenden und zu speichernden Schienensignale freigegeben wird, wenn sich ein Freigabesignal AIR1, das einer logischen UIiD-Schaltung 101 entnommen wird, dadurch ergibt, daß zwei Signale AIR und CLK beide den Wert 1 haben.
Zu der arithmetischen Einheit 100, die in Fig. 2a und 2b stark vereinfacht dargestellt ist, gehört das auch mit AIR bezeichnete arithmetische Eingaberegister 102, bei dem es sich um ein i6-Bit-3peicherregister bekannter handelsüblicher Art handelt. Der Ausgang des Registers 102 führt zu einem 16-Bit-Eingang B einer bekannten handelsüblichen arithmetischen logischen Einheit ALU mit einem zweiten 16-Bit-Eingang A. Die Einheit ALU führt eine arithmetische oder logische Behandlu-ng oder Kombination der beiden 16-Bit-Eingangssignale A und B
80981 5/0600
? 74 3''K-J
entsprechend derjenigen von mehreren nach Bedarf benutzbaren Befehlseingangsklemmen durch, welcher jeweils eine Freigabespannung mit dem Wert 1 zugeführt wird. Das Ergebnis erscheint in den Ausgäbeleitungen der Einheit ALU in Form eines 16-Bit-Ergebnissignals F. Zwar kann die Einheit ALU zusätzliche Befehlssignale empfangen und andere arithmetische oder logische Operationen mit Signalen ausführen, die über einen der Eingänge oder beide Eingänge A und B zugeführt werden, doch werden im folgenden zur Erläuterung nur fünf arithmetische logische Funktionen beschrieben, die jeweils dann ablaufen, wenn einer der fünf Steuerklemmen auf der rechten Seite der Einheit ALU nach Fig. 2a eine Freigabespannung zugeführt wird. V.'ird die befohlene Funktion durch ein Signal A freigegeben, gilt F=A; wird durch das Signal 3 eine Funktion befohlen, gilt F = B; wird das Befehlssignal B" zugeführt, ist F gleich dem Eingangssignal B, wobei sämtliche Bits invertiert sind; somit gilt F = B"; wird das Signal A + B zugeführt, ist das Aus gangssignal F gleich der Summe der beiden numerischen Eingangssignale A und B; wird als Befehl das Signal A-B zugeführt, gilt F=A-B.
Das Ausgangssignal F der Einheit ALU wird dem Eingang eines Akkumulatorregisters 104 mit einem Ausgang ANS für 16-Bit-Ausgangssignale zugeführt. Empfängt der Akkumulator ein "Standardfreigabesignal" ACC, gelangt das Aus gangs signal F zu dem Akkumulatorregister 104, um gespeichert zu werden, so daß es danach als das Antwortsignal ANS erscheint. Hierbei ist zu bemerken, daß das Ausgangssignal ANS des Akkumulators 104 über eine 16-Bit-Schiene 105 zurückgeleitet wird, um das Eingangssignal A der Einheit ALU zu bilden. Außerdem wird das Ausgangssignal ANS des Akkumulators nach Bedarf über das Gatter Gatb zurückgeleitet, wenn dieses Gatter durch ein Signal ATB freigegeben ist, so daß das Ausgangssignal auf eine noch zu erläuternde Weise der Schiene 10 zugeführt werden kann.
80981 5/0600
Bei einer arithmetischen Einheit bekannter Art ist dafür gesorgt, daß es bei manchen Operationen möglich ist, das Ausgangssignal F der Einheit ALU auf direktem Wege der Schiene 10 zuzuführen. Gemäß der Erfindung wird ein alternatives oder zweites Antwortsignal ANS· durch eine 16-Bit-Exklusiv-ODER-Anordnung 106 erzeugt, der über einen Eingang das Signal F der Einheit ALU und über einen zweiten Eingang ein 16-Bit-Steuersignal H zugeführt wird. Wird dem Gatter Grs ein Freigabesignal EOR zugeführt, wird das Ausgangssignal ANS1 der ExklusiV-ODER-Anordnung 106 zu der Schiene 10 übertragen. Diese Anordnung ermöglicht es, das Signal F der Einheit ALU unter Umgehung des Akkumulators 104 der Schiene 10 direkt zuzuführen, wenn das Signal H nur aus Nullen besteht, so daß das Signal ANS1 gleich dem Signal F ist. Besteht dagegen das Signal H nur aus Einsen, erscheint das Signal F in der invertierten Form, d.h. als Einserkomplement zu ANS·. Das Signal H wird durch eine noch zu beschreibende Steuerschaltung 404 erzeugt.
Es sei bemerkt, daß der Akkumulator 104 auch veranlaßt werden kann, bezüglich des in ihm enthaltenen Mehrbitwortes bestimmte Operationen durchzuführen. Beispielsweise zeigt Fig. 2a, daß dem Akkumulator 104 unter bestimmten, noch zu erläuternden Bedingungen ein Befehlssignal SACR oder SACL oder CLR zugeführt werden kann. Werden diese Befehlssignale zugeführt, wird das in dem Akkumulator enthaltene Mehrbitwort jeweils um eine Stelle nach rechts verschoben bzw. es wird um eine Stelle nach links verschoben bzw. es werden alle Stellen auf Null gebracht, d.h. der Akkumulator wird "gelöscht". Es sei bemerkt, daß eine Verschiebung einer in dem Akkumulator festgehaltenen binären Zahl um eine Stelle nach rechts bzw. um eine Stelle nach links die Wirkung hat, daß der dargestellte Zahlenwert mit 2 multipliziert bzw. durch 2 dividiert wird.
Die bis jetzt beschriebene Wirkungsweise des arithmetischen
809815/0600
V. IA Y„ V ■ ι. - .
2 7 A 3 U > · Ί
Systems ist bekannt, doch soll sie im folgenden an einem sehr einfachen Beispiel erläutert werden. Es sei angenommen, daß der Akkumulator 104 gelöscht worden ist, und daß eine erste Zahl N1 dem Register AIR eingegeben wird, so daß es der Einheit ALU über den Eingang B zugeführt wird, während der Einheit ALU ein Befehl A zugeführt wird. Die Zahl N1 erscheint dann als Ausgangssignal F der Einheit ALU. Wird jetzt das"3peicherfreigäbesignal" ACC erzeugt, wird die Zahl N1 dem Akkumulator 104 eingegeben, so daß sie als Antwort ANS erscheint, wobei am Eingang A der Einheit ALU das Signal N1 vorhanden ist. Wird vietzt eine zweite Zahl ΓΙ2 aus der Schiene 10 in das Register 102 überführt, so daß es zu dem Signal am Eingang B der Einheit ALU wird, während dieser Einheit ein Befehlssignal A + B zugeführt wird, wird das Ausgangssignal F zu der Summe IJ1 + N2 der beiden Zahlen. Ein Signal ACC (Speichern im Akkumulator) führt dazu, daß das Signal F = N1 + H2 in dem Akkumulator 104 gespeichert wird, so daß es bei ANS erscheint und zu einem neuen Wert am Eingang A der Einheit ALU wird. Sobald dann eine Zahl N3 von der Schiene 10 aus dem Eingang B der Einheit ALU zugeführt wird, während letzterer ein Signal A-B zugeführt wird, nimmt das Ausgangssignal F den Wert der algebraischen Summe H1 + N2 - N3 an. Ein Speicherungsfreigabesignal ACC1 überführt diesen Wert in den Akkumulator 104, so daß er am Ausgang ANS erscheint. Wenn das Gatter Gatb ,jetzt freigegeben wird, um das Signal ANS der Schiene 10 zuzuführen, erscheint das Ergebnis N1 + N2 - N3 dieser verketteten arithmetischen Berechnungen in der Schiene 10, von der aus es in den Speicher überführt oder auf andere Weise verwendet werden kann. Die Subtraktion zweier Zahlen bedingt, daß in der Einheit ALU das binäre Zweierkomplement des Subtrahenden gebildet wird, und daß dieses Subtrahendenkomplement binär zum Minuenden addiert wird; diese Einzelheiten und die Verarbeitung negativer Zahlen sind bekannt, so daß sich eine nähere Erläuterung erübrigen dürfte.
80981 5/0600
Die 16-Bit-Exklusiv-ODER-Anordnung 106 dient alternativ als Einrichtung zum Übertragen des Ausgangssignals F der Einheit ALU zu der Schiene 10, und zwar entweder in seiner "wahren" Form oder in seiner Einerkomplementform. Bei jedem Bitteil der Anordnung 106 handelt es sich um ein einfaches Exklusiv-ODER-Gatter, das auf bekannte Weise gemäß der nachstehenden Wertetabelle arbeitet.
Exklusiv-0DER-Gatter
Eingang
f h
0 Ausgang
0 1 0
0 0 1
1 1 1
1 0
Unter Berücksichtigung der vorstehenden Beziehungen ist ersichtlich, daß dann, wenn alle Bits des Mehrbit-Eingangssignals H der Anordnung 106 zu Hüllen gemacht werden, das Ausgangssignal ANS1 einfach mit dem Mehrbit-Ausgangssignal F der Einheit ALU identisch ist; werden alle Bits des Mehrbit-Eingangssignals H zu Einsen gemacht, ist das Ausgangssignal ANS1 das Einerkomplement des Signals F, d.h. es entspricht dem Signal F, wobei alle seine Bitwerte invertiert sind. Eine entsprechende Beeinflussung des Signals H und die Freigabe des Gatters Gr durch ein Signal EOR ermöglicht es daher, das Signal F der Schiene 10 in seiner wahren Form oder in seiner Komplementform zuzuführen .
Man kann den Akkumulator 104 und die Exklusiv-0DER-Anordnung 106 insgesamt als ein arithmetisches Ausgaberegister AOR betrachten, denn der Schiene 10 kann von beiden Einrichtungen aus ein Ausgangssignal ANS bzwo ANS1 zugeführt werdeno
80981 5/0600
- «5 - 7 7 A 3 ü S ü
Bei dem arithmetischen Grundsystem wird die arithmetische Einheit 100 sequentiell durch eine Steuereinrichtung 200 gesteuert, welcbi die erforderlichen Zeitsteuer- und Befehlssignale liefert. Man kann die Steuereinrichtung 200 so betrachten, als ob zu ihr das Befehlsadressen-Speicherregister 202 gehörte, das nach Bedarf durch das Ausgangssignal IAR' einer UND-Schaltung 201 freigegeben wird, um Signale aus der Schiene 10 aufzunehmen. Dieses Register empfängt im wesentlichen stets Befehlsadressenwörter und nicht etwa Datenwörter, und es wird so behandelt, als ob es zwei Hauptteile aufwiese, die ersten bzw. zweite Gruppen von Bits aufnehmen, welche Befehlswörter in einem bekannten Format bilden. Die erste Gruppe repräsentiert in codierter Form eine gewünschte Operation bzw. einen Befehl, während die zweite Gruppe gewöhnlich die Speicheradresse eines Datenwortes darstellt, das als Operand aus dem Speicher herausgezogen werden soll, oder in dem ein Rechenergebnis gespeichert werden soll.
Um ein einfaches, Jedoch konkretes Beispiel zu geben, zeigt die Tabelle I, daß ein grundsätzliches arithmetisches Befehlsadressenwort ein Format hat, von dem für die Zwecke der Beschreibung angenommen sei, daß es sich aus sechzehn Bitstellen bO bis b15 zusammensetzt, wobei die zehn ersten Stellen binäre Adressenwerte enthalten, die eine beliebige Speicheradresse von 0 bis 1023 darstellen. Die Bits b10 bis b15 sind so codiert, daß sie jeweils einen von mehreren möglichen Befehlen bezeichnen, z.B. LDA (Akkumulator laden), ADD (Operanden zu der gerade im Akkumulator enthaltenen Zahl addieren) oder SUB (Operanden von der gerade im Akkumulator enthaltenen Zahl subtrahieren) . Zur Vervollständigung der Beschreibung wird im folgenden ein typischer Satz von möglichen Befehlen eingehender behandelt.
Gemäß einem Merkmal der Erfindung und zu einem noch zu erläuternden Zweck wird bei dem grundsätzlichen Befehlsadressenwort-
«0981 5/0600
ty
format der Tabelle I die Bitstelle b1O dazu benutzt, durch eine 1 oder 0 anzuzeigen, daß es sich um einen "unbedingten" oder einen "bedingten" Befehl handelt. Somit verbleiben fünf Bitstellen b11 bis b15 zum Aufnehmen binärer Bitwerte 0 oder 1, die in der Tabelle I mit I bezeichnet sind, und die nach einem vorgewählten Code jeweils einen von 32 möglichen Befehlen bezeichnen können. Um die Beschreibung abzukürzen, ist die Größe des Systemspeichers ebenso wie die Anzahl der möglichen Befehle begrenzt. Bei einem auf den Markt zu bringenden Rechner werden natürlich mehr als 1024 Speicherstellen vorhanden sein, und der Rechner wird so aufgebaut sein, daß er eine erheblich grössere Anzahl von Befehlen verarbeiten kann, zu denen auch einige gehören, zu deren Durchführung zahlreiche mikroprogrammierte Schritte erforderlich sind.
Aus der vierten Zeile der Tabelle I ist ersichtlich, daß bei einem grundsätzlichen Datenwort lediglich eine binäre Darstellung eines Zahlenwertes vorhanden ist. Die Kombinationen von Nullen und Einsen an den Bitstellen bO bis bi4 ermöglichen es, jeden gewünschten dezimalen Zahlenwert zwischen 0 und 32767 binär darzustellen. Die letzte Bitstelle b15 dient dazu, mittels einer 1 oder einer 0 das Vorzeichen der Zahl darzustellen. Allgemein gesprochen werden Datenwortzahlen mit diesem Format dem arithmetischen Eingaberegister 102 und nicht etwa dem Befehlsadressenregister 202 eingegeben.
Fig. 3 ist eine vergrößerte Darstellung des Befehlsadressenregisters 202, anhand welcher nähere Angaben gemacht werden. Jede der Bitstellen dieses Speicherregisters ist z.B. alsKippSchaltung ausgebildet, die gesetzt oder rückgesetzt wird, wenn das aus der Schiene 10 übernommene Befehlswort an der entsprechenden Bitstelle eine 1 oder eine 0 enthält. Die 16 Ausgabeleitungen des Befehlsadressenregisters sind in Fig. 3 mit iO bis i15 bezeichnet; ferner werden Komplementsignale TT5, ΪΤ5 und ΓΤ3* den drei Kippschaltungen am linken Ende des Registers 202 ent-
109815/0600
2 7 A 3 ü: -; J
nommen. Vergleicht man die Tabelle I mit Fig. 3, erkennt man, daß dann, wenn dem Befehlsadressenregister 202 ein grundsätzliches Befehlsadressenwort eingegeben wird, in den Ausgabeleitungen iO bis i9 die Adresse darstellende binäre Signale erscheinen, während in den Ausgabeleitungen i10 bis i15 Befehle repräsentierende binäre Signale erscheinen, wobei jedoch das Signal in der Ausgabeleitung i10 eine besondere Bedeutung hat.
Gemäß Fig. 2a und 2b werden die Adressenbitsignale, welche in einem Befehlsadressenwort in dem Register 202 enthalten sind, normalerweise über eine Schiene 204 von den Ausgabeleitungen iO bis i9 aus dem Eingang eines 2:1-Hultiplexgatters 205 zugeführt. Wenn dieses Gatter durch ein Steuersignal EA freigegeben wird, wird das über die Leitungen iO bis i9 zugeführte Eingangssignal OA der Speicheradressenschiene 11 zugeführt, um die Speicherstelle zu bezeichnen, aus der ein Wort ausgelesen oder der ein Wort eingegeben werden soll. Die Leitungen iO bis i5 führen ständig Signale für den 10-3it-Eingang OA, und die Signale aus den Leitungen i6 bis i9 werden normalerweise über ein Ffreigegebenes, zur Maskierung dienendes UND-Gatter 206 weitergeleitet, um den verbleibenden Teil des Signals OA zu bilden. Unter bestimmten, noch zu erläuternden Bedingungen werden die Maskierungsgatter 206 gesperrt, um eine Maskierung zu bewirken und die Signale an den Bitstellen b6 bis b9 des 10-Bit-Eingangssignals OA auf 0 zu setzen. An dieser Stelle kann angenommen werden, daß das Eingangssignal OA durch die Signale gebildet wird, die in allen Registerausgabeleitungen iO bis i9 anstehen.
Die Befehlsbit-Ausgabeleitungen iiO bis i15 sind zu einer Schiene 208 zusammengefaßt, die zu einer Direktdecodierschaltung 209 und zu einem Kartenbildungs-Festwertspeicher 210 führt. Diese Leitungen werden bei diesen Einrichtungen dazu benutzt, um letztlich die Art der Operation zu bestimmen, die
00 98 1 5/0600
während jedes Teils einer Phasensequenz abläuft, welche nach dem Eintreffen eines beliebigen BefehlGwortes in dem Register 202 durchgeführt wird.
Enthält ein Befehlswort im Register 202 einen Befehlscode, durch den die Benutzung eines Operanden aus dem Speicher gefordert wird, läßt die Direktdecodierschaltung 209 ein Signal GETOP (Operanden abrufen) zu einem Phasensequenzgenerator 212 gelangen, um diesen zu veranlassen, sequentiell Phasensignale PHO, PH2 und PH3 zu erzeugen, die zeitabhängig durch ein Signal CLK! eines Haupttaktgebers und Zeitsignalgenerators 214 gesteuert werden. Wenn dagegen ein Befehlswort im Register 202 einen Operationscode enthält, bei dem die Benutzung eines Operanden nicht erforderlich ist, erzeugt die Direktdecodierschaltung 209 nicht das Signal GETOP, und der Phasensequenzgenerator 212 erzeugt dann sequentiell nur die Phasensignale PHO und PH3.
Wie im folgenden erläutert, wird der Festwertspeicher 210 während der Ausführungsphase PH3 jeder Operationssequenz aktiviert; er decodiert die Befehlsbitsignale aus den Ausgäbeleitungen i11 bis i15, um codierte 4-Bit-Mikroprogramm-Eingangssignale einer Mikroprogramra-Eingabeschiene MPI zuzuführen. Während der Phase 0 oder der Phase 2, d.h. wenn die Signale PHO und PH2 anstehen, befindet sich der Festwertspeicher 210 außer Betrieb, und die benötigten Mikroprogramm-Eingangssignalewerden von dem Phasensequenzgenerator 212 aus direkt der Schiene MPI zugeführt.
Die Schiene 1-3? I führt zu den vier Steuereingangs klemmen Xa, Xb, Xc, Xd eines Mikroprogramm-Festwertspeichers 220. Bei diesem Festwertspeicher handelt es sich praktisch um eine ständig angeschlossene Codiermatrix, die in Abhängigkeit von 16 möglichen Eingangssignalcodes in den Leitungen Xa, Xb, Xc und Xd AusgangsSignaIe in verschiedenen Kombinationen von 15 Ausgabeleitungen M1 bis H15 erscheinen läßt, die in Fig. 9 dargestellt
809815/0600
? I U 3 ϋ ί: Ο
sind. Diese 15 Leitungen sind in verschiedene "Feldgruppen" unterteilt, die in Fig. 2b mit ADDR, BUS, ALU, STOR, MISC und IPC unterteilt sind. Die Signale des Feldes ADDR bezeichnen durch ihre binären Codekombinationen die Quelle, von der aus Signale der Speicheradressenschiene 11 zugeführt werden sollen. Die Signale des Feldes BUS bezeichnen durch ihre binären Kombinationen die Quelle, von der aus Signale der Systemschiene 10 zugeführt werden sollen. Die Signale des Feldes ALU bezeichnen durch ihre binären Codekombinationen jeweils den Befehl, der der Einheit ALU zugeführt werden soll, um sie zu veranlassen, eine Operation einer gewünschten Art bezüglich ihrer Eingangssignale A und B durchzuführen. Die Signale des Feldes STOR bezeichnen durch ihre binären Codekombinationen jeweils eine Einrichtung bzw. einen Teil des Systems, in dem Signale aus der Systemschiene 10 gespeichert werden sollen. Die Signale des Feldes HISC bezeichnen durch ihre binären Codekombinationen jeweils eines von mehreren möglichen verschiedenen Steuersignalen, das erzeugt werden soll. Das Signal des Feldes IPC, das aus einem einzigen in einer einzigen Leitung erscheinenden Signal besteht, bezeichnet dann, wenn es vorhanden ist, daß der Programmzähler 226 weitergeschaltet werden soll.
Die Feldgruppen-Ausgabeleitungen des Mikroprogramm-Festwertspeichers 220 führen gemäß Fig. 2b zu zugehörigen Felddecodierern FD1 bis FD5. Hierbei handelt es sich um einfache Decodierer, die jeweils ein Ausgangssignal in einer von mehreren Ausgabeleitungen erscheinen lassen, wobei die betreffende Ausgabeleitung dem kombinatorischen Code der Eingabeleitungen entspricht, denen binäre Signale mit dem Wert 1 zugeführt werden. Gemäß Fig. 2b kann es sich bei dem decodierten Adressenfeldsignal um ein Signal PC oder ein Signal EA handeln. Entsprechend hat das decodierte Signal des Feldes BUS eine der Bedeutungen ADTR, MEM, ATB oder EOR. Das decodierte Signal des Feldes ALU kann in einer von fünf Leitungen erscheinen,
80981 5/0600
welche die Bezeichnungen A, B, B", A + B und A-B tragen. Das decodierte Signal des Feldes STOR erscheint in einer von sechs möglichen Decodierer-Ausgabeleitungen, während das decodierte Signal des Feldes MISC in einer von fünf möglichen Ausgabeleitungen erscheint.
Es sei bemerkt, daß die Decodierer der Felder STOR und MISC mit einer Gattersteuerung versehen sind. Dies bedeutet, daß alle AusgangssignaIe dieser Felder auf dem Pegel 0 gehalten werden, wenn ein zugeführtes Steuersignal K durch eine noch zu beschreibende, bedingt arbeitende Steuereinrichtung 403 von seinem normalen Wert 1 auf den Wert 0 umgeschaltet wird.
Schließlich gehört zu der Steuereinheit 200 ein Programmzähler 226, der auf bekannte Weise dazu dient, das gesamte System während des Betriebs von einem Programmschritt zum nächsten weiterzuschalten. Der Programmzähler kann 10 Tandem-Kippschaltungen enthalten, die binäre Ausgangssignale erzeugen, durch welche Dezimalwerte von 0 bis 1023 repräsentiert werden, und die über eine Schiene 228 weitergeleitet werden, um das 10-Bit-Eingangssignal PA für das Multiplexgatter 205 zu bilden. Wird dieses Gatter durch ein Signal PC freigegeben, überträgt es die dem Eingangssignal PA entsprechenden Ausgangssignale des Programmzählers 226 zu der Adressenschiene 11, so daß der Systemspeicher angewiesen wird, das Wort der betreffenden Adresse zu entnehmen und es über die Ausgangsleitungen 301 auszugeben oder die in den Eingabeleitungen 302 erscheinenden Signale an der betreffenden Adressenstelle zu speichern. Der Programmzähler 226 wird normalerweise so weitergeschaltet, daß er sequentiell von einem Zählzustand in den nächsten übergeht; Dieses Weiterschalten erfolgt in Abhängigkeit von den positiv gerichteten Übergängen von Impulsen INC, die dem Zähleingang des Programmzählers zugeführt werden. Die Weiterschaltimpulse werden durch eine UND-Schaltung 230 erzeugt, die auf eine noch zu erläuternde Weise gesteuert wird.
809815/0600
v-9
- ■? 7 A J,:, J
Alternativ ist es jedoch möglich, den Programmzähler 22f> vorher auf einen gewünschten Zählzustand einzustellen, so daß sein Ausgangssignal ΡΛ einen bestimmten Zahlenwert annimmt. Dies ist auf bekannte Weise mit Hilfe eines Voreinstellsignals PPC1 aus einer UND-Schaltung 231, mittels dessen der Zähler 226 entsprechend den Signalen eingestellc wird, möglich, die dann in den Leitungen bO bis b9 der Schiene 10 anstehen. Ferner kann der ProgrammzShler bei üetriebsetzung des Systems gelöscht bzw. auf Null gestellt werden, und zwar durch einen Einschalt- oder Startimpuls PWRS, der durch eine nicht dargestellte Einrichtung erzeugt wird, wenn sämtliche Teile des Systems unter Strom gesetzt werden.
3. Spezielle Wortformate
Wie erwähnt, wird ein grundsätzliches Befehlsadressenwort entsprechend der ersten Zeile der Tabelle τ so aufgestellt, daß die binären T.7erte an 10 Bitstellen, d.h. den mit A bezeichneten Bitstellen, eine Adresse repräsentieren, während die Werte an den sechs Bitstellen I und U/C eine bestimmte befohlene Operation bezeichnen. Gemäß der Erfindung sind ,jedoch Einrichtungen vorhanden, die auf eindeutige Weise jeweils auf eines von mehreren "speziellen" Befehlsadressenwörtern ansprechen, und zwar auf diejenigen, mittels welcher durch die Befehlscodes an den Bitstellen b11 bis b15 die logische Verarbeitung oder Handhabung eines einzigen gewählten Bits eines gewählten Wortes im Speicher veranlaßt wird. Zwar dienen die hier beschriebenen grundsätzlichen und speziellen Befehlswortformate nur zur Veranschaulichung des angewendeten Grundgedankens , und man könnte zur Erzielung der gleichen Ergebnisse auch andere gleichwertige Formate wählen, doch zeigt die Tabelle I das Format eines Haschinensprachen-Befehlscodes, durch den Einzelbitoperationen verschiedener bestimmter Arten bestimmt werden. Es sei bemerkt, daß ein "logischer Prozeßbefehl" an den Bitstellen bO bis b5 (in der Tabelle I mit A bezeichnet)
90 98 1 5/0600
ORIGINAL INSPECTED
η u 3ue;u
die Adresse eines Onerandenwortes darstellt, d.h. eines gewählten Wortes, von dem ein gewähltes Bit verwendet werden soll. Bei jiedem solchen "logischen Prozeßbefehl"im Wortformat bezeichnen die binären Werte B, die an den Bitstellen b6 bis b9 erscheinen, im binären Format eine Zahl zwischen 0 und 15» welche das gewünschte Einzelbit identifiziert, das aus dem gewählten Wort gewählt werden soll, und das bei den verschiedenen möglichen logischer Operationen verwendet werden soll. Schließlich enthält das spezielle Format eines "logischen Prozeßbefehl v/orte s" die mit I und T/C bezeichneten binären V/erte ?.n den Bitstellen b10 bis b15, die gemäß einem vorher festgelegten Code die ,jeweilige Art der durchzuführenden logischen Funktion (z.B. UIiD oder ODER) bezeichnen. V/ie im folgenden erläutert, wird der binäre Wert , der an der Bitstelle b10 eines "logischen Prozeßbefehlswortes11 erscheint, dazu verwendet, anzuzeigen, ob der gewählte Einzelbitoperand in seiner wahren oder in seiner Komplementform verwendet werden soll, während die mit I bezeichneten Signale an den Bitstellen b11 bis b15 die jeweils durchzuführende Operation bezeichnen.
Es kommen zwei Hauptarten von logischen Einzelbitoperationen vor. Bei den Operationen der ersten Art, zu denen vier mögliche verschiedene spezielle Operationen gehören, wird das gewählte Bitsignal als Eingangsoperand für den logischen Prozessor verwendet. Bei Operationen der zweiten Art, zu denen ebenfalls vier verschiedene Operationen gehören, wird die logische Antwort LA an einer gewählten Bitstelle in einem gewählten Wort des Speichers gespeichert, oder das gewählte Bit wird in einen gewünschten Zustand gebracht. Operationen der letzteren Art werden im folgenden als "Bitmanipulation" bezeichnet. Gemäß der Tabelle I hat ein "logisches Bitmanipulations-Befehlsadressenwort" das gleiche Format wie ein "logisches Prozeßbefehlswort", abgesehen davon, daß das mit U/C bezeichnete Bit an der Bitstelle b10 angibt, ob es sich bei der durchzuführenden Operation um eine bedingte oder eine unbedingte Operation handelt. Gemäß der Tabelle I bedeutet das
809815/0600
27A3ÜUÜ
Signal U/C bei dem logischen Bitmanitmlations-ijefehlswort ebenso wie bei dem grundsätzlichen Befehlswort, daß dann, wenn an der Bits+elle b10 eine 0 oder eine 1 erscheint, der durch das gesamte Wort dargestellte Befehl ohne Rücksicht auf den Wert des logischen Antwortsignals LA auf unbedingte Weise ausgeführt werden soll, oder auf bedingte Weise, d.h. nur dann, wenn das Signal LA den Wert 1 hat.
Logische Einzelbitoperationen können an einem gewählten Bit eines gewöhnlichen alphanumerischen Datenwortes ausgeführt werden. Beispielsweise ist es bei dem numerischen Datenwortformat nach der Tabelle I möglich, das Einzelbitsignal an der Bitstelle b14 zu prüfen und es als eine Anzeige dafür zu verwenden, ob der gesamte numerische Wert des ganzen Wortes grosser ist als der Dezimalwert 16 384 oder nicht. Ferner kann man z.B. das Signal an der Bitstelle b15 eines numerischen Datenwortes wählen, um anzuzeigen, ob der numerische Wert positiv oder negativ ist. In manchen Fällen kann es jedoch erwünscht sein, eine große Anzahl von nicht in Beziehung zueinander stehenden Einzelbitsignalen zur Verfügung zu haben, um sie zu verwenden und/oder sie bei oder durch logische Operationen zu verändern. Ein Merkmal der Erfindung besteht darin, daß manche Wörter, die an bekannten Adressen des Speichers 300 bekannter Art festgehalten werden, jeweils einfach 16 einzelne Zweizustands- oder Ein/Aus-Werte darstellen können. Zwar handelt es sich bei diesen Speicherwörtern im wahren Sinne um "Datenwörter", doch bezeichnen ihre einzelnen Bitsignale nicht insgesamt irgendeinen Zahlenwert. Ein solches Datenwort, das einzelne, mit QQ bis Q12 bezeichnete logische Bits enthält, ist in der Tabelle I als "logisches Bitwort" dargestellt. Wörter dieser Art lassen sich dem Speicher so eingeben, als ob es sich um gewöhnliche numerische Datenwörter handelte, und einzelne Bitsignale können auf eine noch zu erläuternde Weise erfaßt oder verändert werden. Tatsächlich brauchen einige der logischen Bitwörter, die im Speicher festgehalten
80981 5/0600
β/ 27A3Ü6U
werden, nicht in konventionellen Kern- oder Großintegrationsspeicherelementen gespeichert zu werden. Es kann sich um Signale handeln, die den Wert 0 oder 1 beibehalten, und zwar je nach dem, ob entsprechende zugehörige einzelne Schalter geöffnet oder geschlossen sind, oder sie können die Ausgangsspannung von Kippschaltungen darstellen, die gesetzt oder rückgesetzt werden können, um äußere Einrichtungen ein- oder abzuschalten.
4. Die logischen Verarbeitungselemente
Gemäß der Erfindung werden dem arithmetischen Grundsystem einige wenige relativ einfache Elemente hinzugefügt, um eine programmierbare logische Einzelbitverarbeitung und eine Manipulationsmöglichkeit zu schaffen, und um es zu ermöglichen, jeden gewöhnlichen Befehl so zu programmieren, daß er entsprechend den Ergebnissen vorher durchgeführter verketteter Boolescher Einzelbitoperationen unbedingt oder nur bedingt ausgeführt wird. Fig. 2a zeigt einen logischen Prozessor 401, der im wesentlichen zwei Arten von Operationen an einem Einzelbit-Operandeneingabesignal LB ausführt. Er "lädt" das Signal LB, indem er das Signal LA in Übereinstimmung damit bringt, oder er verknüpft das Signal LB entsprechend einer UND-, ODER- oder Exklusiv-ODER-Funktion mit dem vorhandenen logischen Antwortsignal LA, wodurch letzteres so verändert wird, daß es mit dem Ergebnis dieser Operation übereinstimmt. Alternativ verwendet der Prozessor 401 das Operandeneingabesignal LB, um ein Bitsteuer-Ausgangssignal BC zu erzeugen, das dazu dient, das gewählte Bit in dem gewählten Wort zu veranlassen, mit der logischen Antwort LA übereinzustimmen oder einen bestimmten gewünschten Wert von den beiden möglichen binären Werten anzunehmen.
Um dem logischen Prozessor 401 Anweisungen bezüglich der jeweils durchzuführenden Operation zu geben (als Ergebnis eines
S09815/0600
27 U 3 ü Ö U
bestimmten speziellen Befehlsadressenwortes, das in das Register 202 abgerufen worden ist) ist die Direktdecodierschaltuns 209 so ausgebildet, daß sie dem Prozessor fünf Eingangssignale LO, L1, L2, COMP, i12 und H4 zuführt. Hit Hilfe der jeweiligen Kombination der anstehenden Signale wird eine bestimmte logische Funktion befohlen, die zu acht verschiedenen möglichen Funktionen gehört. Das Signal COIiP informiert den Prozessor 401, ob das Eingangssignal Lb in seiner wahren oder seiner Komplementform logisch verarbeitet werden soll. Tn der vorliegenden Beschreibung dienen die Symbole "Punkt", + sowie © entsprechend der bekannten Booleschen Algebra verwendet, um die logischen Operatoren "UTID", "ODER" und "Exklusiv-ODER" zu bezeichnen; ("x und y" hat die Schreibweise x«y, "x oder y" die Schreibweise χ + y und "x ODER y" die Schreibweise x@y). Die acht übrigen möglichen logischen Funktionen sind in der Tabelle IV zusammengestellt, wo die angegebenen Kurzzeichen die nachstehende Bedeutung haben.
LD: gewähltes Bit dem logischen Akkumulator eingeben, um
LA zur Übereinstimmung damit zu bringen. AN: LA gleich LA *LB machen (LA bezeichnet den "alten" ;/ert von IjA und LA den "neuen" oder resultierenden Wert
von LA).
OR: LA^ gleich LA^ + LB machen.
XR: LA^ gleich LA^ (+) LB machen.
η ° ο
n gleich LAo
SV: Signal LA an der gewählten Bitstelle des gewählten Wortes
zwischenspeichern.
IV: Die 'invertierte" Komplementform des gewählten Bitsignals LB erneut an der gewählten Bitstelle des gewählten Wortes
speichern.
ST: Das Signal an der gewählten Bitstelle des gewählten Wortes
auf den binären Wert 1 setzen.
RS: Rücksetzen des gewählten Bits des gewählten Wortes auf den binären Wert 0.
80981 5/0600
-yr- 2743Ü6Ü
Die Tabelle IV läßt erkennen, daß es ein Code mit fünf Bits LO, L1, L2, ii4, i12 ermöglicht, auf eindeutige Weise durch die Kombination binärer Werte der fünf Signale acht mögliche spezielle logische Funktionen darzustellen, so daß Operationscodesignale, welche bestimmen, auf welche V/eise der logische Prozessor 401 arbeiten soll, dem Prozessor von der Direktdecodierschaltung 209 aus zugeführt werden, wobei sich der Code jeweils nach den Befehlsbits richtet, die in den Leitungen i11 bis H5 des Registers 202 erscheinen. Weiter unten wird anhand von Fig. 10 erläutert, auf welche V/eise diese Operationscodesignale die speziellen Operationen des logischen Prozessors 401 bestimmen.
Gemäß Fig. 2a zieht ein 16:1-Bitwähler 402 das Signal LB aus der gewählten Bitstelle eines Operandenwortes heraus, das gewählt und dem arithmetischen Eingaberegister 102 eingegeben worden ist. Zu diesem Zweck werden die "Bitidentifikationssignale" eines speziellen Befehlswortes verwendet, das in das Befeh]sadressenregister 202 abgerufen worden ist. Diese vier Signale, die in der Tabelle I mit B bezeichnet sind und in den Ausgabeleitungen 16 bis 19 des Registers 202 erscheinen, stellen in der binären Schreibweise einen beliebigen Dezimalwert von 0 bis 15 und damit jeweils eine der Bitstellen bO bis b15 dar. Zu dem Bitwähler 402 gehören 16 Eingabeleitungen, die durch die Ausgabeleitungen des arithmetischen Eingaberegisters 102 gebildet werden. Wenn der Dezimalwert der vier Signale B einen bestimmten Wert im Bereich von 0 bis 15 hat, wird das Einzelbitsignal aus dem Register 102 an seiner entsprechenden Bitstelle bO bis b15 so übertragen, daß es als das logische Operandensignal LB erscheint. Wenn z.B. die Signale in den Leitungen i6 bis i9 die binären Werte 0101 haben, wird das Signal aus der Bitstelle b5 des Registers 102 so übertragen, daß es als das Einzelbit-Operandensignal LB erscheint. Haben die Ausgangssignale des Registers 202 die binären Werte 1011, wird das Signal aus der Bitstelle b11 des Registers 102 zu
809815/0600
dem Signal LB. Solche 16:1-Multiplexschaltungen sind bekannt und im Handel erhältlich, so daß sich eine nähere Erläuterung erübrigen dürfte.
Immer dann, wenn die logische Antwort LA an einer gewählten Bitstelle eines gewählten Wortes gespeichert werden soll, oder wenn das gewählte Bit auf andere Weise verarbeitet werden soll (entsprechend den Befehlen IV, ST oder RS), wird die arithmetische Einheit 100 benutzt, um das gesamte gewählte Wort zu verarbeiten. Das 'ort wird dem arithmetischen Eingaberegister 102 eingegeben, so daß es zum Eingangssignal B der Einheit ALU wird, welch letzterer das Befehlssignal B" zugeführt wird, um das Signal F zur Übereinstimmung mit dem Einerkomplement des Wortes zu bringen. Wird bewirkt, daß das Eingangssignal H der Exklusiv-ODER-Anordnung 106 nur aus Einsen besteht, ist das Ausgangssignal ANS' die invertierte Form, d.h. das Einerkomplement des Signals F und daher mit dem ursprünglich gewählten Wort identisch. Jedoch bewirkt ein 0-Signal, das in einem beliebigen Bit des Signals H enthalten ist, daß das entsprechende Bit des Signals AUS' gegenüber dem Wert des entsprechenden Bits des ursprünglich gewählten Wortes invertiert wird. Danach kann das Signal ANS1 im Speicher an der ursprünglich gewählten Wortstelle erneut gespeichert werden.
Um diese selektive Bitumkehrung bei der Ausführung der speziellen logischen Befehle SV, IV, ST und RS durchzuführen, wird das Signal BC als Eingangssignal einer Einrichtung 404 zum Steuern des gewählten Bits zugeführt, bei der es sich um ein 1:16-Multiplexgatter handelt, das nach Bedarf durch die vierstelligen Bitidentifikationssignale konditioniert wird, welche dann in den Registerausgabeleitungen i6 bis i9 anstehen und die Bitadresse BBBB eines speziellen Befehlswortes im Register 202 repräsentieren. Mit anderen Worten, die Bitsteuerschaltung 404 ist auf bekannte Weise als 1:16-Multiplexgatter
80981 5/0600
y> 2743Ü6Ü
ausgebildet, dem über die Leitungen 16 bis i9 die gleichen Steuersignale zugeführt werden wie dem Bitwähler 40?. Dje Schal tune; 4o4 gibt das Signal BC, das, wie nachstehend erläutert, durch den logischen Prozessor 401 nur dann zu einer 1 gemacht wird, wenn das gewählte Bit des gewählten Wortes als O-Signal invertiert werden muß, über diejenige ihrer 16 das Signal H führenden Ausgabeleitungen weiter, die der gewählten Bitstelle entsnrechen. Alle übrigen Ausgabeleitungen der Steuerschaltung 404, die das ignal G führen, bleiben auf dem Pegel 1, so daß dann, wenn das Signal BC eine 1 ist, das Signal ANS· das gleiche wird wie das ursprünglich gewählte Wort, abgesehen davon, daß das darin enthaltene gewählte Bit invertiert worden ist.
Das Signal ANS1 kann dann im Speicher erneut an der gleichen Adresse gespeichert werden, der das ursprünglich gewählte Wort entnommen wurde, was zur Folge hat, daß bei dem neu gespeicherten Wort ein Bit verändert oder aber nicht verändert worden ist, wie es erforderlich war, um den betreffenden Bitmanipulationsbefehl SV, IV, ST oder RS auszuführen.
5. Beispiele für Befehle und ihre Codes
Bei der nachstehenden eingehenderen Erläuterung wird eine begrenzte Anzahl von acht arithmetischen oder konventionellen Befehlen behandelt, und es wird auf neun spezielle logische Befehle eingegangen. Zum Verständnis der gesamten Arbeitsweise des Rechnersystems ist es erforderlich, die speziellen Maschinensprachencodes für die betreffenden Befehle in Form von Beispielen konkret zu benennen. Natürlich ist es mit Hilfe eines marktfähig hergestellten Rechners von voller Größe möglich, eine erheblich größere Anzahl der verschiedensten arithmetischen oder sonstigen konventionellen Befehls zu formulieren und zu speichern, und auf der Basis der begrenzten Anzahl der nachstehend behandelten Beispiele können die verschiedensten Befehlscodes verwendet werden.
809815/0600
Λ. Gewöhnliche Befenle
In den acht ersten Zeilen der Tabelle If sind nur acht, konventionelle Befehle verzeichnet, die für die Zwecke der Erläuterung ausgewählt wurden; hierbei handelt es sica um die speziellen Fünf-uit-Codes an den uitsteilen b 11 bis b1r; eines grundsätzlichen BefeiTscodes der in der ersten Zeile der Tabelle I angegebenen Art, wobei Jeder ijefehl eindeutig identifiziert ist. Diese gewöhnlichen befehle sind nachstehend kurz erläutert.
bis
LDA 00001
ADD 00011
Laden des Akkumulators mit einem Datenwort aus der durch die uits bO bis b9 angegebenen Adresse,
Addieren eines numerischen Datenwortes aus der durch die Bits bO bis b9 angegebenen Adresse zu der dann im AkkumuDator angezeigten Zahl und nachfolgendes Singeben des neuen Ergebnisses in den Akkumulator.
■;U3 00101
Subtrahieren eines numerischen Datenwortss aus der durch die ßits bO bis b9 bestimmten Adresse von der im Akkumulator enthaltenen Zahl und nachfolgendes Eingeben des neuen Ergebnisses in den Akkumulator.
STA 00010:
Entnehmen des durch den Akkumulator angezeigten Wortes ANS und "Speichern" dieses Wortes im Speicher an der durch die Bits bO bis b9 angegebenen Adresse.
CLA 00100:
Löschen des Akkumulators dadurch, daß alle Bitsignale im Signal ANS auf eine binäre 0 gesetzt werden.
809815/0600
ORiGiNAL INSPECTED
274306Ü
!AR 00110:
•AL 01000
JMF 01010:
Verschieben des Akkumulators um eine Stelle nach rechts, d.h. Verschieben jedes binären Signals im i6-uit-Sir;nal ANS um eine Stelle nach rechts, so daß die durch das Signal ANS dargestellte Zahl praktisch mit 2 multipliziert wird.
Verschieben des Inhalts des Akkumulators nach links, d.h. Verschieben jedes binären Signals in den 15 Stellen des Akkumulators um eine Stelle nnch links, so daß die durch das Signal AUS dargestellte Zahl praktisch durch 2 dividiert wird.
Springen innerhalb der Programmfolge von dem jeweils durcii den Programmzähler addreaaLerten Befehlswort zu einer Speicheradresse, die durch die binären ßitwerte an den Adressenstellen bO bis u9 benannt werden (durch Voreinstellen des Programmzählers).
Es sei bemerkt, daß es die Befehle LD, ADD, SUB erforderlich machen, einen Operanden aus dem Speicher herauszuziehen und ihn dem arithmetischen Eingaberegister 102 zuzuführen. 3ei den Befehlen STA, CLA, 3AR, SAL und JMP wird kein Operand aus dem Speicher benötigt. Der hier als einfaches Beispiel gewählte Code unterscheidet zwischen den beiden Arten von Befehlen durch das Vorhandensein oder Fehlen einer 1 an der Bitstelle b11 des betreffenden Befehlswortes und eines entsprechenden 1-Signals in der Leitung 111, nachdem das Befehlswort in das Befehlsadressenregister 202 überführt worden ist.
Bei jedem dieser gewöhnlichen oder Grundbefehle dient die Bitstelle b10 dazu, anzuzeigen, ob der Befehl unbedingt oder bedingt auszuführen ist. Wird ein beliebiges solches Wort dem Register 202 eingegeben, wird der Leitung HO eine binäre 1 zugeführt, wenn dieser Befehl nur dann ausgeführt werden
809815/0600
BAD ORIGINAL
soll, wenn das dann anstehende logische Signal LA eine 1 ist. Wie nachstehend erläutert, wird das Signal aus der Leitung i10 direkt decodiert und verwendet, um zu bestimmen, ob die Ausführung des Befehls fortgesetzt oder abgebrochen werden soll. Die Ausführung wird immer dann fortgesetzt, wenn das Signal U/C in der Leitung i10 eine 0 ist und somit einen unbedingten Befehl bezeichnet. Ferner wird die Ausführungfortgesetzt, wenn das Signal U/C eine 1 und das Gigaal LA ebenfalls eine 1 ist, doch wird die Ausführung abgebrochen, wenn das Signal U/C eine 1 und das Signal LA eine 0 ist (Π = 1).
B. Spezielle Befehle
Es sind neun spezielle Befehle möglich, die jeweils durch eine bestimmte Operation gekennzeichnet sind, welche bezüglich eines gewählten Bits eines gewählten Wortes durchgeführt werden soll. Hierbei handelt es sich jeweils um eines der Wortformate, die in der Tabelle I die Bezeichnung "logische Prozeßinstruktionen" bzw. "logische Bitmanipulation" tragen. Die speziellen Fünf-Bit-Befehlscodes an den Bitstellen b11 bis b15, durch welche diese neun speziellen Befehle eindeutig identifiziert werden, sind in der Tabelle II angegeben und im folgenden kurz erläutert, und zwar bezüglich der Signale, die in den Leitungen iO bis H5 erscheinen, nachdem das Befehlswort dem Register 202 eingegeben worden ist.
b15 bis b11
IF 00111: "Wenn" ein gewähltes Bit (durch BBBB in den Leitungen i6-i9 identifiziert) eines gewählten Wortes an der Speicheradresse (durch AAAAAA in den Leitungen iO bis i5 identifiziert) in seiner wahren Form oder seiner Komplementform (durch eine 0 oder eine 1 in der Leitung HO angegeben) eine 1 ist, den nächsten Schritt des Programms durch Weiterschalten des Pro,grammzählers auslassen. i98U0fc00
LD 01011:
Λΐ; 01001
OR 01111
XR 01101
Laden des gewählten Cits des gewählten Wortes in den Akkumulator, um das Signal LA in Übereinstimmung damit zu bringen. Das gewählte Wort wird durch Adressensignale aus den Leitungen iO bis benannt; die gewählte Bitstelle wird durch binäre Signale aus den Leitungen b6 bis b9 identifiziert.
Das gewählte Bit (durch Signale aus den Leitungen i6 bis i9 identifiziert) des gewählten Wortes (dessen Speicheradresse über die Leitungen iO bis i5 gemeldet wird) dem logischen Prozessor eingeben, es mit dem dann anstehenden Signal LA entsprechend einer logischen UND-Funktion verarbeiten und das logische Antwortsignal LA entsprechend den Ergebnis der UND-Operation setzen.
Das gewählte Bit (durch die Leitungen i6 bis i9 bezeichnet) des gewählten Wortes (aus der durch die Leitungen iO bis 15 bezeichneten Speicheradresse) dem logischen Prozessor eingeben und den Prozessor veranlassen, es mit dem dann anstehenden Signal LA entsprechend einer logischen ODER-Funktion zu verarbeiten und die logische Antwort LA in Übereinstimmung mit dem Ergebnis der ODER-Operation zu bringen.
Das gewählte Bit (durch die Leitungen i6 bis i9) identifiziert) des gewählten Wortes (aus der durch die Leitungen iO bis i5 bezeichneten Speicherstelle) dem logischen Prozessor eingeben und den Prozessor veranlassen, es mit dem dann anstehenden Signal LA entsprechend einer logischen Exklusiv-ODER-Funktion zu verarbeiten und die logische Antwort LA in Übereinstimmung mit dieser Operation zu bringen.
809815/0600
..: 7 A 3 ϋ 6 ü
SV 10001: Den dann vorhandenen binären V/ert der logischen Antwort LA dem speicher an der gewählten Jitstelle (durcn Signale in den Leitungen bb bis b9 identifiziert) an der gewählten '"peicherstelle (durch Signale in den Leitungen bO bis bf? identifiziert) eingeben.
IV 10011: Invertieren (Komplementieren) des gewühlten Bits (durch die Leitungen io bis i9 identifiziert) des gewählten V/ortes im Speicher (an der durch die Leitungen i0 bis i5 identifizierten ndresse).
::t 11011: Das gewählte Bit (durch die Leitungen i6 bis i9 identifiziert) eines gewählten Wortes (an der durch die Leitungen iO bis i5 identifizierten Speicheradresse) in den Zustand 1 bringen.
RS 10111: Rücksetzen des gewählten 3its (durch die Leitungen i6 bis 19 identifiziert) des gewählten V/ortes (an der durch die Leitungen iO bis i5 identifizierten Speicheradresse) in den Zustand 0.
Bei den vier logischen Verarbeitungsbefehlswörtern LD, AIJ, OR und XR dient das binäre Zeichen an der Bisteile b10, das in der Registerleitung i10 erscheint, dazu, anzugeben, ob das gewählte Bit in seiner wahren Form oder in seiner Komplementform T/C verarbeitet werden soll. Mit anderen V/orten, eine binäre 0 in der Leitung i10 veranlaßt den logischen Prozessor, das gewählte Bit als eine 0 oder als eine 1 zu behandeln, wenn das Signal IB eine 0 bzw. eine 1 ist; jedoch veranlaßt eine in der Leitung HO erscheinende binäre 1 den logischen Prozessor, das Signal LB so zu behandeln, als ob es eine 1 oder eine 0 wäre, wenn es tatsächlich eine 0 oder eine 1 ist.
Bei jedem der logischen Bitmanipulations-Befehlswörter IF, SV,
•09815/0600
ORIGINAL INSPECTED
/743UuU
IV, JT und RS dient dagegen das Signal an der bitstelle b10, das in der Leitung i10 erscheint, dazu, anzuzeigen, ob die uefenle unbedingt oder bedingt (U/C) ausgeführt werden sollen. Die Operation ist die gleiche wie die weiter oben bezüglich eines gewöhnlichen logischen Befehls genannte, d.h. jedes Befehlswort v/ird ignoriert, und die Ausführung des Befehls wird abgebrochen, wenn das signal U/C in der Leitung iiO eine 1 ist, und die logische Antwort LA den Wert 0 hat.
Genäß den Tabellen I und II bilden die speziellen logischen uefenle zwei Gruppen, zu denen jeweils vier spezielle Befehle gehören. Hit anderen Worten, die befehle LD, AN, OR und XR werden als lo-i'-che Verarbeitungsoperationen betrachtet, denn sie können dazu führen, daß das Antwortsignal LA des logischen Prozessors verändert wird. Die Befehle der zweiten Gruppe können als Bitmanipulationsbefehle bezeichnet werden, denn bei den befehlen 3V, IV, -'T uncl IiG erfolgt keine Veränderung der logischen Antwort LA, sondern sie führen vielmehr zu der möglichen Veränderung eines gewählten Bits innerhalb eines gewählten Wortes im speicher. Die erste Gruppe der logischen Befehle ist in der Tabelle II dadurch erkennbar, daß ein 1-üignal in den Leitungen ii4 und i11 vorhanden ist, nachdem irgendeines dieser Befehlswörter dem Register 202 eingegeben worden ist. Die zweite Gruppe der logischen Befehle unterscheidet sich von allen übrigen Befehlen dadurch, daß in der Leitung Hi; ein binäres 1-Signal ansteht, nachdem irgendein solches logisches Befehlswort dem Register 202 eingegeben worden ist. Wie nachstehend erläutert, werden diese beiden Gruppen von logischen Befehlen auf unterschiedliche Weise behandelt, um den Mikroprogrammspeicher 220 zu aktivieren, doch bewirken alle logischen Befehle innerhalb einer bestimmten Gruppe, daß der Mikroprogrammspeicher in der gleichen V/eise aktiviert wird.
Bei jedem der neun speziellen logischen Befehlswörter werden
10981 5/0600
/^ / A 3 υ υ J
die Signale an den jj tr.tellen bo bis b9 zur Identifizierung gewählter Bits verwendet, und daher stehen diese Bitstellen nicht zur Angabe einer Speicheradresse zur Verfügung. Dies bedeutet, daß die gewählten Wörter, die in Abhängigkeit von einem speziellen logischen Befehl aus dem Speicher herausgezogen werden können, an Speicherstellen erscheinen müssen, deren numerische Adressenwerte zwischen 0 und 63 liegen. Hieraus ergibt sich jedoch keine schwerwiegende Einschränkung, denn es steht eine ausreichende Anzahl von 16-Hit-Datenwörtern zur Verfugung, die benötigt werden, um eine große Anzahl von speziellen logischen Operationen unterzubringen. Außerdem kann man diese Einschränkung dadurch vermeiden, daß man die Bitlänge bzw. die Wörter erweitert, oder daß man einige der ersten 63 Speicherstellen als Zwischenspeicherstellen benutzt, denen andere Wörter aus höheren Speicheradressen durch die Software-Programmierung eingegeben werden können, bevor das betreffende Wort bei einer logischen Operation verwendet wird.
6. Einzelheiten des Systemspeichers
In Fig. 11 und 12 ist schematisch der Systemspeicher dargestellt, zu dem ein Speicher von relativ geringem Fassungsvermögen gehört, welcher jedoch als Beispiel für die zu gebende Erläuterung ausreicht. Der Speicher enthält 1024 Wörter, von denen sich jedes aus 16 binären Bits bO bis b15 zusammensetzt. Somit können die Adressenstellen die .Dezimalwerte 0 bis 1023 darstellen, und das Erscheinen irgendeines dieser Dezimalwerte in binärer Schreibweise in der 10-Bit-Adressenschiene bewirkt einen Zugriff zu der entsprechenden Wortstelle über nicht dargestellte Decodierschaltungen bekannter Art. Die 16 Eingabeleitungen 302 des Speichers führen zu den 16 Bits jedes Wortes mit Ausnahme noch zu erläuternder, nur auszulesender logischer Wörter, und die 16 Ausgabeleitungen 301 sind den entsprechenden Bits jedes Wortes zugeordnet.
Grundsätzliche Befehlswörter und spezielle logische Befehlswörter mit den vorstehend angegebenen Formaten und Bedeutungen
809815/0600
können jeder der Adressen des Speichers eingegeben werden, doch wird gewöhnlich ein Software-Programm die aufeinanderfolgenden Befehle eines Gesamtprogramms organisieren und sie allgemein in sequentielle Adressen verwandeln. Ferner können Datenwörter an jeder der Speicheradressen untergebracht werden, doch werden sie gewöhnlich an den Adressen mit den höheren Nummern gespeichert. Diejenigen Wörter, welche einzelne Bits enthalten, die gefühlt oder durch spezielle logische Einzelbitbefehle verändert werden sollen, werden an den Speicheradressen 0 bis 63 untergebracht, und zwar deshalb, weil die sechsstelligen Operandenadressennummern an den Speicherstellen bO bis b5 jedes speziellen Befehlswortes, das gemäß der Tabelle I einen Bitidentifikationscode BBBB enthält, nur Dezimalzahlen zwischen 0 und 63 repräsentieren kann. Diese Einschränkung ergibt sich lediglich aus der Vereinfachung der hier als Beispiel beschriebenen Ausführungsform, und sie läßt sich auf verschiedene Weise vermeiden, z.B. dadurch, daß man das System auf bekannte Weise so ausbildet, daß sich die Adressen indizieren lassen.
Wenn irgendein Wort durch Signale in der Schiene 11 "adressiert" wird, und wenn das Schreibsignal BTM1 den Speicherdecodier- und Steuerschaltungen zugeführt wird, werden bekanntlich die dann in der Schiene 10 und den Eingabeleitungen 302 anstehenden Signale angenommen und an den entsprechenden Bitstellen der Speicherstelle gespeichert. Wird dagegen irgendein Wort durch Signale in der Schiene 11 adressiert, und wird ein Lesesignal MEM zugeführt, erscheinen die gespeicherten Werte der Bits in dem adressierten Wort in den Ausgäbeleitungen 301, von denen aus sie gemäß Fig. 2b über das Gatter Gmr der Schiene 10 zugeführt werden.
Um eine vollprogrammierbare Steuereinrichtung zu schaffen, kann man Speichereinheiten für bestimmte Adressenstellen des Systemspeichers 300 in Gestalt äußerer Einrichtungen anstelle von Magnetkernen vorsehen. Um ein beliebig gewähltes Beispiel
109815/0600
ν 7 Λ 3 O;, Ü
zu geben, werden gemäß Fig. 11 und 12 die Adressenplätze 30 bis 39 und 40 bis 49 für Wörter verv/endet, von denen jedes 16 Einzelbits in Fora von Zwei zustande Signalen -u bis Q1 ^ naci der Tabelle I enthält, welche Ein/Aus-oignale o.Ier binäre logische Daten darstellen, beispielsweise werdea die l/ortadressen 30 bis 39 jeweils durcJi 16 bistabile Festwertvorrichtungen gebildet, z.i3. durch einpolige Umschalter. Diese Schalter können einer äußeren Maschine zugeordnet sein, un den Zustand verschiedener Bedingungen anzuzeigen; hierbei kann es sich z.3. um mechanische Endschalter, druckempfindliche Schalter oder Druckknopfschalter handeln. Andererseits werden die Adressen 4n bis 4(J durch 16 bistabile Γ-ünzelbit-Lese- und -Schreibvorrichtungen, z.I3. Kippschaltungen, gebildet, von denen jede dadurch gesetzt oder rückgesetzt v;erden kann, dan binäre Signale aus den Rechnersystem eingegeben werden, wobei jede Vorrichtung eine zugehörige Einrichtung, ζ.Λ. einen itotor, eine Anzeigelampe oder ein Magnetventil, ein- oder ausschalten kann. Der Zustand solcher Kippschaltungen und damit auch der Zustand der durca sie gesteuerten Einrichtungen läßt sich in jedem Zeitpunkt dadurch fühlen, daß die Ausgangsspannung der betreffenden Kippschaltung "gelesen" wird. Bezüglich des bekannten Kernteils des Speichers 300 nach Fig. 11 sei hier angenommen, daß keine Kernspeicherstellen 30 bis 49 vorhanden sind, so daß die Adressensignale 30 bis 49 Iceine Reaktion von Speicherkernen hervorrufen, sondern zum Lesen oder Schreiben die gemäß Fig. 12 aufgebauten Speicherstellen 39 bis 49 aktivieren.
Gemäß Fig. 12 sind die äußeren Vorrichtungen für die Wörter W30-V/39 für jede der Speicheradressenstellen 30-39 von gleicher Art. Bezüglich der Vorrichtung für das Wort W30 ist zu erkennen, daß 16 äußere Schalter S0-S15 vorhanden sind, deren bewegbare Schleifkontakte über ein normalerweise geschlossenes 16-Bit-Gatter 310 mit den zugehörigen Speicheradressen-Ausgabeleitungen MOC- M015 verbunden sind. Wenn sich ein sol-
109815/0600
eher Schalter in seinem normalen Zustand befindet, d.h. gemäß Fig. 12 im Abschaltzustand, stellt er eine Verbindung zur iiasse her, so daß er ein binäres O-Signal liefert. Yird einer dieser Schalter betätigt, stelle er eine Verbindung zu einer Quelle für eine Spannung von +5 V her, so daß er ein binäres 1-Signal liefert. Das so gebildete, aus "Julien und Rinsen bestehende "V/ort" wird den Ausgabeleitungen MOO-M015 zugeführt, wenn die Adresse 30 decodiert wird, und wenn die Adressendecodierschaltungen 311 ein Lesesignal FIEM empfangen. Diese Signale werden dann über das Gatter Grar der Schiene 10 zugeführt, und sie können gemäß Fig. 2a und 2b einem der Register 102 und 202 eingegeben werden.
Die Schnelligkeit, mit der die Schalter für einige oder sämtliche Wörter 30-39 abgefühlt werden können, z.B. durch eine geeignete Programmierung in Abständen von 20 ms, hat die gleiche V/irkung wie ein kontinuierliches Abfühlen der Schalterzustände. natürlich können die Zustände dieser Schalter nicht durch der Schiene 10 entnommene Schreibsignale verändert werden, denn ihr Öffnungs- oder Schließzustand richtet sich ausschließlich nach äußeren Bedingungen. Natürlich kann man das erfindungsgeraäße Speichersystem mit 160 Schaltern in einem erheblichen Ausmaß erweitern, indem man eine noch größere Anzahl von Speicherwürtern vorsieht, deren Aufbau der vorstehenden Beschreibung bezüglich des Wortes V/30 entspricht.
Die äußere Hardware für jede der Speicherstellen W40-W49 nach Fig. 12 ist in wesentlichen die gleiche. Der Aufbau des Wortes W40 gilt somit für alle diese 7/örter. Gemäß Fig. 12 werden die Bitstellen des Wortes W40 durch 16 Kippschaltungen FF0 bis FF1^ vom D-Typ gebildet. Die 16 Speichereingabeleitungen 302 sind jeweils mit den D-Eingängen dieser Kippschaltungen verbunden, während die Takt- oder Triggerimpulseingänge sämtlich an eine Becodiererausgabeleitung mit der Bezeichnung 40.BTM1 angeschlossen sind, Wird das Wort 40 durch Signale aus der
809815/0600
Schiene 11 adressiert, und trifft ein i.'-chreibsignal BTM1 ein, wird iede der 16 Kippschaltungen in den Zustand (gesetzc oder rückgesetzt) gebracht, der den binären .'Ügnal in der entsprechenden Speichereingabeleitung entspricht. Beim gesetzten Zustand erzeugt jede Kippschaltung ein binäres 1-Signal, während sie beim rückgesetzten Zustand ein binäres O-Signal erzeugt. Diese Signale v/erden, wie weiter mr^en erläutert, äußeren Vorrichtungen über Ausgabeklemmen 40/0 bis 40/15 zugeführt. Jedoch werden diese Signale auch den zugehörigen Eingängen einer 16-Bit-Gatteranordnung 315 zugeführt, deren Ausgänge mit den Speiche rausgabeleitunrjen verbunden sind. Die Gatteranordnung 315 ist normalerweise gesperrt, doch wenn die Decodierschaltungen 311 über die Schiene 11 Signale empfangen, welche die Adresse 40 bezeichnen, sowie ein Lesesignal II3I-I, werden die Gatter 315 durch ein >ignal 40-MEM freigegeben, so daß die entsprechenden binären Signale zu den Speicherausgabeleitungen 301 übertragen werden, von denen aus sie zu der Systemschiene 10 gelangen. Somit können die 16 Kippschaltungen, aus denen das Speicherwort W4O aufgebaut ist, nicht nur durch Signale gesetzt oder rückgesetzt und in bestimmte Zustände gebracht werden, die über die Systemschiene zugeführt werden, sondern sie können auch Signale liefern, die der Systemschiene zugeführt v/erden und zugehörige Zustände anzeigen, von denen bei der Verarbeitung nach der Booleschen Logik Gebrauch gemacht wird.
Um zu veranschaulichen, auf welche Weise verschiedene äußere Vorrichtungen entsprechend dem Zustand der im Speicherwort 40 gespeicherten Bitsignale gesteuert werden können, zeigt Fig. 12, daß der Q-Ausgang 40/15 der Kippschaltung FF15 an einen Treiberverstärker angeschlossen ist, um den Elektromagneten eines ein- und abschaltbaren Magnetventils 320 zu erregen, wenn die Kippschaltung gesetzt bzw. rückgesetzt wird. Auf ähnliche Weise ist die Ausgangsleitung 40/14 an einen Treiberverstärker angeschlossen, mittels dessen ein Motor M
10981 5/0600
entsprechend dew Zustand der Kippschaltung P1F1- ein- bzw. abgeschaltet wird, weiterhin ist die Ausgangsleitung ΛΟ/1 mit einem Treiberverstärker verbunden, so daß eine Signallampe 321 ein- bzw. ausgeschaltet wird, wenn die Kippschaltung FF1 gesetzt oder rückgesetzt wird. Als letztes Beispiel sei erwähnt, daß die /1V us gangs leitung 40/0 der Kipnschaltung FFq Jber einen Treiberverstärker dazu dient, eine Warneinrichtung 322, z.B. eine Sirene oder Glocke, zu betätigen.
Für das eigentliche Rechensystem spielt es keine Rolle, daß einige Wörter innerhalb des Systemspeichers 300 auf bekannte V/eise durch Magnetkerne gebildet werden, während andere Wörter durch Schalter gebildet werden, und daß weitere Wörter durch Kippschaltungen gebildet werden, die zum Ein- oder Ausschalten äußerer Vorrichtungen dienen. Jedoch kann das Rechnersystem aui eine im folgenden näher erläuterte Weise Signale verarbeiten, welche die Zustände äußerer Schalter bezeichnen, z.B. der das Wort W3O bildenden Schalter; es kann die Zustände von Kippschaltungen fühlen, z.B. derjenigen, die das Wort W4O bilden, und damit auch die Zustände der durch sie gesteuerten Vorrichtungen; schließlich kann das System nach Bedarf den Zustand jeder dieser Kippschaltungen verändern, um eine zugehörige elektrische Vorrichtung ein- oder auszuschalten, und zwar dadurch, daß eine 1 oder eine O einer bestimmten Bitstelle eines Wortes, z.B. an der Adresse 40, eingegeben wird.
7. Einzelheiten der direkten Decodierung
Die Direktdecodierschaltung 209 nach Fig. 2a ist in Fig. 4 mit weiteren Einzelheiten dargestellt. Diese Schaltung hat die Aufgabe, dem logischen Prozessor 401 codierte Operationssignale LO, L1, L2, i12, ii4 und COMP zuzuführen und erforderlichenfalls die Signale GETOP und COND zu liefern. Die Schaltung erkennt, ob ein Befehlswort im Befehlsadressenregister eine Grundoperation oder eine spezielle logische Operation
80 9 815/0600
anfordert; im letzteren FnIl veranlaßt sie, daß ein .'5ign.nl BADDR, das normalerweise den Wert 1 hat, wieder den Wert 0 annimmt, um hierdurch die Gatter 20ό zu veranlassen, die Bitsignale zu maskieren, die über die Leitungen i6 bis i9 dein Eingang OA des Ilultiplexgatters 205 zugeführt werden.
Gemäß Fig. 4 erzeugen UKD-Schaltungen 240 und 241 sowie eine HOR-Schaltung 242 das Signal JADDR aus über die Leitungen H5, ii4, i13, i'2 und i11 zugeführten ßingangssignalen. Aus dem im Teil c der Tabelle II dargestellten Befehlscodesatz ist ersichtlich, daß dann, v/enn der Befehl im Register 20*. eine oitmanipulation verlangt (.SV, IV, ST oder Ro), das Signal in der Leitung i15 die ! 10 R-'"c hai tun ^ 242 veranlaßt, den Signal BADDR den \'ert O zu geben. V/enn durch den Befehl eine logische Verarbeitung ( LD, Ah", OR, XR) verlangt wird, machen die Signale aun den Leitungen ii4 und i11 das Aus gangs Signa"', der UUD-Schaltung 240 zu einer 1, so daß das Signal BADDR den Wert O annimmt. Handelt es sich um den Befehl IF, erzeugt die UND-Schaltung 241 das Aus gangs signal 1 , so daß das Signal BADDR den Wert O annimmt. Bei jedem anderen dieser neun speziellen Befehle, die Bitidentifizierungsinformationen aus den Leitungen i6 bis i9 enthalten, ninmt d?s Signal BADDR don 17ert 1 an, und die Gatter 206 werden so beeinflußt, daß aus den Leitungen iO bis i9 eine volle Wortadresse zum Eingang OA des Ilultiplexgatters 205 übertragen wird.
Im Teil d der Tabelle II sind die Werte angegeben, die in den Operationscodeleitungen LO, L1, L2, i12, ii4 für jeden der logischen Prozeßbefehle LD, AU, OR, XR und die Bitmanipulationsbefehle SV, IV, ST und RS erscheinen. Bei näherer Betrachtung erkennt man, daß die UND-Schaltungen 243, 244, 245 und 246 gemäß Fig. 4 zusammen mit den ODER-Schaltungen 247 und 248 die Operationscodesignale LO, L1, L2 erzeugen, wobei Signale über die Leitungen i12 und ii4 unmittelbar weitergeleitet werden. Wie aus dem folgenden ersichtlich, haben die Signale LO, L1 und L2 keine Wirkung auf die ersten neun Be-
809815/0600
fehle nach der Tabelle II, und daher bleiben die diese Signale darstellenden Felder in den ersten neun Zeilen der Tabelle II leer.
Wie erwähnt, bedingt ,jeder Befehl, der an der Bitstelle b11 eine 1 enthält, so daß in der Leitung 111 das Signal 1 erscheint, daß ein Operand aus dem Speicher verwendet wird. Somit zeigt Fig. h, dan das Signal GETOP einfach das gleiche Signal ist wie das 'Jignal aus der Leitung 111.
Bezüglich der Befehle LD, Ali, OR, XR und IF nach der Tabelle II gibt das '^i^nal in der Leitung 110 an, daß das gewählte üit in seiner wahren Form oder seiner Komplementfona (T/C) verarbeitet werden soll. Bei allen übrigen Befehlen bedeutet dieses Signal, daß die Funktion unbedingt auszuführen ist, e.h. wenn dan ^it in der Leitung b10 eine 0 ist,bzw. bedingt, d.h. wenn das Signal in der Leitung b10 eine 1 ist, jedoch nur dann, wenn das logische Antwortsignal LA dann den Wert 1 hat. Dies bedingt, daß ein Signal COMP nur dann erzeugt wird, wenn das Signal der Leitung i10 bei einem Befehl LD, AN, OR oder XR den 'Vert 1 hat, und daß ein Signal COND nur dann erzeugt wird, wenn das Signal in der Leitung i10 bei irgendeinem anderen Befehl den Wert 1 hat. Gemäß Fig. 4 dienen die UND-Schaltungen 249, 250, 251 und 252 sowie die ODER-Schaltung 253 diesem Zweck. Betrachtet man die Befehlscodesä-tze in der Tabelle II, erkennt man, daß das Ausgangssignal der UND-Schaltung 250 einer 1 entspricht, wenn sich irgendeiner der Befehle LD, All, OR, XR oder IF im Register 202 befindet. Aus den vier ersten Befehlen ergibt sich ii4 = 111 = i15 = 1; aus dem Befehl IF ergibt sich 113 = 112 = 111 = TT5 = 1. In .jedem Fall ist dann, wenn in der Leitung i10 das Signal 1 erscheint, das Signal COIIP eine 1. Wenn jedoch das Aus gangs signal der UND-Schaltung 250 eine O ist, da ein anderer Befehl vorhanden ist, als die fünf vorstehend genannten, und wenn in der Leitung HO das Signal 1 ansteht, bewirkt die UND-Schaltung 251, daß das Signal COIID den Wert 1 erhält.
809815/0600
ORIGINAL !NSPECTPD C
27A3Ü60
"-· Einzelheiten des Phasenseguenzgenerators unr1 des Kaupttakigebers
Zur Steuerung der aijfeinanderf olgenden elementaren Operationen des Re clone rs ystem v/eist gemäß Fig. 2a und 5 der Haupttaktgeber 214 einen auf bekannte Weise ausgebildeten kristallf-esteuerten Taktimpulsoszillator 260 auf, der mit einer vorbestimmten Frequenz von z.B. 2,0 ITIIz arbeitet. Dieser Oszillator treibt einen nonostabilen Multivibrator 261 zum Erzeugen von Zeitimpulsen CLK und CLK, die z.B. eine Breite von 100 ns und Abstände von 500 ns haben. Diese Zeitsteuersignale sind in Fig. 6 und 7 bei 262 und 263 dargestellt. Das regnal CLK dient zun Steuern der verschiedenen Gatter und zun Voreinstellen verschiedener Register in allen Teilen des Systems, v/ie es nachstehend erläutert ist.
Der Phasensequenzgenerator 212 nach Fig. 2a steuert die elementaren Operationen, die durchgeführt werden, nachdem ,jeweils einer der aufeinanderfolgenden Befehle in das Befehlsregister 202 überführt werden ist. Bei denjenigen Befehlen, bei welcher, es erforderlich ist, ein Operandenwort abzurufen und zu verwenden, mißt der Phasensequenzgenerator 212 drei elementare Zeitintervalle ab, die im folgenden als Phase 0, Fhase 2 und Phase 3 bezeichnet werden. Während der Phase 0 wird das nächste Befehlswort eines Software-Programms aus einer Speicheradresse abgerufen, durch den Programmzähler 226 gesteuert und dem Befehlsadressenregister 202 eingegeben; während der Phase 2 wird der benötigte Operand der Speicheradresse, die durch das aktive Befehlswort benannt wird, entnommen und dem arithmetischen Eingaberegister 102 zugeführt; während der Phase 3 werden die befohlenen Operationen ausgeführt.
Im Gegensatz hierzu ist es bei manchen Befehlen nicht erforderlich, einen Operanden aus dem Speicher in das arithmetische Eingaberegister 102 zu überführen. In diesen Fällen dient der Phasensequenzgenerator lediglich dazu, ein Phasenintervall 0 abzumessen, auf das ein Phasenintervall 3 folgt, so daß ein Phasenintervall 2 ausgelassen wird.
80981 5/0600
2 7 A 3 G G O
Geraü' Fig. ? kann der .''equenzgenerator 212 als Dreizustands-Töhler ausgebildet sein, zu dem drei Kippschaltunken 265, und 267 von D-Typ gehören, »olche Kippschaltungen sind bekannt, und es sei hier angenommen, daß jede dieser Kippschaltungen in einen iJchaltzustand gebracht wird, der den Pegel des Signals entspricht, das ihrem Eingang D in dem Augenblick zugeführt wird, in welchem ein positiv gerichteter üpannungsijberganp; den zugehörigen Tnktimpulseingang CP zugeführt wird. Gemäß Fig. ? werden jeder der drei Kippschaltungen Taktimpulse CLK über ihre Takteingänge CP zugeführt, während über den Eingang D bzw. die Jtexierklemme ein Signal zugeführt v.'ird, um das ^etr.en oder Rücksetzen der schaltung entsprechend dem Vorhandensein anderer Signale zu steuern.
Nimmt man zunächst an, daß das Signal GETOP aus dem Direktdecodierer 209 nach Fig. 4 ansteht, daß die Kippschaltung anfänglich gesetzt ist, und daß die Kippschaltungen 266 und 267 beide zurückgesetzt sind, ist ersichtlich, daß das Ausgangssignal PIIO den Wert 1 hat, während die Signale PH2 und PH3 den Wert 0 haben. Wenn gemäß Fig. 6 die Hinterflanke des nächsten Taktimpulses ÜLT im Zeitpunkt t2 eintrifft, betätigt eine Uiiü-Schaltung 270 die Kippschaltung 266 durch Zuführen eines 1-Signals zu ihrem Eingang D, da die Signale GETOP und PHO beide den Wert 1 haben. Somit wird im Zeitpunkt t2, wenn der positiv gerichtete libergang des Impulses CLK erscheint, die Kippschaltung 265 rückgesetzt, während die Kippschaltung
266 gesetzt wird. Das Ausgangssignal PH2 hat jetzt den Wert 1 zv/ischen den Zeitpunkten t2 und t3, wie es in Fig. 6 gezeigt ist. Bei diesem letzteren Zustand, d.h. der Phase 2, durchläuft das Signal PH2 eine ODER-Schaltung 271, um die Kippschaltung
267 zu betätigen, während das Eingangssignal am Eingang D der Kippschaltung 266 den ¥ert 0 hat. Wenn dann der nächste Impuls CTE gemäß Fig. 6 im Zeitpunkt t4 endet, wird die Kippschaltung 266 zurückgesetzt, doch wird die Kippschaltung 267 gesetzt. Hierdurch wird erreicht, daß das Ausgangesignal PH3
809815/0600
Tl
den V/ert 1 beibehält. Ferner wird ein qualifizierendes 1-.'Ji^- nal dem Eingang D der Kippschaltung 265 zugeführt, und das dem Eingang D der Kippschaltung 267 zugeführte 'irnal wird beseitigt. Daher wird bei dem nächsten Impuls CLk die Kippschaltung· 26? zurückgesetzt, während die Kippscnaltun/.; 265 gesetzt wird, so dai3 das oignal PIIO jetzt den V/ert 1 beibehält. Diese Folge der drei Zustände P;iO, Κί2 und r,.'3 setzt sich auf unbestimmte Zeit fort, solange das Signal GjS'i'OI- den Wert 1 beibeiiält.
Hat c*as "-ignal GHTOP dagegen den \/ert 0, was imner dann geschieht, wenn im ^efe ilsregister 202 ein "Gefehl vorhanden ir,τ., bei dem ni<~ht die Verwendung eines Operanden aus de*.. Jpeiclier erforderlich ist, wird ger>:ii3 7Sir. 5 das Gatter 270 gesperrt, doc:i führt ein Inverter 272 ein .'■'igr.al ÜTToT mit. dem 1:ert 1 dei.i eingang einer v/eiteren UI j D-. ic haltung 273 zu, die ein 1-Ausgangssignal erzeugen knnn, v/enn ihr zusätzlich das Jignal VjiO zugeführt v/ird. iiat das :Jignal ΟΪΊΊΌΡ den Vfert 0 und das Signal G^TOP den V/ert 1, kann somit, angenommen werden, ctaf] sie ■ der Sequenzgenerator 212 anfänglich in einen Zustand befindet, bei dem die Kippschaltung 2ύ5 gesetzt is;. vmd die r.ip^schnl tungen 266 und 267 zurückgesetzt sind, .letzt wird das Gi-pial PIlO über das Gatter 27° und d?e ODPlR-;Jchaltung 271 weitergeleitet, um die Kippschaltung 267 zu betätigen, so daß dann, wenn gemäß Fig. 7 im Zeitpunkt t2 die nächste Hinterflanke eines Impulses CLk erscheint, die Kippschaltung 265 zurückgesetzt, jedoch die Kippschaltung 267 gesetzt vird. Comit verschwindet das Signal PHO, während das oignal PH3 erscheint. Unter diesen Umständen wird die Kippschaltung 26? durch das ihrem ßingang D zugeführte oignal ΡΠ3 betätigt, doch wird die Kippschaltung 26? gesperrt, d.h. an ihrem Eingang D erscheint ein O-Signal. Sobald der nächste Impuls CLK eintrifft, wird die Kippschaltung 267 zurückgesetzt, während die Kippschaltung 265 gesetzt wird. Wie durch die Wellenformen PHO, PH2 und PII3 in Fig. 7 dargestellt, erscheinen bei dieser Betriebsweise die Signale
809815/0600
BAD ORIGINAL
PIIO und rii? abwechselnd in Abi.nrigi,;kei 'c von aufeinanderfolgenden Takti"inulsen, v:,:ihrenc. das signal PK2 einfach au;C dem Pegel O verblPiht.
V.'ird oin netVnI decodiert, urn sin Signal GETOP ^u erzeugen, erzeugt somit der Phasensequenzgenerator in Abhängigkeit von aufeinanderfolgenden Taktimnulsen eine Folge von Signalen PHO, VA?. und Pt-13: wird dagegen ein i^efehl decodiert, bei dem die Verwendung eines Operanden nicht erforderlich ist, und steht das "ignal ^lAuP nicht an, erzeugt der Phasensequenzgenerator lediglich eine Folge von Signalen PHO und PH3 in Abhängigkeit von den nacheinander einoreffenden Taktiraptilsen. Jede Phase hat z.Z, eine Lange von 1 wikrosekunde, und der Impuls CLK, der kurz vor dem !vn^e ,jeder Phase erscheint, kann eine breite von ?00 ns haben.
Um zu gewährleisten, daß der Phasensequenzgenerator nach Fig.5 stets im richtigen Zustand anläuft, v;enn das Re c I ,ne rs ystem in Betrieb gesetzt v/ird, wird beim Einschalten des Rechners mittels einer nicht dargestellten Einrichtung ein Einschaltimpuls DV/R£> erzeugt. Gemäß Fig. 5 wird dieser Impuls dem Setzeingang Πι der KIpDSchaltung 265 und den Löscheingängen CL der Kippschaltungen 266 xmd 267 zugeführt. Beim Einschalten des Rechnersystems wird somit zunächst der Phasensequenzgenerator 212 in einen Zustand entsprechend der Phase 0 gebracht, bei dem das Signal PHO den Wert 1 hat und die Signale PH2 und PH3 den Wert 0 haben.
9. Einzelheiten des Kartenaufstellungs-Festwertspeichers und der EingangsSignaIe für den Mikroprogramm-Festwertspeicher
Bei dem Festwertspeicher 210 nach Fig. 2a handelt es sich um einen Codewandler bekannter Art. Zwar kann es bei dem hier als Beispiel beschriebenen sehr einfachen System unnötig sein, einen Kartenbildungs-Festwertspeicher zu verwenden, doch wird
809815/0600
BAD ORIGINAL
274 30B0
bei voll ausgebauter Systemen für die Praxis, bei denen mit einer großen Anzahl von möglichen Befehlen gearbeitet wird, gewöhnlich ein Festwertspeicher mit e.mem Adressenzähler und einer Additionseinrichtung verwendet. Im vorliegenden Fall sei lediglich bemerkt, daß den Festwertspeicher 210 Befehle darstellende Signale über die Leitungen 111 bis ii5 aus dem Register 202 zugeführt werden, und daß er dann, wenn er gemäß Fig. 8 durch ein Signal PII3 freigegeben wird, seinen Ausgabeleitungen einen bestimmten entsprechenden 4-Bit-Code zuführt. In diesen vier Ausgabeleitungen steht normalerweise dns Signal
0 an, wenn das Freigabesignal PK3 nicht vorhanden ist. Da der Festwertspeicher 200 auf bekannte Weise durc'-i "T?in.jrennen" von Ilatrixverbindungen hergestellt wird, läßt sich sein Aufbau am besten anhand der Tabelle V beschreiben, in der die letzten 11 Zeilen die Kombinationen von Singangssignalen in den Leitungen i11 bis i15 darstellen, mitteln welcher verschiedene Kombinationen von codierten Ausgangssignalen für die Leitungen Xa, Xb, Xc und Xd erzeugt werden. Jeder der logischen Prozeßbefehle zum Bestimmen der Signale LA, d.h. der Signale LD, AN, OR und XR nach der Tabelle IT, die ein 1-Signal in den Leitungen 111 und ii4 erscheinen lassen, veranlaßt den Festwertspeicher 200, einen gemeinsamen Ausgangscode 1100 zu erzeugen; entsprechend wird jeder der Bitraanipulationsbefehle SV, IV, ST und RS, die gemäß der Tabelle II 1-Signale in den Leitungen i11 und H5 erscheinen lassen, durch den Festwertspeicher so decodiert, daß in den Leitungen Xa bis Xd ein gemeinsamer Ausgangscode 1101 erscheint.
Gemäß Fig. 8 führt der Phasensequenzgenerator 212 die Signale PHO und PH2 über ODER-Schaltungen 275 und 276 direkt den Leitungen Xa und Xb zu. Wenn gemäß der Tabelle V Signale für die Phase 0 und die Phase 2 vorhanden sind, wird ein 4-Bit-Code
0001 oder 0010 als Eingangssignal dem Mikroprogramm-Festwertspeicher 220 zugeführt, um einen "Abruf" oder das "Herausziehen eines Operanden" zu bewirken. Während jeder nachfolgenden Phase
809815/0600
3 wird das λingangnsignal für den Mikroprogramm-Festwertspeicher 220 dann durch den Festwertspeicher 200 bestimmt; dieses Kingangssignal für den Mikroprogramm-Festwertspeicher, das in den Leitungen Xa, Xb, Xc und Xd erscheint, ist im Teil e der Tabelle II dargestellt.
10. Einzelheiten des Hikroprogrammier-Festwertspeichers
Fig. 9 zeigt weitere Einzelheiten des Mikroprogramm-Festwertspeichers 220 nach Fig. 2b. Der Aufbau eines solchen Speicher ist jedem Fachmann geläufig; hierbei werden Verbindungen in einer Matrix dauerhaft gespeichert. Daher ist nur zu bemerken, daß dem Speicher 220 verschiedene codierte Eingangssignale über die Leitungen Xa, Xb, Xc und Xd zugeführt werden, und daß der Speicher bestimmte entsprechende Kombinationen von Signalen in den 15 Ausgäbeleitungen IH bis M15 erscheinen läßt. Gemäß Fig. 9 sind diese Ausgabeleitungen in verschiedene Felder unterteilt. Allgemein gesprochen bilden die Leitungen H1A und M15 ein Adressenfeld, das durch den Code von in ihnen erscheinenden Signalen die Quelle bezeichnet, aus der Signale der Speicheradressenschiene 11 zugeführt werden sollen. Die Leitungen M11, M12 und H13 bilden ein Schienenfeld, das mittels einer Kombination von darin erscheinenden Signalen jeweils ein beliebiges von acht möglichen speziellen Signalen repräsentieren kann, welche die Quelle bezeichnen, von der aus Signale der Systemschiene zugeführt werden sollen.
Entsprechend bilden die Leitungen 118, M9 und M10 ein ALU-Feld, und die codierte Kombination der darin erscheinenden Signale bezeichnet jeweils einen von mehreren möglichen Operationsbefehlen, welcher der Einheit ALU zugeführt werden soll, um sie bei verschiedenen Befehlen zu steuern. Die Leitungen M5, M6 und M7 bilden das "Speicherfeld11 und die Kombination der darin erscheinenden Signale repräsentiert das betreffende Register bzw. die Einheit, in der die dann in der Systemschiene erschei-
809815/0600
. J\ 27A3Ü60
nenden Signale gespeichert v/erden sollen, nie Loitun;;en I-;2, H und HA bilden ein Feld für "Verschiedenes" und die Kombination der darin erscheinenden '.Signale kann bewirken, daß eine von mehreren verschiedenen Operationen durchgeführt wird. Schließlich bildet die Ausgäbeleitung M1 ein ^inzelleitungsfeld/der Bezeichnung IPC; dieser Leitung wird ein 1-Signal immer dann zugeführt, wenn der Programrazähler weitergeschaltet werden soll.
Gemäß Fig. 2b und 9 werden die Ausgangssignale des Mikroprogramm-Festwertspeichers von den Feldern ADDR, JUS, ALU, STORE und HISC Felddecodierern 230 bis 2 Λ zugeführt. Bei jedem dieser Decodierer handelt es sich einfach um eine Ilatrix bekannter Art mit mehreren '"ingö.n^en und einem einzigen Ausgang; ihr Aufbau und ihre Wirkungsweise dürfte jedem Fachmann geläufig sein. Lei den Decodierern 2Π3 und 284 handelt es sich dagegen um gesteuerte Decodierer, die in einer ihrer Ausgangsleitungen nur dar.n ein Cignal erscheinen lassen, v/enn sio über einen Freigabeeingang 2;J3a bzw. 2T;4a durch ein 1-Signal freigegeben werden. Die Tabelle III veranschaulicht sowohl den Aufbau des Mikroprogramm-Festwertspeichers 220 als auch die Aus gangs signale, die in den Leitungen I-I1 bis H"! 5 bei den verschiedenen möglichen Befehls codes erscheinen, mitteln welcher verschiedene codierte Cingangssignale in den Leitungen Xa bis Xd erzeugt werden. In der Tabelle III bezeichnen die leeren Felder die Tatsache, daß in den Iiikroprogramn-Ausgabeleixungen hüllen erscheinen. Die Tabelle VII gibt die 1/ertetabellen für die Decodierer 2CO bis 2ΓΛ wieder und veranschaulicht das einzelne Ausgangssignal, das in einer der Aungabeleitungen ,jedes üecodierers bei verschiedenen Kombinationen von EingangsSignalen erscheint, die den Decodierern über ihre Eingabeleitungen zugeführt werden. Für den Fachmann geben somit die Tabellen III und VII ein vollständiges Bild des Aufbaus und der Wirkungsweise des Mikroprogramm-Festwertspeichers 220.
809815/0600
■\us der /'.ei]e 1 der Tabelle III \^t ersichtlich, daß während eines Abrufvornanrs, der durch den Code 0001 als Eingangssignal für den lakroprograram-Fes twertspeicner repräsentiert wird, der Adressenfelddecodierer 230 ein Ausgangssignal PC erzeugt, das angibt, da.3 die der .schiene 11 zuzuführende Adresse dem Programmzähl er 226 zu entnehmen ist. Es sei bemerkt, daß dieses Signal das Ilultiplexgatter 205 nach Fig. 2b freigibt, so daß das Zählerausganfc;5signal PA zv der Adressenschiene 11 weitergeleitet v/ird. Bei den Operationen GETOP, JUiIP und der üitrnanipulation bewirkt die Kombination von Eingangssignalen, die den Mikroprogramm-Festwertspeicher 220 zugeführt werden, dafS der Adressenfeld-Decodierer 280 ein Aus gangs signal Kk abgibt, urn das Multiplexgatter 205 freizugeben, damit es sein Eingangssignal OA (aus den Leitungen iO bis iy, jedoch unter Ausschluß der Leitungen i6 bis i9, wenn ias Gatter 206 gesperrt ist) zu der Schiene 11 weiterleitet. iomit v/ird die Adressenstelle durch den Adressenteil eines Befehlswortes bestimmt, das sich dann im Befehlsadressenregister 202 befindet.
Ss dürfte zweckmäßig sein, die Bedeutungen der verwendeten Kurzzeichen anzugeben, mit denen die Ausgangssignale der verschiedenen necodierer nach Fig. 2b und 9 bezeichnet v/erden. Bei dem Schienenfeld bedeutet ADTR, daß die Adressenschienensignale der Schiene zugeführt werden sollen; HEH bedeutet, daß das Ausgang-signal des Speichers der Schiene zugeführt werden soll; ATB bedeutet, daß das Ausgangssignal des Akkumulators der Scniene zugeführt werden soll; EOR bedeutet, daß das Ausgangssignal AUS' der 16-liit-Exklusiv-ODER-Anordnung der Schiene zugeführt werden soll. Es sei bemerkt, daß das Signal ADTR das Gatter Gad steuert, daß das Signal MEM das Lesen des Speichers steuert und außerdem das Gatter Gmr steuert, daß das Signal ATB das Gatter Gatb steuert, und daß das Signal EDR das Gatter Gr steuert.
80981 5/0600
BAD ORIGINAL
27Λ3060
In dem ALU-Feld geben die Befelilsnignale A und L an, daß die arithmetische logische Einheit ALU so konditioniert werden soll, daß sie lediglich ihre Eingangssignale bei A oder B an ihre Ausgabeleitungen bei F abgibt. Im Gegensatz hierzu gibt das ALU-Befehlssignal B" an, daß die Einheit ALU ihre Eingangssignale in der komplementierten Form über ihren Ausgang F abgeben soll. Diese Befehlssignale, die hier mit A + L bzw. A-B bezeichnet sind, konditionieren die Einheit ALU derart, daß ihr Ausgangssignal F gleich der Summe bzw. der Differenz der numerischen binären Signale A und L wird, die ihren beiden Eingängen zugeführt werden. Diese Signale des ALU-Decodierers 282 werden gemäß Fig. 2a direkt den entsprechend bezeichneten Befehlseingängen der Einheit ALU zugeführt.
Bei dem Speicherfeld STORE geben die Signale IAR und AIR an, daß dann in der Schiene erscheinende Signale im Befehlsadressenregister 202 bzw. im arithmetischen Eingaberegister 102 gespeichert werden sollen. Sie werden UND-Schaltungen 203 und 101 zugeführt. Das Signal ACC gibt an, daß das Ausgangssignal F der Einheit ALU im Akkumulator 104 gespeichert werden soll; dieses Signal wird gemäß Fig. 2a einer UND-Schaltung 103 zugeführt. Das Signal ΒΪΗ nach Fig. 9 gibt an, daß die dann in der Schiene erscheinenden Signale im Hauptsystemspeicher gespeichert werden sollen; dieses Signal wird einer UND-Schaltung 303 zugeführt, die das Schreibsignal BTM1 erzeugt, wenn ein Taktimpuls CLK auftritt. Das Signal PPC gibt an, daß die dann in der Schiene auftretenden Signale von dem Programmzähler 226 aufgenommen werden sollen; dieses Signal wird der UlJD-Schaltung 231 zugeführt, die dann das Signal PPC erzeugt, um eine Voreinstellung des Zählers auf eine Zahl zu bewirken, die durch die dann in der Schiene anstehenden Signale repräsentiert wird. Das Signal LAS gibt an, daß das Ergebnis einer logischen Verarbeitungsoperation in einer logischen Akkumulator-Kippschaltung gespeichert werden soll, die weiter unten anhand von Fig. 10 beschrieben wird.
•09815/0600
2743U60
Bei den Feld "Verschiedenes" bewirkt das Signal CLR dann, wenn es erscheint, daO der Akkumulator 104 nach Fig. ?a gelöscht v/erden soll, bzw. daß seine Bits alle auf O gesetzt werden sollen. Das Signal BTLOG gibt an, daß der logische Prozessor für einen üitnanlpulationsvorgang konditioniert werden soll; dieses Signal erscheint in Abhängigkeit von jeweils einem der Befehle SV, IV,ST und RS. Die Signale SACR und SACL werden direkt dem .Akkumulator 104 zugeführt und bewirken, daß der dann vorhandene Inhalt des Akkumulators um eine Stelle nach rechts oder links verschoben wird. Das Signal IPCLB gibt an, daß der Programmzähler v/eitergeschaltet werden soll, wenn das gewählte logische Bitsignal dann einem bestimmten von zwei möglichen Zuständen entspricht; dieses Signal dient auf noch zu erläuternde Weise zur Ausführung eines Befehls IF.
Zusammenfassend sei bemerkt, daß der Mikroprogramm-Festwertspeicher 220 mit den zugehörigen Decodieren! 280 bis 284 cod.ierve Befehlssignale während der betreffenden Phase über die Eingänge Xa bis Xd aufnimmt. In Abhängigkeit davon empfängt jeweils nur eine jeder Felddecodierer-Ausgabeleitungen ein 1-Signal, doch reagiert bei zahlreichen Operationen ein bestimmter Felddecodierer überhaupt nicht. Von den Mikroprogramm-Felddecodierern aus werden diese Steuersignale zu verschiedenen Punkten dee Systems weitergeleitet, um die Zuführung von Signalen zu der Speicheradressenschiene und der Systemschiene 10 zu steuern; außerdem werden sie der Einheit ALU zugeleitet, um die durch sie auszuführende Funktion zu bestimmen, und sie werden verschiedenen Registern oder Gattern zugeführt, um zu bestimmen, welchen der verschiedenen Teile zur Speicherung Signale zugeführt werden, dte dann in der Systemschiene anstehen.
Es sei erneut bemerkt, daß das Ausgangssignal der Decodierer 283 (Speicherung) und 284 (Verschiedenes) zurückgehalten wird,
109815/0600
wenn diesen Decodieren^ nicht zur Freigabe ein 1-1I Ignal über die Eingänge 203a und 284a zugeführt wird. Dieses Abschalten aller Ausgangssignale der Decodierer 2G3 und 234 hat den Zweck, die Ausführung arithmetischer Befehle abzubrechen, wenn es sich um bedingte Befehle handelt, und wenn die geforderte Bedingung nicht erfüllt ist. Hierauf wird im folgenden näher eingegangen. Zunächst möge es genügen, festzustellen, daß die Bedingungssteuereinrichtung 403 nach Fig. 2b ein Signal K den Steuerein^ängen 2Q3n und 2^4a zuführt. Die Einrichtung 403 wird gemäß Fig. 9 durch eine ilAIiJD-Schaltunp; 20? nit den drei eingängen COiJD, L"Ä" \χηύ PH3 gebildet. Das Ausgan/-ssignal κ dieser Schaltung hat normalerweise den Pegel 1. Haben jedoch alle drei Eingangs signale der Jchaltun«;; 2:19 gleichzeitig den V.'ert 1, ke.irt das Ausgangs ignal K auf den ./ert 0 zurück, und daher können die Decodierer 2>>3 und 234 keine Ausgangssignale liefern.
Fig. 9 zeigt ferner die logische '15chaltung zum !Erzeugen eines .Steuersignals TMPC, mittels dessen der Programmzähler v/eitergeschaltet wird. Das ,-Iikroprogrymmsignal IPC durchläuft eine ODclk-Schaltung 290, so daß das 3ignal IiIPC entsteht; jedoch kann dieses letztere Signal auch durch eine UIID-Schaltung 291 erzeugt werden, wenn das 3ignal IPCLB und ein Signal ELb für ein effektives logisches Bit jeweils den Wert 1 haben. Das Signal IIIPC wird einer üliD-ochaltung 227 zugeführt, die gemäß Fig. 2b dem Programmzähler 226 zugeordnet is L. Wenn dieses Signal gleichzeitig mit einem Taktimpuls auftritt, ergibt sich bei dem Ausgangesignal HjC ein negativ gerichteter iJbergang an der llinterflanke des Taktinipulses, so daß der Zähler 226 um eine Einheit aufwärtszählt.
11. Einzelheiten des logischen Prozessors undder i^i tmanipulationsschaltung
Wie erwähnt, empfängt der logische Prozessor 401 ein Einzelbit-Eingangs signal, das aus einem 16-Bit-Viort gewählt wird und den
109815/0600
BAD ORIGINAL
'Vert O eier 1 Kibe:ι kann. Ferner ennfüngt er von der Direktdeccciorschaloun^ 209 nac.i Fig. 4 aus "Onerationsfunktionsslgnale" L2, i,1, LO, CU:iP, i12 und i14. Der logische Prozessor erzeugt /Hissen rs signnle ".1LU, LA, LT und r,C je nach der befohlenen Funktion, um das .Jignal LA jeweils in der richtigen ■./eise zu modifizieren, wahrend die aufeinanderfolgenden Operationen innerhalb einer Booleschen Kette von Schritten durchgeführt v/erden.
Zwar könnte m.n verschiedene spezielle Schaltungen verwenden, doch zeigt Fig. 10 die Einzelheiten eines geeigneten logischen Prozessors 401. uiese Einzelheiten v/erden zunächst bezüglich verketteter Operationen noch der Booleschen Logik behandelt, und danach v/ird auf die ^itnanipulation und die speicherung eingeganzen.
Gemäß Fit;. 10 v/ird eine Kippschaltung 425 vom JK-Typ als logischer r.inzelbitakkumulator verwendet. Dieser Akkumulator wurde wegen seiner nachstehond genannten -iigenschaften gewählt. V/ird eine opannum; entsprechend einer binären 1 an den Eingang J oder den Eingang K angelegt, wird die Kippschaltung gesetzt oder rückgesetzt, und zwar in Abhängigkeit von einem positiv gerichteten l'pannungsübergang, der ihrem Takteingang CP zugeführt wird; wenn keiner der Eingänge J oder K eine Spannung mit den Pegel 1 erhält, erfolgt keine Reaktion auf ein am Takteingang CF erscheinendes Triggersignal; liegt jedoch eine Spannung mit dem Pegel 1 an beiden Eingängen J und K, wenn der positiv gerichtete Tpannungsübergang am Takteingang CP erscheint, stellt sich die Kippschaltung mn, d.h. sie geht aus ihrem gesetzten bzw. rückgesetzten Zustand in ihren rückgesetzten bzw. ihren gesetzten Zustand über. Befindet sich die Kippschaltung 425 im gesetzten Zustand, läßt sie an ihren Ausgängen die oignale LA und LA" bzw. 1 und 0 erscheinen; beim rückgesetzten Zustand nehmen die Ausgangssignale LA und TK die Werte 0 und 1 an.
809815/0600
BAD ORIGINAL
27A3060
Ih folgenden sei die Uirkungsweise für den ^a 11 betrachtet, daß die logischen Funktionscodesignale L2, L1 und LO den l/ert 111 haben, was gemäß der Tabelle VI dem logischen Befehl LD (Akkumulator laden) entspricht. Ist das Eingangssignal LB eine 0 oder 1, und hat das '.Steuersignal COHP den V/ert 0, hat das effektive logische Bitsignal ELB, das durch eine Exklusiv-ODER-Schaltung 426 erzeugt wird, den Wert O oder 1. Ist ELB gleich 0, hat das Ausgangssignol η der Ui iJ-oc haltung 428 den Wert 0, doch ist das Ausgangssignal ο einer Exklusiv-ODER-Schaltung 429 gleich 1, da LO gleich 1 iso, so daß das Ausgangssignal ρ der UiID-3chaltung 430 eine 1 wird und bewirkt, daß LA auf 0 gebracht oder auf 0 belassen wird, wenn der Kippschaltung 425 ein Taktsignal zugeführt wird. Ist dagegen ELB gleich 1, haben die signale ο und ρ den Wert 0, doch ist das Signal η gleich 1, so daß das oignal LA zu einer 1 gemacht oder auf diesem Pegel belassen wird, wenn der Kippschaltung 425 ein Taktsignal zugeführt wird. Wie in der ersten Zeile der Tabelle VI angegeben, bewirkt somit ein Befehl LD, daß die Akkumulator-Kippschaltung 425 mit dem gewählte! Biteingangssignal LB geladen wird, um das logische Antwortsignal LA in Übereinstimmung damit zu bringen.
Natürlich bewirkt die Exklusiv-ODER-Schaltung 426, daß ELB das Komplement von LB ist, jedoch nur dann, wenn das Signal COMP den Wert 1 hat. Ist dies der Fall, kommt die Anordnung nach Fig. 10 so zur Wirkung, als ob das Eingangssignal LB der Kehrwert seines tatsächlichen Wertes wäre.
Nunmehr sei angenommen, daß durch das logische Befehlswort im Register 202 das Signal AN verlangt wird, so daß der Code für L2, L1 und LO die Form 1001 hat. Unter diesen Umständen soll das Signal LA auf den Pegel gebracht oder auf dem Pegel gehalten werden, welcher der Antwort der logischen UND-Funktion LA = LA · LB entspricht. Befindet sich die Kippschaltung 425 schon im 1-Zustand, braucht LA nicht geändert zu werden,
809815/0600
BAD ORIGINAL
wenn LB den Wert 1 hat. Nur wenn LB gleich O ist, ist es erforderlich, die Kippschaltung 425 durch einen Taktimpuls zurückzusetzen. Da die Signale bei LO und L2 beide gleich 1 sind, haben die Signale ο und ρ den Wert 1 oder 0, wenn ELB gleich 1 bzw. gleich 0 ist. Somit wird die Kippschaltung 425 durch einen Taktimpuls zurückgesetzt oder zurückgesetzt belassen, wenn ELB gleich O ist. Das Endergebnis besteht darin, daß der neue '.'fert von LA stets eine 1 oder 0 ist, wenn die UIJD-Funktion LAQ· LB befriedigt oder nicht befriedigt wird, wenn man annimmt, daß COMP den Wert O hat. Diese Selbstverständlichkeit spiegelt sich in der zweiten Zeile der Tabelle VI für die verschiedenen Bedingungen wieder, die gegeben sein können (LB gleich 1 oder 0 und COMP gleich 1 oder O).
Handelt es sich bei dem logischen Befehl um ein ODER, so daß gemäß der Tabelle VI der Code 010 für L2, L1 und LO gilt, soll das Signal LA so festgehalten werden, daß es zu LAn wird, wenn LAQ gleich 1 ist. Ist jedoch LAQ gleich 0, soll das Signal nur dann auf 1 umgestellt werden, wenn ELB gleich 1 ist. Im letzteren Fall wird die UND-Schaltung 428 so qualifiziert, daß das Signal η den Wert 1 erhält. In jedem Fall wird die UND-Schaltung 430 gesperrt, so daß sich die Kippschaltung 425 nicht zurücksetzen läßt. Wenn der ODER-Funktionscode eintrifft und der Kippschaltung 425 ein Taktsignal zugeführt wird, bleibt somit LA auf dem Wert 1, wenn dieser Wert vorher vorhanden war; jedoch wird LA von 0 auf 1 umgestellt, wenn das Signal ELB den Wert 1 hat. Hierdurch wird die logische ODER-Funktion erfüllt, so daß LA = LA + LB, wie es in der dritten Zeile der Tabelle VI angegeben ist.
Tritt der logische Befehl XOR auf, so daß gemäß der Tabelle VI für L2, L1 und LO der Code 110 gilt, soll das Signal LA in eine 0 oder eine 1 verwandelt werden, wenn es vorher den Wert oder 0 hatte und das Eingangssignal ELB eine 1 ist. Hat das Signal ELB den Wert 1, haben die Signale n, o' und ρ jeweils den
809815/0600
2VA3Ü60
Wert 1, so daß der bei CP zugeführte Taktimpuls die Kippschaltung 425 umstellt. Ist ELB gleich O, sind η und ρ beide gleich 0, und die Kippschaltung 425 spricht nicht auf ein Taktsignal an. Immer dann, wenn der Befehl XOR empfangen und decodiert wird, so daß L2, L1 und LO den Wert 110 annehmen, reagiert somit die Anordnung nach Fig. 10 auf einen Taktimpuls, um sicherzustellen, daß LA = LA. 0LB, wobei das Symbol (?) die Exklusiv-ODER-Funktion bezeichnet.
Gemäß der Tabelle VI und der vorstehenden Beschreibung nimmt der logische Prozessor nach Fig. 10 ein einzelnes Eingangssignal LB auf und verwandelt es in ein effektives logisches Bitsignal ELB, das mit LB identisch ist bzw. seine invertierte Form hat, wenn das Signal COMP gleich 0 oder 1 ist. Diese Operation wird durch die Exklusiv-ODER-Schaltung 426 durchgeführt. In Abhängigkeit von dem Signal ELB erzeugt die Anordnung nach Fig. 10 ein neues logisches Antwortsignal LA als Ergebnis der logischen Funktion, die durch die codierten Signale L2, L1 und LO befohlen wird, wobei die Codes dieser Signale den Befehlen LD, AN, OR, XOR nach der Tabelle II entsprechen. Um die logische Verarbeitungsschaltung bei aufeinanderfolgenden Operationen taktmäßig zu steuern, wird einer UND-Schaltung 432 das Speichersignal LAS von dem FeIddecodierer FD5 aus zugeführt, und das Taktsignal CLK wird zugeführt, nachdem das Signal LB erzeugt worden ist und an den Steuereingängen J und K der Kippschaltung 425 die richtigen Spannungen anstehen. Diese Steuersignale ergeben sich aus dem einzelnen Eingangssignal LB, die dadurch erzeugt wird, daß das gewählte Wort dem arithmetischen Eingaberegister nach Fig. 2a zugeführt wird, und daß die Bitwählschaltung veranlaßt wird, das gewählte Bit in Abhängigkeit von Bitwählsignalen in den Leitungen i6 bis i9 als Eingangssignal LB dem logischen Prozessor zuzuführen.
Aus der Tabelle VI und Fig. 10 ist ersichtlich, daß die drei-
109816/0600
stelligen Funktionscodesignale L2, L1 und LO sowie das Eingangssignal LB Eingangssignale für mehrere Einrichtungen bilden, und zwar
1. Einrichtungen 428, 429 und 430, die lediglich auf Ladefunktions-Codesignale (1, 1, 1) und das Eingangssignal LB ansprechen, um dem Eingang J oder K ein 1-Signal zuzuführen, wenn LB gleich 1 oder 0 ist,
2. Einrichtungen 423, 429, 430, die nur auf UND-Funktions-Codesignale (1, 0, 1) und das Eingangssignal LB ansprechen, um dem Eingang K ein 1-Signal nur dann zuzuführen, wenn LB gleich 0 ist,
3. Einrichtungen 428, 429 und 430, die nur auf ODER-Funktions-Codesignale (0, 1, 0) ansprechen, um dem Eingang J ein 1-Signal nur dann zuzuführen, wenn LB gleich 1 ist, sowie
4. Einrichtungen 428, 429 und 430, die nur auf Exklusiv-ODER-Funktions-Codesignale (1, 1, 0) ansprechen, um den beiden Eingängen J und K ein 1-Signal nur dann zuzuführen, wenn das Signal LB den Wert 1 hat.
Die genannten Einrichtungen legen an die Eingänge J und K Spannungspegel mit dem Wert 0 an, wenn keiner der genannten Fälle besteht. Daher arbeitet der logische Prozessor 401 völlig ohne eine Rückkopplung seines Ausgangssignals LA, und dieses Signal beeinflußt die Wirkungsweise der unter 1. bis 4. genannten Einrichtungen nicht. Sobald die Operationscodesignale und das Eingangssignal LB in einer beliebigen ihrer verschiedenen 0- und 1-Kombinationen nach der Tabelle VI vorhanden sind, bewirkt der Taktimpuls, der von der UND-Schaltung 432 aus dem Takteingang CP zugeführt wird, lediglich, daß die Kippschaltung 425 getriggert wird oder ungetriggert bleibt, um LA zu veranlassen, denjenigen Zustandswert anzunehmen oder beizubehalten, welcher dem richtigen Ergebnis der Funktion entspricht, welche durch die im rechten Teil der Tabelle VI angegebenen codierten Operationssignale repräsentiert werden.
•09815/0600
V*
Natürlich ist das Signal ELB das gleiche wie das Signal LD, wenn das wahre Signal bzw. das Komplementsignal COUP gleich ist, und es ist gleich dem Komplement von LB, wenn COIIP gleich 1 ist, so daß LB nach Bedarf in seiner wahren Form oder seiner Komplementfonn behandelt wird.
Zwar könnte man im Hinblick auf einige Gesichtspunkte gemäß der Erfindung auch andere und bekannte Formen von akkumulierenden logischen Prozessoren verwenden, doch bietet der in Fig. 10 dargestellte neuartige Prozessor Vorteile, da er keine Rückkopplung benötigt und sich leicht durch dreistellige Funktionscodesignale instruieren läßt.
Wenn eine Boolesche Kette von Operationen gemäß einem als Beispiel gewählten einfachen Ausdruck durchgeführt werden soll, z.B. gemäß dem Ausdruck
X = (111 + ϋΖ)·Ν3 ® N4,
worin N1 das zehnte Bit b9 des Speicherwortes 44 bezeichnet, N2 das achte Bit b7 des Speicherwortes 25 N3 das erste Bit bO des Speicherwortes 61 und N4 das fünfzehnte Bit bi4 des Speicherwortes 35,
ist es möglich, Programmschritte in Ilaschinensprache wie folgt zu schreiben:
Schritt 1
Schritt 2
LD
b10 Adresse 44
(— \
101100
01011 0 1010
Nach der Ausführung ist LA = N1
OR
b8
Adresse 25
01111 1 0100 011001
Nach der Ausführung ist LA = N1 + HZ
Schritt 3
AN
01001
bO
Adresse 61
0000 111101
Nach der Ausführung ist LA = (N1 + ΪΤΖ)·Ν3 80981 5/0600
b14 Adresse 35
Schritt 4 01101 O 1110 100011 Mach der Ausführung ist LA = (N1 + flZ).N3 0 N4
V/ird das Befehlswort für den Schritt 1 in das Befehlsregister 202 gebracht, veranlaßt der Direktdecodierer 209 nach Fig. 2a und 4,daß das Signal BADDR auf Null geht, so daß sich die Gatter 206 nach Fig. 2b schließen, um die Leitungen i6 bis zu maskieren. Die Direktdecodierschaltungen reagieren außerdem auf befehlscodierte Signale in den Leitungen i11 bis i15 (bei dem vorstehenden Schritt 1 auf die Signale 01011), damit die Signale L2, L1 und LO gemäß der Tabelle II die Werte 111 annehmen, und die 0, die in der Leitung i10 des Registers erscheint, macht das Signal COMP zu einer 0. Wenn das MuItiplexgatter 205 nach Fig. 2b sein Eingangssignal OA zu der Adressenschiene 11 überträgt, wird das an der Speicherstelle 44 gespeicherte Wort dem Register AIR bzw. 102 auf eine noch zu erläuternde Weise zugeführt. Wenn die Befehlsregister-Ausgabeleitungen i6 bis i9 den Bitwähler 402 durch die Signalkombination 0110 steuern, wird das Ausgangssignal des Registers 102 an der Stelle b9 zu dem Signal LB. Wenn danach ein Taktimpuls auftritt, wird die logische Antwort LA gleich dem Signal Ii1, bei dem es sich um das elfte Bit des der Speicherstelle 44 entnommenen Wortes handelt. Dies geschieht aus den weiter oben anhand von Fig. 10 und der Tabelle VI erläuterten Gründen.
Auf ähnliche Weise können die als Beispiel gewählten logischen Programmschritte 2, 3 und 4 nacheinander ausgeführt werden, so daß nach dem vierten Schritt das Signal LA das Ergebnis X des als Beispiel gew-ählten Booleschen Ausdrucks darstellt.
109815/0600
Si',
Das Signal LA bleibt unverändert, bis ein weiterer logischer Prozeßschritt durchgeführt wird. Dies hat seinen Grund darin, daß das Steuersignal LAS niemals erscheinen kann, und daß die Kippschaltung 425 nicht getaktet werden kann, solange es sich bei dem decodierten Befehl nicht urn LD, AN, OR oder XR handelt. Jedoch kann das Signal LA zum späteren Gebrauch zwischengespeichert werden; alternativ kann es in einem Hardware-Kippschal fcungsbit des Speichers gespeichert werden, um eine äußere Vorrichtung ein- oder auszuschalten. Noc - wichtiger ist die Tatsache, daß das Signal LA oder sein Komplement LA" benutzt werden kann, um zu bestimmen, ob ein bedingter Defehl tatsächlich durchgeführt wird; hierauf wird nachstehend näher eingegangen.
Um das Signal LA in einem beliebigen gewählten Bit eines gewählten Speicherwortes zu speichern, werden der Bitmanipulationsteil nach Fig. 10 und die Bitsteuereinrichtung 404 sowie die Exklusiv-ODER-Anordnung 106 nach Fig. 2a benutzt. Es sei angenommen, daß ein Befehl SV in das Befehlsregister 202 überführt worden ist, und daß dieser Befehl Codes enthält, die das Signal an der Bitstelle b7 des in der Speicherstelle 14 gespeicherten Wortes abrufen. In der Maschinensprache nimmt der Befehl so, wie er in dem Register 202 erscheint, die Form 10001/0/0111/001110 an. Infolgedessen wird das 16-Bit-Wort W aus der Speicherstelle 14 entnommen und dem arithmetischen Eingaberegister 102 zugeführt, und das Bitsignal aus der Bitstelle b7 wird zu dem Signal LB. Wenn jetzt das Signal LB eine 1 oder eine 0 und das Signal LA eine 1 oder eine 0 sind, stimmt das ursprüngliche Signal aus der Bitstelle b7 des Wortes 14 mit LA überein, und es braucht nicht geändert zu werden. Wenn jedoch das Signal LB eine 0 oder 1 ist und wenn das Signal LA den Wert 1 oder 0 hat, muß das Signal an der Bitstelle b7 des Wortes 14 invertiert v/erden, um es zur Übereinstimmung mit dem logischen Antwortsignal LA zu bringen.
809815/0600
ORIGINAL INSPECTED
- ^ - ? 'M 3 0 6 0
Bedenkt man, daß gemäß der Tabelle II der logische Befehl SV dazu führt, daß die Operationscodesignale L1 und LO die V/er te 0 und 1 annehmen, wird gemäß Fig. 10 die UND-Schaltung 440 gesperrt, während eine zweite UND-Schaltung 441 freigegeben wird, wenn ein Befehl SV verarbeitet wird. Somit wird das Signal a eine 0 oder eine 1 sein, wenn das logische Antwortsignal LA den Wert 0 oder 1 hat. Eine ODER-Schaltung 442 leitet das Signal a weiter, so daß es zu dem Signal c wird, bei dem es sich um ein Eingangssignal einer Exklusiv-ODER-Schaltung 444 handelt, der als zweites Eingangssignal das logische Einzelbitsignal LB zugeführt wird. Somit hat das Signal d nur dann den Wert 1, wenn die Signale LB und LA ungleich sind, d.h. wenn eines von ihnen eine 1 und das andere eine 0 ist. Das Signal d durchläuft eine ODER-Schaltung 445, so daß es zu dem Signal f wird, das einer UND-Schaltung 446 zugeführt wird, deren Ausgangssignal das Bitsteuersignal BC ist. Das Signal BC kann nur dann den Wert 1 haben, wenn ein Steuersignal BTLOG aus dem Mikroprogramm-Festwertspeicher bzw. dem Felddecodierer 284 für Verschiedenes nach Fig. 9 dann den Pegel 1 hat; diese Bedingung wird während der Phase 3 einer SV-Operation erfüllt. Wenn ein Zwischenspeicherungsbefehl SV ausgeführt werden soll, wird somit das gewählte Bit des gewählten Wortes als Signal LB eingebracht, und das Bitsteuersignal BC wird nur dann auf den Wert 1 gebracht, wenn die Signale LB und LA ungleich sind, was bedeutet, daß das gewählte Bit des gewählten Wortes umgestellt werden muß, um es in Übereinstimmung mit dem dann vorhandenen Wert des Signals LA zu bringen.
Gemäß Fig. 2a wird das Bitsteuersignal BC als Eingangssignal der Steuerschaltung404 für das gewählte Bit zugeführt, zu der nur eine Eingangsleitung und 16 Ausgangsleitungen für das Signal H gehören. Wie erwähnt, läßt die Bitsteuerschaltung 404 normalerweise ein 1-Signal in allen 16 Ausgangsleitungen H erscheinen, jedoch dann nicht, wenn das Bitsteuersignal BC
809815/0600
-6ο- /743UbU
eine 1 ist; dann wird das entsprechend Bit des Signals H, das durch den Signalcode in den Leitungen i6 bis i9 des Registers 202 bestimmt wird, in ein O-Signal verwandelt. Somit besteht das Signal H entweder aus 16 1-Bits, oder es enthält 15 1-Bits und ein 0-3it, wenn BC den Wert 0 hat, und das betreffende Bit mit dem Wert 0 ist das gewählte Bit, das bei dem hier behandelten Beispiel aus der Bitstelle b7 des Registers 102 stammt.
Erinnert man sich, daß das gewählte Wort W, und zwar bei dem Beispiel das Wort 14 aus dem Speicher, immer nocu in dem arithmetischen Eingaberegister 102 vorhanden ist, und nimmt man für den Augenblick an, daß die Steuerschaltung das Signal B der Einheit ALU nach Fig. 2a zuführt, ist das Signal F das Einerkomplement des gewählten Wortes, d.h. F=W. Das Komplementsignal W bildet ein Mehrbit-Eingangssignal für die 16-Bit-Exklusiv-ODER-Anordnung 106, der auch das 16-Bit-Eingangssignal H zugeführt wird, bei dem das gewählte Bit gemäß dem Beispiel an der Bitstelle b7 den Wert 0 hat. Daher ist das Ausgangesignal der 16-Bit-Exklusiv-ODER-Anordnung 106 ein 16-Bit-Signal ANS1, bei dem es sich um das ursprüngliche Wort handelt, das dem Speicher entnommen wurde, d.h. W ist zu V/ rückinvertiert worden; eine Ausnahme besteht darin, daß das gewählte Bit gegenüber seinem ursprünglichen Wert invertiert und durch die Exklusiv-ODER-Schaltung in den entgegengesetzten Wert verwandelt wird, wenn das gewählte Bitsignal nicht ursprünglich mit dem Signal LA übereinstimmte. Wenn bei dem hier behandelten Beispiel das Signal BC eine 1 ist, enthält das Signal H aus der Bitsteuerschaltung 4O4 nur Einsen, doch ist an der Bitstelle b7 eine 0 vorhanden. Daher ist das Signal ANS1 gleich dem Signal F (das W entspricht),welches invertiert worden ist, jedoch abgesehen davon, daß bei dem Signal ANS1 das Signal an der Bitstelle b7 nicht rückinvertiert wird und in dem Signal ANS' als das Komplement des b7-Signals des ursprünglichen Wortes W erscheint, das im arithmetischen Register 102 festgehalten wird.
80981 5/0600
-69- 2743U6Ü
Nachdem das Signal ANS' auf diese Weise gebildet worden ist, wobei das gewählte Bit erforderlichenfalls umgestellt worden ist, um mit der logischen Antwort LA übereinzustimmen, kann das Gatter Gr durch ein Signal EOR freigegeben werden, um das Signal ANS1 der Systemschiene 10 zuzuführen. Nachdem dies geschehen ist, kann dieser Satz von Signalen im Speicher an der ursprünglichen V/ortstelle 14 gespeichert werden.Bei diesem Speicherzustand stimmt der Wert an der Bitstelle b7 mit dem Signal LA überein, das nach einer oder mehreren logischen Verarbeitungsoperationen des Prozessors 401 gebildet wird.
Betrachtet man diese Erläuterung anhand eines speziellen Beispiels bezüglich der Speicherwortstelle 14 und der zugehörigen Bitstelle b7 sowie die fünfte Zeile der Tabelle VI, wird man erkennen, daß jedes Wort aus dem Speicher (an den ersten 64 Speicherstellen 0 bis 63) mit Hilfe eines Befehls SV in das arithmetische Eingaberegister 102 gebracht werden kann, daß das gewählte Bit dieses Wortes, durch den Befehl definiert ist, der als Signal LB dem logischen Prozessor 401 zugeführt wird, daß das Bitsteuersignal BC gebildet wird, um das Signal H für die Exklusiv-ODER-Anordnung 106 zu erzeugen, und daß die Anordnung 106 dann ein Signal ANS1 liefert, welches das ursprüngliche Wort darstellt, wobei das gewählte Bit den Wert 1 oder 0 hat, der mit der logischen Antwort LA übereinstimmt. Hierzu ist zu bemerken, daß von den Teilen des arithmetischen Grundsystems Gebrauch gemacht wird, d.h. dem Eingaberegister 102, der arithmetischen logischen Einheit ALU, dem Befehlsadressenregister 202 sowie den meisten Teilen der Steuereinheit. Das Bitsteuersignal BC nimmt den Wert 1 an, und das gewählte Bit des gewählten Wortes wird nur dann umgestellt, wenn dies erforderlich ist, um das gewählte Bitsignal so zu verändern, daß es mit dem dann vorhandenen Wert des Signals LA übereinstimmt.
Es ist möglich, verschiedene Signale ohne Rücksicht darauf,
809815/0600
ob sie durch äußere Schalter, äußere Kippschaltungen oder
den Zustand von Speicherkernen dargestellt werden, nacheinander einzuführen und nach logischen Verarbeitungsbefehlen mit Hilfe einer verketteten Folge von Operationen entsprechend
der Booleschen Logik so zu verarbeiten, daß man eine endgültige logische Antwort LA erhält. Nachdem eine solche Antwort gebildet und verwendet oder gespeichert worden ist, kann mit Hilfe einer anderen Booleschen Folge eine andere Antwort erzeugt werden. Ss sei z.B. angenommen, daß das Ergebnis eines solchen Booleschen Ausdrucks bestimmt, ob bei einer zu
steuernden Maschine ein Magnetventil ein- oder ausgeschaltet werden soll, nachdem das Signal LA abschließend gebildet worden ist, kann man ein Speicherwort, zu dem eine Steuerkippschaltung für den Elektromagneten gehört, in das arithmetische Register 102 einbringen. Das gewählte Bit, das einer gewählten Kippschaltung entsnricht, z.B. das Ausgangssignal der Kippschaltung FFy des Wortes V/40 nach Fig. 12, wird dann so manipuliert, daß es mit der endgültigen logischen Antwort LA üuereinstimmt, und das Signal ANS1 wird dann erneut der gleichen Speicherstelle eingegeben, die hier in Fig. 12 als Wort W40
dargestellt ist. Hat LA den V/ert 1 oder 0, wird die Kippschaltung FFy gesetzt oder zurückgesetzt, und das zur Steuerung
dienende Magnetventil wird ein- bzw. abgeschaltet.
Es sind weitere Bitmanipulationsbefehle möglich, und zwar die Befehle IV, ST, RS. Der Befehl IV bewirkt, daß das gewählte Bit des gewählten Wortes invertiert wird; der Befehl ST bewirkt, daß das gewählte Bit eines gewählten Wortes auf den
Wert 1 gebracht wird oder diesen Wert beibehält, und der Befehl RS bewirkt, daß das gewählte Bit des gewählten Wortes
auf den Wert 0 zurückgesetzt oder im zurückgesetzten Zustand belassen wird.
Bezüglich des Befehls ST, der gemäß den Tabellen II und IV
dazu führt, daß die Signale L1, LO und ii4 die Werte 1, 0, 1
809815/0600
9t
-7*- 2743Ü60
annehmen, ist ersichtlich, daß das UND-Gatter 441 nach Fig. 10 gesperrt wird, so daß das Signal a den Wert 0 haben muß. Andererseits haben die Signale L1 und ii4 beide den Wert 1, so daß gemäß Fig. 10 das Signal b den Wert 1 hat und die Schaltung 442 durchläuft, so daß das Signal c den V/ert 1 erhält. Wenn jetzt das Signal LB den Wert 0 oder 1 hat, läßt die Exklusiv-ODER-Schaltung 444 an ihrem Ausgang das Signal d mit dem V/ert 1 oder 0 erscheinen; das Signal d erscheint als das Signal f, und wenn das Freigabesignal BTLOG auftritt, nimmt das Ausgangssignal BC den Wert 1 oder 0 an. Wenn, wie schon erläutert, ein gewähltes Wort in das arithmetische Register 102 gebracht und das gewählte Bit als Eingangssignal LB dem logischen Prozessor 401 zugeführt wird, erscheint das gewählte Wort in invertierter Form am Eingang F der 16-Bit-Exklusiv-ODER-Anordnung 106. Wenn das gewählte Bitsignal nicht eine 1 ist, wird das Bitsteuersignal BC zu einer 1, und nach der Verarbeitung durch die Exklusiv-ODER-Anordnung ist das entsprechen*Bit in dem Signal ANS1 invertiert, d.h. es ist aus einer 0 in eine 1 verwandelt worden. Diese Operation ist aus der siebten Zeile der Tabelle VI ersichtlich, die bestätigt, daß der Befehl ST stets dazu führt, daß das gewählte Bit auf den Wert 1 gebracht wird, und zwar entweder durch Invertieren seines ursprünglichen Wertes 0 oder dadurch, daß der vorher vorhandene Wert 1 erhalten bleibt.
Im folgenden wird auf den Bitmanipulationsbefehl RS in der achten Zeile der Tabelle VI eingegangen. Dieser Befehl führt dazu, daß die Signale L1, LO und ii4 die Werte 1, 0, 0 annehmen. Daher werden die Gatter 441 und 440 beide gesperrt, so daß das Signal c auf dem Wert 0 gehalten wird. Hat das gewählte logische Bitsignal LB den V/ert 0 oder 1, hat das Ausgangssignal d den V/ert 0 und das Signal f den Wert 1. Somit hat das Signal BC den V/ert 1, wenn das Steuersignal BTLOG erscheint, jedoch nur dann, wenn das gewählte, durch das Sig-
809815/0600
- 7^ - 2743U6Ü
nal LB repräsentierte Bit den Wert 1 hat. Wird das Signal BC zu einer 1, und erscheint gemäß Fig. 2a das gewählte Wort erneut bei AIiS1, wird das gewählte Bit von seinem ursprünglichen Wert 1 auf einen neuen Wert 0 umgestellt, bzw. sein ursprünglicher Wert 0 bleibt erhalten. Somit führt der Rücksetzbefehl RS stets dazu, daß das gewählte Bit eines gewählten Wortes auf 0 umgestellt oder auf dem Wert 0 belassen wird. Natürlich kann das Signal ANS' danach im Systemspeicher erneut an der ursprünglichen Stelle gespeichert werden.
Der Invertierbefehl IV in der sechsten Zeile der Tabelle VI führt dazu, daß die Signale L1, LO und i12 die Werte 0, 1, 1 annehmen. Werden diese Steuersignale der Schaltung nach Fig. 10 zugeführt, wird eine UND-Schaltung 448 voll qualifiziert, so daß an ihrem Ausgang ein Signal e mit dem Wert 1 erscheint, woraufhin das Ausgangssignal f der ODER-Schaltung 445 ohne Rücksicht darauf, ob das Signal d eine 0 oder eine 1 ist, den Wert 1 beibehält. Somit führt der Befehl IV stets dazu, daß die Signale f den Wert 1 haben und das Signal BC den Wert 1 annimmt, sobald das Steuersignal BTLOG erscheint. Da ein Invertierbefehl stets ein Signal BC mit dem Wert 1 erzeugt, erscheint das gewählte Bit des gewählten Wortes bei ANS1 stets in seiner gegenüber dem ursprünglichen Wert invertierten Form. Jedes Wort, das aus einer Speicherstelle in das arithmetische Register 102 überführt wird, wenn ein Invertierbefehl zur Wirkung kommt, erscheint daher bei ANS1, wobei das durch den Befehl bezeichnete gewählte Bit invertiert wird. Danach kann das Signal ANS1 im Systemspeicher erneut an der ursprünglichen Speicherstelle gespeichert werden.
Eine invertierte Form des Wortes erscheint als Eingangssignal F für die 16-Bit-Exklusiv-ODER-Anordnung 106. Wenn es erforderlich ist, das gewählte Bit dieses Wortes zu verändern, d.h. entsprechend dem jeweiligen Befehl eine Zwischenspeicherung, Invertierung, ein Setzen oder ein Rücksetzen durchzuführen,
809815/0600
-75- 2743Ü6Ü
nimmt das Bitsteuersignal BC den Wert 1 an, so daß das entsprechende gewählte Bit des Signals H den Wert O erhält, während alle übrigen Bits des Signals H den Wert 1 haben, so daß das Signal ANS1 das ursprüngliche Wort ist, bei dem das gewählte Bit invertiert worden ist. Hat dagegen das gewählte Bit als Folge eines der Befehle SV, ST und RS den richtigen Wert, behält das Bitstuersignal BC den Wert 0 bei, und das Signal AUS1 ist einfach das ursprüngliche Wort, bei dem das gewählte Bit seinen ursprünglichen Wert beibehält.
12. Arbeitsweise des Systems - Allgemeines A. Die Abrufoperation (Phase 0)
Wenn die Ausführung eines bestimmten Befehls abgeschlossen ist, und zwar gemäß Fig. 6 stets am Ende eines Intervalls der Phase 3, das mit der Hinterflanke eines Taktimpulses endet, ist der Programmzähler 226 vorher weitergeschaltet worden, so daß er numerisch die nächste Befehlsadresse innerhalb eines Programms mit mehreren Schritten signalisiert. Nimmt man an, daß in dem Augenblick, in dem eine bestimmte Phase 3 endet, z.B. im Zeitpunkt ti nach Fig. 6, eine Phase 0 beginnt, repräsentiert das AusgangsSignaIs des Programmzählers eine bestimmte dezimale Adressennummer xxx. Wenn das Signal PHO erscheint, das einen Abrufcode für die Leitung Xa des Mikroprogramm-Festwertspeichers bildet, erzeugen die Decodierer FD1 bis FD5 gemäß der ersten Zeile der Tabelle III Steuersignale PC, IiEM, A, AIR und IPC. Gemäß der graphischen Darstellung in Fig. 6 haben diese Steuersignale während des Intervalls zwischen den Zeitpunkten ti und t2 jeweils den Wert 1. Diese Steuersignale werden dem Multiplexgatter 205t dem Speicher 300 und dem Gatter Gmr, der Einheit ALU, der UND-Schaltung 203 und der ODER-Schaltung 290 nach Fig. 9 während des gesamten Intervalls der Phase 0 zugeführt. Das Signal IPC erzeugt das Signal INPC, das gemäß Fig. 2b der UND-Schaltung 230 zugeführt wird. Ein Taktimpuls 262a erscheint nur während des letz-
809815/0600
9*
-1N- ? 7 U 3 ί.' 6 U
ten Teils des Intervalls der Phase O und wird somit durch die UND-Schaltungen 203 und 230 weitergeleitet.
Das Signal PC veranlaßt das Multiplexgatter 205, das Ausgangssignal PA des Programmzählers 226 der Adressenschiene 11 zuzuführen, so daß das Befehlswort an der betreffenden Speicheradresse infolge des Lesesignals !EH den Speicherausgabeleitungen und über das Gatter Gmr der Systemschiene 10 zugeführt wird. Die Zugriffs zeit des Speichers beträgt etwa 200 ns bei den bekannten Speichern, so daß das gewählte Befehlswort der Schiene rechtzeitig zugeführt wird, bevor nahe dem Ende des Tntervalls der Phase 0 der Taktimpuls 262a erscheint.
Erscheint jedoch der Taktimpuls 262a, aktiviert er die UND-Schaltung 203, um einen Voreinstell-Freigabeimpuls IAR' zu erzeugen, der das Defehlsadressenregister 202 während des Vorhandenseins des Taktimpulses 262a veranlaßt, das Befehlswort zu speichern, das dann aus dem .Speicher zu der Schiene 10 übertragen wird. Da das UND-Gatter 230 durch das Signal INPC teilweise freigegeben ist, läßt der Taktimpuls 262a außerdem einen entsprechenden positiven Impuls HiC am Weiterschalteingang des Programmzählers 226 erscheinen, der dann auf die negativ gerichtete Hinterflanke des Impulses INC reagiert, um sein Zählergebnis um eine Einheit von xxx auf xxx + 1 zu erhöhen.
In dem Augenblick jedoch, in dem der Programmzähler 226 weitergeschaltet wird, ersetzt der Phasensequenzgenerator 212 das Signal PHO durch das Signal PH2 in denjenigen Fällen, in denen der soeben zum Befehlsregister 202 abgerufene Befehl einen Operanden erfordert, und der Direktdecodierer 209 wird veranlaßt, das Signal GETOP zu erzeugen.
809815/0600
D. Zuführen des Operanden zum arithmetischen Register (Phase 2)
Sobald das Signal PII2 erscheint, wird der Eingangscode gemäß dem Teil b der Tabelle III, der dem Mikroprogramm-Festwertspeicher zugeführt wird, von dem Code nach der ersten Zeile der Tabelle III auf den Code nach der zweiten Zeile umgestellt. Daher v/erden die Feidde codierer-Aus gangs signale zu einer Kombination der Signale EA, MEM, A und AIR gemacht. Das während der Phase 2 erscheinende Signal EA ist im unteren Teil von Fig. 6 dargestellt; das Signal MEM behält gemäß Fig. 6 den Wert 1 bei. Das während der Phase 2 vorhandene Signal AIR ist ebenfalls in Fig. 6 dargestellt.
In Abhängigkeit von dem Signal EA wird das Multiplexgatter 205 so konditioniert, daß es seine EingangsSignale OA, die den Adressenausgabeleitungen iO bis i9 des Registers 202 entnommen werden, der Adressenschiene 11 zuführt, und das Signal MEM konditioniert den Speicher 300 und das Gatter Gmr derart, daß der Inhalt, d.h. der Operand, der Systemschiene 10 von der Adressenstelle aus eingegeben wird. Auf diese Weise wird das durch ein Befehlswort abgerufene Operandenwort dem Speicher entnommen und der Systemschiene zugeführt.
Das während der Phase 2 erscheinende Signal AIR bewirkt eine teilweise Freigabe der UND-Schaltung 101, und wenn der Taktimpuls 262b nahe dem Ende des Intervalls der Phase 2 erscheint, wird diese Schaltung vollständig aktiviert, um einen Impuls AIR· zu erzeugen, der während des Vorhandenseins des Taktimpulses 262b das arithmetische Eingaberegister 102 veranlaßt, die dann in der Schiene vorhandenen Operandensignale zu empfangen und zu speichern. Somit umfaßt eine Operandenabrufoperation während einer Phase 2 Maßnahmen, um aus dem Speicher das jeweilige Datenwort zu entnehmen, welches durch die Operandenadresse identifiziert wird, welche sich in dem Befehlswort befindet, das dann im Befehlsregister 202 enthalten ist.
809815/0600
9$
- 7^ - ^ 7 4 3 O 5 O
Es sei bemerkt, daß das Befehlssignal A, das der Einheit ALU während einer Abrufphase O oder einer Operandenabrufρhase 2 zugeführt wird, lediglich bewirkt, daß der Inhalt des Akkumulators über die Einheit ALU dem Ausgang F zugeführt wird. Zwar ist dies bei dem hier behandelten vereinfachten System ohne besondere Bedeutung, doch ist es in der Praxis möglich, den Inhalt des Akkumulators während der Phasen 0 und 2 dadurch zu überwachen, daß das Signal F als Statuswort behandelt wird. Bei dem vorliegenden Beispiel kann der Befehl A, der der Einheit ALU während der Phasen 0 und 2 zugeführt wird, ignoriert werden.
C. Ausführung des Befehls (Phase 3)
Gleichzeitig mit der Hinterflanke des Taktimpulses 262b ersetzt der Phasensequenzgenerator 212 das Signal PH2 durch das Signal PH3. Daher wird der Kartenbildungs-Festwertspeicher 210 nach Fig. 8 aktiviert, so daß er codierte Eingangssignale dem Mikroprogramm-Festwertspeicher zuführt, wobei die Kombination dieser Eingangssignale eindeutig den jeweiligen Befehl darstellt, der durch die fünf oberen Bitsignale bezeichnet wird, welche aufgrund eines dann in dem Register 202 gespeicherten Befehlswortes in den Leitungen i11 bis erscheinen. Somit entspricht während jeder Ausführungsphase 3 die Kombination der Ausgangssignale der Felddecodierer nach Fig. 9 denjenigen decodierten AusgangsSignalen, die in den Teilen c bis h der Tabelle III dargestellt sind, und dies gilt für jeden der verschiedenen möglichen Befehle. Jede bestimmte Kombination von auf diese Weise erzeugten Steuersignalen führt zu einem anderen Ergebnis.
Um ein Beispiel zu geben, ist die Ausführung des Befehls LDA während der Phase 3 im unteren Teil von Fig. 6 graphisch dargestellt. Gemäß der Tabelle III werden während der Phase 3 einer LDA-Operationsfolge an den FeIddecodiererausgangen die Steuersignale B und ACC erzeugt. Daher veranlaßt das der Ein-
109815/0600
heit ALU zugeführte Signal B diese Einheit, Eingangssignale B, welche das Datenwort repräsentieren, das vorher als Operand dem Eingaberegister 102 zugeführt wurde, gemäß Fig. 6 während des gesamten Intervalls der Phase 3 zwischen den Zeitpunkten t3 und t4 dem Ausgang F zuzuführen. Außerdem bewirkt das Signal ACC, daß die UND-Schaltung 103 teilweise freigegeben wird, so daß beim Erscheinen eines Taktimpulses 262c am Ende des Intervalls der Phase 3 ein entsprechender Impuls ACC entsprechend der untersten Wellenform in Fig. 6 dem Speicherfreigabeeingang des Akkumulators 104 zugeführt wird. Der Akkumulator speichert und signalisiert jetzt bei ANS das Operanden-Datenwort, das vorher dem Speicher entnommen und während der Phase 2 in dem arithmetischen Eingaberegister 102 gespeichert worden ist. Somit bewirkt ein Akkumulatorladebefehl LDA, daß ein bestimmter Operand dem Speicher entnommen, dem Eingaberegister 102 zugeführt und dann während der Phase 3 in den Akkumulator 104 überführt wird, woraufhin das Operandenwort bei ANS erscheint. Fig. 6 veranschaulicht durch das Beispiel für den Befehl LDA die sich aus drei Schritten zusammensetzende Operation, die auf das Abrufen eines beliebigen Befehls folgt, der die Verwendung eines Operanden erfordert; diese Befehle sind in der Tabelle III jeweils mit einem Stern bezeichnet.
Bei den Befehlen STA, CLA, SAR, SAL und JMP, bei denen kein Operand benutzt zu werden braucht, tritt das Signal GETOP während der Abrufphase 0 nicht auf. Daher erzeugt gemäß Fig. 7 der Phasensequenzgenerator kein Signal PH2, und die miteinander abwechselnden Intervalle der Phasen 0 und 3 werden durch die Signale PHO und PH3 abgemessen.
Unter diesen Umständen ist die Arbeitsweise während des Intervalls der Abrufphase 0 genau die gleiche, wie es weiter oben anhand von Fig. 6 beschrieben wurde, und tatsächlich spielt sich bei jedem Befehl der Abrufvorgang in der gleichen Weise ab. Da jedoch gemäß Fig. 7 das Signal PH2 nicht auftritt und daher das Signal PH3 unmittelbar auf das Signal PHO folgt,
809815/0600
-7»- 27A3Ü60
läuft eine Ausführungsphase 3 sofort ab, nachdem ein Befehlswort in das Befehlsadressenregister 202 überführt worden ist. Die Signale in den Leitungen i11 bis H 5 aus dem abgerufenen Befehlswort veranlassen somit den Festwertspeicher 210, dem Mikroprogramm-Festwertspeicher 220 codierte Eingangssignale unmittelbar nach der Phase 0 zuzuführen, und die Felddecodierer erzeugen die erforderliche Kombination von Steuersignalen, um die Operationen durchzuführen, welche gemäß dem im Register 202 enthaltenen Befehlswort erforderlich sind.
In Fig. 7 sind zwei Beispiele für Befehle dargestellt, bei denen keine Operanden verwendet werden. Hierbei sei insbesondere auf das dargestellte Intervall der Ausführungsphase 3 verwiesen. Nimmt man an, daß der Defehl STA während der Phase 0 in das Register 202 abgerufen worden ist, erzeugen in dem Zeitpunkt t2 nach Fig. 6 beim Erscheinen des Signals PH3 die Mikroprogramm-Felddecodierer Aus gangs signale EA, ATB und 5T14, wie es in der Tabelle III angegeben und in t'ig. 7 dargestellt ist. Das Signal EA veranlaßt das Multiplexgatter 205, die die Adresse darstellenden Bits des Befehlswortes, die dann in den Leitungen iO bis i9 erscheinen, der Adressenschiene 11 zuzuführen, um das Speichersystem 300 so zu konditionieren, daß es Signale an der gewünschten Speicherstelle aufnimmt. Das Signal ATB wird dem Gatter Gatb zugeführt, um es zu öffnen, so daß das Akkumulatorausgangssignal ANS der Schiene 10 zugeführt wird. Das Signal BTM bewirkt eine teilweise Freigabe der Speichersteuer-UND-Schaltung 303, und wenn letzterer nahe dem Ende des Intervalls PH3 ein Taktimpuls 262c zugeführt wird, wird ein Impuls BTMf erzeugt, der den Systemspeicher freigibt, so daß an der adressierten Speicherstelle die Signale gespeichert werden, die der Schiene dann von dem Akkumulator 104 aus zugeführt werden. Somit bewirkt ein Akkumulatorspeicherbefehl STA, daß das dann im Akkumulator vorhandene Signal ANS, das möglicherweise vorher als Ergebnis
809815/0600
mehrerer verketteter arithmetischer Rechenvorgänge gebildet worden ist, dem Systemspeicher an der bezeichneten Stelle eingegeben wird.
Gemäß Fig. 7 bewirkt der Phasensequenzgenerator 212 nach der Beendigung des Intervalls der Phase 3 im Zeitpunkt t2, daß das Signal PHO auftritt und das nächste Intervall einer Phase 0 abgemessen wird, so daß das nächste Befehlswort aus der Speicheradresse abgerufen wird, die durch den Programmzähler 226 benannt wird, welcher vorher während des Endabschnitts des vorausgehenden Intervalls einer Phase 0 weitergeschaltet worden ist.
Ferner zeigt Fig. 7 die Operationen, die sich aus einem Befehl JMP ergeben. V/enn während einer Phase 0 der Befehl JMP j η das Befehlsregister 202 abgerufen wird, wird kein Signal GETOP erzeugt, und der Phasensequenzgenerator geht sofort auf die Phase 3 über. Die unteren Bitstellen eines Befehlswortes JI-IP bezeichnen die Adresse eines anderen Befehlswortes, das als nächstes verwendet werden soll, und das nicht in numerischer Folge auf die Adresse PA folgt, welche dann durch den Programmzähler 226 gemeldet wird. Wenn der in den Leitungen i11 bis 115 erscheinende Code JMP den Festwertspeicher 210 veranlaßt, dem Mikroprogramm-Festwertspeicher 220 entsprechende Eingangssignale zuzuführen, erzeugen die Felddecodierer gemäß der Tabelle III und dem unteren Teil von Fig. 7 Ausgabesteuersignale EA, ADTR und PPC. Das Signal EA konditioniert das Multiplexgatter 205» so daß es zu der Adressenschiene 11 die Signale aus den Leitungen iO bis i9 überträgt, doch reagiert der Systemspeicher 300 nicht, da ihm weder ein Signal PTM noch ein Signal MEM zugeführt wird. Das Signal ADTR öffnet das Gatter Gad, so daß der dann in der Schiene vorhandene numerische Adressenwert zu der Systemschiene 10 übertragen wird. Das Signal PPC bewirkt eine teilweise Freigabe der UND-Schaltung 231, der während des Endabschnitts des Inter-
809815/0600
JOS
valls der Phase 3 gemäß Fig. 7 außerdem ein Taktimpuls 262c zugeführt wird. Das Ausgangesignal der Schaltung 231 ist ein Impuls PPC1, der es ermöglicht, den Programmzähler 226 auf den numerischen Zählzustand voreinzustellen, der durch die dann in der Schiene 10 vorhandenen Signale repräsentiert wird, um numerisch die Adressenstelle des nächsten zu verwendenden Befehls darzustellen. Wenn sich der Programmzähler z.B. im Zustand 126 befände, so daß er beim normalen Betrieb danach veranlassen würde, daß er der Speicherstelle 126 ein Befehlswort entnimmt, kann der Befehl JMP den Programmzähler auf das Zählergebnis 285 oder 63 voreinstellen, so daß dann, wenn das nächste Intervall einer Phase 0 beginnt, ein Befehlswort verwendet wird, das in der Speicherstelle 285 oder 63 erscheint.
Aus der vorstehenden Beschreibung ist ersichtlich, daß das erfindungsgemäße Rechnersystem auf die verschiedensten Befehle anspricht, von denen nur einige wenige behandelt worden sind, von denen einige die Verwendung eines dem Speicher entnommenen Operanden bedingen, und von denen wieder andere direkt ausgeführt werden, ohne daß ein Operand benötigt wird. Die konventionellen oder grundsätzlichen arithmetischen Befehle werden in einer Folge von programmierten Schritten verwendet, wobei ggf. Sprünge eingeschaltet werden, und zwar auf bekannte Weise, um Antworten auf einzelne oder verkettete arithmetische Operationen zu erzeugen, wobei diese Antworten als Signale ANS aus dem Akkumulator ΪΟΙ* erscheinen und sich dann an einer beliebigen gewünschten Speicherstelle mit Hilfe der Durchführung eines Akkumulatorspeicherbefehls STA speichern lassen.
D. Wirkung spezieller logischer Befehle
Die speziellen logischen Befehle werden allgemein entsprechend der Folge ausgeführt, die vorstehend bezüglich der Befehle beschrieben ist, bei denen ein Operandbenutzt wird, doch führen diese Befehle nicht zu arithmetischen Rechenvorgängen. Vielmehr
809815/0600
sot
führen sie zu einer Verarbeitung nach der Booleschen Logik bzw. zu einer Bitmanipulation in dem logischen Prozessor 401, wobei als ein Eingangssignal LB das gewählte Bit eines gewählten Wortes verwendet wird, die beide durch ein in das Befehlsregister 202 abgerufenes spezielles Befehlswort bezeichnet werden.
1. Logische Prozeßbefehle
Wie bereits kurz erläutert, geht immer dann, wenn einer der vier logischen Prozeßbefehle aus den Zeilen 12-15 der Tabelle III in das Befehlsregister 202 abgerufen wird, das Signal BADDR aus dem Wert 1 in den Wert 0 über, um die Maskierungsgatter 206 zu sperren. Außerdem erscheint das Signal GETOP augenblicklich, wenn während des Intervalls einer Phase 0 dem Register 202 ein spezielles Befehlswort eingegeben wird. Wird einer dieser logischen Prozeßbefehle abgerufen, durchläuft somit das System eine Phase 2, und ein gewähltes Wort, das den Signalen in den Leitungen iO bis i5 entspricht, wird dem arithmetischen Eingaberegister 102 zugeführt. Die Signale aus den Leitungen i6 bis i9 konditionieren dann den Bitwähler 402 derart, daß das gewählte Bitsignal des gewählten Wortes bei dem logischen Prozessor 401 als Eingangssignal LB erscheint. Außerdem führt die direkte Decodierung der Signale aus den Leitungen i10 bis i15, die sich aus dem abgerufenen Befehlswort ergeben, zur Erzeugung entsprechender codierter Steuersignale L2, L1, LO, COMP, 112 und i14. Diese Signale bestimmen die jeweilige Funktion, die der logische Prozessor 401 unter Verwendung des Einzelbit-Eingangssignals LB ausführt.
Nachdem die Phase 2 in Abhängigkeit von einem logischen Prozeßbefehl abgeschlossen ist, und wenn das Intervall einer Phase 3 beginnt, führt der Festwertspeicher 210 gemäß der Tabelle III dem Mikroprogramm-Festwertspeicher 220 den Eingangscode 1100 zu, und die zugehörigen Felddecodierer erzeugen
•09816/06ÖO
nur das logische Steuersignal LAS (Speichern der logischen Antwort). Wie erwähnt, bewirkt das Steuersignal LAS eine teilweise Konditionierung der UND-Schaltung 432 nach Fig. 10, und wenn nahe dem Ende des Intervalls der Phase 3 der Taktimpuls erscheint, wird die Kippschaltung 425 betätigt, um das Ergebnis der bezüglich des Eingangssignals LB befohlenen logischen Funktion zu speichern. Sonit wird das Signal LA in denjenigen Zustand gebracht bzw. in demjenigen Zustand belassen, bei welchem es die Antwort bzw. das Ergebnis der ausgeführten logischen Prozeßfunktion LD, AN, OR oder XR bildet. Zv/ar können natürlich verschiedene logische Spannungskombinationen in den Steuerleitungen L2, L1 und LO erscheinen, wenn gewöhnliche arithmetische Befehle verarbeitet werden, doch erscheint unter diesen Bedingungen das Signal LAS nicht, so daß die Kippschaltung 425 nach Fig. 10 nicht getaktet wird und daß sie nicht in Abhängigkeit von an ihren Eingängen J und K erscheinenden Spannungspegeln umgestellt wird.
2. Bitmanipulationsbefehle
Wird irgendeiner der logischen Bitmanipulationsbefehle SV, IV, ST und RS während einer Phase 0 der beschriebenen Art in das Befehlsregister 202 abgerufen, kehrt das Signal BADDR auf den Wert 0 zurück, um die Maskierungsgatter 206 zu sperren, so daß das Eingangssignal OA für das Multiplexgatter 205 durch die dann in den Leitungen i0 bis i5 erscheinenden Befehlswortsignale gebildet wird. Während des Intervalls der Phase 2 wird daher das gewählte Wort aus dem Speicher in das arithmetische Eingaberegister 102 überführt. Der durch die Signale aus den Leitungen i6 bis i9 gesteuerte Bitwähler 412 bewirkt, daß das gewählte Bit des gewählten Wortes als Eingangssignal LB für den logischen Prozessor 401 erscheint. Ferner veranlassen die in den Leitungen i10 bis i15 erscheinenden Signale des logischen Befehlswortes den Direktdecodierer 209, dem logischen Prozessor Funktionsbezeichnungssignale
109815/060Ö
L1, LO, i12 und ii4 zuzuführen. Dies führt dazu, daß die Anordnung nacia Fig. 10 ein Signal f erzeugt, das bestimmt, ob das Signal BC den Wert 1 hat oder nicht, wenn das Gatter 446 später durch ein .Steuersignal BTLOG freigegeben wird.
Während der Phase 3 der Ausführung eines logischen Bitmanipulationsbefehls führt der Festwertspeicher 210 die Eingangssignale 1011 dem Mikroprogramm-Festwertspeicher 220 zu, und die zugehörigen De codierer FD1 bis FD5 erzeugen gemäß der Tabelle III die Steuersignale EA, EOR, 5, BTII und BTLOG. In Abhängigkeit von dem Signal EA wird das Multiplexgatter 205 so konditioniert, daß es das Signal OA zu der Adressenschiene 11 gelangen läßt. Daher bezeichnen die Speicheradressensignale die gleiche Speicherstelle, aus der das gewählte Wort während der vorausgehenden Phase 2 ausgelesen wurde. Das Steuersignal E veranlaßt die Einheit ALU, das Ausgangssignal F zum Komplement des Eingangssignals B zu machen, wobei letzteres das gewählte Wort ist, das während der vorausgehenden Phase 2 aus dem Speicher in das Eingaberegister überführt wurde. Das Signal BTLOG gibt gemäß Fig. 10 das Gatter 446 frei, um das Steuersignal BC zu einer 0 oder einer 1 zu machen, was sich, wie weiter oben erläutert, nach dem Wert des Signals f richtet, das durch die Art der befohlenen Bitmanipulationsfunktion und den Wert des EingangssignalsLB bestimmt wird. Das Signal BC wirkt auf die Bitsteuerschaltung 404, die durch die Bitwählsignale aus den Leitungen i6 bis i9 konditioniert wird und dann das Eingangssignal H für die Exklusiv-ODER-Anordnung 106 erzeugt, wobei das darin enthaltene gewählte Bit den Wert 0 bzw. 1 hat, wenn das Signal BC den Wert 1 bzw. 0 hat. Das Aus gangs signal ANS1 der Anordnung 106 ist dann gleich dem ursprünglich gewählten Wort, wobei das gewählte Bit invertiert oder nicht invertiert ist, wie es der befohlenen logischen Funktion und dem Wert des Signals LB entspricht.
80981 5/0600
Das Signal EOR öffnet das Gatter Gr, um das Signal ANS1 der Schiene 10 zuzuführen, wobei dieses Mehrbitsignal genau dem Datenwort entspricht, das während der vorausgegangenen Phase 2 dem Speicher entnommen wurde, und wobei das gewählte 3it so manipuliert ist, wie es erforderlich ist, um den im Register 202 enthaltenen Bitmanipulationsbefehls auszuführen.
Das Signal BTM existiert während der gesamten Phase 3 und bewirkt eine teilweise Freigabe der UND-Schaltung 303. Sobald der Taktimpuls während des Endabschnitts des Intervalls der Phase 3 erscheint, tritt das Signal BTM1 als Impuls auf, um das Eingeben der dann in der Schiene 10 vorhandenen Signale in die Speicherstelle zu bewirken, welche durch die Signale in der Adressenschiene 11 bezeichnet wird. Somit wird das ursprünglich gewählte Wort aus dem Speicher erneut der gleichen Speicherstelle eingegeben, wobei ein einziges gewähltes Bit des Wortes so verändert ist, wie es erforderlich ist, um den betreffenden Befehl SV, IV, ST oder RS auszuführen.
3. Bedingte arithmetische Befehle
Gemäß der Erfindung sind Einrichtungen vorhanden, die es ermöglichen, die Steuer- oder Ausführungseinrichtungen bei einem beliebigen Befehl zu sperren, bei dem es sich nicht um einen logischen Prozeßbefehl handelt, und der so fcodiert ist, daß er einen bedingten Befehl bildet, wenn das logische Antwortsignal LA nicht den vorbestimmten Wert 1 oder 0 hat.
In der ersten Zeile der Tabelle I bedeutet das Symbol U/C an der Bitstelle b10 lediglich, daß dann, wenn das codierte Befehlswert eine 0 oder 1 enthält, der Befehl ein unbedingter oder ein bedingter Befehl ist. Handelt es sich um einen bedingten Befehl, wird das Signal COND nach Fig. 4 und 9 zu einer 1, sobald der betreffende Befehl in das Register 209 abgerufen wird.
809815/0600
40 t
Bei dem hier beschriebenen Ausführungsbeispiel wird während der Ausführung der Phase 3 mindestens ein Steuersignal durch den Felddecodierer FD4 oder FD5 erzeugt, woraus sich der endgültige Ausführungsschritt ergibt. Beispielsweise erscheint bei der Phase 3 des Befehls ADD gemäß der Tabelle III das Signal ACC; dieses Signal gibt die UND-Schaltung 103 frei, so daß der Impuls ACC erzeugt werden kann, um das Ergebnis F der Einheit ALU in den Akkumulator 104 zu überführen. Wird jedoch das Signal ACC vernichtet, kann die Eingabe nicht erfolgen, und die Ausführung wird abgebrochen. Damit auf diese Weise die Ausführung eines beliebigen bedingten Befehls gesperrt werden kann, wenn das Signal COND eine 1 ist, wird gemäß Fig. 9 das Signal K zu einer 0 gemacht, wenn L"ä" = 1 (LA = 0) ist. Das Signal K mit dem Wert 0 sperrt einfach die Felddecodierer FD4 und FD5, so daß selbst dann, wenn ein Intervall einer Phase 3 abgemessen wird, kein Befehl ausgeführt werden kann.
Natr\ülich könnte man auch andere bzw. gleichwertige Schaltungselemente und Verbindungen verwenden, um die gleiche Wirkung zu erzielen. Beispielsweise könnte man den Phasensequenzgenerator durch Signale COND und LA so steuern, daß er einfach von der Phase 2 zur Phase ο springt, wenn diese beiden Signale vorhanden sind. Hierdurch würde die Ausführung verhindert, denn der Kartenbildungs-Festwertspeicher würde nicht durch ein Signal PH3 freigegeben. Ferner könnte man den Mikroprogramm-Festwertspeicher so ausbilden, daß er als Eingangssignal das Signal COND empfängt, so daß er während der Phase Ausgangesignale erzeugt, die bei ihrer Decodierung nicht zu einem Steuersignal führen. Weiterhin könnte man das Signal K als drittes Eingangssignal sämtlichen UND-Schaltungen zuführen, z.B. der UND-Schaltung 103» um sie während der Phase PH3 zu sperren, wenn TJ. = 1 und COND = 1 ist. Zwar könnte man somit Einrichtungen der verschiedensten Art verwenden, doch kommt es nur darauf an, daß die Steuereinheit gesperrt wird, um die Ausführung eines als bedingt codierten Befehls zu ver-
809816/0600
hindern, wenn die vorher gebildete logische Antvo rt LA dann nicht einen vorbestimmten Zustand von zwei Zuständen, und zwar hier den Zustand 1 bezeichnet.
E. Der Befehl IF
Es gibt einen Befehl, bei dem ein bestimmtes Bit eines bestimmten Wortes gewählt wird, und der somit in einem gewissen Ausmaß einem speziellen logischen Befehl ähnelt, obwohl bei ihm das gewählte Bit weder für eine logische Verarbeitung noch für eine Manipulation verwendet wird. Dieser hier mit IF bezeichnete Befehl wird verwendet, um zu bewirken, daß der nächste Onerationsbefehl innerhalb einer Programmfolge übersprungen wird, v/enn das gewählte Bit eines gewählten Wortes, das entweder seine wahre Form oder seine Komplementform hat, eine 1 ist. Daher erscheint es als zweckmäßig, hier die Operationen zu beschreiben, die durchgeführt werden, wenn der Befehl IF während eines beliebigen Intervalls einer Phase 0 in das Befehlsregister 202 abgerufen wird.
Die sechs ersten Bitstellen bO bis b5 eines Befehls IF bezeichnen das zu wählende Operandenwort, während die Bitstellen b6 bis b9 dasjenige Bit innerhalb dieses Wortes bezeichnen, das geprüft werden soll. Das Bitstellensignal bei b10 in einem Befehl IF bezeichnet durch eine 0 oder eine 1, ob das gewählte Bit in seinem wahren Sinne oder in seiner Komplementform verwendet werden soll. Die übrigen Bitstellen b11 bis b15 bezeichnen den IF-Befehlscode nach der Tabelle II.
Nach dem Abrufen eines IF-Befehlswortes in das Register 202 laufen die Operationen während der Phase 2 genau so ab, wie bei einem beliebigen der vorstehend beschriebenen Befehlswörter. Mit anderen Worten, das gewählte Wort wird aus dem Speicher in die Schiene 10 überführt und dem arithmetischen Eingaberegister 102 eingegeben, und der Bitwähler 402, der auf Signale aus den Leitungen i6 bis i9 reagiert, bewirkt, daß das Eingangssignal
809815/0600
LB für den logischen Prozessor 401 dem Wert des gewählten Bits in dem gewählten Wort entspricht. Wenn gemäß Fig. 4 und 10 das Signal in der Leitung i10 eine 1 ist, wodurch angezeigt wird, daß das gewählte Bit in seiner Komplementform behandelt werden soll, hat das Signal COMP den Wert 1. In diesem Fall macht die Exklusiv-ODER-Schaltung 426 das Signal ELB zum Komplement des Signals LB; anderenfalls hat ELB den gleichen Wert wie LB. Am Ende des Intervalls einer Phase 2 für einen Befehl IF existiert das Signal ELB in dem logischen Prozessor nach Fig. 10, und es wird der UlID-Schaltung 291 nach Fig. 9 zugeführt.
Wenn der Phasensequenzgenerator 212 in die Ausführungsphase 3 eintritt und der Festwertspeicher 210 freigegeben wird, reagiert letzterer auf den IF-Befehiscode, um dem Mikroprogramm-Festwertspeicher 220 eine eindeutige Kombination von Eingangssignalen zuzuführen. Dann erzeugen die zugehörigen Felddecodierer gemäß der Tabelle III nur das Steuersignal IPCLB. Wenn dieses Signal während des Intervalls einer Phase 3 vorhanden ist, und wenn das Signal ELB den Wert 1 hat, erzeugt die UND-Schaltung 291 nach Fig. 9 das Ausgangssignal 1, das die ODER-Schaltung 290 durchläuft, um das Signal INPC der UND-Schaltung 230 nach Fig. 2b zuzuführen. Wenn nahe dem Ende des Intervalls der Phase 3 ein Taktimpuls erscheint, wird ein entsprechender Impuls INC dem Zähleingang des Programmzählers 226 zugeführt. Beim Erscheinen der Hinterflanke dieses Impulses, d.h. genau am Ende des Intervalls der Phase 3, zählt der Programmzähler 226 um eine Einheit weiter. Bedenkt man, daß der Programmzähler am Ende des Intervalls der vorausgehenden Phase 0 weitergeschaltet wurde, so daß er bereit ist, aus dem Speicher das Befehlswort abzurufen, bei dem es sich um dasjenige handelt, welches bei einer Programmfolge als nächstes verwendet werden soll, bewirkt das Weiterschalten des Programmzählers während der Phase 3, die in Abhängigkeit von einem Befehl IF abläuft, daß eine doppelte Weiterschaltung des Programmzählers erfolgt. Wenn die nächste Phase 0 beginnt, wird ein Schritt des Programms einfach ausgelassen.
80981 5/0600
Der Befehl IF bildet somit eine bequeme Möglichkeit, ein beliebiges Bit eines beliebigen Wortes daraufhin zu prüfen, ob es sich um ein gewöhnliches numerisches Datenwort handelt, oder um ein Wort, das nur logische Bitsignale enthält, welche durch äußere Schalter oder Kippschaltungen erzeugt werden, sowie den nächsten Programmschritt zu überspringen, wenn das geprüfte Bit entweder eine 1 oder eine 0 ist. Y/enn das Bit b10 in dem Befehlswort IF den Wert 0 hat, wird der nächste Programmschrittbefehl übersprungen, wenn das geprüfte Bit eine 1 ist; hat jedoch das Bit b1O in dem Befehlswort IF den Wert 0, wird der nächste Programmschrittbefehl übersprungen, wenn das geprüfte Bit den Wert 0 hat.
13. Typische Programmfolgen, die der erfindungsgemäße Rechner durchlaufen kann
Nachdem vorstehend die verschiedenen Maschinensprachenbefehle und die einzelnen sich daraus ergebenden Operationen erläutert worden sind, soll im folgenden eine Erläuterung von Befehlen in englischsprachigen Symbolen gegeben werden, v/ie sie von einem Programmierer beim Aufstellen von Programmfolgen verwendet werden können. Zur Einleitung ist es jedoch erforderlich, bestimmte Speicherstellen den numerischen Datenwörtern und den logischen Bitdatenwörtern zuzuweisen, um die Beschreibung bestimmter Software-Programmfolgen als Beispiele zu erleichtern.
Es seien die nachstehenden Annahmen gemacht:
Die Zahl N1 ist an der Speicherstelle 452 gespeichert. Die Zahl N2 ist an der Speicherstelle 25 gespeichert. Die Zahl N3 ist an der Speicherstelle 85 gespeichert. Die Zahl N4 ist an der Speicherstelle 96 gespeichert. Das Zweizustandesignal R ist an der Bitstelle bi4 der Speicherstelle 29 gespeichert.
Das Zweistellungssignal S ist an der Bitstelle b3 der Speicherstelle 18 gespeichert.
80981 5/0600
Das Zweizustandssignal T wird durch den Schalter S8 der Speicherstelle 30 nach Fig. 12 gebildet.
Das Zweizustandssignal U wird durch den Schalter S12 der Speicherstelle 30 nach Fig. 12 gebildet.
Das Zweizustandssignal V wird durch die Kippschaltung FFg der Speicherstelle 40 nach Fig. 12 gebildet.
Das Zweizustandssignal W wird durch die Kippschaltung FF15 der Speicherstelle 40 nach Fig. 12 gebildet.
Das Zweizustandssignal X wird durch die Kippschaltung FF1 der Speicherstelle 40 nach Fig. 12 gebildet.
A. Boolesche Signalverarbeitung mit Steuerung äußerer ein- und ausschaltbarer Geräte
Es sei angenommen, daß es bei einem bestimmten Teil eines arithmetisch-logischen Gesamtprogramms erwünscht ist, gemäß Fig. 12 das Magnetventil 320 einzuschalten, wenn die Zahl N2 positiv und das Signal R eine 1 ist, oder wenn der Schalter S8 geschlossen ist (T = 1) und die Kippschaltung FFg gesetzt ist (V = 1). Eine an der Bitstelle b15 des Wortes 452 gespeicherte 0 oder 1 bedeutet, daß die Zahl N2 positiv oder negativ ist. Dies läßt sich durch den nachstehenden Booleschen Ausdruck darstellen:
Ventil 320 einschalten, wenn ((N positiv)»R + (S8»FFG)J
V/ =(N1 positiv.R) + (T-V)
Sollen diese Maßnahmen durchgeführt und mit dem Programmschritt 442 begonnen werden, könnte man z.B. ein Programm mit Befehlen wie folgt schreiben:
Schritt LD Komplement Befehl Wort 25
und Speicherstelle AN wahr b15 Wort 29
442 SV unbedingt b14 Wort 63
443 b0
444
109815/0600
-vT' wahr Befehl A 3 0 6 0
Schritt
und Speicherstelle
wahr b8
445 LD wahr b6 Wort 30
446 AN unbe
dingt
bO Wort 40
447 OR b15 Wort 63
448 SV './ort 40
Diese Programrabefehle würden den Speicherstellen 442 bis auf bekannte Weise mit. Hilfe eines Lochstreifens oder eines Kartenlesers eingegeben werden.
Wenn bei späteren Operationen der Programmzähler 226 das Zählergebnis 442 erreicht, wird das Bit 15 des Wortes 25 in seiner Komplementform der Akkumulator-KipOSchaltung 425 nach Fig. 10 eingegeben, so daß LA eine 1 oder 0 wird, wenn die Zahl N2 positiv bzw. negativ ist. Der Programmzähler schaltet sich auf den Zustand 443 weiter.
Hierauf wird entsprechend dem der .Stelle 443 entnommenen Befehl das Jit 14 aus der Stelle 29 in den logischen Prozessor 401 gebracht, und zwar mit Hilfe eines UIJD-Operationscodes, so daß LAn den Wert (N1 positvR) annimmt. Dann schaltet sich der Programmzähler auf den Zustand 444 weiter.
Hierauf wird das Signal LA an einer Zwischenspeicherstelle gespeichert. Das V/ort 63 wird in das Register 102 überführt und sein Bit bO dem logischen Prozessor 401 eingegeben, der einen Zwischenspeicher-Operationscode empfängt. Das Wort wird erneut an der Stelle 63 gespeichert, wobei sein Bit bO mit LA übereinstimmt, d.h. das Ergebnis von (N1 positivR) repräsentiert. Der Programmzähler 226 geht in den Zustand 445 über.
Aus der Adresse 445 wird ein logisches Befehlswort abgerufen. Es bewirkt, daß das Bit b8 des Wortes 30, d.h. T, geladen wird, so daß LA damit übereinstimmt.
809815/0600
Nunmehr wird ein logisches Befehlswort aus der Stelle 446 abgerufen, um LB in Übereinstimmung mit dem Bit b6 des Wortes 40, d.h. mit V, zu bringen, und damit der logische Funktionscode eine UND-Operation befiehlt. Das Signal LAn erhält den Wert (T»V). Der Programmzähler schaltet sich auf den Zustand 447 weiter.
Als nächstes wird der Befehl aus der Stelle 447 abgerufen, durcn den LB in Übereinstimmung mit dem Bit bO des Wortes 63 gebracht wird, das bei dem vorangehenden Schritt 443 gespeichert wurde, um (111 positiv»R) darzustellen, woraufhin dem Prozessor 401 ein ODER-Funktionscode zugeführt wird. Das Signal LAn wird zu einer Antwort, die den folgenden Ausdruck darstellt:
(N1 positivR) + (T»V)
Nachdem LA in dieser Weise gebildet worden ist, und wenn der Progirammzähler den Zustand 448 erreicht, wird das Zwischenspeicher-Befehlswort abgerufen. Es bewirkt, daß das Wort 40 dem Register 102 eingegeben und LB in Übereinstimmung mit dem Bit b15 aus diesem Register gebracht wird. Das Steuersignal BC wird zu einer 0 oder einer 1 gemacht, wenn dann LA gleich LB oder davon verschieden ist. Somit macht das Signal BC aus dem Bit b15 des Signals H eine 1 oder 0, und die Exklusiv-ODER-Anordnung 106 bringt ANS· in Übereinstimmung mit dem ursprünglichen Wort aus der Stelle 40, wobei jedoch das Signal b15 mit LA übereinstimmt. Hierauf wird ANS1 erneut der Speicherstelle 40 eingegeben. Aus Fig. 12 ist ersichtlich, daß dann, wenn LA in diesem Zeitpunkt gleich 1 ist, die Kippschaltung FF gesetzt oder im gesetzten Zustand belassen wird; ist jedoch LA gleich 0, wird FF^0 zurückgesetzt oder im rückgesetzten Zustand belassen. Somit besteht das endgültige Ergebnis der verketteten Booleschen Operationen darin, daß das Magnetventil 320 entsprechend der Antwort nach der Booleschen Logik ein- oder abgeschaltet wird.
809815/0600
Natürlich ermöglicht es der erfindungsgemäße Rechner, auch zahlreiche andere Arten von Booleschen Gleichlangen mittels einer entsprecherden Programmierung zu realisieren. Es sei bemerkt, daß man bei den Booleschen Folgen logische 1-Bit-Signale verwenden kann, die durch einen Schalter oder dgl. erzeugt werden, z.B. das Signal T bei dem vorstehenden Programmbeispiel, jedoch auch gewählte Bits aus numerischen Datenwörtern, z.B. gemäß dem vorstehenden Beispiel das Signal N1. Die rein logischen Wörter entsprechend der letzten Zeile der Tabelle I können mit numerischen Wörtern gemäß der vorletzten Zeile der Tabelle I gemischt werden, um Boolesche Eingangssignale zu erhalten. Die logische Antwort LA am Ende einer Booleschen Folge braucht nicht in einer Kippschaltung gespeichert zu werden; vielmehr ist es möglich, sie als Kennzeichen in einem bestimmten Bit eines bestimmten Wortes des Kernspeichers zu speichern und sie dann in einem späteren Zeitpunkt zur Prüfung oder Verwendung abzurufen. Ferner brauchen bei einer Booleschen Kette von Operationen keine sequentiellen Programmschritte durchgeführt zu werden. Es können einige der logischen Operationen durchgeführt werden, danach kann man arithmetische Operationen durchführen, und schließlich kann man die Boolesche Kette wieder aufnehmen, da LA das Teilergebnis enthält.
B. Bedingte arithmetische Operationen
Als Beispiel sei angenommen, daß es erwünscht ist, als Teil eines Software-Gesamtprogramms als neuen Wert der Zahl N3 die Summe von N1 und N4 zu speichern, jedoch davon N2 abzuziehen, und zwar nur dann, wenn sich eines der logischen Signale S und U, jedoch nicht beide Signale, im 1-Zustand befinden; hierauf soll das Ergebnis durch 2 dividiert werden, jedoch nur dann, wenn sich die Kippschaltung FF1 nach Fig. 12 im zurückgesetzten Zustand befindet. Hierzu werden die nachstehenden Schritte benötigt:
809815/0600
/MC
--93 -
a) N4 zu N1 addieren.
b) N2 vom Ergebnis subtrahieren, wenn 3 0 U.
c) Ergebnis von a) und b) dividieren, wenn das Signal 40/1 nach Fig. 12 eine O ist.
d) Ergebnis als neuen V/ert von N3 speichern.
Um diese Operationen unter den genannten Bedingungen durchzuführen, kann man einen Teil eines Programms, der z.B. mit dem Schritt 183 beginnt, wie folgt schreiben:
Schritt LDA Befehl Bit 3 Wort 452
183 ADD unbedingt Bit 12 Wort 96
184 LD unbedingt Wort 18
185 XR wahr Bit 1 Wort 30
186 SUB wahr Wort 25
187 IF bedingt Wort 40
188 SAL Komplement
189 STA unbedingt
190 unbedingt
Erreicht der Programmzähler 226 das Zählergebnis 183, wird der Grundbefehl LDA aus der Speicherstelle 183 abgerufen. Die Zahl N1 aus der Speicherstelle 452 wird dem Akkumulator 104 eingegeben und bei MS angezeigt. Der Einheit ALU wird ein Befehlssignal B für diese Operation gemäß der Tabelle III zugeführt.
Sobald der Programmzähler den Stand 184 erreicht, wird der Befehl ADD aus der Speicherstelle 124 abgerufen. Er bewirkt, daß ANS und N4 (der Operand aus der Speicherstelle 96) addiert werden und das Ergebnis im Akkumulator als neuer Wert von ANS gespeichert wird. Natürlich empfängt die Einheit ALU während dieser Operation den Befehl A + B.
Erreicht der ProgrammzMhler den Zustand 185» wird der speze^Llle Befehl aus der Speicherstelle 185 abgerufen, und das
809815/0600
/14 ϊ
Bit 3 des Wortes 1o, d.h. S, v/ird geladen, um zu dem Signal LA zu werden; dies geschieht in der beschriebenen Weise mit Hilfe einer logischen Prozeßoperation.
Sobald der Programmzähler 226 den Zustand 186 erreicht, wird das spezielle Befehlswort aus der Speicherstelle 186 abgerufen. Das Bitsignal b12 (Schalter S12 nach Fig. 12) des Wortes 30 wird als Signal LB zugeführt, v/ährend der logische Prozessor 401 einen Operationscode für ein Exklusiv-ODER über die Leitungen L2, L1 und LO empfängt. LA wird in diesen Zustand gebracht oder in dem Zustand belassen, der S φ U entspricht, wobei der Wert 1 nur dann vorhanden ist, wenn S oder U den Wert 1 hat, jedoch dann nicht, wenn für beide Signale der Wert 1 gilt. Es sei bemerkt, daß die Schritte 105 und 136 das Signal ANS nicht verändert haben, das immer noch die ,Summe von N1 und N4 darstellt.
Erreicht der Programmzähler 226 den Zustand 187, wird aus der Speicherstelle 187 der bedingte arithmetische Befehl "Subtrahieren" abgerufen. Der Operand IJ2 wird aus der Speicherstelle 25 in das Eingaberegister 102 gebracht, und der Einheit ALU v/ird ein Befehl A-B zugeführt. Dann wird das Signal bei F gleich IJ1 + N4 - N2. Gemäß Fig. 4 und 9 hat jedoch das Signal COND den Wert 1, und daher hat während der Phase 3, wenn PH3 gleich 1 ist, das Signal K den Wert 0, vorausgesetzt, daß TK gleich 1 ist, d.h. daß LA den Wert 0 hat. Wenn das Signal LA, welches das Ergebnis von 3 © U darstellt, gleich 0 ist, werden die Felddecodierer FD4 und FD5 gesperrt, und das Akkumulatorspeichersignal ACC, das gemäß der Tabelle III normalerweise erzeugt würde, behält den Wert 0 bei. Daher wird das Signal bei U nicht in den Akkumulator 104 überführt, wenn LA den Wert 0 hat, jedoch erfolgt eine solche Überführung, wenn LA gleich 1 ist. Somit ist der Subtraktionsschritt 187 ein bedingter Schritt, und er v/ird nur unter der Bedingung ausgeführt, daß LA den Wert 1 hat; bei diesem Programmierbei-
80981 5/0600
spiel lautet diese Bedingung, daß S (±) U = 1. Je nach dem Zustand von 3 und U repräsentiert daher das Signal AIiS am Ende les Schritts 187 entweder (li1 + Il4) oder (IM + U4 - N2).
Wird das nächste spezielle IF-Befehlsv/ort 188 abgerufen, und wird der Programmzähler während der Phase 0 bis auf 189 weite rgesehaltet, wird das Bit 1 des Vortes 40 zu dem Eingangssignal LB gemacht, und da der Befehl eine Komplementbezeichnung enthält (eine 1 an der Bitstelle b10), hat das Signal COMP gemäß Fig. 4 und 10 den Wert 1, so daß das Signal ELS eine 0 oder eine 1 ist, wenn das gewählte Bit b1 den Wert 1 bzw. 0 hat, d.h. wenn die Kippschaltung FF1 gesetzt bzw. zurückgesetzt ist. Somit hat während der Ausführung der Phase 3 das Signal IPCLB den Wert 1 oder 0 (Tabelle III und Fig. 9), und IKC ist gleich 1 oder 0, wenn ELB 1 oder 0 ist. Im ersteren Fall hat das Signal INCP den Wert 1 und der Programmzähler 226 wird am 2nde der Phase 3 von 139 auf 190 weitergeschaltet, wie es weiter oben anhand von Fig. 7 erläutert ist. Im letzteren Fall verbleibt der Programmzähler im Zustand 189.
In diesem letzteren Fall wird als nächstes der Befehl aus der Speichersteile 189 abgerufen, und die Ausführung der Phase 3 führt dazu, daß dem Akkumulator 104 das Steuersignal SACR zugeführt wird, um den Inhalt des Akkumulators um dne Stelle nach rechts zu verschieben. Je nach dem, ob S @ U = 1 oder 0 ist, lautet das Signal ANS entweder oder .
Hat jedoch das Signal 40/1, d.h. das Bit 1 des Wortes 40 entsprechend der Kippschaltung FF1 nach Fig. 12, den Wert 0, so daß ELB während des Schritts 188 den Wert 1 hat, wird der Schritt 189 übersprungen und sofort der Schritt 190 ausgeführt. Ohne Rücksicht darauf, ob der Schritt 190 auf den Schritt 188 oder den Schritt 189 folgt, wird der Befehl STA aus der Speicherstelle 190 abgerufen, und das Signal ANS wird an der Wortstelle 85 gespeichert, wo es die Zahl N3 darstellt.
809815/0600
449
Bei dem so bei N3 gespeicherten berechneten Wert kann es sich jeweils um einen der nachstehenden Werte handeln:
wenn 30U= 1 xmd FF räckgesetzt ist;
II wenn S (+) U = 0 und FF1 zurückgesetzt ist;
III N1 + N2 - H4 wenn 3 © U = 1 und FF1 gesetzt ist; oder
IV N1 + 112 wenn S © U = 0 und FF1 gesetzt ist.
Es sei auf verschiedene wichtige Merkmale solcher bedingter arithmetischer Operationen hingewiesen. Erstens können die logischen Operationen, die zu einem Ergebnis nach der Booleschen Logik führen, mit arithmetischen Operationen mehr oder weniger regellos vermischt werden, denn gewöhnlich beeinflussen sie sich nicht gegenseitig. Bei dem hier behandelten Beispiel wird die vorläufige Summe N1 + Uh in dem Akkumulator 104 belassen, während die logischen Prozeßschritte 185 und 186 ausgeführt werden. Es ist nur erforderlich, daß das Endergebnis einer Booleschen Kette gebildet und durch LA signalisiert wird, bevor eine arithmetische Operation ausgeführt wird, die durch dieses Endergebnis bedingt ist. Zweitens bleibt die Antwort einer langen Kette von Booleschen Folgen in Form des Signals LA erhalten, bis irgendein weiterer logischer Prozeßschritt ausgeführt wird. Daher kann das Signal LA bei mehreren nachfolgenden arithmetischen Schritten als Bedingungsfaktor verwendet werden. Außerdem kann die endgültige Antwort LA einer Booleschen Kette von logischen Befehlen an einem bekannten Bit eines bekannten V/ortes zwischengespeichert werden, und danach kann sie wieder in den logischen Prozessor überführt werden, und zwar mittels eines Einschritt-Befehls LD kurz vor einem arithmetischen Schritt, der durch die endgültige Antwort bedingt sein soll. Alternativ kann eine endgültige logische Antwort an einer bekannten Bitadresse innerhalb einer bekannten Wortadresse zwischengespeichert werden, und danach kann diese Antwort als gewähltes Bit in
809815/0600
einem Befehl IF verwendet werden, der einem beliebigen arithmetischen oder logischen Schritt vorausgeht, welcher durch diese Antwort bedingt sein soll. Bei dem vorstehenden Beispiel kann die Kippschaltung FF1 des Wortes 40 vor dem Programmschritt 133 durch eine logische Antwort gesetzt oder zurückgesetzt worden sein, und trotzdem wird der programmierte Schritt nur dann ausgeführt, wenn das Signal beim Bit 1 des Wortes eine 0 ist, d.h. wenn die Kippschaltung FF1 zurückgesetzt ist.
Der erfindungsgemäße Rechner bietet somit außergewöhnlich flexible und bequeme Programmierungsmöglichkeiten, wobei das Endergebnis oder auch schon die Ausführung verschiedener arithmetischer Berechnungsschritte zu verschiedenen numerischen Ergebnissen führt, die sich nach bestimmten Beziehungen zwischen mehreren logischen Einzelbit-Zweizustandssignalen richten, welche durch einzelne Kerne innerhalb einer mehrere Kerne umfassenden Wortadresse eines Speichersystems bekannter Art oder durch äußere Schalter, Kippschaltungen oder andere ein- und ausschaltbare Einrichtungen erzeugt werden können. Insbesondere sei bemerkt, daß eine Kette von Booleschen Operationen dadurch ausgeführt werden kann, daß z.B. die Schritte 465 bis 475 so programmiert werden, daß eine Antwort bei LA erzeugt wird, die dann, wenn sie den Wert 0 hat, anzeigt, daß ein vollständiger Satz von arithmetischen Schritten 477 bis 485 bei einem bestimmten Durchlauf eines vollständigen Programms nicht benötigt wird. Unter diesen Umständen kann der Sprungbefehl JMP bei dem Schritt 476 programmiert werden, er kann bedingt sein, und er kann so erzeugt werden, daß er mit seinen Bits bO bis b9 den Schritt 486 benennt. Bei seiner Ausführung erfolgt dann ein Sprung zu dem Schritt 486. Somit werden die Schritte 477 bis 485 übersprungen, wenn eine vorher gebildete Antwort nach der Booleschen Logik, d.h. das Signal LA, den Wert 0 hat.
Zwar könnte man noch zahlreiche weitere Beispiele von Programmfolgen beschreiben, mit denen bei dem erfindungsgemäßen Rechner
809815/0600
111
-9*- 27A3060
gearbeitet werden kann, doc^. dürften die beiden vorstehend behandelten einfachen Beispiele genügen, um für jeden Fachmann die Flexibilität und die Vorteile des erfindungsgemäßen Rechners erkennbar zu machen. BeL einem vollständig ausgebildeten Rechner, der mit sämtlichen normalen aritiunetischen Befehlscodes arbeitet, z.B. zum Multiplizieren, Dividieren, Wurzelziehen, Bilden des Kehrwertes usw., und nicht nur mit den begrenzten Grundbefehlen des beschriebenen Beispiels, sind die logischen und die bedingten Programmierungsmöglichkeiten nahezu unbegrenzt, so daß den Erfordernissen jedes beliebigen zu steuernden Systems entsprochen werden kann.
V/ie erwähnt, arbeitet der logische Verarbeitungsteil des erfindungsgemäßen Rechners mit dem aritlimetischen Rechenteil dadurch zusammen, daß er bestimmte Operationen des Rechenteils qualifiziert bzw. eine bedingte Ausführung von Operationen ermöglicht. Jedcch kann der arithmetische Teil mit dem logischen Teil dadurch zusammenarbeiten, daß er einen Teil der elementaren logischen Arbeit übernimmt und ausführt, um Zeit zu sparen. Als Beispiel sei ein Prozeß- oder Haschinensteuersystem genannt, zu dem eine sehr große Anzahl von Schaltern gehört, wie sie in EIg. 12 bei SO bis S15 dargestellt sind. Es könnten 160 V/örter zu je 16 Schaltern bzw. insgesamt 2560 Schalter vorhanden sein. Häufig ist es nur erforderlich, zu ermitteln, ob irgendein Schalter einer Gruppe mit z.B. 160 Wörtern geschlossen ist. Würde nur eine programmierbare Steuereinrichtung benutzt, würde es bis jetzt üblich sein, diese Schalter mit Hilfe verketteter ODER-Operationen zu prüfen, zu denen 160 Programmschritte gehören. Gemäß der Erfindung ist es jedoch möglich, auf einfache V/eise jedes der zehn V/örter in den Akkumulator zu bringen und es durch zehn arithmetische Programms chritte mit 0 zu vergleichen. Bei dem Befehl "Vergleichen mit 0" handelt es sich um einen üblichen arithmetischen Befehl, der jedoch bei der vorstehenden Beschreibung eines einfachen Digitalrechners nicht berücksichtigt wurde. Wenn
809815/0600
irgendeiner der zehn Vergleiche für das gesamte V.rort das Ergebnis "nicht O" liofert, kann ein Kennzeichen, z.3. eine Kippschaltung, gesetzt werden, um anzuzeigen, daß mindestens einer der 160 Schalter geschlossen ist. Durch dieses Kennzeichen können nachfolgende Operationen gesteuert werden. Zwar kann der erfindungsgemäße Rechner lediglich als programmierbare Μteuereinrichtunp betrieben werden, doch ermöglicht er eine schnellere unrl flexiblere Ausführung mancher der programmierbaren Jteuerfunkt Ionen, da bei manchen d!eser Funktionen sein arithmetischer Teil benutzt werden kann.
Ferner ist festzustellen, daß in zahlreichen praktischen Anwendungsfällen, in denen programmierte Jteuer geräte oder Rechner benutzt werden, ganze Teile eines vollständigen Programms nur dann ausgeführt, jedoch anderenfalls übersprungen werden können, wenn sich der Zustand mindestens eines von z.B. 256 Schaltern seit dem vorausgehenden Programmdurchlauf verändert hat. Bei einer programmierbaren Steuereinrichtung würde dies erforderlich machen, den Zustand jedes Schalters zu speichern uni de:i gespeicherten Zustand mit dem während des nächsten Programmdurchlaufs bestehenden Zustand zu vergleichen. Gemäß der Erfindung ist es dagegen möglich, bei jeden Programmdurchlauf 16 '/örter aus Schalterzustandssignalen zu speichern und sie bezüglich gleicher numerischer Werte der gleichen "Schalterwörter" zu vergleichen, die der arithmetischen Einheit beim nächsten Durchlauf eingegeben werden. Bei dem Vergleichsbefehl handelt es sich un einen bekannten arithmetischen Befehl. Somit ist es mit Hilfe von nur 16 Vergleichsprogrammschritten möglich, den arithmetischen Teil des erfindungsgemäßen Rechners zu veranlassen, zu melden, ob sich der Zustand irgendeines von 256 Schaltern während des letzten Durchgangs verändert hat, und hierdurch können 256 Programmschritte ersetzt v/erden, die erforderlich sein wurden, wenn zu diesem Zweck ein logischer Einzelbitprozessor verwendet würde.
809815/0600

Claims (1)

  1. Patentanwälte D i ρ I. - I π g. Curt Wallach
    Dipl.-Ing. Günther Koch
    Dipl.-Phys. Dr.Tino Haibach
    ? 7 4 3 U H Ü Dipl.-Ing. Rainer Feldkamp
    D-8000 München 2 · Kaufingerstraße 8 · Telefon (0 89) 24 02 75 ■ Telex 5 29 513 wakai d
    Datum: 24. September 1977
    Unser Zeichen: 15 929 - Fk/Ne
    Patentanspr U c h e
    Programmierbarer Digitalrechner, dadurch gekennzeichnet, daß (a) ein grundlegendes arithmetisches System vorgesehen ist, das einen LeseVSchreib-Systemspeicher (300), der Mehr-Bit-Worte an einer Vielzahl von Adressenplätzen aufnehmen kann, wobei einige dieser Worte codierte Befehle und Adressen darstellen, während andere Worte Daten darstellen und einige der Befehls-Adressenworte ein spezielles Codeformat aufweisen, um einen logischen Befehl, eine Bit-Adresse und eine Speicheradresse darzustellen, eine arithmetische Einheit (ICO) mit Kehr-Bit-Eingängen und -ausgängen, einen Leitungsweg "zwischen dem Systemspeicher (300) und der arithmetischen Einheit (100) und Steuereinrichtungen (200) zur Erzeugung aufeinanderfolgender Operationsfolgen einschließt, die das Entnehmen eines Befehls-/Adressenwortes aus dem Speicher, das Zuführen des durch den Adressenteil des entnommenen Wortes dargestellten Operanden von dem Speicher zur arithmetischen Einheit und die Ausführung der durch den Befehlsteil des entnommenen Wortes dargestellten Funktion einschließen, daß (b) ein logischer Ein-Bit-Prozessor (400) vorgesehen ist, der auf die verschiedenen logischen Operationscodes anspricht, um verschiedene funktionelle Operationen bei Zuführung eines zwei mögliche Zustände aufweisenden Eingangssignals (LB) durchzuführen und daß die Steuereinrichtungen (200) weiterhin auf ein spezielles dem Speicher entnommenes Befehlswort ansprechende Einrichtungen zur übertragung des
    809815/0600 #/"
    ORIGINAL INSPECTED
    bestimmten dem Bit-Adressenteil des entnommenen Worts entsprechenden Bits des der arithmetischen Einheit (100) zugeführten Operanden als Eingangssignal zum logischen Prozessor (400) und zur Ausführung der durch den logischen Befehlsteil des entnommenen Worts dargestellten Funktion einschließen.
    2. Digitalrechner nach Anspruch 1, dadurch gekennzeichnet, daß die Steuereinrichtungen auf ein dem Speicher entnommenes spezielles Befehlswort ansprechende Einrichtungen zur Steuerung der arithmetischen Einheit (100) derart einschließen, daß Jeder arithmetische Operation an dem zugeführten Operanden als Ergebnis des entnommenen Befehlswortes unterbleibt.
    J. Digitalrechner nach Anspruch 1, dadurch gekennzeichnet, daß die Steuereinrichtungen (200) auf den logischen Befehlsteil des entnommenen Wortbefehls ansprechende Einrichtungen einschließen, die den logischen Prozessor derart steuern, daß das Eingangssignal in seiner wahren oder in der komplementierten Form bearbeiten.
    4. Digitalrechner nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Lese-Schreib-System-Speicher (300) Mehr-Bit-Worte an einer Vielzahl von Adressenspeichersteilen aufnehmen und anzeigen kann, daß die ein spezielles Codeformat aufweisenden Befehls-Adressenworte eine erste einen logischen Befehl darstellende Gruppe von Bits, eine zweite eine Bit-Stelle in einem Wort darstellende Gruppe von Bits und eine dritte eine Speicheradresse darstellende Gruppe von Bits aufweisen, daß die arithmetische Einheit (100) ein Eingaberegister und ein Ausgaberegister aufweist, daß ein Befehlsadressenregister (202) und ein Leitungsweg zwischen dem Systemspeicher und den Eingabe-, Ausgabe- und Befehlsadressen-Registern vorgesehen 1st, daß die von den Steuereinrichtungen (100) hervor-
    •09 815/0600
    274306Ü
    gerufenen"au'fe inanderfolgenden Operationsfolgen die Entnahme eines Befehls-Adressenwortes auscfera Speicher und die Überführung dieses Befehlsadressenwortes an das Eefehlsadressenregister (202), die Zuführung des Operanden von dem Systemspeicher an das Eingaberegister, der durch den Speicherplatz dargestellt ist, die durch den dann siegnalisierten Adressenausgang des Befehlsadressenregisters bezeichnet ist und die Ausführung der Funktion einschließen, die durch den dann signalisierten Befehlsadressenausgang dargestellt ist, daß ein logischer Eln-Eit-Prozessor (400) vorgesehen ist, der auf die verschiedenen logischen Operationscodesignale anspricht, um verschiedene funktioneile Operationen (beispielsweise UND-, ODER-EXKLUSIV-OBER-SV-IV-ST-, RS-Operationen) in Abhängigkeit von einem zugeführten zwei mögliche Zustände aufweisenden Eingangssignal (LB) auszuführen, und daß die Steuereinrichtungen (100) weiterhin Einrichtungen, die auf die zweite Gruppe von Bitsignalen von dem Befehlsadressenregister ansprechen, wenn dieses ein ein spezielles Codeformat aufweisendes Wort enthält, um das spezielle Bitsignal von dem Eingangsregister als Eingangssignal (LB) an den logischen Prozessor zu überführen, der der dargestellten Bit-Stelle entspricht, Einrichtungen, die auf die erste Gruppe von Bitsignalen von den Befehlsadressenregister ansprechen, wenn dieses ein ein spezielles Code format aufweisendes Wort enthält, um dem logischen Prozessor logische Operationscodesignale zuzuführen, die dem durch die erste Gruppe von Bitsignalen dargestellten logischen Befehl entsprechen, und Einrichtungen zur Betätigung des logischen Prozessors zur Ausführung der logischen Funktion einschließen, die durch das diesen dann als Eingangssignal zugeführten Codesignal dargestellt ist.
    5. Digitalrechner nach Anspruch 4, dadurch gekennzeichnet, daß die Steuereinrichtungen (100) weiterhin Einrichtungen einschließen, die auf die erste Gruppe von Bitsignalen von dem Befehlsadressenregister ansprechen,
    •09815/0600
    27UO6O
    wenn dieses ein ein spezielles Codeformat aufweisendes Wort enthält, um den logischen Prozessor so zu steuern, daß er das Eingangsbitsignal entweder in wahrer oder in komplementierter Form verarbeitet.
    Digitalrechner nach Anspruch 4, dadurch g e k e η η ze lehnet , daß die erste Gruppe von Bits, die einen logischen Befehl in irgendeinem speziellen Befehlswort darstellt, in zwei Codekategorien fällt, nämlich logische Verarbeitung und Bit-Manipulation, und daß die Steuereinrichtungen weiterhin Einrichtungen, die auf die erste Gruppe von Bitsignalen von dem Befehlsadressenregister ansprechen, wenn die dargestellte Funktion in die erste Kategorie fällt, um den logischen Prozessor so zu steuern, daß er das signalisierte logische Akkumulator-Ausgangssignal (LA) entsprechend einer Boole'sehen Funktion verarbeitet, die durch diese erste Gruppe von Bit-Signalen dargestellt sind, die dann als Eingangssignal dem logischen Prozessor zugeführt werden, und Einrichtungen einschließen, die auf die erste Gruppe von Bitsignalen von dem Befehlsadressenregister ansprechen, wenn die dargestellte Funktion in die zweite Kategorie fällt, um das dann dem Eingaberegister zugeführte Wort an die Spelcheradressc-nstelle zurückzuführen, die dann in dem Befehlsadressenregister signalisiert wird, nachdem das Bit dieses Wortes, das das Eingangssignal (LB) an den logischen Prozessor bildet, geändert wurde oder nicht, wobei die Änderung oder Nichtänderung durch die logischen Befehlscodesignale bestimmt ist, die dem logischen Prozessor zugeführt werden.
    Digitalrechner nach einem der vorhergehenden Ansprüche, dadurch gekennze lehne t , daß einige der in dem Lese-Schreib-Systemspeicher gespeicherten Worte spezielle logische Befehle, Bitadressen innerhalb eines Wortes und Wortadressen darstellen, daß der logische Ein-Bit-Prozessor ein mit Boole'scher Logik arbeitender Prozessor 1st, d«r Einrichtungen zur Signalisierung eines akkumulierten
    • 09815/0600 */#
    Ausgangsbits (LA) und auf logisches Operationscodesignale ansprechende Einrichtungen zur Änderung des Ausßangsbits entsprechend der logischen Operation einschließt, die an dem Ein-Bit-Eingangssignal (LB) durchgeführt wird, daß auf ein von den Steuereinrichtungen entnommenes spezielles Befehlswort ansprechende Einrichtungen zur Zuführung von logischen Operationscodesignalen (LOC), die einem von dem entnommenen Wort dargestellten logischen Befehl entsprechen, an den logischen Prozessor vorgesehen sind, daß Einrichtungen vorgesehen sind, die auf den von den Steuereinrichtungen als Ergebnis des entnommenen speziellen Befehlswortes an die arithmetische Einheit zugeführten Operanden ansprechen, um ein spezielles Bit des Operanden, das dem Bit-Adressenteil des Spezialbefehls entspricht, als Ein-Bit-Eingangsslgnal (LE) an den logischen Prozessor zu führen, und daß Einrichtungen zur Betätigung des logischen Prozessors derart vorgesehen sind, daß das akkumulierte Bit geändert wird, so daß aufeinanderfolgende Spezialbefehle ausgewählte Bits von gewünschten Worten verwenden können, um Eoole'sche Kettenoperationen entsprechend einem Programm von Schritten durchzuführen, In die arithmetische Schritte verteilt eingefügt sind, wobei das Endergebnis durch das akkumulierte Bit-Signal dargestellt ist.
    8. Digitalrechner nach Anspruch 7, dadurch gekennzeichnet, daß die Steuereinrichtungen Einrichtungen zur derartigen Steuerung der arithmetischen Einheit einschließen, daß keine arithmetische Operation an dem der arithmetischen Einheit zugeführten Operanden als Ergebnis des entnommenen Spezialbefehlswortes durchgeführt wird.
    9. Digitalrechner nach Anspruch 7, dadurch gekennzeichnet, daß die auf den der arithmetischen Einheit zugeführten Operanden ansprechenden Einrichtungen Einrichtungen einschließen, die auf irgendein spezielles von den Steuereinrichtungen entnommenes Befehlswort an-
    •09816/0600 *A
    sprechen und den logischen Prozessor derart steuern, daß das Eln-Bit-Eingangssignal selektiv entweder in der wahren oder komplementierten Form verarbeitet wird.
    10. Digitalrechner nach Anspruch 7» gekennze lehne t durch Einrichtungen, die auf den signalisierten Zustand des akkumulierten Ausgangsbits (LA) ansprechen, um die Ausführung von Befehlen zu beeinflussen, die von den Steuereinrichtungen und der arithmetischen Einheit ausgeführt werden.
    11. Digitalrechner nach Anspruch 10, dadurch gekennzeichnet, daß die übliche codierte Befehle und Adressen darstellenden Worte ein Unbedingt-/Bedingt-Bezeichnungsbit einschließen, das das arithmetische System auf ein entnommenes Befehlswort ansprechende Einrichtungen zur Erzeugung eines Bedingt-Signals, wenn das Bezeichnungsbit in diesem Wort "bedingt" angibt, und auf das Vorhandensein des Bedingt-Signals ansprechende Einrichtungen zur Verhinderung der Ausführung eines entnommenen Befehls einschließt, wenn das Bedingt-Signal vorhanden ist»und das signalisierte akkumulierte Ausgangsbit (LA) einen vorgegebenen seiner zwei möglichen Zustände aufweist.
    12. Digitalrechner nach einem der vorhergehenden Ansprüche, dadurch gekennze lehne t , daß der Lese-z^Schreib-Systemspeicher des grundlegenden arithmetischen Systems zum Empfang und zur Signalisierung von Mehr-Bit-Worten an einer Vielzahl von Adressenplätzen ausgebildet ist, daß einige dieser Worte codierte Befehle und Adressen darstellen während andere dieser Worte numerische Daten und/oder mehrfadie Ein-/Aus-Binär-Bits darstellen, wobei einige der Befehls-Adressenworte ein spezielles Codeformat aufweisen, bei dem eine erste Gruppe von Bits einen logischen Befehl (beispielsweise Laden, UND-, ODER-, EXKLUSIV-ODER-Verknüpfung) darstellt, während eine zweite Gruppe von Bits
    809815/0600
    2743Ü6Ü
    eine Bit-Stelle in einem Wort darstellt und eine dritte Gruppe von Bits eine Speicheradresse eines Datenoperanden darstellt, daß die arithmetische Einheit ein Eingaberegister (AIR), ein Ausgaberegister (ACCUM, ECR) und ein Befehlsadressenregister (IAR) einschließt, daß ein Leitungsweg zwischen dem Speichersystem und den drei Registern vorgesehen ist, daß die Steuere inrichtun-zen des grundlegenden arithmetischen Systems aufeinanderfolgende Operationsfolgen ausführen, die die Entnahme eines adressierten Befehlswortes aus dem Speicher und die Speicherung dieses entnommenen Wortes in dem lAR-Register, die Zuführung von Datenoperanden-Wortsignalen von der Speicheradresse, die durch die dann von dem IAR-Register signalisierte
    Gruppe von Bits dargestellt ist, und die Speicherung dieser Datenoperanden-Wortsignale in dem AIR-Register sowie die Ausführung des durch die erste Gruppe von zu diesem Zeitpunkt von dem IAR-Register signalisierten Bits dargestellten Befehls einschließen, daß der logische Ein-Bit-Prozessor Einrichtungen zur Erzeugung eines akkumulierten logischen Ein-Eit-Ausgangssignals (LA) und Einrichtungen einschließt, die (a) auf ein logisches Ein-Bit-Eingangssignal (LB) und (b) auf logische Operationscodesignale ansprechen, die verschiedene logische Funktionen (beispielsvreise Laden, UNES ODER-, EXKLUSIV-ODER-Verknüpfung) bezeichnen, air, das Ausgangssignal (LA) entsprechend dem Eingangssignal (LB) und der bezeichneten Logikfunktion zu ändern (beispielsweise LAn = LAQ· LB wenn die Funktion UND ist), daß die Steuereinrichtungen weiterhin Einrichtungen zur Feststellung der Tatsache, daß das IAR-Register ein Spezialformat-Befehlswort enthält, das irgendeine logische Operation anfordert, Einrichtungen, die auf diese Feststellung ansprechen, um dem logischen Prozessor als Eingangssignal LB das signalisierte Bit von der Bitstelle des AIR-Registers zuzu führen, das der Bitstelle entspricht, die durch die zweiten Bit-Gruppensignale von dem IAR-Register dargestellt ist.
    809815/0600
    £743060
    ebenfalls auf diese Feststellung ansprechende Einrichtungen zur Zuführung von Operationscodesignalen, die der logischen Funktion entsprechen, die durch die Bitsignale der ersten Gruppe von dem IAR-Register dargestellt sind, an den logischen Prozessor und Einrichtungen zur Betätigung des logischen Prozessors derart einschließen, daß das Ausgangsbitsignal (LA) entsprechend der logischen Operation geändert wird, das durch die Operationscodesignale und den dann vorhandenen Wert der Eingangs- und Ausgangssignale dargestellt ist, so daß das logische Ausgangssignal (LA) den Wert von kettenförmigen Boole'sehen logischen Operationen darstellt, die aufeinanderfolgend an ausgewählten Bits von ausgewählten Speicherdatenworten durchgeführt werden, wobei diese Operationen durch Programmschritte ausgeführt werden, die willkürlich oder zufällig in die arithmetischen Operations-Programmschritte eingefügt sind und daß die Eingangs- und Befehlsadressenregister der arithmetischen Einheit sowohl für die Boole'sehen Operationen als auch für die arithmetischen Operationen Verwendet werden.
    I). Digitalrechner nach Anspruch 12, dadurch gekennzeichnet, daß die Steuereinrichtungen weiterhin Einrichtungen einschließen, die auf Operationscodesignale ansprechen, die von den Bit-Signalen der ersten Gruppe von dem IAR-Register abgeleitet werden, um den logischen Prozessor derart zu steuern, daß er sein empfangenes Eingangssignal (LB) in wahrer oder komplementierter Form verarbeitet.
    14. Digitalrechner nach Anspruch 5, gekennzeichnet durch auf den Zustand des logischen Ausgangssignals (LA) ansprechende Einrichtungen zur Modifikation der Betriebsweise der Steuereinrichtungen und der Ausführung von Befehlen, die in das IAR-Register eingebracht werden.
    15. Digitalrechner nach Anspruch 12, dadurch gekennzeichnet ,daß Jedes übliche Befehls- und Adressen-
    • 09815/0600 */#
    wort eine Codierung der Eefehlsbits einschließt, um anzugeben, wenn die arithmetische Operation bedingt durchzuführen ist und daß weiterhin auf die erste Eit-Gruppe von Signalen von dem IAR-Register ansprechende Einrichtungen zur Erzeugung eines Bedingt-Signals (CGND), wenn die Codierung dieser Bits diese Angabe macht, und Einrichtungen vorgesehen sind, die nur dann auf das Vorhandensein des Bedingt-Signals (COND) ansprechen, wenn das logische Ausgangscignal einen vorgegebenen seiner zwei Zustände aufweist, um die Operation der Steuereinrichtungen zu modifizieren, um die Ausführung des Befehls zu unterdrücken, der durch die erste Gruppe von Bits dargestellt ist, die dann von der, TAh-'.-.cgister signalisiert werden, so daß irgendein Prograrr.nschritt, der logische Operationen ausschlügt, selektiv in Abhängigkeit von dem Ergebnis von einem oder mehreren vorhergehenden Boole'sehen Logik-Schritten durchgeführt werden kann.
    16. Digitalrechner nach einem der vorhergehenden Ansprüche, dadurch gekenn ze lehne t , daß der Lese-Schreib-Systemspeicher des grundlegenden arithmetischen Systems eine Vielzahl von Kehr-Bit-Worten an Adressenplätzen ».halten und signalisieren kann, daß einige der Worte ein bestimmtes Codeformat zur Darstellung von Befehlen und Adressen aufweisen, während andere Worte ein Codeformat aufweisen, durch das Daten dargestellt werden, wobei einige der Worte eine Codeformat aufweisen, bei dem eine erste Gruppe von Bits einen einer Vielzahl von speziellen logischen Befehlen darstellt, während eine zweite Gruppe von Eits eine gewünschte Bit-Adresse innerhalb eines Wortes und eine dritte Gruppe von Bits eine Wortadresse darstellt, daß die arithmetische Einheit Mehr-Bit Eingangs- und Ausgangsleitungen aufweist, daß die Eingangs- und Ausgangsleitungen über einen Leitungsweg mit dem Systemspeicher verbunden sind, daß Steuereinrichtungen zur Erzeugung aufeinanderfolgender Betriebsfolgen vorgesehen sind, wobei diese Betriebsfolgen die Entnahme eines Befehlsadressenwortes von einem Adressen platz des Speichers und die übertragung dieses Wortes zur
    • 09815/0600 ·/.
    BAD ORIGINAL
    /743Ü6Ü
    arithmetischen Einheit, die Zuführung eines Datenwort-Operanden von einem Adressenplatz des Systemspeichers zur arithmetischen Einheit wobei der Adressenplatz der Adresse entspricht, die in dem entnommenen Wort dargestellt ist und die Ausführung des Befehls mit dem Operanden umfassen, der durch das entnommene Befehlsadressenwort dargestellt ist, daß die Steuereinrichtungen weiterhin Einrichtungen zur Erzeugung einiger der Betriebsfolgen einschließt, deren Ausführung die Speicherung der Signale(ANS) von den Ausgangsleitungen der arithmetischen Einheit in dem Adressenplatz des Speichers anschließt, der der Adresse entspricht, die durch das entnommene Eefehls-Adressenwort dargestellt ist, daß ein logischer Bit-Kanipulator vorgesehen ist, der Operations-Codeeingänge (Ll, LO, il2, 114), einen Ein-3it-Eingang zum Empfang des logischen Signals (LB), und Einrichtungen zur Erzeugun : eines Bit-Steuersignals (EC) einschließt, dessen Zustand sowohl von den den Eingängen zugeführten Operationscodesignalen und dem Zustand des logischen Signals (LB) abhängt, das dem Ein-Eit-Eingang zugeführt wird, daß Einrichtungen zur Zuführung eines ausgewählten Signals des der arithmetischen Einheit zugeführten Datenwortes an den Ein-Eit-Eingang vorgesehen sind, wobei das ausgewählte Bit-Signal in seiner Bit-SteHe der Bit-Adresse entspricht, die durch die zweite Gruppe von Bits in einem entnommenen speziellen logischen Befehlsadressenwort dargestellt ist, daß Einrichtungen zur Zuführung von logischen Operationscodesignalen, die dem logischen Befehl entsprechen, der durch die erste Gruppe von Bits in einen entnommenen speziellen logischen Befehlsadressenwort dargestellt sind, an die Operationscodeeingänge vorgesehen sind, und daß Einrichtungen zur Zuführung des den Ein^angsleitungen der arltzmetischen Einheit zugeführten Datenwortes an die Ausgangsleitungen der arithmetischen Einheit vorgesehen sind, wobei ein ausgewähltes Bit entsprechend dem Zustand des Bit-Steuersignals (BC) von dem Bit-Manipulator invertiert oder riichtinvertiert
    80981 S/0600 "A
    -U-
    /7A3ÜBU
    wird, wobei dieses eine Bit der Ei te te Hc entspricht, die durch die zweite Gruppe von Bits in einer, entnommenen speziellen logischen Befehlswort dargestellt ist, so daß die Zurückführung des Ausganges der arithmetischen Einheit an den Speicheradressenplatz, der durch dir dritte Gruppe von Bits in einem entnommenen speziellen logischen Befehlsadressenwort dargestellt ist, dazu führt, daß das ausgewählte Bit des Datenwortes den gewünschten Zustand aufveist.
    17. Digitalrechner nach Anspruch l6, ,~ e k e η η ζ c ί :■ : r. e durch Einrichtungen zur Signalisierung eines logischen nkrcumulatorausganges (LA), wobei die Einrichtungen zur erzeugung eines Bit-Steuersignals (BC) und die Einrichtung zur Weiterleitung des den Eingangsleitungen der arithmetischen Einheit zugeführten Datenwortes zu den Ausgangsleitungen zusammen Einrichtungen bilden, die das der arithmetischen Einheit zugeführte Datenwort wieder in den Speicher an der ursprünglichen Adressenstelle einführen, wobei jedoch das ausgewählte Bit dieses Datenwortes denselben Zustand aufweist wie am Akkumulatorausgang.
    18. Digitalrechner nach Anspruch 16, dadurch gekennzeichnet, daß die von den Einrichtungen zur Zuführung der Operationscodesignale an die Cperationscodeeingänge zugeführten Gperationscodesignale entweder SETZ-, RÜCKSETZ- oder IKVERTIER-SignaIe darstellen, und daß die Einrichtungen zur Erzeugung des Bit-Steuersignals (BC) und die Einrichtungen zur Überführung des den Eingangs leitungen der arithmetischen Einheit zugeführten Datenwortes zu den Ausgangsleitungen zusammen Einrichtungen zur Wiedereinführung des der arithmetischen Einheit zugeführten Datenwortes in den Speicher an dem ursprünglichen Adressenplatz bilden, wobei jedoch das ausgewählte Bit dieses Datenworts sich im Eins-Zustand O-Zustand oder in einem Zustand, der gegenüber dem ursprünglichen Zustand Invertiert 1st, befindet.
    I09815/06Ö0
    BAD ORIGINAL
    77A306Ü
    19. Digitalrechner mich Anspruch 16, dadurch g e k e η η ze lehnet, daß irgendwelche der Befehlsadressenworte unter Einschluß derer, deren Format erste, zweite und dritte Bit-Gruppen umfaßt, in dem Befehlscode eine Zeichnung einschließt, daß der Befehl unbedingt oder bedingt durchzuführen ist und daß weiterhin Einrichtungen zur Signalisierung eines logischen Akkumulator-Ausgangs (LA) und einen Teil der Steuereinrichtungen bildende Einrichtungen vorgesehen sind, die auf irgendein entnommenes und der arithmetischen Einheit zugeführtes Befchlsadressenwort ansprechen, um die Ausführung des Befehls zu verhindern, wenn er als bedingt bezeichnet ist und der Akkumulator-Ausgang (LA) einen vorgegebenen der beiden möglichen Zustände aufweist.
    20. Digitalrechner nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Lese-/Schreibsystemspeicher des grundlegenden arithmetischen Systems Kehr-Blt-Worte an einer Vielzahl von Adressenplätzen aufnehmen kann, daß einige der Worte ein Codeformat zur Darstellung gewöhnlicher Befehle und Adressen aufweisen, daß andere der Worte ein Codeformat zur Darstellung von Daten aufweisen, daß einige der Befehlsadressenworte ein spezielles Codeformat aufweisen, bei dem eine erste Gruppe von Bits einen einer Vielzahl von speziellen logischen Befehlen darstellt, während eine zweite Gruppe von Bits eine gewünschte Eitadresse in einem Wort darstellt und eine dritte Gruppe von Bits einen Speicheradressenplatz eines Wortes darstellt, daß die arithmetische Einheit ein Eingaberegister (AIR), ein Ausgaberegister (AOR), ein Befehlsadressenregister (IAR) und einen die Eingabe-, Ausgabe- und Befehlsadressenregister mit dem Speicher verbindenden Leitungsweg einschließt, daß die Steuereinrichtungen aufeinanderfolgende Operationsfolgen hervorrufen, die die Entnahme eines Befehlsadressensignals aus einem Adressensignal von einem Adressenplatz des Speichers die Uberfüh-
    •09815/0600
    /7UÜ6U
    rung dieses Signals an das Register (IAR), die Zuführung von Datenwort-Operandensignal von den Adressenplatz des Speichers zu dem AIR-Register, wobei dieser Adressenplatz der Adresse entspricht, die durch Signale von dem IAR-Register dargestellt ist, die Ausführung der Funktion, die durch den Befehlsteil des vorher in das IAR-Register überführten Wortes mit den Datenwort-Operandensignalen von dem AIR-Register und in manchen Fällen die Übertragung der Wort-Signale am Ausgang des AOR-Registers zur Speicherung in dem Speicher einschließen, wobei di^se Speicherung an dem Adressenplatz erfolgt, der durch das Befehlsadressenwort dargestellt ist, das dann von dem IAR-Register signalisiert wird, daß der logische Bit-Manipulator C pe rat ions code-j. Ingangsanschlüsse, einen Ein-Bit-Operanden-Eingangsanschluß und Einrichtungen zur Erzeugung eines Bit-Steuersignals (EC) einschließt, dessen Zustand sowohl von den den Codeeingangsanschlüssen zugeführten Signalen als auch dem Signal an dem Operanden-Eingangsanschluß abhängt, daß Einrichtungen zur Zuführung eines Lin-Bit-Eingangssirrnajs (LB) von dem AIR-Register an dem Operanden-Hingangsanschluß vorgesehen sind, wobei der Bit-Platz dieses Signals d^r Bit-Adresse entspricht, die durch die zweite Gruppe von Bits in den Ausgangssignalen von dem IAR-Register dargestellt ist, nachdem dieses ein entnommenes Spezialcodeforrr.at-Befehlswort enthält, daß Einrichtungen zur Zuführung von Signalen an die Operationscode-Eingangsanschlüsse vorgesehen sind, die eine logische Operation entsprechend der logischen Operation darstellen, die dem logischen Befehl entspricht, der durch die erste Gruppe von Bits in den Ausgangssignalen von dem IAR-Register dargestellt ist, nachdem dieses ein entnommenes SpezialbefehlhViort enthält, da? Einrichtungen zur Zuführung des von dem AIR-Register signalisierten Datenwortes zu dem AOR-Register vorgesehen sind, wobei jedoch ein ausgewähltes Bit dieses Wortes bezüglich seines Zustandes entsprechend dem Zustand der Bit-Steuersignale (BC) gesteuert wird, wobei diese Einrichtung durch
    109815/0600
    ORIGINAL INSPECTED
    /?7A306ü
    Bitsignale in der zweiten Gruppe von dem IAR-Register gesteuert wird, damit das ausgewählte Bit in seiner Stellung der Bit-Adresse in einem Spezialcodeformat-Befehlswort entspricht und daß auf die erste Gruppe von Bits in den Spezialcodef ormatsignalen von dem IAR-Register ansprechende Einrichtungen vorgesehen sind, die die dann von dem AOR-Register erzeugten Signale wieder in den Speicher an den Adressenplatz überführen, der durch die dritte Gruppe von Bits in den Signalen von dem TAR-Register dargestellt ist.
    21. Digitalrechner nach Anspruch 20, dadurch gekennzeichnet, daß ein logischer Ein-Blt-Prozessor dem Bit-Manipulator zugeordnet ist und Einrichtungen zur Erzeugung eines akkumulierten Ein-Bit-SignaIs (LA), dessen Zustand entsprechend einem logischen Verarbeitungs-Cperationscode geändert ist, der den Operationscode-Eingangsanschlüssen zugeführt wird, wenn aufeinanderfolgende Ein-Bit-Eingangssignale (LB) dem Ein-BitTOperanden-Eingangsanschluß zugeführt werden, und auf das akkumulierte Signal (LA) ansprechende Einrichtungen zur Bestimmung des Zustandes des Steuersignals (BC) einschließt.
    22. Digitalrechner nach einem der vorhergehenden Ansprüche, dadurch gekennzeichne t, daß das grundlegende arithmetische System ein Bei'ehlsadressenregister, einen Systemspeicher, Einrichtungen zur Entnahme einen Befehlsadressenwortes aus dem Speicher und zur überführung in das Befehlsadressenregister, und auf Befehlsadressensignale von dem Register ansprechende Einrichtungen zur Ausführung des durch das entnommene Wort dargestellten Eefehls einschließt, daß Einrichtungen zur Erzeugung eines zv:ei mögliche Zustande aufweisenden Eln-Bit-Hcuptsteucrsignals (LA) vorgesehen sind, daß auf die Befehlsadressensignale von dem Register ansprechende Einrichtungen zur Erzeugung eines Bedingt-Signals (COND) vorgesehen sind, wenn der durch das entnommene Wort dargestellte Eefehl
    •0981S/06ÖÖ
    so bezeichnet ist, daß er bedingt ist und daß Einrichtungen zum Unwirksammachen der Einrichtungen zur Aue führung: der durch das entnommene Wort dargestellten Befehle vergesehen sine, urr, die Ausführung des Befehls zu verhindern, wenn das Bedingt-Signal (COND) vorhanden ist und das Haupt-oteuersignal (LA) einen vorgegebenen seiner beiden Zustände aufweist .
    23. Digitalrechner nach Anspruch 22, dadurch gekennzeichnet, daß die Einrichtungen zur Erzeugung des Ein-Bit-Hauptsteuersignals (L/v) einen nut Eoole'scher Logik arbeitenden Ein-Bit-Prozessor aufweisen, der das Haupt-Steuersignal (LA) entsprechend vorhergehender kettenförmiger Boole1scher Operationen erzeugt, die hierdurch ausgeführt werden.
    24. Digitalrechner nach Anspruch 22, dadurch gekennzeichnet, daß Einrichtungen zur aufeinanderfolgenden Zuführung ausgewählter Bits von ausgewählten Worten von dem Systemspe icher als Operandeneingänge an den Boole'-sehen Prozessor zusammen mit logischen Gperationsbcfehlen vorgesehen sind (beispielsweise LD, AN, Oi-I, XR) in Form von Worten in dem Systemspeicher enthalten sind, so daß kettenförmige Boole'sehe Operationen durchgeführt werden, um den Zustand des Haupt-Steuersignals (LA) zu bestimmen.
    25. Digitalrechner nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Lese-/3chreib-Systemspeicher des grundlegenden arithmetischen Systems eine Anzahl von Mehr-Bit-Worten an jeweiligen Adressenplätzen aufnehmen und signalisieren kann, daß einige der Worte ein Codeformat zur Darstellung von Befehlen und Adressen aufweisen, während andere Worte ein Code format zur Darstellung von Daten aufweist und wobei die Eefehlsadressenworte eine gemeinsame Codecharakteristik aufweisen (beispielsweise eine 0 oder eine 1 im Bit BIO), die anzeigt,
    1098 1 5/ OSOO ·/.
    ORIGINAL INSPECTED
    2743Ü6Ü
    daß der Befehl unbedingt oder bedingt ist, daß die arithmetische Einheit ein Befehlsadressenregister (IAR), ein arithmetisches Eingangsregister (AIR) und ein arithmetisches Ausgangsregister (AOR) aufweist, daß ein Leitungsweg zwischen dem Systemspeicher und den Registern (IAR, AIR und AOR) vorgesehen ist, daß die Steuereinrichtungen aufeinanderfolgende Operationsfolgen erzeugen, die die Entnahme von ein Befehlsadressenwort darstellenden Signalen von einem programmierten Speicheradressenplatz und die Überführung zum IAE-Register, die Zuführung von ein Datenwort darstellenden Signalen von dem DpeicheradrtSGcnplatz, der durch die entnommenen Signale im IAR-Register dargestellt ist, zum Register AIR, die Ausführung der Funktion, die durch die das entnommene Befehlswort bildenden Signale von dem IAR-Register dargestellt ist, anhand der Datenworte in dem AIR-Register, daß Einrichtungen zur Erzeugung eines zwei mögliche Zustände aufweisenden Ein-Bit-Hauptsteuersignals (LA) vorgesehen sind, das sich von Zeit zu Zeit ändert, und daß Einrichtungen vorgesehen sind, die verhindern, daß die Steuereinrichtungen irgendeine Funktion ausführen, die von einem Befehlsadressenwort abgerufen wird, das in das IAR-Register überführt und signalisiert wird, sobald das entnommene Wort und die IAK-Registersignale angeben, daß der dargestellte Befehl bedingt ist und wenn das Haupt-Steuersignal einen vorgegebenen seiner beiden möglichen Zustände aufweist.
    26. Digitalrechner nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Systemspeicher des grundliegenden arithmetischen Systems eine Vielzahl von Mehr-Bit-Worten aufnehmen kann, von denen einige Eefehlsworte und einige Datenworte sind, daß ein Kehr-Bit-Eefehlsadressenregister (IAR) vorgesehen ist, daß Einrichtungen zur überführung verschiedener Befehlsworte von dem Systemspeicher in das IAR-Register vorgesehen sind, daß mit einer ersten vorgegebenen Anzahl von Bit-Ausgängen des IAR-Registers Einrichtungen zur Durch-
    • 09815/0600 ·/·
    / 7 A 3 ϋ ό ϋ
    führung eines arithmetischen Befehls verbunden sind, der durch ein entnommenes Wort dargestellt ist, das mit einer zweiten vorgegebenen Anzahl von Bit-Ausgängen des IAR-Registers Einrichtungen zur Auswahl eines Bit-Signale aus einem ausgewählten ^e hr-B it-Signal eines Wortes verbunden sind, das an irgendeiner anderen Stelle in dem Digitalrechner signalisiert wird, wobei das ausgewählte Bit einem Bitplatz entspricht, der durch den Code der zweiten Vielzahl von Bit-Ausgängen dargestellt 1st, und daß Γinrichtungen zur Verwendung des ausgewählten Bitsignals vorgesehen sind.
    27. Digitalrechner nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der Lese-/Srnreib-Speicher des arithmetischen Systems η Wortplätze mit einer Länge von jeweils m Bits zur Aufnahme und Signalisierung von Mehr-Eit-Worten aufweist, daß einige der Worte gewöhnliche Befehls-Adressenworte mit ρ Bits, die verschiedene codierte Befehle darstellen, und mit n-p Bits sind, die einen Speicheradressenplatz eines zu verwendenden Operandenwortes darstellen, daß andere der Worte Spezialbefehls-Adressenworte mit ρ Bits, die verschiedene spezielle codierte Befehle darstellen und mit b-Bits sind, die einen von m verschiedenen Bitplätzen in einem Wort darstellen, v.'obel die verbleibenden n-p-b Bits einen Speicheradressenplatz eines zu verwendenden Operandenwortes darstellen, daß die arithmetische Einheit ein Eefohlsadressenrerister (TΛ70 und ein arithmetisches Eingaberegister (ATR) aufv;e 1st, daß ein Leitungsweg zwischen dem Systemspeicher und der arithmetischen Einheit unter Einschluß der Register (IAR) und (."-.TR) ausgebildet ist, daß Steuereinrichtungen zur überführung aufeinanderfolgend programmierter Befehlsadressenworte in das IAR-Register zu Beginn der aufeinanderfolgenden Operationsfolgen vorgesehen sind, wobei die Steuereinrichtungen Einrichtungen aufweisen, die während jeder Folge (1.) die Zuführung eines Operandenwortes von dem Speicherplatz,der dem Code der n-p oder n-p-b Bits entspricht, die von dem IAR-Register signalisiert werden, in das AIR-Register
    109815/06ÖÖ ·/·
    /743Ü6Ü
    durchführen und die (2.) die Funktion ausführen, die dem Code der ρ Bits entspricht, der durch das IAR-Register signalisiert wird, daß Einrichtungen zum Empfang der b Bitsignale voncfem IAR-Register vorgesehen sind, die das Signal eines ausgewählten Bits von dem AIR-Register zu einem ausgewählten Bit-Anschluß überführen, wobei das ausgewählte Bit einem Bit-Platz entspricht, der durch die b Bitsignale von dem IAR-Register dargestellt ist und daß Einrichtungen zur Nutzung des ausgewählten Bit-Signals an dem Anschluß vorgesehen sind, so daß irgendein gewünschtes Bit verschiedener gewünschter Cpeicherworte dem Bit-Anschluß durch Entnahme eines üpezialbefehls-Adressenwortes zugeführt werden kann.
    28. Digitalrechner nach Anspruch 27, dadurch gekennzeichnet, daß die Nutzeinrichtungen einen Bode1 sehen logischen Prozessor einschließen.
    29. Digitalrechner nach Anspruch 28, dadurch gekennzeichnet, daß ein Teil der Steuereinrichtungen auf die von dem IAR-Register signalisierten ρ Bits anspricht, um den Boole'sehen logischen Prozessor derart zu steuern, daß eine Boole'sehe Funktion ausgeführt wird, die dem Code der ρ Bits in einem entnommenen Spezialbefehlswort entspricht.
    30. Digitalrechner nach Anspruch 29, gekennze lehnet durch Einrichtungen zur Speicherung des Ausgcngssignals (LA) des logischen Prozessors an irgendeinen ausgewählten Bit-Platz eines gewünschten Wortplatzes des Systemspeichers.
    21. Digitalrechner nach Anspruch J50, dadurch gekennzeichnet, daß die Einrichtungen zur Speicherung des Ausgangssignals auf einen "Sicherstellungs"-Code ansprechen, der durch die ρ Bits eines Spezialbefehlswortes dargestellt ist, das in das IAR-Register überführt wurde,
    • 098 1 S/ 0600 ·/·
    daß Einrichtungen zur Zuführung eines Worten von der; üpr icher· platz, der durch die von dem IAR-Register signalisierten n-p-b Bits dargestellt ist, in das ATR-Rcgister vorgesehen sind und daß auf die b Eitsignale von dem IAR-Register ansprechende Einrichtungen zur Anpassung des ausgewählten Bits des zugeführten Wortes an das Ausgangssignal (LA) vor der Rückführung des entnommenen Wortes zurück in den ursprünglichen Speicherplatz vorgesehen sind.
    32. Digitalrechner nach rincm der vorhergehenden Ansprüche, dadurch gekennzeichnet, daü ? ir. taktgc:; tcuerter akkumulierender logischer Prozessor ohne Rückführung vorgesehen ist, der auf ein E in-B it-Eingangssignal (LE) anspricht, um ein logisches Kin-Bit-Antwortsignal (LA) auf das Ergebnis eines "LADE",-"UND" -, "GDER1'- oder "EXKLUSIV-ODER"-Operation umzuwandeln, die durch Funktionscodesignale dargestellt ist, daß der Prozessor ein TK-Flipflop mit J und K Steueranschlüssen, einem Takte ingang (CP) und einem Ausgangsanschluß (o), an dem das Antwortsignals (LA) erscheint, ausschließlich auf "LAl!E"Funktionscodesignale und das Eingangssignal (LB) ansprechende Einrichtungen zur Zuführung eines 1-Pegel-Signals an die .'- oder K-Anschlüsse, wenn sich das Eingangssignal (l£) auf einem 1- oder einem O-Pegel befindet, ausschließlich auf "u:;:"-Punktionscodesignale und das Eingangssignal (LB) ansprechende Einrichtungen zur Zuführung eines 1-Pegelsignals an den K-Anschluß nur dann, wenn das Eingangssignal (LB) einen O-Pegel aufweist, ausschließlich auf "ODER"-Funktionscodesignale und das Eingangssignal (LB) ansprechende Einrichtungen zur Zuführung eines 1-Pegel-Signals an den J-Anschluß nur dann, wenn das Eingangssignal (LB) einen 1-Pegel aufweist, und ausschließlich auf "EXKLUSIV-ODER"-Funktionscodesignale und das Eingangssignal (LE) ansprechende Einrichtungen zur Zuführung eines 1-Pegel-Signals an den .T- und den K-Anschluß nur dann, wenn das Eingangssignal LB einen 1-Pegel aufweist, einschließen, daß die vorstehend
    • 098 1 S/0600 ·/·
    BAD ORIGINAL
    /7A3Ü6Ü
    genannten Hinrichtungen Einrichtungen einschließen, die O-Pegelsignale an die T- und K-Anschlüsse mit Ausnahme der oben angegebenen Fälle anlegen, daß weiterhin Einrichtungen zur Zuführung eines Impulses an den Takteingang des T-K-Fllpflops vorgesehen sind wenn eine der vorstehend genannten Einrichtungen die jeweils angegebenen 1-Pegel-Signale angelegt hat, so daß das Antwortsignal (LA) einen neuen zwei mögliche Zustände aufweisenden Wert (LA ) entsprechend der Boole'sehen Funktionen LAn = LD, LAn = LA · LB,
    LA = LA +113 oder LA = LA (+) LB unabhängig von der no no
    Tatsache annimmt, daß das Signal LA nicht an der Operation der vorstehend genannten Einrichtungen teilnimmt.
    Digitalrechner nach Anspruch yi, gekennzeichn e t durch Einrichtungen zur selektiven Invertierung des E in gangs signals LB vor der Zuführung an die Einrichtungen zur Bestimmung der Pegel an den J- und K-Anschlüssen, so daß der Prozessor auf das in wahrer oder komplementierter Form vorliegende Eingangssignal anspricht.
    Digitalrechner nach Anspruch 32, dadurch g e k*e η η zeichnet, daß die die Pegel an den .T- und K-Anschlüssen steuernden Einrichtungen Einrichtungen zur Zuführung eines 1-Pegel-Signals an den T-Anschluß immer dann, wenn das Eingangssignal einen 1-Pegel aufweist und wenn die Operationscodcsignale eine "LADE"-, "ODER"- oder " "EXKLUSIV-ODER"-Funktion bezeichnen und Einrichtungen zur Zuführung eines 1-Pegelsignals an den K-Anschluß immer dann einschließen, wenn das Eingangssignal einen 1-Pegel aufweist und die Operationscodesignale eine "EXKLUSIV-ODER"-Funktion tee lehnen oder wenn das Eingangssignal einen O-Pegel aufweist und die Operationscodesignale eine "LADE"- oder "UiJD"-Funktion bezeichnen.
    109815/0600
    / Ί U 3 C) h U
    35· Digitalrechner nach Anspruch yh, dadurch gekennzeichnet , daß die den Pegel an J-Anschluß steuernden Einrichtungen ein erstes UND-Gatter aufweisen, das das Eingangssignal (LB) empfängt und das durch irgendv;elche Operationscodesignale mit Ausnahme der Informationscodesignale betätigt wird, die eine "UND"-Funktion bezeichnen, daß die den Pegel an dem K-Anschluß steuernden Einrichtungen ein EXXLUSIV-ODER-Gatter, das zum Empfang des Einganrssignals (LB) und eines "Freigabe-Invertiert"-Signals von Jodesignalen, die eine "LADE"- oder "UND"-Funktion darstellen, angeschaltet ist, und ein zweites UND-Gatter aufweisen, das den Ausgang des EXKLUSIV-CDER-Gatters empfängt urri durch irgendwelche Operationscodesignale betätigt wird, rait Ausnahme der Codesignale, die eine "ODER"-Funktion bezeichnen und daß die Ausgänge der ersten und zweiten UND-Gatter mit den .T- bzw. K-Anschlüssen verbunden sind.
    J56. Digitalrechner nach Anspruch 35, dadurch gekennzeichnet, daß die Opera tionr code signale drei jeweils zwei mögliche Zustände aufwe!sende Signale (L2, Ll, LO) umfassen, die so codiert sind, daß "LADEN" als 1,1*, 1; "UND" als 1,0,1; "ODER" als 0,1,0 und "EXCLUSIV-ODER" als 1,1,0 bezeichnet 1st und daß das Signal Ll als ein Eingang dem ersten UND-Gatter zugeführt wird, während das Signal LC dem EXKLUSIV-ODER-Gatter zugeführt wird und das Signal L2 dem zweiten UND-Gatter zugeführt wird.
    Digitalrechner nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß ein taktgesteuerter akkumulierender logischer Prozessor ohne Rückführung vorgesehen ist, der auf ein einziges zwei mögliche Zustände aufweisendes Eingangssignal (LB) anspricht, um ein einziges zwei mögliche Zustände aufweisendes Antwortsignal (LA) auf das Ergebnis einer "LADE11-, "UND"-, "ODER11- oder "EXKLUSIV-ÖDER"-Operation umzuwandeln, die durch Funktions codesignale dargestellt ist, daß der Prozessor ein JK-Flip-
    IO981 5/060Ö
    BAD ORIGINAL
    2743Ü60
    flop mit J und K 3teueranschlüssen, einem Takte indane und einen Ausgangsanschluß (Q) , an dem das Antwortsignal (LA) erscheint, Einrichtungen zur Zuführung eines 1-Pegelslgnals an den ,!-Anschluß nur dann, wenn das Eingangssignal (113) einen 1-Pegel aufweist und die ^unktionscodesignaIe irgendeine Operation mit Ausnahme der "UND"-Operation bezeichnen, Einrichtungen zur Zuführung eines 1-Pegelsignals an den K-Anschluß nur dann, wenn das Eingangssignal einen O-Pegelaufweist und die Funktionscodesignale eine "LADE"- oder eine "UND"-Operation bezeichnen oder wenn das Eingangssignal einen 1-Pegel aufweist und die Funktionscodesignale eine "EXKLUSIV-CDLR"-Operation bezeichnen, und Einrichtungen zur Zuführung eines Taktimpulses an den Takteingang nachdem irgendwelche Funktiunscodesignale und das Eingangssignal (LE) an dIe vorstehend genannten Einrichtungen angelegt wurden, einschließt, und daß das Antwortsignal (LA) einen neuen Wert (LAn) entsprechend der Booleschen Funktionen (LA„ = LB) für"LADEN", LA„ = LA„ · LB für "UND", LAn = LA + LB für "ODER" und LAn = LAQ © LB annimmt, und zwar unabhängig von der Tatsache, daß das Antwortsignal nicht an die vorstehend genannten»Einrichtungen angelegt ist und ihre Betriebsweise nicht beeinflußt.
    809815/0600
DE19772743060 1976-09-24 1977-09-24 Digitalrechner Granted DE2743060A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/726,277 US4212076A (en) 1976-09-24 1976-09-24 Digital computer structure providing arithmetic and boolean logic operations, the latter controlling the former

Publications (2)

Publication Number Publication Date
DE2743060A1 true DE2743060A1 (de) 1978-04-13
DE2743060C2 DE2743060C2 (de) 1987-01-15

Family

ID=24917930

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19772743060 Granted DE2743060A1 (de) 1976-09-24 1977-09-24 Digitalrechner

Country Status (4)

Country Link
US (1) US4212076A (de)
JP (1) JPS5942892B2 (de)
DE (1) DE2743060A1 (de)
GB (2) GB1555609A (de)

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4525776A (en) * 1980-06-02 1985-06-25 Bell Telephone Laboratories, Incorporated Arithmetic logic unit arranged for manipulating bits
DE3130746C2 (de) * 1981-08-04 1985-01-31 Dr. Johannes Heidenhain Gmbh, 8225 Traunreut Verfahren zur Programmsteuerung bei einer freiprogrammierbaren Steuerung und Anordnung zur Durchführung des Verfahrens
DE3302940A1 (de) * 1983-01-28 1984-08-02 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung mit wort- und bitprozessor
US4583169A (en) * 1983-04-29 1986-04-15 The Boeing Company Method for emulating a Boolean network system
US4688191A (en) * 1983-11-03 1987-08-18 Amca International Corporation Single bit storage and retrieval with transition intelligence
US4831521A (en) * 1983-11-10 1989-05-16 General Signal Corporation Vital processor implemented with non-vital hardware
US6552730B1 (en) 1984-10-05 2003-04-22 Hitachi, Ltd. Method and apparatus for bit operational process
US5034900A (en) * 1984-10-05 1991-07-23 Hitachi, Ltd. Method and apparatus for bit operational process
US5265204A (en) * 1984-10-05 1993-11-23 Hitachi, Ltd. Method and apparatus for bit operational process
GB8620596D0 (en) * 1986-08-26 1986-10-01 Veeder Root Ltd Tachograph
US5327571A (en) * 1990-04-03 1994-07-05 Advanced Micro Devices, Inc. Processor having decoder for decoding unmodified instruction set for addressing register to read or write in parallel or serially shift in from left or right
IT1247640B (it) * 1990-04-26 1994-12-28 St Microelectronics Srl Operazioni booleane tra due qualsiasi bit di due qualsiasi registri
US5493687A (en) * 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
US5539911A (en) 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
DE69311330T2 (de) 1992-03-31 1997-09-25 Seiko Epson Corp Befehlsablauffolgeplanung von einem risc-superskalarprozessor
EP0638183B1 (de) 1992-05-01 1997-03-05 Seiko Epson Corporation Vorrichtung und verfahren zum befehlsabschluss in einem superskalaren prozessor.
US5628021A (en) 1992-12-31 1997-05-06 Seiko Epson Corporation System and method for assigning tags to control instruction processing in a superscalar processor
KR100292300B1 (ko) 1992-12-31 2001-09-17 야스카와 히데아키 레지스터재명명시스템및방법
DE4430195B4 (de) * 1993-12-13 2004-09-23 Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto Verfahren zur Auswertung von Booleschen Ausdrücken
US5459841A (en) * 1993-12-28 1995-10-17 At&T Corp. Finite state machine with minimized vector processing
TW305973B (de) * 1995-02-15 1997-05-21 Siemens Ag
US6114639A (en) * 1998-06-29 2000-09-05 Honeywell International Inc. Configurable switch
US6463339B1 (en) * 1999-09-27 2002-10-08 Rockwell Automation Technologies, Inc. High reliability industrial controller using tandem independent programmable gate-arrays
US7119576B1 (en) 2000-09-18 2006-10-10 Altera Corporation Devices and methods with programmable logic and digital signal processing regions
US7346644B1 (en) 2000-09-18 2008-03-18 Altera Corporation Devices and methods with programmable logic and digital signal processing regions
US7383421B2 (en) * 2002-12-05 2008-06-03 Brightscale, Inc. Cellular engine for a data processing system
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
DE102005050382B4 (de) * 2005-10-20 2012-08-09 Infineon Technologies Ag Prozessor zum Prüfen einer Bedingung für eine bedingte Ausführung eines Programmbefehls
US7451293B2 (en) * 2005-10-21 2008-11-11 Brightscale Inc. Array of Boolean logic controlled processing elements with concurrent I/O processing and instruction sequencing
EP1971956A2 (de) * 2006-01-10 2008-09-24 Brightscale, Inc. Verfahren und vorrichtung zur terminierung der verarbeitung von multimediadaten in parallelverarbeitungssystemen
US8266199B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8041759B1 (en) 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US8266198B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US7836117B1 (en) 2006-04-07 2010-11-16 Altera Corporation Specialized processing block for programmable logic device
US7822799B1 (en) 2006-06-26 2010-10-26 Altera Corporation Adder-rounder circuitry for specialized processing block in programmable logic device
US20080244238A1 (en) * 2006-09-01 2008-10-02 Bogdan Mitu Stream processing accelerator
US20080059763A1 (en) * 2006-09-01 2008-03-06 Lazar Bivolarski System and method for fine-grain instruction parallelism for increased efficiency of processing compressed multimedia data
WO2008027567A2 (en) * 2006-09-01 2008-03-06 Brightscale, Inc. Integral parallel machine
US20080059467A1 (en) * 2006-09-05 2008-03-06 Lazar Bivolarski Near full motion search algorithm
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7930336B2 (en) * 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US7814137B1 (en) 2007-01-09 2010-10-12 Altera Corporation Combined interpolation and decimation filter for programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US7865541B1 (en) 2007-01-22 2011-01-04 Altera Corporation Configuring floating point operations in a programmable logic device
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US7949699B1 (en) 2007-08-30 2011-05-24 Altera Corporation Implementation of decimation filter in integrated circuit device using ram-based data storage
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8244789B1 (en) 2008-03-14 2012-08-14 Altera Corporation Normalization of floating point operations in a programmable integrated circuit device
US8626815B1 (en) 2008-07-14 2014-01-07 Altera Corporation Configuring a programmable integrated circuit device to perform matrix multiplication
US8255448B1 (en) 2008-10-02 2012-08-28 Altera Corporation Implementing division in a programmable integrated circuit device
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8549055B2 (en) 2009-03-03 2013-10-01 Altera Corporation Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8805916B2 (en) 2009-03-03 2014-08-12 Altera Corporation Digital signal processing circuitry with redundancy and bidirectional data paths
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8886696B1 (en) 2009-03-03 2014-11-11 Altera Corporation Digital signal processing circuitry with redundancy and ability to support larger multipliers
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US7948267B1 (en) 2010-02-09 2011-05-24 Altera Corporation Efficient rounding circuits and methods in configurable integrated circuit devices
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8458243B1 (en) 2010-03-03 2013-06-04 Altera Corporation Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8539014B2 (en) 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9379687B1 (en) 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device
US10769329B1 (en) * 2019-04-03 2020-09-08 Synopsys, Inc. Retention model with RTL-compatible default operating mode

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3500466A (en) * 1967-09-11 1970-03-10 Honeywell Inc Communication multiplexing apparatus
DE2330102A1 (de) * 1972-10-13 1974-04-25 Plasser Bahnbaumasch Franz Verfahren und maschine zum verdichten der schotterbettung eines gleises, insbesondere unter gleichzeitiger verbringung dieses gleises in die soll-hoehenlage

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3849765A (en) * 1971-11-30 1974-11-19 Matsushita Electric Ind Co Ltd Programmable logic controller
JPS544584B2 (de) * 1972-08-19 1979-03-08
US3878514A (en) * 1972-11-20 1975-04-15 Burroughs Corp LSI programmable processor
US3922538A (en) * 1973-09-13 1975-11-25 Texas Instruments Inc Calculator system featuring relative program memory
US3942158A (en) * 1974-05-24 1976-03-02 Allen-Bradley Company Programmable logic controller
US3990052A (en) * 1974-09-25 1976-11-02 Data General Corporation Central processing unit employing microprogrammable control for use in a data processing system
FR2288352A1 (fr) * 1974-10-15 1976-05-14 Burroughs Corp Appareil et procede de traitement de donnees par association
US3939335A (en) * 1974-11-26 1976-02-17 Texas Instruments Incorporated Universal condition latch in an electronic digital calculator

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3500466A (en) * 1967-09-11 1970-03-10 Honeywell Inc Communication multiplexing apparatus
DE2330102A1 (de) * 1972-10-13 1974-04-25 Plasser Bahnbaumasch Franz Verfahren und maschine zum verdichten der schotterbettung eines gleises, insbesondere unter gleichzeitiger verbringung dieses gleises in die soll-hoehenlage

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DE-Firmenschrift der Siemens u. Halske AG Datenverarbeitungsanlage 3003, Befehlsliste NV Bs 107/1 Mai 1963, S. 18 - 23 *
US-Buch "Planning a Computer System", Mc Graw-Hill, 1962, S. 76-78 u. 87-89 *

Also Published As

Publication number Publication date
GB1555609A (en) 1979-11-14
JPS5942892B2 (ja) 1984-10-18
DE2743060C2 (de) 1987-01-15
JPS5448137A (en) 1979-04-16
US4212076A (en) 1980-07-08
GB1557610A (en) 1979-12-12

Similar Documents

Publication Publication Date Title
DE2743060A1 (de) Digitalrechner
DE4302495C2 (de) Einrichtung und Verfahren zum Bestimmen der Länge eines Befehls in einem sequentiellen Befehlsstrom
DE2322674C3 (de) Mikroprogramm-Steuereinrichtung
DE2524046C2 (de) Elektronische Datenverarbeitungsanlage
DE1303416B (de)
DE2023354A1 (de) Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit
DE1901228A1 (de) Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers
DE2910839A1 (de) Einrichtung zur ausfuehrung einer speziellen verzweigungsinstruktion
DE2524229A1 (de) Datenverarbeitungssystem mit pyramidenfoermiger hierarchie des steuerflusses
DE2321112A1 (de) Elektrische signalverarbeitungsanlage
DE2248296A1 (de) Programmsteuereinrichtung
DE2318069A1 (de) Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix
DE2715073A1 (de) Mikroprogrammierte rechner-steuervorrichtung
DE2440628A1 (de) Datenverarbeitungsanlage mit mikroprogrammierung
DE2719278B2 (de) Schaltungsanordnung für hintereinander geschaltete Steuereinheiten zum Anschluß von Ein/Ausgabegeraten an eine Datenverarbeitungsanlage
DE1179027B (de) Speicherprogrammierte digitale Rechenanlage
DE2336333A1 (de) Elektronischer tischrechner mit in mos-technik ausgefuehrter logischer schaltung
DE1193279B (de) Elektronen-Ziffernrechner mit eingespeichertem Programm
DE2906685A1 (de) Instruktionsdecodierer
DE1524117B1 (de) Datenverarbeitungsanlage mit Umlaufregistern
DE1184122B (de) Addiervorrichtung
DE1223177B (de) Elektronischer Digitalrechner mit Schaltung fuer die Errechnung der Quadratwurzel aus einer Binaerzahl
DE1194605B (de) Verbesserung an Geraeten zur Verarbeitung von Angaben, Informationen od. dgl.
DE1283895B (de) Codeumsetzer zum Umsetzen eines beliebigen Eingangscode in einen beliebigen Ausgangscode
DE1212748B (de) Datenverarbeitende Maschine mit Programmunterbrechung

Legal Events

Date Code Title Description
OAP Request for examination filed
OD Request for examination
D2 Grant after examination
8363 Opposition against the patent
8330 Complete disclaimer