On Periodic Register Need in Software Pipelining

  • Authors:
  • Sid-Ahmed-Ali Touati

  • Affiliations:
  • -

  • Venue:
  • IEEE Transactions on Computers
  • Year:
  • 2007

Quantified Score

Hi-index 14.98

Visualization

Abstract

This article presents several theoretical and fundamentalresults on register need in periodic schedules, also knownas MAXLIVE. Our first contribution is a novel formula forcomputing the exact number of registers needed by a scheduledloop. This formula has two advantages: its computation can bedone using a polynomial algorithm with O(n lg n) complexity(n is the number of instructions in the loop), and it allows thegeneralization of a previous result [13]. Second, during softwarepipelining, we show that the minimal number of registers neededmay increase when incrementing the initiation interval (II),contrary to intuition. For the case of zero architectural delays inaccessing registers, we provide a sufficient condition for keepingthe minimal number of registers from increasing when incrementingthe II. Third, we prove an interesting property that enablesto optimally compute the minimal periodic register sufficiencyof a loop for all its valid periodic schedules, irrespective of II.Fourth and last, we prove that the problem of optimal stagescheduling under register constraints is polynomially solvablefor a subclass of data dependence graphs, while this problemis known to be NP-complete for arbitrary dependence graphs[7]. Our latter result generalizes a previous achievement [13]which addressed data dependence trees and forest of trees. Inthis study we consider cyclic data dependence graphs withouttaking into account any resource constraints. The aim of ourtheoretical results on periodic register need is to help currentand future software pipeliners achieve significant performanceimprovements by making better (if not best) use of the availableresources.