CPC G06F 9/3836 (2013.01) [G06F 5/065 (2013.01); G06F 9/30047 (2013.01); G06F 9/3867 (2013.01); G06F 9/546 (2013.01); G06F 12/084 (2013.01); G06F 12/0842 (2013.01); G06F 12/0846 (2013.01); G06F 12/0873 (2013.01); G06F 2212/1021 (2013.01)] | 36 Claims |
1. A memory request tracking circuit for use with a streaming cache memory configured to receive memory requests for data in a memory system and return memory system data in response to the received memory requests, the memory request tracking circuit comprising:
a tag check configured to detect misses of the streaming cache memory;
plural tracking queues each configured to maintain miss traffic in first-in-first-out order; and
a queue mapper coupled to the tag check and the plural tracking queues, the queue mapper being configured to provide plural memory request tracking information entries for miss traffic to the plural tracking queues to enable in-order and out-of-order memory request returns, the queue mapper being configured to distribute a first subset of the plural memory request tracking information entries to the same tracking queue to enable in-order memory request returns for the first subset and to distribute a second subset of the plural memory request tracking information entries across plural tracking queues to enable out-of-order memory request returns for the second subset,
wherein the queue mapper is configured to distribute the out-of-order memory request returns across plural tracking queues to reduce the chance that any individual long-latency access will block a number of other accesses, thereby enabling a consuming ray tracer to make forward progress when individual long-latency accesses occur.
|