DE2044268A1 - Test circuit for operational programs in computer systems - Google Patents

Test circuit for operational programs in computer systems

Info

Publication number
DE2044268A1
DE2044268A1 DE19702044268 DE2044268A DE2044268A1 DE 2044268 A1 DE2044268 A1 DE 2044268A1 DE 19702044268 DE19702044268 DE 19702044268 DE 2044268 A DE2044268 A DE 2044268A DE 2044268 A1 DE2044268 A1 DE 2044268A1
Authority
DE
Germany
Prior art keywords
counter
memory
circuits
registers
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE19702044268
Other languages
German (de)
Inventor
Estol Clair Yorktown Heights N J Schaffer Walter Sylvester Rochester Minn Lamb, (V St A )
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2044268A1 publication Critical patent/DE2044268A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

IBM Deutschland IBM Germany Internationale Büro-Maschinen Gesellschaft mbHInternationale Büro-Maschinen Gesellschaft mbH

Böblingen, 4. September 1970 ru-skBoeblingen, September 4, 1970 ru-sk

Anmelderin: International Business MachinesApplicant: International Business Machines

Corporation, Armonk, N.Y. 10504Corporation, Armonk, N.Y. 10504

Amt!.Aktenzeichen: NeuanmeldungOffice!. File number: New registration

Aktenz.d.Anmelderin: Docket EN 968 013File number of the applicant: Docket EN 968 013

Prüfschaltung für Operationsprogramme in RechensystemenTest circuit for operating programs in computing systems

Die Erfindung betrifft eine Prüfschaltung für Operationsprogramme in einem Rechnersystem, das mindestens aus einem Programmspeicher und einer Steuereinheit besteht, bei dem sowohl das zeitliche Eintreten als auch die Art des Fehlers gespeichert und analysiert wird.The invention relates to a test circuit for operating programs in a computer system, which consists of at least one There is a program memory and a control unit in which both the occurrence in time and the type of error is saved and analyzed.

Prüfverfahren,und Prüfschaltungen für Programmfehler in Datenverarbeitungssystemen sind an sich bekannt. Es ist z.B. seit langem bekannt, beim Auftreten eines Fehlers innerhalb eines Programms das Programm zu unterbrechen und dann ein Fehlerkorrekturprogramm einzuschalten, das abhängig von der Art des Fehlers den fehlerhaften Teil des Programms solange wiederholt bis dieser Teil des Programms ohne Fehler ist. Wird jedoch auch nach mehrmaligen Durchläufen der Fehler nicht beseitigt, dann unterbricht derTest procedures and test circuits for program errors in Data processing systems are known per se. For example, it has been known for a long time when an error occurs to interrupt the program within a program and then to switch on an error correction program which, depending on the type of error, detects the faulty part of the Program repeated until this part of the program is without errors. However, it does so even after repeated runs the error is not eliminated, then the interrupts

Docket EN 968 013 109811/1866Docket EN 968 013 109811/1866

Rechner nach einer bestimmten Anzahl von Wiederholungen die Operation. Diese Art der Fehlerkorrektur hat jedoch den Nachteil, daß nur ganz bestimmte Fehler auf diese Art und. Weise erkannt werden können und daß zur Fehlerkorrektur und zur Fehlererkennung sehr umfangreiche Programme vorhanden sein müssen, die außerdem innerhalb der Datenverarbeitungsanlage sehr viel Speicherplatz, der zur Ausführung des eigentlichen Programms benötigt würde, besetzen.Calculator after a certain number of repetitions the operation. However, this type of error correction has the disadvantage that only very specific errors affect this Kind and. Way can be recognized and that very extensive programs for error correction and error detection must be available, which also has a lot of storage space within the data processing system would be needed to run the actual program.

Außerdem ist es bekannt, daß der Programmierer an bestimmten Stellen des Programms Markierungen setzen kann, anhand dessen beim Ausdruck festgestellt werden kann, ob das Programm bis zu diesem Punkt einwandfrei gearbeitet hat oder nicht. Wird bei der manuellen Überprüfung dann festgestellt, daß das Programm an einer bestimmten Stelle fehlerhaft war, dann muß der Programmierer den Fehler mühsam lokalisieren und beseitigen./Der Erfindung liegt deshalb die Aufgabe zugrunde, eine Prüfschaltung für Operati ons pro gramme in einem Rechnersystem zu schaffen, das^ die manuelle überprüfungs-, LokaÜsierungs- und Korrekturarbeit des Programmierers wesentlich verringert.It is also known that the programmer can set markers at certain points in the program, this can be used to determine during the printout whether the program has worked properly up to this point has or not. If during the manual check it is then found that the program is at a certain point was faulty, then the programmer has to laboriously localize and eliminate the fault./The invention is therefore the task of creating a test circuit for Operati ons programs in a computer system that ^ the manual review, location and correction work of the programmer is significantly reduced.

Die erfindungsgemäße Lösung besteht darin, daß zwischen Registern einer Zentraleinheit ein Prüf- oder Analysiszähler angeordnet ist, der innerhalb einer Instruktionsfolge einen bestimmten Schritt kennzeichnet, um einen bestimmten Fehler zu lokalisieren, daß der genannte Zähler über Modifizierschaltungen mit einem an sich bekannten Instruktionszähl- und Instruktionsdecodierregister verbunden ist und daß außerdem ein weiterer Zähler zur Zählung der nach der durch den Prüfzähler bezeichneten Stelle durchgeführten Operationen vorhanden ist, der über Und-Schaltungen das Einlesen von Informationen in das Instruktionsregister oder auch in allgemeine Register vom Speicher steuert.The solution according to the invention is that between registers a central unit, a test or analysis counter is arranged, the one within a sequence of instructions Identifies a specific step in order to localize a specific error that said counter has modification circuits is connected to a known instruction counting and decoding register and that in addition, another counter for counting the operations carried out after the position indicated by the check counter is present, the reading of information into the instruction register or via AND circuits also controls in general registers from memory.

