Multithreading simultâneo

Multithreading simultâneo, acrônimo SMT, é uma técnica para melhorar a eficiência geral das CPUs superscalares com multithreading de Hardware. SMT permite múltiplas roscas independentes de execução para melhor utilizar os recursos fornecidos pelas modernas arquiteturas de computadores.

Multithreading é semelhante em conceito a multitarefa, mas é implementado no nível de execução em nível de fio em processadores modernos superscalar.

No projeto do processador, há duas maneiras de aumentar o paralelismo no chip com menos necessidade de recursos:

  1. Técnica Superscalar: que tenta aumentar o paralelismo de nível de instrução (ILP) executando múltiplas instruções ao mesmo tempo (denominado: simultaneamente); por instruções de despacho "simultâneas" (denominado: despacho de instruções) para múltiplas unidades de execução redundantes construídas dentro do processador.
  2. Técnica de multithreading de nível de chip (CMT): usando o paralelismo de nível de rosca (TLP) a fim de executar instruções de múltiplas roscas dentro de um chip processador ao mesmo tempo.

Há muitas maneiras de suportar mais de uma rosca dentro de um chip, a saber:

  1. Multithreading Interleaved (IMT) : Edição intercalada de múltiplas instruções de diferentes fios, também conhecida como Multithreading Temporal. Pode ser ainda dividido em multithreading de grão fino ou multithreading de grão grosso, dependendo da freqüência das questões intercaladas. A multi-tarefa de grão fino emite instruções para diferentes roscas após cada ciclo, enquanto a multi-tarefa de grão grosso só muda para emitir instruções de outra rosca quando a rosca atual de execução causa alguns eventos de latência longa (como falha de página, etc.). A multi-tarefa de grãos grossos é mais comum para menos comutação de contexto entre as roscas. Para processadores com um duto por núcleo, a única maneira possível é a multi-tarefa intercalada, pois ela só pode emitir até uma instrução por ciclo.
  2. Multithreading simultâneo (SMT): Emitir instruções múltiplas a partir de múltiplas roscas em um ciclo. O processador deve ser super-escalar para fazer isso.
  3. Multiprocessamento a nível de chip (CMP ou Multi-core processor): integra dois ou mais processadores superscalar em um chip, cada um executa os fios de forma independente.
  4. Qualquer combinação de IMT/SMT/CMP

O fator chave para distingui-los é olhar quantas instruções o processador pode emitir em um ciclo e quantas roscas de onde vêm as instruções.

Exemplos de CPUs SMT modernas

  1. O Intel Pentium 4 foi o primeiro processador desktop moderno a implementar multithreading simultâneo, a partir do modelo 3.06GHz lançado em 2002, e desde então introduzido em vários de seus processadores. A Intel chama a funcionalidade de Tecnologia Hyper-Threading (HTT), e fornece um mecanismo SMT básico de duas roscas. A Intel alega uma melhoria de velocidade de até 30% em comparação com um Pentium 4 não-SMT idêntico.
  2. Os últimos projetos de arquitetura MIPS incluem um sistema SMT conhecido como "MIPS MT".
  3. O IBM POWER5, anunciado em maio de 2004, vem como um DCM dual core, ou MCM quad-core ou 8-core, com cada core incluindo um motor SMT de duas roscas. A implementação da IBM é mais sofisticada do que as anteriores, pois pode atribuir uma prioridade diferente às várias roscas, é mais fina, e o motor SMT pode ser ligado e desligado dinamicamente, para melhor executar aquelas cargas de trabalho em que um processador SMT não aumentaria o desempenho. Esta é a segunda implementação da IBM de hardware multithreading geralmente disponível.
  4. O Intel Atom, lançado em 2008, é o primeiro produto Intel a apresentar SMT (comercializado como Hyper-threading) sem suporte a reordenação de instruções, execução especulativa ou renomeação de registros.

Páginas relacionadas

Perguntas e Respostas

P: O que é multithreading simultâneo?


R: Multithreading simultâneo (SMT) é uma técnica para melhorar a eficiência geral das CPUs superscalares com multithreading de Hardware. Ela permite múltiplas linhas de execução independentes para melhor utilizar os recursos fornecidos pelas modernas arquiteturas de computadores.

P: Como o SMT se compara ao multitarefa?


R: A multitarefa é semelhante em conceito a multitarefa, mas é implementada em nível de linha de execução em processadores modernos de superescalar, enquanto a multitarefa é implementada em nível de processo.

P: Quais são as duas maneiras de aumentar o paralelismo no chip?


R: As duas maneiras de aumentar o paralelismo no chip são a técnica Superscalar e a multi-tarefa em nível de chip (CMT).

P: Quais são alguns tipos diferentes de multithreading em nível de chip?


R: Diferentes tipos de multithreading em nível de chip incluem Multithreading Interleaved (IMT), Multithreading de Grão Fino, Multithreading de Grão Grosso, e Multithreadin Simultâneo (SMT).

P: Como o senhor pode distinguir entre IMT/SMT/CMP?


R: O fator chave para distinguir entre IMT/SMT/CMP é verificar quantas instruções o processador pode emitir em um ciclo e quantos fios de onde vêm as instruções.

P: Que tipo de processador deve ser usado para o SMT?


R: Para SMT, deve ser usado um processador superscalar.

P: Que tipo de processador o nível Chip MultiProcessing usa?


R: O MultiProcessamento no nível de chip usa processadores multi-core que integram dois ou mais processadores super-escalares em um chip, cada um executando os fios independentemente.

AlegsaOnline.com - 2020 / 2023 - License CC3