DATA PROCESSOR WITH WAIT CONTROL ALLOWING HIGH SPEED ACCESS

Abstract: A slave processor adapted to execute a read/write oper­ ation in response to a read/write request signal from a master processor, comprises a first circuit for performing a write op­ eration during a predetermined period of time from the mo­ ment a first write request signal is made inactive from an active condition. An second circuit is provided for generating, when another access request signal such as a second write request signal or a read request signal is made active during the above predetermined period of time, an active wait signal requiring the master processor so as to maintain the second access request signal in an active condition. The second cir­ cuit also operates to delay an operation indicated by the second access request signal.

Description: Background of the Invention Field of the Invention The present invention relates to a data processor allowing a high speed access to a slave processor adapted to execute a read/write operation in response to a read/write request from a master processor, the slave processor having a wait control allowing a high speed operation of the master processor particularly in the write operation. Description of related art Conventionally, in so-called master-slave processor systems, when a master processor dispatches a read request or write request to a slave processor, operation will be executed in the following sequence: In the case of read operation, the master processor activates a read request signal to the slave processor. Immediately upon receipt of this active read request signal, the slave processor starts a read operation. On the other hand, the master processor is required to continue to maintain the read request signal in an active condition until the slave processor has completed preparation of a read data. The reason for this is that the master processor has to receive the data before it makes the read request signal inactive, and on the other hand, the slave processor requests the master processor to wait until the slave processor completes the preparation of a read data. This wait operation is controlled by a so-called wait signal or read signal. Namely, the slave processor will maintain the wait signal active until it prepares the read data, and the master processor will maintain the read request signal in an active condition until the wait signal is rendered inactive. A write operation is performed similarly to the sequence of the read operation mentioned above, except for the active period of a wait signal. Namely, in the case of write operation, the wait signal is maintained active until the slave processor completes the writing of data inputted from the master processor. This purpose is to maintain the data to be written to the slave processor by the master processor without any change. Therefore, the master processor is required to continue to maintain the write request signal active in a period corresponding to the active period of the wait signal. As will be apparent from the above description, the conventional wait control is disadvantageous that an access time of the master processor to the slave processor will inevitably become long in the case that the slave processor needs a long time of read data preparation or a long time of data write operation. Particularly, the larger the frequency of accesses to the slave processor is, the operation speed of the overall master slave processor system will become lower. A data processor according to the preamble of Claim 1 is disclosed in IBM Technichal Disclosure Bulletin, Vol. 28, No. 9, January 1986, New York, pp. 3331 - 3333. In this data processor commands are transferred from the master processor to the slave processor via data latches, and the status information of the slave is sent back to the master via a status latch. However, details related to read/write operations are not disclosed in this reference. Accordingly, it is an object of the present invention to provide a data processor which has overcome the above mentioned drawback of the conventional system. Another object of the present invention is to provide a data processor allowing a high speed access from an external. Still another object of the present invention is to provide a data processor which can be used as a slave processor in a master-slave processor system and which allows a high speed read/write operation of the master processor to the slave processor. The above and other objects of the present invention are achieved in accordance with the present invention by a data processor adapted to execute a read/write operation in response to a read/write request signal from a master processor, comprising first means for performing a write operation during a predetermined period of time from the moment a first write request signal is made inactive from an active condition, and second means for generating, when another access request signal such as a second write request signal or a read request signal is made active during the above predetermined period of time, an active wait signal requiring the master processor so as to maintain the second access request signal in an active condition, the second means also operating to delay an operation indicated by the second access request signal. In the case of write operation to the slave processor, the master processor is allowed to make a write request signal inactive if information required for a write operation (a write request signal, address and data to be written) has been transferred to the slave processor, even if the actual write operation has not yet been completed. Therefore, a wait signal is not required for a first write request signal. With this arrangement, the master processor can operate at a high speed. Instead of dispatching the wait signal for the first write request, the first means ensures the write operation to be executed in the above mentioned predetermined period of time. However, if a second access request signal is generated before the write operation is completed, the second means generates the wait signal to the master processor, similarly to the conventional master-slave processor system. The above and other objects, features and advantages of the present invention will be apparent from the following description of the preferred embodiment of the invention with reference to the accompanying drawings. Brief Description of the Drawings Figure 1 is a block diagram showing the overall structure of a master-slave processor system to which the present invention can be applied; Figure 2 is a block diagram of one example of the slave processor shown in Figure 1; Figure 3 is a block diagram of an input portion of the slave processor shown in Figure 2; Figure 4 is a circuit diagram of the read/write controller shown in Figure 3; and Figure 5 is a timing chart illustrating the write control operation of the read/write controller; and Figure 6A and 6B are timing charts illustrating the write control operation of the read/write controller. Description of the Preferred Embodiment Referring to Figure 1, there is shown one example of a master-slave processor system, which comprises a master processor 10 and a slave processor 12 coupled each other through a control bus 14, an address but 16 and a data bus 18 of a system bus 20. Particularly, in a read/write operation of the master processor 10 to the slave processor 12, the master processor 10 outputs a read request signal RDRQ and write request signal WRRQ to the slave processor 12 through the control bus 14, and also receive a wait signal WAIT from the slave processor 12 through the control bus 14, if necessary. Turning to Figure 2, there is shown one example of the slave processor. The shown slave processor is designed for a graph display controller, and includes a CPU interface 22 coupled to the address bus 16 and the data bus 18. Also, the CPU interface 22 receives the read request signal RDRQ and the write request signal WRRQ, and outputs the wait signal WAIT. The CPU interface 22 is coupled to an internal bus 24, which is in turn coupled to various internal circuits such as a signal generator 26, a display processor 28, a preprocessor 30 and an internal register 32. The preprocessor 30 is also coupled to an internal register 32 and a drawing processor 34, which is in turn coupled to a display memory interface 36. This display memory interface 36 is also coupled to the display processor 28. The CPU interface 22 includes a read/write controller 38 as shown in Figure 3, which is adapted to receive the read request signal RDRQ, the write request signal WRRQ, and a clock signal CLK, and to generate the wait signal WAIT. Further, the read/write controller 38 generates an internal read request signal RDRQI and an internal write request signal WRRQI to the internal register 32. The CPU interface 22 also includes a read data register 40, a write data register 42 and an address register 44, which are controlled by the internal read request signal RDRQI, and two latch signals LATCH 1 and LATCH 2 from the read/write controller 38, respectively. The read data register 40 and the write data register 42 are put in parallel between the data bus 18 and the internal register 32, and the address register 44 is located between the address bus 16 and the internal register 32. Turning to Figure 4, there is shown a detailed circuit diagram of the read/write controller 38. As shown in Figure 4, the read/write controller 38 includes a NOR circuit 46 receiving, at its one input the write request signal WRRQ and at its other input the same WRRQ signal delayed and inverted by a series of inverters 48. Thus, after the WRRQ signal is rendered active (or to a high level), this NOR circuit 46 generates an active (or high level) latch signal LATCH 1 when the signal WRRQ becomes inactive again. An output of the NOR circuit 46 is outputted through an OR circuit 74 as another active latch signal LATCH 2. The output of the NOR circuit 46 is connected to a set input of a RS flip-flop 50, which generates at its Q output an original internal write request signal WRRQIO to a D input of a D flip-flop 52. This D flip-flop 52 generates at its Q output the internal write request signal WRRQI, which is fed back through an AND circuit 54 to a reset input of a RS flip-flop 50. Further, the WRRQIO signal and the WRRQI signal are inputted to an OR circuit 56, which in turn generates an internal wait signal WAITI. This WAITI signal is inputted to one input of an AND circuit 58 which receives at its other input the write request signal WRRQ. This AND circuit 58 is connected at its output to one input of an OR circuit 60 adapted to generate the wait signal WAIT. In addition, the internal wait signal WAITI is supplied through an inverter 62 to one input of an AND circuit 64 whose other input is connected to receive the read request signal RDRQ. An output of the AND circuit 64 is connected directly to one input of another AND circuit 66 and also through a delay inverter 68 to the other input of the same AND circuit 66. An output of the AND circuit 66 is connected to a set input of a RS flip-flop 70, whose Q output is connected to a D input of D flip-flop 72. This D flip-flop 72 generates at its Q output an original internal read request signal RDRQIO. This RDRQIO signal is applied to one input of the OR circuit 72, which is in turn connected at its other input to receive the latch signal LATCH 1 so as to generate the second latch signal LATCH 2. Furthermore, the RDRQIO signal is fed to a D input of another D flip-flop 76 which generates at its Q output the internal read request signal RDRQI. This RDRQI signal is connected to respective one inputs of an OR circuit 78 and two AND circuit 80 and 82. An output of the OR circuit 78 is connected to the other input of the OR circuit 60. The AND circuit 80 receives the RDRQIO signal at its other input and is connected at its output to a reset input of the RS flip-flop 70. The AND circuit 82 has its other input connected to receive the RDRQIO signal through an inverter 84. In addition, the read request signal RDRQ is also applied directly to one input of an AND circuit 86 and through a delay inverter 88 to the other input of the same AND circuit 86. An output of the AND circuit 86 is connected to a set input of a RS flip-flop 90, whose reset input is connected to an output of the AND circuit 82 and whose Q output is connected to the other input of the OR circuit 78. Next, description will be made on operation of the read/write controller 38. First, a write operation will be explained with Figure 5, and then, a read operation will be explained with Figures 6A and 6B. In the case that the master processor 10 writes data to the slave processor 12, the master processor 10 generates an active write request signal WRRQ to the slave processor 12. When the WRRQ signal is returned to an inactive condition (a low level), the write operation is started at the falling edge of the WRRQ signal. Namely, as seen from Figure 5, the latch signals LATCH 1 and LATCH 2 are generated so that the write data on the bus 18 is latched in the write data register 42 DWREG and the address on the bus 16 is latched in the address register 44 AREG. At the same time, the original internal write request signal WRRQIO is rendered active. After the WRRQIO signal is rendered active, the D flip-flop 52 generates the internal write request signal WRRQI in synchronism with the clock signal CLK, and during the active period of the WRRQI signal, the content in the register 42 is written in the internal register 32 at an address indicated by the address register 44. On the other hand, the internal wait signal WAITI is maintained active to ensure that the content of the registers 42 and 44 is kept until the write operation is completed. However, at this situation, the wait signal WAIT externally outputted from the read/write controller 38 is not rendered active. As seen from Figure 5, the wait signal WAIT will be made active only the next active WRRQ signal or the RDRQ signal is generated during the active period of the internal wait signal WAITI. The WAIT signal is generated by the AND circuit 58 receiving the WRRQ signal and the WAITI signal, and also by the OR circuit 78 receiving the RDRQ signal through the RS flip-flop 90. On the other hand, in the case of read operation, the master processor 10 generates an active read request signal RDRQ to the slave processor 12. At that time, if the internal wait signal is inactive, the RDRQ signal is applied to the RS flip-flop 70 through the AND circuits 64 and 66. Therefore, as seen from Figure 6, the original internal read request signal RDRQIO is rendered active in synchronism with the falling of the clock CLK (i.e., the rising of the inverted clock CLK ). At this time, the latch signal LATCH 2 is generated to register the address on the bus 16 in the address register 44. Then, the internal read request signal RDRQI is rendered active in synchronism with the rising of the next clock CLK, i.e., later than the RDRQIO signal a half period of the clock. During the active period of the RDRQI signal, a read data is prepared, and then, is latched in the read data register 40 at the falling of the RDRQI signal. On the other hand, the wait signal is maintained active from the moment the RDRQ signal is made active to the moment the RDRQI signal is made inactive. If the internal wait signal WAITI is already maintained active when the RDRQ signal is rendered active as shown in Figure 6B, the original internal read request signal RDRQIO is maintained inactive until the WAITI signal is made inactive. It is because the RDRO signal is blocked by the AND circuit 64. As mentioned above, the WAITI signal is made active during a write operation. Therefore, with the blocking of the RDRQ signal by the active WAITI signal, since the active RDRQIO signal is not generated, the content of the address register is protected from the address information for the read operation. After the WAITI signal is rendered inactive, an operation will be performed similarly to the case described with reference to Figure 6A. Thus, the WAIT signal is maintained active until the RDRQI signal rendered inactive. As seen from the above, the slave processor does not generate a wait signal WAIT in response to a first write request, and therefore, the master processor can operate at a high speed since it is not put in a wait condition. The effect is realized by a two stage pipeline write operation control of the slave processor. If the master processor continuously generates write requests, it is a matter of course that the wait signal is generated. However, in an actual operation, write requests do not continue and another operation will be necessarily interposed between each pair of adjacent write requests in time sequence. Therefore, the write operation will be executed substantially without wait. Thus, the operation of the overall master-slave processor can be substantially speeded up. In addition, the present invention can be realized in a slave processor which can execute not only a simple read/write operation but also a data transmission with a master processor through an internal register for a specific processing function. In this case, a simple priority control function is additionally required to adjust a register access request for internal processing and a register access request from the master processor.

