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) |
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.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.