SOFTWARE-HARDWARE INTERFACE FOR MULTI-MANY-CORE (SHIM™)
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 first version of the specification. We encourage you to join the Multicore Association to participate in the discussion, development, and feedback phases for subsequent versions.
- Masaki Gondo, CTO, eSOL