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

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