Escolar Documentos
Profissional Documentos
Cultura Documentos
Processadores Superescalares
Processadores Superescalares
instruções e
processadores
+
superescalares
Superescalar
Refere-se a uma máquina
projetada para melhorar o
Termo criado em 1987
desempenho da execução
de instruções escalares
Representa o próximo
Na maioria das aplicações
passo na evolução do
a maior parte das
desempenho de
operações é de grandezas
processadores de
escalares
propósito geral
Comparação
entre
superpipeline
e
superescalar
+
Limitações
◼ Paralelismono nível de instrução
◼ Refere-se ao nível no qual as instruções de um
programa podem ser executadas em paralelo
◼ Uma combinação de otimização baseada em
compilador e técnicas de hardware que podem ser
usadas para maximizar o paralelismo em nível de
instrução
+
Limitações
◼ Dependência de dados verdadeira
◼ Dependência procedural
◼ Conflito de recursos
◼ Dependência de saída
◼ Antidependência
+
◼ Paralelismode máquina
◼ Habilidade do processador obter vantagem do
paralelismo em nível de instrução
◼ Determinada pelo número de instruções que
podem ser executadas ao mesmo tempo (número
de pipelines paralelos)
+
Política de emissão de instruções
◼ Emissão de instrução
◼ Refere-se ao processo da iniciação da execução da
instrução em unidades funcionais do processador
◼ Política
de emissão de instrução
◼ Refere-se ao protocolo usado para emitir instruções
◼ A emissão de instrução ocorre quando a instrução do
estágio de decodificação para o primeiro estágio de
execução do pipeline
+
Política de conclusão de instruções
◼ Conclusão de instrução
◼ Refere-se ao processo da finalização da instrução;
◼ Políticas
de emissão de instrução superescalares
podem ser agrupadas na categorias seguintes:
◼ Emissão em ordem com conclusão em-ordem
◼ Emissão em-ordem com conclusão fora-de-ordem
◼ Emissão fora-de-ordem com conclusão fora-de-
ordem
+
Política de execução de instruções
◼ Razão para emissão em ordem:
◼ Facilidade para unidade de decodificação identificar
conflitos de dados, pois sabe quais são todos
registradores e/ou memória estão sendo utilizados
pelas instruções anteriores;
◼ I4 seria inconsistente;
+
Emissão e
conclusão fora de
ordem
Organização para emissão fora-de-
ordem e conclusão fora-de-ordem
Organização para emissão fora-de-
ordem e conclusão fora-de-ordem
Renomeação de registradores
◼ Máquinas Superescalares:
◼ Estratégia de desvio atrasado tem menos apelo
◼ Utilizam técnicas de previsão desvio de
processadores pre-RISC
Ilustração conceitual de
processamento superescalar
Diagrama de blocos interno de
processamento superscalar
+
Implementação superescalar
◼ Elementos chave:
◼ Estratégias de busca de instrução que obtém
simultanesamente várias instruções
◼ Lógica para determiner dependências verdadeiras
envolvendo valores de registradores e mecanismos
para transferir esses valores para onde eles forem
necessários durante a execução
◼ Mecanismo para iniciar ou emitir múltiplas instruções
em paralelo
+
Implementação superescalar
◼ Elementos chave:
◼ Recursos para execução paralela de múltiplas
instruções, incluindo múltiplas unidades funcionais de
pipeline e hierarquias de memória capazes de
atender simultaneamente várias referências de
memória
◼ Mecanismos para concluir o estado do processo na
ordem correta
Diagrama
de bloco
do core i7
Diagrama de bloco do Intel
Pipeline do Intel
Branch target buffer e Tranlation
lookaside bufer
Microop armazenadas no trace
cache (4 bit campo de histórico)
Formação de traces: 1 a 4 microops
e 5+ em casos extremos
Inicio da execução fora de ordem
Buffer de reordenamento para execução
fora de ordem e 128 registradores
disponíveis para renomeação
Duas filas de microops: uma para
ALU e outra para memória
Escalonamento
Despacho seguindo a fila e a
dependência
Execução, uso dos registradores
renomeados
Verificação dos resultados
Checagem de desvio
Armazenamento do resultado do
desvio