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

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