Re: Software Pipelining

Tim Frink <plfriko@yahoo.de>
16 Sep 2008 21:45:30 GMT

          From comp.compilers

Related articles
[3 earlier articles]
Re: Software Pipelining pertti.kellomaki@tut.fi (Pertti Kellomaki) (2008-08-29)
Re: Software Pipelining mr.neeraj@gmail.com (Neeraj Goel) (2008-09-02)
Re: Software Pipelining sidtouati@inria.fr (Touati Sid) (2008-09-08)
Re: Software Pipelining kamalpr@hp.com (kamal) (2008-09-10)
Re: Software Pipelining johnhull2008@gmail.com (johnhull2008) (2008-09-11)
Re: Software Pipelining plfriko@yahoo.de (Tim Frink) (2008-09-16)
Re: Software Pipelining plfriko@yahoo.de (Tim Frink) (2008-09-16)
Re: Software Pipelining pertti.kellomaki@tut.fi (Pertti Kellomaki) (2008-09-17)
Re: Software Pipelining cdg@nullstone.com (Christopher Glaeser) (2008-09-21)
Re: Software Pipelining armelasselin@hotmail.com (Armel) (2008-09-24)
Software pipelining napi@rangkom.MY (1991-07-04)
Re: Software pipelining pardo@gar.cs.washington.edu (1991-07-19)
| List of all articles for this month |

From: Tim Frink <plfriko@yahoo.de>
Newsgroups: comp.compilers
Date: 16 Sep 2008 21:45:30 GMT
Organization: Compilers Central
References: 08-08-072 08-08-086 08-08-092 08-09-060
Keywords: optimize
Posted-Date: 17 Sep 2008 07:57:49 EDT

> I believe software pipelining can improve performance even when there
> are only a few functional units.
> For example, suppose the following code is run on a machine with a
> single FU.
> All the
> It is just incrementing an array of 10 elements.
>
> ldc r0, 0
> L1:
> 0. load r1, 0(r0) # latency 2
> 1. add r1, r1, 1 # latency 1
> 2. store 0(r0), r1 # latency 1
> 3. add r0, r0, 1 # latency 1
> 4. cmp r0, 10 # latency 1
> 5. blt L1 # latency 1
>
> For a non-SW pipelined code, a single iteration would take 7 cycles.
> Now, for the SW pipelined code, a single iteration would take 6 cycles
> on average.


Even though I understand that this is an example, I still
have the feeling that with just a single functional unit, the
benefits of pipelining are marginal, in your example it's just
about 1 cycle. But I also agree that this might have some
positive effect when the loop has a high iteration count.



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.