Hierarchy and recursion in software and hardware
Iouliia Skliarova, Valery Sklyarov · 2012
Advances in microelectronic devices have dissolved the boundary between software and hardware. Since hardware circuits are generally faster and enable significantly broader parallelism to be provided, a number of recent research works are dedicated to high-performance computations in electronic systems without direct use of processing cores which introduce a number of constraints (e.g. pre-defined size of operands, pre-given sets of instructions, limits for concurrency and parallelism, etc.). This paper suggests a regular way enabling methods and functions from general-purpose languages to be converted to hardware implementations. Consequently, such conventional programming techniques as hierarchy, recursion, passing arguments, and returning values were entirely implemented in hardware modules. The resulting circuits are faster than their software alternatives and this is confirmed by examples and numerous experiments from different application areas.