A processor includes an instruction cache and a predecode cache which is not actively maintained coherent with the instruction cache. The processor fetches instruction bytes from the instruction cache and predecode information from the predecode cache. Instructions are provided to a plurality of decode units based on the predecode information, and the decode units decode the instructions and verify that the predecode information corresponds to the instructions. More particularly, each decode unit may verify that a valid instruction was decoded, and that the instruction succeeds a preceding instruction decoded by another decode unit. Additionally, other units involved in the instruction processing pipeline stages prior to decode may verify portions of the predecode information. If the predecode information does not correspond to the fetched instructions, the predecode information may be corrected (either by predecoding the instruction bytes or by updating the predecode information, if the update may be determined without predecoding the instruction bytes). In one particular embodiment, the predecode cache may be a line predictor which stores instruction pointers indexed by a portion of the fetch address. The line predictor may thus experience address aliasing, and predecode information may therefore not correspond to the instruction bytes. However, power may be conserved by not storing and comparing the entire fetch address.

Een bewerker omvat een instructiegeheim voorgeheugen en een predecodegeheim voorgeheugen dat niet actief coherent met het instructiegeheime voorgeheugen wordt gehandhaafd. De bewerker haalt instructiebytes van het de instructiegeheime voorgeheugen en predecode informatie van het predecodegeheime voorgeheugen. De instructies worden aan een meerderheid van decoderen eenheden verstrekt die op de predecodeinformatie worden gebaseerd, en decodeer eenheden decoderen de instructies en verifiëren dat de predecodeinformatie aan de instructies beantwoordt. Meer in het bijzonder, decodeert elk eenheid kan verifiëren dat een geldige instructie werd gedecodeerd, en dat de instructie een voorafgaande instructie slaagt die door een andere wordt gedecodeerd decodeert eenheid. Bovendien, decoderen andere eenheden betrokken bij de de pijpleidingsstadia van de instructieverwerking voorafgaand aan kunnen gedeelten van de predecodeinformatie verifiëren. Als de predecodeinformatie niet aan de gehaalde instructies beantwoordt, kan de predecodeinformatie worden verbeterd (of door de instructiebytes of predecoding door de predecodeinformatie bij te werken, als de update kan worden bepaald zonder de instructiebytes) predecoding. In één bijzondere belichaming, kan het predecodegeheime voorgeheugen een lijnvoorspeller zijn wat instructiewijzers opslaat die door een gedeelte van het haaladres worden geïndexeerd. De lijnvoorspeller kan adresaliasing zo ervaren, en predecode kan de informatie daarom niet aan de instructiebytes beantwoorden. Nochtans, kan de macht worden behouden door niet het volledige haaladres op te slaan en te vergelijken.

 
Web www.patentalert.com

< (none)

< Method and apparatus for round-trip software engineering

> Digital signal processing device

> (none)

~ 00056