A line predictor is configured to speculatively fetch instructions following a branch instruction. The line predictor stores a plurality of lines that each contain instruction line information. Each line stored by the line predictor includes a fetch address, information regarding one or more instructions, and one or more next fetch addresses. In response to receiving a fetch address, the line predictor is configured to provide instruction line information corresponding to the one or more instructions located at the fetch address to an alignment unit. The line predictor is also configured to provide a next fetch address associated with the fetch address to an instruction cache for speculative fetching and to a branch prediction unit for a branch prediction. The next fetch address is further fed back into the line predictor to generate the instruction line information associated with it and a subsequent next fetch address. A next fetch address may be the sequential address following the last instruction associated with the instruction line information of the fetch address. If an instruction within the instruction line information of the fetch address is a branch instruction, however, the next fetch address may be the target address of the branch instruction. The branch prediction unit is configured to generate a branch prediction in response to receiving a next fetch address if a branch instruction is detected in the instruction line information of the next fetch address. The branch prediction is then compared to a subsequent next fetch address. If the branch prediction differs from a subsequent next fetch address, operations that were initiated using the subsequent next fetch address are canceled, the subsequent next fetch address is updated in the line predictor, and the updated subsequent next fetch address is refetched.

Una linea preannunciatore è configurata per prendere speculativo le istruzioni dopo un'istruzione di ramo. La linea preannunciatore memorizza una pluralità di linee che ciascuno contiene la linea di istruzione le informazioni. Ogni linea immagazzinata dalla linea preannunciatore include un indirizzo di prend, le informazioni per quanto riguarda una o più istruzioni ed uno o più seguenti prendono gli indirizzi. In risposta a ricevere un indirizzo di prend, la linea preannunciatore è configurata per fornire la linea di istruzione le informazioni che corrispondono alle una o più istruzioni situate all'indirizzo di prend ad un'unità di allineamento. La linea preannunciatore inoltre è configurata per fornire un seguente prende l'indirizzo connesso con l'indirizzo di prend ad un nascondiglio di istruzione per prendere speculativo e ad un'unità di previsione del ramo per una previsione del ramo. Il seguenti prendono l'indirizzo più ulteriormente sono retroagiti nella linea preannunciatore per generare la linea di istruzione le informazioni connesse con esso e un seguente successivo prende l'indirizzo. Un seguente prende l'indirizzo può essere l'indirizzo sequenziale dopo l'ultima istruzione connessa con la linea di istruzione le informazioni dell'indirizzo di prend. Se un'istruzione all'interno della linea di istruzione le informazioni dell'indirizzo di prend è un'istruzione di ramo, tuttavia, il seguente prenda l'indirizzo può essere l'indirizzo dell'obiettivo dell'istruzione di ramo. L'unità di previsione del ramo è configurata per generare una previsione del ramo in risposta a ricevere un seguente prende l'indirizzo se un'istruzione di ramo è rilevata nella linea di istruzione le informazioni del seguente prende l'indirizzo. La previsione del ramo allora è confrontata ad un seguente successivo prende l'indirizzo. Se la previsione del ramo differisce da da un seguente successivo prenda l'indirizzo, funzionamenti che sono stati iniziati usando il seguente successivo prendono l'indirizzo sono annullati, il seguenti successivi prendono l'indirizzo sono aggiornati nella linea preannunciatore ed il seguenti successivi aggiornati prendono l'indirizzo sono refetched.

 
Web www.patentalert.com

< (none)

< Restoring checkpointed processes including adjusting environment variables of the processes

> Tire slip control device

> (none)

~ 00023