Claims
- 1. A system comprising:
a bus macro; a plurality of snooping masters operable coupled to the bus macro; a memory operable positioned in each of said plurality of snooping masters; logic located in each snooping masters, said logic being operable to generate in at least one of said snooping masters a snoop request which is sent through the bus to non-originating snooping masters; a snoop filtering device, operable positioned in at least one of the snooping masters, to determine if data associated with the snoop request could ever be in the at least one of the snooping masters.
- 2. The system of claim 1 further including said at least one of the snooping masters returning an Immediate Response to the originating snooping masters without searching any of its resources if the snoop filtering device indicates data associated with the snoop request is not in said at least one of the snooping masters.
- 3. The system of claim 2 further including the at least one of the snooping masters searching its resources, if the snoop filtering device indicates otherwise; and
returning the data to the requesting snooping master if the at least one of the snooping masters has the data marked updated.
- 4. The system of claim 1 wherein the Bus Macro further includes source control logic and a slave control logic interface.
- 5. The system of claim 4 further including a main memory operatively coupled to the slave control logic interface; and I/O device operatively coupled to the slave logic interface.
- 6. The system of claim I wherein the snooping masters include at least one processor.
- 7. The system of claim 6 wherein the snoop filtering device includes a register with at least one bit associated with a predefined snooping master and designated to be used as a flag to indicate likelihood of data requested by said predefined snooping master is in said at least one of the snooping masters.
- 8. The system of claim 7 wherein a setting of the flag bit to a logical “1” indicates likelihood that requested data is in said at least one snooping master, causes said at least one snooping masters to search its resources and forward the requested data if present in it and marked updated.
- 9. The system of claim 7 wherein a setting of the flag bit to logical “0” causes the at least one snooping masters to return to a requester an Immediate Response of not having requested data without searching its resources.
- 10. The system of claim 6 wherein the filtering device includes a storage in which an address range is written, said address range indicating addresses over which said at least one snooping masters can store data, and a program to correlate stored address range with address in a snooping request and issuing a response of not having requested data if the address in the snooping request falls outside of the address range.
- 11. A snooping master comprising:
a memory; and a snoop filtering device responsive to a snoop request to cause said snoop master to issue a not having requested data without searching said memory if said snoop filtering device determines data requested in said snoop request can never be found in said memory.
- 12. The invention of claim 11 wherein said snooping master searches said memory for requested data if said snoop filtering device indicates otherwise.
- 13. The invention of claim 12 wherein said snooping master forwards data if requested data is found in the memory and marked updated.
- 14. A method for snooping memories of snooping masters coupled to a Bus Macro including acts of:
receiving in at least one of said snooping masters a snoop request; examining said snoop request with a filtering device provided in said at least one of said snooping masters; generating a response of not having requested data without searching resources in said at least one of said snooping master, if examination of said snoop request indicates requested data could not possibly be contained in said at least one of said snooping masters.
- 15. The method of claim 14 further including the acts of if examination of said snoop request indicates otherwise, searching resources within said at least one of said snooping master; and
forwarding requested data if found and marked updated.
- 16. The method of claim 14 further including acts of:
generating the snoop request in another one of said snooping masters; and transmitting said snoop request on a bus interconnecting said another one of said snooping masters and the at least one of said snooping masters.
- 17. A program product including a medium on which a computer program is recorded, said computer program including a first set of instructions for searching a memory;
a second set of instructions that correlates an address in a snoop request with a predefined address range and issuing signals indicating relationship of the address in the snoop request and the address range; and third set of instructions responsive to the signals to generate a not having requested data response without searching said memory if the signals indicate the snoop address is not within the address range.
- 18. The program product of claim 17 further including a fourth set of instructions responsive to the signals to cause said first set of instructions to search the memory, if the snoop address falls within the address range and forwarding the requested data if found and marked updated.
- 19. A program product including a medium on which a computer program is recorded, said computer program including a first set of instructions for searching a memory;
a second set of instructions that correlates selected characteristics in a snoop request with predefined characteristics of a snooping master and issuing signals indicating relationship of the selected characteristics and the predefined characteristic; and third set of instructions responsive to the signals to generate a not having requested data response without searching said memory if the signals indicate the selected characteristics are not related.
CROSS REFERENCE TO RELATED PATENT APPLICATIONS
[0001] The present invention is a Continuation-In-Part of U.S. patent application Ser. No. 10/393116 filed Mar. 20, 2003, entitled “Targeted Snooping” by James N. Dieffenderfer, et al., assigned to the assignee of the present invention and incorporated herein by reference.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10393116 |
Mar 2003 |
US |
Child |
10442485 |
May 2003 |
US |