Claims Analysis
Total Claims: 13
Claim 1
Independent Claim
221 words
A system comprising: a memory accessible with any of a set of real addresses; a plurality of processors, each of the plurality of processors requesting access to the memory by providing virtual addresses from a set of virtual addresses; each of the plurality of processors providing virtual addresses in one of a plurality of address spaces; a bus connected for receiving virtual addresses provided by each of the plurality of processors and for providing any of the set of real addresses to access the memory; each virtual address received by the bus being from the set of virtual addresses; and an address translator for translating virtual addresses provided by each of the plurality of processors to respective real addresses from the set of real addresses, the address translator being connected for receiving virtual addresses provided by each of the plurality of processors from the bus and for providing, for each virtual address, the respective real address on the bus; each virtual address received by the address translator being from the set of virtual addresses; the address translator comprising circuitry for obtaining, for a received virtual address, an address space identifier identifying one of the plurality of address spaces and for using the address space identifier and the received virtual address to obtain a respective real address for the received virtual address.
Claim 2
Independent Claim
221 words
A system comprising: a memory accessible with any of a set of real addresses; a plurality of processors, each of the plurality of processors requesting access to the memory by providing virtual addresses from a set of virtual addresses; each of the plurality of processors providing virtual addresses in one of a plurality of address spaces; a bus connected for receiving virtual addresses provided by each of the plurality of processors and for providing any of the set of real addresses to access the memory; each virtual address received by the bus being from the set of virtual addresses; and an address translator for translating virtual addresses provided by each of the plurality of processors to respective real addresses from the set of real addresses, the address translator being connected for receiving virtual addresses provided by each of the plurality of processors from the bus and for providing, for each virtual address, the respective real address on the bus; each virtual address received by the address translator being from the set of virtual addresses; the address translator comprising circuitry for obtaining, for a received virtual address, an address space identifier identifying one of the plurality of address spaces and for using the address space identifier and the received virtual address to obtain a respective real address for the received virtual address.
Claim 3
Dependent Claim
96 words
The system of claim 1, further comprising, for each of the plurality of processors, a respective cache connected between the processor and the bus; the cache storing respective data for each of a subset of the set of virtual addresses; the cache receiving the virtual address from the processor and providing the respective data in response to the virtual address if the virtual address is in the subset of virtual addresses; the cache further determining whether to provide the virtual address on the bus if the virtual address is not in the subset of virtual addresses.
Claim 4
Dependent Claim
36 words
The system of claim 2 in which the cache further receives the respective real address provided by the address translator from the bus and provides the respective real address on the bus to access the memory.
Claim 5
Independent Claim
316 words
A system comprising: a memory accessible with any of a set of real addresses; a plurality of processors, each of the plurality of processors requesting access to the memory by providing virtual addresses from a set of virtual addresses; each of the processors providing virtual addresses in one of a plurality of address spaces; a bus connected for receiving virtual addresses provided by each of the plurality of processors and for providing any of the set of real addresses to access the memory; each virtual address received by the bus being from the set of virtual addresses; for each of the plurality of processors, a respective cache connected between the processor and the bus; the cache storing respective data for each of a subset of the set of virtual addresses; the cache receiving the virtual address from the processor and providing the respective data in response to the virtual address if the virtual address is in the subset of virtual addresses; the cache further determining whether to provide the virtual address on the bus if the virtual address is not in the subset of virtual addresses; and an address translator for translating virtual addresses provided by the respective cache of each of the plurality of processors to respective real addresses from the set of real addresses, the address translator being connected for receiving virtual addresses provided by the respective cache of each of the plurality of processors from the bus and for providing, for each virtual address, the respective real address on the bus; each virtual address received by the address translator being from the set of virtual addresses; the address translator comprising circuitry for obtaining, for a received virtual address, an address space identifier identifying one of the plurality of address spaces and for using the address space identifier and the received virtual address to obtain a respective real address for the received virtual address.
Claim 6
Independent Claim
316 words
A system comprising: a memory accessible with any of a set of real addresses; a plurality of processors, each of the plurality of processors requesting access to the memory by providing virtual addresses from a set of virtual addresses; each of the processors providing virtual addresses in one of a plurality of address spaces; a bus connected for receiving virtual addresses provided by each of the plurality of processors and for providing any of the set of real addresses to access the memory; each virtual address received by the bus being from the set of virtual addresses; for each of the plurality of processors, a respective cache connected between the processor and the bus; the cache storing respective data for each of a subset of the set of virtual addresses; the cache receiving the virtual address from the processor and providing the respective data in response to the virtual address if the virtual address is in the subset of virtual addresses; the cache further determining whether to provide the virtual address on the bus if the virtual address is not in the subset of virtual addresses; and an address translator for translating virtual addresses provided by the respective cache of each of the plurality of processors to respective real addresses from the set of real addresses, the address translator being connected for receiving virtual addresses provided by the respective cache of each of the plurality of processors from the bus and for providing, for each virtual address, the respective real address on the bus; each virtual address received by the address translator being from the set of virtual addresses; the address translator comprising circuitry for obtaining, for a received virtual address, an address space identifier identifying one of the plurality of address spaces and for using the address space identifier and the received virtual address to obtain a respective real address for the received virtual address.
Claim 7
Independent Claim
300 words
A system comprising: a memory accessible with any of a set of real addresses; a plurality of processors, each of the plurality of processors requesting access to the memory by providing virtual addresses from a set of virtual addresses; each of the plurality of processors providing virtual addresses in one of a plurality of address spaces; a bus connected for receiving virtual addresses provided by each of the plurality of processors and for providing any of the set of real addresses to access the memory; each virtual address received by the bus being from the set of virtual addresses; and an address translator for translating virtual addresses provided by each of the plurality of processors to respective real addresses from the set of real addresses, the address translator being connected for receiving virtual addresses provided by each of the plurality of processors from the bus and for providing, for each virtual address, the respective real address on the bus; each virtual address received by the address translator being from the set of virtual addresses; the address translator comprising circuitry for obtaining, for a received virtual address, an address space identifier identifying one of the plurality of address spaces and for using the address space identifier and the received virtual address to obtain a respective real address for the received virtual address; the memory including a paged area and a map table with a plurality of entries, each map table entry associating a respective one of the set of virtual addresses with a respective one of the set of real addresses that accesses a page in the paged area; the address translator comprising a map cache with a plurality of cache entries, the plurality of cache entries including data indicating information from a subset of the plurality of map table entries.
Claim 8
Independent Claim
300 words
A system comprising: a memory accessible with any of a set of real addresses; a plurality of processors, each of the plurality of processors requesting access to the memory by providing virtual addresses from a set of virtual addresses; each of the plurality of processors providing virtual addresses in one of a plurality of address spaces; a bus connected for receiving virtual addresses provided by each of the plurality of processors and for providing any of the set of real addresses to access the memory; each virtual address received by the bus being from the set of virtual addresses; and an address translator for translating virtual addresses provided by each of the plurality of processors to respective real addresses from the set of real addresses, the address translator being connected for receiving virtual addresses provided by each of the plurality of processors from the bus and for providing, for each virtual address, the respective real address on the bus; each virtual address received by the address translator being from the set of virtual addresses; the address translator comprising circuitry for obtaining, for a received virtual address, an address space identifier identifying one of the plurality of address spaces and for using the address space identifier and the received virtual address to obtain a respective real address for the received virtual address; the memory including a paged area and a map table with a plurality of entries, each map table entry associating a respective one of the set of virtual addresses with a respective one of the set of real addresses that accesses a page in the paged area; the address translator comprising a map cache with a plurality of cache entries, the plurality of cache entries including data indicating information from a subset of the plurality of map table entries.
Claim 9
Dependent Claim
84 words
The system of claim 5 in which each map table entry and each map cache entry further associates the respective virtual address and a respective address space identifier with the respective real address; upon receiving a virtual address from one of the plurality of processors, the circuitry in the address translator obtaining an address space identifier identifying one of the plurality of address spaces and using the address space identifier in translating the virtual address provided by the processor to the respective real address.
Claim 10
Dependent Claim
68 words
The system of claim 5 in which the address translator further provides a signal indicating a map cache miss if a virtual address provided by one of the plurality of processors is not associated with the respective real address by any of the map cache entries; the memory further including software for servicing a map cache miss, the software being executed in response to the map cache miss.
Claim 11
Dependent Claim
35 words
The system of claim 7 in which the one of the plurality of processors that provided the virtual address responds to the map cache miss by executing the software for servicing a map cache miss.
Claim 12
Dependent Claim
35 words
The system of claim 7 in which the software for servicing a map cache miss, when executed, loads an entry including data indicating information from one of the map table entries into the map cache.
Claim 13
Dependent Claim
14 words
The system of claim 9 in which the map cache is a pure cache.