Field Programable Gate Arrays (FPGAs) begin to show better performance than microprocessors in many application areas because of drastic improvement of the size and speed. In the near future, FPGAs will be directly attached to or involved in microprocessors as accelerators that execute algorithms written in programming languages. In this paper, we show hardware implementation techniques (multi-thread execution and speculative execution) for recursive calls and loops, which are the most time exhaustive parts in many application programs written in programming languages. These techniques can be employed with very little overheads in clock cycle speed and circuit size. Experiments on simple compinatorial problems show 4.1-6.7 times of speedup compared with a workstation (Ultra-Sparc 200MHz).
展开▼