109811/1866109811/1866

Docket EN 968 013Docket EN 968 013

Die Erfindung wird nun anhand von in den Zeichnungen dargestellten Ausführungsbeispielen näher beschrieben.The invention will now be made with reference to in the drawings illustrated embodiments described in more detail.

Es bedeuten:It means:

Fig.l ein Blockschaltbild der erfindungsgemäßen Prüfschaltung;Fig.l is a block diagram of the invention Test circuit;

Fig.2 ein weiteres detaillierteres Blockschaltbild der Programm-Prüfschaltung;2 shows a further, more detailed block diagram the program check circuit;

Fig.3 den detaillierten Aufbau eines Registers nach Fig.2;3 shows the detailed structure of a register according to Figure 2;

Fig.4 eine Zyklussteuerschaltung zum Einlesen von Daten in eines der ausgewählten Register, die in Fig.3 dargestellt sind und4 shows a cycle control circuit for reading data into one of the selected registers, which are shown in Fig.3 and

Fig.5 ein Blockschaltbild mit einer Programmanalysisoperationscode-Verriegelungsschaltung, wie sie im vorliegenden System verwendet ist.Fig. 5 is a block diagram showing a program analysis operation code interlock circuit; as used in the present system.

1098 1 1/18661098 1 1/1866

Docket EN 968 013Docket EN 968 013

Die im Speicher 11 gespeicherten Informationen werden in dem vorliegenden Ausffthrungsbeispiel so ausgelesen, daß immer ein Halbwort zur Verfügung steht, das aus zwei Bytes bzw. sechzehn Datenbis plus einem Paritätsbit besteht. Ebenso haben die Register 13,15 und 17, die Teile eines bekannten Datenverarbeitungssystems sein können, eine Kapazität von sechzehn Bits.The information stored in the memory 11 is read out in the present exemplary embodiment in such a way that a half-word is always available, which consists of two bytes or sixteen data up to plus one parity bit. The registers 13, 15 and 17, which can be part of a known data processing system, also have one Sixteen bit capacity.

Es soll hier angenommen werden, daß im Register 17 der Instruktionszählerwert zur Verfügung steht, der in das Speicheradressregister 19 übertragen wird, um den Speicher im Datenverarbeitungssystem zu adressieren. An dieser Stelle soll noch darauf hingewiesen werden, daß die Register 13, 15 und 17 in der nachfolgenden Beschreibung auch mit Register G, U bzw. V bezeichnet sind. Außerdem ist noch eine Zyklussteuereinheit 20 vorhanden, die ebenfalls später beschrieben wird, von der aber an dieser Stelle erwähnt sein soll, daß sie zur Steuerung des Auslesens eines Halbworts vom Speicher dient und dann die Decodierung der Information steuert, um den Operationscode zu bestimmen, der die Instruktion definiert. Das jeweilige ausgelesene Halbwort wird dabei im Register 13 gespeichert. Wenn jedoch der Operationscode eine Analysis-Instruktion aufweist, dann erkennt und bestimmt die Steuereinheit 20, daß dies ein Vollwort ist und verursacht, daß das nächstfolgende Halbwort im Speicher in das Register 15 ausgelesen wird. Wenn dies eintritt, wird der Wert im Speicheradressregister 19 durch den Adressregistermodifizierer 23 um zwei erhöht, so daß das nächstfolgende Halbwort adressiert werden kann.It should be assumed here that the instruction counter value is available in register 17, which is stored in the Memory address register 19 is transferred to address the memory in the data processing system. At this point It should also be pointed out that registers 13, 15 and 17 in the following description also have registers G, U and V, respectively. There is also a cycle control unit 20, which will also be described later , of which it should be mentioned at this point that it is used to control the reading out of a half-word from memory and then controls the decoding of the information to determine the opcode that makes the Instruction defined. The respective half-word read out is stored in register 13. However, if the Operation code has an analysis instruction, then recognizes and determines the control unit 20 that this is a full word and causes the next succeeding half word im Memory in the register 15 is read out. When this occurs, the value in memory address register 19 is through the address register modifier 23 is increased by two, so that the next half-word can be addressed.

Wenn zu dieser Zeit die vorher beschriebene Operation auftritt, dann ist die Zentralverarbeitungseinheit in dem nichtanalythischen Mode und die Analysisinstruktion wirdAt this time, if the above-described operation occurs, then the central processing unit is in that non-analytic fashion and the calculus instruction will

10 9-811/1866 Docket EN 968 013 10 9-811 / 1866 socket EN 968 013

204A 268204A 268

als Nichtoperations-Instruktion behandelt und der zyklusgesteuerte Schaltkreis verursacht, daß die nächstfolgende Instruktion ausgelesen wird. Wenn die Zentraleinheit des Computersystems imAnalysismode arbeitet, dann wird die Analysisinstrukti-on vervollständigt und die Zentraleinheit tritt in den Ausführungsteil der Analysisinstruktion ein. Eine Adresse ist in das Speicheradressregister 19 gegeben worden, um an einen bestimmten Speicherplatz innerhalb des Speichers zu adressieren.treated as a no-operation instruction and the cycle-controlled one Circuit causes the next instruction to be read out. If the central unit of the Computer system is working in the analysis mode, then the analysis instruction is completed and the central unit enters the execution part of the analysis instruction. An address is given in the memory address register 19 been made to move to a specific location within the To address memory.

Die Daten, die sich zu dieser Zeit im Register 13 befinden, werden gespeichert. Dies verursacht eine Aufzeichnung des tatsächlichen Zustands des Computers zu dieser Teilzeit. Während des ersten Ausführungszyklus startet der Speicher bei dem Speicherplatz x, wenn die Adresse χ im Speicheradressregister 19 steht. Zur selben Zeit modifiziert der Adressenmodifizierer 23 die Adressendaten, die im Register 19 gespeichert sind. Während des zweiten Ausführungszyklus werden die Daten im U-Register gespeichert. Dieses tritt beim Speicherplatz x+2 ein.The data that is in register 13 at this time is stored. This causes a record of the actual state of the computer at this part-time. The memory starts during the first execution cycle at the memory location x, if the address χ in the memory address register 19 stands. At the same time, the address modifier 23 modifies the address data stored in the register 19 are stored. During the second execution cycle the data is saved in the U register. This occurs at storage location x + 2.

