Exploiting parallelism in memory operations for code optimization

被引:0
|
作者
Paek, Y [1 ]
Choi, J
Joung, J
Lee, J
Kim, S
机构
[1] Seoul Natl Univ, Sch Elect Engn, Seoul 151744, South Korea
[2] Samsung Adv Inst Technol, Yongin 449712, Gyeonggi Do, South Korea
[3] Korea Univ, Dept Elect & Comp Engn, Seoul 136701, South Korea
关键词
D O I
10.1007/11532378_11
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Code size reduction is ever becoming more important for compilers targeting embedded processors because these processors are often severely limited by storage constraints and thus the reduced code size can have a positively significant impact on their performance. Various code size reduction techniques have different motivations and a variety of application contexts utilizing special hardware features of their target processors. In this work, we propose a novel technique that fully utilizes a set of hardware instructions, called the multiple load/store (MLS) or parallel load/store (PLS), that are specially featured for reducing code size by minimizing the number of memory operations in the code. To take advantage of this feature, many microprocessors support the MLS instructions, whereas no existing compilers fully exploit the potential benefit of these instructions but only use them for some limited cases. This is mainly because optimizing memory accesses with MLS instructions for general cases is an NP-hard problem that necessitates complex assignments of registers and memory offsets for variables in a stack frame. Our technique uses a couple of heuristics to efficiently handle this problem in a polynomial time bound.
引用
收藏
页码:132 / 148
页数:17
相关论文
共 50 条
  • [31] DynAMO: Improving Parallelism Through Dynamic Placement of Atomic Memory Operations
    Soria-Pardos, Victor
    Armejach, Adria
    Muck, Tiago
    Suarez Gracia, Dario
    Joao, Jose A.
    Rico, Alejandro
    Moreto, Miquel
    PROCEEDINGS OF THE 2023 THE 50TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, ISCA 2023, 2023, : 420 - 432
  • [32] Exploiting Distributed-Memory and Shared-Memory Parallelism on Clusters of SMPs with Data Parallel Programs
    Siegfried Benkner
    Viera Sipkova
    International Journal of Parallel Programming, 2003, 31 : 3 - 19
  • [33] Exploiting distributed-memory and shared-memory parallelism on clusters of SMPs with data parallel programs
    Benkner, S
    Sipkova, V
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2003, 31 (01) : 3 - 19
  • [34] Exploiting parallelism in tabled evaluations
    Freire, J
    Hu, R
    Swift, T
    Warren, DS
    PROGRAMMING LANGUAGES: IMPLEMENTATIONS, LOGICS AND PROGRAMS, 1995, 982 : 115 - 132
  • [35] EXPLOITING THE PARALLELISM AVAILABLE IN LOOPS
    LILJA, DJ
    COMPUTER, 1994, 27 (02) : 13 - 26
  • [36] EXPLOITING THE POWER AND POTENTIAL OF PARALLELISM
    ANDERTON, P
    PHYSICS WORLD, 1991, 4 (02) : 80 - 81
  • [37] Architecture optimization for multimedia application exploiting data and thread-level parallelism
    Limousin, C
    Sebot, J
    Vartanian, A
    Drach, N
    JOURNAL OF SYSTEMS ARCHITECTURE, 2005, 51 (01) : 15 - 27
  • [38] Automatically exploiting implicit parallelism
    Bik, AJC
    Girkar, M
    Grey, PM
    Tian, XM
    DR DOBBS JOURNAL, 2001, 26 (07): : 28 - +
  • [39] Efficiently Exploiting Memory Level Parallelism on Asymmetric Coupled Cores in the Dark Silicon Era
    Patsilaras, George
    Choudhary, Niket K.
    Tuck, James
    ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2012, 8 (04)
  • [40] Run-Time Techniques for Exploiting Irregular Task Parallelism on Distributed Memory Architectures
    Fu, C.
    Yang, T.
    Journal of Parallel and Distributed Computing, 42 (02):