diff options
Diffstat (limited to 'content/zettel/1c6a2.md')
-rw-r--r-- | content/zettel/1c6a2.md | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/content/zettel/1c6a2.md b/content/zettel/1c6a2.md new file mode 100644 index 0000000..18e3169 --- /dev/null +++ b/content/zettel/1c6a2.md @@ -0,0 +1,25 @@ ++++ +title = "Resource usage differences" +author = "Yann Herklotz" +tags = [] +categories = [] +backlinks = ["1c6a1"] +forwardlinks = ["1b8", "1c5e"] +zettelid = "1c6a2" ++++ + +In terms of resources it seems like by default, even though the final +pipelines will be the same between software and hardware pipelining, the +resources of software pipelining will be significantly higher than +hardware pipelining. This is mainly due to the fact that many hacks are +needed to support the arbitrary pipelines. The first is duplication of +the loop body due to register allocation, and the second is generating +the epilogue and the prologue to start the pipeline. + +However, these can both be eliminated by using predicated instructions +([\#1b8]) and rotating registers ([\#1c5e]). You could then just +implement the body directly using the rotating register files, and +control the execution of the loop by using the predicated instructions. + + [\#1b8]: /zettel/1b8 + [\#1c5e]: /zettel/1c5e |