Zusätzliche Ausführungszyklen speichern Daten im Analysiszähler 29 im Speicherplatz x+4. Dann werden die Daten im Register 17 in einem Speicherplatz x+6 und die anderen erforderlichen Informationen, z.B. die Programmstatusworte, an anderen folgenden Speicherplätzen im Speicher gespeichert.Additional execution cycles store data in the analysis counter 29 in memory location x + 4. Then the data in register 17 is in a memory location x + 6 and the other required information, e.g. the program status words, stored in other memory locations below.

Während des folgenden Speicherz-yklus, in dem die Daten vom Register 17 in der Speichereinheit 11 gespeichert sind? wird die niedrigste Stelle der zwölf Datenbits vom Register 15 in den Analysiszähler 29 gesetzt, wodurch die vorher in dieser Einheit stehenden Daten verdrängt werden.During the following storage cycle in which the data from Register 17 are stored in the storage unit 11? the lowest digit of the twelve data bits from register 15 is set in the analysis counter 29, whereby the previously data in this unit are displaced.

109811/1866
Docket EN 968 013
109811/1866
Docket EN 968 013

Wenn alle erforderlichen Daten gespeichert sind, und die zugehörigen Modifikationen kompletiert sind, ist das Register 17 durch Schaltkreise, die später beschrieben werden, modifiziert. Dieses Register wird die neue Adresse enthalten, die die nächste auszuführende Adresse aus dem Speicher ausliest und diese Adresse in das Speicheradressregister 19 eingibt. Die ZyklusSteuereinheit 20 verursacht, daß diese neue Instruktion aus dem Speicher ausgelesen wird, so wie es vorher beschrieben wurde.When all the necessary data has been saved and the associated modifications have been completed, that’s it Register 17 modified by circuitry to be described later. This register becomes the new address which reads out the next address to be executed from the memory and stores this address in the memory address register 19 enters. The cycle control unit 20 causes this new instruction to be read from memory as it was previously described.

Während des ersten Zyklus jeder Instruktion wird der Inhalt des AnalysisZählers 29 um Eins vermindert, und zwar solange bis der Analysiszähler 29 auf Null geht, wodurch das normale Auslesen und die Ausführung der Instruktionen kontinuierlich weiter durchgeführt werden kann. Wenn der Instruktionszähler 29 auf Null geht, dann wird die gerade vorliegende Instruktion nicht durchgeführt. Die Zentralverarheitungseinheit wird hier so reagieren, wie sie es tat, wenn sie eine Analysisinstruktion ausführte. Die Zyklussteuereinheit 20 antwortet auf einen Nulldetektorschaltkreis, wodurch eine Unterbrechung veranlaßt wird. Die Daten im Register 13 werden in demselben Speicherplatz gespeichert wie die Daten vom Register 15. Der große Unterschied wird darin bestehen, daß die Daten im Register 17 um den Faktor 2 modifiziert werden und nicht um den Faktor 4, wie es bei einer Analysisinstruktion getan wird, die korrekt ausgeführt wurde. In einer ähnlichen Weise wie die eben beschriebene Unterbrechung, die verursacht wird, wenn der Analysiszähler 2ö auf den Wert Mull geht? können andere Unterbrechungen durchgeführt werden, um dieselbe Reihenfolge von Vorfällen su steuern. Dies kann seinf wenn bei einer Unterbrechungsoperation Fehler auftreten oder wenn eine Paritätsprüfung vorliegt oder wenn andere Fehler vorliegst. Um atLm Beispiel zu geben, wird angenommen, daß wenn eine AnalysisinstruktionDuring the first cycle of each instruction, the content of the analysis counter 29 is decreased by one, namely until the analysis counter 29 goes to zero, whereby the normal reading out and the execution of the instructions can be carried out continuously. If the instruction counter 29 goes to zero, then the current instruction is not carried out. The central processing unit will react here as it did when it carried out an analysis instruction. The cycle control unit 20 responds to a zero detector circuit causing an interrupt. The data in register 13 is stored in the same memory location as the data in register 15. The big difference will be that the data in register 17 will be modified by a factor of 2 and not by a factor of 4, as is done in an analysis instruction that ran correctly. In a similar way to the interruption just described, which is caused when the analysis counter 20 goes to the value Mull? other interrupts can be made to control the same sequence of incidents. This can be f if errors occur in an interrupt operation or if there is a parity check or if there are other errors. To give atLm example, assume that if an analysis instruction

109811/1868109811/1868

Docket EN 968 013Docket EN 968 013

ausgeführt wird in spezifischen und ausgewählten Plätzen und Speicherinformationen im Speicher in Beziehung zu der Analysisinstruktion vorhanden sind, welche durch die niedrigsten ausgewählten Bits des Registers 13 und durch die höchste Stelle der ausgewählten Bits vom Register 15 dargestellt sind. Der Inhalt des Analysiszählers wird durch die Information im Register 15 determiniert. Der Inhalt des Analysiszählers 29 ist genauso zu betrachten, wie der Inhalt irgendeines anderen Registers.is carried out in specific and selected places and storage information in memory related to the Analysis instruction are present, which by the lowest selected bits of the register 13 and by the highest Position of the selected bits from register 15 are shown. The content of the analysis counter is determined by the information determined in register 15. The content of the analysis counter 29 is to be regarded in the same way as the content of any one other register.

Aus dem Schaltbild nach Fig.l ist zu ersehen, daß Informationen in Form von gespeicherten Daten zu jedem der Register 13 und 15 vom Speicher vom Analysiszähler oder der Speichereinheit 11 übertragen werden kann.From the circuit diagram according to Fig.l it can be seen that information in the form of stored data on each of the Register 13 and 15 from the memory of the analysis counter or the storage unit 11 can be transferred.

