A Study of Energy Efficiency Methods for Memory

Preview:

Citation preview

A Study of Energy Efficiency A Study of Energy Efficiency Methods for MemoryMethods for Memory

Mao-Yin Wang & Cheng-Wen Wu

2LARC

Memory Energy ReductionMemory Energy ReductionMemory Energy ReductionMemory Energy Reduction

Memory Compression

Memory Partitioning

Sleep mode control

Memory bandwidth optimization

Memory Hierarchy

Software ApproachAccess Pattern AnalysisLocality

3LARC

OutlineOutlineOutlineOutline

Introduction

Relative works

Conclusions

4LARC

Related WorkRelated WorkRelated WorkRelated Work A. Farahi, G. Telez, M. Sarrafzadeh, “Memory Segmentatio

n to Exploit Sleep Mode Operation”, DAC’95, pp. 36-41. L. Benini A. Macii, E. Macii, M. Poncino, “Region Compress

ion: A New Scheme for Memory Energy Minimization in Embedded Systems”, EUROMICRO conference, 1999, pp. 311-317.

L. Benini, A. Macii, E. Macii, M. Poncino, “Minimizing Memory Access Energy in Embedded Systems by Selective Instruction Compression”, IEEE Trans. On VLSI, vol. 10. pp. 521-531, Oct. 2002.

L. Benini, L. Macchiarulo, A. Macii, M. Poncino, “Layout-Driven Memory Synthesis for Embedded Systems-on-Chip”, IEEE Trans. on VLSI, vol. 10, pp. 96-105, Apr. 2002.

A. Macii, E. Macii, M. Poncino, “Improving the Efficiency of Memory Partitioning by Address Clustering”, DATE’03, pp. 18-23.

5LARC

Introduction (1/2)Introduction (1/2)Introduction (1/2)Introduction (1/2)

Source: ITRS 2000Source: ITRS 2000

6LARC

Introduction (2/2)Introduction (2/2)Introduction (2/2)Introduction (2/2)

According to the ITRS, expected 71% of area is occupied by memory in 2005

Memory is power hungry

Data-intensive applications in embedded systems

Energy efficiency is necessary

7LARC

Memory Segmentation [1]Memory Segmentation [1]Memory Segmentation [1]Memory Segmentation [1]

Based on sleep mode

)(),( 212121 swswattssG

8LARC

Memory Compression (1/3) [2]Memory Compression (1/3) [2]Memory Compression (1/3) [2]Memory Compression (1/3) [2]

Based on consecutive instruction group in a program

Limited by # of instructions in a compression region

Based on consecutive instruction group in a program

Limited by # of instructions in a compression region

9LARC

Memory Compression (2/3)Memory Compression (2/3)Memory Compression (2/3)Memory Compression (2/3)

(1)(1)

(2)(2)

10LARC

Memory Compression (3/3)Memory Compression (3/3)Memory Compression (3/3)Memory Compression (3/3)

(3.1)(3.1)(3.2)(3.2)

11LARC

Instruction Fetch Energy for Off-Chip Instruction Fetch Energy for Off-Chip FLASH MemoryFLASH Memory

Instruction Fetch Energy for Off-Chip Instruction Fetch Energy for Off-Chip FLASH MemoryFLASH Memory

12LARC

Memory TrafficMemory TrafficMemory TrafficMemory Traffic

13LARC

Memory UsageMemory UsageMemory UsageMemory Usage

14LARC

Memory Partitioning [4]Memory Partitioning [4]Memory Partitioning [4]Memory Partitioning [4]

CoreCore

SRAM

(64K)

SRAM

(64K)

datadataaddraddr

cs

28K28K

4K4K

32K32K

DecoderDecoder

15LARC

Address ClusteringAddress ClusteringAddress ClusteringAddress Clustering

43.5% Energy Reduction43.5% Energy Reduction

56% Energy Reduction56% Energy Reduction

16LARC

Problem FormulationProblem FormulationProblem FormulationProblem Formulation

Find a relocation of a subset of the address space that maximizes the locality of the dynamic trace.

17LARC

Cost MetricsCost MetricsCost MetricsCost Metrics Given an array C = [c0, c1, …, cN-1] Infer a single-value quantity that express its

degree of spatial locality Find good sliding window such that the

density is large and the sliding window is small (i.e. less encoder overhead)

1

0iS

W-N 0,...,i )(max

W

jji

ii

c

SD(C,W)

18LARC

Density of the Original and a Clustered Density of the Original and a Clustered TraceTrace

Density of the Original and a Clustered Density of the Original and a Clustered TraceTrace

Sliding window WSliding window W

Normalized densityNormalized density

19LARC

Exploration AlgorithmExploration AlgorithmExploration AlgorithmExploration Algorithm

} 8

step; W7

return W; 6

{ Density)) T,,(C peif(EvalSlo 5

W);,d(C Density 4

{ N) to1 (W for 3

Sort(C);C 2

{ T)Explore(C, 1

sort

sort

sort

20LARC

Clustering AlgorithmClustering AlgorithmClustering AlgorithmClustering Algorithm

} 4

addresses visitedremaining Replace 3

mark them and sboth tracein addresses Find 2

{ GoldTrace) W,,(OrigTraceCluster 1

21LARC

Energy Savings (1/2)Energy Savings (1/2)Energy Savings (1/2)Energy Savings (1/2)

22LARC

Energy Savings (2/2)Energy Savings (2/2)Energy Savings (2/2)Energy Savings (2/2)

23LARC

Encoder Energy Overhead vs. MEncoder Energy Overhead vs. MEncoder Energy Overhead vs. MEncoder Energy Overhead vs. M

24LARC

ConclusionsConclusionsConclusionsConclusions

Energy efficiency methods are studied

Reduce memory traffic

Partition memory as smaller ones

Disable memory blocks

Trade off between performance and energy

Application-dependent

Recommended