Softcore-Prozessoren VS Hardcore-Prozessoren

19

Ich mache eine Studie über FPGA-Schnittstellen mit Mikroprozessoren wie ARM9.

Ich bin in meiner Studie auf das Konzept der Softcore- und Hardcore-Prozessoren gestoßen. Darf ich wissen, was der Vergleich zwischen diesen beiden Typen ist? Ähnlichkeit oder Unterschiede in der Umsetzung?

Wie Xing Quan
quelle

Antworten:

19

Softcore ist in FPGA-Fabric implementiert, während Hard genauso implementiert ist wie jede integrierte Schaltung, während sie noch mit dem FPGA-Fabric verbunden ist. Der Vergleich läuft im Allgemeinen auf Folgendes hinaus:

Hardcore-Prozessoren - 100 MHz bis zu 1 GHz + Geschwindigkeit

  • Kann viel schnellere Verarbeitungsgeschwindigkeiten erzielen, da sie optimiert und nicht durch die Stoffgeschwindigkeit begrenzt sind
  • Behoben und kann nicht geändert werden (obwohl die benutzerdefinierte Logik in der FPGA-Struktur für die Verarbeitung genutzt werden kann

Softcore-Prozessoren - 250 MHz und weniger (normalerweise weniger als 200 MHz)

  • Kann leicht modifiziert und an spezifische Anforderungen, weitere Funktionen, benutzerdefinierte Anweisungen usw. angepasst werden.
  • Es können mehrere Kerne verwendet werden (auf Kosten der Ressourcen)
  • Begrenzt durch die Geschwindigkeit des Stoffes.

In den letzten Jahren gab es vor allem aufgrund der Notwendigkeit einer schnelleren Verarbeitung, die die Soft-Cores nicht bieten können, einen großen Schritt in Richtung Hard-Prozessor. Wenn Sie einen Hardcore-Prozessor mit der FPGA-Struktur einsetzen, können Sie in der Regel die Verarbeitung vieler Daten aktivieren, die zum Beispiel für Kommunikationsinfrastrukturanwendungen (viele GB Daten werden verarbeitet) benötigt werden.

Gustavo Litovsky
quelle
11

Ein Softcore-Prozessor ist ein Prozessor, der unter Verwendung der FPGA-Struktur implementiert wird.

Ein Hardcore-Prozessor ist ein Prozessor, der physikalisch als Struktur im Silizium implementiert ist.

Grundsätzlich können Sie einem FPGA-basierten System einen Softcore-Prozessor hinzufügen, nachdem dieser bereits entwickelt wurde. Das Hinzufügen eines Hardcore-Prozessors erfordert jedoch entweder ein anderes FPGA oder einen zusätzlichen Chip auf der Platine.


Hardcore-Prozessoren werden nach Möglichkeit bevorzugt, da das Preis-Leistungs-Verhältnis für eine Hardware-CPU wesentlich besser ist. Die Implementierung einer CPU in einer FPGA-Struktur ist sehr ressourcenintensiv, insbesondere wenn Sie viel Rechenleistung benötigen. Die entsprechende Hardware-CPU ist wahrscheinlich viel billiger.


Die Hardware-CPU ist nicht nur viel billiger, sondern wahrscheinlich auch viel energieeffizienter. Bei batteriebetriebenen Plattformen ist die Effizienz entscheidend für eine lange Lebensdauer der Batterie. Nicht verwendete Gates in einem FPGA können manchmal ausgeschaltet werden. In einem Softcore-Prozessor sind jedoch in der Regel weitaus mehr aktive Schaltkreise vorhanden als in einer zweckgerichteten Hardware-CPU. Das gesamte potenzielle FPGA-Silizium verbraucht Strom.

Connor Wolf
quelle
"Hart" und "Weich" können sich auch auf die verwendete Hardwarebeschreibung beziehen und nicht nur darauf, ob der Kern in der Fabric implementiert ist (siehe ARMs "Hard Macro Processors" ). Diese Seite von Western Design Center, Inc. enthält ein Beispiel dafür Verwendung: "ASIC (manuell optimierter GDSII-Hardcore und Verilog-RTL-Softcore) und FPGA (Verilog-RTL-Softcore)". Der FPGA-Kontext könnte diese Verwendung der Begriffe ausschließen (obwohl binäre Blob- / LUT-Initialisierungswerte gegenüber RTL analog erscheinen).
Paul A. Clayton
Also im Grunde Soft-Core = FPGA, Hard-Core = ASIC?
Nalzok
@nalzok - Ja. Ich konnte ein Argument dafür finden, dass die Emulation einer CPU auf einer anderen CPU ein "weicher" Kern ist, aber die Leute nennen diese Emulation meiner Erfahrung nach einfach.
Connor Wolf