Im folgenden werden nun nähere Details in Verbindung mit den Fig.2-7 der vorher in Fig.l dargestellten Schaltung beschrieben.In the following, more details are given in connection with 2-7 of the circuit previously shown in Fig.l described.

In Fig.2 sind eine Anzahl von Registern 13,15, 17, 39, 40 und 41 gezeigt. Der Ausgang des Speichers vom Computer bzw. der Speichereinheit 11 ist mit Sammelleitung a bezeichnet. Die auf dieser Sammelleitung vorhandenen Daten werden zu allen den Registern gegeben, deren Ausgänge auf die Leitung 43 fähren, die ihrerseits über die Leitungen 45 und 46 mit dem Speicheradressregister 19 und über die Leitung 47 mit der Speichereinheit 11 verbunden ist. Die Ausgänge der Register 13,15 und 17 usw. sind ebenfalls über die LEITUNG mit den Registern 49 und 50 verbunden, die ihrerseits mit der arithmetisch logischen Einheit 51 in Verbindung stehen. Die arithmetisch logische Einheit 51 ist über die Leitung mit einem weiteren Eingang der Register 13-41 verbunden. Diese Register werden durch die Sammelleitung a gespeist, wobei die Register ihrerseits als Quelle für die arithmetische logische Einheit 51 dienen, wobei allerdings zuIn Figure 2 there are a number of registers 13, 15, 17, 39, 40 and 41 shown. The output of the memory from the computer or the memory unit 11 is denoted by collecting line a. The data on this bus becomes given to all the registers whose outputs are on the line 43 ferry, which in turn via lines 45 and 46 with is connected to the memory address register 19 and via the line 47 to the memory unit 11. The outputs of the registers 13, 15 and 17 etc. are also connected via the LINE to registers 49 and 50, which in turn are connected to the arithmetic and logic unit 51 are connected. The arithmetic logic unit 51 is over the line connected to another input of registers 13-41. These registers are fed by the bus a, the registers in turn as the source for the arithmetic logical unit 51 are used, although to

109 811/1866109 811/1866

Docket EN 968 013Docket EN 968 013

berücksichtigen ist, daß noch eine zusätzliche Quelle in Form der b-Sammelleitung 55 vorhanden ist, die ebenfalls die arithmetische logische Einheit 51 speist. Der Analysiszähler 29 wird in Verbindung mit der Leitung 43 gespeist.must be taken into account that there is still an additional source in the form of the b-collecting line 55, which is also available the arithmetic logic unit 51 feeds. The analysis counter 29 is fed in connection with the line 43.

Außerdem ist für die Decodierung die Operationsdecodierschaltung 59 vorhanden, die in Verbindung mit Fig.5 später genauer beschrieben wird.In addition, the operation decoding circuit 59 is provided for the decoding, which will be described later in connection with FIG will be described in more detail.

Es soll hier noch erwähnt sein, daß jedes der Register mehrere Ein- und Ausgänge hat, die über Steuerleitungen mit der Zyklussteuerung des Systems in Verbindung stehen.It should also be mentioned here that each of the registers has several inputs and outputs, which are connected via control lines be in communication with the cycle control of the system.

In Fig.3 ist schematisch eine Steuerschaltung gezeigt, die mit der Speichereinheit 11 über die Datensammelleitung a in Verbindung steht und außerdem über die Datensammelleitung a mit einem der Register, nämlich dem Register 13, in Verbindung steht, das Daten zur zweiten Sammelleitung b liefern kann.In Figure 3, a control circuit is shown schematically, the is in communication with the storage unit 11 via the data bus line a and also via the data bus line a is connected to one of the registers, namely register 13, which carries data to the second bus b can deliver.

Das Speichersystem besitzt eine Vielzahl Wortspeicherplätze mit einer Kapazität von je sechzehn Hits. Die Eingangskontrolleitung 61 ist mit allen Undschaltkreisen 62,63 usw. verbunden. Der andere Eingang dieser Undschaltkreise wird durch die Bits 0-15 vom Speicher belegt.The storage system has a large number of word storage locations with a capacity of sixteen hits each. The incoming inspection 61 is connected to all of the AND circuits 62, 63 and so on. The other input of this and circuit becomes occupied by bits 0-15 from the memory.

In Fig.3 sind sechs der sechzehn Verriegelungsschaltungen, die das Register 13 bilden, zu sehen. Diese Verriegelungsschaltungen sind alle gesetzt, wenn die Zykluskontrollsteuerung des Systems die Bedingung "Lese in G-Register"-Leitung vorliegt, die verursacht, daß sechzehn Ünd-Schaltungen eingeschaltet werden, wenn die korrespondierende Bit-Leitung der Sammelleitung a ebenfalls EIN ist. Die Leitung 104 von der Zyklussteuereinheit bereitet dieIn Figure 3, six of the sixteen locking circuits are which form the register 13 can be seen. These latches are all set when the cycle control is in control of the system the condition "read in G register" line is present, which causes sixteen ond circuits be turned on when the corresponding bit line of bus a is also ON. the Line 104 from the cycle control unit prepares the

10 9811/18 6 610 9811/18 6 6

Docket EN 968 013Docket EN 968 013

Und-Schaltkreise 71, 72 usw. vor, wodurch ein Erregen der entsprechenden Datenleitungen und ein Setzen der dazu korrespondierenden Verriegelungsleitungen erfolgt, wenn Daten auf einer entsprechenden Leitung anliegen. Dadurch wird die anliegende Information in das Register 13 geladen. Die anderen Eingänge dieser Und-Schaltungen werden von den Eingängen der Undschaltkreise 62,63 usw. gespeist.AND circuits 71, 72, etc. in front, thereby energizing the corresponding data lines and the corresponding locking lines are set if Data are present on a corresponding line. As a result, the pending information is loaded into register 13. The other inputs of these AND circuits are fed by the inputs of the AND circuits 62, 63 and so on.

