Distributed memory organization with support for data migration for noc-based MPSOCS - Chaves, Tales Marchesan (2012)
The evolution in the deployment of semiconductor technology has enabled the development of System-on-Chip (SoCs) that integrate several processing elements (PEs) and memory modules in a single chip. SoCs that integrate several PEs are referred as Multiprocessor System-on-Chip (MPSoCs). As the number of PEs increases in an MPSoC, techniques that present low energy consumption, low latency and scalability become necessary. In NoC-based MPsoCs that adopt the Shared Memory model in the L2 cache, as the number of PEs increases, the number of accesses to memory modules also increases. This makes memory organization one of the most critical components of the system because it can present high energy consumption and high latency. Such factors may limit the use and scalability of MPSoC systems. Among the factors that contribute to increase latency and energy consumption in memory organizations are: the cache coherence protocol and the mapping of application's data. This work proposes the use of a cache memory organization that presents non-uniform access latency, where accesses to the L1 cache can target different L2 cache banks (NUCA non uniform cache access architecture), as a function of the address being accessed. Additionally, this work proposes the exploration of the physical services provided by the network-on-chip, such as multicast and priorities, to optimize the implementation of a directory-based cache coherence protocol. The obtained results show an average reduction of 39% in communication energy consumption and 17% reduction in latency for transactions of the cache coherence protocol when exploring NoC services. To improve placement of application's data, a data migration protocol is proposed. The goal of the protocol is to approximate L2 cache blocks to PEs that are mostly accessing it, moving blocks to a closer L2 cache bank, if available. By using a data migration protocol, an average reduction of 29% was obtained in the energy consumption of cache accesses.