One embodiment of the present invention provides a method and an apparatus
for predicting the target of a branch instruction. This method and
apparatus operate by using a translation lookaside buffer (TLB) to store
page numbers for predicted branch target addresses. In this embodiment, a
branch target address table stores a small index to a location in the
translation lookaside buffer, and this index is used retrieve a page
number from the location in the translation lookaside buffer. This page
number is used as the page number portion of a predicted branch target
address. Thus, a small index into a translation lookaside buffer can be
stored in a predicted branch target address table instead of a larger page
number for the predicted branch target address. This technique effectively
reduces the size of a predicted branch target table by eliminating much of
the space that is presently wasted storing redundant page numbers. Another
embodiment maintains coherence between the branch target address table and
the translation lookaside buffer. This makes it possible to detect a miss
in the translation lookaside buffer at least one cycle earlier by
examining the branch target address table.
Одно воплощение присытствыющего вымысла обеспечивает метод и прибор для предсказывать цель команды перехода. Эти метод и прибор работают путем использование буфера lookaside перевода (TLB) хранить номера страницы для предсказанных адресов цели ветви. В этом воплощении, таблица адреса цели ветви хранит малый индекс к положению в буфере lookaside перевода, и использован этот индекс retrieve номер страницы от положения в буфере lookaside перевода. Использован этот номер страницы по мере того как часть номера страницы предсказанного адреса цели ветви. Таким образом, малый индекс в буфер lookaside перевода можно хранить в предсказанной таблице адреса цели ветви вместо более большого номера страницы для предсказанного адреса цели ветви. Этот метод эффективно уменьшает размер предсказанной таблицы цели ветви путем исключать много из космоса в настоящее время расточительствован резервные номера страницы. Другое воплощение поддерживает сцепление между таблицей адреса цели ветви и буфером lookaside перевода. Это делает его по возможности обнаружить несоосность в буфере lookaside перевода по крайней мере один цикл предыдуще путем рассматривать таблицу адреса цели ветви.