СПОСОБЫ И УСТРОЙСТВА ДЛЯ ПРОАКТИВНОГО УПРАВЛЕНИЯ КЭШЕМ АДРЕСОВ ВЕТВЛЕНИЙ

1. Система многостадийного прогнозирования ветвлений, содержащая
кэш адресов ветвлений (BTAC), выполненный с возможностью сохранять запись BTAC; и
схему модуля прогнозирования ветвлений, выполненную с возможностью сохранять информацию состояния, причем схема модуля прогнозирования ветвлений выполнена с возможностью использовать информацию состояния, прогнозируя направление инструкции ветвления, причем схема модуля прогнозирования ветвлений выполнена с возможностью управлять записью BTAC на основе информации состояния в ответ на фактическое разрешение инструкции ветвления.
2. Система по п.1, в которой схема модуля прогнозирования ветвлений выполнена с возможностью удалять запись BTAC из BTAC.
3. Система по п.1, в которой схема модуля прогнозирования ветвлений выполнена с возможностью поддерживать запись BTAC в BTAC в течение большего периода времени.
4. Система по п.1, в которой BTAC выполнен с возможностью поддерживать сохраненной одну или более записей в порядке замены, и в которой схема модуля прогнозирования ветвлений выполнена с возможностью модифицировать позицию записи BTAC в порядке замены.
5. Система по п.4, в которой схема модуля прогнозирования ветвлений выполнена с возможностью модифицировать позицию записи BTAC на более высокую в порядке замены, чем ее текущая позиция, чтобы повышать вероятность замены записи BTAC.
6. Система по п.1, дополнительно содержащая указатель замены, при этом BTAC использует политику замены модифицированного циклического алгоритма и при этом схема модуля прогнозирования ветвлений выполнена с возможностью модифицировать указатель замены так, чтобы указывать на запись BTAC.
7. Система по п.1, размещенная в процессоре.
8. Способ управления кэшем адресов ветвлений (BTAC), содержащий этапы, на которых
принимают направление ветвления традиционной инструкции ветвления, которое фактически разрешено;
оценивают информацию состояния схемы модуля прогнозирования ветвления в ответ на принятое направление ветвления; и
управляют записью в BTAC, связанной с инструкцией условного ветвления, согласно информации состояния схемы модуля прогнозирования ветвлений.
9. Способ по п.8, в котором управление записью в BTAC содержит этап, на котором удаляют запись из BTAC.
10. Способ по п.8, в котором управление записью в BTAC содержит этап, на котором сохраняют запись BTAC в BTAC в течение большего периода времени.
11. Способ по п.8, дополнительно содержащий этап, на котором поддерживают записи сохраненными в BTAC в порядке замены, при этом управление записью в BTAC содержит этап, на котором модифицируют позицию записи BTAC в порядке замены.
12. Способ по п.11, в котором модификация позиции записи BTAC содержит этап, на котором модифицируют указатель замены так, чтобы указывать на запись BTAC.
13. Способ уменьшения вероятности нескольких циклов очистки конвейера, содержащий этапы, на которых
неявно прогнозируют первое направление для инструкции условного ветвления;
прогнозируют второе направление для инструкции условного ветвления на основе информации состояния;
управляют записью кэша адресов ветвлений (BTAC), связанной с инструкцией условного ветвления, в ответ на конфликт между первым направлением и вторым направлением.
14. Способ по п.13, в котором использование информации состояния для управления BTAC содержит удаление записи BTAC из BTAC.
15. Способ по п.13, в котором использование информации состояния для управления BTAC содержит поддержание записи BTAC в BTAC в течение большего периода времени.
16. Способ по п.13, дополнительно содержащий этап, на котором поддерживают одну или более записей сохраненными в BTAC в порядке замены, при этом использование информации состояния для управления BTAC содержит модификацию позиции записи BTAC в порядке замены.
17. Способ по п.16, в котором модификация позиции записи BTAC содержит модификацию указателя замены так, чтобы указывать на запись BTAC.