Όπως μπορείτε να δείτε στη main, κάθε διάβσμα του trace file δημιουργεί
μια δομή trace η οποία περιέχει τη δομή branch_info, το αποτέλεσμα και τον προορισμό του κάθε branch (όπως όρίζεται στο trace.h). Η δομή branch_info είναι αυτή που δίνεται μετά σαν όρισμα στον predictor για να κάνει την πρόβλεψη.
Το αν το branch είναι forward ή backward μπορείτε να το υπολογίσετε από το target και το PC του και να χρησιμοποιήσετε την πληροφορία αυτή μετά στον predictor.
K.
Herc wrote:
Tο BΤFNT προβλέπει taken αν το άλμα είναι προς τα πίσω, και not taken αν το άλμα είναι προς τα εμπρός. Όμως σε εμάς μας δίνεται στο branch_info μόνο το branch_address (PC), το opcode και το br_flags, χωρίς πληροφορία για το offset. Πως θα βρούμε αν το άλμα είναι προς τα εμπρός ή προς τα πίσω?