A Intel QuickPath Interconnect (QPI) é usada pelos processadores para acessar a memória?

li Uma Introdução ao interconector Intel® QuickPath. O documento não menciona que o QPI é usado pelos processadores para acessar a memória. Acho que os processadores não acedem à memória através do QPI.

O meu entendimento está correcto?

Author: Jingguo Yao, 2017-01-09

2 answers

Sim, O QPI é usado para aceder a toda a memóriaremota em sistemas multi-socket, e grande parte do seu design e desempenho destina-se a suportar esse acesso de uma forma razoável (isto é, com latência e largura de banda nãodemasiado Muito pior do que o acesso local).

Basicamente, a maioria dos sistemas multi-socket x86 são ligeiramente1 NUMA: cada banco de DRAM Está ligado a um controlador de memória de uma dada tomada: esta memória é então memória local para esse soquete, enquanto a memória restante (ligada a algum outro soquete) é Memória remota. Todo o acesso aremoto a memória passa pelas ligações de QPI, e em muitos sistemas2 Isso é metade de todo o acesso à memória e muito mais.

Então o QPI é projetado para ser de baixa latência e largura de banda alta para fazer com que esse acesso ainda funcione bem. Além disso, além da memória pura Acesso, QPI é o link através do qual a coerência de cache entre sockets ocorre, e.g., notificando o outro socket de invalidations, linhas que transitaram para o estado compartilhado, etc.


1 ou seja, o fator NUMA é bastante baixo, tipicamente inferior a 2 para latência e largura de banda.

2 por exemplo, com o modo interleave de NUMA ligado, e 4 tomadas, 75% do seu acesso é remoto.

 6
Author: BeeOnRope, 2017-01-10 23:57:57

Intel QuickPath Interconnect (QPI) é não ligado ao Dram DIMMs e, como tal, não é usado para aceder à memória que está ligada ao controlador de memória integrado de CPU (iMC).
No papel que você ligou esta imagem está presente

Intel Socket connection, with QPI connections separated from memory lines

Que mostra as ligações de um processador, com os sinais QPI retratados separadamente da interface de memória.

Um texto pouco antes da imagem confirmar que o QPI não é usado para aceder memória

O processador também normalmente tem uma ou mais memória integrada controlador. Baseado no nível de escalabilidade apoiado no processador, pode incluir um roteador integrado de barra transversal e mais de um Intel® QuickPath Interconect port.

Além disso, se olharmos para uma ficha típica, veremos que os pinos de CPU para aceder aos DIMMs não são os usados pelo QPI.


O QPI é, no entanto, usado para aceder à uncore, a parte do processador que contém o controlador de memória.

QPI to access the DRAM controller, from Wikipedia Cortesia de QPI artigo na Wikipédia

O QPI é um barramento interno rápido de propósito geral, além de dar acesso à uncore da CPU, ele dá acesso à uncore de outros CPUs. Devido a este link, cada recurso disponível no uncore pode ser acessado potencialmente com QPI, incluindo o iMC de uma CPU remota.

QPI define um protocolo com várias classes de mensagens, dois deles são usados para ler a memória usando outro IMC CPU.
O fluxo usa uma pilha semelhante à pilha de rede habitual.

Assim, o caminho para a memória remota inclui um segmento QPI, mas o caminho para a memória local não.

Actualizar

Para A CPU Xeon E7 v3-18C (concebida para sistemas multi-socket), o agente doméstico não acede directamente ao DIMMS em vez disso usa uma ligação Intel SMI2 Para aceder ao buffer de memória escalável Intel C102/C104 que por sua vez acede aos DIMMS.

A ligação SMI2 é mais rápida que a DDR3 e o controlador de memória implementa fiabilidade ou intercalando com o DIMMS.

Xeon E7 v3 18C with SMI2 links


Inicialmente a CPU usou um FSB para aceder à ponte norte , este tinha o controlador de memória E estava ligado à ponte sul (Hub do controlador ICH-IO na terminologia Intel) através deDMI .

Mais tarde, o FSB foi substituído pelo QPI.

Então o controlador de memória foi movido para a CPU (usando seu próprio bus para acessar a memória e QPI para se comunicar com a CPU).

Mais Tarde, a ponte Norte (IOH - IO Hub Intel terminologia), foi integrado no CPU e foi usado para acessar o PCH (que agora substitui a ponte sul) e PCIe foi utilizada para acesso rápido a dispositivos (como o externo controlador gráfico).

Recentemente o PCH foi integrado na CPU também que agora expõe apenas PCIe, pinos DIMMs, SATAexpress e qualquer outro autocarro interno comum.


Regra geral, os autocarros utilizados pelos processadores são:

  • para outras CPUs - QPI
  • To IOH - QPI (if IOH present)
  • à uncore - QPI
  • para DIMMs - pinos como a tecnologia DRAM (DDR3, DDR4,...) mandatos de apoio. Para Xeon v2+ Intel usa um link rápido SMI (2) para se conectar a uma memória off-core controlador (Intel C102 / 104) que lida com o DIMMS e canais com base em duas configurações.
  • a PCH - DMI
  • aos dispositivos - PCIe, SATAexpress, I2C, e assim por diante.
 3
Author: Margaret Bloom, 2017-05-23 12:02:39