Sei sulla pagina 1di 2

1.

MULT R6 R2 R5 NON SI Può SPOSTARE perché USA R2 PRIMA DELLA SUA MODIFICA IN 2 ANCHE
SE R6 NON è PROBLEMATICO
2. DADD R2 R4 R3 (MODIFICA R2, NON Può ESSERE SPOSTATA)
3. DADD R1 R2 R3 (MODIFICA R1, NON Può ESSERE SPOSTATA)
4. BNEZ R1 OFFSET

(DELAY SLOT)

IN QUESTO CASO NON HO ISTRUZIONI DA INSERIRE NEL DELAY SLOT.

BRANCH A ALL’INDIRIZZO XXXXXXXXX0101 E TARGET ALFA (SUPPONIAMO 24 ENTRATE NEL BUFFER DI


PREDIZIONE), CON UN BIT DI PREDIZIONE

BRANCH B ALL’INDIRIZZO YYYYYYYYYY0101 E TARGET BETA

QUALE BRANCH è STATO ESEGUITO L’ULTIMA VOLTA?

- NESSUNO (NESSUNO DEI DUE è ANCORA STATO ESEGUITO):

NEL BUFFER NON Cè INFORMAZIONE, BRANCH A O BRANCH B LANCERANNO IN AUTOMATICO IL


FETCH DI PC+4

- BRANCH A L’ULTIMA VOLTA HA:


o SALTO PRESO
SCRIVO NEL BUFFER ALFA E 1
LA PROSSIM VOLTA SUPPONIAMO CAPITI BRANCH A SCOMMETERà DI SALTARE E
SALTERà AD ALFA
SE VERIFICA CHE IL SALTO è DA FARE TUTTO, OK (SCRIVERà NUOVAMENTE NEL
BUFFER ALFA E 1) E VA AVANTI ALTRIMENTI ABORTISCE
SE VERIFICA CHE NON DEVE SALTARE (SCRIVERà NEL BUFFER ALFA E 1)
ABORTISCE L’ISTRUZIONE ALL’INDIRIZZO ALFA E PROSEGUE IN PC+4

LA PROSSIM VOLTA SUPPONIAMO CAPITI BRANCH B SI BASERà SULLE PREVISIONI


DELLA TABELLA, MA SCOMMETERà DI SALTARE BASANDOSI SULLE INFORMAZIONI DEL
BRANCH A, MA APPENA ENTRA IN ID, COMPIE LE VALUTAZIONI
ABORTISCE A PRESCINDERE L’ISTRUZIONE AVVIATA IN FETCH, EAGGIORNA IL
BUFFER SCRIVENDO BETA E 0 O 1 A SECONDA DEL SALTO.
SE VERIFICA CHE NON DEVE SALTARE ABORTISCE L’ISTRUZIONE ALL’INDIRIZZO ALFA E
PROSEGUE IN PC+4
o SALTO NON PRESO
SCRIVO NEL BUFFER ALFA E 0
LA PROSSIM VOLTA BRANCH A SCOMMETERà DI NON SALTARE
SE VERIFICA CHE IL SALTO è DA FARE ABORTISCE IN PC+4 E PROSEGUE
ALL’INDIRIZZO
SE VERIFICA CHE NON DEVE SALTARE TUTTO, OK E VA AVANTI ALTRIMENTI
ABORTISCE

ABORTISCE L’ISTRUZIONE ALL’INDIRIZZO ALFA E PROSEGUE IN PC+4

BRANCH B

Potrebbero piacerti anche