摘要 |
<p>This invention relates to enhanced cache performance when using pre-fetch. If pre-fetch is enabled, a single merged request to memory is done comprising the data for both the cache line fill and the pre-fetch. When the cache has consumed the data corresponding to the cache line fill, it will request the data corresponding to the pre-fetch. However, this data has already been retrieved from the memory. In this way, a simple, reliable and efficient way of enhancing a cache operation is obtained since the second pre-fetch request (forth denoted second cache line fill) will only take the pure access time to the external memory as it is done as part of the same request as the first pre-fetch request (forth denoted first cache line fill). The internal delays and the setup time to the external memory for the second time are saved. Furthermore, high-speed memory close to the processor is not needed or can be reduced in size as it can be replaced partly or completely with external (to the processor) memory that can be slower and thereby cheaper without significant disadvantages of performance. Furthermore, the issues of using a pre-fetch function together with memory, and especially off-chip memory with a larger setup time, are effectively alleviated. Furthermore, on the average the cost for a cache line fill is reduced whereby the performance is enhanced, especially for control type of code where the instruction cache overhead can be significant. Additionally, on the average the external memory is occupied less cycles giving a reduction in occupied time, which is very important since the bandwidth to the off-chip memory is a scarce resource.</p> |