ПРЕДСТАВЛЕНИЕ ПЕРЕХОДОВ ЦИКЛА В РЕГИСТРЕ ПРЕДЫСТОРИИ ПЕРЕХОДОВ МНОЖЕСТВА БИТ

1. Способ предсказания перехода, содержащий этапы, на которых:
идентифицируют свойство команды перехода, связанной с циклом, и в ответ на свойство сохраняют многоразрядную величину в регистре предыстории переходов (BHR), причем эта величина указывает число итераций цикла, связанного с командой перехода.
2. Способ по п.1, в котором свойство является направлением перехода.
3. Способ по п.2, в котором переход является обратным.
4. Способ по п.1, в котором команда перехода является командой перехода завершения цикла.
5. Способ по п.4, в котором РС команда перехода соответствует содержимому регистра РС последнего перехода (LBPC), сохраняющего РС команду последнего перехода, чтобы обновить BHR.
6. Способ по п.4, в котором РС команда перехода соответствует содержимому любого из множества регистров LBPC, сохраняющего РС последнего множества команды перехода, чтобы обновить BHR.
7. Способ по п.4, в котором команда перехода является уникальной командой перехода, генерируемой с помощью компилятора для завершения циклов.
8. Способ по п.4, в котором код операции команды перехода включает в себя один или более бит, указывающих, что она является командой перехода завершения цикла.
9. Способ по п.1, в котором сохранение многоразрядной величины в BHR содержит этап, на котором сохраняют предварительно определенное число бит в BHR.
10. Способ по п.9, дополнительно содержащий этап, на котором определяют значение предварительно определенного числа бит в соответствии с фиксированным отображением числа итераций цикла в многоразрядную величину.
11. Способ по п.9, дополнительно содержащий этап, на котором определяют значение предварительно определенного числа бит в соответствии с масштабируемым отображением числа итераций цикла в многоразрядную величину.
12. Способ по п.11, дополнительно содержащий этап, на котором считывают множество порогов для определения масштабируемого отображения числа итераций цикла в многоразрядную величину.
13. Способ по п.1, в котором сохранение многоразрядной величины в BHR содержит этап, на котором сохраняют переменное число бит в BHR, причем число бит изменяется в ответ на число итераций цикла.
14. Способ по п. 13, дополнительно содержащий этап, на котором подсчитывают итерации цикла в младшем значащем множестве бит BHR.
15. Способ по п.13, дополнительно содержащий этап, на котором подсчитывают итерации цикла в счетчике цикла и передают значение счетчика цикла в BHR, когда цикл завершается.
16. Способ по п.1, в котором идентифицикация свойства команды перехода, связанной с циклом, содержит этап, на котором обнаруживают первую команду перехода завершения цикла, связанную с первым циклом, и вторую команду перехода завершения цикла, связанную со вторым циклом, причем первый цикл вложен во второй цикл.
17. Способ по п.16, в котором сохранение многоразрядной величины в BHR содержит этап, на котором сохраняют многоразрядную величину, указывающую число итераций первого цикла, в BHR, и дополнительно содержит этап, на котором сохраняют многоразрядную величину, указывающую число итераций второго цикла, в BHR.
18. Способ по п.16, в котором сохранение многоразрядной величины в BHR содержит этап, на котором сохраняют только многоразрядную величину, указывающую число итераций первого цикла, в BHR.
19. Способ по п.16, в котором сохранение многоразрядной величины в BHR содержит этап, на котором сохраняют только многоразрядную величину, указывающую число итераций второго цикла, в BHR.
20. Процессор, содержащий
устройство предсказания переходов, действующее с возможностью предсказания вычисления команд условного перехода,
конвейер выполнения команд, действующий с возможностью спекулятивного выбора и выполнения команд на основании предсказания из устройства предсказания переходов,
регистр предыстории переходов (BHR), действующий с возможностью сохранения команд условного перехода,
счетчик цикла (LC), действующий с возможностью подсчета числа итераций цикла кода, и
схему управления, действующую с возможностью сохранения в BHR многоразрядной величины, указывающей число итераций цикла, связанного с командой условного перехода.
21. Процессор по п.20, дополнительно содержащий регистр РС последнего перехода (LBPC), действующий с возможностью сохранения РС команды условного перехода, и в котором схема управления определяет команду условного перехода, связанную с циклом, если РС команды перехода соответствует содержимому регистра LBPC.
22. Процессор по п.21, дополнительно содержащий два или более регистров LBPC и соответствующие два или более LC, причем первый LBPC действует с возможностью сохранения РС команды условного перехода, связанной с первым циклом, и при этом первый LC действует с возможностью поддержания подсчета итераций первого цикла, а второй LBPC действует с возможностью сохранения РС команды условного перехода, связанной со вторым циклом, и при этом второй LC действует с возможностью поддержания подсчета итераций второго цикла, причем первый цикл является вложенным во второй цикл.
23. Процессор по п.22, в котором схема управления действует с возможностью сохранения в BHR многоразрядной величины, указывающей число итераций одного выполнения первого цикла, и многоразрядной величины, указывающей число итераций второго цикла.
24. Процессор по п.22, в котором схема управления действует с возможностью сохранения в BHR многоразрядной величины, указывающей число итераций одного выполнения первого цикла, и не сохранения в BHR указания числа итераций второго цикла.
25. Процессор по п.22, в котором схема управления действует с возможностью сохранения в BHR многоразрядной величины, указывающей число итераций второго цикла, и не сохранения в BHR указания числа итераций любого выполнения первого цикла.
26. Процессор по п.20, в котором BHR действует с возможностью увеличения множества бит в ответ на каждое взятое вычисление команды условного перехода, связанной с циклом, таким образом, чтобы поддерживать подсчет итераций цикла непосредственно в BHR.
27. Процессор по п.20, дополнительно содержащий пороговую логику, действующую с возможностью отображения подсчета итераций цикла в фиксированную многоразрядную величину, в ответ на множество пороговых значений.