The present invention relates to a method for blocking a request to a bus, and more particularly to a method for blocking a request to a bus that interfaces between a control chip and a central processing unit (CPU) before it is beyond the capacity of the control chip.
As is known, a central processing unit (CPU) is electrically connected to a control chip, which is generally a bridge chip, via a front side bus. When the CPU issue a request, e.g. an access request to a memory and/or a read/write request to an I/O device, the control chip will perform the corresponding access or read/write operation according to the request from the CPU.
In general, the CPU is designed with a pipeline for permitting multi-requests at the same time. Complying with the pipeline design of the CPU, the control chip is supposed to be able to deal with the consecutive outstanding requests from the CPU. Therefore, a-queue is built in the control chip for storing the pending requests from the CPU before the requests are processed individually.
The capacities of the CPU and the control chip for processing requests, however, are limited to some extent. When the capacity or the allowed outstanding request number of the control chip is smaller than that of the CPU, the control chip has to timely inform the CPU of the approaching threshold and block any further request from the CPU. In prior art, The CPU is provided therewith a block-next-request (BNR) signal line. In response to a block-next-request signal transmitted on the line, the request from and/or to the CPU is blocked.
Please refer to
In the prior art, a drive circuit is additionally provided in the control chip for pulling the BNR signal low when necessary so as to block the request from the CPU. The BNR signal occupies one pin of the control chip, and the BNR signal drive circuit also occupies certain area of the control chip. In addition, the BNR signal drive circuit consumes power, which is disadvantageous for electric apparatus.
Therefore, an object of the present invention is to provide a method for blocking the CPU to issue a request to the front side bus in response to a signal on an existent signal line rather than the specific BNR signal line.
A first aspect of the present invention relates to a method for blocking a request to a bus interconnected between a master device and a target device. The method comprises steps of assigning a bus ownership of the target device by an enabling signal on a bus priority signal line; and inhibiting any request from the target device to the bus while blocking any request from the master device to the bus in response to the enabling signal.
In an embodiment, the master device is a central processing unit (CPU), and the target device is a control chip such as a bridge chip.
In an embodiment, the bus is a front side bus, and the bus priority signal line is a BPRI signal line.
A second aspect of the present invention relates to a method for blocking a request to a front side bus interconnected between a central processing unit (CPU) and a control chip. The method includes steps of assigning a bus ownership of the control chip via a bus priority signal line; blocking any request from the CPU to the front side bus when the control chip owns the bus ownership; and inhibiting any request from the control chip to the front side bus when the CPU is blocked from outputting any request to the front side bus.
A third aspect of the present invention relates to a method for avoiding overload of a target device receiving requests from a master device via a bus. The method comprises steps of detecting a request number to be processed by the target device; assigning a bus ownership of the target device by rendering a first status of a bus priority signal line when the request number reaches a threshold value; blocking any request from the master device and generating no request from the target device to the bus in response to the first status of the bus priority signal line; retrieving the bus ownership by rendering a second status of the bus priority signal line; and allowing the master device to output next request to the bus in response to the second status of the bus priority signal line.
In an embodiment, the first status is a low level, and the second status is a high level.
Preferably, the first status of the bus priority signal line is rendered in response to a specific status, e.g. a high level, of a queue threshold signal inside the target device.
The present invention may best be understood through the following description with reference to the accompanying drawings, in which:
The present invention will now be described more specifically with reference to the following embodiments. It is to be noted that the following descriptions of preferred embodiments of this invention are presented herein for purpose of illustration and description only; it is not intended to be exhaustive or to be limited to the precise form disclosed.
In general, a CPU is designed with a unidirectional bus priority signal line, which is for example referred to a BPRI signal line, in order for a control chip to output a timely request to the CPU. The request, for example, may be a snoop of an I/O device or a defer reply. The unidirectional bus priority signal line is provided for preventing from the efficiency reduction of the control chip, resulting from the exclusive occupation of the front side bus by the CPU for a long term.
Another conventional application of the BPRI signal is developed. In this application, the bandwidth of the bus is monitored, and apportioned depending on the use of the devices connected thereto. For example, the ⅚ bandwidth of the bus during a defined period of time is apportioned to the CPU, and the ⅙ bandwidth of the bus is apportioned to the control chip, as shown in
An embodiment of the present invention utilizes such BPRI signal line or any other bus priority signal line to substitute for the BNR signal line to achieve the purpose of preventing from overload of the control chip. Consequently, the disadvantages of the occupation of an exclusive pin by the BNR signal line and the requirement on the additional drive circuit are overcome.
It is to be noted that in the above embodiment, the control chip, in spite of being assigned thereto the bus ownership during Cycles 9–17, does not output any request to the bus. In other words, there will be no request on the bus from Cycle 11 to Cycle 19. By this way, the request from the CPU can be blocked at any proper time points without the presence of the BNR signal line and BNR signal drive circuit.
To sum up, a bus priority signal line such as the BPRI signal line in the computer system is used to assign the bus ownership to the control chip for a defined period of time. During the defined period of time, however, the control chip processes previous requests in the queue thereof rather than outputs its own request. Conclusively, the purpose of the BNR signal line for blocking the request to the bus can be similarly achieved by the BPRI signal line. The pin for the BNR signal line and the BNR signal drive circuit for driving the BNR signal line are omitted, thereby minimizing the occupied chip area, package cost and power consumption of the control chip.
While the invention has been described in terms of what are presently considered to be the most practical and preferred embodiments, it is to be understood that the invention need not be limited to the disclosed embodiment. On the contrary, it is intended to cover various modifications and similar arrangements included within the spirit and scope of the appended claims which are to be accorded with the broadest interpretation so as to encompass all such modifications and similar structures.
Number | Date | Country | Kind |
---|---|---|---|
91116510 A | Jul 2002 | TW | national |
Number | Name | Date | Kind |
---|---|---|---|
4495571 | Staplin, Jr. et al. | Jan 1985 | A |
5740380 | LaBerge et al. | Apr 1998 | A |
6026461 | Baxter et al. | Feb 2000 | A |
6145040 | LaBerge et al. | Nov 2000 | A |
6209052 | Chin et al. | Mar 2001 | B1 |
6292860 | Cochcroft et al. | Sep 2001 | B1 |
6360291 | Tavallaei | Mar 2002 | B1 |
20020038398 | Morrison et al. | Mar 2002 | A1 |
20020147875 | Singh et al. | Oct 2002 | A1 |
20030065844 | Lester et al. | Apr 2003 | A1 |
20030158984 | Stuber et al. | Aug 2003 | A1 |
Number | Date | Country |
---|---|---|
2002-59551 | Sep 2000 | JP |
2001-005775 | Jan 2001 | JP |
Number | Date | Country | |
---|---|---|---|
20040019719 A1 | Jan 2004 | US |