Außerdem ist in der Schaltung nach Fig.3 eine Leitung 81 zum G-Register vorhanden, die ein entsprechendes Zyklus-Steuersignal führt. Dieses Signal ist zum Löschen des Registers G vorhanden und wird deshalb an jeden Verriegelungsschaltkreis 82, 83 usw. geführt. Ein Verriegelungsschaltkreis, z.B. 82, wird aus zwei rückgekoppelten Und-Schaltungen, z.B. 87 und 88, gebildet.In addition, there is a line 81 in the circuit according to FIG to the G register, which carries a corresponding cycle control signal. This signal is to delete the Register G exists and is therefore applied to every latch circuit 82, 83 etc. led. A latch circuit, e.g., 82, is made up of two feedback circuits AND circuits, e.g. 87 and 88, are formed.

Zur Erklärung soll die Stufe für das Bit Null dienen. Wenn ein Signal auf der Leitung 81 anliegt und außerdem ein Ausgängssignal von der Und-Schaltung 62 an der Und-Schaltung 71 anliegt, dann entsteht am Ausgang der Und-Schaltung 71 ein Ausgangssignal, das zur Und-Schaltung 88 als Eingangssignal gegeben wird. Diese Und-Schaltung 88 besitzt nur einen einzigen Eingang. Der Ausgang der Und-Schaltung 88 ist mit einem Rückkopplungsweg zum Eingang der Und-Schaltung 87 geführt, die außerdem von der Leitung 81 ein Signal "Nicht löschen G-Register" erhält. Solange wie dieses Signal anhält, solange steht ein Ausgangssignal auf der Ausgangsleitung 91 zur Verfügung, die mit der Und-Schaltung 93 verbunden ist. Der andere Eingang dieser Und-Schaltung ist mit einer Leitung verbunden, die auch auf die Eingänge der anderen Und-Schaltungen 93' usw. führt. Das Ausgangs- slgnal der Und-Schaltung 93, das zur Verfügung steht, wenn das Zyklussteuersignal "Lesen Register G" auf der eben beschriebenen gemeinsamen Eingangsleitung anliegt und gleich-The level for bit zero should serve as an explanation. If a signal is present on the line 81 and an output signal from the AND circuit 62 is also present at the AND circuit 71, an output signal is produced at the output of the AND circuit 71, which is given to the AND circuit 88 as an input signal. This AND circuit 88 has only a single input. The output of the AND circuit 88 is fed with a feedback path to the input of the AND circuit 87, which also receives a "Do not delete G register" signal from the line 81. As long as this signal continues, an output signal is available on the output line 91, which is connected to the AND circuit 93. The other input of this AND circuit is connected to a line which also leads to the inputs of the other AND circuits 93 'and so on. The output signal of the AND circuit 93, which is available when the cycle control signal "read register G" is present on the common input line just described and is equal to

taasn/ieeetaasn / ieee

Docket SN 968 013Docket SN 968 013

- ίο -- ίο -

zeitig ein Signal auf der Leitung 91 auftritt. Dieses am Ausgang der Und-Schaltung 93 auftretende Signal wird zur Sammelleitung B gegeben. Bei ähnlichen Bedingungen entstehen außerdem auf den Bitleitungen 1,2 usw. Signale,die ebenfalls auf die Sammelleitung B weitergegeben werden.a signal on line 91 occurs in good time. This on Output of the AND circuit 93 occurring signal given to manifold B. Under similar conditions, there are also signals on the bit lines 1, 2, etc., which can also be passed on to collecting line B.

In Fig.4 ist im wesentlichen die Zyklussteuerung und die Instruktionszyklussteuerung gezeigt. Das Instruktionszyklus-Flip-Flop 101 gibt einen Impuls über die Leitung 102 auf einen Eingang der Und-Schaltung 103. Der Ausgang dieser Und-Schaltung 103 ist mit einer Leitung 104 verbunden, die das Signal zum Einschreiben in das Register 13 von Fig.3 liefert. Befindet sich das Instruktionszyklus-Flip-Flop im Aus-Zustand, dann ist auf der Leitung 102 kein Signal und auf der Leitung 105, die den Ausführungszyklus steuert, ein Signal vorhanden. Wenn hingegen das Instruktionszyklus-Flip4 ELop 101 sich im Ein-Zustand befindet, dann ist ein Signal auf der Leitung 102 vorhanden, und damit ein Eingang der Und-Schaltung 103 erregt.In Fig.4 is essentially the cycle control and the Instruction cycle control shown. The instruction cycle flip-flop 101 gives a pulse via the line 102 to an input of the AND circuit 103. The output of this AND circuit 103 is connected to a line 104 which carries the signal for writing into register 13 from Fig.3 provides. If the instruction cycle flip-flop is off, then there is none on line 102 Signal and on line 105 indicating the execution cycle controls, a signal is present. On the other hand, if the instruction cycle flip4 ELop 101 is on, a signal is present on line 102, and so that an input of the AND circuit 103 is energized.

Außerdem ist der Zykluszähler 107 vorhanden, der Steuerimpulse für jeden Operationszyklus, nämlich für den ersten bis N-ten Zyklus liefert. Diese Impulse werden z.B. auf die Leitung 108 und 109 gegeben, die ihrerseits mit Eingängen der entsprechenden Und-Knoten, z.B. Leitung 108 mit der Und-Schaltung 103, verbunden sind. Der Zykluszähler liefert also für den ersten Zyklus Impulse auf der Leitung 108 und für den zweiten Zyklus Impulse auf der Leitung 109. Die gesamte Operation wird jedoch von dem Taktgeber 110 gesteuert, dessen Zeitimpulse a-7 auf getrennten Leitungen auftreten. In diesem Beispiel ist nur die Leitung 111 gezeigt, die mit einem Eingang der schon genannten Und-Schaltuii? 103 in Verbindung steht. Die anderen in Fig.4 geseigten Ui*3-Schaltungen, deren Eingänge leer sind, sind genauso mit dem Tnstruktionszyklus-Flip-Flop 101, cäeia ZyklusiählerIn addition, the cycle counter 107 is provided, which supplies control pulses for each operating cycle, namely for the first through the N-th cycle. These pulses are given to lines 108 and 109, for example, which in turn are connected to inputs of the corresponding AND nodes, for example line 108 to AND circuit 103. The cycle counter thus supplies pulses on line 108 for the first cycle and pulses on line 109 for the second cycle. However, the entire operation is controlled by clock generator 110, whose time pulses a-7 occur on separate lines. In this example, only the line 111 is shown, which is connected to an input of the And-Schaltuii? 103 is in communication. The other geseigten in Fig.4 Ui * 3 circuits, the inputs of which are empty are the same with the T nstruktionszyklus flip-flop 101, cäeia Zyklusiähler

