Проектирование структуры системы SoC (5): проектирование структуры системы многоядерного SoC

Все это время процессор общего назначения плюс аппаратная логика являются основной структурой дизайна SoC.

В некоторых приложениях, требующих обработки большого объема данных, такая структура не может удовлетворить требованиям.

Фактически, поскольку различные задачи могут выполняться в значительной степени независимо друг от друга, например обработка аудио и видео и обработка сетевых протоколов, сложные задачи с присущим им параллелизмом могут быть разложены на ряд тесно связанных подзадач, выполняемых параллельно.

Многоядерная SoC (Multicore SoC) или SoC с многопроцессорной структурой (MPSoC, Multiprocessor SoC) может выполнять такую ​​сложную задачу, которая для выполнения разбивается на несколько ядер.

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

Кроме того, дизайн многоядерной структуры может повторно использовать существующий зрелый одноядерный процессор в качестве ядра процессора, тем самым сокращая цикл проектирования и проверки и экономя затраты на НИОКР, что соответствует основной идее проектирования SoC. . Многоядерная структура — тренд будущего развития SoC.

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

1 доступный параллелизм

Достижения в области цифровой электроники зависят от способности разработчика микросхемы или системы эффективно реализовывать системные функции с использованием множества транзисторов, включенных параллельно. Разработчики могут воспользоваться множеством различных уровней параллелизма, обычно эти уровни можно сгруппировать в 3 типа:

  • параллелизм на уровне инструкций,
  • параллелизм на уровне данных
  • Параллелизм на уровне задач.

Параллелизм на уровне инструкций (ILP, Instruction Level Parallelism) использует независимость между инструкциями , так что несколько инструкций могут выполняться одновременно, изменяя большую задержку, вызванную традиционными инструкциями последовательного выполнения, и улучшая инструкции.

おすすめ

転載: blog.csdn.net/weixin_45264425/article/details/132053832