DATA PROCESSING ARRANGEMENT CONTAINING A MEMORY DEVICE EQUIPPED WITH A COINCIDENCE CIRCUIT WHICH CAN BE SWITCHED IN AN ERROR RECOGNITION AND A COINCIDENCE MODE AND METHOD THEREFOR

Abstract: A data processing arrangement which comprises a memory device provided with a memory with a first field in which memory words are stored or can be stored and a second field in which an error protection bit can be stored for every memory word from the first field. The memory device further comprises an error protection bit generator for the generation of error protection bits and a coincidence circuit. This coincidence circuit operates in two different modes, on the one hand, an error protection mode in which error protection operations, such as for example the use of parity bits, take place in the known manner and, on the other hand, a coincidence mode in which the error protection operations are suppressed and replaced by coincidence operations. These coincidence operations make it possible to find out whether access operations are being performed at pre-determined memory addresses. In order to make these coincidence operations possible, a coincidence bit is stored in the second field at these pre-determined memory addresses before the coincidence circuit is allowed to operate in the coincidence mode.

Description: The invention relates to a data processing arrangement com­ prising a control unit and a memory device connected therewith, which contains a memory provided with a first and a second field, in which respect for each memory word in the first field at least one error pro­ tection bit can be stored at a corresponding address in the second field, which memory device contains an error protection bit generator connected to the first field for the generation on the basis of a memory word presented of at least one error protection bit and is also provided with error protection means for carrying out together with the error protection bit generator and the second field an error protection operation on a memory word presented, which control unit contains an error protection instruction generator for the generation of an error protection instruction, which error protection means contain a coincidence circuit, a first input of which is connected to an output of the error protection bit generator and a second input is connected to a data output of the second field and is provided in order to deliver the result of an error protection operation to a result output under the control of an error protection instruction received at a control input and on reading a memory word. A data processing arrangement of this type is known from the German patent application no. 34 04 782. In the known data processing arrangement the error protection bit generator is formed by a parity bit generator which generates a parity bit for each memory word presented and when writing the memory word in the first field writes this parity bit in the second field at an address that corresponds to the address at which the relevant memory word is written in the first field. The recognition of parity errors when reading memory words operates further in the known manner. However, when it is intended to use the known data processing arrangement in order to investigate for analytical purposes whether memory words are read at particular addresses in the memory, the parity bit at these addresses in the second field is deliberately set wrongly prior to doing this. If a read operation is now carried out at one of these addresses a wrong parity bit is then delivered to the coincidence cir­ cuit, with the result that the error protection operation has a nega­ tive result. That negative result is then notified to the control unit, which is thus informed of the fact that a read operation has taken place at that particular address and, in this way, can take the necessary measures. A disadvantage of the known arrangement, however, is that it is only in read operations that it is possible to investigate whether these addresses, at which the error protection bit has been set wrong­ ly, are addressed. The known arrangement cannot therefore be used, for example, to investigate whether data is being written at these addresses. In addition, since a wrong parity bit is used one is completely dependent on the content of the memory location in the first field at which it is desired to investigate access operations. The object of the invention is to realize a data processing arrangement in which it is possible to detect every access operation, i.e. both write and read operations, at pre-selected addresses of the memory for analytical purposes by making use of the second field and the coincidence circuit, and in which the detection is independent of the content of the first field at these selected addresses. For this purpose, a data processing arrangement according to the invention is characterised in that the control unit contains a coincidence generator connected to the coincidence circuit for the con­ secutive generation of a coincidence signal, which contains at least one memory address and a coincidence instruction, and in that the memory device is provided with storage control facilities in order to store, under the control of a coincidence signal, a coincidence bit at the appropriate memory addresses in the second field and to store the inverse value of the coincidence bit at the other addresses in the second field, which coincidence circuit is further provided in order to block, under the control of a coincidence instruction received at the control input and when the memory is being addressed, the error pro­ tection means and the output of the error protection generator, as well as to read the data stored at the addressed address in the second field and to bring it in via the second input and in order to recognise a coincidence bit from the data received at the second input and to present it at the result output. Since at the designated memory addresses at which access operations are to be investigated a coincidence bit is now stored in the second field by the storage control means and under the control of the coincidence signal, it is possible by detecting the presence of such a coincidence bit after the generation of the coincidence instruction to investigate each access, both for a read and a write operation, to the addresses designated by the coincidence signal. The data processing arrangement according to the invention therefore offers the possibility of investigating every access to the designated addresses independently of the content of the first field at the said addresses. Since the error protection means and the output of the error protection bit generator are blocked, the result of an error protection operation is suppressed and in this way the recognition of a coincidence bit is not disturbed. A preferred embodiment of a data processing arrangement ac­ cording to the invention is characterised in that the result output of the coincidence circuit is connected to an input of a validation cir­ cuit, a first data input of which is connected to the control unit for the reception of indicators which represent the actions of the control unit, and a second data input for the reception of pre-determined con­ ditions, which validation circuit is provided in order to validate a coincidence bit received when the indicators correspond to the condi­ tions, and to deactivate a coincidence bit received when the indicators do not correspond to the conditions. This creates the possibility of subjecting a coincidence bit presented at the result output to condi­ tions. These conditions can, for example, be that one only wishes to investigate the access to the designated memory locations when handling certain programs, or only in the case of certain modes, such as the Supervisor or user mode of the control unit. A first preferred embodiment of a data processing arrangement according to the invention is characterised in that the error pro­ tection means comprises a first gate circuit (22) which is switched to permit signals to pass through under the control of an error protection instruction received by the coincidence circuit and is switched to block signals under the control of a coincidence instruction received by the coincidence circuit. A gate circuit provides an easy-to-implement solution for achieving the activation or deactivation of the error protection means. A further preferred embodiment of a data processing arrange­ ment according to the invention is characterised in that the error pro­ tection means contain a second gate circuit (35, 36) of which a gate input is connected to the first input of the coincidence circuit and a gate output is connected to a data input of the second field, which second gate circuit is switched to permit signals to pass through under the control of an error protection instruction received by the coincidence circuit and is switched to block signals under the control of a coincidence instruction received by the coincidence circuit. Since this second gate circuit is connected to the first input of the coincidence circuit, to which first input the output of the error protection generator is connected, an error protection bit which has been generated is presented at the gate input of this second gate cir­ cuit. Under the control of an error protection instruction, the gate circuit permits signals to pass through and in this way the error pro­ tection bit is transported to the data input of the second field where it is stored. Under the control of a coincidence instruction the gate circuit is blocked so that the error protection bit presented cannot disturb the content of the second field. A second preferred embodiment of a data processing arrange­ ment according to the invention is characterised in that the coincidence circuit contains a third input for the reception of a write or read signal generated by the control unit, which coincidence circuit contains a third gate circuit (21, 40) of which a gate input is con­ nected to the above-mentioned third input, which third gate circuit is provided in order to deliver, under the control of an error protection instruction received by the coincidence circuit, a write or read signal received to its gate output and, under the control of a coincidence in­ struction received by the coincidence circuit, to deliver a write or read signal received each time as a read signal to its gate output. In this way the third gate circuit ensures that when a coincidence in­ struction is presented at the control input of the coincidence circuit, a write signal is not presented at the second field so that its content is not affected. In addition, by converting a write signal into a read signal, it is ensured that also when writing in the first field the content is read at the corresponding address in the second field and in this way any coincidence bit which may be present there is presented at the coincidence circuit. It is advantageous that the coincidence circuit contains a fourth and a fifth input, respectively, for the reception of a coinci­ dence bit and a coincidence write command, respectively, generated by the control unit, which fifth input is connected to a further gate in­ put of the third gate circuit (40) and to a first gate input of a fourth gate circuit (37) which contains a second gate input for the reception of the coincidence bit and a gate output connected to a further gate input of the second gate circuit, which fourth gate cir­ cuit (37) is provided in order to deliver a coincidence bit presented to its gate output under the control of a coincidence write command which is presented. As a result, it is possible to write coincidence bits in the second field without affecting the content of the first field. A third preferred embodiment of a data processing arrangement according to the invention is characterised in that the coincidence circuit contains a fifth gate circuit (24), a gate input of which is connected to the second input of the coincidence circuit and which fifth gate circuit is switched to permit signals to pass through under the control of a coincidence instruction received by the coincidence circuit and is switched to block signals under the control of an error protection instruction received by the coincidence circuit. As a result, it is easy to ensure that a coincidence bit which has been recognised is delivered at the result output of the coincidence circuit. It is advantageous that the error protection bit generator is a parity bit generator. This results in a simple embodiment, because nearly every memory device contains a parity bit generator of this kind. The invention also relates to a method for writing at least one coincidence bit into a memory device which forms part of a data processing arrangement according to the invention and in which the memory is suitable both for reading and for writing information. A method according to the invention is characterised in that it comprises the following steps: a) the generation by the control unit of a coincidence signal with at least one related memory address; b) the calling up of a memory word stored at a first memory address designated by the coincidence signal and the storage of that memory word in a register; c) the writing in the first field of a pre-determined memory word at the first memory address designated by the coincidence signal, which pre-determined memory word generates an error protection bit, the value of which is equal to that of the coincidence bit; d) the presentation of the pre-determined memory word to the error protection bit generator and the writing in the second field of the generated error protection bit at the first memory address designated by the coincidence signal; e) the generation by the control unit of a coincidence instruction and the presentation of the coincidence instruction at the control input of the coincidence circuit; f) the calling up of the memory word from the register and the writing in the first field of that memory word at the first memory address designated by the coincidence signal; g) in the event of the coincidence signal containing more than one memory address, the generation by the control unit of an error protection instruction, the presentation of the error protection instruction at the control input of the coincidence circuit and the repetition of the steps b to f inclusive for each of these other memory addresses; h) the writing of a data bit which has the inverse value of the coincidence bit at all the remaining memory addresses of the second field which have not been designated by the coincidence signal. Since the memory words stored at a memory address designated by the coincidence signal are stored in a register and after the coincidence bit has been loaded into the second field are again written at the original address, the content of the first field is not affected by the writing of a coincidence bit. In addition, by making use of a pre-determined memory word which generates an error protection bit with the same value as the coincidence bit, it is possible to use the error protection bit generator as a generator of coincidence bits and no extra hardware elements are therefore required for this purpose. An alternative form of a method according to the invention is characterised in that the method comprises the following steps: a) the generation by the control unit of a coincidence signal with at least one related memory address; b) the presentation of a pre-determined memory word to the error protection bit generator, which pre-determined memory word generates an error protection bit, the value of which is equal to that of the coincidence bit; c) the writing in the second field of the generated error protection bit at the memory addresses designated by the coincidence signal; d) the writing of a data bit which has the inverse value of the coincidence bit at all the remaining memory addresses of the second field which have not been designated by the coincidence signal. When a memory from which only information can be read is used for the first field, it is then unnecessary to keep the original memory words temporarily in a register. The invention will now be further explained on the basis of the drawing in which Figure 1 shows a first embodiment of a data processing arrangement according to the invention; Figure 2 shows a first preferred embodiment of a coincidence circuit. Figure 3 shows a second preferred embodiment of a coincidence circuit; Figure 4 shows a second embodiment of a data processing arrangement according to the invention; Figure 5 shows an example of an embodiment of a validation circuit to be used in a memory device according to the invention. Figure 1 shows a first example of an embodiment of a data processing arrangement according to the invention. The data processing arrangement comprises a memory device 7 equipped with a memory with a first field 1, for example a semiconductor memory (ROM, RAM, etc.) in which memory words can be stored or are stored. These memory words contain, for example, an 8 bits data word or an 8 bits instruction word. The said memory also contains a second field 2 for the storage of error protection bits, for example parity bits. When the first field, for example, has a capacity of 256 x 8 bits, then the second field has a capacity of, for example 256 x 1 bits, in such a way that for each memory word from the first field one appertaining parity bit can be stored. The first field 1 is connected by means of a data bus 9 and an address bus 8 to a control unit 18, for example, a microproces­ sor. The data bus is also connected to an error protection bit genera­ tor, in this example a parity bit generator 3, an output of which is connected via a line 28 to a first input of the coincidence circuit 4. A second input of the coincidence circuit 4 is connected to a data out­ put of the second field via a line 29. A control input and a third and fourth input of the coincidence circuit, respectively, are connected via the lines 5, 10 and 32, respectively, to the control unit. A read/write signal (R/W) is presented at line 10, a coincidence in­ struction or an error protection instruction is presented at line 5 and a clock pulse is presented at line 32. A first output and a second output of the coincidence circuit respectively, is connected to a data input and aread/write control input of the second field via line 31 and 30, respectively. A result output of the coincidence circuit is connected to the control unit via a line 6. Figure 2 shows a first example of an embodiment of the coincidence circuit 4 from the memory device. The coincidence circuit contains a flip-flop 20, an input of which is connected to line 5. The output Q of the flip-flop is connected via line 26 to a first gate input of the logic AND gates 21 and 23. The output Q of the flip-flop is connected via line 27 to the first gate input of logic AND gate 24. A read/write signal received at the third input via line 10 is presented to a second gate input of the logic AND gate 21. An output of this logic AND gate 21 is connected to the second output of the coincidence circuit via line 30. An output of the parity bit generator 3 is connected via line 28 to a line 31 which is connected to the first output of the coincidence circuit and to a first gate input of an Exclusive-OR gate 22. A data output of the second field is connected via line 29 to the second gate input of the logic AND gate 24 and the Exclusive-OR gate 22, respectively. The gate output of the Exclusive-­ OR gate 22 is connected to a second gate input of the logic AND gate 23, a gate output of which is connected to a gate input of the logic OR gate which has a further gate input connected to the output of the logic AND gate 24. A gate output of the logic OR gate 25 is connected to line 6. Two situations can now be distinguished for the operation of the memory device 7. These two situations will be designated as the parity mode (or error analysis mode) and the coincidence mode, respectively. A) Parity mode In this mode the memory device operates in a manner which is known for every memory device equipped with a parity field 2 and a parity bit generator 3 in order to carry out an error analysis operation on the basis of parity. In this parity mode an error protection instruction, for example, a parity instruction in the form of a low-level pulse (logic 0) is presented at the control input of the coincidence circuit 4 via the line 5. This error protection instruction is generated by the control unit. The said low-level instruction switches the flip-flop in such a way that a "0" is delivered at the output Q of the flip-flop and a "1" at output Q . This switching of the flip-flop takes place under the control of a clock pulse delivered by the control unit via line 32. When a memory word mWP presented via the data bus 9 is to be written at an address AD, presented via the address bus 8, then the memory word is presented to the parity bit generator 3 nearly simultaneously to this write operation. On the basis of the memory word mWP received, an error protection operation is now started in which the parity bit generator generates a parity bit. The generated parity bit is presented at the data input of the second field via the lines 28 and 31. Because Q = 1 and W = 1 (write operation) the logic AND gate 21 permits signals to pass through and the write command (W = 1) is presented at the write control input of the second field via line 30. As a result, the parity bit generated is stored in the second field at memory address AD. When reading the memory word mWP at address AD the word which is read is presented to the parity bit generator, which generates a parity bit on the basis of this. The bit generated by the parity bit generator 3 is presented at the Exclusive-OR gate 22 via line 28. The parity bit coming from the second field is also presented at the Exclusive-OR gate 22 via line 29. Since this involves a read operation R = 0 and the signal at the output of the logic AND gate 21 is equal to logic zero. It is therefore impossible to write in the second field and in this way the parity bit present on line 31 is not written in the second field. When the parity bits on the lines 28 and 29 are equal in this error protection operation (corresponding parity, both equal to 0 or both equal to 1) then a logic "0" is delivered at the output of the Exclusive-OR gate 22. This logic "0" is presented at the gate input of the logic OR gate 25 via the logic AND gate 23. Since Q = 0 a logic "0" is delivered at the output of the logic AND gate 24. A logic "0" is therefore presented at both gate inputs of the logic OR gate 25 and in this way a low-level signal is delivered on line 6 which indicates that the parity is in agreement. When the parity bits on lines 28 and 29 are unequal (wrong parity) a logic "1" is delivered at the output of the Exclusive-Or gate 22 which, combined with Q = 1 forms a logic "1" at the output of logic ANDgate 23. This logic "1" is then presented to the line 6 via logic OR gate 25. This logic "1" on line 6 indicates that there is a wrong parity at the address AD. B) Coincidence mode In this mode it is possible to investigate the activity at one or more memory addresses. Placing a coincidence bit at one or more memory addresses enables the user or the control unit itself to investigate what operations (reading, writing) are taking place at the addresses designated by a coincidence bit and when these take place. Switching over to the coincidence mode requires some prior operations which will now be described. Let us assume that the operations which take place at address AD are to be investigated and that the first field of the memory is suitable both for reading and for writing data, hence, for example, a RAM. For the application of the invention the second field must always be a read and write memory since it must be possible both to write in and read out a coincidence bit. When the coincidence circuit 4 according to figure 2 is used, a coincidence signal is first generated by the control unit before switching over to the coincidence mode, as a result of which a program is started. The program ensures, among other things, that a read operation is performed at the address AD, given by the coincidence signal. During this read operation the coincidence circuit is switched in the parity mode. The object of this read operation is to protect the memory word present in the first field at address AD, as will be made clear later on. After being read, the memory word present at address AD is temporarily stored, for example, in a register of the control unit. Next, a memory word is written at address AD, the parity bit of which has the same value as the coincidence bit, for example, logic "1". The relevant memory word is presented at the first field and the parity bit generator 3 via the data bus 9. On the basis of this, the parity bit generator then generates a parity bit, in this example a logic "1", which is presented via lines 28 and 31 at the data input of the second field. Since the coincidence circuit is switched in the parity mode, the write control input is activated via line 30, as a result of which the logic "1" generated is therefore written into the second field at address AD as a coincidence bit. Next, a coincidence instruction is presented at the control input of the coincidence circuit 4 via line 5, for example, by means of a high-level pulse (logic 1). The coincidence instruction is generated, for example, by the control unit itself or by the user. With the occurrence of an almost simultaneous clock pulse on line 32, the pulse of the coincidence instruction switches the flip-flop in such a way that now Q = 1 and Q =0. The coincidence circuit is thus switched into the coincidence mode. Next, the memory word stored in the register of the control unit is called up in order to write it at address AD in the first field again. As a result, the original content of the address AD has been preserved. Since the coincidence circuit has now been switched into the coincidence mode, however, when writing in the first field, writing no longer takes place in the second field, as will be explained below. Since in the coincidence mode Q = 0, the logic AND gate 23 is blocked, so that the investigation of the parity bits in the second field, as described in the parity mode, is deactivated. In addition, because Q = 0 the logic AND gate 21, one gate input of which is connected to the output Q of the flip flop, is blocked. The other input of the logic AND gate 21 is connected to line 10 on which the write/read (W/R) signal is presented. This means that when a write signal ( W = 1) is generated by the data processing system and the coincidence circuit is in the coincidence mode, the blocked logic AND gate 21 ensures that the write signal is not presented at the write control input of the second field. The point is that the gate output of logic AND gate 21 is connected to line 30, which is connected to the write/read control input of the second field. On the other hand, however, a read signal at the read control input of the second field is seen as a read signal R = 0. In the case of a write instruction, the blocking of the writing in the second field in the coincidence mode is used in order not to modify the content of the second field, but to enable it to be read. The point is that since Q = 0 a logic "0" is delivered at the gate output of the logic AND gate 21, which is seen at the read control input of the second field as an R = 0 or read instruction. When the first field contains a memory that is only suitable for read operations, for example, a ROM, then the method for loading a coincidence bit at address AD is simpler, for since it is not possible to write into such a memory, the operations for protecting the memory word are unnecessary. It therefore suffices to present a memory word at address AD, the parity bit of which has the same value as the coincidence bit. In this embodiment the first field is protected against write operations and in this way that memory word is not written at address AD. The parity bit generator 3 does, however, generate a parity bit which is stored in the second field as a coincidence bit at address AD. After this operaton the coincidence instruction is presented at the coincidence circuit as described above. It will be clear that when a coincidence is required at several memory addresses, the above-mentioned procedure for setting a coincidence bit should be repeated. At the remaining memory locations in the second field where no coincidence is required, a bit is stored which has the inverse value of the coincidence bit, i.e. in this example of an embodiment a logic "0". The logic "0" can be written, on the one hand, by means of an analog procedure as described for the writing of the coincidence bit, i.e. by writing another memory word that has logic "0" as parity bit or, on the other hand, by carrying out a so-called "flush operation" on the second field prior to writing the coincidence bit(s). In a flush operation such as this a logic "0" is written in the second field at all addresses. Let us now assume that in the coincidence mode a memory word is written at address AD. The signal (R = 0) at the gate output of the logic AND gate 21 ensures that the information stored at address AD in the second field is read and is presented at the one gate input of the logic AND gate 24 via line 29. Since the coincidence bit ("1") was stored at address AD in the second field, this is presented at the logic AND gate 24 where it is combined with the signal Q = 1. Since Q = 1, the coincidence bit is passed on and delivered via logic OR gate 25 to line 6. The coincidence bit delivered of line 6 is now presented to the control unit which is thus informed of the fact that a write operation has happened at address AD, where the coincidence bit was placed. A similar operation takes place when a read operation is carried out at the address AD. Then, too, the coincidence bit is presented at the logic AND gate 24 via line 29. If an address different from AD is now addressed in which no coincidence bit is stored in the second field, but a logic "0", then this logic "0" is presented at the logic AND gate 24 via line 29 and in this way delivered via logic OR gate 25 on line 6. Depending on the control unit connected to the memory device, the presentation of a coincidence bit on line 6 results in the genera­ tion of an interrupt or a bus error which causes an exception routine to start in the control unit. The data processing arrangement in figure 1 therefore offers the possibility to monitor accesses (both read and write) to pre-deter­ mined memory locations without previously interfering with the content at these locations in the first field and without making use of an extra memory field to be added for this purpose. For the sake of completeness a side effect connected with the writing of coincidence bits in the second field should also be mentioned. This side effect occurs when the memory word, which is stored in a register of the data processing unit, is again written in the first field. Since in this writing the coincidence circuit is al­ ready switched in the coincidence mode, a write signal (W = 1) for the second field is converted into a read signal (R = 0). This read signal now ensures that the coincidence bit just stored is read and presented at a gate input of the logic AND gate 24 where it is combined with Q = 1 and therefore delivers a coincidence bit to line 6. In order to prevent the control unit from converting the coincidence bit into, for example, an exception routine, it is possible to program the control unit in such a way that when it has generated a coincidence instruction it disregards the first following coincidence bit. The point is that the writing of the memory word which has been stored is the first in­ struction that the control unit executes after the generation of the coincidence instruction. In that same program, which controls the storage of the memory word and the generation of the coincidence in­ struction and the coincidence signal, it is therefore easy to incor­ porate an instruction which disregards the first coincidence bit on line 6. Figure 3 shows a second embodiment of a coincidence circuit which can be used in a memory device according to the invention. In this embodiment elements corresponding to those in figure 2 have the same reference number. The set up of the logic gates 21, 22, 23, 24 and 25 is completely analogous to those described in figure 2. Since this part of the coincidence circuit otherwise operates completely ana­ logously to that described in figure 2 this will not be dealt with further here. The coincidence circuit shown in figure 3 also contains a logicAND gate 35, a first gate input of which is connected via line 28 to an output of the parity bit generator 3 and a second gate input is connected via line 26 to the output Q of the flip-flop 20. A gate output of the logic AND gate 35 is connected to a first gate input of a logic OR gate 36, the gate output of which is connected via line 31 to the data input of the second field. A second gate input of the logic OR gate 36 is conected to a gate output of a logic AND gate 37. A first and second gate input, respectively, of the logic AND gate 37 are connected with a line 38 and a line 39, respectively. A coincidence write command AND a coincidence bit generated by the control unit respectively is presented on the lines 38 and 39 respectively which are connected to the control unit. The coincidence write command is further presented via line 38 to a second gate input of a logic OR gate 40, a first gate input of which is connected to a gate output of the logic AND gate 21. A gate output of the logic OR gate 40 is connected via line 30 to the read/write control input of the second field. A distinction will also be made between the parity mode and the coincidence mode for the description of the operation of the coincidence circuit in figure 3. As described in figure 2, in the parity mode Q = 1 and Q = 0 at the output of the flip-flop. When data are now written at an address for example AD, in the first field of the memory, then the write signal W = 1 is presented via line 10 at the first gate input of the logic AND gate 21 where it is combined with the signal Q = 1 and in this way is presented via the logic OR gate 40 and line 30 at the read/write control input of the second field. The parity bit generated by the parity bit generator 3 is presented at the first gate input of the logic AND gate 35 via line 28. Since Q = 1 the parity bit is presented via the logic OR gate 36 and line 31 at the data input of the second field where, under control of the write signal W = 1 presented at the read/write control input, it is stored at address AD. In a read operation in the parity mode a read signal R = 0 is presented via logic AND gate 21 and logic OR gate 40 at the read/write control input of the second field. As a result the parity bit is read and presented via line 29 at the Exclusive-OR gate 22 at which the parity bit generated is also presented. The coincidence circuit shown in figure 3 operates further in an analogous manner in the parity mode to that shown in figure 2. In the coincidence mode Q = 1 and Q = 0, as a result of which the logic AND gates 35 and 21, each of which receives the signal Q =0 via line 26, are blocked. The blocking of the logic AND gate 35 results in the output of the parity generator being blocked in the coincidence mode. The blocking of the logic AND gate 21 results in a write signal W = 1 or a read signal R = 0 always being presented as a logic "0", hence an R = 0 signal, at the first gate input of the logic OR gate 40. As a result, in the coincidence mode the second field always receives a read signal at its read/write control input when the data processing unit delivers a write or read signal to line 10. Prior to the switching of the switching circuit 4 in the coincidence mode a coincidence write command or a coincidence bit, respectively, is presented on the lines 38 and 39, for example, both a logic "1". Since both the signals carry a logic "1" at the gate inputs of the logic AND gate 37, the gate permits signals to pass through and in this way the coincidence bit is presented via the logic OR gate 36 at the data input of the second field. Since line 38 is connected to a gate input of the logic OR gate 40, the coincidence write command at the read/write control input is presented as a write signal (W = 1) at the second field. The coincidence write command is accompanied by one or more addresses which are presented via the address bus at the second field. A coincidence bit is now written at these addresses which are presented under the control of the coincidence write command. With a coincidence circuit according to figure 3 it is therefore possible to write coincidence bits in the second field without having to interfere with or temporarily store the contents of the first field. The writing of logic zeros at those addresses where no coincidence bits are written takes place by presenting a logic "0" via line 39. When these operations have been completed, the coincidence circuit is switched in the coincidence mode. The detection of a coincidence bit at an access to the memory in the coincidence mode takes place further analogously to the manner described on the basis of figure 2. It will be clear that the coincidence circuit to be used in a memory device according to the invention can also be constructed in another way than that shown in the examples of embodiment given in figures 2 and 3. For example, instead of using a flip-flop, it is possible to cause the signals Q and Q to be delivered directly by the control unit. Other embodiments of a memory device according to the in­ vention are also possible, for example, by making use of Hamming code bits instead of using the parity bits as error protection bits. The application of the invention, however, requires the use of an already existing error protection mechanism. When the memory field contains more than one error protection bit per memory word it is then suf­ ficient to use only one of these for the application of the invention. Figure 4 shows a further embodiment of a data processing ar­ rangement according to the invention. In this embodiment elements corresponding to those in figure 1 have the same reference number. The line 6 at the output of the coincidence circuit is now connected to a validation circuit 11. This validation circuit has inputs - in this example there are 8 inputs - each of which is connected to a respective line. For example, lines 13, 14, 15 and 10 are connected to the control unit and are suitable for the reception of a Supervisor indi­ cator (S), a program instruction/data indicator (P/D), the current program number (CPN) and the read/write signal (R/W), respectively. Specifications generated by the user which indicate under what condi­ tions the user wishes to validate the coincidence bit are presented via input 16. The point is that it is possible that the user only wishes to validate the coincidence bit under certain conditions, for example, only in the case of a write operation at a particular memory address or only when executing a particular program number. All these conditions are presented via input 16 at the validation circuit 16. It will be clear that for these conditions presented via input 16 corresponding indicators will have to be presented via the lines 13, 14, 15 and 10 if they are actually to be taken into account. Examples of conditions are, therefore Supervisor mode or user mode or both, program instructions or data or both, one or more program numbers, or regard­ less of the program number, read or write instructions or both. It will be clear that this summary is only given as an example and that still other conditions and corresponding indicators are naturally possible. Figure 5 shows an example of an embodiment of a validation circuit to be used in a memory device according to the invention. The validation circuit contains a first register 52 and second register 54, respectively, the outputs of which are connected to a first input and second input, respectively, of a comparator 53. A control input of the comparator 53 is connected to a gate output of a logic AND gate 55, a first and second gate input, respectively, of which is connected to line 6 or via line 50, respectively, to the output Q of the flip-flop 20 in the coincidence circuit. A result output of the comparator 53 is connected to a first gate input of a logic OR gate 57. A second gate input of the logic OR gate 57 is connected to a gate output of a logic AND gate 56, of which a first and second gate input, respectively, are connected to line 6 or via line 51, respectively, to the output Q of the flip-flop 20 in the coincidence circuit. The registers 52 and 54, respectively, are used for the temporary storage of the indicators presented via the lines 10, 13, 14 and 15 and/or the conditions presented via the input 16. If the memory device is now in the parity mode then Q = 1 and a parity signal presented via line 6 is delivered directly to line 12 via the logic AND gate 56 and the logic OR gate 57 and is presented to the control unit 18 which is connected to line 12. In the parity mode Q = 0 and in this way a logic "0" is presented at the control input of the comparator 53 so that the latter is inactive. If the memory device is now in the coincidence mode, then Q = 0 and the logic AND gate 56 is blocked. Since Q = 1 in the coin­ cidence mode a signal present on line 6 is presented at the control in­ put of the comparator 53. If a signal with a value of logic "0" is now present on line 6 (not a coincidence) then the comparator is not activated by this and at the result output a logic "0" is delivered which is presented to the control unit via the logic OF gate 57 and line 12. On the other hand, if a logic "1" (i.e. coincidence bit) is present on line 6 the comparator 53 is activated. Under the control of the coincidence bit received the comparator will now compare the indicators stored in the first register 52 with the conditions stored in the second register 54. If the respective indicators correspond to the respective conditions, then a logic "1" is delivered at the result output of the comparator. If it is not, then a logic "0" is delivered at the result output. This logic "0" therefore deactivates the coin­ cidence bit and it therefore appears to the control unit that there has been no coincidence. Assume, for example, that the user only wishes to find out whether data are being written at address AD during the opera­ tion of the program with number xx and when the control unit is in the user mode. For this purpose, a coincidence instruction is generated with address AD and under the control of this the coincidence circuit 4 is switched to the coincidence mode and a coincidence bit is stored at address AD in the second field. In addition, the program number xx, the signal S = 0 (user mode) and W = 1 are loaded into the second register via line 16. Now, as long as the signal S = 0 via line 13, and the number xx via line 15 and W = 1 via line 10 are not presented in grouped form to the first register by the control unit, the coin­ cidence signal delivered via line 16 is deactivated at every access to memory location AD. It is only when S = 0 via line 13, xx via line 15 and W = 1 via line 10 (line 14 is irrelevant since no conditions are set for this in this example), are presented together and memory loca­ tion AD is addressed that the coincidence bit is delivered at line 12. The use of the line 14 therefore gives the user a range of extra pos­ sibilities for either validating the coincidence or not. The validation circuit 11 can also be used to disregard the coincidence bit when rewriting in the first field the memory word that was stored temporarily in a register of the data processing unit. This can be achieved, for example, by presenting a program number via line 16 that is not the program number of the program that ensures the loading of the coincidence bit. This can be done both by the user and by the data processing unit itself.

