Bus control device allowing resources to be occupied for...

Electrical computers and digital data processing systems: input/ – Intrasystem connection – Bus access regulation

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S112000, C710S113000, C710S200000

Reexamination Certificate

active

06697899

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a bus control device, and in particular, to a bus control device for effecting control such that particular resources are occupied for exclusive accesses.
2. Description of Related Art
In a multiprocessor system, a processor may exclusively access a particular resource such as an I/O device. In this case, to prohibit the other processors from accessing this particular resource, a corresponding lock variable (also referred to as a “lock word”) is locked; the lock variable is unlocked after an exclusive access has been completed.
Referring to
FIG. 8
, when a processor A reads out a lock variable corresponding to an I/O device which it is to access (step S
801
), and judges that the lock variable is unlocked (step S
802
), it locks the variable (step S
803
) Subsequently, the processor A accesses this I/O device (step S
804
), and after completing the final access (step S
805
), it unlocks the variable again (step S
806
).
On the other hand, if a processor B attempts to access the same I/O device, it first reads out the lock variable (step S
811
), but if the variable is already locked by the processor A, it waits for the variable to be unlocked. When the processor A unlocks the variable (step S
806
), the processor B then locks the variable (step S
813
). Subsequently, the processor B accesses this I/O device (step S
814
), and after completing the final access (step S
815
), it unlocks the variable again (step S
816
). In this manner, the lock function ensures exclusive accesses to resources such as I/O devices.
With the above described conventional technique, however, if a lock variable is present in a cache memory, a change in lock variable is completed between the processor and the cache memory. This operation is fast, but since I/O accesses are uncachable, that is, these accesses are made via a system bus without the use of the cache memory, the lock operation and the I/O access may be mutually reversed as described below. The cachable access using the cache memory and the uncachable access without the use of the cache memory are mutually separated using, for example, the attribute of each page or specifications in fields in the request.
Referring to
FIG. 9
, the final I/O access (
901
), which was issued by the processor A and then transferred to a bus control device A (
902
), has not been issued to a system bus
400
. Due to the issue completion of the final I/O access, the processor A unlocks the lock variable, but the lock variable is actually present in its own cache memory. Therefore, the lock variable is accessed by accessing the cache memory (
909
). On the other hand, when the processor B requests the lock variable to be read out (
911
), a bus control device B issues this request to the system bus
400
(
912
) Since this read-out request hits the cache memory of the processor A, the bus control device A issues a read-out request to the processor A (
913
), which then returns read-out data including the lock variable to the system bus
400
via the bus control device A (
914
). A path used by the bus control device A to issue the I/O access to the system bus
400
differs from a path used by the same to return the read-out data to the system bus
400
, so that the read-out data including the lock variable may be returned to the system bus before the above I/O access is issued to the system bus. The data including the lock variable is returned to the processor B via the bus control device B (
915
), thereby allowing the processor B to confirm that the lock variable is unlocked. After locking the lock variable (
916
), the processor B issues the first I/O access to the processor B (
921
), and the bus control device B issues the first I/O access of the processor B to the system bus
400
(
922
). Subsequently, when the bus control device A issues the I/O access of the processor A (
902
) to the system bus
400
, the previously executed I/O access is temporally overtaken by the subsequently executed I/O access. If the previously executed I/O access is a write access and the subsequently executed I/O access is a read access, then old data, which is not updated by the previously executed I/O write access, is read out, resulting in data inconsistency.
SUMMARY OF THE INVENTION
It is an object of the present invention to solve the above-described problem to ensure exclusive accesses to particular resources.
A bus control device according to the present invention operates when a predetermined read-out request is issued on a bus, to command the read-out request to be retried if a predetermined write from a higher device has not been completed.
In addition, the bus control device according to the present invention is connected between a higher device and a bus, and includes a request buffer that holds a request issued from the higher device, and a retry control circuit operating when a predetermined read-out request is issued on the bus, to command the read-out request to be retried if the request held in the request buffer has been obtained through a predetermined write.
Additionally, an information processing system according to the present invention includes a higher device, a bus, and a bus control device connected between the higher device and the bus, wherein the bus control device includes a request buffer that holds a request issued from the higher device and a retry control circuit operating when a predetermined read-out request is issued on the bus, to command the read-out request to be retried if the request held in the request buffer has been obtained through a predetermined write.


REFERENCES:
patent: 5649157 (1997-07-01), Williams
patent: 5659708 (1997-08-01), Arimilli et al.
patent: 5870567 (1999-02-01), Hausauer et al.
patent: 5890217 (1999-03-01), Kabemoto et al.
patent: 6105094 (2000-08-01), Lindeman
patent: 6175888 (2001-01-01), Guthrie et al.
patent: 6209067 (2001-03-01), Collins et al.
patent: 6247102 (2001-06-01), Chin et al.
patent: 6374332 (2002-04-01), Mackenthun et al.
patent: 6442656 (2002-08-01), Alasti et al.
patent: A 59-191186 (1984-10-01), None
patent: A 3-164963 (1991-07-01), None
patent: A 3-232051 (1991-10-01), None
patent: A 3-271859 (1991-12-01), None
patent: A 4-140860 (1992-05-01), None
patent: A 4-157543 (1992-05-01), None
patent: A 4-163658 (1992-06-01), None
patent: A 5-53912 (1993-03-01), None
patent: A 6-187230 (1994-07-01), None
patent: A 7-44459 (1995-02-01), None
patent: A 7-287686 (1995-10-01), None
patent: A 8-286968 (1996-11-01), None
patent: A 9-138779 (1997-05-01), None
patent: A 10-232832 (1998-09-01), None
patent: A 10-293718 (1998-11-01), None
Freerksen et al. (US Pub No. 2002/0035675).

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Bus control device allowing resources to be occupied for... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Bus control device allowing resources to be occupied for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Bus control device allowing resources to be occupied for... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3338825

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.