A microprocessor capable of caching victimized branch prediction
information is disclosed. Branch prediction information is generated as
branch instructions are executed over time. This prediction information is
stored in a branch target buffer. The storage locations within the branch
target buffer correspond to cache line locations within the
microprocessor's instructions cache. Instead of discarding branch
prediction information corresponding to instructions that are replaced or
discarded from the instruction cache, the branch prediction information is
stored in a victim branch prediction cache. Address information may also
be stored to identify which instructions the prediction information
corresponds to. The microprocessor's instruction cache is configured to
receive and store instruction bytes, and the branch target array is
coupled to the instruction cache and configured to store branch target
information corresponding to the stored instruction bytes. The branch
target array is configured to output the stored branch target information
to the victim branch prediction cache when the corresponding instruction
bytes are no longer stored in the instruction cache. The victim branch
prediction cache may be located within the microprocessor, in an external
level two cache, or in a separate stand alone memory. Different schemes
for generating the branch prediction information may be used. A computer
system and method for caching victimized branch prediction information are
also disclosed.
Een microprocessor geschikt om de tot slachtoffer gemaakte informatie van de takvoorspelling in het voorgeheugen onder te brengen wordt onthuld. De de voorspellingsinformatie wordt van de tak geproduceerd aangezien de takinstructies in tijd worden uitgevoerd. Deze voorspellingsinformatie wordt opgeslagen in een buffer van het takdoel. De opslagplaatsen binnen de buffer van het takdoel beantwoorden aan de plaatsen van de geheim voorgeheugenlijn binnen het de instructiesgeheime voorgeheugen van de microprocessor. In plaats van het verwerpen van de informatie die van de takvoorspelling aan instructies beantwoordt die worden vervangen of van het instructiegeheime voorgeheugen verworpen, wordt de informatie van de takvoorspelling opgeslagen in een de voorspellingsgeheim voorgeheugen van de slachtoffertak. De informatie van het adres kan ook worden opgeslagen om te identificeren welke instructies de voorspellingsinformatie aan beantwoordt. Het de instructiegeheime voorgeheugen wordt van de microprocessor gevormd om instructiebytes te ontvangen en op te slaan, en de serie van het takdoel wordt gevormd gekoppeld aan het instructiegeheime voorgeheugen en om de informatie die van het takdoel op te slaan aan de opgeslagen instructiebytes beantwoordt. De serie van het takdoel wordt gevormd aan output de opgeslagen informatie van het takdoel aan het de voorspellingsgeheime voorgeheugen van de slachtoffertak wanneer de overeenkomstige instructiebytes niet meer in het instructiegeheime voorgeheugen worden opgeslagen. Het de voorspellingsgeheime voorgeheugen van de slachtoffertak kan binnen de microprocessor worden gevestigd, in een extern niveau twee breng, of in een afzonderlijk tribune alleen geheugen in het voorgeheugen onder. De verschillende regelingen voor het produceren van de informatie van de takvoorspelling kunnen worden gebruikt. Een computersysteem en een methode om de tot slachtoffer gemaakte informatie van de takvoorspelling in het voorgeheugen onder te brengen worden ook onthuld.