Compression of hardware cache coherent addresses
First Claim
1. A cache coherent subsystem of a System-on-Chip (SoC), the SoC associated with a system address space representing all memory locations addressable by the SoC, each system address within the system address space consisting of a first number of address bits representing the entire system address space, the cache coherent subsystem associated with a plurality of predefined coherent-capable memory regions distributed within the system address space, each of the coherent-capable memory regions corresponding to a memory, the subsystem comprising:
- at least one agent that produces a system address within the system address space;
at least one address compression unit comprising hardware logic, the address compression unit configured to accept the system address from the at least one agent; and
the hardware logic configured to map each system address within the plurality of coherent-capable memory regions into a smaller address space that exclusively represents all addresses of the plurality of coherent-capable memory regions,the address compression unit configured to use the hardware logic to;
determine whether the system address is within a memory region of the plurality of coherent-capable memory regions;
in response to determining the system address is within a memory region of the plurality of coherent-capable memory regions, produce a compressed address represented by a second number of address bits, the compressed address consisting of fewer bits than an original system address, andusing the compressed address to access the memory region of the plurality of coherent-capable memory regions.
1 Assignment
0 Petitions
Accused Products
Abstract
Compression of address bits within a cache coherent subsystem of a chip is performed, enabling a cache coherent subsystem to avoid transmitting, storing, and operating upon unnecessary address information. Compression is performed according to any appropriate lossless algorithm, such as discarding of bits or code book lookup. The algorithm may be chosen according to constraints on logic delay and silicon area. An algorithm for minimum area would use a number of bits equal to the rounded up binary logarithm of the sum of all addresses of all memory regions. A configuration tool generates a logic description of the compression algorithm. The algorithm may be chosen automatically by the configuration tool. Decompression may be performed on addresses exiting the coherent subsystem.
4 Citations
16 Claims
-
1. A cache coherent subsystem of a System-on-Chip (SoC), the SoC associated with a system address space representing all memory locations addressable by the SoC, each system address within the system address space consisting of a first number of address bits representing the entire system address space, the cache coherent subsystem associated with a plurality of predefined coherent-capable memory regions distributed within the system address space, each of the coherent-capable memory regions corresponding to a memory, the subsystem comprising:
-
at least one agent that produces a system address within the system address space; at least one address compression unit comprising hardware logic, the address compression unit configured to accept the system address from the at least one agent; and the hardware logic configured to map each system address within the plurality of coherent-capable memory regions into a smaller address space that exclusively represents all addresses of the plurality of coherent-capable memory regions, the address compression unit configured to use the hardware logic to; determine whether the system address is within a memory region of the plurality of coherent-capable memory regions; in response to determining the system address is within a memory region of the plurality of coherent-capable memory regions, produce a compressed address represented by a second number of address bits, the compressed address consisting of fewer bits than an original system address, and using the compressed address to access the memory region of the plurality of coherent-capable memory regions. - View Dependent Claims (2, 3, 4)
-
-
5. A method of creating a hardware logic for compression of a plurality of coherent-capable memory regions distributed through an entire system address space into a packed address space exclusively representing the plurality of coherent-capable memory regions, the method comprising:
-
accepting a specification of a plurality of memory regions; accepting an identification of which of the memory regions are coherent; configuring hardware logic that compresses each address within the plurality of the coherent-capable memory regions into the packed address space that is a smaller address space than the entire system address space using the specification and the identification; and outputting a description of the hardware logic, wherein the hardware logic is configured to; in response to receiving a system address of the entire system address space, determine whether the system address is within a memory region of the plurality of coherent-capable memory regions; in response to determining the system address is within a memory region of the plurality of coherent-capable memory regions, produce a compressed address represented by a second number of address bits, the compressed address consisting of fewer bits than an original system address. - View Dependent Claims (6, 7, 8)
-
-
9. A cache coherent subsystem of a System-on-Chip (SoC), the SoC associated with a system address space representing all memory locations addressable by the SoC, each system address within the system address space consisting of a first number of address bits representing the entire system address space, the cache coherent subsystem associated with at least one predefined coherent-capable memory region distributed within the system address space, the coherent-capable memory region corresponding to a memory, the subsystem comprising:
-
at least one agent that produces a system address within the system address space; at least one address compression unit comprising hardware logic, the address compression unit configured to accept the system address from the at least one agent; and the hardware logic configured to map each system address within the coherent-capable memory region into a smaller address space that exclusively represents all addresses of the coherent-capable memory region, the address compression unit configured to use the hardware logic to; determine whether the system address is within the coherent-capable memory region; in response to determining the system address is within the coherent-capable memory region, produce a compressed address represented by a second number of address bits, the compressed address consisting of fewer bits than an original system address, and using the compressed address to access the coherent-capable memory region. - View Dependent Claims (10, 11, 12)
-
-
13. A method of creating a hardware logic for compression of at least one coherent-capable memory region in an entire system address space into a packed address space exclusively representing the coherent-capable memory region, the method comprising:
-
accepting a specification of a plurality of memory regions; accepting an identification of at least one memory region that is the coherent-capable memory region; configuring hardware logic that compresses each address within the coherent-capable memory region into the packed address space that is a smaller address space than the entire system address space using the specification and the identification; and outputting a description of the hardware logic, wherein the hardware logic is configured to; in response to receiving a system address of the entire system address space, determine whether the system address is within the coherent-capable memory region; in response to determining the system address is within the coherent-capable memory region, produce a compressed address represented by a second number of address bits, the compressed address consisting of fewer bits than an original system address. - View Dependent Claims (14, 15, 16)
-
Specification