Jump to content

MCAPI

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Markuswiki (talk | contribs) at 00:16, 29 June 2009. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The Multicore Communications API (MCAPI) is the first specification to be produced by the Multicore Association. MCAPI provides a standardized API for communication and synchronization between closely distributed cores and/or processors in embedded systems.

Overview

MCAPI is a language-independent, processor and operating system agnostic communications protocol used to program multi-core devices. MCAPI provides three modes of communication: messages, packets, and scalars. MCAPI is a message-passing application programmer interface, together with protocol and semantic specifications for how its features must behave in any implementation. The primary goals for any MCAPI implementation are extremely high performance and low memory footprint.

MCAPI traces its heritage to communications APIs such as MPI and Berkeley sockets. Both MPI and sockets were developed primarily with inter-computer communication in mind, while MCAPI is targeted primarily towards inter-core communication in a multicore chip. Accordingly, a principal design goal of MCAPI was to serve as a low-latency interface leveraging efficient on-chip interconnect in a multicore chip. However, because of the more limited scope of multicore communications and its goal of low latency, MCAPI is less flexible than MPI or Sockets.


MCAPI Communication Modes

MCAPI provides three modes of communication:
1. messages – connection-less datagrams
2. packets – connection-oriented, arbitrary size, uni-directional, FIFO streams
3. scalars – connection-oriented, fixed size, uni-directional, FIFO streams