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 and at
the end of the throttle-monitoring window the apparatus selects the next
lower mask for a lower memory bandwidth allocation or selects the next
higher mask for a higher memory bandwidth allocation, respectively.