-
公开(公告)号:US10514920B2
公开(公告)日:2019-12-24
申请号:US14625124
申请日:2015-02-18
Applicant: VIA TECHNOLOGIES, INC.
Inventor: Rodney E. Hooker , Albert J. Loper , John Michael Greer
IPC: G06F9/30 , G06F9/38 , G06F12/0842 , G06F12/0831 , G06F3/06 , G06F12/0862 , G06F12/084
Abstract: A processor includes a processing core that detects a predetermined program is running on the processor and looks up a prefetch trait associated with the predetermined program running on the processor, wherein the prefetch trait is either exclusive or shared. The processor also includes a hardware data prefetcher that performs hardware prefetches for the predetermined program using the prefetch trait. Alternatively, the processing core loads each of one or more range registers of the processor with a respective address range in response to detecting that the predetermined program is running on the processor. Each of the one or more address ranges has an associated prefetch trait, wherein the prefetch trait is either exclusive or shared. The hardware data prefetcher performs hardware prefetches for the predetermined program using the prefetch traits associated with the address ranges loaded into the range registers.
-
公开(公告)号:US09891916B2
公开(公告)日:2018-02-13
申请号:US14624981
申请日:2015-02-18
Applicant: VIA TECHNOLOGIES, INC.
Inventor: Rodney E. Hooker , Albert J. Loper , John Michael Greer , Meera Ramani-Augustin
IPC: G06F9/30 , G06F12/08 , G06F3/06 , G06F12/0862 , G06F12/0831 , G06F12/0842 , G06F12/084
CPC classification number: G06F9/30047 , G06F3/061 , G06F3/0629 , G06F3/0673 , G06F9/30109 , G06F9/3802 , G06F12/0831 , G06F12/084 , G06F12/0842 , G06F12/0862 , G06F2212/1016 , G06F2212/452 , G06F2212/6022 , G06F2212/6024
Abstract: A hardware data prefetcher is comprised in a memory access agent, wherein the memory access agent is one of a plurality of memory access agents that share a memory. The hardware data prefetcher includes a prefetch trait that is initially either exclusive or shared. The hardware data prefetcher also includes a prefetch module that performs hardware prefetches from a memory block of the shared memory using the prefetch trait. The hardware data prefetcher also includes an update module that performs analysis of accesses to the memory block by the plurality of memory access agents and, based on the analysis, dynamically updates the prefetch trait to either exclusive or shared while the prefetch module performs hardware prefetches from the memory block using the prefetch trait.
-