109811/188$ Docket BN 96b 013109811 / $ 188 Docket BN 96b 013

107 und dem Taktgeber 110 über die entsprechenden Leitungen verbunden, so daß deren detaillierte Beschreibung entfällt. In Fig.5 ist der Operationsdecoder 115 dargestellt, anhand dessen weitere Einzelheiten der Prograinmanalysisoperation beschrieben werden. Im vorliegenden Beispiel soll angenommen werden, daß die Bits 0,2,3,5 und 7 im G-Register 13 im Aus-Zustand sind, aber die Bits 1,4 und 6 im Ein-Zustand. Unter diesen Bedingungen zeigen die Bits 1,4 und 6 an, wenn eine Anaiysisinstruktion vom Speichrr ausgelesen würde. Bei der Programmanalysisoperation zeigen die Bits 1,4 und 6 eine Anaiysisinstruktion an und alle entsprechenden Leitungen zur Und-Schaltung 117 sind erregt über die entsprechenden Inverter 118f 119, 120 usw.. Wenn also z.B. auf einem der Eingänge, z.B. auf der Bit-Null-Leitung ein Impuls vorhanden ist, dann wird er durch die entsprechende Inverterschaltung invertiert. Daraus ergibt sich, daß die Polarität des Impulses, die auf der Bit-Leitung 1 entstehen würde, im Vergleich zu anderen invertiert wäre, wodurch am Eingang der Und-Schaltung 117 nicht alle Eingänge gleich sind und somit kein Ausgangsimpuls am Ausgang der Und-Schaltung 117 entstehen kann. Außer den beschriebenen Eingängen der Und-Schaltung 117, nämlich den Bit-Leitungen 0-7, ist ein Eingang noch mit der Leitung 131, die vom Zykluszähler kommt und damit von der Decodieroperationssteuerung gesteuert wird, Verbunden. Die bis hierher beschriebene Wirkungsweise zeigt die Steuerung der Operationsdecodierung. Wenn die Und-Schaltung 117 zur Steuerung des letzten Ausgangs dient, werden alle Impulse an den Eingang geführt und sie müssen alle die gleiche Polarität aufweisen.107 and the clock generator 110 are connected via the corresponding lines, so that their detailed description is omitted. The operation decoder 115 is shown in FIG. 5, on the basis of which further details of the prograin manalysis operation are described. In the present example it should be assumed that bits 0, 2, 3, 5 and 7 in G register 13 are in the off state, but bits 1, 4 and 6 are in the on state. Under these conditions, bits 1, 4 and 6 indicate when an analysis instruction would be read from memory. In the program operation Analysis, bits 1,4 and 6, a Anaiysisinstruktion and all the corresponding lines to the AND circuit 117 are energized via the respective inverters 118 f 119, 120, etc .. If, for example on one of the inputs, for example on the bit If a pulse is present on the zero line, it is inverted by the corresponding inverter circuit. It follows that the polarity of the pulse that would arise on bit line 1 would be inverted compared to others, so that not all inputs at the input of AND circuit 117 are the same and thus no output pulse at the output of the AND circuit 117 can arise. In addition to the described inputs of the AND circuit 117, namely the bit lines 0-7, one input is also connected to the line 131, which comes from the cycle counter and is thus controlled by the decoding operation controller. The mode of operation described so far shows the control of the operation decoding. If the AND circuit 117 is used to control the last output, all pulses are fed to the input and they must all have the same polarity.

Es wird nun angenommen, daß ein Signal vom Ausgang der Und-Schaltung 117 über die Leitung 133 zur Und-Schaltung 135 gegeben wird, an deren anderen Eingang die Leitung 137 mit dem Signal "Nicht löschen" liegt. Unter diesenIt is now assumed that a signal from the output of the AND circuit 117 via line 133 for AND circuit 135 is given, at the other input of which is the line 137 with the "Do not delete" signal. Under these

10981 1/186610981 1/1866

Docket EN 968 013Docket EN 968 013

Bedingungen liefert die Und-Schaltung 135 an ihrem Ausgang 139 ein Ausgangssignal, das über die Leitung 141 zur Zyklussteuerschaltung, z.B. zur Zyklussteuereinheit 20 in Fig.l, geführt wird. Außerdem wird dieses Signal auf den einzigen Eingang der ünd-Schaltung 145 gegeben, wodurch dieses Signal solange verriegelt wird, bis das Signal "Nicht löschen" ausgeschaltet wird.The AND circuit 135 supplies conditions at its output 139 an output signal which is sent via line 141 to the cycle control circuit, for example to the cycle control unit 20 in Fig.l, is performed. In addition, this signal is given to the single input of the and circuit 145, whereby this signal is locked until the "Do not delete" signal is switched off.

