Industry Standards to Solve Multicore Challenges
The Multicore Association® (MCA) is an industry association that includes leading-edge companies implementing products that embrace multicore technology. Our primary objective is to define and promote open specifications to enable multicore product development.




The primary goal of the SHIM specification and working group is to define an architecture description standard from the software design perspective – this provides a common interface that abstracts the hardware properties that are critical to enable multicore tools.



Multicore and manycore development tool vendors and runtime systems cannot possibly support the virtually unlimited number of processor configurations. The lack of quality and portable tools has kept system developers from fully utilizing the various multicore and manycore devices. Ultimately, SHIM will promote highly-optimized tools that can provide efficient utilization of very complex SoCs and potentially eliminate the need for users to comprehend 1000-page manuals to program all the device features.

Unlike the IEEE IP-XACT standard which defines and describes electronic components for hardware design, the primary goal of the SHIM working group was to define an architecture description standard from the software design perspective. For example, some of the architectural features that can be (directly or indirectly) described are the processor cores, the inter-core communication channels (in support of message passing protocols such as the Multicore Association’s MCAPI), the memory system (including hierarchy, topology, coherency, memory size, latency), the network-on-chip (NoC) and routing protocol.

The SHIM standard supports vendor-specific, non-standard architectural information for customized tools. While the SHIM standard itself is publicly available, the vendor-specific information can remain confidential between a processor vendor and its development tool partners.

Examples of the applicability of the SHIM standard:

  • Performance information is critical for most software development tools such as performance analysis tools, auto-parallelizing compilers, and other parallelizing tools.
  • System configuration to provide basic architectural information for operating systems, middleware, and other runtime libraries.
  • Hardware modeling to support processor simulation and architecture exploration.

The SHIM working group has completed the second version of the specification.

Download the SHIM Specification


  • Masaki Gondo, CTO, eSOL


Frequently Asked Questions
  • Why is the SHIM working group using an XML schema to describe the multicore and manycore architectures and devices?
  • How does the OpenMPI HWloc compare to SHIM?
  • What is the difference between SHIM and IP-XACT?


  • How does SHIM support modeling with vector, VLIW, or custom instructions?
Introduction to SHIM

View on our Youtube Channel

Download the Slides