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