The Data Management Engine

The DME – Data Management Engine – is a programmable and configurable hardware module (IP block) that manages memory space, inter-process communication and synchronization in many-processor systems-on-chip (MPSoCs) with distributed memory. The DME can be conveniently integrated in an SoC architecture, connecting a processor core or an IP block to the interconnect.

Standard interfaces – AHB, APB, AXI and others – are supported, with configurable bus width. The DME supports different transaction ordering models and semaphore-type of synchronization. An Application Development Package with API libraries for application software developers is included.

Features Of The
Data Management Engine

The DME supports:

  • Efficient management of private, shared, local and remote memory
  • Message Passing communication
  • Shared Variable programming, including locks, semafors and barriers.
  • Memory consistency models (e.g. Weak Ordering, Release Consistency, etc)
  • Transation ordering models, such as those defined by AXP and OCP
  • Advanced DMA functions.

The DME IP combines small area with high speed. A minimal DME instantiation occupies no more than 34k NAND gates, running up to 1,4 GHz at about 20 mW in a 40 nm technology.

The DME is applicable in heterogeneus as well as homogeneous memory architectures.

More details in this pdf