Method and apparatus for enabling the tracing of errors occuring in a series of transfers of binary message words
This application is a continuation of earlier application Ser. No. 243,255 filed Mar. 12, 1981 and now abandoned. 
    
    
     FIELD OF THE INVENTION 
     The invention relates to a method of tracing errors during continuing operation in which there is a series of transfers of binary message words between a plurality of electric circuits, which form from the message word obtained a new message word for transmission to a subsequent circuit, e.g. data transmission between a plurality of processors. More particularly, the invention relates to the tracing of errors which may occur, for example, in a word contained in a group of words as the group of words is processed through a sequence of processors. The invention also relates to an apparatus for carrying out the method. 
     BACKGROUND 
     Different procedures can be utilized to trace errors in sequences of message words of the kind mentioned above. One possibility is to run the sequence it is desired to examine separately with the other sequences in the equipment being stopped during this time, all transmitted values are then registered and errors discovered by writing out and examining all messages in the examined sequence. In this case, the examination result can however be affected by all the other sequences normally progressing parallel thereto being inhibited during the test sequence, so that should an error in the examined sequence originate from the action of another sequence progressing parallel to it, it may happen that the check does not give any result. 
     Another possibility is to register and write out all sequences, the written-out list being visually examined. This method is very time-consuming, however. 
     SUMMARY OF THE INVENTION 
     An object of the invention is to eliminate above-mentioned disadvantages of the prior art and to provide a method by which an error in a sequence of the kind above can easily be traced, only messages in the examined sequence being registered without making necessary the inhibition of the sequences progressing parallel thereto during the period. 
    
    
     BRIEF DESCRIPTION OF DRAWING 
     The invention is described in greater detail below with reference to the accompanying drawing in which the sole FIGURE illustrates an apparatus for carrying out the method in accordance with the invention. 
    
    
     DETAILED DESCRIPTION 
     The sole FIGURE illustrates data processing equipment comprising a plurality of processors 1a, 1b, 1c, each of which is in communication with the other via an input 3 and output 4 coupled to a common bus system 2 along which messages can be transferred in either direction. Each processor is provided with a marking device 5 which is identical for all processors, but which is only shown in detail for the processor 1a. In order to simplify the description, the following qualifications are made: 
     a processor deals with only one task at a time 
     a processor and associated marking device 5 only senses the input 3 when the processor is free. 
     The processors together perform a variety of functions (computations). These functions are implemented by sequences of messages which are passed between the processors. 
     Each message contains, for example, one binary word. With each message word, there is associated a marking bit. The marking bit is normally set at zero. The marking bit is set at one for these messages words it is desired be stored for subsequent investigation. Between each message word in a sequence a time gap of varying length can appear. In these time gaps, message words belonging to other sequences can be tranferred between the processors. 
     The marking device 5 comprises an output register 7 connected into the outgoing line or output 4 and an input register 6 connected into the incoming line or input 3. Both registers are of such type that in addition to the bit positions for the message word which is to be passed on, they also contain at least one further bit position for one or more binary characters which are to be added to the message word, as explained hereinafter. 
     According to the example, it is desired to add a binary characteristic or marking bit to each word, within a sequence, that it is desired to trace. Should only one sequence be traced at the same time, it is sufficient to add one binary marking bit e.g. 1. On the other hand, if it is desired to trace several sequences simultaneously, the number of marking bits may be larger for enabling marking a plurality of sequences simultaneously in this way. This description only deals with the case of one marking bit. 
     In order to mark a first word in a certain sequence of message words, the message word which is transferred to the output register 7 is sensed. The desired sequence is identified by the fact that one message word in the sequence has a certain (known) value. The desired value of the message word is input (for example, manually be means of switches a-d) to the message identifier 8. The message identifier 8 compares the (manually) input word with the message word which is transferred from the processor 1a to the output register 7. Upon equality, a logical 1 is tranferred to the marking register 10 via OR-gate 9. 
     A read-out or storage device 12 is coupled to the transfer bus 2 and receives all message words transferred between all units connected to the bus, and together with their marking bits inputs these into register 13. If the message word is provided with a marking bit or bits, an AND-gate 15 is opened and the word written into a memory 14, so that all words provided with a marking bit can be read out at the termination of the sequence and checked as to whether they are correct or not. 
     With respect to receiving a word which is already provided with a marking bit in a processor and feeding out the word obtained by processing the obtained work, the output must be provided with the same marking bit. This is done in that the incoming word is written into the incoming register 6 where a special bit position is kept for a logical 1 functioning as a marking bit. From this position a signal is transferred to the output register 7 via the OR-gate 9 so that the latter is activated. In the same way as for an original marking, the OR-gate 9 adds a logical 1 to the word inserted in the out-put register 7, which is then a completely different word (i.e., it has been processed) from that obtained in the input. During the continued sequence, the new word is registered in the read-out device 12 which takes the new word appropriately marked from the bus. When the whole sequence of message words is terminated, the successively written-in words are read out and it will then be easy to verify (i.e., by visual inspection) the tested sequence and determine which words are incorrect. When the processor is free for new tasks, the entire input register 6 is first reset to zero along with registers 7, 10 and 16, whereafter the processors once again begin to pick up input signals from the bus.