(gmp.info.gz) Assembler Software Pipelining
Info Catalog
(gmp.info.gz) Assembler SIMD Instructions
(gmp.info.gz) Assembler Coding
(gmp.info.gz) Assembler Loop Unrolling
Software Pipelining
-------------------
Software pipelining consists of scheduling instructions around the
branch point in a loop. For example a loop might issue a load not for
use in the present iteration but the next, thereby allowing extra
cycles for the data to arrive from memory.
Naturally this is wanted only when doing things like loads or
multiplies that take several cycles to complete, and only where a CPU
has multiple functional units so that other work can be done in the
meantime.
A pipeline with several stages will have a data value in progress at
each stage and each loop iteration moves them along one stage. This is
like juggling.
If the latency of some instruction is greater than the loop time
then it will be necessary to unroll, so one register has a result ready
to use while another (or multiple others) are still in progress.
( Assembler Loop Unrolling).
Info Catalog
(gmp.info.gz) Assembler SIMD Instructions
(gmp.info.gz) Assembler Coding
(gmp.info.gz) Assembler Loop Unrolling
automatically generated byinfo2html