Wie aus dem Vorstehenden zu ersehen ist, bildet der Analysiszähler 24 in Fig.2 bzw. 29 in Fig.l den hauptsächlichsten Gegenstand der vorliegenden Erfindung und er dient vor allem zum Lokalisieren eines auftretenden Fehlers und zur Bestimmung desselben. Eine typische Anwendung der vorliegenden Erfindung würde darin bestehen, wenn die vorher beschriebenen Fehlererkennungsoperationen beim Eingeben eines neuen Programmes, das fehlerhaft sein kann, verwendet würden. Während der Generierung des Programms würde der Programmierer in diesem Falle Analysisinstruktionen in bestimmten Intervallen einfügen. Z.B. könnte das Programm eine Schleife enthalten, von der es keine Verzweigung bzw. keinen Ausgang mehr zu anderen Instruktionen gibt. In einem solchen Falle würde die Schleife ständig* und endlos durchlaufen. Um dies zu vermeiden, würde wie schon gesagt,der Programmierer in die Schleife an verschiedenen Punkten eine AnalysisInstruktion einfügen. Diese Instruktion würde eine Nummer enthalten, die in den Analysiszähler zu setzen ist. Diese Nummer würde das Maximum der Anzahl von Instruktionen angeben, die normal ausgeführt werden sollten, bevor die nächste Analysisinstruktion entschlüsseltAs can be seen from the above, the calculus counts 24 in Fig.2 and 29 in Fig.l the main object of the present invention and he serves primarily to localize an occurring error and to determine the same. A typical application of the The present invention would consist in performing the previously described error detection operations when entering a new program that may be buggy would be used. While generating the program would the programmer in this case insert analysis instructions at certain intervals. E.g. the program could contain a loop from which there is no longer any branching or exit to other instructions. In such a case the loop would run continuously * and endlessly. To avoid this, we would like before In other words, the programmer would insert an Analysis instruction into the loop at various points. This instruction would contain a number to be put in the calculus counter. That number would be the maximum of the number of instructions that should be executed normally before the next analysis instruction decrypts

■V-■ V-

wird. Ein Rechner tritt in die Schleife ein und fährt in dieser Fahrt bis ein Punkt eintritt, wo der Analysiszähler die Null erreicht und eine Unterbrechung generiert. Die Unterbrechungsroutine würde dann veranlassen, daß die Schleife verlassen wird und unter der Programmunterbrechnngsroutine entweder ein Stop oder eine Korrekturoperationwill. A computer enters the loop and continues this journey until a point comes in where the analysis counter reaches zero and generates an interrupt. The interrupt routine would then cause the Loop is exited and either a stop or a correction operation under the program interruption routine

10 9 8 1 1/13 6 610 9 8 1 1/13 6 6

Docket EN 968 013Docket EN 968 013

oder eine Verzweigimg zu einem nächsten Punkt im Programm durchgeführt würde. Wenn das Programm komplett ausgeführt ist, kann der Programmierer exakt durch einen Ausdruck mit Hilfe des Druckers am Computer die Analysisinstruktionen und die Zählerwerte für jede Instruktion sehen. Wenn er bei der Auswertung findet, daß der Inhalt des Zählers zu Null gegangen ist, dann weiß er, daß in diesem Teil des Programms etwas falsch ist.or a branch to a next point in the program would be carried out. When the program has been completely executed, the programmer can use an expression with exactly Using the printer on the computer, see the analysis instructions and the counter values for each instruction. If he in the evaluation finds that the content of the counter is too Has gone zero, then he knows that in this part of the Program something is wrong.

109811/1866
Docket EN 968 013
109811/1866
Docket EN 968 013

Claims (1)

4. September 1970 ru-skSeptember 4, 1970 ru-sk PatentansprücheClaims Prüfschaltung für Operationsprogramme in einem Rechensystem, das mindestens aus einem Programmspeicher und einer Steuereinheit besteht, bei dem Fehler während des Laufs nach Art und Zeitdauer des Auftretens festgehalten werden, dadurch gekennzeichnet, daß zwischen Registern(z.B. 13,15 und 19) einer Zentraleinheit ein Prüf- oder Analysiszähler (29) angeordnet ist, der innerhalb einer Instruktionsfolge einen bestimmten Schritt kennzeichnet, um einen bestimmten Fehler zu lokalisieren, daß der genannte Zähler (29) über Modifizierschaltungen (z.B. 33) mit einem an sich bekannten Instruktionszähl- und Instruktionsdecodierregister (35 bzw. 115) verbunden ist und daß außerdem ein weiterer Zähler (z.B. 107) zur Zählung der nach der durch den Prüfzähler (29) bezeichneten Stelle durchgeführten Operationen vorhanden ist, der über Und-Schaltungen (103) das Einlesen von Informationen in das Instruktionsregister (13) oder auch in allgemeine Register (z.B.15) vom Speicher (11) steuert.Test circuit for operation programs in a computing system, which consists of at least a program memory and a control unit in which errors occur during of the run are recorded according to the type and duration of occurrence, characterized in that between Registers (e.g. 13, 15 and 19) of a central unit a test or analysis counter (29) is arranged, the Identifies a specific step within a sequence of instructions in order to correct a specific error locate that said counter (29) via modifying circuits (e.g. 33) with a per se known Instruction counting and instruction decoding registers (35 or 115) is connected and that there is also another counter (e.g. 107) for counting the number after the the test counter (29) designated point carried out Operations is available, the reading of information into the instruction register via AND circuits (103) (13) or in general registers (e.g. 15) from memory (11). 2. Prüfschaltung für Operationsprogramme in einem Rechnersystem nach Anspruch 1, dadurch gekennzeichnet, daß der Prüf- bzw. Analysiszähler (24) Registern (13-41) über eine Sammelleitung (43) nachgeschaltet ist und daß der Ausgang des PrüfZählers (24) über eine Sammelleitung (55) ebenfalls mit der Sammelleitung (43) verbunden ist, die einmal zur arithmetisch logischen Einheit (51) des Rechnersysteme und zum anderen über eine Sammeliiltung (45) zum Speicheradressregister (19)2. Test circuit for operating programs in a computer system according to claim 1, characterized in that the test or analysis counter (24) registers (13-41) is connected downstream via a collecting line (43) and that the output of the test counter (24) via a collecting line (55) is also connected to the bus (43), which once becomes an arithmetic and logical unit (51) of the computer system and on the other hand via a collective filter (45) to the memory address register (19) 10981 1/186610981 1/1866 Docket EN 963 013Docket EN 963 013 und zum Speicher (11) führt und außerdem mit der Operationscodesteuerung (59) zur Operationssteuerung verbunden ist.and leads to the memory (11) and also to the operation code controller (59) for operation control connected is. 3. Prüfschaltung nach den Ansprüchen 1 und 2,dadurch gekennzeichnet, daß die dem Speicher (11) nachgeschalteten Register (z.B. 13) aus Verriegelungsschaltungen, die aus rückgekoppelten Und-Schaltungen (z.B. 87 und 88) bestehen aufgebaut sind, deren Bit-Ein- und Ausgänge (Bit O bis Bit 15) über Torschaltungen (62-65 bzw. 93 und 93') zum Auslesen und Einschreiben mit der Zyklussteuerung über Leitungen (81, 104, Lesen und Schreiben) verbunden sind.3. Test circuit according to claims 1 and 2, characterized characterized in that the registers (e.g. 13) connected downstream of the memory (11) consist of interlocking circuits, those from feedback AND circuits (e.g. 87 and 88) are built, the bit input and outputs (Bit O to Bit 15) via gate circuits (62-65 or 93 and 93 ') for reading and writing with the cycle control via lines (81, 104, reading and writing). 4. Prüfschaltung nach den Ansprüchen 1 bis 3# dadurch gekennzeichnet, daß die Operationsdecodierung suß · Und-Schaltungen (z.B. 117) mit einer nachgeschalteten Verriegelungsschaltung (135,145) besteht, an deren Eingängen (Bit 0 bis Bit 15) vorbestimmte Bitkombinationen anliegen und an deren Ausgang (141) der Analysisoperationscode steht, der zur Zyklussteuerung verwendet wird.4. Test circuit according to claims 1 to 3 #, characterized in that the operation decoding su ß · AND circuits (eg 117) with a downstream locking circuit (135,145), at whose inputs (bit 0 to bit 15) are present and predetermined bit combinations the output (141) of which is the analysis operation code which is used for cycle control. 1098 1 1 /1866
Docket EN 968 013
1098 1 1/1866
Docket EN 968 013
LeerseiteBlank page
DE19702044268 1969-09-09 1970-09-07 Test circuit for operational programs in computer systems Pending DE2044268A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US85630269A 1969-09-09 1969-09-09

