A processor has pre-cache and post-cache buffers. The pre-cache (or LS1)
buffer stores memory operations which have not yet probed the data cache.
The post-cache (or LS2) buffer stores the memory operations which have
probed the data cache. As a memory operation probes the data cache, it is
moved from the LS1 buffer to the LS2 buffer. Since misses and stores which
have probed the data cache do not reside in the LS1 buffer, the scan logic
for selecting memory operations from the LS1 buffer to probe the data
cache may be simple and low latency, allowing for the load latency to the
data cache for load hits to be relatively low. Furthermore, since the
memory operations which have probed the data cache have been removed from
the LS1 buffer, the simple scan logic may support high performance
features such as allowing hits to proceed under misses, etc. Additionally,
since the LS2 buffer receives memory operations which have probed the data
cache and thus may be waiting for retirement or fill data from memory,
reprobing from the LS2 buffer may be less performance critical than
probing from the LS1 buffer. Accordingly, the LS2 buffer may be made
deeper than the LS1 buffer to queue numerous misses and/or stores. In this
fashion, it may be possible to maximize the use of external bus bandwidth
to service the misses.
Un procesador tiene almacenadores intermediarios del pre-escondrijo y del poste-escondrijo. Las operaciones de memoria de los almacenes de almacenador intermediario del pre-escondrijo (o LS1) que todavía no han sondado el escondrijo de los datos. Los almacenes de almacenador intermediario del poste-escondrijo (o LS2) las operaciones de memoria que han sondado el escondrijo de los datos. Mientras que una operación de memoria sonda el escondrijo de los datos, se mueve desde el almacenador intermediario LS1 al almacenador intermediario LS2. Puesto que la falta y los almacenes que han sondado el escondrijo de los datos no residen en el almacenador intermediario LS1, la lógica de la exploración para seleccionar operaciones de memoria del almacenador intermediario LS1 para sondar el escondrijo de los datos puede ser estado latente simple y bajo, teniendo en cuenta el estado latente de la carga al escondrijo de los datos para que los golpes de la carga sean relativamente baja. Además, puesto que las operaciones de memoria que han sondado el escondrijo de los datos se han quitado del almacenador intermediario LS1, la lógica simple de la exploración puede apoyar características del alto rendimiento tales como permitir que los golpes procedan bajo falta, etc. Además, puesto que el almacenador intermediario LS2 recibe las operaciones de memoria que han sondado el escondrijo de los datos y pueden esperar así el retiro o llenar datos de memoria, el reprobing del almacenador intermediario LS2 puede ser menos funcionamiento crítico que sondando del almacenador intermediario LS1. Por consiguiente, el almacenador intermediario LS2 se puede hacer más profundo que el almacenador intermediario LS1 para hacer cola falta numerosa y/o almacenes. En esta manera, puede ser posible maximizar el uso de la anchura de banda externa del autobús de mantener la falta.