Skip to main content

Memory Access Optimization and RAM Inference for Pipeline Vectorization

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1673))

Abstract

This paper describes memory access optimization in the context of pipeline vectorization, a method for synthesizing hardware pipe- lines in reconfigurable systems from software program loops. Since many algorithms for reconfigurable coprocessors are I/O bound, the throughput of the coprocessor is determined by the external memory accesses. Thus access optimizations directly improve the system’s performance. Two kinds of optimizations have been studied. First, we consider methods for reducing the number of accesses based on saving frequently-used data in on-chip storage. In particular, recent FPGAs provide on-chip RAM which can be used for this purpose. We present RAM inference, a technique which automatically extracts small on-chip RAMs to reduce external memory accesses. Second, we aim to minimize the time spent on external accesses by scheduling as many accesses in parallel as possible. This optimization only applies to architectures with multiple memory banks. We present a technique which allocates program arrays to memory banks, thereby minimizing the overall access time.

This work is supported by a European Union training project financed by the Commission in the TMR programme, the UK Engineering and Physical Sciences Research Council, Embedded Solutions Ltd., and Xilinx Inc.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Weinhardt, M., Luk, W.: Pipeline vectorization for reconfigurable systems. In: Proc. FCCM 1999. IEEE Computer Society Press, Los Alamitos (1999)

    Google Scholar 

  2. Haug, G., Rosenstiel, W.: Reconfigurable hardware as shared resource in multipurpose computers. In: Proc. FPL 1998. Springer, Heidelberg (1998)

    Google Scholar 

  3. Gokhale, M.B., Stone, J.M.: NAPA C: compiling for a hybrid RISC/FPGA architecture. In: Proc. FCCM 1998. IEEE Computer Society Press, Los Alamitos (1998)

    Google Scholar 

  4. Weinhardt, M.: Compilation and pipeline synthesis for reconfigurable architectures. In: Reconfigurable Architectures Workshop RAW 1997 (1997)

    Google Scholar 

  5. Weinhardt, M.: Übersetzungsmethoden für strukturprogrammierbare Rechner (Compilation techniques for structurally programmable computers, in German). PhD thesis, Universität Karlsruhe (July 1997)

    Google Scholar 

  6. Guccione, S.A., Gonzalez, M.J.: A data-parallel programming model for reconfigurable architectures. In: Proc. FCCM 1993. IEEE Computer Society Press, Los Alamitos (1993)

    Google Scholar 

  7. Nisbet, S., Guccione, S.A.: The XC6200DS development system. In: Glesner, M., Luk, W. (eds.) FPL 1997. LNCS, vol. 1304. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  8. Buell, D.A., Arnold, J.M., Kleinfelder, W.J.: Splash 2 - FPGAs in a Custom Computing Machine. IEEE Computer Society Press, Los Alamitos (1996)

    Google Scholar 

  9. Embedded Solutions Limited. RC1000-PP Product Information Sheet, http://www.embedded-solutions.ltd.uk/ProdApp/RC1000PP.htm

  10. Gokhale, M.B., Stone, J.M.: Automatic allocation of arrays to memories in FPGA processors with multiple memory banks. In: Proc. FCCM 1999. IEEE Computer Society Press, Los Alamitos (1999)

    Google Scholar 

  11. Myler, H.R., Weeks, A.R.: Computer Imaging Recipes in C. Prentice Hall, Englewood Cliffs (1993)

    Google Scholar 

  12. Berkelaar, M.: Unix manual page of lp_solve. Eindhoven University of Technology, Design Automation Section (1992)

    Google Scholar 

  13. Weinhardt, M.: Integer programming for partitioning in software oriented codesign. In: Proc. FPL 1995, Springer, Heidelberg (1995)

    Google Scholar 

  14. Embedded Solutions Limited. Handel-C Reference Manual (1998)

    Google Scholar 

  15. The Stanford SUIF Compiler Group. Homepage, http://suif.stanford.edu

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Weinhardt, M., Luk, W. (1999). Memory Access Optimization and RAM Inference for Pipeline Vectorization. In: Lysaght, P., Irvine, J., Hartenstein, R. (eds) Field Programmable Logic and Applications. FPL 1999. Lecture Notes in Computer Science, vol 1673. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-48302-1_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-48302-1_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66457-4

  • Online ISBN: 978-3-540-48302-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics