Cache Compression - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Cache Compression

Description:

Development of an algorithm for compression of a unified cache. ... Concatenate the opcodes of all the instructions row wise. Concatenate 2nd byte and so on ... – PowerPoint PPT presentation

Number of Views:270
Avg rating:3.0/5.0
Slides: 29
Provided by: Nik374
Category:

less

Transcript and Presenter's Notes

Title: Cache Compression


1
Cache Compression
  • Supervisor Prof. P. R. Panda
  • Nikunj Gupta 2002126

2
Problem Statement
  • Development of an algorithm for compression of a
    unified cache.
  • Study of possible methods to compress
  • Devise an optimal performance algorithm
  • Finding localities in cache fields for the
    development of a better algorithm.
  • Instructions only.

3
Motivation
  • Chip testing.
  • High chip state capture time.
  • Need to quickly ramp a complex, high-performance
    microprocessor.
  • Compression - a solution?

4
Literature Survey
  • Literature for exact same requirements rare
  • Focus on decompression time real time process
    in SoC
  • Recommendation in most literature to compress
    using byte break up.

5
Plan Overview
  • Familiarization with the initial framework
  • Analysis of multiple dumps of instruction cache.
  • Location of localities in the instructions.
  • Experimental analysis.
  • Finalization of the algorithm for the compression

6
Work Completed
  • Study of compression techniques
  • Analysis of cache dumps
  • Experimental analysis of various methods.
  • Break up of instruction into parts
  • Arrangement of instructions for compression

7
Algorithms for compression
  • LZW
  • LZ77
  • Dynamic LZW
  • RLE
  • BSTW

8
Methods for algorithm application -1
  • Break up of instructions into constituent parts
  • Compress the op-codes of all the instructions
    separately as 8 bit chunk.
  • Compress the 9th to 23rd bits of all instructions
    as a 5 bit chunk.
  • Compress the remaining 9 bits separately.

9
Methods for algorithm application - 2, 3
  • Feed the instructions one after the other as a
    stream.
  • 32 Bit Instructions are broken into 4 segments of
    width one byte each.
  • Concatenate the opcodes of all the instructions
    row wise
  • Concatenate 2nd byte and so on

10
Method 3 Description
11
Methods for algorithm application -4
  • Instructions are broken into 4 segments of width
    one byte each.
  • Concatenate the opcodes of all the instructions
    column wise
  • Concatenate 2nd byte and so on

12
Method 4 Description
13
Results Analysis
  • Three applications were used for analysis of
    cache dumps.
  • Mpeg decoding application
  • Jpeg encoder application
  • Lame mp3 encoder
  • The cache specifications for all caches unless
    and otherwise stated are as follows
  • Associativity 3
  • Line size 4
  • Cache size 6KB (1536 instructions)
  • Cache type L1 icache

14
Results for Method 1
15
Results for Method 1
16
Result method 1
17
Results for method 1
18
Results for method 2
  • Comparison of total compressions for various
    algorithms on jpeg and mpeg cache dumps

19
Results for method 3
20
Results for method 4
21
Comparison of all combinations
22
Why better compression on mpeg caches than on
jpeg caches?
23
Why better compression on mpeg caches than on
jpeg caches?
24
Effect of line size
Analysis on lame cache dumps
25
Variation with program stage
26
Future Work
  • Implementation of the algorithm and simulation
  • Possible customization for Intel instruction set

27
Conclusion
  • LZ77 algorithm with method 4 gives the best
    compression.
  • The compression far exceeds other methods
  • Fall back option is Dyn. LZW
  • No need to append extra bit to mark the
    instructions in cache
  • Dyn. LZW may be a better generalization
  • Method involving break up into opcode, operand
    and shift is highly specific to instruction
    format and cannot be customized to Intel
    instruction set.

28
Thank You
Write a Comment
User Comments (0)
About PowerShow.com