Asynchronous interrupt status bit circuit

Abstract: An asynchronous interrupt status bit circuit for use in conjunction with a microprocessor, which guarantees that no interrupting conditions are missed and that no single interrupting condition is indicated twice, includes a master latch (12), a transfer gate (14), a clocked latch (16), an inverter (18), an output driver circuit (20), and a clearing circuit (22, 24). The master latch (12) is responsive to an interrupt input signal for generating an interrupting logic signal at its output which is latched to a low logic level. The clearing circuit (22, 24) is responsive to a control signal for generating a clear signal to clear the output of the master latch (12) to a high level only when the control signal is latched at a high level before the time a true read signal is making a high-to-low transition. The next read signal causes an output signal having a low level to be read by the microprocessor if no interrupt input signal has occurred.

Description: This invention relates generally to digital integrated circuits for use in data processing computing systems As is generally known in the microprocessor art, a host microprocessor has the capability of responding to an interrupt input or status signal via an interrupt controller, which operates, upon receipt of a signal, to cause the microprocessor to respond to particular preprogrammed routines under the control of an interrupt program. Most interrupt signals are not due to error conditions but will be part of the normal operation of the system. These interrupt routines are important for many reasons, such as for servicing memory management access violations, input/output devices, and the system clock. For example, such an interrupt signal from an integral timer is used to periodically interrupt the microprocessor so as to keep track of the time. In the event of the receipt of such an interrupt, the interrupt controller sends an interrupt to the microprocessor which causes the microprocessor to send out a read signal to determine what type of interrupt has been requested. The read signal permits the microprocessor to read related interrupt status registers which generate output signals to the microprocessor. Since interrupt or status signals are asynchronous, which means that they can occur at any time in relationship to the read signal, there has been encountered problems heretofore when the asynchronous interrupt signal and the read signal happen at substantially the same time. In particular, the interrupt signal could be not read or missed, or the interrupt signal could be read twice for a single interrupting condition depending upon if the read signal occurs slightly before or slightly after the interrupt signal. Accordingly, it would therefore be desirable to provide an asynchronous interrupt status bit circuit which does not miss any interrupting conditions and which does not indicate twice a single interrupting condition We will describe an asynchronous interrupt status bit circuit which is relatively simple and economical to manufacture and assemble, but has been traditionally unavailable. We will describe an asynchronous interrupt status bit circuit which guarantees that no interrupting conditions are missed and that no single interrupting condition is indicated twice. We will describe an asynchronous interrupt status bit circuit which includes a master latch, a clocked latch, an output driver circuit and a clearing latch circuit. We will describe an asynchronous interrupt bit circuit which includes a master latch and a clearing circuit which is responsive to a control signal for clearing the master latch after reading of a high logic level. US-A-4 419 762 discloses a register circuit which is used to asynchronously monitor a data or logical function and is able to retain the status of the monitoring until the register is interrogated whereupon the register is automatically reset and able to receive or monitor another status signal. The present invention provides an asynchronous interrupt status bit circuit for use in conjunction with a microprocessor, said circuit comprising: master latch means having an output and being responsive to an interrupt input signal for generating an interrupting logic signal at its output which is latched to a low logic level; characterised by; transfer gate means responsive to true and complement read signals generated by the microprocessor for passing said interrupting logic signal received on its signal input node to its signal output node when the true read signal is at a low logic level and the complement read signal is at a high logic level; clocked latch means having an input and an output, said clocked latch means being coupled to said signal output node of said transfer gate means for latching its output to the logic level of said interrupting logic signal when the true read signal is at a high logic level; inverting means having an input and an output, said inverting means having its input coupled to the output of said clocked latch means for generating a control signal at its output; output driver means responsive to said control signal and said true and complement read signals for generating an output signal which is fed to the microprocessor so as to indicate reading of an interrupting condition when it is at a high logic level; and clearing means responsive to said control signal and said true and complement read signals for generating a clear signal to clear the output of said master latch means to a high logic level only when said interrupting logic signal at the output of said clocked latch means is latched at a low logic level before the time when the true read signal is making a high-to-low transition, whereby the next read signal causes the output signal to produce a low logic level if no interrupt input signal has occurred again. BRIEF DESCRIPTION OF THE DRAWINGS The objects and advantages of the present invention will become more fully apparent from the following detailed description when read in conjunction with the accompanying drawings with like reference numerals indicating corresponding parts throughout, wherein: Figure 1 is a schematic circuit diagram of an asynchronous interrupt status bit circuit, constructed in accordance with the principles of the present invention; Figures 2(a) -2(c) are waveforms useful in understanding of the normal operation of the status bit circuit of Figure 1; Figures 3(a)-3(c) are waveforms useful in explaining the incorrect operation of the status bit circuit of Figure 1; and Figures 4(a)-4(c) are waveforms useful in understanding the operation of the status bit circuit of Figure 1 when the read signal is substantially coincident with the interrupting input signal. DESCRIPTION OF THE PREFERRED EMBODIMENT Referring now in detail to the drawings, there is shown in Figure 1 a schematic circuit diagram of an asynchronous interrupt status bit circuit 10 of the present invention. The status bit circuit 10 includes a master flip-flop or latch 12, a transfer gate 14, a clocked latch 16, an inverter 18, an output driver circuit 20. The status bit circuit 10 also includes an inverter 22 and a clearing flip-flop or latch circuit 24. The master latch 12 is formed of a pair of cross-coupled NOR logic gates 26, 28. One input of the NOR gate 26 is connected to receive an interrupt input or status signal IN indicative of an interrupting condition on line 30. The other input of the NOR gate 26 is connected to the output of the NOR gate 28 on line 32. One input of the NOR gate 28 is connected to receive a reset signal RESET on line 34. A second input of the NOR gate 28 is connected to the output of the NOR gate 26 on line 36. A third input of the NOR gate 28 is connected to the output of the clearing circuit 24 on line 38. The output of the NOR gate 26 provides an interrupting logic signal QL which is fed to an input terminal of a host microprocessor (not shown) via an interrupt controller (not shown). The transfer gate 14 is a conventional CMOS transmission gate formed of a P-channel MOS transistor and an N-channel MOS transistor. The transmission gate 14 has a signal input node 40, a signal output node 42, a first control terminal 44, and a second control terminal 46. The first control terminal 44 is connected to the gate electrode of the P-channel transistor and the second control terminal 46 is connected to the gate electrode of the N-channel transistor. The output of the NOR gate 26 is also fed to the signal input node 40 of the transmission gate 14. The transmission gate 14 has its signal output node 42 connected to the input of the clocked latch 16. The first control terminal 44 of the transmission gate 14 is connected to receive a true read signal READ, and the second control terminal 46 is connected to receive a false or complement read signal READL. The true and complement read signals READ and READL are generated from the host microprocessor. The clocked latch 16 is formed of inverters 48, 50 and a transfer gate 52. The transfer gate 52 is likewise a conventional CMOS transmission gate formed of a P-channel MOS transistor and an N-channel MOS transistor. The transmission gate 52 has a signal input node 54, a signal output node 56, a first control terminal 58, and a second control terminal 60. The first control terminal 58 is connected to the gate electrode of the P-channel transistor, and the second control terminal 60 is connected to the gate electrode of the N-channel transistor. The inverter 48 has its input connected to the signal output node 42 of the transmission gate 14 and has its output connected to the input of the inverter 50. The output of the inverter 50 is connected to the signal input node 54 of the transmission gate 52, and the signal output node 56 of the transmission gate 52 is connected to the input of the inverter 48. The transmission gate 52 also has its first control terminal 58 connected to receive the complement read signal READL and has its second control terminal 60 connected to receive the true read signal READ. When the true read signal is at a low or logic "0" level and the complement read signal is at a high or logic "1" level, a signal applied to the signal input node 40 will be coupled to the signal output node 42. Thus, the transmission gate 14 is defined to be closed or turned on. On the other hand, the signal applied to the signal input node 54 will not be coupled to the signal output node 56. Thus, the transmission gate 52 is defined to be opened or turned off. When the true read signal is at the high logic level and the complement read signal is at the low logic level, the signal applied to the signal input node 40 will not be coupled to the signal output node 42. Thus, under this condition the transmission gate 14 will be open or turned off. However, the signal applied to the signal input node 54 will be coupled to the signal output node 56. Thus, the transmission gate 52 will be closed or turned on in this condition. The output of the inverter 50 is connected to the input of the inverter 18 on line 62. The output of the inverter 18 on line 64 defining a control signal is connected to the input of the output driver circuit 20. The output driver circuit 20 includes a NAND logic gate 66, a NOR logic gate 68, a P-channel MOS field-effect transistor 70, and an N-channel MOS field-effect transistor 72. The NAND gate 66 has its one input connected to the output of the inverter 18 on the line 64 and its other input connected to the true read signal READ. The output of the NAND gate 66 is connected to the gate electrode of the P-channel transistor 70. The NOR gate 68 has its one input also connected to the output of the inverter 18 and its other input connected to the complement read signal READL. The output of the NOR gate 68 is connected to the gate electrode of the N-channel transistor 72. The transistor 70 has its source connected to a supply potential or voltage VCC and its drain connected to an output node 74 for generating an output signal DBX. This output signal DBX is sent to the microprocessor so as to indicate a reading of the clocked latch 16. The transistor 72 has its drain also connected to the output node 72 and its source connected to a ground potential. The output of the inverter 18 on the line 64 is also fed to the input of the inverter 22. The output of the inverter 22 is fed to the input of the clearing latch circuit 24. The clearing latch circuit includes a pair of cross-coupled NOR logic gates 76 and 78, an inverter 80, and a NOR logic gate 82. The NOR gate 76 has its one input on line 84 connected to receive the read signal READ and its other input connected to the output of the NOR gate 78 on line 86. The NOR gate 78 has its one input connected to the output of the inverter 22 on line 88 and its other input connected to the output of the NOR gate 76 on line 90. The output of the NOR gate 78 is also connected to the input of the inverter 80. The output of the inverter on line 92 is connected to one input of the NOR logic gate 82. The other input of the NOR gate 82 on line 94 is connected to receive the true read signal READ. The output of the NOR gate 82 defining the output of the clearing circuit 24 is connected to the third input of the NOR gate 28 of the master latch 12 on the line 38. In order to facilitate the understanding of the normal operation of the interrupt status bit circuit 10 of Figure 1, reference is now made to the waveforms illustrated in Figures 2(a)-2(c). Initially, it is assumed that a reset signal consisting of a short pulse has been applied to the line 34. When the reset signal makes a low-to-high transition, this causes the output of the NOR gate 28 to be set at a low or logic "0" level. Since the interrupt input or status signal IN is at a low logic level at time t0 as shown in Figure 2(a), the output of the NOR gate 26 will be set at a high or logic "1" level. With the true read signal READ being at the low logic level (READ = 0) and the complement read signal READL being at the high logic level (READL = 1) at the time t0, the transmission gate 14 will be turned on and the transmission gate 52 will be turned off. As a result, the clocked latch 16 will be transparent so as to allow the high logic level at the output of the NOR gate 26, which is passed through the transmission gate 14, to reach the output of the inverter 50. Due to the inverter 18, a low logic level control signal will be applied to the input of the output driver circuit 20. However, the output of the NAND gate 56 will be at a high logic level and the output of the NOR gate 68 will be at a low logic level, thereby rendering the output signal on the node 74 to be in a high impedance mode. Further, due to the inverter 22, a high logic level on the line 88 will be applied to the NOR gate 78, causing its output on line 86 to go to a low level. Since the true read signal being at the low level is also applied to the input of the NOR gate 76 on the line 84, the output of the NOR gate 76 will also be initially at the high level. With the output of the inverter 80 being at the high level and with the true read signal on the line 94 of the gate 82 being at the low level, the output of the NOR gate 82 will be at a low level. At the time t1, the interrupt input signal IN goes to a logic "1" level indicating an interrupting condition. This causes the output of the NOR gate 26 of the master latch 12 to change to the low or logic "0" level. The output of the NOR gate 26 defining the output of the master latch represents an interrupting logic signal which is sent to the microprocessor via the interrupt controller to indicate the occurrence of the interrupting condition. Since the true read signal READ from the microprocessor is at the low level at the time t1, the transmission gate 14 will be closed and the transmission gate 52 will be opened. As a result, the output of the NOR gate 26 will also be sent through the transmission gate 14 to the output of the clocked latch 16 defined by the output of the inverter 50. Thus, the output of the inverter 18 on the line 64 will be at a high level. At the time t2 when the true read signal READ changes to the high level, the transmission gate 14 will be opened and the transmission gate 52 will be closed so as to latch the output of the inverter 50 at the low level. Further, this causes the output of the NAND gate 66 to switch to the low level thereby turning on the P-channel transistor 70. Consequently, the output signal DBX will be changed to a high level at the time t3 to provide a reading of the clocked latch 16 by the microprocessor. In addition, at the time t2, the output of the NOR gate 76 will simultaneously switch to the low level and the output of the NOR gate 78 will change to the high level. Further, the output of the inverter 80 will change from the high level to the low level. At the time t4 on the trailing edge of the true read signal making a high-to-low transition, this will cause the output of the NOR gate 82 to make a low-to-high transition which, in turn, causes the output of the NOR gate 28 of the master latch to change to the low level. This results in the clearing of the master latch in which the output of the NOR gate 26 is returned to the high level. When the next true read signal goes to a high level at the time t5, the output of the NOR gate 26 being at the high level will be latched in the clocked latch 16 at the output of the inverter 50. Simultaneously, the output of the NOR gate 68 will be switched to a high level, thereby turning on the N-channel transistor 72. Therefore, the output signal DBX will be at the low level indicating that there is no interrupt condition existing since another status input signal has not occurred. It should be noted that the low level at the output of the inverter 18 is fed back to the NOR gate 78 which causes the output thereof to switch back to the low level. Further, the output of the inverter 80 is returned to the high level. Accordingly, when the second read signal READ makes the high-to-low transition at the time t6, it will have no effect on the master latch whose output on the line 36 is maintained at the high level. In Figure 3(a), there is shown an interrupt input signal IN which is excessively long in duration, causing an erroneous reading of two consecutive logic "1's" for a single status event. As is shown in respective Figures 3(b) and 3(c), the reading taken at the times t7 and t9 will produce each time an output signal having a high level at corresponding times t8 and t10. While the output of the NOR gate 26 will be cleared at the time t11 when the trailing edge of the true read signal makes the high-to-low transition, the status input signal being still at the high level after the time t11 will cause the output of the NOR gate to be changed again, indicating another interrupting condition. Therefore, when the second reading occurs at the time t9 the output signal DBX having a high level will be generated. Accordingly, such long interrupt input signals are not acceptable for proper operation of the present interrupt status bit circuit. In order to explain how the present circuit 10 prevents the missing of a reading of an interrupt signal which changes at the beginning of a read signal, reference is made to the waveforms illustrated in Figures 4(a)-4(c). Initially, it will be assumed that a reset signal has been applied again to the line 34. Thus, the outputs of the various logic gates are the same as was previously described with respect to Figure 1 at the time t0. In Figure 4(a), there is shown an interrupt input signal IN occurring at time t12. In Figure 4(b), there is shown a true read signal occurring at time t13 which is substantially coincident and is very near the time t12 where the interrupt signal IN has changed but is just slightly after the time t12. The output from the NOR gate 26 will have therefore already made the high-to-low transition prior to the read signal READ at the time t13. Thus, the output of the inverter 50 of the clocked latch 16 will be latched at a low logic level. As a result, the control signal at the output of the inverter 18 will be at a high logic level at the time t13. Consequently, the output signal DBX having a high logic level will be read by the microprocessor at the time t14, as shown in Figure 4(c). Since the output of the NOR gate 26 will be cleared or returned to the high level at the time t15 (trailing edge of the read signal), the next read signal at the time t16 will produce an output signal DBX having a low level corresponding to a no-interrupt condition. In Figure 4(a), there is illustrated an interrupt input signal IN occurring at time t18. In Figure 4(b), there is illustrated a true read signal occurring at time t17 which is substantially coincident and is very near the time t18 when the interrupt input signal IN has changed but is just slightly before the time t18. As a result, the output of the NOR gate 26 will still be at the high level when the read signal occurs at the time t17. Consequently, the output of the inverter 50 of the clocked latch will be latched at a high level. Therefore, the control signal on line 64 will be at a low level when the read signal occurs at the time t17. Thus, the output signal DBX having a low level will be read by the microprocessor at the time t19. However, at the time t18 the output of the NOR gate 26 is switched to a low level indicating an interrupting condition. It is important that this interrupting condition not be missed (not read) by the microprocessor. Since the clocked latch was latched in the high level, the trailing edge of the true read signal at the time t20 will not cause the master latch or the output of the NOR gate 26 to be cleared or returned to the high level. Accordingly, the low level at the output of the NOR gate 26 will be latched into the clocked latch on the next read signal occurring at the time t21. Thus, the output signal DBX having a high level at the time t22 will be read by the microprocessor as shown in Figure 4(c). It should now be apparent that the reading of the interrupt input signal occurring at the time t18 was not missed and did not go unread by the microprocessor due to the present interrupt status bit circuit. While the clocked latch 16 has been described throughout as consisting of only the inverters 48, 50 and the transfer gate 52, it will be understood by those skilled in the art that a true clocked latch is implemented by using the two transmission gates and two inverters. Thus, a true clocked latch would be considered to be formed of the transfer gate 14 as well as the clocked latch 16 illustrated in the status bit circuit 10 of Figure 1. In the foregoing detailed description, we have described an asynchronous interrupt bit circuit for use in conjunction with a microprocessor which guarantees that no interrupting conditions are missed and that no single interrupting condition is indicated twice. The status bit circuit includes a master latch, a transfer gate, a clocked latch, an inverter, an output drive circuit, and a clearing circuit. The clearing circuit is used to clear the master latch only after an output signal having a high level has been read by the microprocessor.

