Issue No.08 - August (2001 vol.50)
<p><b>Abstract</b>—In this paper, we examine the effectiveness of a new hardware mechanism, called Register Queues (RQs), which effectively decouples the architected register space from the physical registers. Using RQs, the compiler can allocate physical registers to store live values in the software pipelined loop while minimizing the pressure placed on architected registers. We show that decoupling the architected register space from the physical register space can greatly increase the applicability of software pipelining, even as memory latencies increase. RQs combine the major aspects of existing rotating register file and register connection techniques to generate efficient software pipeline schedules. Through the use of RQs, we can minimize the register pressure and code expansion caused by software pipelining. We demonstrate the effect of incorporating register queues and software pipelining with 983 loops taken from the Perfect Club, the SPEC suites, and the Livermore Kernels.</p>
Software pipelining, modulo variable expansion, rotating register file, register queues, VLIW, register connection.
G.X. Tyson, M. Smelyanskyi, E.S. Davidson, "Evaluating the Use of Register Queues in Software Pipelined Loops", IEEE Transactions on Computers, vol.50, no. 8, pp. 769-783, August 2001, doi:10.1109/TC.2001.947006