Efficient Application Representation for HASTE: Hybrid Architectures with a Single, Transformable Executable

  • Authors:
  • Benjamin A. Levine;Herman H. Schmit

  • Affiliations:
  • -;-

  • Venue:
  • FCCM '03 Proceedings of the 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machines
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Hybrid architectures, which are composed of a conventionalprocessor closely coupled with reconfigurable logic,seem to combine the advantages of both types of hardware.They present some practical difficulties, however. Theinterface between the processor and the reconfigurablelogic is crucial to performance and is often difficult toimplement well. Partitioning the application between theprocessor and logic is a difficult task, typically complicatedby entirely different programming models, heterogeneousinterfaces to external resources, and incompatible representationsof applications. A separate executable must beproduced and maintained for each type of hardware. Anovel architecture called HASTE (Hybrid Architecturewith a Single Transformable Executable) solves many ofthese difficulties. HASTE allows a single executable to representan entire application, including portions that run ona reconfigurable fabric and portions that run on a sequentialprocessor. This executable can execute in its entirety onthe processor, but for best performance portions of theapplication are mapped onto the fabric at run-time. Theapplication representation is key to making this conceptviable, and several different ones were examined. Someused a relatively conventional register instruction setarchitecture (ISA) while others used a new queue-basedISA. An ISA using a modified form of register addressinghas been shown to have the best overall characteristics andshould allow for the practical implementation of HASTE.