Abstract (EN):
This paper presents two architectural variants of a runtime reconfigurable architecture aimed at the transparent acceleration of embedded programs. Starting from Control/ Data Flow Graphs (CDFGs) representing Megablocks, i.e., repetitive single-path sequences of instructions, extracted from MicroBlaze instruction traces, the implemented tool chain generates a Reconfigurable Processing Unit (RPU) tailored for the detected Megablocks. The RPUs generated consist of a 2D array of functional units and act as hardware accelerators capable of executing multiple Megablocks according to the current configuration. Use of the RPU is completely transparent, i.e., does not require modifying the CPU or the application. The RPU triggering mechanism is coupled to an external memory bus in the first variant of the architecture, and to a Local Memory Bus (LMB) in the second. The speedups measured on a Spartan-6 FPGA for a set of benchmarks range from 2.25 to 43.37 for the external-memory-based variant and from 0.63 to 3.60 for the LMB-based version.
Language:
English
Type (Professor's evaluation):
Scientific
Contact:
jcf@fe.up.pt