A method of operating a multi-level
memory hierarchy of a computer
system and apparatus embodying the method, wherein instructions issue having an explicit prefetch request directly from an
instruction sequence unit to a prefetch unit of the
processing unit. The invention applies to values that are either
operand data or instructions. These prefetch requests can be
demand load requests, where the
processing unit will need the
operand data or instructions, or speculative load requests, where the
processing unit may or may not need the
operand data or instructions, but a
branch prediction or
stream association predicts that they might be needed. Further
branch predictions or
stream associations that were made based on an earlier speculative choice are linked by using a tag
pool which assigns a bit fields in the tag
pool entries to the level of speculation depth. Each entry shares in common the
bit field values associated with earlier branches or
stream associations. When a
branch or stream predicted entry is no longer needed, that entry can be cancelled and all entries that were to be loaded dependent on that entry can likewise be cancelled by walking through all entries sharing the bit fields corresponding to the speculation depth of the cancelled entry and tagging those entries as invalid.