029043 superescalar apresentacao
Superescalares
MO 401 : T2
Prof: Dr. Rodolfo Jardim de
Azevedo
Aluno: Mirian Ellen de Freitas 029043
Organização Geral da
Arquitetura
•Arquiteturas de processadores superescalares exploram o paralelismo de instrução - Instrucion Level
Parallelism (ILP).
•As múltiplas unidades funcionais independentes permitem despachar simultaneamente mais de uma
Organização Geral da
Arquitetura
Pipeline Superescalar de
Instruções
•Processadores superescalares variam o número de instrução por ciclo de clock escalando-as de modo estático ou dinâmico.
•As máquinas superescalares tentam paralelizar a execução de instruções independentes, em cada estágio do pipeline
Pipeline Superescalar de
Instruções
FI: Intruction Fetch
DI: Instruction Decode
FO: Operand Fetch
EI: Instruction Execute
WO: Write-back
CO: No Action
•A execução de várias instruções por estágio permite que se exceda a taxa do clock, isto é, permite a CPI menor que um.
•Para
garantir o ganho potencial das arquiteturas superescalares em relação às outras, é necessário manter as unidades funcionais sempre ocupadas
Melhorias em arquiteturas superescalares
Conflitos por recursos - instruções competem pelo mesmo recurso (registrador, memória, unidade funcional)
Dependência de controle (procedural)
A presença de branches
Instruções de tamanho variável,
Conflitos de Dados produzidos por dependências entre instruções do programa
Características exploradas pelos superescalares
Register Renaming
t=0 do i=1,n
Dependências de saída e antidependências podem ser eliminadas automaticamente, com alocação de registradores extras. Esta técnica é chamada register renaming t=t+a(i)*a(
i)
end do t1=0 t2=0 do I=1,N,2 t1=t1+a(i)*a(i) t2=t2+a(i+1)*a(i+1
)
end do
Escalonamento Estático
processador superescalar estático de quatro issues; o pipeline receberá um conjunto/pacote de até quatro instruções para ser despachadas.
Se uma instrução pode causar um conflito estrutural ou um