Adaptive Computing Systems and Their Design Tools

  • Andreas KochEmail author


While reconfigurable adaptive computing has many proven advantages over conventional processors, in practice, it is often limited to niche applications. This situation, which we aim to resolve with our research, is often linked to the lack of programming languages for adaptive computers that are familiar to software developers. We present a compile flow capable of translating general-purpose C programs to hybrid hardware/software applications for execution on an adaptive computer and give an overview of the required advances in compiler technology as well as in computer architecture and operating system design.


Software Service Execution Model Intermediate Representation Adaptive Computer Regular Layout 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Budiu, M.: Spatial computation. PhD thesis, Carnegie Mellon University, Computer Science Department. Technical report CMU-CS-03-217 (2003) Google Scholar
  2. 2.
    Callahan, T.J., Hauser, J.R., Wawrzynek, J.: The Garp architecture and C compiler. Computer 33(4), 62–69 (2000). doi: 10.1109/2.839323 CrossRefGoogle Scholar
  3. 3.
    Campbell, P.L., Krishna, K., Ballance, R.A.: Refining and defining the program dependence web. Cs93-6, University of New Mexico, Albuquerque (1993) Google Scholar
  4. 4.
    Cytron, R., Ferrante, J., Rosen, B.K., Wegman, M.N., Zadeck, F.K.: Efficiently computing static single assignment form and the control dependence graph. ACM Trans. Program. Lang. Syst. 13(4), 451–490 (1991). doi: 10.1145/115372.115320 CrossRefGoogle Scholar
  5. 5.
    Ferrante, J., Ottenstein, K.J., Warren, J.D.: The program dependence graph and its use in optimization. ACM Trans. Program. Lang. Syst. 9(3), 319–349 (1987) zbMATHCrossRefGoogle Scholar
  6. 6.
    Gädke, H., Koch, A.: Accelerating speculative execution in high-level synthesis with cancel tokens. In: Proc. Intl. Workshop on Applied Reconfigurable Computing (ARC) (2008) Google Scholar
  7. 7.
    Gädke, H., Stock, F., Koch, A.: Memory access parallelization in high-level language compilation for reconfigurable adaptive computers. In: Proc. Intl. Conf. on Field Programmable Logic and Applications (FPL) (2008) Google Scholar
  8. 8.
    Gajski, D.D., Ramachandran, L.: Introduction to high-level synthesis. IEEE Des. Test 11(4), 44–54 (1994). doi: 10.1109/54.329454 CrossRefGoogle Scholar
  9. 9.
    Group, O.S.: Open64—the open research compiler.
  10. 10.
    Hall, M., Padua, D., Pingali, K.: Compiler research: the next 50 years. Commun. ACM 52(2), 60–67 (2009). doi: 10.1145/1461928.1461946 CrossRefGoogle Scholar
  11. 11.
    Kasprzyk, N.: COMRADE—Ein Hochsprachen-Compiler für Adaptive Computersysteme. PhD thesis, Technische Universität Braunschweig (Germany) (2005) Google Scholar
  12. 12.
    Kasprzyk, N., Koch, A.: Verbesserte hardware-software partitionierung für adaptive computer. In: Proc. Conference on Architecture of Computing Systems (ARCS) (2004) Google Scholar
  13. 13.
    Kasprzyk, N., Koch, A.: High-level-language compilation for reconfigurable computers. In: Proc. Intl. Conf. on Reconfigurable Communication-centric SoCs (ReCoSoC) (2005) Google Scholar
  14. 14.
    Kasprzyk, N., Koch, A., Golze, U., Rock, M.: An improved intermediate representation for datapath generation. In: Proc. International Conference on Engineering of Reconfigurable Systems and Algorithms (ERSA) (2003) Google Scholar
  15. 15.
    Kasprzyk, N., van der Veen, J., Koch, A.: Configuration merging for adaptive computer applications. In: Proc. Intl. Conf. On Field-Programmable Logic (FPL) (2005) Google Scholar
  16. 16.
    Knobe, K., Sarkar, V.: Array SSA form and its use in parallelization. In: Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 107–120 (1998).
  17. 17.
    Koch, A.: Regular datapaths on field-programmable gate arrays. PhD thesis, Tech. Univ. Braunschweig (Germany) (1997) Google Scholar
  18. 18.
    Koch, A.: FLAME: A flexible API for module-based environments (EIS TR 2004-01). Technical report, Tech. Univ. Braunschweig, Dept. of Integrated Circuit Design (E.I.S.) (2004) Google Scholar
  19. 19.
    Koch, A.: FLAME library specification (EIS TR 2004-02). Technical report, Tech. Univ. Braunschweig (2004) Google Scholar
  20. 20.
    Kunz, J.: Eine placer-modul-erweiterung für den “universal generator for logic circuits on fpgas”. Master’s thesis, Tech. Univ. Darmstadt (2007) Google Scholar
  21. 21.
    Lange, H., Koch, A.: Design and system level evaluation of a high performance memory system for reconfigurable SoCi platforms. In: Proc. HiPEAC Workshop on Reconfigurable Computing (2007) Google Scholar
  22. 22.
    Lange, H., Koch, A.: An execution model for hardware/software compilation and its system-level realization. In: Proc. Intl. Conf. on Field Programmable Logic and Applications (FPL) (2007) Google Scholar
  23. 23.
    Lange, H., Koch, A.: Low-latency high-bandwidth hw/sw communication in a virtual memory environment. In: Proc. Intl. Conf. on Field Programmable Logic and Applications (FPL) (2008) Google Scholar
  24. 24.
    Larus, J.R.: Whole program paths. SIGPLAN Not. 34(5), 259–269 (1999) CrossRefGoogle Scholar
  25. 25.
    Lattner, C.: Llvm: An infrastructure for multi-stage optimization. Master’s thesis, University of Illinois at Urbana-Champaign (USA) (2002).
  26. 26.
    Laurich, P.: A comparison of hard real-time linux alternatives (2004).
  27. 27.
    Li, Y., Callahan, T., Darnell, E., Harr, R., Kurkure, U., Stockwood, J.: Hardware-software co-design of embedded reconfigurable architectures. In: DAC ’00: Proceedings of the 37th Conference on Design Automation, pp. 507–512. ACM, New York (2000) CrossRefGoogle Scholar
  28. 28.
    Lysaght, P., Rosenstiel, W. (eds.): New algorithms, architectures and applications for reconfigurable computing. New Algorithms, Architectures and Applications for Reconfigurable Computing (2005) Google Scholar
  29. 29.
    Neumann, T., Koch, A.: A generic library for adaptive computing environments. In: International Conference on Field Programmable Logic and Applications (FPL) (2001) Google Scholar
  30. 30.
    Ponnuswamy, K.P., Kumar, S., Pires, L., Ponnuswamy, S., Nanavati, C., Golusky, J., Vojta, M., Wadi, S.: A benchmark suite for evaluating configurable computing systems—status, reflections, and future directions. In: in Proc. ACM/SIGDA Int. Symposium on Field Programmable Gate Arrays (FPGA’00), pp. 126–134 (2000) Google Scholar
  31. 31.
    Rose, G.: Using the microprocessor MMU for software protection in real-time systems. Technical report, LynuxWorks, Inc. (2009) Google Scholar
  32. 32.
    Stanford: The SUIF2 compiler system.
  33. 33.
    Thorns, F.: ClaPi—clustering and placement. Master’s thesis, Tech. Univ. Braunschweig (Germany) (2002) Google Scholar
  34. 34.
    Tool interface standard (TIS) executable and linking format (ELF) specification version 1.2. TIS Committee (1995) Google Scholar
  35. 35.
    Wewetzer, C.: A universal generator for logic circuits on FPGAs. Master’s thesis, Tech. Univ. Braunschweig (2005) Google Scholar

Copyright information

© Springer Science+Business Media B.V. 2010

Authors and Affiliations

  1. 1.Embedded Systems and Applications Group, Dept. of Computer ScienceTechnische Universität DarmstadtDarmstadtGermany

Personalised recommendations