摘要 |
<p>Apparatus and methods to adaptively throttle accesses to memory employ a masking tool to specify the percentage of memory bandwidth available for access. The apparatus applies the mask and monitors the number of memory accesses during a throttle-monitoring window. If the number of memory accesses during the throttle-monitoring window exceeds or is fewer than the percentage of memory bandwidth specified by the mask, access to the memory continues until the end of the throttle-monitoring window. At the end of the throttle-monitoring window, the apparatus selects the next lower mask, which has a lower memory bandwidth allocation, applies the next lower mask, and monitors the number of memory accesses during the next throttle-monitoring window. If the number of memory accesses during the throttle-monitoring window is fewer than the percentage of memory bandwidth specified by the mask, at the end of the throttle-monitoring window, the apparatus selects the next higher mask, which has a higher memory bandwidth allocation, applies the next higher mask, and monitors the number of memory accesses during the next throttle-monitoring window. The mask itself comprises a series of ones and zeros indicating clock cycles where access to memory is allowed or disallowed. The pattern of the mask is designed to minimize the number of clock cycles in which memory is blocked. The apparatus and methods reduce the amount of time that memory is blocked in throttle mode, thus allowing real-time streams to proceed without interruption.</p> |