IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0720755
(2012-12-19)
|
등록번호 |
US-9348762
(2016-05-24)
|
발명자
/ 주소 |
- Fahs, Brian
- Anderson, Eric T.
- Barrow-Williams, Nick
- Gadre, Shirish
- McCormack, Joel James
- Nordquist, Bryon S.
- Saxena, Nirmal Raj
- Shah, Lacky V.
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
0 인용 특허 :
6 |
초록
▼
A tag unit configured to manage a cache unit includes a coalescer that implements a set hashing function. The set hashing function maps a virtual address to a particular content-addressable memory unit (CAM). The coalescer implements the set hashing function by splitting the virtual address into upp
A tag unit configured to manage a cache unit includes a coalescer that implements a set hashing function. The set hashing function maps a virtual address to a particular content-addressable memory unit (CAM). The coalescer implements the set hashing function by splitting the virtual address into upper, middle, and lower portions. The upper portion is further divided into even-indexed bits and odd-indexed bits. The even-indexed bits are reduced to a single bit using a XOR tree, and the odd-indexed are reduced in like fashion. Those single bits are combined with the middle portion of the virtual address to provide a CAM number that identifies a particular CAM. The identified CAM is queried to determine the presence of a tag portion of the virtual address, indicating a cache hit or cache miss.
대표청구항
▼
1. A computer-implemented method for accessing a memory module within a plurality of memory modules, the method comprising: parsing a virtual address into a first portion, a second portion, and a third portion;parsing the first portion into even-indexed bits and odd-indexed bits, wherein each of the
1. A computer-implemented method for accessing a memory module within a plurality of memory modules, the method comprising: parsing a virtual address into a first portion, a second portion, and a third portion;parsing the first portion into even-indexed bits and odd-indexed bits, wherein each of the even-indexed bits has a different even-numbered index within the virtual address and each of the odd-indexed bits has a different odd-numbered index within the virtual address;reducing the even-indexed bits to a first bit;reducing the odd-indexed bits to a second bit; andgenerating a memory module number by combining the first bit and the second bit with the second portion, wherein the memory module number identifies the memory module within the plurality of memory modules. 2. The computer-implemented method of claim 1, wherein the first portion includes one or more most significant bits of the virtual address, and the third portion includes one or more least significant bits of the virtual address. 3. The computer-implemented method of claim 1, wherein reducing the even-indexed bits to the first bit comprises processing the even-indexed bits via a first XOR tree, and wherein reducing the odd-indexed bits to the second bit comprises processing the odd-indexed bits via a second XOR tree. 4. The computer-implemented method of claim 1, wherein the second portion includes two bits, and combining the first bit and the second bit with the second portion comprises: concatenating the first bit with the second bit to generate a bit string; andperforming a two-bit add between the bit string and the second portion to generate the memory module index. 5. The computer-implemented method of claim 1, wherein the memory module comprises a content-addressable memory unit (CAM) configured to store tag portions of virtual addresses and slot numbers associated with a cache memory unit. 6. The computer-implemented method of claim 5, further comprising: querying the memory module with a tag portion of the virtual address;determining that the tag portion of the virtual address is present within the memory module;extracting a slot number from the cache memory unit that reflects a location within the cache memory unit where data associated with the virtual address resides; andreading the data associated with the virtual address based on the slot number. 7. The computer-implemented method of claim 5, further comprising: querying the memory module with a tag portion of the virtual address;determining that the tag portion of the virtual address is not present within the memory module;performing a virtual to physical address translation with the virtual address to generate a physical address;reading data associated with the virtual address from a physical location associated with the physical address. 8. The computer-implemented method of claim 7, further comprising updating the cache memory unit to include data associated with the virtual address that was read from the physical location associated with the physical address. 9. A system, comprising: a graphics processing cluster that includes a texture unit that is configured to: parse a virtual address into at least a first portion and a second portion;parse the first portion into even-indexed bits and odd-indexed bits, wherein each of the even-indexed bits has a different even-numbered index within the virtual address and each of the odd-indexed bits has a different odd-numbered index within the virtual address;reduce the even-indexed bits to a first bit;reduce the odd-indexed bits to a second bit; andgenerate a memory module number by combining the first bit and the second bit with the second portion, wherein the memory module number identifies the memory module within the plurality of memory modules. 10. The system of claim 9, wherein the first portion includes one or more most significant bits of the virtual address. 11. The system of claim 9, wherein the texture unit is further configured to reduce the even-indexed bits to the first bit by processing the even-indexed bits via a first XOR tree, and to reduce the odd-indexed bits to the second bit by processing the odd-indexed bits via a second XOR tree. 12. The system of claim 9, wherein the second portion includes two bits, and the texture unit is further configured to combine the first bit and the second bit with the second portion by: concatenating the first bit with the second bit to generate a bit string; andperforming a two-bit add between the bit string and the second portion to generate the memory module index. 13. The system of claim 9, wherein the memory module comprises a content-addressable memory unit (CAM) configured to store tag portions of virtual addresses and slot numbers associated with a cache memory unit. 14. The system of claim 13, wherein the texture unit is further configured to: query the memory module with a tag portion of the virtual address;determine that the tag portion of the virtual address is present within the memory module;extract a slot number from the cache memory unit that reflects a location within the cache memory unit where data associated with the virtual address resides; andread the data associated with the virtual address based on the slot number. 15. The system of claim 13, wherein the texture unit is further configured to: query the memory module with a tag portion of the virtual address;determine that the tag portion of the virtual address is not present within the memory module;perform a virtual to physical address translation with the virtual address to generate a physical address;reading data associated with the virtual address from a physical location associated with the physical address. 16. The system of claim 15, wherein the texture unit is further configured to update the cache memory unit to include data associated with the virtual address that was read from the physical location associated with the physical address. 17. A computing device, comprising: a memory; anda processor that is coupled to the memory and includes at least one texture unit configured to: parse a virtual address into a first portion and a second portion;parse the first portion into even-indexed bits and odd-indexed bits;reduce the even-indexed bits to a first bit;reduce the odd-indexed bits to a second bit; andgenerate a memory module number by combining the first bit and the second bit with the second portion, wherein the memory module number identifies the memory module within the plurality of memory modules. 18. The computing device of claim 17, wherein the texture unit is configured to reduce the even-indexed bits to the first bit by processing the even-indexed bits via a first XOR tree and reduce the odd-indexed bits to the second bit by processing the odd-indexed bits via a second XOR tree. 19. The computing device of claim 17, wherein the second portion includes two bits, and the texture unit is configured to combine the first bit and the second bit with the second portion by: concatenating the first bit with the second bit to generate a bit string; andperforming a two-bit add between the bit string and the second portion to generate the memory module index.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.