Execução Especulativa
Conceitos, Princípios e Técnicas
Patrícia Pilisson Côgo
RA 041481
Campinas, Novembro/2005
Agenda
• Introdução
• Técnicas de Execução Especulativa
− Especulação de Controle
• Branch Prediction
• Eager Execution
• Disjoint Eager Execution
− Especulação de Dados
• Endereço
• Valor
• Tratamento de Exceções
Introdução
• Processadores com Pipeline
• Paralelismo a Nível de Instrução
• Dependências:
− Controle
− Dados
Introdução
• Execução Especulativa
• Localidade
Valor
Tempo
Espaço
Técnicas de Execução
Especulativa
Especulação de Controle
• Branch Prediction
− Direção
− Endereço Alvo
• Eager Execution
• Disjoint Eager Execution
Especulação de Controle
Fig.1 :Comparação entre técnicas de esp. de controle, extraída do trabalho de Augustus K. Uht e Vijay Sindagi
Especulação de Dados
• Predição de Endereços
− Explora localidade temporal
− MAP: Memory Address Prediction
Fig.2 : Representação da Memory History Table, adaptada do trabalho de Gonzalez e Gonzalez
Especulação de Dados
•Predição de Valor
−Explora localidade de valor
Fig. 3: Localidade de Valor para Instruções de Load, extraída do trabalho de Lipasti e Shen
Especulação de Dados
• Predição de Valor
Fig. 4: Localidade de valor para escrita em registradores, extraída do trabalho de Lipasti e Shen
Especulação de Dados
• Predição de Valor
− Implementação em dois níveis:
Fig.5: Unidade de Predição, extraída do trabalho de Lipasti e Shen
Especulação de Dados
• Predição de Valor
Fig. 6: Unidade de Verificação e Correção extraída do trabalho de Lipasti e Shen
Tratamento de Exceções
• Garantir Funcionalidade
• Métodos
− Modelo de especulação restritivo
− Modelo geral de especulação
− Write-back Supression
Dúvidas??
Download

Execução Especulativa