[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to main content

FPGA-Extended General Purpose Computer Architecture

  • Conference paper
  • First Online:
Applied Reconfigurable Computing. Architectures, Tools, and Applications (ARC 2022)

Abstract

This paper introduces a computer architecture, where part of the instruction set architecture (ISA) is implemented on small highly-integrated field-programmable gate arrays (FPGAs). Small FPGAs inside a general-purpose processor (CPU) can be used effectively to implement custom or standardised instructions. Our proposed architecture directly address related challenges for high-end CPUs, where such highly-integrated FPGAs would have the highest impact, such as on main memory bandwidth. This also enables software-transparent context-switching. The simulation-based evaluation of a dynamically reconfigurable core shows promising results approaching the performance of an equivalent core with all enabled instructions. Finally, the feasibility of adopting the proposed architecture in today’s CPUs is studied through the prototyping of fast-reconfigurable FPGAs and profiling the miss behaviour of opcodes.

The first author is now with Huawei Technologies R &D (UK) Limited.

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

Access this chapter

Subscribe and save

Springer+ Basic
£29.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
GBP 19.95
Price includes VAT (United Kingdom)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
GBP 39.99
Price includes VAT (United Kingdom)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
GBP 49.99
Price includes VAT (United Kingdom)
  • 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

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    Source code available: https://github.com/pphilippos/fpga-ext-arch.

References

  1. RISC-V “V” Vector Extension, Version 0.9 (2020)

    Google Scholar 

  2. RISC-V “B” Bitmanip Extension, Version 0.94-draft (2021)

    Google Scholar 

  3. Waterman, A., Asanovic, K.: The RISC-V instruction set manual, volume I: Unprivileged ISA, version 20191214-draft. RISC-V Foundation, Technical report (2020)

    Google Scholar 

  4. Achronix Semiconductor Corp.: Speedcore architecture. https://www.achronix.com/speedcore-architecture. Accessed 10 Apr 2022

  5. Ahmed, S.Z.: eFPGAs: Architectural explorations, system integration & a visionary industrial survey of programmable technologies. Ph.D. dissertation, Université Montpellier II-Sciences et Techniques du Languedoc (2011)

    Google Scholar 

  6. Akshintala, A., Jain, B., Tsai, C.-C., Ferdman, M., Porter, D.E.: X86-64 instruction usage among C/C++ applications. In: Proceedings of the 12th ACM International Conference on Systems and Storage, pp. 68–79 (2019)

    Google Scholar 

  7. Alonso, G., Istvan, Z., Kara, K., Owaida, M., Sidler, D.: doppioDB 1.0: machine learning inside a relational engine. IEEE Data Eng. Bull. 42(2), 19–31 (2019)

    Google Scholar 

  8. Barry, R.: FreeRTOS reference manual: API functions and configuration options. Real Time Engineers Limited (2009)

    Google Scholar 

  9. Bauer, L., Shafique, M., Henkel, J.: RISPP: a run-time adaptive reconfigurable embedded processor. In: 2009 International Conference on Field Programmable Logic and Applications, pp. 725–726. IEEE (2009)

    Google Scholar 

  10. Bordawekar, R., Bondhugula, U., Rao, R.: Can cpus match GPUs on performance with productivity?: experiences with optimizing a flop-intensive application on CPUs and GPU. IBM Research Report, RC25033, Technical report (2010)

    Google Scholar 

  11. Cebrian, J.M., Natvig, L., Jahre, M.: Scalability analysis of AVX-512 extensions. J. Supercomput. 76(3), 2082–2097 (2020)

    Article  Google Scholar 

  12. Chang, Y.-J.: Exploiting frequent opcode locality for power efficient instruction cache. In: Proceedings of the 18th ACM Great Lakes Symposium on VLSI, pp. 399–402 (2008)

    Google Scholar 

  13. Clark, N., Blome, J., Chu, M., Mahlke, S., Biles, S., Flautner, K.: An architecture framework for transparent instruction set customization in embedded processors. In: 32nd International Symposium on Computer Architecture (ISCA 2005), pp. 272–283. IEEE (2005)

    Google Scholar 

  14. Gottschlag, M., Schmidt, T., Bellosa, F.: AVX overhead profiling: How much does your fast code slow you down? In: Proceedings of the 11th ACM SIGOPS Asia-Pacific Workshop on Systems, Series APSys 2020, pp. 59–66. ACM (2020)

    Google Scholar 

  15. Grosbach, J.H., Conner, J.M., Catherwood, M.: Modified harvard architecture processor having program memory space mapped to data memory space. US Patent 6,728,856, 27 April 2004

    Google Scholar 

  16. Hauser, J.R., Wawrzynek, J.: Garp: a MIPS processor with a reconfigurable coprocessor. In: Proceedings of the 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines Cat. No. 97TB100186), pp. 12–21. IEEE (1997)

    Google Scholar 

  17. Intel (R), Intel (R): Intel intrinsics guide. https://software.intel.com/sites/landingpage/IntrinsicsGuide/

  18. Koch, D., Dao, N., Healy, B., Yu, J., Attwood, A.: FABulous: an embedded FPGA framework. In: The 2021 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, pp. 45–56 (2021)

    Google Scholar 

  19. Luk, C.-K., et al.: Pin: building customized program analysis tools with dynamic instrumentation. ACM Sigplan Not. 40(6), 190–200 (2005)

    Article  Google Scholar 

  20. Ordaz, J.R.G., Koch, D.: A soft dual-processor system with a partially run-time reconfigurable shared 128-bit SIMD engine. In: 29th International Conference on Application-specific Systems, Architectures and Processors (ASAP), pp. 1–8. IEEE (2018)

    Google Scholar 

  21. Papaphilippou, P., Luk, W.: Accelerating database systems using FPGAs: a survey. In: 2018 28th International Conference on Field Programmable Logic and Applications (FPL), pp. 125–130. IEEE (2018)

    Google Scholar 

  22. Papaphilippou, P., Kelly Paul, H.J., Luk, W.: Simodense: a RISC-V softcore optimised for exploring custom SIMD instructions. In: 2021 31st International Conference on Field-Programmable Logic and Applications (FPL), pp. 391–397 (2021)

    Google Scholar 

  23. Patterson, D., Bennett, J., Dabbelt, P., Garlati, C., Madhusudan, G., Mudge, T.: Embench: a modern embedded benchmark suite (2020)

    Google Scholar 

  24. Shah, D., Hung, E., Wolf, C., Bazanski, S., Gisselquist, D., Milanovic, M.: Yosys+nextpnr: an open source framework from verilog to bitstream for commercial FPGAs. In: IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM) (2019)

    Google Scholar 

  25. Suggs, D., Subramony, M., Bouvier, D.: The AMD “Zen 2’’ processor. IEEE Micro 40(2), 45–52 (2020)

    Article  Google Scholar 

  26. Wang, Y.E., Wei, G.-Y., Brooks, D.: Benchmarking TPU, GPU, and CPU platforms for deep learning. arXiv preprint arXiv:1907.10701 (2019)

  27. Wirthlin, M.J., Hutchings, B.L.: DISC: the dynamic instruction set computer. In: Field Programmable Gate Arrays (FPGAs) for Fast Board Development and Reconfigurable Computing, vol. 2607, pp. 92–103. SPIE (1995)

    Google Scholar 

  28. Wolf, C.: PicoRV32-a size-optimized RISC-V CPU (2019)

    Google Scholar 

  29. Xilinx Inc.: Vivado Design Suite User Guide, Partial Reconfiguration - UG909 (v2018.1) (2018)

    Google Scholar 

  30. Ye, Z.A., Moshovos, A., Hauck, S., Banerjee, P.: CHIMAERA: a high-performance architecture with a tightly-coupled reconfigurable functional unit. ACM SIGARCH Comput. Archit. News 28(2), 225–235 (2000)

    Article  Google Scholar 

Download references

Acknowledgement

We would like to thank Anuj Vaishnav for his feedback on an earlier version. The second author mainly contributed with the Sect. 5.1.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Philippos Papaphilippou .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Papaphilippou, P., Shah, M. (2022). FPGA-Extended General Purpose Computer Architecture. In: Gan, L., Wang, Y., Xue, W., Chau, T. (eds) Applied Reconfigurable Computing. Architectures, Tools, and Applications. ARC 2022. Lecture Notes in Computer Science, vol 13569. Springer, Cham. https://doi.org/10.1007/978-3-031-19983-7_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-19983-7_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-19982-0

  • Online ISBN: 978-3-031-19983-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics