Disclosed is a circuit and method for multiple access of a branch history
table during a single clock cycle. In accordance thereto, a first branch
history table index is generated which is used for accessing the branch
history table. A first counter value is read from the branch history table
in response to accessing the branch history table using the first branch
history table index. A second branch history table index is also generated
for accessing the branch history table. A pair of counter values are read
from the branch history table in response to accessing the branch history
table using the second branch history table index. One of the pair of
counter values is selected based upon the value of the first counter value
read from the branch history table. The first and second counter values in
turn are used for predicting corresponding first and second branch
instructions. The first and second branch history table indexes are
generated in the same cycle. Likewise, the first counter value and the
pair of counter values are read from the branch history table in the same
clock cycle. Lastly, the second counter value is selected from the pair of
counter values in the same cycle.
São divulgados um circuito e um método para o acesso múltiplo de uma tabela do history da filial durante um único ciclo de pulso de disparo. Do acordo a isso, um primeiro índice da tabela do history da filial é gerado que seja usado alcançando a tabela do history da filial. Um primeiro valor contrário é lido da tabela do history da filial em resposta a alcançar a tabela do history da filial usando o primeiro índice da tabela do history da filial. Um segundo índice da tabela do history da filial é gerado também alcançando a tabela do history da filial. Um par de valores contrários é lido da tabela do history da filial em resposta a alcançar a tabela do history da filial usando o segundo índice da tabela do history da filial. Um do par de valores contrários é selecionado baseou no valor do primeiro valor contrário lido da tabela do history da filial. Os primeiros e segundos valores contrários são usados por sua vez para corresponder predizer primeiramente e segundas instruções de filial. Os primeiros e segundos índices da tabela do history da filial são gerados no mesmo ciclo. Do mesmo modo, o primeiro valor contrário e o par de valores contrários são lidos da tabela do history da filial no mesmo ciclo de pulso de disparo. Última, o segundo valor contrário é selecionado do par de valores contrários no mesmo ciclo.