Publications (1)

Publication Number Publication Date
DE2044268A1 true DE2044268A1 (en) 1971-03-11

Family

ID=25323287

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19702044268 Pending DE2044268A1 (en) 1969-09-09 1970-09-07 Test circuit for operational programs in computer systems

Country Status (6)

Country Link
JP (1) JPS5020823B1 (en)
DE (1) DE2044268A1 (en)
FR (1) FR2060927A5 (en)
GB (1) GB1278407A (en)
NL (1) NL7013221A (en)
SE (1) SE351934B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2233262A1 (en) * 1971-07-06 1974-01-31 Ici Ltd PROCESS FOR PREPARING PAINT COMPOSITIONS

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017010473A1 (en) * 2017-11-10 2019-05-16 Oerlikon Textile Gmbh & Co. Kg Machinery for the production or treatment of synthetic threads

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2233262A1 (en) * 1971-07-06 1974-01-31 Ici Ltd PROCESS FOR PREPARING PAINT COMPOSITIONS

Also Published As

Publication number Publication date
SE351934B (en) 1972-12-11
FR2060927A5 (en) 1971-06-18
JPS5020823B1 (en) 1975-07-17
NL7013221A (en) 1971-03-11
GB1278407A (en) 1972-06-21

Similar Documents

Publication Publication Date Title
DE2806024C2 (en)
DE1178623C2 (en) Program-controlled data processing machine
DE3128740C2 (en)
DE1549522B1 (en) DATA PROCESSING SYSTEM WITH SIMULTANEOUS PROGRAMS OF SEVERAL PROGRAMS USING SEVERAL COMPUTERS
DE1181460B (en) Electronic number calculator
DE2722124A1 (en) ARRANGEMENT FOR DETERMINING THE PRIORITY RANK IN A DP SYSTEM
DE1474062B2 (en) DATA PROCESSING SYSTEM WITH A NUMBER OF BUFFER MEMORIES
DE19983098B4 (en) Multi-bit display for handling write-to-write errors and eliminating bypass comparators
DE1549474C3 (en) Arrangement In an electronic digital data processing system for the execution of a first command and simultaneous decoding of a following command
DE2536625C2 (en) Parity check circuit for a binary counting register
DE2110604B2 (en) Method and device for the delivery of query messages to several addressable stations
DE2336020C3 (en) Address calculation circuit for parity error correction programs
DE2157829C2 (en) Arrangement for recognizing and correcting errors in binary data patterns
DE1499206B2 (en) COMPUTER SYSTEM
DE1185404B (en) Fault detection system
DE3814875A1 (en) LOGICAL LINKING DEVICE AND LOGIC LINKING METHOD
DE1549548A1 (en) Device for activating a specific command from a large number of commands which are stored in an instruction memory of a computer
DE1260532B (en) Memory with characteristic value call
DE1293188B (en) Circuit arrangement for the transmission of test information with predetermined parity in data processing systems
DE1499840B2 (en) Error checking device for a data processing system
EP0031025B1 (en) Error detecting and correcting device for a logic arrangement
DE2801853A1 (en) INTEGRATED DIGITAL DATA PROCESSING DEVICE
DE2222195A1 (en) ARRANGEMENT FOR PROCESSING OPERANDS OF PROGRAMS
DE2044268A1 (en) Test circuit for operational programs in computer systems
DE2842603A1 (en) INTERFACE BETWEEN A MAINTENANCE PROCESSOR AND A MULTIPLE NUMBER OF FUNCTIONAL UNITS TO BE CHECKED IN A DATA PROCESSING SYSTEM