Exploring Instruction Fusion Opportunities in General Purpose Processors

被引:2
作者
Singh, Sawan [1 ]
Perais, Arthur [2 ]
Jimborean, Alexandra [1 ]
Ros, Alberto [1 ]
机构
[1] Univ Murcia, Comp Engn Dept, Murcia, Spain
[2] Univ Grenoble Alpes, CNRS, Grenoble INP, TIMA, Grenoble, France
来源
2022 55TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO) | 2022年
基金
欧洲研究理事会;
关键词
general purpose; microarchitecture; instruction fusion;
D O I
10.1109/MICRO56248.2022.00026
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
The Complex Instruction Set Computer (CISC) paradigm has led to the introduction of instruction cracking in which an architectural instruction is divided into multiple microarchitectural instructions (mu-ops). However, the dual concept, instruction fusion is also prevalent in modern microarchitectures to maximize resource utilization. In essence, some architectural instructions are too complex to be executed as a unit, so they should be cracked, while others are too simple to waste resources on executing them as a unit, so they should be fused with others. In this paper, we focus on instruction fusion and explore opportunities for fusing additional instructions in a high-performance general purpose pipeline. We show that enabling fusion for common RISC-V idioms improves performance by 7%. Then, we determine experimentally that enabling fusion only for memory instructions achieves 86% of the potential of fusion in this particular case. Finally, we propose the Helios microarchitecture, able to fuse non-consecutive and non-contiguous memory instructions, and discuss microarchitectural changes required to do so efficiently while preserving correctness. Helios allows to fuse an additional 5.5% of dynamic instructions, yielding a 14.2% performance uplift over no fusion (8.2% over baseline fusion).
引用
收藏
页码:199 / 212
页数:14
相关论文
共 38 条
  • [1] Instruction Fusion for Multiscalar and Many-Core Processors
    Lu, Yaojie
    Ziavras, Sotirios G.
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2017, 45 (01) : 67 - 78
  • [2] Instruction Fusion for Multiscalar and Many-Core Processors
    Yaojie Lu
    Sotirios G. Ziavras
    International Journal of Parallel Programming, 2017, 45 : 67 - 78
  • [3] Asynchronous memory access unit for general purpose processors
    Wang L.
    Zhang X.
    Lu T.
    Chen M.
    BenchCouncil Transactions on Benchmarks, Standards and Evaluations, 2022, 2 (02):
  • [4] Stream-based Memory Access Specialization for General Purpose Processors
    Wang, Zhengrong
    Nowatzki, Tony
    PROCEEDINGS OF THE 2019 46TH INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA '19), 2019, : 736 - 749
  • [5] DiAG: A Dataflow-Inspired Architecture for General-Purpose Processors
    Wang, Dong Kai
    Kim, Nam Sung
    ASPLOS XXVI: TWENTY-SIXTH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS, 2021, : 93 - 106
  • [6] Aligned Scheduling: Cache-Efficient Instruction Scheduling for VLIW Processors
    Porpodas, Vasileios
    Cintra, Marcelo
    LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, LCPC 2013, 2014, 8664 : 275 - 291
  • [7] Implementation-aware selection of the custom instruction set for extensible processors
    Yazdanbakhsh, Amir
    Kamal, Mehdi
    Fakhraie, Sied Mehdi
    Afzali-Kusha, Ali
    Safari, Saeed
    Pedram, Massoud
    MICROPROCESSORS AND MICROSYSTEMS, 2014, 38 (07) : 681 - 691
  • [8] GPL A TRULY GENERAL PURPOSE LANGUAGE
    GARWICK, JV
    COMMUNICATIONS OF THE ACM, 1968, 11 (09) : 634 - &
  • [9] A general purpose library for stochastic finite element computations
    Ghanem, R
    Abras, J
    COMPUTATIONAL FLUID AND SOLID MECHANICS 2003, VOLS 1 AND 2, PROCEEDINGS, 2003, : 2278 - 2280
  • [10] Accelerating embedded multimedia applications with versatile and reconfigurable instruction fusion
    Cheng, Allen C.
    ISM 2007: NINTH IEEE INTERNATIONAL SYMPOSIUM ON MULTIMEDIA, PROCEEDINGS, 2007, : 318 - 325