Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Budiu, M.: Spatial computation. PhD thesis, Carnegie Mellon University, Computer Science Department. Technical report CMU-CS-03-217 (2003)
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
Campbell, P.L., Krishna, K., Ballance, R.A.: Refining and defining the program dependence web. Cs93-6, University of New Mexico, Albuquerque (1993)
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
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)
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)
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)
Gajski, D.D., Ramachandran, L.: Introduction to high-level synthesis. IEEE Des. Test 11(4), 44–54 (1994). doi:10.1109/54.329454
Group, O.S.: Open64—the open research compiler. http://www.open64.net/
Hall, M., Padua, D., Pingali, K.: Compiler research: the next 50 years. Commun. ACM 52(2), 60–67 (2009). doi:10.1145/1461928.1461946
Kasprzyk, N.: COMRADE—Ein Hochsprachen-Compiler für Adaptive Computersysteme. PhD thesis, Technische Universität Braunschweig (Germany) (2005)
Kasprzyk, N., Koch, A.: Verbesserte hardware-software partitionierung für adaptive computer. In: Proc. Conference on Architecture of Computing Systems (ARCS) (2004)
Kasprzyk, N., Koch, A.: High-level-language compilation for reconfigurable computers. In: Proc. Intl. Conf. on Reconfigurable Communication-centric SoCs (ReCoSoC) (2005)
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)
Kasprzyk, N., van der Veen, J., Koch, A.: Configuration merging for adaptive computer applications. In: Proc. Intl. Conf. On Field-Programmable Logic (FPL) (2005)
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). http://doi.acm.org/10.1145/268946.268956
Koch, A.: Regular datapaths on field-programmable gate arrays. PhD thesis, Tech. Univ. Braunschweig (Germany) (1997)
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)
Koch, A.: FLAME library specification (EIS TR 2004-02). Technical report, Tech. Univ. Braunschweig (2004)
Kunz, J.: Eine placer-modul-erweiterung für den “universal generator for logic circuits on fpgas”. Master’s thesis, Tech. Univ. Darmstadt (2007)
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)
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)
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)
Larus, J.R.: Whole program paths. SIGPLAN Not. 34(5), 259–269 (1999)
Lattner, C.: Llvm: An infrastructure for multi-stage optimization. Master’s thesis, University of Illinois at Urbana-Champaign (USA) (2002). http://www.llvm.org/
Laurich, P.: A comparison of hard real-time linux alternatives (2004). http://www.linuxdevices.com/articles/AT3479098230.html
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)
Lysaght, P., Rosenstiel, W. (eds.): New algorithms, architectures and applications for reconfigurable computing. New Algorithms, Architectures and Applications for Reconfigurable Computing (2005)
Neumann, T., Koch, A.: A generic library for adaptive computing environments. In: International Conference on Field Programmable Logic and Applications (FPL) (2001)
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)
Rose, G.: Using the microprocessor MMU for software protection in real-time systems. Technical report, LynuxWorks, Inc. (2009)
Stanford: The SUIF2 compiler system. http://suif.stanford.edu/suif/suif2/
Thorns, F.: ClaPi—clustering and placement. Master’s thesis, Tech. Univ. Braunschweig (Germany) (2002)
Tool interface standard (TIS) executable and linking format (ELF) specification version 1.2. TIS Committee (1995)
Wewetzer, C.: A universal generator for logic circuits on FPGAs. Master’s thesis, Tech. Univ. Braunschweig (2005)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer Science+Business Media B.V.
About this chapter
Cite this chapter
Koch, A. (2010). Adaptive Computing Systems and Their Design Tools. In: Platzner, M., Teich, J., Wehn, N. (eds) Dynamically Reconfigurable Systems. Springer, Dordrecht. https://doi.org/10.1007/978-90-481-3485-4_6
Download citation
DOI: https://doi.org/10.1007/978-90-481-3485-4_6
Published:
Publisher Name: Springer, Dordrecht
Print ISBN: 978-90-481-3484-7
Online ISBN: 978-90-481-3485-4
eBook Packages: EngineeringEngineering (R0)