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

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