Claims: An asynchronous interrupt status bit circuit for use in conjunction with a microprocessor, said circuit comprising: master latch means (12) having an output and being responsive to an interrupt input signal for generating an interrupting logic signal at its output which is latched to a low logic level; characterised by; transfer gate means (14) responsive to true and complement read signals generated by the microprocessor for passing said interrupting logic signal received on its signal input node to its signal output node when the true read signal is at a low logic level and the complement read signal is at a high logic level; clocked latch means (16) having an input and an output, said clocked latch means (16) being coupled to said signal output node of said transfer gate means (14) for latching its output to the logic level of said interrupting logic signal when the true read signal is at a high logic level; inverting means (18) having an input and an output, said inverting means (18) having its input coupled to the output of said clocked latch means (16) for generating a control signal at its output; output driver means (20) responsive to said control signal and said true and complement read signals for generating an output signal which is fed to the microprocessor so as to indicate reading of an interrupting condition when it is at a high logic level; and clearing means (22,24) responsive to said control signal and said true and complement read signals for generating a clear signal to clear the output of said master latch means (12) to a high logic level only when said interrupting logic signal at the output of said clocked latch means (16) is latched at a low logic level before the time when the true read signal is making a high-to-low transition, whereby the next read signal causes the output signal to produce a low logic level if no interrupt input signal has occurred again. A status bit circuit as claimed in claim 1, wherein said master latch means (12) is formed of first and second cross-coupled NOR logic gates (26,28), said first NOR gate (26) having a first input connected to receive said interrupting input signal and a second input connected to the output of said second NOR gate (28), said second NOR gate (28) having a first input connected to the output of said first NOR gate (26) and a second input connected to the output of said clearing means (22,24). A status bit circuit as claimed in claim 2, wherein said transfer gate means (14) includes a transmission gate formed of a P-channel transistor and an N-channel transistor, said P-channel transistor having its gate electrode connected to receive the true read signal, said N-channel transistor having its gate electrode connected to receive the complement read signal. A status bit circuit as claimed in claim 3, wherein said clocked latch means (16) comprises a first inverter (48), a second inverter (50), and a second transmission gate (52) having a signal input node, a signal output node, a first control terminal, and a second control terminal, said first inverter (48) having its input connected to the signal output node of said transfer gate means (14) and its output connected to the input of said second inverter (50) said second inverter (50) having its output connected to the signal input node of said second transmission gate (52), said second transmission gate (52) having its signal output node connected to the input of said first inverter (48), its first control terminal connected to receive said complement read signal, and its second control terminal connected to receive said true read signal. A status bit circuit as claimed in claim 4, wherein said inverting means (18) comprises a third inverter (18) having its input connected to the output of said inverter (50) and having an output for producing said control signal. A status bit circuit as claimed in claim 5, wherein said output driver means (20) comprises a NAND logic gate (66), a third NOR logic gate (68), a P-channel MOS transistor (70), and an N-channel MOS transistor (72), said NAND gate (66) having a first input connected to receive the true read signal, a second input connected to the output of said third inverter (18) to receive said control signal, and an output, said third NOR gate (68) having a first input connected to receive the complement read signal, a second input connected to the output of said third inverter (18), and an output, said P-channel transistor (70) having its source connected to a supply potential, its gate connected to the output of said NAND gate (66), and its drain connected to an output node (74) for generating said output signal, said N-channel transistor (72) having its drain connected to said output node (72), its gate connected to the output of said third NOR gate (68), and its source connected to a ground potential. A status bit circuit as claimed in claim 6, wherein said clearing means (22,24) comprises a fourth inverter (22), a clearing latch formed of fourth and fifth cross-coupled NOR logic gates (76,78), a fifth inverter (80), and a sixth NOR logic gate (82). A status bit circuit as claimed in claim 7, wherein said fourth inverter (22) has its input connected to the output of said third inverter (18) to receive said control signal and an output, said fourth NOR gate (76) having a first input connected to receive the true read signal and a second input connected to the output of said fifth NOR gate (78), said fifth NOR gate (78) having a first input connected to the output of said fourth inverter (22) and a second input connected to the output of said fourth NOR gate (76), said fifth inverter (80) having its input connected to the output of said fifth NOR gate (78) and an output, said sixth NOR gate (82) having a first input connected to receive the true read signal, a second input connected to the output of said fifth inverter (80), and an output defining the output of said clearing means (24) to generate said clear signal. A status bit circuit as claimed in claim 8, wherein said output of said NOR gate (26) defines the output of said master latch means (12) and is cleared to a low logic level only in response to said clearing signal making a low-to-high transition.

Inventors: NIX MICHAEL A, NIX, MICHAEL A.
Applicants: ADVANCED MICRO DEVICES INC, ADVANCED MICRO DEVICES, INC.
Application year: 1989
Main classification: G06F13
IPC codes: H03K3, G06F9, G06F13