Claims: 1. Data processing arrangement comprising a control unit (18) and a memory device (7) connected therewith, which contains a memory provided with a first (1) and a second (2) field, in which respect for each memory word in the first (1) field at least one error protection bit can be stored at a corresponding address in the second field, which memory device contains an error protection bit generator (3) connected to the first field for the generation on the basis of a memory word presented of at least one error protection bit and is also provided with error protection means for carrying out together with the error protection bit generator and the second field an error protection operation on a memory word presented, which control unit (18) contains an error protection instruction generator for the generation of an error protection instruction, which error protection means contain a coincidence circuit (4), a first input (28) of which is connected to an output of the error protection bit generator and a second input (29) is connected to a data of the second field (2) and is provided in order to deliver the result of an error protection operation to a result output (6) under the control of an error protection instruction received at a control input (5) and on reading a memory word, characterised in that the control unit contains a coincidence generator connected to the coincidence circuit (4) for the consecutive generation of a coincidence signal, which contains at least one memory address (AD) and a coincidence instruction, and in that the memory device (7) is provided with storage control facilities in order to store, under the control of a coincidence signal, a coincidence bit at the appropriate memory addresses in the second field and to store the inverse value of the coincidence bit at the other addresses in the second field, which coincidence circuit (4) is further provided in order to block, under the control of a coincidence instruction received at the control input (5) and when the memory is being addressed, the error protection means and the output of the error protection generator (3), as well as to read the data stored at the addressed address in the second field and to bring it in via the second intput (29) and in order to recognise a coincidence bit from the data received at the second input and to present it at the result output (6). 2. Data processing arrangement according to claim 1, characterised in that the result output (6) of the coincidence circuit (4) is connected to an input of a validation circuit (11), a first data input (10, 13, 14, 15) of which is connected to the control unit for the reception of indicators which represent the actions of the control unit, and a second data input (16) for the reception of pre-determined conditions, which validation circuit is provided in order to validate a coincidence bit received when the indicators correspond to the conditions, and to deactivate a coincidence bit received when the indicators do not correspond to the conditions. 3. Data processing arrangement according to claim 1 or 2, characterised in that the error protection means (4) comprise a first gate circuit (22) which is switched to permit signals to pass through under the control of an error protection instruction received by the coincidence circuit and is switched to block signals under the control of a coincidence instruction received by the coincidence circuit. 4. Data processing arrangement according to claim 1, 2 or 3, characterised in that the error protection means contain a second gate circuit (35, 36) of which a gate input is connected to the first input of the coincidence circuit (5) and a gate output (31) is connected to a data input of the second field, which second gate circuit is switched to permit signals to pass through under the control of an error protection instruction received by the coincidence circuit and is switched to block signals under the control of a coincidence instruction received by the coincidence circuit. 5. Data processing arrangement according to one of the claims 1, 2, 3 or 4, characterised in that the coincidence circuit contains a third input (10) for the reception of a write or read signal (R/W) generated by the control unit, which coincidence circuit contains a third gate circuit (21, 40) of which a gate input (10) is connected to the above-­ mentioned third input, which third gate circuit is provided in order to deliver, under the control of an error protection instruction received by the coincidence circuit, a write or read signal received to its gate output (30) and, under the control of a coincidence instruction received by the coincidence circuit, to deliver a write or read signal received each time as a read signal to its gate output. 6. Data processing arrangement according to claims 4 and 5, characterised in that the coincidence circuit contains a fourth (39) and a fifth input (38), respectively, for the reception of a coincidence bit and a coincidence write command, respectively, generated by the control unit, which fifth input is connected to a further gate input of the third gate circuit (21, 40) and to a first gate input of a fourth gate cir­ cuit (37) which contains a second gate input for the reception of the coincidence bit and a gate output connected to a further gate input of the second gate circuit (35, 36), which fourth gate circuit (37) is provided in order to deliver a coincidence bit presented to its gate output under the control of a coincidence write command which is presented. 7. Data processing arrangement according to one of the foregoing claims,characterised in that the coincidence circuit contains a fifth gate circuit (24), a gate input of which is connected to the second in­ put (29) of the coincidence circuit (4) and which fifth gate circuit is switched to permit signals to pass through under the control of a coincidence instruction received by the coincidence circuit and is switched to block signals under the control of an error protection instruction received by the coincidence circuit. 8. Data processing arrangement according to claims 1 to 7 in­ clusive, characterised in that the error protection bit generator is a parity bit generator (3). 9. Memory device to be used in a data processing arrangement according to one the foregoing claims. 10. Method for writing at least one coincidence bit into a memory device (7) which forms part of a data processing arrangement according to claim 1 or 2 and in which the memory is suitable both for reading and for writing information, characterised in that the method comprises the following steps: a) the generation by the control unit (18) of a coincidence signal with at least one accompaning memory address (AD); b) the calling up of a memory word stored at a first memory address designated by the coincidence signal and the storage of that memory word in a register; c) the writing in the first field (1) of a pre-determined memory word at the first memory address designated by the coincidence signal, which pre-determined memory word generates an error protection bit, the value of which is equal to that of the coincidence bit; d) the presentation of the pre-determined memory word to the error pro­ tection bit generator (3) and the writing in the second field (2) of the generated error protection bit at the first memory address designated by the coincidence signal; e) the generation by the control unit (18) of a coincidence instruction and the presentation of the coincidence instruction at the control input (5) of the coincidence circuit; f) the calling up of the memory word from the register and the writing in the first field of that memory word at the first memory address designated by the coincidence signal; g) in the event of the coincidence signal containing more than one memory address, the generation by the control unit of an error pro­ tection instruction, the presentation of the error protection instruction at the control input of the coincidence circuit and the repetition of the steps b to f inclusive for each of these other memory addresses; h) the writing of a data bit which has the inverse value of the coincidence bit at all the remaining memory addresses of the second field which have not been designated by the coincidence signal. 11. Method for writing at least one coincidence bit into a memory device (7) which forms part of a data processing arrangement according to claim 1 or 2 and in which the first field (1) of the memory is only suitable for reading information and the second field (2) is suitable both for reading and writing information, characterised in that the method comprises the following steps: a) the generation by the control unit of a coincidence signal with at least one related memory address; b) the presentation of a pre-determined memory word to the error protection bit generator (3), which pre-determined memory word generates an error protection bit, the value of which is equal to that of the coincidence bit; c) the writing in the second field (2) of the generated error protection bit at the memory addresses designated by the coincidence signal; d) the writing of a data bit which has the inverse value of the coincidence bit at all the remaining memory addresses of the second field (2) which have not been designated by the coincidence signal.

Inventors: BOLT, DURK JAN
Applicants: N.V. PHILIPS' GLOEILAMPENFABRIEKEN
Application year: 1987
Main classification: G06F11
IPC codes: G06F11, G06F12