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 条
  • [1] Exploiting parallelism in general purpose optimization
    Venter, G
    Watson, B
    APPLICATIONS OF HIGH-PERFORMANCE COMPUTING IN ENGINEERING VI, 2000, 6 : 21 - 30
  • [2] Exploiting More Parallelism from Write Operations on PCM
    Li, Zheng
    Wang, Fang
    Hua, Yu
    Tong, Wei
    Liu, Jingning
    Chen, Yu
    Feng, Dan
    PROCEEDINGS OF THE 2016 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), 2016, : 768 - 773
  • [3] Code transformations to improve memory parallelism
    Pai, VS
    Adve, S
    32ND ANNUAL INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE, (MICRO-32), PROCEEDINGS, 1999, : 147 - 155
  • [4] Exploiting parallelism in deterministic shared memory multiprocessing
    Zhou, Xu
    Lu, Kai
    Wang, Xiaoping
    Li, Xu
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2012, 72 (05) : 716 - 727
  • [5] EXPLOITING PARALLELISM IN PRIMITIVE OPERATIONS ON BULK DATA-TYPES
    LAVINGTON, SH
    WAITE, ME
    ROBINSON, J
    DEWHURST, NEJ
    LECTURE NOTES IN COMPUTER SCIENCE, 1992, 605 : 893 - 908
  • [6] SoftSIMD - Exploiting subword parallelism using source code transformations
    Kraemer, Stefan
    Leupers, Rainer
    Ascheid, Gerd
    Meyr, Heinrich
    2007 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION, VOLS 1-3, 2007, : 1349 - 1354
  • [7] Exploiting Memory-Level Parallelism in Reconfigurable Accelerators
    Cheng, Shaoyi
    Lin, Mingjie
    Liu, Hao Jun
    Scott, Simon
    Wawrzynek, John
    2012 IEEE 20TH ANNUAL INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES (FCCM), 2012, : 157 - 160
  • [8] Microarchitecture optimizations for exploiting memory-level parallelism
    Chou, Y
    Fahs, B
    Abraham, S
    31ST ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, PROCEEDINGS, 2004, : 76 - 87
  • [9] A new approach to exploiting parallelism in ant colony optimization
    Piriyakumar, DAL
    Levi, P
    MHS2002: PROCEEDINGS OF THE 2002 INTERNATIONAL SYMPOSIUM ON MICROMECHATRONICS AND HUMAN SCIENCE, 2002, : 237 - 243
  • [10] Exploiting parallelism for energy efficient source code high performance computing
    Azeemi, Naeern War
    2006 IEEE INTERNATIONAL CONFERENCE ON INDUSTRIAL TECHNOLOGY, VOLS 1-6, 2006, : 2139 - 2144