14.2 continuação. Paralelismo

Descrição

Mapa Mental sobre 14.2 continuação. Paralelismo, criado por caio moreira em 30-05-2022.
caio moreira
Mapa Mental por caio moreira, atualizado more than 1 year ago
caio moreira
Criado por caio moreira mais de 2 anos atrás
23
0

Resumo de Recurso

14.2 continuação. Paralelismo
  1. Paralelismo de máquinas
    1. O estudo usa uma simulação que modelou uma máquina com características do MIPS R2000, acrescida de vários recursos superescalares. Uma série de diferentes sequências de programa foi simulada. Em cada um dos gráficos, o eixo vertical corresponde ao aumento médio de velocidade (speed up) da máquina superescalar em relação à maquina escalar. O eixo horizontal mostra os resultados para quatro organizações alternativas de processadores. A máquina base não duplica nenhuma das unidades funcionais, mas pode emitir instruções fora de ordem. A segunda configuração duplica a unidade funcional de leitura/escrita que acessa dados da cache. A terceira confi guração duplica a ALU e a quarta organização duplica ambos, leitura/escrita e ALU. Em cada gráfico, os resultados são mostrados para tamanhos das janelas de instruções de 8, 16 e 32 instruções, o que define a quantidade de análise antecipada que o processador consegue fazer.
      1. Os dois gráficos combinados produzem algumas conclusões importantes. A primeira é que provavelmente não vale a pena adicionar unidades funcionais sem renomeação de registradores. Existe uma pequena melhoria de desempenho, mas a custo de aumento da complexidade do hardware.

        Anotações:

        • A diferença entre os dois gráficos é que, no segundo, a renomeação de registradores é permitida. Isso equivale a dizer que o primeiro gráfico representa uma máquina limitada por todas as dependências, enquanto o segundo corresponde a uma máquina limitada apenas por dependências verdadeiras.
    2. Previsão de desvio
      1. Qualquer máquina de alto desempenho com pipeline deve ter algum tipo de tratamento para lidar com desvios. Por exemplo, o Intel 80486 tratava o problema tanto obtendo a próxima instrução sequencial depois de um desvio, quanto obtendo especulativamente a instrução alvo do desvio. Com a chegada da máquinas RISC, a estratégia de desvio atrasado foi explorada. Isso permite ao processador calcular o resultado de instruções de desvio condicional antes que qualquer instrução inutilizável seja obtida. Com este método, o processador sempre executa a única instrução que vem imediatamente depois do desvio. Isso mantém o pipeline cheio enquanto o processador obtém um novo fluxo de instruções. Com o desenvolvimento de máquinas superescalares, a estratégia de desvio atrasado tem menos apelo. O motivo é que múltiplas instruções precisam executar no delay slot, trazendo vários problemas relacionados com dependências das instruções.
      2. Execução superescalar
        1. O programa a ser executado consiste de uma sequência linear de instruções. Esse é o programa estático conforme escrito pelo programador ou gerado pelo compilador.
          1. O processo de obter instrução, o que inclui a previsão de desvio, é usado para formar um fluxo dinâmico de instruções. Este fluxo é examinado para dependências e o processador pode remover as dependências artificiais. O processador então despacha as instruções para uma janela de execução. Nesta janela, as instruções não formam mais um fluxo sequencial, mas são estruturadas de acordo com suas dependências de dados verdadeiras. O processador efetua o estágio de execução de cada instrução numa ordem determinada pelas dependências de dados verdadeiras e pela disponibilidade de recursos de hardware. Finalmente, as instruções são conceitualmente colocadas de volta na ordem sequencial e seus resultados são reordenados.

            Anotações:

            • O passo fi nal mencionado no parágrafo anterior é conhecido como concluir (commit) ou retirar a instrução. Este passo é necessário pelo seguinte motivo. Por causa do uso de pipelines múltiplos e paralelos, as instruções podem completar em uma ordem diferente daquela mostrada no programa estático.
        2. Implementação superescalar
          1. podemos fazer alguns comentários gerais sobre o hardware de processador necessário para abordagem superescalar. Smith e Sohi (1995m) listam os seguintes elementos chave: 1ª As estratégias de busca de instrução que obtêm simultaneamente várias instruções, frequentemente prevendo os resultados das instruções de desvios condicionais. Estas funções requerem o uso de múltiplos estágios de busca e decodifi cação e lógica de previsão de desvios. 2ª Lógica para determinar dependências verdadeiras envolvendo valores de registradores e mecanismos para transferir esses valores para onde eles forem necessários durante a execução. 3ª Mecanismo para iniciar, ou emitir, múltiplas instruções em paralelo. 4ª 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. 5ª Mecanismos para concluir o estado do processo na ordem correta.

          Semelhante

          Dicas para sobreviver a rotina cansativa de estudante
          Malu Miralha
          Mapas Mentais
          proffelipelima
          Gerenciamento de Projetos - conceitos básicos
          Luiz Fernando
          Plano de estudos: História Geral
          Marina Amaral
          10 Passos para elaboração de TCC
          IaraNeres
          *******Ciclos biogeoquímicos
          Beatriz nonato
          Classificação de Savary-Miller Modificada
          Vanessa Palauro
          Redação Oficial
          Lavs Agah
          Regimento Interno CLDF
          Antonio de Paiva
          Nisto Cremos-Prova Capítulo 1-10
          Aldeniz Silva