Norwegian University of Science and Technology
The performance of general purpose microprocessors continues to increase at a rapid pace, but main memory has not been able to keep up. In essence, the processor is able to process several orders of magnitude more data than main memory is able to deliver on time. Numerous techniques have been developed to tolerate or compensate for this gap, including out-of-order execution, caches, prefetching and bypassing. By utilizing prefetching, data that has not been referenced before can be inserted into the cache by analyzing the behavior of the program and anticipating what data is needed in the future.