Procesadores de núcleo blando frente a procesadores de núcleo duro

Estoy haciendo un estudio sobre la interfaz FPGA con microprocesadores como ARM9.

Encontré el concepto de procesadores de núcleo suave y procesadores de núcleo duro en mi estudio. ¿Puedo saber cuál es la comparación entre estos dos tipos, las similitudes y diferencias en la implementación?

Respuestas (3)

El núcleo suave se implementa en la estructura FPGA, mientras que el disco duro se implementa igual que cualquier circuito integrado mientras aún está conectado a la estructura FPGA. La comparación generalmente se reduce a:

Procesadores de núcleo duro: cientos de MHz hasta más de 1 GHz de velocidad

  • Puede lograr velocidades de procesamiento mucho más rápidas ya que están optimizadas y no están limitadas por la velocidad de la tela
  • Fijo y no se puede modificar (aunque puede aprovechar la lógica personalizada en el tejido FPGA para el procesamiento

Procesadores de núcleo blando: 250 MHz y menos (generalmente menos de 200 MHz)

  • Puede modificarse y ajustarse fácilmente a requisitos específicos, más funciones, instrucciones personalizadas, etc.
  • Se pueden usar múltiples núcleos (a costa de los recursos)
  • Limitado por la velocidad de la tela.

En los últimos años, ha habido un gran movimiento hacia el procesador duro principalmente debido a la necesidad de un procesamiento más rápido que los núcleos blandos no pueden proporcionar. Cuando coloca un procesador de núcleo duro con la estructura FPGA, normalmente puede habilitar el procesamiento de una gran cantidad de datos, que se necesitan para las aplicaciones de infraestructura de comunicación (muchos GB de datos que pasan), por ejemplo.

Un procesador de núcleo blando es un procesador implementado utilizando el tejido FPGA.

Un procesador de núcleo duro es un procesador que en realidad se implementa físicamente como una estructura en el silicio.

Básicamente, puede agregar un procesador de núcleo blando a un sistema basado en FPGA después de que ya esté diseñado. Sin embargo, agregar un procesador de núcleo duro requiere una FPGA diferente o un chip adicional en la placa.


Se prefieren los procesadores de núcleo duro cuando es posible porque la relación precio/potencia de cómputo para una CPU de hardware es mucho mejor. La implementación de una CPU en la estructura FPGA requiere muchos recursos, especialmente si desea mucha potencia informática. La CPU de hardware equivalente es probablemente mucho más barata.


La CPU de hardware no solo es mucho más barata, sino que también es probable que sea mucho más eficiente energéticamente. En las plataformas que funcionan con baterías, la eficiencia es crucial para una larga duración de la batería. Las puertas no utilizadas en un FPGA a veces se pueden desactivar, pero por lo general hay muchos más circuitos activos en un procesador de núcleo blando que en una CPU de hardware de diseño específico. Todo ese silicio FPGA potencial consume energía.

"Hard" y "soft" también pueden referirse a la descripción del hardware utilizado y no solo a si el núcleo está implementado en la estructura (consulte "Procesadores macro duros" de ARM ). Esta página de Western Design Center, Inc. proporciona un ejemplo de esto uso: "ASIC (Núcleo duro GDSII optimizado manualmente y Núcleo blando RTL de Verilog) y FPGA (Núcleo blando de Verilog RTL)". El contexto de FPGA podría excluir este uso de los términos (aunque los valores de inicialización binarios de blob/LUT frente a RTL parecen análogos).
Entonces, básicamente, ¿núcleo blando = FPGA, núcleo duro = ASIC?
@nalzok - Sí. Podría ver un argumento para llamar a emular una CPU en otra CPU un núcleo "suave", pero la gente simplemente llama a esa emulación en mi experiencia.

La implementación de un procesador de software para lograr una determinada funcionalidad puede ser más económica en términos de la compra del hardware en comparación con la compra de un procesador duro equivalente.

Esto contradice la respuesta dada por Connor Wolf. Según mi experiencia, los FPGA equivalentes son más caros que los ASIC. Tal vez podría agregar algunos detalles más a su respuesta.