• DocumentCode
    3300254
  • Title

    Parallelizing applications into silicon

  • Author

    Babb, Jonathan ; Rinard, Martin ; Moritz, Csaba Andras ; Lee, Walter ; Frank, Matthew ; Barua, Rajeev ; Amarasinghe, Saman

  • Author_Institution
    Lab. for Comput. Sci., MIT, Cambridge, MA, USA
  • fYear
    1999
  • fDate
    1999
  • Firstpage
    70
  • Lastpage
    80
  • Abstract
    The next decade of computing will be dominated by embedded systems, information appliances and application-specific computers. In order to build these systems, designers will need high-level compilation and CAD tools that generate architectures that effectively meet the needs of each application. In this paper we present a novel compilation system that allows sequential programs, written in C or FORTRAN, to be compiled directly into custom silicon or reconfigurable architectures. This capability is also interesting because trends in computer architecture are moving towards more reconfigurable hardware-like substrates, such as FPGA based systems. Our system works by successfully combining two resource-efficient computing disciplines: Small Memories and Virtual Wires. For a given application, the compiler first analyzes the memory access patterns of pointers and arrays in the program and constructs a partitioned memory system made up of many small memories. The computation is implemented by active computing elements that are spatially distributed within the memory array. A space-time scheduler assigns instructions to the computing elements in a way that maximizes locality and minimizes physical communication distance. It also generates an efficient static schedule for the interconnect. Finally, specialized hardware for the resulting schedule of memory accesses, wires, and computation is generated as a multi-process state machine in synthesizable Verilog. With this system, implemented as a set of SUIF compiler passes, we have successfully compiled programs into hardware and achieve specialization performance enhancements by up to an order of magnitude versus a single general purpose processor. We also achieve additional parallelization speedups similar to those obtainable using a tightly-interconnected multiprocessor
  • Keywords
    embedded systems; parallelising compilers; reconfigurable architectures; FPGA based systems; active computing; compilation system; computer architecture; custom silicon; multi-process state machine; parallelization; reconfigurable architectures; Application software; Distributed computing; Embedded computing; Embedded system; Hardware; Home appliances; Processor scheduling; Program processors; Silicon; Wires;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Field-Programmable Custom Computing Machines, 1999. FCCM '99. Proceedings. Seventh Annual IEEE Symposium on
  • Conference_Location
    Napa Valley, CA
  • Print_ISBN
    0-7695-0375-6
  • Type

    conf

  • DOI
    10.1109/FPGA.1999.803669
  • Filename
    803669