DE2743060A1 - DIGITAL COMPUTER - Google Patents
DIGITAL COMPUTERInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition 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)
- Programmable Controllers (AREA)
Description
Patentanwälte D:p;.-lng. Curt WallachPatent Attorneys D : p ; .-lng. Curt Wallach
Dipl.-Ing. Günther KochDipl.-Ing. Günther Koch
Dipl.-Phys. Dr.Tino HaibachDipl.-Phys. Dr Tino Haibach
Dipl.-Ing. Rainer FeldkampDipl.-Ing. Rainer Feldkamp
D-8000 München 2 · Kaufingerstraße 8 ■ Telefon (0 89) 24 02 75 Telex b 29 513 wakai d D-8000 Munich 2 · Kaufingerstraße 8 ■ Telephone (0 89) 24 02 75 Telex b 29 513 wakai d
Datum: <_/',, bf. ρ4:*: i:.!.». ■" 1>7V Date: <_ / ',, bf. ρ 4 : *: i:.!. ». ■ "1> 7V
Unser Zeichen: .Our sign: .
Lrv;l.:,Lrv; l.:,
F on O clu Lau, w i:..con:, Ln, L\F on O clu Lau, w i: .. con :, Ln, L \
•09815/0600• 09815/0600
BAD ORIGINALBATH ORIGINAL
BESCHREIBUNGDESCRIPTION
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.The invention relates generally to programmable digital computers and, more particularly, relates to digital computers, in which there is the possibility of processing individual bits that are recorded in words in a memory of the system processed according to Boolean logic.
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.As such, programmable artithmetic digital computers are available known. "Programmable control devices" are also known and in use, which are essentially single-bit processors operating on Boolean logic. It is true that digital computers and programmable control devices have already been interconnected in such a way that one part of the arrangement can affect the operation of the other part, but such arrangements are complicated and expensive. As far as known So far, no single device is available that is suitable for both arithmetic computing tasks of the usual kind as well as to perform Boolean logic processing, and where it is possible to execute to make programmed arithmetic operations dependent on previously programmable chained processing steps have been carried out according to Boolean logic.
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, dieThe invention is based on the object of creating a digital computer which not only enables programmable Way to carry out arithmetic and related operations of a known type, but also individual ones Process bits of different words in the system's memory in a programmable manner according to Boolean logic. Furthermore, such a "combined" should be programmable Calculator for arithmetic and logical operations will be created in which it is possible to use several of the hardware parts that
109815/0600109815/0600
λ 7 4 3 U b O λ 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-a digital arithmetic calculator to perform many of the additional functions which enable programmable logic processing, resulting in a computer that can be used in two ways, which is cheaper, smaller and easier to program compared to known computers. Furthermore, it should be the Invention enable the logical processing command address words and the multi-bit words of logic operand signals which can be switched on and off in a memory of the system to record them, to output them as well as to input them, just as if it were conventional arithmetic Command address words or numeric data words. No special memory organization is required here or special control devices, and in fact external devices, e.g. switches or flip-flops, that are used to generate logic bits for input or output signals are treated almost as if they were bits of words represented in a core or large scale integrated storage be kept ready. According to the invention, parts of an otherwise designed in a known manner are also intended Digital arithmetic calculator used to participate in performing programmed logical processing of a single bit, the program steps for the logical processing being essentially random can be nested with the program steps for arithmetic functions. Thus, a "combined arithmetic Computer and logical processing arrangement "created regarding the total computation options, the flexibility and the ease of programming is superior to an arrangement as it is better known in a simple combination of a digital computer Art would result with a programmable controller of known type. In this sense a "combined Computer and processor "are created in which the execution and the result of arithmetic steps qualify and from the result of previously performed programming
809815/0600809815/0600
ter Einzelbitschritte nach der Booleschen Logik abhängig machen läßt.the single bit steps can be made dependent according to the Boolean logic.
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 bekannteFurthermore, a "combined computer and processor" is to be created in which it is possible to concatenate the result Boolean logic operations on any bit of different words in the system's memory "store", regardless of whether these words are held in an ordinary memory, e.g. in memory cores , or in external devices, e.g. flip-flops for controlling motors, valves and the like, wherein This mode of operation can be achieved by simply programming the "input" of a logical result in a selected bit a selected memory address can be achieved. In connection with this, a digital computer is to be created that it enables a logical response signal to a selected bit of a selected one as a function of coded command words To transmit a word in the memory or to carry out an "intermediate storage" or alternatively from the selected bit of the selected word to make a 1 (set), an O (reset) or the opposite signal (invert). Furthermore, it should be made possible according to the invention, the trained in a known manner instruction address register Digital computer of known type to use to receive instruction words, by means of which conventional arithmetic Functions are required, as well as special command words to be included for the execution of functions according to the Boolean logic apply. In the latter case, certain bits of the output signal of the command address register are decoded, to generate logic signals that determine operations, with certain other bits serving to define a certain Bit of a word to be selected as a logical operand, and further other bits are used as an address to a Bit containing word to choose and to take it from the memory. Furthermore, according to the invention, the known
80981 5/060080981 5/0600
ι*ι *
-X--X-
27Α306027Α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.Wise designed arithmetic input registers of an ordinary digital computer are used to receive a data word, since r ; contains a desired logical single bit operand, and to supply from the register from an input of a processor for operations according to the Boolean logic the relevant operand bit of said word, which is determined by the combination of certain bit signals from the instruction address register and contains a special logical instruction. Finally, in a "combined computer and processor", economical use of the hardware should be made possible by means of a device which normally responds to an arithmetic instruction of the usual type, but which reacts in a different way to a special logical instruction code format, the bits of the Both types of commands are present in the same number, but the binary bit selection signals containing the special command are present at predetermined bit positions.
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 denAccording to the invention, this object is achieved by creating a Digital computer solved, the structure of which is expedient and relatively simple, which is not only suitable for conventional arithmetic To perform operations according to a program, but rather which enables 1. concatenated processing steps according to the Boolean logic for any selected bit of any of different selected words held ready in the memory, 2. the result of the logical processing to utilize by the fact that the result at any selected bit position within any of the various to store selected words recorded in memory and / or 3. to cause the execution of various predefined under commands within a program according to the Results of previously performed logical single-bit processing steps, and in which the logical processing takes place as a function of command words encoded in a special way, which within a Qesamtprogramm randomly with the
809815/0600809815/0600
zeze
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.Instruction steps for the conventional arithmetic operations can be nested. Existing registers and device parts are used to a large extent are required for conventional arithmetic operations in order to supply or extract signals from the logical processor, and very little additional hardware is required to do the logical processing that does To effect storage and the creation of the aforementioned dependency.
Ein Ausführungsbeispiel der Erfindung wird im folgenden anhand schematischer Zeichnungen näher erläutert. Es zeigt:An embodiment of the invention is explained in more detail below with reference to schematic drawings. It shows:
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. 1 is a generalized block diagram of an inventive Digital computer in which the main parts that are related to one another partly correspond their structure and on the other hand are shown according to their function;
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;2a and 2b as a whole than FIG. 2 shows a more detailed block diagram a digital arithmetic computer which is suitable for logical processing steps according to the Perform boolean logic;
Fig. 3 ein ausführlicheres Blockschaltbild des auch in Fig. 2a dargestellten Befehlsadressenregisters;Fig. 3 is a more detailed block diagram of the also in Fig. 2a shown instruction address register;
Fig. t* den Aufbau einer in Fig. 2a nur schematisch angedeuteten Direktdecodierschaltung;FIG. T * shows the structure of a direct decoding circuit which is only indicated schematically in FIG. 2a;
Fig. 5 den Aufbau eines Phasensequenzgenerators und eines Haupttaktgebers, die in Fig. 2a nur schematisch angedeutet sind;5 shows the structure of a phase sequence generator and a main clock generator, which are only indicated schematically in FIG. 2a are;
Fig. 6 und 7 über der Zeit aufgetragene Wellenformen zur Ver-6 and 7 waveforms plotted against time for comparison
809815/0600809815/0600
-ΡΑ / L\ ό U D O -ΡΑ / L \ ό UDO
anschaulichung verschiedener ,'Jignale, die in der Rechneranordnung während des betriebs bei bestimmten Befehlsfolgen auftreten;illustration of various 'Jignale' in the Computer arrangement occur during operation with certain command sequences;
Fig. 8 ein Schaltbild zur Veranschaulichten/^ der Verbindungen zwischen dem Phasenfolgegenerator und einem Festwertspeicher zum Erzeugen codierter Eingangssignale für einen Mikroprogramm-Festwertspeicher;Fig. 8 is a circuit diagram to illustrate / ^ the connections between the phase sequence generator and a read-only memory for generating encoded input signals for a microprogram read only memory;
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;9 shows the block diagram of a microprogram read-only memory and the associated decoders for generating different combinations of control signals at different times depending on the Processing various commands;
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;10 is a detailed block diagram of a Boolean logic processor used for Implementation of the invention is suitable and indicated only schematically in FIGS. 1 and 2a;
Fig. 11 ein funktionelles Blockschaltbild eines Ausführungsbeispiels für einen Systemspeicher, der in Fig. 2b nur schematisch angedeutet ist; undFIG. 11 shows a functional block diagram of an exemplary embodiment for a system memory which is shown in FIG. 2b is only indicated schematically; and
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.12 is a fragmentary block diagram illustrating the manner in which certain words of the system memory are generated with the aid of external hardware components such as switches and flip-flops, each of these hardware devices representing a logic bit that can be sensed or a logic bit; which can not only be felt, but also put into one or the other of two possible states.
109815/0600109815/0600
ίVAJU ο O ί 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.In the following description, reference is also made to Tables I to VII, which supplement FIGS. 1 to 12 serve and are attached at the end of the description for reasons of expediency.
1. Einleitung 1. Introduction
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.In Fig. 1 is an embodiment of an inventive Digital computer shown partly according to its structure and partly according to its mode of operation. First, consider the programmable basic system for arithmetic digital computing processes; to a central unit CPU includes an arithmetic unit 100 and a control unit 200, which is connected by a rail 10 with multiple lines a read and write system memory 300 are connected. The memory 300 is formed in a known manner, i.e. it has multiple storage locations for receiving, holding, and reporting multi-bit words with each bit one of two Values, i.e. the value 0 or the value 1. Each multi-bit word is stored in a location that is indicated by a unique address is designated. Some of the words stored in memory are arithmetic Command address words which, by their special nature, form a software program that is stored in memory prior to the start of the Arithmetic operations can be entered. In contrast, some of those in memory are others Convert stored words to numeric data words that are used in sequential arithmetic calculations or as a result of which can be used and / or modified. These command words and the arithmetic data words are shown in FIG 300a and 300b, respectively, in order to show that they are of fundamentally different types.
Die Steuereinheit 200, zu der ein Taktgenerator und ein Programmzähler gehören, die in Fig= 1 nicht dargestellt sind,The control unit 200, to which a clock generator and a program counter are not shown in FIG = 1,
109815/0600109815/0600
17 4 3 ϋ 6 O 1 7 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.is used to sequentially execute successive commands of a program and the various facilities control within the entire recimer during each a step is performed which is indicated by a command word. You could use the digital computer and his Build control unit 200 in a known manner so that it is possible to use several in dependence on a single command Perform work sequences such as addressing an index, double precision calculations, and multiple steps extensive calculations such as multiplication, division or taking the square root, but is the one to be described below arithmetic calculator only for the sake of simplicity and brevity depending on the implementation of a work sequence limited by each command word. Thus, for the purposes of the description to be given, it can be assumed that the Control unit 200 causes the computing system to go through successive sequences of operations if it is successive retrieves and uses any command words. In one type of such operations sequence, the control unit performs Address signals over the multi-conductor address rail 11 to the memory 300 to cause it to write a command address word from the desired memory location to the rail 10 so that the desired command address word in the Control unit is transferred.
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 oderThe control unit then sends the address contained in the command word called up to the memory 300 via the rail 11 to in order to cause the memory to read the data word from the address memory sections via the rail 10 of the arithmetic Unit 100 to be fed. The control unit 200 then carries out signals which are derived from the command part of the retrieved word are, via a line path 13 to the arithmetic part 100 in order to cause it to carry out the corresponding function, e.g. the supplied number data word to a previously add the word entered to the arithmetic unit or
809815/0600809815/0600
davon abzuziehen.deduct from it.
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.The results of a sequence of arithmetic calculations that use consecutive data words as operands can be routed back to a specific address location in memory to be used at a later time used or given to external institutions. In the case of a "storage operation" of this type, a retrieved Command address word the control unit 200, the arithmetic unit 100 via the conduction path 13 a command signal so that the arithmetic unit sends its arithmetic answer word accumulated up to that point to the rail 10 outputs, whereupon the control unit causes the memory 300 to store the bits of this' continued as they are in the Rail appear in a location corresponding to the address represented by the fetched instruction address word is equivalent to.
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-These arithmetic operations, which are treated here only with the utmost briefness and which are discussed in more detail below, enable successive arithmetic operations to be carried out (e.g. addition, subtraction or division), and the result obtained is stored again in the memory to be used at a later point in time or to be output via an external device such as a cathode ray tube, printer or the like. Just to give a simple example, let us assume that a short numerical calculation process is carried out as a function of a previously introduced program, the program comprising the following steps: a) Extracting the number A from memory location 124, b) Adding the number B from storage location 126, c) subtracting number C from storage location 130, d) dividing the result by 2, and e) storing the result in storage location 140 where it can be viewed as number D. Each such numeric or w data "number is written in binary
809815/0600809815/0600
/743060/ 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.wise at the different bit positions of a numeric data word represented by a 1 or a 0; each command word is made up of a similar number of two-valued bits together, which are contained in the memory in a specific address, with a first group of the bit values in a predetermined Code format denotes the type of operation to be performed in question, and a second group of the Bit values in binary notation denote the number of the memory address at which the operand (or the arithmetic Answer) can be found or saved in the system's memory.
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:For numerous applications programmable alphanumeric? Digital computers and especially when processes or machines should be controlled depending on changes in perceived values or changing conditions, so that the values of variable quantities calculated step by step are changed, it is desirable to have numerous switches that can be switched on and off Devices, e.g. limit switches, safety pressure switches, motor contactors and the like, to be scanned in order to detect logical Way of determining whether the combination of their states has a predetermined relationship, i.e. a Boolean equation, and switch certain external devices on or off if the conditions are not met. Instead of programmable control devices are already used by switches and relay circuits. For example, if four switches S1 - S4 and a relay R1 for controlling a motor for driving a coolant pump are present, it can be at a specific one Control device may be desired to turn on the motor when and only when the switch S1 is closed, or when switches S2 and S3 are closed while switch S4 is open. The following Boolean equation would do this are valid:
S1 + (S2 + S3) · STf = R1S1 + (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.Each switch can be viewed as a bit of a word in memory, with the bit as a binary value either has the value 0 or the value 1 when the switch is open or
8098 1 5/06008098 1 5/0600
? "I U 3 Li ο J ? "IU 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.closed is; the relay can be viewed as a stored bit that should be set to 1 when the conditions of the above equation are fulfilled, and that should be set to 0 (switching off relay R1) if the conditions of the equation are not met.
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,As shown functionally in FIG. 1, the memory 300 contains special address memory parts 300c in some of its address memory parts logical command address words. Furthermore, the memory can contain logical multi-bit data words 30Od. Becomes a certain Program step reached in which a special logical command word is called up and supplied to the control unit 200 is to be, the control unit decodes the command part of the multi-bit word, so that a logical operation code which is fed to a logical processor 400 via a line path 14. The control unit also reacts 200 to the address part of the special logical instruction word called up in order to transmit address signals via the rail 11 so that the memory 300 is caused to supply the rail 10 with the data word corresponding to the address. Though the data word is fed to the arithmetic unit 100, but the latter does not have any operand with regard to this word arithmetic function. Rather, a bit selection code is created by a specific bit group of the command words retrieved is fed to the arithmetic unit 100 via a conduction path 15 to cause a selected Bit signal of the data word via the line path 16 as a single-bit operand input signal LB to the logic processor 400 is fed. Then the processor merges a function with respect to the operand according to the Boolean logic with every pre-existing logical answer LA. These logical functions include, for example, the functions LOAD, AND, OR and XR. The logical result LA is fed in inverted form as signal LA "via a line path 17 to the control unit 200,
809815/0600809815/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.the operation of the control unit under certain conditions to modify in a manner yet to be explained. Keep the logical result LA and its inverted form EA * their respective fixed binary values of 0 or 1 until they are commanded by another logical processing operation to be changed.
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.A method of using the logical response signal LA after it has been generated by one or more concatenated ones Boolean operations consist in storing the signal in a selected bit position of a selected word in memory will. This process, referred to herein as "caching", removes it from storing an arithmetic to differentiate calculated result is carried out depending on a special logical command word, which is called up from the memory 300 and supplied to the control unit 200. The operand word, which the desired Bit is then transferred from the memory 300 to the arithmetic unit 100, and the bit address code part of the retrieved word causes the selected bit value of the operand word via the line path 16 as the signal LB dem logical processor 400 is supplied. With the help of facilities yet to be described, the logical processor uses the input signal LB in connection with the already existing logical response signal LA for generating a bit control signal BC. The signal BC is fed back to the arithmetic unit via a conduction path 18 and also to a device which causes the original operand word along with the selected bit, which is forced, with the logical result LA match, is entered via the rail 10 to the memory 300 at the memory location which is identified via the address rail 11 by the address bits of the instruction originally fetched.
Zusätzlich zu den vorstehend beschriebenen Vorgängen kann jedesIn addition to the operations described above, any
809815/0600809815/0600
2743U6U2743U6U
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.Word can be extracted from the memory 300 and transferred into the arithmetic unit 100, specifically as a function from a special logical command word which is called up and supplied to the control unit 200 and which designates the function, that a selected bit of a predetermined word is forced to assume the value 1 (SET) or the value 0 (RESET) or to change into the opposite state (INVERTIEREK) before the operand word returns to its original Address location in memory is returned.
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.The foregoing brief introductory explanation with reference to FIG. 1 shows in a very general way how it is with The aid of a few additional parts in an arithmetic calculation system constructed in a generally known manner according to FIG of the invention is possible to perform programmable logic processing. More details of the structure and the mode of action and the achievable advantages emerge from the following description of further details.
2. Grundsätzlicher Aufbau des arithmetischen Systems 2. Basic structure of the arithmetic system
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 SpeichersteuerschaltungAccording to FIGS. 2a and 2b, the system memory 300 includes output lines 301, which can be connected to rail 10 of the system when a multi-bit gate Gmr is actuated, in order to input the signals to the rail 10 which correspond to a word stored in a certain position. The word storage location is selected with the aid of numerically coded signals which are fed to the address rail 11 at the respective point in time and the reading process is initiated by a control signal MEM. Conversely, the input lines take 302 the memory 300 always receives signals from the rail 10; the supplied signals are stored in a memory address, which is designated by signals supplied via the address rail 11, but only if a Enable or write signal BTM 'of the memory control circuit
809815/0600809815/0600
I*I * ? 7 Λ 3 U B J? 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.is fed. By entering a word with 10 bits the content previously stored there is deleted in a specific memory location.
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. In order to avoid unnecessary details which would only impair an understanding of the invention and its advantages, a highly simplified embodiment of a typical arithmetic computer system is described below. It is assumed here that the system memory 300 is designed in a known manner as a core or large-scale integrated memory mic only 1024 word address locations, each word having a length of 16 bits. The input lines 301 and the output lines 302 each have 16 conductors, and the rail 10 also contains 16 conductors, so that at any point in time 16 bit signals can be transmitted which represent a word. Rail 11 includes 10 conductors, and the combinations of voltage values 0 and 1 that appear on these conductors allow each address of a decimal value from 0 to 1023 to be represented in binary notation. If signals appear in the address rail 11 'which represent the decimal value 285 in binary notation, it can thus be assumed that the word at the address position 285 is transferred from the memory to the rail 10 when the read signal MEH is present; otherwise, a new form of the word is entered via the rail 10 of this address position when the write signal BTM 1 is present. Of course, the memory and the rail could be expanded to 18 bits per word to enable parity checking, but this known refinement is omitted here to simplify the description.
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 AdressenschieneThe only existing rail 10 in the system can receive signals from one of several sources will. If one of the gates Gmr, Gad, Gr or Gatb is enabled, the signals are sent to memory 300, the address rail
80981 5/060080981 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.11, an exclusive 0DER arrangement 106 or an accumulator 104. It is thus possible to supply the rail 10 with bit signals of a multi-bit word in each case from the device through which one of these gates is fed. The signals fed to the rail 10 in its lower run along the edge of Fig. 2 may be amplified by a rail amplifier 12 before reaching the portion of the rail shown in the upper part of Fig. 2, but is only one only rail 10 available for the entire system. Signals applied to the rail can each be "accepted" by any of a number of devices provided with presetting input terminals connected to the conductors of the rail, but only if the device in question receives a pre-set enable signal 11 The manner in which such enable signals are supplied to an arithmetic input register 102, an instruction address register 202, a program counter 226 or the memory 300 will be explained below Rail signals to be fed in parallel to it and to be stored is enabled when an enable signal AIR 1 , which is taken from a logic UIiD circuit 101, results from the fact that two signals AIR and CLK both have the value 1.
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 BThe arithmetic unit 100 shown in FIGS. 2a and 2b is shown in a greatly simplified manner, the arithmetic input register 102, also referred to as AIR, belongs to which it is an i6-bit 3 storage register known commercially Art acts. The output of the register 102 leads to a 16-bit input B of a known commercially available arithmetic logical unit ALU with a second 16-bit input A. The unit ALU carries out an arithmetic or logical treatment or a combination of the two 16-bit input signals A and B
80981 5/060080981 5/0600
? 74 3''K-J? 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.corresponding to that of several command input terminals that can be used as required, each of which has a release voltage with the value 1 is supplied. The result appears in the output lines of the ALU unit in the form of a 16-bit result signal F. It is true that the unit ALU can receive additional command signals and other arithmetic or logical signals Perform operations on signals that are supplied through either or both inputs A and B, but will In the following, only five arithmetic logic functions are described for explanation, each of which runs when an enable voltage is supplied to one of the five control terminals on the right-hand side of the unit ALU according to FIG. 2a. V.'ird the commanded function is enabled by a signal A, F = A applies; if a function is commanded by signal 3, the following applies F = B; when the command signal B "is supplied, F is equal to that Input signal B with all bits inverted; Consequently F = B "; if the signal A + B is supplied, the output signal is F equals the sum of the two numerical input signals A and B; if signal A-B is supplied as command, then applies 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.The output signal F of the unit ALU is the input of a Accumulator register 104 with an output ANS for 16-bit output signals fed. If the accumulator receives a "standard release signal" ACC, the output signal F is passed to the accumulator register 104 to be stored so that it thereafter when the response signal ANS appears. It should be noted here that the output signal ANS of the accumulator 104 is fed back over a 16-bit rail 105 to the input signal A to form the unit ALU. In addition, the output signal ANS of the accumulator is sent via the gate as required Gatb fed back when this gate is enabled by a signal ATB, so that the output signal is on a yet to be explained Way of the rail 10 can be fed.
80981 5/060080981 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. In the case of an arithmetic unit of known type, it is ensured that in some operations it is possible to feed the output signal F of the unit ALU directly to the rail 10. According to the invention, an alternative or second response signal ANS · is generated by a 16-bit exclusive OR arrangement 106, to which the signal F of the unit ALU is fed via one input and a 16-bit control signal H is fed via a second input. If an enable signal EOR is fed to the gate Grs, the output signal ANS 1 of the exclusive-OR arrangement 106 is transmitted to the rail 10. This arrangement makes it possible to feed the signal F of the unit ALU directly to the rail 10, bypassing the accumulator 104, when the signal H consists only of zeros, so that the signal ANS 1 is equal to the signal F. If, on the other hand, the signal H consists only of ones, the signal F appears in the inverted form, ie as the one's complement to ANS ·. The signal H is generated by a control circuit 404 to be described later.
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.It should be noted that the accumulator 104 can also be caused to determine the multi-bit word it contains To perform operations. For example, Fig. 2a shows that the accumulator 104 under certain conditions to be explained a command signal SACR or SACL or CLR can be supplied. If these command signals are supplied, this becomes The multi-bit word contained in the accumulator is shifted one place to the right or it is shifted one place to the left shifted or all positions are brought to zero, i.e. the accumulator is "deleted". It should be noted that a shift a binary number held in the accumulator by one digit to the right or by one digit to the left The effect is that the displayed numerical value is multiplied by 2 or divided by 2.
Die bis jetzt beschriebene Wirkungsweise des arithmetischenThe previously described mode of operation of the arithmetic
809815/0600809815/0600
V. IA Y„ V ■ ι. - . V. IA Y "V ■ ι. -.
2 7 A 3 U > · Ί 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.Systems is known, but it will be explained in the following using a very simple example. It is assumed that the accumulator 104 has been cleared and that a first number N1 is entered in the register AIR so that it is supplied to the unit ALU via input B, while an instruction A is supplied to the unit ALU. The number N1 then appears as the output signal F of the unit ALU. If the "3 memory release signal" ACC is now generated, the number N1 is input to the accumulator 104 so that it appears as the response ANS, the signal N1 being present at input A of the unit ALU. V Now a second number ΓΙ2 from the rail 10 into the register 102 via leads, so that it becomes B of the ALU to the signal at the input, while this unit is supplied with a command signal A + B, the output signal F to the sum I J1 is + N2 of the two numbers. A signal ACC (storage in the accumulator) causes the signal F = N1 + H2 to be stored in the accumulator 104 so that it appears at ANS and becomes a new value at input A of the unit ALU. As soon as a number N3 is then supplied from the rail 10 from the input B of the unit ALU, while a signal AB is supplied to the latter, the output signal F assumes the value of the algebraic sum H1 + N2-N3. A storage release signal ACC 1 transfers this value to the accumulator 104 so that it appears at the output ANS. If the gate Gatb is now enabled to apply the signal ANS to the rail 10, the result N1 + N2 - N3 of these concatenated arithmetic calculations appears on the rail 10, from which it can be transferred to memory or otherwise used . The subtraction of two numbers requires that the binary two's complement of the subtrahend is formed in the unit ALU, and that this subtrahend complement is added in binary to the minuend; these details and the processing of negative numbers are known, so no further explanation is necessary.
80981 5/060080981 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.The 16-bit Exclusive-OR arrangement 106 alternatively serves as the Means for transmitting the output signal F of the unit ALU to rail 10, either in its "true" form or in its one's complement form. With every pleaseil The arrangement 106 is a simple exclusive-OR gate which is established in a known manner according to the following Table of values works.
Exklusiv-0DER-GatterExclusive 0DER gate
f hentry
fh
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 .With the above relationships in mind, it can be seen that if all the bits of the multi-bit input signal H of the array 106 are enveloped, the output signal ANS 1 will simply be identical to the multi-bit output signal F of the unit ALU; if all bits of the multi-bit input signal H are made ones, the output signal ANS 1 is the one's complement of the signal F, ie it corresponds to the signal F, all of its bit values being inverted. A corresponding influencing of the signal H and the release of the gate Gr by a signal EOR therefore makes it possible to supply the signal F to the rail 10 in its true form or in its complementary form.
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 Can be the accumulator 104 and a total of the exclusive-0R assembly view 106 as an arithmetic output register AOR, because the rail 10 can be fed from an output signal ANS or ANS o 1 of two devices o
80981 5/060080981 5/0600
- «5 - 7 7 A 3 ü S ü- «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.In the basic arithmetic system, the arithmetic unit 100 is sequentially operated by a controller 200 controlled, welcbi provides the necessary timing and command signals. The controller 200 can be viewed as as if the instruction address storage register 202 belonged to it, which, as required, was provided by the output signal IAR ' an AND circuit 201 is enabled to receive signals from the rail 10. This register essentially receives always command address words and not data words, and it is treated as if it had two main parts, accommodate the first and second groups of bits, respectively, which form command words in a known format. The first group represents in coded form a desired operation or instruction, while the second group usually represents the Represents the memory address of a data word that is to be extracted from the memory as an operand, or in which a Calculation result is to be saved.
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.To give a simple but concrete example, Table I shows that a basic arithmetic instruction address word has a format which for the purposes of description will be assumed to be sixteen bit positions bO to b15, the first ten digits being binary Contain address values that represent any memory address from 0 to 1023. Bits b10 to b15 are coded so that they each designate one of several possible commands, e.g. LDA (load accumulator), ADD (operands for the currently add the number contained in the accumulator) or SUB (subtract the operands from the number currently contained in the accumulator) . To complete the description, a typical set of possible commands is given below treated.
Gemäß einem Merkmal der Erfindung und zu einem noch zu erläuternden Zweck wird bei dem grundsätzlichen Befehlsadressenwort-According to one feature of the invention and one yet to be explained The purpose of the basic command address word
«0981 5/0600«0981 5/0600
tyty
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.format of the table I the bit position b1O is used by a 1 or 0 to indicate that it is an "unconditional" or a "conditional" command. That leaves five Bit positions b11 to b15 for receiving binary bit values 0 or 1, which are denoted by I in Table I, and which are after a preselected code can each designate one of 32 possible commands. To shorten the description, the size is of the system memory as well as the number of possible commands. For a computer to be launched on the market Of course, there will be more than 1024 memory locations, and the computer will be designed to have a considerably larger Can handle a number of commands, including some, many microprogrammed to carry out Steps are required.
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.From the fourth line of Table I it can be seen that a basic data word is only a binary representation of a numerical value is available. The combinations of zeros and ones at the bit positions bO to bi4 make it possible to to represent any desired decimal numerical value between 0 and 32767 in binary. The last bit position b15 is used by means of a 1 or a 0 to represent the sign of the number. Generally speaking, data word numbers with this format are the arithmetic input register 102 and not input to the instruction address register 202.
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-Fig. 3 is an enlarged view of the instruction address register 202, on the basis of which more details are given. Each of the bit positions of this memory register is, for example, a toggle circuit formed, which is set or reset when the command word taken over from the rail 10 at the corresponding Bit position contains a 1 or a 0. The 16 output lines of the command address register are indicated in FIG. 3 by iO to i15 designated; Furthermore, complement signals TT5, ΪΤ5 and ΓΤ3 * the three flip-flops at the left end of register 202
109815/0600109815/0600
2 7 A 3 ü: -; J2 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.took. Comparing Table I with FIG. 3, it can be seen that if the instruction address register 202 has a basic Command address word is entered, binary signals representing the address in the output lines iO to i9 appear while commands are in the output lines i10 to i15 Representing binary signals appear, but the signal in the output line i10 has a special meaning Has.
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.According to FIGS. 2a and 2b, the address bit signals contained in an instruction address word in the register 202 become are, normally via a rail 204 from the output lines iO to i9 from the input of a 2: 1 hultiplex gate 205 supplied. If this gate is enabled by a control signal EA, it is supplied via the lines iO to i9 Input signal OA supplied to memory address rail 11 to designate the memory location from which a word read out or where a word is to be entered. The lines OK to i5 constantly carry signals for the 10-3it input OA, and the signals from lines i6 to i9 are normally released via an F, which is used for masking AND gate 206 passed to form the remainder of the signal OA. Under certain, yet to be explained Conditions, the masking gates 206 are disabled in order to effect a masking and the signals at the bit positions b6 to set b9 of the 10-bit input signal OA to 0. At this It can be assumed that the input signal OA is formed by the signals that are present in all register output lines OK to i9 pending.
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, dieThe command bit output lines iiO to i15 are one Rail 208 combined to form a direct decoding circuit 209 and a card formation read-only memory 210 leads. These lines are used in these facilities to ultimately determine the type of operation that will be performed
00 98 1 5/060000 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.during each part of a phase sequence which occurs after the arrival of any command word in the register 202 is carried out.
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.If an instruction word in register 202 contains an instruction code by means of which the use of an operand from the memory is required the direct decoder circuit 209 sends a GETOP (operand fetch) signal to a phase sequence generator 212 arrive to cause this to sequentially phase signals PHO, PH2 and PH3 to be generated, which are time-dependently generated by a signal CLK! a master clock and timing generator 214 being controlled. If, on the other hand, an instruction word in register 202 contains an operation code in which the use of a Operand is not required, the direct decoder circuit 209 does not generate the signal GETOP, and the phase sequence generator 212 then sequentially generates only the phase signals PHO and 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. As explained below, the read only memory 210 is during activates the execution phase PH3 of each operational sequence; it decodes the command bit signals from the output lines i11 through i15 to encoded 4-bit microprogram input signals to a microprogramra input rail MPI. During phase 0 or phase 2, i.e. when the signals PHO and PH2 are pending, the read-only memory 210 is out of order and the required microprogram input signals are from the phase sequence generator 212 is fed directly to the rail MPI.
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 dargestelltThe rail 1-3? I leads to the four control input terminals Xa, Xb, Xc, Xd of a microprogram read-only memory 220. This read-only memory is practically a permanently connected one Coding matrix, which is dependent on 16 possible input signal codes in lines Xa, Xb, Xc and Xd Output signals in various combinations of 15 output lines M1 to H15 shown in FIG. 9 appear
809815/0600809815/0600
? I U 3 ϋ ί: Ο ? IU 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.are. These 15 lines are in different "field groups" divided in Fig. 2b with ADDR, BUS, ALU, STOR, MISC and IPC are divided. The signals in the ADDR field designate the source from which through their binary code combinations Signals of the memory address rail 11 are to be fed. The signals in the BUS field denote by their binary combinations the source from which signals are to be fed to the system rail 10. The signals in the ALU field indicate through their binary code combinations, the command that is to be fed to the unit ALU in order to cause it to perform an operation of a desired type on their A and B input signals. The signals of the field With their binary code combinations, STOR denote a device or part of the system in which signals are to be saved from the system rail 10. The signals in the field denote HISC by their binary code combinations each one of several possible different control signals that is to be generated. The signal of the field IPC, which consists of a single signal appearing in a single line, denotes when it is present is that the program counter 226 is to be incremented.
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,The field group output lines of the microprogram read-only memory 220 lead according to FIG. 2b to associated field decoders FD1 to FD5. These are simple decoders, each causing an output signal to appear in one of several output lines, the output line in question corresponds to the combinational code of the input lines to which binary signals with the value 1 are fed will. According to FIG. 2b, the decoded address field signal can be a signal PC or a signal EA. Correspondingly, the decoded signal of the BUS field has one of the meanings ADTR, MEM, ATB or EOR. The decoded signal of the ALU field can appear in one of five lines,
80981 5/060080981 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.which have the designations A, B, B ", A + B and A-B. That The decoded STOR field signal appears on one of six possible decoder output lines while the decoded The MISC field signal appears in one of five possible output lines.
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.It should be noted that the STOR and MISC are provided with a gate control. This means that all output signals of these fields are held at the level 0 when a control signal K is supplied by a conditionally operating control device 403 to be described is switched from its normal value 1 to the value 0.
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.Finally, the control unit 200 includes a program counter 226 which, in a known manner, is used to track the entire system to switch from one program step to the next during operation. The program counter can handle 10 tandem flip-flops that generate binary output signals which decimal values are represented from 0 to 1023, and which are forwarded via a rail 228 to the 10-bit input signal PA for the multiplex gate 205 to be formed. If this gate is released by a signal PC, it transmits the output signals of the corresponding to the input signal PA Program counter 226 to address rail 11 so that system memory is instructed to use the word of the address concerned and output it via the output lines 301 or to store the signals appearing on input lines 302 at the appropriate address location. The program counter 226 is normally indexed to sequentially move from one counting state to the next; This Switching takes place depending on the positive transitions of pulses INC that are sent to the counting input of the Program counter are fed. The switching pulses are generated by an AND circuit 230 which is controlled in a manner to be explained.
809815/0600809815/0600
v-9v-9
- ■? 7 A J,:, J- ■? 7 AJ,:, 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.Alternatively, however, it is possible to set the program counter 22f> beforehand to a desired counting state, so that its output signal ΡΛ assumes a specific numerical value. This is possible in a known manner with the aid of a presetting signal PPC 1 from an AND circuit 231, by means of which the counter 226 is set in accordance with the signals which are then present in lines b0 to b9 of rail 10. Furthermore, the program counter can be cleared or reset to zero when the system is put into operation, specifically by a switch-on or start pulse PWRS, which is generated by a device (not shown) when all parts of the system are energized.
3. Spezielle Wortformate 3. Special word formats
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)As mentioned, a basic instruction address word is τ corresponding to the first row of the table set up so that the binary T .7erte of 10 bit positions, that the bit positions designated by A, representing an address, while the values in the six bit positions I and U / C denote a specific operation ordered. According to the invention, however, devices are present which respond in a unique manner to one of several "special" command address words, specifically to those by means of which the logic processing or handling of a single selected bit of a single selected bit of a selected word in memory. Although the basic and special command word formats described here are only intended to illustrate the basic idea used, and other equivalent formats could be selected to achieve the same results, Table I shows the format of a machine language command code by means of which single bit operations of various specific types are determined . It should be noted that a "logical process command" at the bit positions b0 to b5 (denoted by A in Table I)
90 98 1 5/060090 98 1 5/0600
ORIGINAL INSPECTEDORIGINAL INSPECTED
η u 3ue;u η 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.represents the address of an on-edge word, ie a selected word from which a selected bit is to be used. In the case of each such "logical process command" in word format, the binary values B, which appear at bit positions b6 to b9, designate a number between 0 and 15 in binary format, which identifies the desired single bit to be selected from the selected word and to be used in the various possible logical operations. Finally, the special format of a "logical process command v / orte s" contains the binary values labeled I and T / C in the bit positions b10 to b15 which, according to a previously defined code, indicate the type of logical function to be carried out ( e.g. UIiD or OR). As explained in the following, the binary value which appears at bit position b10 of a "logical process command word 11 " is used to indicate whether the selected single-bit operand is to be used in its true or in its complement form during the signals denoted by I at bit positions b11 to b15 designate the operation to be carried out in each case.
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 dasThere are two main types of single bit logical operations. In the operations of the first kind, of which four are possible various special operations, the selected bit signal is used as the input operand for the logical processor used. In operations of the second type, which also include four different operations, the logical answer LA stored in a selected bit position in a selected word of the memory, or the selected one Bit is brought into a desired state. Operations of the latter type are hereinafter referred to as "bit manipulation" designated. According to Table I, a "logical bit manipulation command address word" the same format as a "logical process command word" except that the U / C The designated bit at bit position b10 indicates whether the operation to be carried out is a conditional or an unconditional one Operation is. According to Table I, this means
809815/0600809815/0600
27A3ÜUÜ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.Signal U / C for the logical bit management command word just as with the basic command word that if a 0 or a 1 appears at bits + elle b10, the Command represented by the entire word regardless of the value of the logical response signal LA to unconditional Is to be carried out in a conditional manner, i.e. only if the signal LA has the value 1.
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 festgehaltenLogical single bit operations can be performed on a selected bit of a common alphanumeric data word. For example, with the numeric data word format according to Table I, it is possible to check the single bit signal at bit position b14 and use it as an indication of whether the total numeric value of the whole word is greater than the decimal value 16,384 or not. In addition, the signal at bit position b15 of a numerical data word can be selected, for example, in order to indicate whether the numerical value is positive or negative. In some cases, however, it may be desirable to have a large number of unrelated single-bit signals available to use and / or to change during or through logical operations. A feature of the invention is that some words held at known addresses of memory 300 of known nature can each simply represent sixteen individual two-state or on / off values. Although these memory words are "data words" in the true sense of the word, their individual bit signals do not designate any numerical value as a whole. Such a data word, which contains individual logical bits labeled Q Q to Q 12 , is shown in Table I as a "logical bit word". Words of this kind can be entered into the memory as if they were ordinary numerical data words, and individual bit signals can be detected or changed in a manner to be explained. They actually need some of the logical bit words that are held in memory
80981 5/060080981 5/0600
β/ 27A3Ü6Uβ / 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.not in conventional core or large scale integrated storage elements to be saved. They can be signals that retain the value 0 or 1, depending according to whether corresponding associated individual switches are open or closed, or they can control the output voltage of flip-flops that can be set or reset to turn external devices on or off switch off.
4. Die logischen Verarbeitungselemente 4. The logical processing elements
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.According to the invention, a few relatively simple elements are added to the basic arithmetic system to produce a programmable logical single bit processing and a possibility of manipulation and to make it possible to program any ordinary command to work accordingly executed unconditionally or only conditionally based on the results of previously performed chained Boolean single-bit operations will. 2a shows a logic processor 401 which essentially performs two types of operations on a single bit operand input signal LB executes. It "loads" the signal LB by bringing the signal LA into agreement therewith, or it links the signal LB according to an AND, OR or Exclusive OR function with the existing logical response signal LA, which changes the latter to match the result of this operation. Used alternatively the processor 401 the operand input signal LB to generate a bit control output signal BC which is used to to cause the selected bit in the selected word to match the logical answer LA or a specific one take the desired value from the two possible binary values.
Um dem logischen Prozessor 401 Anweisungen bezüglich der jeweils durchzuführenden Operation zu geben (als Ergebnis einesIn order to give the logical processor 401 instructions regarding the particular operation to be performed (as a result of a
S09815/0600S09815 / 0600
27 U 3 ü Ö U 2 7 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.particular instruction address word fetched into register 202) is the direct decode circuit 209 designed to provide the processor with five input signals LO, L1, L2, COMP, i12 and H4. Hit help the particular combination of the pending signals becomes a certain one logical function commanded to be eight different possible functions. The signal COIiP informs the Processor 401 whether the input signal Lb in its true or its complement form is to be processed logically. In the present description, the symbols "point", + and © used according to the well-known Boolean algebra to the logical operators "UTID", "OR" and "Exclusive-OR" describe; ("x and y" has the notation x «y," x or y " the notation χ + y and "x OR y" the notation x @ y). The eight remaining possible logical functions are in the Table IV compiled, where the abbreviations given have the following meanings.
LD: gewähltes Bit dem logischen Akkumulator eingeben, umLD: enter the selected bit into the logical accumulator to
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 WertBringing LA into line with it. AN: Make LA equal to LA * LB (LA denotes the "old" ; / ert of IjA and LA the "new" or resulting value
von LA).
OR: LA^ gleich LA^ + LB machen.from LA).
OR: Make LA ^ equal to LA ^ + LB.
XR: LA^ gleich LA^ (+) LB machen.XR: Make LA ^ equal to LA ^ (+) LB.
η ° οη ° ο
n gleich LAo n equals LA o
SV: Signal LA an der gewählten Bitstelle des gewählten WortesSV: Signal LA at the selected bit position of the selected word
zwischenspeichern.
IV: Die 'invertierte" Komplementform des gewählten Bitsignals
LB erneut an der gewählten Bitstelle des gewählten Wortescache.
IV: The 'inverted' complementary form of the selected bit signal LB again at the selected bit position of the selected word
speichern.
ST: Das Signal an der gewählten Bitstelle des gewählten Wortesto save.
ST: The signal at the selected bit position of the selected word
auf den binären Wert 1 setzen.
RS: Rücksetzen des gewählten Bits des gewählten Wortes auf den binären Wert 0.set to the binary value 1.
RS: Resetting the selected bit of the selected word to the binary value 0.
80981 5/060080981 5/0600
-yr- 2743Ü6Ü -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.Table IV shows that a five bit code LO, L1, L2, ii4, i12 allows it to pass in a unique manner the combination of binary values of the five signals to represent eight possible special logic functions, so that opcode signals, which determine which way the logical processor 401 is to operate, the processor from the direct decode circuit 209 are supplied from, the code being based in each case on the command bits that are in the lines i11 to H5 of register 202 appear. Below will 10 explains in what way these opcode signals the specific operations of the logic processor 401 determine.
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 zuReferring to Figure 2a, a 16: 1 bit selector 402 extracts the LB signal the selected bit position of an operand word, which is selected and entered into the arithmetic input register 102 has been. For this purpose, the "bit identification signals" of a special instruction word which has been fetched into the instruction address register 202. These four Signals that are labeled B in Table I and appear on output lines 16 to 19 of register 202, represent any decimal value from 0 to 15 in binary notation and thus one of the bit positions b0 to b15. The bit selector 402 has 16 input lines, the are formed by the output lines of the arithmetic input register 102. When the decimal value of the four signals B has a certain value in the range from 0 to 15, the single bit signal from the register 102 is at its corresponding Bit position b0 to b15 transmitted in such a way that it is the logical Operand signal LB appears. For example, if the signals on lines i6 to i9 have the binary values 0101, this will be The signal from bit position b5 of register 102 is transmitted so that it appears as the single bit operand signal LB. Have the output signals of the register 202 the binary values 1011, the signal from the bit position b11 of the register 102 becomes
809815/0600809815/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.the signal LB. Such 16: 1 multiplexing circuits are known and are commercially available, so no further explanation is required.
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.Whenever the logical answer LA is to be stored in a selected bit position of a selected word, or when the selected bit is to be processed in another way (according to the instructions IV, ST or RS), the arithmetic unit 100 is used to do this process entire selected word. The location is input to the arithmetic input register 102 so that it becomes the input signal B of the unit ALU, to which the latter the command signal B "is applied to make the signal F coincide with the one's complement of the word. The input signal is caused H of the exclusive OR arrangement 106 consists only of ones, the output signal ANS 'is the inverted form, ie the one's complement of the signal F and is therefore identical to the originally selected word Signal H contains that the corresponding bit of the signal AUS 'is inverted with respect to the value of the corresponding bit of the originally selected word. Then the signal ANS 1 can be stored again in the memory at the originally selected word position.
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-MultiplexgatterTo perform this selective bit reversal when executing the special logic commands SV, IV, ST and RS, the signal BC is applied as an input to means 404 for controlling the selected bit, which is is a 1:16 multiplex gate, which as required by the four-digit bit identification signals, which are then present in the register output lines i6 to i9 and represent the bit address BBBB of a particular instruction word in register 202. In other words, the bit control circuit 404 is known as a 1:16 multiplex gate
80981 5/060080981 5/0600
y> 2743Ü6Ü 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.formed, the same via lines 16 to i9 Control signals are fed to the bit selector 40 ?. Dy Scarf tune; 4o4 gives the signal BC, which, as explained below, is made a 1 by logical processor 401 only if the selected bit of the selected word is considered to be O signal must be inverted over that of their 16 das Output lines which carry signal H and which correspond to the selected bit position. All other output lines of the control circuit 404, which carry the signal G, remain at the level 1, so that when the signal BC is a 1, the signal ANS · becomes the same as the word originally selected, except that the selected bit contained therein has been inverted is.
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.The signal ANS 1 can then be stored again in the memory at the same address from which the originally selected word was taken, with the result that a bit in the newly stored word has been changed or not changed, as was necessary, to execute the relevant bit manipulation command SV, IV, ST or RS.
5. Beispiele für Befehle und ihre Codes 5. Examples of commands and their 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.The more detailed explanation below uses a limited number of eight arithmetic or conventional Commands, and nine special logical commands are discussed. To understand the entire way of working of the computer system it is necessary to use the special Specify machine language codes for the commands in question in the form of examples. Of course it is with help a marketable manufactured computer of full size possible, a considerably larger number of the most varied arithmetic or other conventional command to formulate and store, and on the basis of the limited number of Various command codes can be used in the examples discussed below.
809815/0600809815/0600
Λ. Gewöhnliche Befenle Λ. Ordinary beefenle
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.In the first eight lines of table If only eight, conventional commands are listed, which have been selected for the purposes of explanation; this is sica about the special five-uit codes at the uit parts b 11 to b1 r ; a basic BefeiTcode of the type indicated in the first line of Table I, each ijefehl being uniquely identified. These common commands are briefly explained below.
bisuntil
LDA 00001LDA 00001
ADD 00011ADD 00011
Laden des Akkumulators mit einem Datenwort aus der durch die uits bO bis b9 angegebenen Adresse,Charging the accumulator with a data word the address given by uits bO to b9,
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.Adding a numeric data word from the by the bits b0 to b9 given address to the number then displayed in the accumulator and subsequent singing of the new result into the accumulator.
■;U3 00101■; 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.Subtract a numeric data word from the address determined by the bits b0 to b9 from the number contained in the accumulator and the following Enter the new result into the accumulator.
STA 00010: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.Extract the word ANS indicated by the accumulator and "store" this word in the Memory at the address indicated by bits b0 to b9.
CLA 00100:CLA 00100:
Löschen des Akkumulators dadurch, daß alle Bitsignale im Signal ANS auf eine binäre 0 gesetzt werden.The accumulator is cleared by setting all bit signals in the ANS signal to a binary 0 will.
809815/0600809815/0600
ORiGiNAL INSPECTEDORiGiNAL INSPECTED
274306Ü274306Ü
!AR 00110:! AR 00110:
•AL 01000• AL 01000
JMF 01010: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.Shifting the accumulator one place to the right, i.e. shifting each binary Signals in the i6-uit-sir; nal ANS one place behind right, so that the number represented by the signal ANS is practically multiplied by two.
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.Shifting the contents of the accumulator to the left, i.e. shifting each binary signal in the 15 positions of the accumulator by one position to the left, so that the one represented by the signal OUT Number is practically divided by 2.
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).Jumping within the program sequence from which the program counter was added Command word for a memory address which is determined by the binary bit values at the address positions bO up to u9 (by presetting the program counter).
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.It should be noted that the instructions LD, ADD, SUB require an operand to be extracted from memory and to supply it to the arithmetic input register 102. No operand is selected for the STA, CLA, 3AR, SAL and JMP commands the memory required. The code chosen here as a simple example distinguishes between the two types of commands by the presence or absence of a 1 at bit position b11 of the relevant command word and a corresponding one 1 signal on line 111 after the command word has been transferred to the instruction address register 202.
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 werdenFor each of these ordinary or basic commands, bit position b10 is used to indicate whether the command is unconditional or is to be carried out conditionally. If any such word is entered into register 202, line HO becomes binary 1 is supplied if this command is only executed
809815/0600809815/0600
BAD ORIGINALBATH 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).should, if the then pending logical signal LA a 1 is. As explained below, the signal from the Line i10 is decoded directly and used to determine whether instruction execution continued or aborted shall be. The execution is always continued if the signal U / C in the line i10 is a 0 and thus a unconditional command. Furthermore, execution continues when the U / C signal is 1 and the Gigaal is LA is also a 1, but the execution is aborted if the signal U / C is a 1 and the signal LA is a 0 (Π = 1).
B. Spezielle Befehle B. Special commands
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.Nine special commands are possible, each characterized by a specific operation which is related to of a selected bit of a selected word is to be performed. This is one at a time the word formats which are labeled "logical process instructions" or "logical bit manipulation" in Table I wear. The special five-bit instruction codes at bit positions b11 to b15, through which these nine special instructions are unique are identified are given in Table II and briefly explained below, specifically with regard to the signals, appearing on lines iO through H5 after the command word has been entered into register 202.
b15 bis b11b15 to 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 IF 00111: "If" a selected bit (identified by BBBB on lines i6-i9) of a selected word at the memory address (identified by AAAAAA on lines iO-i5) in its true form or its complement form (by a 0 or a 1 in line HO) is 1, skip the next step of the program by advancing the program counter. i98U0fc00
LD 01011:LD 01011:
Λΐ; 01001Λΐ; 01001
OR 01111OR 01111
XR 01101XR 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.Load the selected cit of the selected word into the accumulator to match the LA signal bring with it. The selected word is activated by address signals from lines OK to named; the selected bit position is identified by binary signals from lines b6 to b9.
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.Enter the selected bit (identified by signals from lines i6 to i9) of the selected word (whose memory address is reported via lines iO to i5) to the logic processor, process it with the then pending signal LA according to a logic AND function and that Set logical response signal LA according to the result of the AND operation.
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.Enter the selected bit (denoted by lines i6 to i9) of the selected word (from the memory address denoted by lines iO to 15) to the logical processor and cause the processor to send it to the then pending signal LA according to a logical OR function process and bring the logical answer LA into agreement with the result of the OR operation.
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.The selected bit (identified by lines i6 through i9) of the selected word (from the by the lines iO to i5 designated memory location) enter the logical processor and cause the processor to respond with the then pending signal LA in accordance with a logical Exclusive OR function to process and the logical answer LA in accordance with this To bring surgery.
809815/0600809815/0600
..: 7 A 3 ϋ 6 ü..: 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.SV 10001: The then existing binary value of the logical Answer LA to the memory at the selected junction (identified by signals on lines bb to b9) at the selected storage location (identified by signals in lines bO to bf?) input.
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).IV 10011: Inverting (complementing) the selected bit (identified by lines io through i9) des selected location in memory (at the location indicated by the lines i0 to i5 identified address).
::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.:: t 11011: The selected bit (through lines i6 to i9 identified) of a selected word (on the one identified by lines iO through i5 Memory address) to state 1.
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.RS 10111: Resetting the selected 3it (identified by lines i6 to 19) of the selected location (at the memory address identified by the lines iO to i5) to the state 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.In the case of the four logical processing command words LD, AIJ, OR and XR, the binary character at the bi-part b10, which is shown in appears on register line i10 to indicate whether the selected bit is in its true form or in its complement form T / C to be processed. In other words, a binary 0 on line i10 causes the logic processor to treat the selected bit as a 0 or a 1 when the signal IB is a 0 or a 1, respectively; however, an in Binary 1 appearing on line HO causes the logic processor to treat signal LB as if it were a 1 or a 0 would be if it is actually a 0 or a 1.
Bei jedem der logischen Bitmanipulations-Befehlswörter IF, SV,For each of the logical bit manipulation command words IF, SV,
•09815/0600• 09815/0600
ORIGINAL INSPECTEDORIGINAL INSPECTED
/743UuU/ 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.IV, JT and RS, on the other hand, are used by the signal at bit position b10, that appears in line i10 to indicate whether the uefenle should be carried out unconditionally or conditionally (U / C). The operation is the same as that mentioned above for an ordinary logic command, i.e. every command word v / is ignored and the execution of the command is aborted if the signal U / C in the Line iiO is a 1, and the logical answer LA is the value 0 has.
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.According to Tables I and II, the special logical Define two groups, each of which has four special commands. In other words, the commands LD, AN, OR and XR are considered to be lo-i'-che processing operations because they can lead to the response signal LA of the logic processor being changed. The commands of the second group can are designated as bit manipulation commands, because the commands 3V, IV, -'T and IiG do not change the logical answer LA, but rather they lead to the possible Change of a selected bit within a selected word in the memory. The first group of logical Commands can be recognized in Table II by the fact that a 1-u signal is present on lines ii4 and i11 after any this instruction word has been entered into register 202. The second group of logical commands is different differs from all other commands by the fact that in the line Hi; a binary 1 signal is present after any such logical command word has been entered into register 202. As explained below, these two groups of handles logical commands in different ways to activate microprogram memory 220, but cause them to all logical commands within a certain group that the microprogram memory is activated in the same way.
Bei jedem der neun speziellen logischen Befehlswörter werdenFor each of the nine special logical command words
10981 5/060010981 5/0600
/^ / A 3 υ υ J/ ^ / 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.the signals at jj tr.tellen bo to b9 for identification selected bits are used, and therefore these bit positions are available not available for specifying a memory address. this means that the selected words are extracted from memory as a function of a special logical instruction must appear in memory locations, whose numeric address values are between 0 and 63. However, this does not result in any serious restriction, because there is a sufficient number of 16-hit data words that are needed to accommodate a large number of special logical operations. aside from that you can avoid this restriction by extending the bit length or the words, or by adding some of the first 63 storage locations used as intermediate storage locations, which other words from higher memory addresses can be entered by the software programming before the word in question is used in a logical operation.
6. Einzelheiten des Systemspeichers 6. System memory details
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.11 and 12, the system memory is shown schematically, to which a memory of relatively small capacity which, however, is sufficient as an example for the explanation to be given. The memory contains 1024 words, from each of which is composed of 16 binary bits b0 to b15. Thus, the address digits can represent the decimal values 0-1023, and the appearance of any of those decimal values in binary notation in the 10-bit address rail an access to the corresponding word position via decoding circuits of a known type, not shown. The 16 input lines 302 of the memory lead to the 16 bits of each word, with the exception of the logical bits to be explained, which are only to be read out Words, and the 16 output lines 301 are assigned to the corresponding bits of each word.
Grundsätzliche Befehlswörter und spezielle logische Befehlswörter mit den vorstehend angegebenen Formaten und BedeutungenBasic command words and special logical command words with the formats and meanings given above
809815/0600809815/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.any of the addresses of the memory can be entered, however, a software program is usually the sequential Organize commands of an overall program and generally convert them into sequential addresses. Furthermore can Data words are placed in each of the memory addresses, but they are usually placed in the addresses with the higher numbers stored. Those words that contain individual bits that are felt or by special logical Single bit commands are to be changed, are placed at the memory addresses 0 to 63, and that is why, because the six-digit operand address numbers in memory locations b0 to b5 of each special command word according to of Table I contains a bit identification code BBBB, can only represent decimal numbers between 0 and 63. These The only limitation arises from the simplification of the embodiment described here as an example, and they can be avoided in a number of ways, e.g. by designing the system in a known manner so that the Have addresses indexed.
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.If any word is "addressed" by signals in the rail 11, and if the write signal BTM 1 is fed to the memory decoding and control circuits, the signals then present in the rail 10 and the input lines 302 are accepted and in the corresponding bit positions of the memory location saved. If, on the other hand, any word is addressed by signals in the rail 11 and a read signal MEM is supplied, the stored values of the bits in the addressed word appear in the output lines 301, from which they are supplied to the rail 10 via the gate Gmr as shown in FIG will.
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 BeispielIn order to create a fully programmable control device, storage units for certain address locations of the Provide system memory 300 in the form of external devices instead of magnetic cores. To any chosen example
109815/0600109815/0600
ν 7 Λ 3 O;, Üν 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.11 and 12, the address spaces 30 to 39 and 40 to 49 for words are used, each of which contains 16 individual bits in the form of two signals -u to Q 1 ^ naci of Table I, which contain a / Off signals or binary logical data, for example, the location addresses 30 to 39 are each formed by 16 bistable fixed value devices, e.g. 3. by single pole changeover switch. These switches can be assigned to an external machine to indicate the status of various conditions; this can be z.3. be mechanical limit switches, pressure-sensitive switches or push-button switches. On the other hand, the addresses 4n to 4 ( J are formed by 16 bistable Γ single bit read and write devices, e.g. 13 flip-flops, each of which can be set or reset as n binary signals are input from the computer system each device can switch an associated device, ζ.Λ. an itotor, an indicator lamp or a solenoid valve, on or off. With regard to the known core part of the memory 300 according to FIG Reading or writing activate the memory locations 39 to 49 constructed according to FIG.
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-Referring to Figure 12, the external devices for words W30-V / 39 are the same for each of memory address locations 30-39 Art. Regarding the device for the word W30 it can be seen that there are 16 external switches S0-S15, their movable sliding contacts via a normally closed 16-bit gate 310 with the associated memory address output lines MOC-M015 are connected. When a sol-
109815/0600109815/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.rather switch is in its normal state, i.e. according to 12 in the shutdown state, it establishes a connection to the Iasse so that it supplies a binary 0 signal. Yird If one of these switches is pressed, it will set up a connection a source for a voltage of +5 V, so that it supplies a binary 1 signal. The so formed, from "Julien and Rinsen existing "V / ort" becomes the output lines MOO-M015 is supplied when the address 30 is decoded and when the address decoding circuits 311 receive a read signal FIEM. These signals are then transmitted via the Grar gate of the rail 10 and they can be input to one of the registers 102 and 202 as shown in FIGS. 2a and 2b.
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.The speed with which the switches for some or all of the words 30-39 can be felt, e.g. by a suitable programming at intervals of 20 ms has the same effect as continuous sensing of the switch states. of course, the states of these switches cannot be changed by write signals extracted from the rail 10 because their opening or closing state depends exclusively on external conditions. Of course you can the memory system according to the invention with 160 switches in one expand considerably by providing an even greater number of storage words, the structure of which is the same as that of the preceding Description in relation to word V / 30 corresponds.
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 derThe external hardware for each of the storage locations W40-W49 of Figure 12 is essentially the same. The structure of the word W40 therefore applies to all of these 7 / places. According to FIG. 12, the bit positions of the word W40 are formed by 16 flip-flops FF 0 to FF 1 ^ of the D type. The 16 memory input lines 302 are each connected to the D inputs of these flip-flops, while the clock or trigger pulse inputs are all connected to an encoder output line labeled 40.BTM 1
809815/0600809815/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.Rail 11 is addressed, and if an i .'- write signal BTM 1 arrives, each of the 16 flip-flops is brought into the state (set or reset) which corresponds to the binary .'Ügnal in the corresponding memory input line. When the state is set, each flip-flop generates a binary 1 signal, while when the state is reset it generates a binary 0 signal. As further explained, these signals are fed to external devices via output terminals 40/0 to 40/15. However, these signals are also fed to the associated inputs of a 16-bit gate arrangement 315, the outputs of which are connected to the memory rausgabelunrjen. The gate array 315 is normally disabled, but when the decoder circuits 311 receive signals over the rail 11 which designate the address 40 and a read signal II3I-I, the gates 315 are enabled by a signal 40-MEM, so that the corresponding binary Signals are transmitted to the memory output lines 301, from which they arrive at the system rail 10. Thus, the 16 flip-flops, from which the memory word W4O is made up, can not only be set or reset and brought into certain states by signals that are fed via the system rail, but they can also supply signals that are fed to the system rail and be grounded Display associated states that are used in processing according to the Boolean logic.
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 MIn order to illustrate the manner in which various external devices can be controlled according to the state of the data stored in the memory word 40 bit signals, FIG. 12 shows that the Q output 40/15 of the flip-flop FF 15 is connected to a driver amplifier to the electromagnet of a energize on and off solenoid valve 320 when the toggle switch is set or reset. In a similar way, the output line 40/14 is connected to a driver amplifier, by means of which a motor M
10981 5/060010981 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.corresponding to the state of the flip-flop circuit P 1 F 1 - is switched on or off, furthermore the output line ΛΟ / 1 is connected to a driver amplifier, so that a signal lamp 321 is switched on or off when the flip-flop circuit FF 1 is set or reset . As a last example, it should be mentioned that the / 1 V us output line 40/0 of the trigger circuit FFq J is used via a driver amplifier to actuate a warning device 322, for example a siren or bell.
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.For the actual computing system, it does not matter that some words within the system memory 300 are known Sometimes they are formed by magnetic cores, while other words are formed by switches, and that other words be formed by flip-flops that are used to switch external devices on or off. However, the computer system also process signals in a manner explained in more detail below, which designate the states of external switches, e.g. the switch forming the word W3O; it can feel the states of flip-flops, e.g. those using the word W4O form, and thus also the states of the devices controlled by them; finally, the system can do the Change the state of each of these flip-flops to an associated one to switch electrical device on or off, namely by adding a 1 or an O to a specific bit position of a word, e.g. at address 40.
7. Einzelheiten der direkten Decodierung 7. Direct decoding details
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 OperationThe direct decoder circuit 209 of FIG. 2a is shown in FIG. 4 in more detail. This circuit has the task of providing the logical processor 401 with encoded operational signals LO, L1, L2, i12, ii4 and COMP, and if necessary to deliver the signals GETOP and COND. The circuit detects whether a command word is in the command address register a basic operation or a special logical operation
80 9 815/060080 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.requests; in the latter FnIl it causes a .'5ign.nl BADDR, which normally has the value 1, reverts to the value 0 assumes, in order to thereby cause the gates 20ό to mask the bit signals which are transmitted via the lines i6 to i9 the input OA of the multiplex gate 205 are fed.
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.Referring to Figure 4, UKD circuits 240 and 241 generate and one HOR circuit 242 sends the signal JADDR out via lines H5, ii4, i13, i'2 and i11 supplied ßingangssignalen. From the The instruction code set shown in part c of Table II can be seen, that then, if the command in register 20 *. an oitmanipulation requires (.SV, IV, ST or Ro), the signal in the line i15 die! 10 R- '"c hai do ^ 242 causes the signal BADDR the \ 'ert to give O. If the command is a logical one Processing (LD, Ah ", OR, XR) is required, do the Signals aun the lines ii4 and i11 the output Signa "', the UUD circuit 240 to a 1 so that the BADDR signal has the value O assumes. If the command IF is concerned, the AND circuit 241 generates the output signal 1, so that the signal BADDR assumes the value O. Every other one of these nine special ones Instructions that extract bit identification information from the Lines i6 to i9 contain the signal BADDR don 17ert 1 on, and the gates 206 are influenced so that off the lines iO to i9 a full word address to the input OA of the Ilultiplexgatters 205 is transmitted.
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-Part d of Table II shows the values which appear on the opcode lines LO, L1, L2, i12, ii4 for each of the logical process commands LD, AU, OR, XR and the bit manipulation commands SV, IV, ST and RS. On closer inspection it can be seen that the AND circuits 243, 244, 245 and 246 according to FIG. 4 together with the OR circuits 247 and 248 generate the operation code signals LO, L1, L2, with signals being passed on directly via the lines i12 and ii4 will. As can be seen from the following, the signals LO, L1 and L2 have no effect on the first nine
809815/0600809815/0600
fehle nach der Tabelle II, und daher bleiben die diese Signale darstellenden Felder in den ersten neun Zeilen der Tabelle II leer.are absent according to Table II, and therefore these signals remain fields in the first nine lines of Table II are empty.
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.As mentioned, every instruction which contains a 1 at bit position b11, so that signal 1 appears in line 111, requires that an operand from the memory is used. Thus, Figure h shows that the GETOP signal is simply the same signal as the 'J signal on line 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.Regarding the commands LD, Ali, OR, XR and IF according to the table II indicates the '^ i ^ nal on line 110 that the selected üit in its true form or its complementary phoneme (T / C) should be processed. For all other commands, this signal means that the function must be executed, e.h. if then ^ it is a 0 in line b10, or conditional, i.e. if the signal on line b10 is a 1, but only if the logical response signal LA then has the value 1 has. This means that a signal COMP is only generated when the signal on the line i10 for a command LD, AN, OR or XR has the 'Vert 1, and only then generates a signal COND if the signal on line i10 has the value 1 for any other command. According to FIG. 4, the AND circuits 249, 250, 251 and 252 and the OR circuit 253 for this purpose. Looking at the command code sets in the Table II, it can be seen that the output signal of the AND circuit 250 corresponds to a 1 if any of the instructions LD, All, OR, XR or IF are in register 202. From the four first commands result ii4 = 111 = i15 = 1; from the command IF results in 113 = 112 = 111 = TT5 = 1. In every case If the signal 1 appears in the line i10, the signal COIIP is a 1. However, if the output signal of the AND circuit 250 is a 0 because there is an instruction other than the five above, and if on the line is HO the signal 1 is present, the AND circuit 251 has the effect that the signal COIID receives the value 1.
809815/0600809815/0600
ORIGINAL !NSPECTPD CORIGINAL! NSPECTPD C
27A3Ü6027A3Ü60
"-· "- · Einzelheiten des Phasenseguenzgenerators unr1 des KaupttakigebersDetails of the phase sequence generator and 1 of the 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.For controlling the successive elementary operations of the re clone rs system v / e is the main clock generator according to FIGS. 2a and 5 214 a crystal-controlled device constructed in a known manner Clock pulse oscillator 260 running at a predetermined frequency of e.g. 2.0 ITIIz works. This oscillator drives a non-stable multivibrator 261 to generate timing pulses CLK and CLK, which are e.g. 100 ns wide and 500 ns apart. These timing signals are in 6 and 7 shown at 262 and 263. The regnal CLK is used to control the various gates and to preset different registers in all parts of the system, v / ie it is explained below.
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.The phase sequence generator 212 of Fig. 2a controls the elementary Operations that are carried out after each one of the consecutive instructions in the instruction register 202 is to be convicted. For those commands in which, it is necessary to fetch and use an operand word, the phase sequence generator 212 measures three elements Time intervals, which are referred to as phase 0, phase 2 and phase 3 in the following. During phase 0 will be the next Command word of a software program fetched from a memory address, controlled by the program counter 226 and the command address register 202 entered; during phase 2, the required operand becomes the memory address specified by the active Command word is named, extracted and supplied to the arithmetic input register 102; during phase 3, the commanded Operations performed.
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.In contrast to this, with some commands it is not necessary to to transfer an operand from the memory into the arithmetic input register 102. In these cases, the Phase sequence generator only to measure a phase interval 0, which is followed by a phase interval 3, so that a Phase interval 2 is omitted.
80981 5/060080981 5/0600
2 7 A 3 G G O2 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.Straight figure? the. '' frequency generator 212 can be used as a three-state Töhler be designed to which three toggle switches 265, and 267 belong to the D-type, »such flip-flops are known and it is assumed here that each of these flip-flops is brought into an iJchaltstatus that the level of the signal corresponding to its input D at the moment is supplied, in which a positively directed Üspannungsijberganp; the associated pulse input CP is supplied. According to Fig.? each of the three flip-flops become clock pulses CLK is supplied via its clock inputs CP, while a signal is supplied via input D or the Jtexierklemme in order to the ^ etr.en or resetting of the circuit according to the Control the presence of other signals.
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 KippschaltungAssume first that the GETOP signal from the direct decoder 209 of FIG. 4 is that the flip-flop is initially set, and that the flip-flops 266 and 267 are both reset, it can be seen that the output signal PIIO has the value 1, while the signals PH2 and PH3 have the value 0. If, according to FIG. 6, the trailing edge of the next clock pulse ULT arrives at time t2, actuated a Uiiü circuit 270 the flip-flop 266 by supplying a 1 signal to its input D, since the signals GETOP and PHO both have the value 1. Thus, at time t2, if the positive transition of the impulse CLK appears, the flip-flop 265 is reset while the flip-flop
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 Kippschaltung266 is set. The output signal PH2 now has the value 1 The times t2 and t3, as shown in FIG. 6. In this latter state, i.e. phase 2, passes through the signal PH2 an OR circuit 271 to the flip-flop
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 PH3267 to be actuated while the input signal at input D of the flip-flop 266 has the value 0. If then the next Pulse CTE according to FIG. 6 ends at time t4, the flip-flop 266 is reset, but flip-flop 267 is set. This ensures that the output signal PH3
809815/0600809815/0600
TlTl
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.maintains V / ert 1. Furthermore, a qualifying 1 -. 'Ji ^ - nal fed to input D of flip-flop 265, and that the input D of the flip-flop 267 is supplied 'irnal eliminated. Therefore, with the next pulse CLk, the flip-flop 26? reset while the tilting operation; 265 is set so that the signal PIIO now retains the value 1. This sequence of the three states P; iO, Κί2 and r,. '3 sets continues indefinitely as long as the signal GjS'i'OI- den Keep value 1.
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 SignaleIf, on the other hand, c * as "signal GHTOP has the value 0, which always happens if there is an" instruction ir, τ. Jpeiclier is required will ger> : ii3 7 Sir. 5 the gate 270 blocked, doc: i introduces an inverter 272. '■' igr.al ÜTToT with. the 1: ert 1 dei.i input of a further UI j D-. I hold 273, which can generate a 1-output signal, if the J signal VjiO is additionally fed to it. It means that: J signal ΟΪΊΊΌΡ the Vfert 0 and the signal G ^ TOP the V / ert 1, it can thus be assumed that the sequence generator 212 is initially in a state in which the flip-flop 2ύ5 is set. When the r.ip lines 266 and 267 are reset, the gi-pial PI10 is passed on via the gate 27 ° and the ODPIR circuit 271 in order to actuate the toggle circuit 267, so that if 7, the next trailing edge of a pulse CLk appears at time t2, the flip-flop 265 is reset, but the flip-flop 267 is set. Comit, the signal PHO disappears, while the oignal PH3 appears. Under these circumstances, the flip-flop 26? actuated by the signal ΡΠ3 applied to its input D, but the flip-flop 26? locked, ie at your input D an O-signal appears. As soon as the next pulse CLK arrives, the flip-flop 267 is reset, while the flip-flop 265 is set. As shown by waveforms PHO, PH2 and PII3 in Fig. 7, in this mode of operation, the signals appear
809815/0600809815/0600
BAD ORIGINALBATH 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.PIIO and rii? alternately in Abi.nrigi,; kei 'c of successive clock pulses, v :, : theirc. the signal PK2 simply changes to the level O.
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.V. 'is decoded in netVnI in order to generate the signal GETOP ^ u, the phase sequence generator thus generates a sequence of signals PHO, VA? As a function of successive clock pulses. and Pt-13 : If, on the other hand, an i ^ e error is decoded in which the use of an operand is not required, and if the "ignal ^ lAuP is not pending, the phase sequence generator only generates a sequence of signals PHO and PH3 as a function of the sequential ones Taktiraptilsen. each phase has z. Z, a length of 1 wikrosekunde, and pulse CLK shortly before! vn ^ e, each phase appears, can range from? 00 have a wide ns.
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.In order to ensure that the phase sequence generator according to FIG. 5 always starts up in the correct state when the Re c I, ne rs system is put into operation, when the computer is switched on, a switch-on pulse D V / R £> generated. According to FIG. 5, this pulse is fed to the set input Πι of the KIpD circuit 265 and the clear inputs CL of the flip-flops 266 xmd 267. When the computer system is switched on, the phase sequence generator 212 is first brought into a state corresponding to phase 0, in which the signal PHO has the value 1 and the signals PH2 and PH3 have the value 0.
9. Einzelheiten des Kartenaufstellungs-Festwertspeichers und der EingangsSignaIe für den Mikroprogramm-Festwertspeicher 9. Details of the card layout read-only memory and the input signals for the microprogram read-only memory
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 The read-only memory 210 according to FIG. 2a is a known type of code converter. In the very simple system described here as an example, it may be unnecessary to use a map-forming read-only memory, but will
809815/0600809815/0600
BAD ORIGINALBATH ORIGINAL
274 30B0274 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 Signalwith fully developed systems for the practice where with a large number of possible commands is used, usually a read-only memory with e.mem address counter and an adder is used. In the present case is only note that read only memory 210 are instructions Signals on lines 111 through ii5 from the register 202, and that when it is enabled by a signal PII3 as shown in FIG. 8, its output lines supplies a certain corresponding 4-bit code. These four output lines usually contain the 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.0 when the enable signal PK3 is not available. Since the read-only memory 200 is manufactured in a known manner durc'-i "T? In.jrennen" of Ilatrixverbindungen, its structure can be best understood from the Table V describe in the last 11 lines of the combinations of Singangssignalen in the lines i11 to i15 represent averaging which different combinations of coded output signals are generated for lines Xa, Xb, Xc and Xd. Each of the logical process commands for determining the signals LA, ie the signals LD, AN, OR and XR according to the table IT, which cause a 1 signal to appear on the lines 111 and ii4, causes the read-only memory 200 to generate a common output code 1100 ; Correspondingly, each of the bit manipulation commands SV, IV, ST and RS, which, according to Table II, cause 1 signals to appear in lines i11 and H5, is decoded by the read-only memory so that a common output code 1101 appears in lines Xa to Xd.
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-CodeReferring to FIG. 8, the phase sequence generator 212 routes the signals PHO and PH2 directly to the lines via OR circuits 275 and 276 Xa and Xb too. If signals for phase 0 and phase 2 are present according to Table V, a 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 Phase0001 or 0010 as input signal to the microprogram read-only memory 220 to effect a "fetch" or "pull out of an operand". During each subsequent phase
809815/0600809815/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.3 becomes the input signal for the microprogram read-only memory 220 then determined by the read only memory 200; this output signal for the microprogram read-only memory, appearing on lines Xa, Xb, Xc and Xd is shown in part e of Table II.
10. Einzelheiten des Hikroprogrammier-Festwertspeichers 10. Details of the microprogramming read-only memory
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.9 shows further details of the microprogram read only memory 220 according to Fig. 2b. The structure of such a memory is familiar to anyone skilled in the art; connections in permanently stored in a matrix. It should therefore only be noted that the memory 220 has various coded input signals over the lines Xa, Xb, Xc and Xd, and that the memory certain corresponding combinations of signals appear in the 15 output lines IH to M15 leaves. According to FIG. 9, these output lines are divided into different fields. Generally speaking, the lines form H1A and M15 an address field defined by the code of signals appearing in them denotes the source from which signals are fed to the memory address rail 11 should. The lines M11, M12 and H13 form a rail field, by means of a combination of signals appearing in it any one of eight possible special signals which designate the source from which signals are to be fed to the system rail.
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-Correspondingly, the lines 118, M9 and M10 form an ALU field, and the coded combination of the signals appearing therein each designates one of several possible operation commands which are to be fed to the unit ALU in order to control it in the case of various commands. The lines M5, M6 and M7 form the "memory field 11 and the combination of the signals appearing therein represents the relevant register or the unit in which the then appear in the system rail.
809815/0600809815/0600
. J\ 27A3Ü60. 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.end signals should be stored, never Loitun ;; en I-; 2, H and HA form a field for "miscellaneous" and the combination of the '. signals appearing therein can cause one of performing several different operations. In the end the output line M1 forms a line field / the Designation IPC; a 1-signal is always fed to this line when the program counter is advanced target.
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.According to FIGS. 2b and 9, the output signals of the microprogram read-only memory from the fields ADDR, JUS, ALU, STORE and HISC are supplied to field decoders 230 to 2 Λ. Each of these decoders is simply a matrix of a known type with several '"ingons and a single output; their structure and mode of operation should be familiar to anyone skilled in the art. Decoders 23 and 284, on the other hand, are controlled Decoders which only allow a signal to appear in one of their output lines , if they are enabled by a signal 1 via an enable input 2; J3a or 2T; 4a. Table III illustrates both the structure of the microprogram read-only memory 220 as well as the output signals in lines I-I1 to H "! 5 appear at the various possible command codes, averaging which different coded input signals are generated on lines Xa to Xd. In Table III, the blank fields indicate the fact that envelopes appear in the microprogram output messages. Table VII gives the tables for the decoders 2CO to 2ΓΛ and illustrates the individual output signal that appears in one of the output lines of each encoder for various combinations of input signals that are fed to the decoders via their input lines. Tables III and VII thus give a person skilled in the art a complete picture of the structure and mode of operation of the microprogram read-only memory 220.
809815/0600809815/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.■ \ us the /'.ei]e 1 of Table III \ ^ t apparent that generated during a Abrufvornanrs, which is represented by the code 0001 as an input signal for the lakroprograram-Fes twertspeicner, the Address field decoder 230, an output signal PC indicating , da.3 the address to be supplied to the rail 11 can be found in the program counter 226. It should be noted that this signal the Ilultiplexgatter 205 of Figure 2b releases so that the Zählerausgan fc;. 5signal PA zv the address forwarded rail 11 v / ill. In the operations GETOP, JUiIP and the manipulation, the combination of input signals which are fed to the microprogram read-only memory 220 causes the address field decoder 280 to emit an output signal Kk in order to enable the multiplex gate 205 so that its input signal OA (from lines iO to iy, but excluding lines i6 to i9 when gate 206 is blocked) to rail 11. The address position is thus determined by the address part of a command word which is then located in the command address register 202.
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.Ss should be useful to indicate the meanings of the abbreviations used with which the output signals of the various necoder according to FIGS. 2b and 9 designated v / earth. In the case of the rail field, ADTR means that the address rail signals are to be fed to the rail; HEH means that the output signal of the memory is fed to the rail shall be; ATB means that the output of the accumulator to be fed to the rail; EOR means that the output signal is OUT 'of the 16-liit exclusive OR arrangement is to be fed to the rail. It should be noted that the signal ADTR controls the gate Gad, that the signal MEM controls the Reading of the memory controls and also controls the gate Gmr that the signal ATB controls the gate Gatb, and that the signal EDR controls the gate Gr.
80981 5/060080981 5/0600
BAD ORIGINALBATH ORIGINAL
27Λ306027Λ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. In the ALU field, the command signals A and L indicate that the arithmetic logic unit ALU is to be conditioned in such a way that it only sends its input signals at A or B to its output lines at F. In contrast to this, the ALU command signal B "indicates that the unit ALU is to output its input signals in the complemented form via its output F. These command signals, which are designated here by A + L or AB, condition the unit ALU in such a way that that its output signal F is equal to the sum or the difference of the numerical binary signals A and L which are fed to their two inputs.
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.In the storage field STORE, the signals IAR and AIR indicate that signals then appearing in the rail are to be stored in the command address register 202 or in the arithmetic input register 102. They are supplied to AND circuits 203 and 101. The signal ACC indicates that the output signal F of the unit ALU is to be stored in the accumulator 104; this signal is fed to an AND circuit 103 in accordance with FIG. 2a. The signal ΒΪΗ according to FIG. 9 indicates that the signals then appearing in the rail are to be stored in the main system memory; this signal is fed to an AND circuit 303 which generates the write signal BTM 1 when a clock pulse CLK occurs. The signal PPC indicates that the signals then occurring in the rail are to be picked up by the program counter 226; this signal is fed to the UlJD circuit 231, which then generates the signal PPC in order to effect a presetting of the counter to a number which is represented by the signals then present in the rail. The signal LAS indicates that the result of a logical processing operation is to be stored in a logical accumulator flip-flop which is described further below with reference to FIG.
•09815/0600• 09815/0600
2743U602743U60
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. In the "miscellaneous" field, the signal CLR causes when it appears that the accumulator 104 according to FIG. The BTLOG signal indicates that the logical processor is to be conditioned for an application process; this signal appears as a function of one of the commands SV, IV, ST and RS. The signals SACR and SACL are fed directly to the accumulator 104 and have the effect that the then existing content of the accumulator is shifted one place to the right or left. The signal IPCLB indicates that the program counter is to be switched on if the selected logical bit signal then corresponds to a specific one of two possible states; this signal is used to execute an IF instruction in a manner to be explained below.
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.In summary, it should be noted that the microprogram read-only memory 220 with the associated decoding! 280 to 284 cod.ierve Picks up command signals during the relevant phase via inputs Xa to Xd. Depending on it only one of each field decoder output line receives a 1 signal at a time, but responds to many operations a particular field decoder does not at all. These control signals are received from the microprogram field decoders routed to various points of the system for the delivery of signals to the memory address rail and to control the system rail 10; in addition, they are sent to the unit ALU in order to carry out the function to be carried out by them and they are fed to different registers or gates to determine which of the different ones Parts for storing signals are fed, which are then pending in the system rail.
Es sei erneut bemerkt, daß das Ausgangssignal der Decodierer 283 (Speicherung) und 284 (Verschiedenes) zurückgehalten wird,It should again be noted that the output of the decoder 283 (storage) and 284 (miscellaneous) is withheld,
109815/0600109815/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.if this decoding ^ is not supplied to enable a 1- 1 I Ignal via the inputs 203a and 284a. This switching off of all output signals of the decoders 2G3 and 234 has the purpose of terminating the execution of arithmetic instructions if the instructions are conditional and if the required condition is not met. This is discussed in more detail below. First, it may suffice to note that the condition control device 403 of FIG. 2b, a signal K Ängen the Steuerein ^ 2 Q 3n and 2 ^ 4a feeds. The device 403 is shown in FIG. 9 by an ilAIiJD circuit; 20? Formed with the three inputs COiJD, L "Ä" \ χηύ PH3. The output / signal κ of this circuit normally has level 1. However, all three input signals of the Jchaltun «;; 2:19 at the same time the V.'ert 1, ke.irt the output signal K back to the ./ert 0, and therefore the decoders 2 >> 3 and 234 cannot deliver any output signals.
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.FIG. 9 also shows the logic circuit for generating a .Control signal TMPC, by means of which the program counter is switched on will. The, microprogram signal IPC passes through a ODclk circuit 290, so that the 3signal IiIPC is produced; However can this latter signal also through a UIID circuit 291 can be generated when the 3 signal IPCLB and a signal ELb each have the value 1 for an effective logical bit. The signal IIIPC is fed to a circuit 227 which according to FIG. 2b, the program counter 226 is assigned to L. If this signal occurs simultaneously with a clock pulse, results The output signal HjC has a negative direction Transition on the lower edge of the clock pulse, so that the counter 226 counts up by one unit.
11. Einzelheiten des logischen Prozessors undder i^i tmanipulationsschaltung 11. Logical processor and manipulation circuit details
Wie erwähnt, empfängt der logische Prozessor 401 ein Einzelbit-Eingangs signal, das aus einem 16-Bit-Viort gewählt wird und denAs mentioned, the logical processor 401 receives a single bit input signal chosen from a 16-bit Viort and the
109815/0600109815/0600
BAD ORIGINALBATH 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.'Vert O eier 1 Kibe: ι can. Furthermore, from the Direktdeciorschaloun ^ 209 according to Fig. 4 from "Onerationsfunktionsslgnale" L2, i, 1, LO, CU: iP, i 1 2 and i14. The logical processor generates / raises rs signals ". 1 LU, LA, LT and r, C depending on the commanded function in order to modify the signal LA in the correct manner during the successive operations within a Boolean chain performed by steps.
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. Although mn could use various special circuits, FIG. 10 shows the details of a suitable logic processor 401. These details are first treated according to Boolean logic with regard to chained operations, and then the manipulation and storage are dealt with.
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.According to Fi t;. A flip-flop 425 of the JK type is used as a logical single bit accumulator. This accumulator was chosen because of its properties mentioned below. V / ird an opannum; applied to input J or input K in accordance with a binary 1, the flip-flop is set or reset depending on a positively directed voltage transition that is fed to its clock input CP; if none of the inputs J or K receives a voltage with the level 1, there is no reaction to a trigger signal appearing at the clock input CF; however, if there is a voltage with level 1 at both inputs J and K, when the positive voltage transition appears at the clock input CP, the flip-flop mn turns itself, ie it changes from its set or reset state to its reset or its set state . If the flip-flop 425 is in the set state, it lets the signals LA and LA "or 1 and 0 appear at its outputs; in the reset state, the output signals LA and TK take on the values 0 and 1.
809815/0600809815/0600
BAD ORIGINALBATH ORIGINAL
27A306027A3060
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.In the following, the mode of operation for the ^ a 11 is considered that the logical function code signals L2, L1 and LO have the I / ert 111, which corresponds to the logical command LD (load accumulator) according to Table VI. If the input signal LB is a 0 or 1 and the control signal COHP has the V / ert 0, the effective logic bit signal ELB, which is generated by an exclusive-OR circuit 426, has the value 0 or 1. If ELB is the same 0, the output signal η of the UiID circuit 428 has the value 0, but the output signal ο of an exclusive OR circuit 429 is 1, since LO is 1 iso, so that the output signal ρ of the UiID circuit 430 is 1 and causes LA to be brought to 0 or left at 0 when flip-flop 425 is supplied with a clock signal. If, on the other hand, ELB is 1, the signals ο and ρ have the value 0, but the signal η is 1, so that the osignal LA is made a 1 or left at this level when the flip-flop 425 is supplied with a clock signal. As indicated in the first line of Table VI, an instruction LD thus causes the accumulator flip-flop 425 to start with the selected! Biteingangssignal LB is charged to bring the logical answer signal LA in accordance therewith.
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.Of course, the exclusive OR circuit 426 causes ELB to be the complement of LB, but only if the signal is COMP has the value 1. If this is the case, the arrangement according to FIG. 10 acts as if the input signal LB would be the reciprocal of its actual value.
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,It is now assumed that the signal AN is required by the logical command word in register 202, so that the code for L2, L1 and LO has the form 1001. Under these circumstances, the signal LA should be brought to the level or at the level which corresponds to the response of the logical AND function LA = LA · LB. Is the toggle switch 425 already in the 1 state, LA does not need to be changed,
809815/0600809815/0600
BAD ORIGINALBATH 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).if LB has the value 1. Only when LB is equal to 0 is it necessary to reset the flip-flop 425 by a clock pulse. Since the signals at LO and L2 are both equal to 1, the signals ο and ρ have the value 1 or 0 when ELB is equal to 1 or equal to 0, respectively. Thus, the flip-flop 425 is reset or left reset by a clock pulse when ELB is zero. The end result is that the new '.'fert of LA is always a 1 or 0 when the UIJD function LA Q · LB is satisfied or not satisfied assuming COMP is zero. This self-evident fact is reflected in the second line of Table VI for the various conditions that may exist (LB equals 1 or 0 and COMP equals 1 or 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.If the logical command is an OR, so that, according to Table VI, the code 010 applies to L2, L1 and LO, the signal LA should be held in such a way that it becomes LA n when LA Q is equal to 1. However, if LA Q is equal to 0, the signal should only be switched to 1 when ELB is equal to 1. In the latter case, the AND circuit 428 is qualified in such a way that the signal η receives the value 1. In any case, the AND circuit 430 is blocked so that the flip-flop 425 cannot be reset. When the OR function code arrives and the flip-flop 425 is supplied with a clock signal, LA thus remains at the value 1 if this value was previously present; however, LA is switched from 0 to 1 when the signal ELB has the value 1. This fulfills the logical OR function, so that LA = LA + LB, as indicated in the third line of Table VI.
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 denIf the logical command XOR occurs, so that the code 110 applies to L2, L1 and LO according to Table VI, the signal LA in a 0 or a 1, if it previously had the value or 0 and the input signal ELB is a 1. Has the Signal ELB has the value 1, the signals n, o 'and ρ each have the
809815/0600809815/0600
2VA3Ü602VA3Ü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.Value 1, so that the clock pulse supplied at CP controls the flip-flop 425 surrounds. If ELB is equal to 0, η and ρ are both equal to 0 and the flip-flop 425 does not respond Clock signal on. Whenever the XOR command is received and decoded so that L2, L1 and LO take on the value 110, Thus, the arrangement of Fig. 10 responds to a clock pulse to ensure that LA = LA. 0LB, where the symbol (?) denotes the exclusive OR function.
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.In accordance with Table VI and the description above, the logic processor of Figure 10 takes a single input LB and converts it into an effective logic bit signal ELB, which is identical to LB or its inverted When the signal COMP is equal to 0 or 1. This operation is performed by the exclusive OR circuit 426 carried out. As a function of the signal ELB, the arrangement according to FIG. 10 generates a new logical response signal LA as a result of the logic function commanded by the coded signals L2, L1 and LO, the codes of these Signals correspond to the commands LD, AN, OR, XOR according to Table II. To the logic processing circuit at successive To control operations clockwise, an AND circuit 432 receives the storage signal LAS from the field decoder FD5 is supplied off, and the clock signal CLK is supplied after the signal LB is generated and on the control inputs J and K of the flip-flop 425 have the correct voltages. These control signals result from the single input signal LB, which is generated by adding the selected word to the arithmetic input register 2a, and that the bit selection circuit is caused to select the selected bit in response to bit selection signals on lines i6 to i9 as input signal LB to the logic processor.
Aus der Tabelle VI und Fig. 10 ist ersichtlich, daß die drei-From Table VI and Fig. 10 it can be seen that the three
109816/0600109816/0600
stelligen Funktionscodesignale L2, L1 und LO sowie das Eingangssignal LB Eingangssignale für mehrere Einrichtungen bilden, und zwardigit function code signals L2, L1 and LO as well as the input signal Form LB input signals for several facilities, namely
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,1. Devices 428, 429 and 430 which only respond to load function code signals (1, 1, 1) and address the input signal LB in order to apply a 1-signal to the input J or K, if LB is 1 or 0,
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,2. Devices 423, 429, 430 that respond only to AND function code signals (1, 0, 1) and address the input signal LB in order to apply a 1-signal to the input K only if LB equals 0,
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, sowie3. Devices 428, 429 and 430 that respond only to OR function code signals (0, 1, 0) respond to supply a 1 signal to input J only when LB is equal to 1, as well as
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.4. Devices 428, 429 and 430 which respond only to exclusive-OR function code signals (1, 1, 0) respond in order to feed a 1-signal to the two inputs J and K only if the signal LB has the value 1.
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.The mentioned devices apply voltage levels with the value 0 to the inputs J and K if none of the mentioned ones Cases exists. Therefore, the logic processor 401 operates without any feedback from its output signal LA, and this signal influences the operation of the 1. to 4. Not mentioned facilities. Once the opcode signals and the input signal LB in any of their various 0 and 1 combinations according to Table VI are available are, the clock pulse, which is supplied by the AND circuit 432 from the clock input CP, only that the Flip-flop 425 is triggered or remains untriggered to cause LA to accept that state value or to maintain, which corresponds to the correct result of the function, which by the in the right part of table VI specified coded operational signals are represented.
•09815/0600• 09815/0600
V*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.Of course, the ELB signal is the same as the LD signal, when the true signal or the complement signal COUP is equal, and it is equal to the complement of LB when COIIP is equal 1 so that LB is treated in its true form or its complement form as appropriate.
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.It is true that one could in accordance with some points of view of the invention can use other and known forms of accumulating logical processors, but the in Fig. 10 illustrated novel processor advantages, since it does not require any feedback and can easily be changed by three-digit Can instruct function code signals.
Wenn eine Boolesche Kette von Operationen gemäß einem als Beispiel gewählten einfachen Ausdruck durchgeführt werden soll, z.B. gemäß dem AusdruckWhen performing a Boolean chain of operations according to a simple expression chosen as an example should, e.g. according to the expression
X = (111 + ϋΖ)·Ν3 ® N4,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,where N1 denotes the tenth bit b9 of the memory word 44, N2 the eighth bit b7 of the memory word 25, N3 the first bit b0 of the memory word 61 and N4 the fifteenth bit bi4 of memory word 35,
ist es möglich, Programmschritte in Ilaschinensprache wie folgt zu schreiben:it is possible to write program steps in machine language as follows:
Schritt 1Step 1
Schritt 2step 2
LDLD
b10 Adresse 44b10 address 44
(— \(- \
101100101100
01011 0 101001011 0 1010
Nach der Ausführung ist LA = N1After execution, LA = N1
OROR
b8b8
Adresse 25Address 25
01111 1 0100 01100101111 1 0100 011001
Nach der Ausführung ist LA = N1 + HZAfter execution, LA = N1 + HZ
Schritt 3step 3
ANAT
0100101001
bObO
Adresse 61Address 61
0000 1111010000 111101
Nach der Ausführung ist LA = (N1 + ΪΤΖ)·Ν3 80981 5/0600After the execution, LA = (N1 + ΪΤΖ) · Ν3 80981 5/0600
b14 Adresse 35b14 address 35
Schritt 4 01101 O 1110 100011 Mach der Ausführung ist LA = (N1 + flZ).N3 0 N4Step 4 01101 O 1110 100011 Mach the execution 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.If the command word for step 1 is brought into the command register 202, the direct decoder 209 according to FIG. 2a causes this and 4 that the signal BADDR goes to zero, so that the Close gate 206 of Figure 2b to mask lines i6 through. The direct decoding circuits are also responsive to command coded signals on lines i11 through i15 (on the signals 01011 in step 1 above), so that the signals L2, L1 and LO according to Table II have the values 111 assume, and the 0 appearing on line i10 of the register makes signal COMP a 0. If the multiplex gate 205 of FIG. 2b transmits its input signal OA to the address rail 11, this is done at the memory location 44 stored word is supplied to the register AIR or 102 in a manner to be explained below. When the command register output lines i6 to i9 control the bit selector 402 by the signal combination 0110, the output signal of the register 102 at the point b9 to the signal LB. If a clock pulse occurs thereafter, the logical answer LA becomes the same the signal Ii1, which is the eleventh bit of the Memory location 44 is extracted word. This is done from the above with reference to FIG. 10 and Table VI explained reasons.
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.In a similar way, the logical program steps 2, 3 and 4 chosen as an example can be carried out one after the other so that after the fourth step the signal LA is the result X of the Boolean expression chosen as an example represents.
109815/0600109815/0600
Si',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.The signal LA remains unchanged until another logical one Process step is carried out. This is because the control signal LAS can never appear, and that the flip-flop 425 cannot be clocked as long as the decoded command is not LD, AN, OR or XR acts. However, the signal LA can be buffered for later use; alternatively it can be in a hardware tilting scarf fcungsbit of the memory are saved to turn an external device on or off. Noc - more important is the fact that the signal LA or its complement LA "can be used to determine whether a conditional Failure is actually carried out; this is discussed in more detail below.
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.To the signal LA in any selected bit of a To store selected memory word, the bit manipulation part of FIG. 10 and the bit control device 404 as well as uses the exclusive-OR arrangement 106 of FIG. 2a. It it is assumed that an instruction SV has been transferred to the instruction register 202 and that this instruction contains codes, which retrieve the signal at bit position b7 of the word stored in memory location 14. In machine language takes the instruction as it appears in register 202 takes the form 10001/0/0111/001110. As a result, it becomes the 16-bit word W taken from the memory location 14 and fed to the arithmetic input register 102, and the bit signal from the bit location b7 becomes the signal LB. If now the signal LB a 1 or a 0 and the signal LA is a 1 or a 0, the original signal from bit position b7 of word 14 is correct coincides with LA and there is no need to change it. However, when the signal LB is a 0 or 1 and when the signal LA has the value 1 or 0, the signal at bit position b7 of word 14 must be inverted in order to match to bring the logical response signal LA.
809815/0600809815/0600
ORIGINAL INSPECTEDORIGINAL INSPECTED
- ^ - ? 'M 3 0 6 0- ^ -? '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.Considering that according to Table II, the logic command SV results in the operation code signals L1 and LO the V / er te 0 and 1, the AND circuit 440 is blocked according to FIG. 10, while a second AND circuit 441 is enabled when an SV instruction is processed. Thus the signal a will be a 0 or a 1 when the logical response signal LA has the value 0 or 1. An OR circuit 442 forwards the signal a so that it becomes the signal c, which is an input signal of an exclusive OR circuit 444, which is the second input signal logical single bit signal LB is supplied. The signal d therefore only has the value 1 if the signals LB and LA are not equal i.e. if one of them is a 1 and the other is a 0. The signal d passes through an OR circuit 445, so that it becomes the signal f which is applied to an AND circuit 446, the output of which is the bit control signal BC is. The BC signal can only have the value 1 if a control signal BTLOG from the microprogram read-only memory or the miscellaneous field decoder 284 of FIG. 9 is then at level 1; this condition becomes one during phase 3 SV operation fulfilled. When a caching instruction SV is to be executed, the selected bit becomes the selected Word introduced as signal LB, and the bit control signal BC is only brought to the value 1 if the Signals LB and LA are unequal, which means that the selected bit of the selected word must be switched to to bring it into agreement with the then existing value of the signal LA.
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 BCReferring to Fig. 2a, the bit control signal BC is applied as an input to the control circuit 404 for the selected bit to which only one input line and 16 output lines for the signal H belong. As mentioned, the bit control circuit 404 normally leaves a 1 signal on all 16 H output lines appear, but not when the bit control signal BC
809815/0600809815/0600
-6ο- /743UbU-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.is a 1; then the corresponding bit of the signal H, which is indicated by the signal code on lines i6 to i9 of the register 202 is determined, converted into an O signal. Consequently the signal H either consists of 16 1-bits, or it contains 15 1-bits and a 0-3it if BC has the value 0, and the relevant bit with the value 0 is the selected bit, which is the case with the example dealt with here comes from bit position b7 of register 102.
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.If one remembers that the selected word W, namely word 14 from the memory in the example, is always present in the arithmetic input register 102, and one assumes for the moment that the control circuit is following the signal B of the unit ALU 2a, the signal F is the one's complement of the selected word, ie F = W. The complement signal W forms a multi-bit input signal for the 16-bit exclusive OR arrangement 106, to which the 16-bit input signal H, in which the selected bit has the value 0 according to the example at bit position b7, is also fed. Therefore, the output of the 16-bit exclusive-OR 106 is a 16-bit ANS 1 which is the original word taken from memory, ie, W has been inverted back to V /; an exception is that the selected bit is inverted with respect to its original value and converted to the opposite value by the exclusive-OR circuit if the selected bit signal did not originally coincide with the signal LA. If, in the example dealt with here, the signal BC is a 1, the signal H from the bit control circuit 404 contains only ones, but a 0 is present at bit position b7. Therefore the signal ANS 1 is equal to the signal F (which corresponds to W), which has been inverted, except that in the signal ANS 1 the signal at bit position b7 is not inverted back and in the signal ANS 'as the complement of the b7 signal of the original word W appears, which is held in the arithmetic register 102.
80981 5/060080981 5/0600
-69- 2743U6Ü-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.After the signal ANS 'has been formed in this way, the selected bit having been shifted if necessary to match the logical response LA, the gate Gr can be enabled by a signal EOR in order to apply the signal ANS 1 to the system rail 10. After this has been done, this set of signals can be stored in the memory at the original location 14. In this memory state, the value at bit location b7 corresponds to the signal LA which is formed after one or more logical processing operations of the processor 401 .
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.If you consider this explanation based on a specific example with respect to the memory word position 14 and the associated bit position b7 as well as the fifth line of Table VI, you will see that each word from the memory (at the first 64 memory locations 0 to 63) with the aid of an instruction SV can be brought into the arithmetic input register 102 that the selected bit of this word is defined by the command, which is fed as signal LB to the logic processor 401, that the bit control signal BC is formed in order to generate the signal H for the exclusive-OR- To generate arrangement 106, and that the arrangement 106 then supplies a signal ANS 1 which represents the original word, the selected bit having the value 1 or 0, which corresponds to the logical response LA. It should be noted here that use is made of the parts of the basic arithmetic system, ie the input register 102, the arithmetic logic unit ALU, the instruction address register 202 and most parts of the control unit. The bit control signal BC assumes the value 1, and the selected bit of the selected word is only shifted if this is necessary in order to change the selected bit signal so that it corresponds to the value of the signal LA then present.
Es ist möglich, verschiedene Signale ohne Rücksicht darauf,It is possible to use different signals regardless of
809815/0600809815/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.whether they are through external switches, external flip-flops or
the state of memory cores are represented, to be introduced one after the other and according to logical processing instructions with the help of a chained sequence of operations
to process the Boolean logic so that a final logical answer LA is obtained. After such an answer has been created and used or stored, another answer can be generated with the aid of another Boolean sequence. Let us assume, for example, that the result of such a Boolean expression determines whether a to
controlling machine, a solenoid valve is to be switched on or off after the signal LA has finally been formed, a memory word, to which a control flip-flop for the electromagnet belongs, can be brought into the arithmetic register 102. The selected bit entsnricht a selected flip-flop, for example, the output of the flip-flop Ffy and definition of V / 40 of FIG. 12, is then manipulated so that it üuereinstimmt with the final logical response LA, and the signal ANS 1 is then again the The same memory location is entered, here in FIG. 12 as word W40
is shown. If LA has the value 1 or 0, the flip-flop FFy is set or reset, and that for the control
Serving solenoid valve is switched on or off.
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.Further bit manipulation commands are possible, namely the commands IV, ST, RS. Instruction IV causes the selected bit of the selected word to be inverted; the command ST causes the selected bit of a selected word to be set to
Value 1 is brought or retains this value, and the command RS causes the selected bit of the selected word
is reset to the value 0 or left in the reset state.
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, 1With regard to the command ST, which according to Tables II and IV
leads to the signals L1, LO and ii4 having the values 1, 0, 1
809815/0600809815/0600
9t9t
-7*- 2743Ü60-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.assume, it can be seen that the AND gate 441 of FIG. 10 is blocked, so that the signal a must have the value 0. On the other hand, the signals L1 and ii4 both have the value 1, so that, as shown in FIG. 10, the signal b has the value 1 and passes through the circuit 442 so that the signal c has the value 1. If the signal LB now has the value 0 or 1, the exclusive-OR circuit 444 lets the signal d appear at its output with the value 1 or 0; the signal d appears as the signal f, and when the enable signal BTLOG appears, the output signal BC assumes the value 1 or 0. If, as already explained, a selected word is brought into the arithmetic register 102 and the selected bit is fed to the logic processor 401 as input signal LB, the selected word appears in inverted form at the input F of the 16-bit exclusive-OR arrangement 106 If the selected bit signal is not a 1, the bit control signal BC becomes a 1, and after processing by the exclusive-OR arrangement, the corresponding * bit in the signal ANS 1 is inverted, ie it is from a 0 to a 1 been transformed. This operation can be seen in the seventh line of Table VI, which confirms that the instruction ST always results in the selected bit being brought to the value 1, either by inverting its original value 0 or by the fact that the previous one Value 1 is retained.
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-In the following, the bit manipulation command RS in the eighth line of Table VI is discussed. This command leads this means that the signals L1, LO and ii4 assume the values 1, 0, 0. Therefore, the gates 441 and 440 are both blocked, so that the signal c is held at the value 0. Has the Selected logic bit signal LB has the value 0 or 1, has the output signal d has the value 0 and the signal f has the value 1. Thus, the signal BC has the value 1 when the control signal BTLOG appears, but only if the selected, through the sign
809815/0600809815/0600
- 7^ - 2743U6Ü- 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.nal LB represented bit has the value 1. If the signal BC becomes a 1 and, according to FIG. 2a, the selected word appears again at AIiS 1 , the selected bit is switched from its original value 1 to a new value 0, or its original value 0 is retained. The reset command RS therefore always results in the selected bit of a selected word being switched to 0 or left at the value 0. Of course, the signal ANS 'can then be stored again in the original location in the system memory.
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.The invert command IV in the sixth line of table VI causes the signals L1, LO and i12 to assume the values 0, 1, 1. If these control signals are fed to the circuit according to FIG. 10, an AND circuit 448 is fully qualified, so that a signal e with the value 1 appears at its output, whereupon the output signal f of the OR circuit 445 regardless of whether the signal d is a 0 or a 1, keeping the value 1. Command IV thus always results in signals f having the value 1 and signal BC assuming the value 1 as soon as the control signal BTLOG appears. Since an invert command always generates a signal BC with the value 1, the selected bit of the selected word in ANS 1 always appears in its inverted form compared to the original value. Each word which is transferred from a memory location to the arithmetic register 102 when an invert command comes into effect therefore appears at ANS 1 , the selected bit identified by the command being inverted. The ANS 1 signal can then be stored again in the original memory location in the system memory.
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,An inverted form of the word appears as input F to the 16-bit exclusive-OR array 106. If required is to change the selected bit of this word, i.e. an intermediate storage according to the respective command, Inverting, setting or resetting,
809815/0600809815/0600
-75- 2743Ü6Ü-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.the bit control signal BC assumes the value 1, so that the corresponding selected bit of the signal H receives the value 0, while all other bits of the signal H have the value 1, so that the signal ANS 1 is the original word in which the selected Bit has been inverted. If, on the other hand, the selected bit has the correct value as a result of one of the commands SV, ST and RS, the bit control signal BC retains the value 0 and the signal OUT 1 is simply the original word in which the selected bit retains its original value.
12. Arbeitsweise des Systems - Allgemeines A. Die Abrufoperation (Phase 0) 12. Operation of the system - general A. The retrieval operation (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-When the execution of a specific command is completed, always at the end of an interval of the Phase 3, which ends with the trailing edge of a clock pulse, the program counter 226 has been switched on beforehand, so that it numerically signals the next instruction address within a program with several steps. One assumes that at the moment in which a certain phase 3 ends, for example at time ti according to FIG. 6, a phase 0 begins the output signal of the program counter a certain decimal address number xxx. When the signal PHO appears, it is a fetch code for line Xa of the microprogram read only memory forms, the decoders FD1 to FD5 generate control signals according to the first line of Table III PC, IiEM, A, AIR and IPC. As shown in the graph in FIG. 6, these have control signals during the interval between the times ti and t2 each have the value 1. This Control signals are sent to the multiplex gate 205t, the memory 300 and the gate Gmr, the unit ALU, the AND circuit 203 and the OR circuit 290 of FIG. 9 during the entire phase 0 interval. The signal IPC is generated the signal INPC, which is fed to the AND circuit 230 according to FIG. 2b. A clock pulse 262a only appears during the last
809815/0600809815/0600
9*9 *
-1N- ? 7 U 3 ί.' 6 U- 1 N- ? 7 U 3 ί. ' 6 U
ten Teils des Intervalls der Phase O und wird somit durch die UND-Schaltungen 203 und 230 weitergeleitet.th part of the interval of phase O and is thus through the AND circuits 203 and 230 passed on.
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. The signal PC causes the multiplex gate 205 to be the output signal PA of the program counter 226 of the address rail 11, so that the command word at the relevant memory address as a result of the read signal! EH to the memory output lines and is fed to the system rail 10 via the gate Gmr. The access time of the memory is approx 200 ns in the known memories, so that the selected command word is supplied to the rail in good time before near at the end of the phase 0 interval, clock pulse 262a appears.
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. However, if the clock pulse 262a appears, it activates the AND circuit 203 to generate a preset enable pulse IAR ', which the bad address register 202 while the presence of the clock pulse 262a causes the command word to be stored, which is then transferred from the memory to the rail 10 is transmitted. Since AND gate 230 is partially enabled by signal INPC, clock pulse 262a also fails a corresponding positive pulse HiC at the switching input of the program counter 226 appear, which then reacts to the negative trailing edge of the pulse INC to to increase its counting result by one unit from xxx to xxx + 1.
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.At the moment, however, in which the program counter 226 is incremented is, the phase sequence generator 212 replaces the signal PHO with the signal PH2 in those cases in which the instruction just fetched to instruction register 202 requires an operand, and direct decoder 209 is caused to to generate the GETOP signal.
809815/0600809815/0600
9«9 «
D. Zuführen des Operanden zum arithmetischen Register (Phase 2) D. Feeding the operand to the arithmetic 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.As soon as the signal PII2 appears, the input code according to part b of Table III, the microprogram read-only memory is supplied, changed from the code after the first line of Table III to the code after the second line. Therefore, the field encoder output signals are combined into a combination of the signals EA, MEM, A and AIR. The signal EA appearing during phase 2 is in the lower part of Fig. 6 is shown; the signal MEM retains the value 1 according to FIG. The signal present during phase 2 is AIR also shown in FIG.
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.Depending on the signal EA, the multiplex gate 205 is conditioned so that it receives its input signals OA, which the Address output lines i0 to i9 of the register 202 are taken to the address rail 11, and the signal MEM conditions the memory 300 and the gate Gmr so that the content, i.e. the operand, of the system rail 10 from the Address position is entered. In this way, the operand word fetched by an instruction word becomes the memory removed and fed to the system rail.
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.The signal AIR appearing during phase 2 causes a partial release of the AND circuit 101, and when the clock pulse 262b appears near the end of the phase 2 interval, this circuit is fully activated to a pulse AIR, which, while the clock pulse 262b is present, causes the arithmetic input register 102, to receive and store the operand signals then present in the rail. Thus, an operand fetch operation includes during a phase 2 measures to take the respective data word from the memory, which is determined by the operand address which is located in the command word which is then contained in the command register 202.
809815/0600809815/0600
9$$ 9
- 7^ - - 7 ^ - ^ 7 4 3 O 5 O^ 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.It should be noted that the command signal A, which the unit ALU during a fetch phase O or an operand fetch phase 2 is fed, only causes the contents of the accumulator to be fed to the output F via the unit ALU. Although this is of no particular importance in the simplified system dealt with here, it is possible in practice monitor the contents of the accumulator during phases 0 and 2 by treating signal F as a status word will. In the present example, the command A, which is supplied to the unit ALU during phases 0 and 2, can be be ignored.
C. Ausführung des Befehls (Phase 3) C. Execution of the command (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.Simultaneously with the trailing edge of the clock pulse 262b, the phase sequence generator 212 replaces the signal PH2 with the Signal PH3. Therefore, the map read-only memory 210 of Fig. 8 is activated to have encoded input signals the microprogram read-only memory supplies, the combination of these input signals uniquely the respective Represents the instruction which is indicated by the five upper bit signals, which due to a then in the register 202 stored command word appear in lines i11 to. Thus corresponds during each execution phase 3 shows the combination of the output signals from the field decoders Fig. 9 those decoded output signals that are in the Parts c through h of Table III are shown, and this applies to each of the various possible commands. Each specific one Combination of control signals generated in this way leads to a different result.
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-To give an example, the execution of the LDA instruction during phase 3 is shown graphically in the lower part of FIG. According to Table III, during phase 3 of an LDA sequence of operations at the field decoder outputs, the Control signals B and ACC generated. Therefore, this causes the
109815/0600109815/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.is called ALU, the signal B supplied to this unit, input signals B, which represent the data word that was previously used as an operand was fed to the input register 102, according to FIG. 6 during the entire interval of phase 3 between the points in time t3 and t4 to be fed to output F. In addition, the ACC signal causes the AND circuit 103 to be partially enabled is so that when a clock pulse 262c appears at the end of the phase 3 interval, a corresponding pulse ACC accordingly The lowermost waveform in FIG. 6 is applied to the memory enable input of the accumulator 104. The accumulator now saves and signals the operand data word at ANS, which was previously taken from the memory and during the Phase 2 is stored in the arithmetic input register 102 has been. Thus, an accumulator load command LDA has the effect that a specific operand is taken from the memory, the input register 102 is supplied and then transferred to the accumulator 104 during phase 3, whereupon the operand word at ANS appears. FIG. 6 uses the example of the LDA command to illustrate the three steps Operation following the fetching of any instruction that requires the use of an operand; these commands are each marked with an asterisk in Table III.
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.The GETOP signal occurs with the STA, CLA, SAR, SAL and JMP commands, for which no operand needs to be used during the polling phase 0 does not appear. Therefore, as shown in FIG. 7, the phase sequence generator does not generate a signal PH2, and the Alternating intervals of phases 0 and 3 are measured by the signals PHO and PH3.
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,In these circumstances the operation is during the interval the retrieval phase 0 exactly the same as it was described above with reference to FIG. 6, and actually plays The retrieval process is the same for each command. However, since, as shown in FIG. 7, the signal PH2 does not appear and therefore the signal PH3 immediately follows the signal PHO,
809815/0600809815/0600
-7»--7 »- 27A3Ü6027A3Ü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.an execution phase 3 runs off immediately after a command word has been transferred to the command address register 202 is. The signals on lines i11 through H 5 from the retrieved Command word thus cause the read-only memory 210 to supply the microprogram read-only memory 220 encoded input signals immediately after phase 0, and the Field decoders generate the required combination of control signals to perform the operations described in accordance with FIG the command word contained in register 202 are required.
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 ErgebnisFIG. 7 shows two examples of instructions in which no operands are used. In this regard, reference is made in particular to the illustrated interval of execution phase 3. Assuming that the error STA has been fetched into the register 202 during phase 0, the microprogram field decoders output signals EA, ATB and 5T14, as shown in FIG. 6, when the signal PH3 appears given in Table III and in t'ig. 7 is shown. The signal EA causes the multiplex gate 205 to supply the address-representing bits of the command word, which then appear on lines iO to i9, to the address rail 11 in order to condition the memory system 300 so that it receives signals at the desired memory location. The signal ATB is supplied to the gate Gatb to open it, so that the accumulator output signal ANS is supplied to the rail 10. The signal BTM causes a partial release of the memory control AND circuit 303, and when the latter is supplied with a clock pulse 262c near the end of the interval PH3, a pulse BTM f is generated which enables the system memory so that the signals at the addressed memory location which are then fed to the rail from the accumulator 104. Thus, an accumulator store command STA causes the signal ANS then present in the accumulator, possibly previously as a result
809815/0600809815/0600
mehrerer verketteter arithmetischer Rechenvorgänge gebildet worden ist, dem Systemspeicher an der bezeichneten Stelle eingegeben wird.several chained arithmetic calculation processes has been formed, the system memory at the designated location is entered.
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.According to FIG. 7, after the termination of the phase 3 interval at time t2, the phase sequence generator 212 causes the signal PHO occurs and the next interval of a phase 0 is measured, so that the next command word from the Memory address designated by the program counter 226, which was previously used during the end section of the previous interval of a phase 0 has been.
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-Furthermore, Fig. 7 shows the operations resulting from a JMP instruction. If the JMP command is issued during phase 0 j η the command register 202 is fetched, no GETOP signal is generated and the phase sequence generator goes immediately to phase 3. The lower bit positions of a command word JI-IP designate the address of another command word, that is to be used next, and that does not follow in numerical order the address PA, which is then replaced by the Program counter 226 is reported. If the code JMP appearing on lines i11 to 115 enters read-only memory 210 causes the microprogram read only memory 220 to supply appropriate input signals, the field decoders generate according to Table III and the lower part of FIG. 7 output control signals EA, ADTR and PPC. The signal EA is conditioned the multiplex gate 205 »so that it transmits the signals from the lines iO to i9 to the address rail 11, however, the system memory 300 does not respond since neither a signal PTM nor a signal MEM is supplied to it. The signal ADTR opens the gate Gad, so that the numerical address value then present in the rail is sent to the system rail 10 is transmitted. The signal PPC causes a partial release of the AND circuit 231, which occurs during the end section of the inter-
809815/0600809815/0600
JOSJOS
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.In addition, a clock pulse 262c is supplied to phase 3 according to FIG. 7. The output signal of the circuit 231 is a pulse PPC 1 which enables the program counter 226 to be preset to the numerical counting state, which is represented by the signals then present in the rail 10, in order to numerically represent the address position of the next instruction to be used. If, for example, the program counter was in state 126, so that it would then cause it to take an instruction word from memory location 126 during normal operation, instruction JMP can preset the program counter to count result 285 or 63 so that when the next Interval of a phase 0 begins, a command word is used which appears in memory location 285 or 63.
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.From the above description it can be seen that the computer system according to the invention responds to a wide variety of instructions, only a few of which have been dealt with, some of which require the use of an operand taken from memory, and of which still others are executed directly without a Operand is required. The conventional or basic arithmetic commands are used in a sequence of programmed steps, with jumps being switched on if necessary, in a known manner in order to generate responses to individual or chained arithmetic operations, these responses as signals ANS from the accumulator ΪΟΙ * appear and then can be stored in any desired memory location with the help of the execution of an accumulator storage command STA.
D. Wirkung spezieller logischer Befehle D. Effect of special logical commands
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. VielmehrThe specific logical instructions are generally executed in accordance with the sequence described above with respect to the instructions in which an operand is used, but these instructions do not result in arithmetic operations. Much more
809815/0600809815/0600
sotsot
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.they lead to processing according to the Boolean logic or to bit manipulation in the logical processor 401, where as an input signal LB the selected bit of a selected word is used, both through a in the command register 202 fetched special command word can be designated.
1. Logische Prozeßbefehle 1. Logical process commands
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.As already briefly explained, always works when one of the four logical process commands from lines 12-15 of the table III is fetched into the command register 202, the signal BADDR from the value 1 to the value 0 over to the masking gate 206 to block. In addition, the GETOP signal appears instantaneously if 0 during the interval of a phase a special command word is entered into register 202. If one of these logical process commands is called, it is run through thus the system becomes a phase 2, and a selected word corresponding to the signals on lines iO through i5 becomes fed to the arithmetic input register 102. The signals from lines i6 to i9 then condition the bit selector 402 such that the selected bit signal of the selected word appears in the logic processor 401 as input signal LB. It also performs the direct decoding of the signals from lines i10 to i15 that result from the retrieved Command word result, for generating corresponding coded control signals L2, L1, LO, COMP, 112 and i14. These signals determine the particular function that the logical processor 401 performs using the single bit input signal LB.
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 erzeugenAfter phase 2 depending on a logical process command is complete, and when the interval of a phase 3 begins, the read-only memory 210 performs according to FIG Table III sends the input code 1100 to the microprogram read only memory 220 and generates the associated field decoders
•09816/06ÖO• 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.only the logical control signal LAS (storage of the logical Answer). As mentioned, the control signal LAS effects a partial conditioning of the AND circuit 432 according to FIG. 10, and when near the end of the phase 3 interval the clock pulse appears, flip-flop 425 is actuated to to store the result of the logic function commanded with respect to the input signal LB. Sonit becomes the signal LA brought into that state or left in that state, in which it forms the answer or the result of the executed logical process function LD, AN, OR or XR. Zv / ar can of course have different logical voltage combinations do appear on control lines L2, L1 and LO when ordinary arithmetic commands are processed the signal LAS does not appear under these conditions, so that the flip-flop 425 according to FIG. 10 is not clocked and that it is not switched over as a function of the voltage levels appearing at its J and K inputs.
2. Bitmanipulationsbefehle 2. Bit manipulation commands
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 FunktionsbezeichnungssignaleIf any of the logical bit manipulation commands SV, IV, ST and RS is used during a phase 0 of the type described in the command register 202 is retrieved, the signal BADDR returns to the value 0 to disable the masking gates 206, so that the input signal OA for the multiplex gate 205 through which then appear in the lines i0 to i5 Command word signals is formed. Therefore, during the phase 2 interval, the selected word is written to the arithmetic input register 102 transferred. The bit selector 412 controlled by the signals from lines i6 to i9 causes the selected bit of the selected word to appear as input signal LB for logic processor 401. In addition, those appearing in lines i10 to i15 initiate Signals of the logical command word direct decoder 209, the logical processor function designation signals
109815/060Ö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.L1, LO, i12 and ii4 to be supplied. This leads to the Arrangement nacia Fig. 10 generates a signal f which determines whether the signal BC has the value 1 or not if the gate 446 is later enabled by a control signal BTLOG.
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.During phase 3 of the execution of a logical bit manipulation command, the read-only memory 210 feeds the input signals 1011 to the microprogram read-only memory 220, and the associated decoders FD1 to FD5 generate the control signals EA, EOR, 5, BTII and BTLOG according to Table III. As a function of the signal EA, the multiplex gate 205 is conditioned in such a way that it allows the signal OA to reach the address rail 11. The memory address signals therefore designate the same memory location from which the selected word was read out during the previous phase 2. The control signal E causes the unit ALU to make the output signal F the complement of the input signal B, the latter being the selected word which was transferred from the memory to the input register during the preceding phase 2. The signal BTLOG enables the gate 446 according to FIG. 10 in order to make the control signal BC a 0 or a 1, which, as explained above, depends on the value of the signal f, which is determined by the type of bit manipulation function commanded and the value of the input signal LB is determined. The signal BC acts on the bit control circuit 404, which is conditioned by the bit selection signals from the lines i6 to i9 and then generates the input signal H for the exclusive-OR arrangement 106, the selected bit contained therein having the value 0 or 1, when the signal BC has the value 1 or 0. The output signal ANS 1 of the arrangement 106 is then equal to the originally selected word, the selected bit being inverted or not, as corresponds to the commanded logic function and the value of the signal LB.
80981 5/060080981 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.The signal EOR opens the gate Gr in order to feed the signal ANS 1 to the rail 10, this multi-bit signal corresponding exactly to the data word which was taken from the memory during the previous phase 2, and the selected 3it being manipulated as required to execute the bit manipulation instruction contained in register 202.
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.The signal BTM exists during the entire phase 3 and causes a partial release of the AND circuit 303. As soon as the clock pulse appears during the end portion of the interval of phase 3, the signal BTM 1 occurs as a pulse to prevent the input of the then in the rail 10 to cause existing signals in the memory location, which is designated by the signals in the address rail 11. Thus, the originally selected word is re-entered from the memory into the same memory location, with a single selected bit of the word being changed as is necessary to execute the relevant instruction SV, IV, ST or RS.
3. Bedingte arithmetische Befehle 3. Conditional arithmetic instructions
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.According to the invention there are facilities that make it possible the control or execution devices at one to block any command that is not a logical process command and that is coded so that it forms a conditional command if the logical response signal LA does not have the predetermined value 1 or 0.
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.In the first line of Table I, the symbol U / C at bit position b10 only means that if the coded command value contains a 0 or 1, the command is an unconditional or a conditional command. Is it a conditional Command, the signal COND according to FIGS. 4 and 9 becomes a 1 as soon as the relevant command is entered in register 209 is retrieved.
809815/0600809815/0600
40 t40 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.In the embodiment described here, during the execution of phase 3 at least one control signal generated by the field decoder FD4 or FD5, from which the final Execution step results. For example, appears in phase 3 of the ADD command according to Table III, the ACC signal; this signal enables the AND circuit 103, see above that the pulse ACC can be generated in order to transfer the result F of the unit ALU into the accumulator 104. Will however, if the ACC signal is destroyed, the entry cannot be made and the execution is aborted. So on this Way, the execution of any conditional command can be blocked if the signal COND is a 1, according to 9, the signal K is made a 0 when L "ä" = 1 (LA = 0) is. The signal K with the value 0 simply disables the field decoders FD4 and FD5, so that even if an interval of phase 3 is measured, no command can be executed.
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-Of course, you could also use other or equivalent circuit elements and connections to achieve the same effect. For example, the phase sequence generator could be controlled by signals COND and LA in such a way that it simply jumps from phase 2 to phase ο when these two signals are present. This would prevent execution because the map read-only memory would not be enabled by a signal PH3. Furthermore, the microprogram read-only memory could be designed in such a way that it receives the signal COND as an input signal, so that it generates output signals during the phase which do not lead to a control signal when they are decoded. Furthermore, the signal K could be fed as a third input signal to all AND circuits, for example the AND circuit 103 »in order to block them during phase PH3 when TJ. = 1 and COND = 1. It is true that devices of the most varied types could be used, but the only thing that matters is that the control unit is blocked in order to prevent the execution of a command coded as conditional.
809816/0600809816/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.prevent if the previously formed logical answer LA then not a predetermined state of two states, and State 1 is referred to here.
E. Der Befehl IF E. The IF command
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.There is an instruction in which a certain bit of a certain Word is chosen, and which thus to some extent resembles a special logical command, although at the selected bit is used neither for logical processing nor for manipulation. This one with IF The instruction designated is used to cause the next operation instruction within a program sequence to be skipped becomes, if the selected bit of a selected word, which has either its true form or its complement form, is a 1. It is therefore useful to describe here the operations that are performed when the command IF is fetched into command register 202 during any phase 0 interval.
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.The first six bit positions b0 to b5 of an IF instruction designate the operand word to be selected, while the bit positions b6 to b9 denote the bit within this word that is to be checked. The bit position signal at b10 in one Instruction IF denotes by a 0 or a 1 whether the selected bit is used in its true sense or in its complement form shall be. The other bit positions designate b11 to b15 the IF command code according to Table 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 EingangssignalAfter fetching an IF command word into register 202 operations during phase 2 are exactly the same as with any of the command words described above. In other words, the selected word is transferred from the memory to the rail 10 and the arithmetic input register 102 is input and bit selector 402, responsive to signals on lines i6 through i9, causes the input signal
809815/0600809815/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.LB for the logical processor 401 the value of the selected Bits in the selected word. If, according to FIGS. 4 and 10, the signal on line i10 is a 1, which indicates If the selected bit is to be treated in its complement form, the COMP signal has the value 1. In in this case, the exclusive OR circuit 426 makes the signal ELB the complement of the signal LB; otherwise ELB has the same value as LB. At the end of the phase 2 interval for an IF instruction, the ELB signal exists in the logic Processor of Fig. 10, and it becomes the UlID circuit 291 according to FIG. 9 supplied.
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.When the phase sequence generator 212 enters execution phase 3 and the read-only memory 210 is enabled, the latter responds to the IF instruction code to supply the microprogram read-only memory 220 with a unique combination of input signals. The associated field decoders then generate only the control signal IPCLB in accordance with Table III. If this signal is present during the interval of a phase 3, and if the signal ELB has the value 1, the AND circuit 291 of FIG. 9 produces the output signal 1, which passes through the OR circuit 290 to the signal INPC of AND Circuit 230 according to FIG. 2b. When a clock pulse appears near the end of the phase 3 interval, a corresponding pulse INC is applied to the count input of program counter 226. When the trailing edge of this pulse appears, ie exactly at the end of the phase 3 interval, the program counter 226 continues to count by one unit. If you consider that the program counter was incremented at the end of the interval of the previous phase 0 so that it is ready to call up the command word from the memory, which is the one which is to be used next in a program sequence, this causes The program counter is incremented during phase 3, which runs depending on an IF command, so that the program counter is incremented twice. When the next phase 0 begins, one step of the program is simply skipped.
80981 5/060080981 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.The IF command is therefore a convenient way to edit any Check the bit of any word to determine whether it is a normal numeric data word, or a word that only contains logical bit signals that are generated by external switches or flip-flops, and skip the next program step if the checked bit is either a 1 or a 0. Y / if the bit b10 in the command word IF has the value 0, the next program step command is skipped if the checked bit has a 1 is; however, if the bit b1O in the command word IF has the value 0, the next program step command is skipped if the checked bit has the value 0.
13. Typische Programmfolgen, die der erfindungsgemäße Rechner durchlaufen kann 13. Typical program sequences that the computer according to the invention can run through
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. Having explained the various machine language commands and the individual operations resulting therefrom above an explanation of commands in English-language symbols will be given below, v / ie they of can be used by a programmer in setting up program sequences. To initiate it is necessary, however, to allocate specific memory locations to the numeric data words and the logical bit data words in order to facilitate the description certain software program sequences as examples.
Es seien die nachstehenden Annahmen gemacht:The following assumptions are made:
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.The number N1 is stored in memory location 452. The number N2 is stored in memory location 25. The number N3 is stored in memory location 85. The number N4 is stored in memory location 96. The two-state signal R is at bit position bi4 of the memory location 29 saved.
Das Zweistellungssignal S ist an der Bitstelle b3 der Speicherstelle 18 gespeichert.The two-position signal S is at bit position b3 of the memory location 18 saved.
80981 5/060080981 5/0600
4η4η
Das Zweizustandssignal T wird durch den Schalter S8 der Speicherstelle 30 nach Fig. 12 gebildet.The two-state signal T is through the switch S8 Storage location 30 according to FIG. 12 is formed.
Das Zweizustandssignal U wird durch den Schalter S12 der Speicherstelle 30 nach Fig. 12 gebildet.The two-state signal U is through the switch S12 of the Storage location 30 according to FIG. 12 is formed.
Das Zweizustandssignal V wird durch die Kippschaltung FFg der Speicherstelle 40 nach Fig. 12 gebildet.The two-state signal V is formed by the flip-flop circuit FFg of the memory location 40 according to FIG.
Das Zweizustandssignal W wird durch die Kippschaltung FF15 der Speicherstelle 40 nach Fig. 12 gebildet.The two-state signal W is formed by the flip-flop FF 15 of the storage location 40 according to FIG.
Das Zweizustandssignal X wird durch die Kippschaltung FF1 der Speicherstelle 40 nach Fig. 12 gebildet.The two-state signal X is formed by the flip-flop circuit FF 1 of the memory location 40 according to FIG.
A. Boolesche Signalverarbeitung mit Steuerung äußerer ein- und ausschaltbarer Geräte A. Boolean signal processing with control of external devices that can be switched on and off
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:It is assumed that it is desired in a certain part of an overall arithmetic and logic program, according to Fig. 12 to turn on the solenoid valve 320 when the number N2 is positive and the signal R is a 1, or when the switch S8 is closed (T = 1) and the flip-flop FFg is set is (V = 1). One stored in bit position b15 of word 452 0 or 1 means that the number N2 is positive or negative. This can be explained by the following Boolean Display expression:
Ventil 320 einschalten, wenn ((N positiv)»R + (S8»FFG)JSwitch on valve 320 if ((N positive) »R + (S8» FFG) J
V/ =(N1 positiv.R) + (T-V)V / = (N1 positive.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:If these measures are to be carried out and program step 442 to be started, a program could be used, for example write with commands like this:
109815/0600109815/0600
und Speicherstellestep
and location
dingtunaffected
things
Diese Programrabefehle würden den Speicherstellen 442 bis auf bekannte Weise mit. Hilfe eines Lochstreifens oder eines Kartenlesers eingegeben werden.These program instructions would be transferred to memory locations 442 bis in a known manner. Help of a punched tape or one Card reader.
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.If during later operations the program counter 226 the When counting result 442 is reached, bit 15 of word 25 is tracked to accumulator KipO circuit 425 in its complementary form Fig. 10 is input so that LA becomes a 1 or 0 when the number N2 is positive or negative, respectively. The program counter switches to state 443.
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.Then, in accordance with the command taken from .Stelle 443, the jit 14 is brought from the location 29 into the logic processor 401, specifically with the aid of a UIJD operation code, so that LA n assumes the value (N1 positvR). The program counter then advances to state 444.
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.The signal LA is then stored in a buffer location. The V / ort 63 is transferred to the register 102 and its bit b0 input to the logical processor 401, the one Receive cache opcode. The word is stored again at position 63, its bit b0 starting with LA matches, i.e. represents the result of (N1 positiveR). The program counter 226 transitions to state 445.
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.A logical command word is retrieved from address 445. It causes bit b8 of word 30, i.e. T, to be loaded, so that LA coincides with it.
809815/0600809815/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.A logic command word is now fetched from position 446 in order to bring LB into agreement with bit b6 of word 40, ie with V, and so that the logic function code commands an AND operation. The signal LA n receives the value (T »V). The program counter switches to state 447.
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:Next, the instruction is fetched from location 447 by which LB is brought into agreement with bit b0 of word 63, which was stored in the previous step 443, to represent (111 positive »R), whereupon processor 401 receives an OR -Function code is supplied. The LA n signal becomes a response that is the following expression:
(N1 positivR) + (T»V)(N1 positiveR) + (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.After LA is formed in this manner, and when the program counter reaches state 448, the latch command word is fetched. It causes word 40 to be entered into register 102 and LB to be brought out of that register in accordance with bit b15. The control signal BC is made a 0 or a 1 when LA is equal to or different from LB. Thus, the signal BC makes the bit b15 of the signal H a 1 or 0, and the exclusive-OR arrangement 106 brings ANS · into agreement with the original word from position 40, but with the signal b15 coinciding with LA. ANS 1 is then entered again into memory location 40. It can be seen from FIG. 12 that if LA is equal to 1 at this point in time, the flip-flop FF is set or left in the set state; however, if LA equals 0, FF ^ 0 is reset or left in the reset state. Thus, the ultimate result of the chained Boolean operations is to turn the solenoid valve 320 on or off according to the Boolean logic response.
809815/0600809815/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.Of course, the computer according to the invention makes it possible, too to realize numerous other types of Boolean equals by means of appropriate programming. Be it notes that you can use logical 1-bit signals in the Boolean sequences, which are activated by a switch or the like. generated, e.g. the signal T in the program example above, but also selected bits from numeric data words, e.g., according to the above example, the signal N1. The purely logical words according to the last line of Table I can be mixed with numeric words according to the penultimate line of Table I to produce Boolean Receive input signals. The logical answer LA at the end of a Boolean sequence does not need to be in a toggle switch to be saved; rather, it is possible to use them as an identifier in a specific bit of a specific word of the Core memory and then retrieve it at a later time for review or use. Further No sequential program steps need to be carried out in a Boolean chain of operations. It some of the logical operations can be performed, then arithmetic operations can be performed, and finally the Boolean chain can be resumed since LA contains the partial result.
B. Bedingte arithmetische Operationen B. Conditional arithmetic operations
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:As an example, it is assumed that it is desired to store the sum of N1 and N4 as the new value of the number N3 as part of an overall software program, but to subtract N2 from it, and only if one of the logic signals S and U but not both signals are in the 1 state; the result is then to be divided by 2, but only if the flip-flop FF 1 according to FIG. 12 is in the reset state. The following steps are required for this:
809815/0600809815/0600
/MC/ MC
--93 ---93 -
a) N4 zu N1 addieren.a) Add N4 to N1.
b) N2 vom Ergebnis subtrahieren, wenn 3 0 U.b) Subtract N2 from the result if 3 0 U.
c) Ergebnis von a) und b) dividieren, wenn das Signal 40/1 nach Fig. 12 eine O ist.c) Divide the result of a) and b) if the signal 40/1 according to FIG. 12 is a 0.
d) Ergebnis als neuen V/ert von N3 speichern.d) Save the result as the new value of N3.
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:In order to perform these operations under the stated conditions, you can write part of a program that begins with step 183, for example, as follows:
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.If the program counter 226 reaches the count 183, the basic command LDA is called up from the memory location 183. the Number N1 from memory location 452 is entered into accumulator 104 and displayed at MS. The unit ALU becomes a Command signal B supplied for this operation according to Table III.
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.As soon as the program counter reaches the state 184, the command ADD is called from the memory location 124. He causes that ANS and N4 (the operand from memory location 96) are added and the result in the accumulator as the new value of ANS is saved. Of course, during this operation, the ALU unit receives the command A + B.
Erreicht der ProgrammzMhler den Zustand 185» wird der speze^Llle Befehl aus der Speicherstelle 185 abgerufen, und dasIf the program counter reaches state 185, the specific Command retrieved from memory location 185, and that
809815/0600809815/0600
/14 ϊ/ 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.Bit 3 of word 1o, i.e. S, v / i, is loaded to become the signal To become LA; this is done in the manner described with the aid of a logical process 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.As soon as the program counter 226 reaches state 186, the special command word is retrieved from memory location 186. The bit signal b12 (switch S12 of FIG. 12) of the Word 30 is supplied as signal LB, while the logical processor 401 is an operation code for an exclusive OR receives over lines L2, L1 and LO. LA is brought into this state or left in the state that S φ U where the value 1 is only present if S or U has the value 1, but not if for both Signals the value 1 applies. It should be noted that steps 105 and 136 have not changed the signal ANS, they always have still represents the sum of N1 and N4.
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-If the program counter 226 reaches the state 187, the conditional arithmetic command "Subtract" is called up from the memory location 187. The operand IJ2 is brought from the memory location 25 into the input register 102, and an instruction AB is fed to the unit ALU. Then the signal at F becomes IJ1 + N4 - N2. 4 and 9, however, the signal COND is 1, and therefore during phase 3, when PH3 is 1, the signal K is 0, provided that TK is 1, that is, LA is 0 Has. If the signal LA, which represents the result of 3 © U, is equal to 0, the field decoders FD4 and FD5 are disabled and the accumulator memory signal ACC, which would normally be generated according to Table III, maintains the value 0. Therefore, the signal at U is not transferred to the accumulator 104 when LA has the value 0, but such a transfer occurs when LA is equal to 1. Thus, the subtraction step 187 is a conditional step and is only carried out on the condition that LA is 1; in this programming example
80981 5/060080981 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).game, this condition is that S (±) U = 1. Depending on the state of 3 and U, the signal AIiS at the end of step 187 therefore represents either (li1 + Il4) or (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.If the next special IF instruction location 188 is fetched and the program counter is increased to 189 during phase 0, bit 1 of text 40 is made the input signal LB, and since the instruction contains a complement designation (a 1 on bit position b10), the signal COMP 4 and 10, Fig according to. the value 1, so that the signal ELS a 0 or a 1, if the selected bit b1 is 1 or 0, ie, when the flip-flop FF 1 is set or reset. Thus, during phase 3 execution, the IPCLB signal is 1 or 0 (Table III and FIG. 9), and IKC is 1 or 0 when ELB is 1 or 0. In the first case, the INCP signal has the value 1 and the program counter 226 is switched from 139 to 190 on the 2nde of phase 3, as explained above with reference to FIG. 7. In the latter case, the program counter remains in state 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 .In this latter case, the instruction is next fetched from the memory section 189, and the execution of phase 3 results in the control signal SACR being applied to the accumulator 104 in order to shift the contents of the accumulator one place to the right. Depending on whether S @ U = 1 or 0, the signal ANS is either or .
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.If, however, the signal 40/1, ie the bit 1 of the word 40 corresponding to the flip-flop FF 1 according to FIG. 12, has the value 0, so that ELB has the value 1 during step 188, step 189 is skipped and the step immediately 190 executed. Regardless of whether step 190 follows step 188 or step 189, the STA instruction is fetched from location 190 and the ANS signal is stored in word location 85 where it represents the number N3.
809815/0600809815/0600
449449
Bei dem so bei N3 gespeicherten berechneten Wert kann es sich jeweils um einen der nachstehenden Werte handeln:The calculated value stored in this way at N3 can be one of the following values:
wenn 30U= 1 xmd FF räckgesetzt ist; if 30 U = 1 xmd FF is set back;
II wenn S (+) U = 0 und FF1 zurückgesetzt ist;II when S (+) U = 0 and FF 1 is reset;
III N1 + N2 - H4 wenn 3 © U = 1 und FF1 gesetzt ist; oderIII N1 + N2 - H4 if 3 © U = 1 and FF 1 is set; or
IV N1 + 112 wenn S © U = 0 und FF1 gesetzt ist.IV N1 + 112 if S © U = 0 and FF 1 is set.
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 inSeveral important features of such conditional arithmetic operations should be noted. First, the logical operations that lead to a result according to Boolean logic can be mixed with arithmetic operations more or less randomly, because they usually do not influence each other. In the example discussed here, the preliminary sum N1 + Uh is left in the accumulator 104 while the logical process steps 185 and 186 are carried out. It is only necessary that the end result of a Boolean chain be formed and signaled by LA before an arithmetic operation is performed which is conditioned by this end result. Second, the response from a long chain of Boolean sequences is retained in the form of the LA signal until some further logical process step is performed. Therefore, the signal LA can be used as a condition factor in several subsequent arithmetic steps. In addition, the final response LA of a Boolean chain of logic commands can be temporarily stored in a known bit of a known location, and then it can be transferred back to the logic processor, using a one-step command LD shortly before an arithmetic step, which should be conditioned by the final answer. Alternatively, a final logical response can be cached at a known bit address within a known word address, and then this response can be saved as a selected bit in
809815/0600809815/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.an IF instruction can be used which precedes any arithmetic or logical step which is to be caused by this response. In the above example, the flip-flop FF 1 of the word 40 may have been set or reset by a logical response before the program step 133, and nevertheless the programmed step is only executed if the signal at bit 1 of the word is a 0, ie if the flip-flop FF 1 is reset.
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.The computer according to the invention thus offers extraordinary flexible and convenient programming options, with the end result or even the execution being different arithmetic calculation steps leads to various numerical results, which are based on certain relationships between multiple logical single-bit two-state signals directed by individual cores within a multiple Word address comprising cores of a memory system of a known type or by external switches, flip-flops or others devices that can be switched on and off can be generated. In particular it should be noted that a chain of Boolean operations can be carried out by, for example, programming steps 465 through 475 so that a response at LA which, when it has the value 0, indicates that a complete set of arithmetic steps 477 to 485 is not needed for a particular run of a complete program. Under these circumstances, the Jump instruction JMP can be programmed at step 476, it can be conditional, and it can be made to work with the step 486 names its bits b0 to b9. When it is executed, a jump is then made to step 486. Thus, steps 477 to 485 are skipped if a previously formed Boolean logic response, i.e. the signal LA, which has the value 0.
Zwar könnte man noch zahlreiche weitere Beispiele von Programmfolgen beschreiben, mit denen bei dem erfindungsgemäßen RechnerIt is true that there are numerous other examples of program sequences describe with those in the computer according to the invention
809815/0600809815/0600
111111
-9*- 27A3060 -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.can be worked, doc ^. probably the two above Treated simple examples are sufficient for any person skilled in the art the flexibility and advantages of the invention To make the computer recognizable. BeL a fully trained Computer that works with all normal arithmetic Command codes works, e.g. for multiplying, dividing, extracting the square root, forming the reciprocal value, etc., and not just with The limited basic commands of the example described are the logical and the conditional programming options almost unlimited, so that the requirements of any system to be controlled can be met.
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. WennAs mentioned, the logic processing part of the invention works Calculator with the aritimetic calculation part in that it qualifies certain operations of the arithmetic part or enables operations to be carried out conditionally. The arithmetic part can cooperate with the logical part in that it is part of the elementary part takes on and performs logical work to save time. An example is a process or machine control system called, which includes a very large number of switches, as described in EIg. 12 are shown at SO to S15. It could 160 V / words with 16 switches each or a total of 2560 switches. Often it is only necessary to determine whether any switch in a group with e.g. 160 words is closed is. If only one programmable controller were used, it would be common up to now to use these switches to check with the help of chained OR operations, which include 160 program steps. According to the invention, however, it is possible, in a simple way, to bring each of the ten words into the accumulator and to do it through ten arithmetic programs Compare steps with 0. The "Compare with 0" command is a common arithmetic command Command which, however, was not taken into account in the above description of a simple digital computer. if
809815/0600809815/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.any of the ten comparisons for the entire V. r the result of place "is not O" liofert, a flag can Z.3. a toggle switch, can be set to indicate that at least one of the 160 switches is closed. This indicator can be used to control subsequent operations. Although the computer according to the invention can only be operated as a programmable control device, it enables a faster and more flexible execution of some of the programmable control functions, since with some d ! of its functions its arithmetic part can be used.
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.It should also be noted that in numerous practical applications, in which programmed control devices or computers are used, whole parts of a complete program can only be executed, but otherwise skipped, if the status is at least one of e.g. 256 Switches has changed since the previous program run. With a programmable controller, this would be make it necessary to save the state of each switch uni de: i saved state with that during the next Compare the current state of the program. According to the invention, on the other hand, it is possible for each program run To store 16 '/ orts from switch status signals and compare them for the same numerical values of the same "switch words" as those of the arithmetic unit must be entered on the next run. The comparison command is a known arithmetic command. Thus, with the aid of only 16 comparison program steps, it is possible to convert the arithmetic part of the Cause the computer to report whether the state of any of 256 switches during the last pass has changed, and this means that 256 program steps can be replaced v / grounds that would be required if a single bit logical processor were used for this purpose.
809815/0600809815/0600
Claims (1)
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 (en) | 1978-04-13 |
DE2743060C2 DE2743060C2 (en) | 1987-01-15 |
Family
ID=24917930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2743060A Expired DE2743060C2 (en) | 1976-09-24 | 1977-09-24 | Digital computer with one-bit processing unit |
Country Status (4)
Country | Link |
---|---|
US (1) | US4212076A (en) |
JP (1) | JPS5942892B2 (en) |
DE (1) | DE2743060C2 (en) |
GB (2) | GB1555609A (en) |
Families Citing this family (88)
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 (en) * | 1981-08-04 | 1985-01-31 | Dr. Johannes Heidenhain Gmbh, 8225 Traunreut | Method for program control in a freely programmable controller and arrangement for carrying out the method |
DE3302940A1 (en) * | 1983-01-28 | 1984-08-02 | Siemens AG, 1000 Berlin und 8000 München | PROGRAMMABLE CONTROL WITH WORD AND BIT PROCESSOR |
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 |
US5034900A (en) * | 1984-10-05 | 1991-07-23 | Hitachi, Ltd. | Method and apparatus for bit operational process |
US6552730B1 (en) | 1984-10-05 | 2003-04-22 | 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 (en) * | 1990-04-26 | 1994-12-28 | St Microelectronics Srl | BOOLEAN OPERATIONS BETWEEN TWO ANY BITS OF TWO ANY REGISTERS |
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 |
EP0636256B1 (en) | 1992-03-31 | 1997-06-04 | Seiko Epson Corporation | Superscalar risc processor instruction scheduling |
EP0638183B1 (en) | 1992-05-01 | 1997-03-05 | Seiko Epson Corporation | A system and method for retiring instructions in a superscalar microprocessor |
DE69330889T2 (en) | 1992-12-31 | 2002-03-28 | Seiko Epson Corp., Tokio/Tokyo | System and method for changing register names |
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 |
DE4430195B4 (en) * | 1993-12-13 | 2004-09-23 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Procedure for evaluating Boolean expressions |
US5459841A (en) * | 1993-12-28 | 1995-10-17 | At&T Corp. | Finite state machine with minimized vector processing |
TW305973B (en) * | 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 (en) * | 2005-10-20 | 2012-08-09 | Infineon Technologies Ag | Processor for checking a conditional execution condition of a program instruction |
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 |
US20070188505A1 (en) * | 2006-01-10 | 2007-08-16 | Lazar Bivolarski | Method and apparatus for scheduling the processing of multimedia data in parallel processing systems |
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 |
US8041759B1 (en) | 2006-02-09 | 2011-10-18 | Altera Corporation | Specialized processing block for programmable logic device |
US8266199B2 (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 |
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 |
US20080244238A1 (en) * | 2006-09-01 | 2008-10-02 | Bogdan Mitu | Stream processing accelerator |
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 |
US7865541B1 (en) | 2007-01-22 | 2011-01-04 | Altera Corporation | Configuring floating point operations in a programmable logic device |
US8650231B1 (en) | 2007-01-22 | 2014-02-11 | Altera Corporation | Configuring floating point operations in a programmable 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 |
US8468192B1 (en) | 2009-03-03 | 2013-06-18 | Altera Corporation | Implementing multipliers in 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 |
US8886696B1 (en) | 2009-03-03 | 2014-11-11 | Altera Corporation | Digital signal processing circuitry with redundancy and ability to support larger multipliers |
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 |
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 |
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 |
US9053045B1 (en) | 2011-09-16 | 2015-06-09 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
US8949298B1 (en) | 2011-09-16 | 2015-02-03 | 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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3500466A (en) * | 1967-09-11 | 1970-03-10 | Honeywell Inc | Communication multiplexing apparatus |
DE2330102A1 (en) * | 1972-10-13 | 1974-04-25 | Plasser Bahnbaumasch Franz | METHOD AND MACHINE FOR COMPACTING THE BALLBED BED OF A TRACK, IN PARTICULAR AT THE SAME TIME MOVING THIS TRACK TO THE TARGET ALTITUDE |
Family Cites Families (8)
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 (en) * | 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 (en) * | 1974-10-15 | 1976-05-14 | Burroughs Corp | EQUIPMENT AND PROCESS FOR DATA PROCESSING BY ASSOCIATION |
US3939335A (en) * | 1974-11-26 | 1976-02-17 | Texas Instruments Incorporated | Universal condition latch in an electronic digital calculator |
-
1976
- 1976-09-24 US US05/726,277 patent/US4212076A/en not_active Expired - Lifetime
-
1977
- 1977-02-04 GB GB4776/77A patent/GB1555609A/en not_active Expired
- 1977-09-14 GB GB38371/77A patent/GB1557610A/en not_active Expired
- 1977-09-22 JP JP52114488A patent/JPS5942892B2/en not_active Expired
- 1977-09-24 DE DE2743060A patent/DE2743060C2/en not_active Expired
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3500466A (en) * | 1967-09-11 | 1970-03-10 | Honeywell Inc | Communication multiplexing apparatus |
DE2330102A1 (en) * | 1972-10-13 | 1974-04-25 | Plasser Bahnbaumasch Franz | METHOD AND MACHINE FOR COMPACTING THE BALLBED BED OF A TRACK, IN PARTICULAR AT THE SAME TIME MOVING THIS TRACK TO THE TARGET ALTITUDE |
Non-Patent Citations (2)
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 |
DE2743060C2 (en) | 1987-01-15 |
JPS5942892B2 (en) | 1984-10-18 |
GB1557610A (en) | 1979-12-12 |
US4212076A (en) | 1980-07-08 |
JPS5448137A (en) | 1979-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2743060A1 (en) | DIGITAL COMPUTER | |
DE1499200B2 (en) | DATA PROCESSING SYSTEM WITH PRIORITY CONTROLLED PROGRAM INTERRUPTION | |
DE2524046C2 (en) | Electronic data processing system | |
DE4302495A1 (en) | ||
DE1901228A1 (en) | Data processing system with facilities for repeating operations when an error occurs | |
DE2910839A1 (en) | DEVICE FOR EXECUTING A SPECIAL BRANCHING INSTRUCTION | |
DE2524229A1 (en) | DATA PROCESSING SYSTEM WITH A PYRAMID-SHAPED HIERARCHY OF THE CONTROL FLOW | |
DE2321112A1 (en) | ELECTRIC SIGNAL PROCESSING SYSTEM | |
DE2248296A1 (en) | PROGRAM CONTROL DEVICE | |
DE2318069A1 (en) | COMPUTER CONTROL SYSTEM USING MICROPROGRAMMING AND STATIC / DYNAMIC EXTENSION OF CONTROL FUNCTIONS USING HARDWIRED LOGICAL MATRIX | |
DE2715073A1 (en) | MICROPROGRAMMED COMPUTER CONTROL DEVICE | |
DE69801840T2 (en) | MICROPROCESSOR, ESPECIALLY FOR CHIP CARD AND COMMAND PROCESSING | |
DE3114921A1 (en) | DATA PROCESSING SYSTEM | |
DE2440628A1 (en) | DATA PROCESSING SYSTEM WITH MICRO PROGRAMMING | |
DE2719278B2 (en) | Circuit arrangement for control units connected in series for connecting input / output devices to a data processing system | |
DE1200578B (en) | Data processing system | |
DE1179027B (en) | Programmed digital computer system | |
DE2336333A1 (en) | ELECTRONIC DESKTOP CALCULATOR WITH A LOGICAL CIRCUIT IN MOS TECHNOLOGY | |
DE1193279B (en) | Electron number calculator with stored program | |
DE2906685A1 (en) | INSTRUCTION DECODER | |
DE1524117B1 (en) | Data processing system with circulating registers | |
DE1499227C3 (en) | Circuit arrangement for basic arithmetic and logical operations | |
DE1194605B (en) | Improvement of devices for processing details, information or the like. | |
DE1283895B (en) | Code converter for converting any input code into any output code | |
DE1212748B (en) | Data processing machine with program interruption |
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 |