Litcius/Paper detail

Exploring Instruction Fusion Opportunities in General Purpose Processors

Sawan Singh, Arthur Pérais, Alexandra Jimborean, Alberto Ros

202211 citationsDOIOpen Access PDF

Abstract

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 noncontiguous 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).

Topics & Concepts

Computer scienceMicroarchitecturePipeline (software)Instruction setFuse (electrical)CorrectnessFusionComputer architectureDirectXEmbedded systemParallel computingOperating systemProgramming languageEngineeringPhilosophyElectrical engineeringLinguisticsParallel Computing and Optimization TechniquesEmbedded Systems Design TechniquesNetwork Packet Processing and Optimization
Exploring Instruction Fusion Opportunities in General Purpose Processors | Litcius