Algoritmo de Tomasulo
Estações de reserva, etiquetas de operandos, CDB e evolução por ciclo.
Estações e etiquetas
| Campo | Significado |
|---|---|
| Vj/Vk | Valores já disponíveis |
| Qj/Qk | Produtores pendentes; zero = pronto |
| Qi do registo | Última operação a atualizar; zero = nenhuma |
Cada estação guarda uma instrução. Valor antigo com Q pendente não serve.
Emitir, executar, difundir
- Estação livre da classe; captura origens antes de renomear o destino.
- Executa com Qj=Qk=0 e unidade livre.
- CDB difunde
(etiqueta,valor); registo aceita só se o Qi ainda corresponder. Liberta após difundir.
Um CDB por ciclo, prioridade à mais antiga. Espera na emissão bloqueia as seguintes.
Limites
RAW espera sempre pelo produtor. Memória exige ordenar endereços e stores. Sem reorder buffer, não há confirmação em ordem nem recuperação de especulação.