Architecture

The figure shows the proposed ASoC architecture platform. The SoC is split into two logical layers: The functional layer and the autonomic layer.

The functional layer contains the IP component or Functional Elements (FEs), as they can be found in contemporary SoCs.

The autonomic layer consists of Autonomic Elements (AEs) and an interconnect structure among the AEs. The AEs will represent an autonomic IP library, in analogy to the contemporary functional IP libraries. Currently, it is not known yet if there will be a one-to-one correspondence between each AE and FE, or if there will be one AE for a class of FE. The AEs will watch themselves, as AEs may also fail.

The proposed ASoC platform represents a natural evolution of today's SoCs. Major investments have been made into the establishment of IP component libraries at the functional layer. The capability to reuse existing cores as they are and to augment them with corresponding AEs preserves this investment and enables a gradual evolution path towards increasing organic content in SoCs. Furthermore, this strategy allows subsequent IP core generations to dissolve the logical separation between FE and AE IP components and merge both parts, either partially or entirely, into an FAE when indicated.

Each AE shall contain a monitor (or observer) section, which senses state information from the associated FE, an evaluator, which merges and processes the locally obtained information with information bits from other AEs and/or memorized local knowledge, and an actuator, which executes a possibly necessary action on the local FE. The combined evaluator and actuator can also be considered as a controller. Hence, our two-layer Autonomic SoC architecture platform can be viewed as distributed (decentralized) observer-controller architecture.

In our ASoC platform, AEs take decisions based on the stored status plus the communicated information from other AEs. Thus, the local state in an AE is not sufficient to predict the global system behaviour. Since only local actions which are "in harmony" with the local functional macro are allowed, this approach implicitly guarantees controlled emergence.

The AE control loop works entirely in the hardware domain (no software in the loop) to ensure control loop reaction times of few system clock cycles, i.e., nanoseconds. Autonomic software processes should make use of information gathered by AEs. While AEs operate autonomously in a decentralized manner, they may be initiated and dynamically configured from a central system control point.