A Pipelining Model Which Pipelines Blocks of Code

TitleA Pipelining Model Which Pipelines Blocks of Code
Publication TypeTechnical Report
Year of Publication1990
AuthorsBeer, J.
Other Numbers617

This paper presents a new technique of software pipelining and an architecture to support this technique. Rather than attempting to pipeline a sequence of individual instructions, the presented technique tries to pipeline entire blocks of code, i.e. the units to be pipelined are chunks of code, instructions within each code block might or might not be pipelined themselves. In this model blocks of code are identified which can be executed in a pipelined fashion. Neighboring blocks of code do not need to be data independent; pipeline stages can feed results and/or synchronization markers on to the next pipeline stage. The architecture can be seen as an attempt to use classical pipelining techniques in a multiprocessor system. The architecture consists of a circular pipeline of ordinary microprocessors. Advantages of the architecture are: unlike supercomputers and VLIW architectures the system can be based on commercial micro-processors, it avoids the high overhead of process start-up, and it is not restricted to vectorizing only inner-loops. Simulation studies show the viability of the architecture and the associated execution model.

Bibliographic Notes

ICSI Technical Report TR-90-053

Abbreviated Authors

J. Beer

ICSI Publication Type

Technical Report