API многожильные связи (MCAPI) является первой спецификацией, чтобы быть произведены ассоциациями Multicore. MCAPI предоставляет стандартизированный API для связи и синхронизации между тесно распределенными (несколько ядер на микросхеме и / или микросхемах на плате) встроенными системами.
MCAPI - это не зависящий от языка, процессора и операционной системы протокол связи, используемый для программирования многоядерных устройств. MCAPI предоставляет три режима связи: сообщения, пакеты и скаляры. MCAPI - это интерфейс прикладного программиста для передачи сообщений, вместе с протоколом и семантическими спецификациями, указывающими, как его функции должны вести себя в любой реализации. Основными целями любой реализации MCAPI являются чрезвычайно высокая производительность и небольшой объем памяти.
MCAPI берет свое начало от коммуникационных API, таких как MPI и сокеты Беркли. И MPI, и сокеты были разработаны в первую очередь с учетом межкомпьютерного взаимодействия, тогда как MCAPI нацелен в первую очередь на межъядерный обмен в многоядерном чипе. Соответственно, основная цель разработки MCAPI заключалась в том, чтобы служить интерфейсом с малой задержкой, используя эффективное внутрикристальное соединение в многоядерной микросхеме. Однако из-за более ограниченного объема многоядерных коммуникаций и низкой задержки MCAPI менее гибкий, чем MPI или сокеты.
MCAPI предоставляет три режима связи:
MCAPI ориентирован исключительно на встроенные коммуникации и добавляет идеи сообщений, пакетов и скаляров + подключенных каналов. Это позволяет MCAPI поддерживать различное качество обслуживания, когда подключенные каналы могут использовать базовое встроенное оборудование. Кроме того, MCAPI поддерживает различные виды приоритетов, сообщения могут иметь приоритет для каждого сообщения, а каналы также могут рассматриваться как имеющие разные приоритеты, что позволяет реализациям отображать некоторые или все каналы на выделенное оборудование. MCAPI также может поддерживать нулевое копирование путем назначения атрибутов подключенным каналам.
Другие большие отличия включают: