14.2 continuação. Paralelismo

Description

Mind Map on 14.2 continuação. Paralelismo, created by caio moreira on 30/05/2022.
caio moreira
Mind Map by caio moreira, updated more than 1 year ago
caio moreira
Created by caio moreira over 2 years ago
23
0

Resource summary

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.

        Annotations:

        • 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.

            Annotations:

            • 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.
          Show full summary Hide full summary

          Similar

          Criminal Law
          Jade Herring
          What were the Cause and Consequences of The Cuban Missile Crisis October 1962
          matthewnr73
          The Handmaid's Tale: Quote's
          oliviamilford
          Malware Quiz
          khibbitt
          GCSE Sociology-Crime and Deviance
          aiysha
          Memory: AS Psychology
          rae_olamide_xo
          French Past tense verbs and pronouns
          PEACEout
          PMP Formulas
          Krunk!
          Whole Number Glossary L1
          Lee Holness
          AQA POETRY LOVE AND RELATIONSHIPS~ WINTER SWANS
          Fozia Xx