Claims: A data processor adapted to execute a read/write operation in response to a read/write request signal from a master processor (10), characterized by first means for performing a write operation during a predetermined period of time from the moment a first write request signal (WRRQ) is made inactive from an active condition, and second means (12) for generating, when another access request signal such as a second write request signal or a read request signal is made active during the above predetermined period of time, an active wait signal (WAIT) requiring the master processor so to maintain the second access request signal in an active condition, the second means also operating to delay an operation indicated by the second access request signal. A processor as claimed in Claim 1 wherein the second means includes a read/write controller (38) receiving the read request signal (RDRQ) and the write request signal (WRRQ) and generating the wait signal only when a read operation is executed and when a read request signal or a write request signal is further inputted during the predetermined period of time from the moment the first write request signal is made inactive. A processor as claimed in Claim 2 further including an internal register (32), a read data register (40) coupled between the internal register and a data bus so as to temporarily hold data read from the internal register (32), a write data register (42) coupled between the internal register and the bus so as to temporarily hold data to be written to the internal register (32) and an address register (44) coupled between the internal register and an address bus (16) to hold an address of the internal register (32) to be accessed, the above four registers being controlled by the read/write controller (38). A processor as claimed in Claim 3 wherein the read/write controller (38) responds to a first write request signal so as to cause the write data register (42) and the address register (44) to latch information on the data bus (18) and the address bus (16), respectively, and when a second write request signal is generated before the write operation based on the first write request signal is completed, the read/write controller (38) generates the wait signal without updating the write data register and address register. A processor as claimed in Claim 3 wherein the read/write controller (38) responds to a first write request signal so as to cause the write data register (42) and the address register (44) to latch information on the data bus (18) and the address bus (16), respectively, and when a read request signal is generated before the write operation based on the first write request signal is completed, the read/write controller (38) generates the wait signal without updating the address register.

Inventors: OHUCHI, MITSUROU
Applicants: NEC CORPORATION
Application year: 1987
Main classification: G06F15
IPC codes: G06F9, G06F15, G06F12, G06F13