Processadores de núcleo mole VS Processadores de núcleo rígido

19

Estou fazendo um estudo sobre a interface FPGA com microprocessadores, como o ARM9.

Me deparei com o conceito de Soft core e Hard core Processors em meu estudo. Posso saber qual é a comparação entre esses 2 tipos; semelhança ou diferenças na implementação?

Como Xing Quan
fonte

Respostas:

19

O soft core é implementado na malha FPGA, enquanto o Hard é implementado da mesma forma que qualquer circuito integrado enquanto ainda está conectado à malha FPGA. A comparação geralmente se resume a:

Processadores de núcleo duro - 100 MHz de até 1 GHz + de velocidade

  • Pode atingir velocidades de processamento muito mais rápidas, pois são otimizadas e não limitadas pela velocidade da malha
  • Corrigido e não pode ser modificado (embora possa tirar proveito da lógica personalizada na malha FPGA para processamento

Processadores de núcleo leve - 250 MHz e menos (geralmente menos de 200 MHz)

  • Pode ser facilmente modificado e ajustado a requisitos específicos, mais recursos, instruções personalizadas etc.
  • Vários núcleos podem ser usados ​​(ao custo dos recursos)
  • Limitado pela velocidade do tecido.

Nos últimos anos, houve uma grande mudança em direção ao processador rígido, principalmente devido à necessidade de processamento mais rápido que os núcleos flexíveis não podem fornecer. Quando você coloca um processador de núcleo duro com a malha FPGA, normalmente é possível ativar o processamento de muitos dados, o que é necessário para aplicativos de infraestrutura de comunicação (muitos GB de dados passando), por exemplo.

Gustavo Litovsky
fonte
11

Um processador de núcleo leve é ​​um processador implementado usando a malha FPGA.

Um processador de núcleo duro é um processador realmente implementado fisicamente como uma estrutura no silício.

Basicamente, você pode adicionar um processador de núcleo leve a um sistema baseado em FPGA depois que ele já foi projetado. No entanto, adicionar um processador de núcleo duro requer um FPGA diferente ou um chip adicional na placa.


Os processadores de núcleo duro são preferidos quando possível, porque a relação preço / potência de computação para uma CPU de hardware é muito melhor. A implementação de uma CPU na malha FPGA consome muitos recursos, principalmente se você deseja muito poder de computação. A CPU de hardware equivalente provavelmente é muito mais barata.


A CPU do hardware não é apenas muito mais barata, mas também é muito mais eficiente em termos de energia. Em plataformas operadas por bateria, a eficiência é crucial para uma longa duração da bateria. Às vezes, as portas não utilizadas em um FPGA podem ser desativadas, mas geralmente há muito mais circuitos ativos em um processador de núcleo leve do que em uma CPU de hardware projetada para fins específicos. Todo esse potencial silício FPGA consome energia.

Connor Wolf
fonte
"Hard" e "soft" também podem se referir à descrição do hardware usada e não apenas ao fato de o núcleo ser implementado na malha (consulte "Hard Macro Processors" do ARM ). Esta página do Western Design Center, Inc., fornece um exemplo disso use: "ASIC (Núcleo rígido GDSII otimizado manualmente e Verilog RTL Soft Core) e FPGA (Verilog RTL Soft Core)". O contexto do FPGA pode excluir esse uso dos termos (embora os valores de blob binário / inicialização da LUT vs. RTL pareçam análogos).
Paul A. Clayton
Então, basicamente, soft-core = FPGA, hard-core = ASIC?
nalzok 11/07
@nalzok - Sim. Eu pude ver um argumento para chamar a emulação de uma CPU em outra CPU de um núcleo "flexível", mas as pessoas chamam essa emulação na minha experiência.
Connor Wolf