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 about 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

          Market failure and government intervention - Definitions
          clm3496
          Describe - Practice questions and answers for AS Physics A
          nikeishabk
          CHEMISTRY C1 7
          x_clairey_x
          Was the Weimar Republic doomed from the start?
          Louisa Wania
          Respiratory System
          Addeana
          PE AQA GCSE REVISION FLASHCARDS
          ellie.baumber
          AQA AS Biology Unit 2 The Cell cycle
          elliedee
          GCSE Chemistry C3 (OCR)
          Usman Rauf
          Biology B1.1 - Genes
          raffia.khalid99
          AQA Biology B2 Questions
          Sian Griffiths
          Vampires, Dracula, and Morality Victorian Anxieties!
          Anna-Maria Kotulski