22 votos

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

Estoy haciendo un estudio sobre la interconexión de la FPGA con microprocesadores como el ARM9.

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

25voto

Scott Puntos 138

El núcleo blando se implementa en el tejido de la FPGA, mientras que el duro se implementa igual que cualquier circuito integrado, pero conectado al tejido de la FPGA. La comparación generalmente se reduce a:

Procesadores de núcleo duro - 100's de MHz hasta 1GHz+ de velocidad

  • Pueden alcanzar velocidades de procesamiento mucho más rápidas, ya que están optimizadas y no están limitadas por la velocidad del tejido
  • Fijo y no puede ser modificado (aunque puede aprovechar la lógica personalizada en el tejido FPGA para el procesamiento

Procesadores de núcleo blando - 250MHz y menos (normalmente menos de 200MHz)

  • Puede modificarse fácilmente y ajustarse a requisitos específicos, más funciones, instrucciones personalizadas, etc.
  • Se pueden utilizar varios 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 los procesadores duros principalmente debido a la necesidad de un procesamiento más rápido que los núcleos blandos no pueden proporcionar. Cuando se pone un procesador de núcleo duro con el tejido de la FPGA, normalmente se puede permitir el procesamiento de una gran cantidad de datos, lo cual es necesario para las aplicaciones de infraestructura de comunicaciones (muchos GB de datos pasando), por ejemplo.

13voto

Stephen Denne Puntos 218

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

Un procesador de núcleo duro es un procesador que realmente está implementado físicamente como una estructura en el silicio.

Básicamente, se puede añadir un procesador de núcleo blando a un sistema basado en FPGA una vez que ya está diseñado. Sin embargo, para añadir un procesador de núcleo duro se necesita una FPGA diferente o un chip adicional en la placa.


Siempre que sea posible, se prefieren los procesadores de núcleo duro, ya que la relación precio/potencia de una CPU de hardware es mucho mejor. La implementación de una CPU en el tejido de la FPGA requiere muchos recursos, sobre todo si se desea una gran potencia de cálculo. La CPU de hardware equivalente es probablemente mucho más barata.


El hardware de la CPU no sólo es mucho más barato, 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 que éstas duren mucho tiempo. Las puertas que no se utilizan en una FPGA a veces pueden apagarse, pero normalmente hay muchos más circuitos activos en un procesador de núcleo blando que en una CPU de hardware diseñada a propósito. Todo ese silicio potencial de la FPGA consume energía.

0 votos

Los términos "duro" y "blando" también pueden referirse a la descripción de hardware utilizada y no sólo a si el núcleo está implementado en el tejido (véase ARM's "Macroprocesadores duros" ) Esta página Western Design Center, Inc. ofrece un ejemplo de este uso: "ASIC (núcleo duro GDSII optimizado manualmente y núcleo blando Verilog RTL), y FPGA (núcleo blando Verilog RTL)". El contexto FPGA puede excluir este uso de los términos (aunque blob binario/LUT-inicialización-valores vs. RTL parece análogo).

0 votos

Así que, básicamente, ¿núcleo blando = FPGA, núcleo duro = ASIC?

0 votos

@nalzok - Sí. Podría ver un argumento para llamar a la emulación de una CPU en otra CPU un núcleo "suave", pero la gente simplemente llama a que la emulación en mi experiencia.

0voto

User3186 Puntos 24

Implementar un procesador blando para conseguir una determinada funcionalidad puede ser más barato en términos de compra de hardware en comparación con la compra de un procesador duro equivalente.

0 votos

Esto contradice la responder a cargo de Connor Wolf. Según mi experiencia, los FPGA equivalentes son más caros que los ASIC. Quizá podrías añadir más detalles a tu respuesta.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X