ScholarGate
Assistente

Multinúcleo e Multiprocessadores em Chip

Um multiprocessador em chip integra vários núcleos de processador em um único die, compartilhando caches e uma interface de memória, de modo que o paralelismo em nível de thread, em vez de uma maior velocidade de clock, impulsiona o crescimento do desempenho.

Encontrar tema com PaperMindEm breveFind papers & topics
Tools & resources
Baixar slides
Learn & explore
VídeoEm breve

Definition

Um processador multinúcleo, ou multiprocessador em chip, é um único circuito integrado contendo múltiplos núcleos de processador independentes que compartilham alguns recursos on-chip e um sistema de memória, projetado para executar múltiplos threads ou programas concorrentemente.

Scope

Este tópico aborda a organização de chips multinúcleo: contagem e heterogeneidade de núcleos, hierarquias de cache compartilhadas e privadas, interconexões on-chip e como o desempenho escala com os núcleos sob a lei de Amdahl. Ele trata da estrutura de hardware de sistemas multinúcleo. Exclui os mecanismos de coerência e consistência compartilhados com outros tópicos de memória compartilhada (memória-compartilhada-e-coerência, protocolos de coerência de cache) e o motor de núcleo único (microarquitetura do processador).

Core questions

  • Por que os processadores passaram de núcleos únicos rápidos para múltiplos núcleos?
  • Como os núcleos, caches e interconexão são organizados em um chip?
  • Como a lei de Amdahl limita o ganho de velocidade ao adicionar núcleos?
  • Quando os núcleos heterogêneos são preferíveis aos idênticos?

Key concepts

  • multiprocessador em chip
  • paralelismo em nível de thread
  • caches compartilhadas vs. privadas
  • interconexão on-chip
  • contagem e escalonamento de núcleos
  • núcleos heterogêneos (big.LITTLE)
  • lei de Amdahl
  • limites de energia e térmicos

Key theories

Lei de Amdahl para escalonamento multinúcleo
A fração serial de uma carga de trabalho limita o ganho de velocidade alcançável pela adição de núcleos; este limite explica por que o simples aumento da contagem de núcleos produz retornos decrescentes e motiva a redução de gargalos seriais e o uso de designs heterogêneos.

Mechanisms

Um chip multinúcleo coloca múltiplos núcleos em um único die, tipicamente com caches de primeiro nível privadas, uma cache de último nível compartilhada e uma rede ou anel on-chip conectando-os aos controladores de memória. As cargas de trabalho ganham desempenho executando threads em diferentes núcleos. Designs heterogêneos combinam núcleos grandes de alto desempenho com núcleos pequenos e eficientes, agendando o trabalho para o núcleo mais apropriado para equilibrar velocidade e energia.

Clinical relevance

O multinúcleo é o design de processador dominante hoje, de telefones a servidores, porque o escalonamento de frequência estagnou sob limites de energia. Sua ascensão transferiu o ônus do desempenho para o software paralelo: as aplicações devem ser multithreaded para se beneficiarem, tornando a concorrência uma preocupação de programação mainstream e a lei de Amdahl uma restrição prática em sistemas reais.

History

Multiprocessadores em chip de pesquisa, como o Hydra de Stanford na década de 1990, anteciparam a era multinúcleo. A quebra do escalonamento de frequência por volta de 2004–2005 impulsionou as CPUs mainstream para designs de dois e, posteriormente, de muitos núcleos. Arquiteturas heterogêneas combinando núcleos de desempenho e eficiência tornaram-se comuns mais tarde, especialmente em processadores móveis e de laptop.

Debates

Mais núcleos versus núcleos mais fortes
Dada uma potência e área fixas, os projetistas debatem se devem adicionar muitos núcleos mais simples, menos núcleos poderosos ou uma mistura heterogênea; a melhor escolha depende de quão paralelas são as cargas de trabalho alvo, com a lei de Amdahl favorecendo núcleos fortes quando as frações seriais são significativas.

Key figures

  • Gene Amdahl
  • John L. Hennessy
  • David A. Patterson
  • Kunle Olukotun

Related topics

Seminal works

  • hennessy2019
  • amdahl1967

Frequently asked questions

Por que dobrar o número de núcleos não dobra o desempenho?
Pela lei de Amdahl, qualquer parte de um programa que deve ser executada serialmente limita o benefício de núcleos adicionados. A comunicação, sincronização e contenção por recursos compartilhados adicionam ainda mais sobrecarga, então o ganho de velocidade real é tipicamente bem abaixo do escalonamento linear ideal.
O que são núcleos heterogêneos (big.LITTLE)?
Designs heterogêneos combinam núcleos grandes de alto desempenho com núcleos menores e energeticamente eficientes no mesmo chip. O sistema agenda o trabalho exigente nos núcleos grandes e o trabalho leve ou em segundo plano nos núcleos pequenos, melhorando a eficiência energética sem sacrificar o desempenho de pico.

Methods for this concept

Related concepts