Процессоры с программным ядром против процессоров с жестким ядром

Я занимаюсь исследованием взаимодействия FPGA с микропроцессорами, такими как ARM9.

Я нашел концепцию процессоров с программным ядром и процессоров с жестким ядром в своем исследовании. Могу ли я узнать, каково сравнение между этими двумя типами, сходства и различия в реализации?

Ответы (3)

Мягкое ядро ​​реализовано в фабрике FPGA, в то время как Hard реализовано так же, как любая интегральная схема, но все еще подключенная к матрице FPGA. Обычно сравнение сводится к следующему:

Жесткие процессоры - от 100 МГц до 1 ГГц+ скорости

  • Может достигать гораздо более высоких скоростей обработки, поскольку они оптимизированы и не ограничены скоростью ткани.
  • Исправлено и не может быть изменено (хотя можно использовать пользовательскую логику в фабрике FPGA для обработки

Процессоры Soft Core — 250 МГц и меньше (обычно меньше 200 МГц)

  • Может быть легко изменен и настроен в соответствии с конкретными требованиями, дополнительными функциями, пользовательскими инструкциями и т. д.
  • Можно использовать несколько ядер (за счет ресурсов)
  • Ограничено скоростью ткани.

В последние годы произошел большой сдвиг в сторону жестких процессоров, в первую очередь из-за необходимости более быстрой обработки, которую программные ядра не могут обеспечить. Когда вы устанавливаете аппаратный процессор с фабрикой FPGA, вы обычно можете включить обработку большого количества данных, которые необходимы для приложений инфраструктуры связи (например, много ГБ данных).

Процессор с программным ядром — это процессор, реализованный с использованием матрицы FPGA.

Жесткий процессор — это процессор, который фактически физически реализован в виде структуры в кремнии.

По сути, вы можете добавить процессор с программным ядром в систему на основе FPGA после того, как она уже спроектирована. Однако для добавления жесткого процессора требуется либо другая FPGA, либо дополнительная микросхема на плате.


Когда это возможно, предпочтительнее использовать аппаратные процессоры, потому что соотношение цена/вычислительная мощность для аппаратного ЦП намного лучше. Внедрение процессора в структуру FPGA требует очень больших ресурсов, особенно если вам нужна большая вычислительная мощность. Эквивалентный аппаратный процессор, вероятно, намного дешевле.


Аппаратный ЦП не только намного дешевле, но и, вероятно, будет намного более энергоэффективным. В платформах с батарейным питанием эффективность имеет решающее значение для длительного срока службы батареи. Неиспользуемые вентили в FPGA иногда можно отключить, но обычно в процессоре с программным ядром гораздо больше активных схем, чем в специализированном аппаратном ЦП. Весь этот потенциал кремния FPGA потребляет энергию.

« Жесткий» и «мягкий» также могут относиться к описанию используемого оборудования, а не только к тому, реализовано ли ядро ​​в структуре ( см . используйте: «ASIC (оптимизированное вручную GDSII Hard Core и Verilog RTL Soft Core) и FPGA (Verilog RTL Soft Core)». Контекст FPGA может исключать такое использование терминов (хотя двоичные значения blob/LUT-initialization-values ​​и RTL кажутся аналогичными).
Получается, что софт-ядро = ПЛИС, хард-кор = ASIC?
@nalzok - Ага. Я мог видеть аргумент в пользу того, чтобы называть эмуляцию одного процессора на другом процессоре «мягким» ядром, но люди просто называют это эмуляцией по моему опыту.

Внедрение программного процессора для достижения определенной функциональности может быть дешевле с точки зрения покупки оборудования по сравнению с покупкой эквивалентного жесткого процессора.

Это противоречит ответу Коннора Вольфа. По моему опыту, эквивалентные FPGA дороже, чем ASIC. Может быть, вы могли бы добавить некоторые подробности к вашему ответу.