Combining MBP-speculative computation and loop pipelining in high-level synthesis
U. Holtmann, Rolf Ernst · 1995
Frequent control dependencies caused by IF- and loop-statements limit the parallelism usable in HighLevel Synthesis. Loop pipelining is a powerful way to increase parallelism, but is often limited by these control dependencies. Multiple branch prediction (MBPSC) applies loop pipelining and speculative computation to the most probable path and serves other paths during the restore phase (prediction error correction). In this paper we combine MBP-SC and loop pipelining and give a scheduling algorithm. Further MBP-SC improvement comes from parallel branch execution. The results show a considerable speedup compared to previous approaches. 1 Introduction The hardware/software cosynthesis system COSYMA [1] takes C programs from the embedded control domain as input to speed them up on a combination of a programmable processor (e.g. SPARC) and an application specific hard-wired coprocessor. Analysis of input programs, partitioning into SW and HW, as well as generation of the coprocessor with ...