Design Principles for Synthesizable Processor Cores

  • Pascal Schleuniger
  • Sally A. McKee
  • Sven Karlsson
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7179)

Abstract

As FPGAs get more competitive, synthesizable processor cores become an attractive choice for embedded computing. Currently popular commercial processor cores do not fully exploit current FPGA architectures. In this paper, we propose general design principles to increase instruction throughput on FPGA-based processor cores: first, superpipelining enables higher-frequency system clocks, and second, predicated instructions circumvent costly pipeline stalls due to branches. To evaluate their effects, we develop Tinuso, a processor architecture optimized for FPGA implementation. We demonstrate through the use of micro-benchmarks that our principles guide the design of a processor core that improves performance by an average of 38% over a similar Xilinx MicroBlaze configuration.

Keywords

synthesizable processor core FPGA predication pipelining 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ahuja, P., Clark, D., Rogers, A.: The performance impact of incomplete bypassing in processor pipelines. In: Proceedings of International Symposium on Microarchitecture MICRO - 28 (1995)Google Scholar
  2. 2.
    ARM: ARM Cortex-M1 Frequency and Area, http://www.arm.com/products/processors/cortex-m/cortex-m1.php (retrieved on October 5, 2011)
  3. 3.
    Bird, S., Phansalkar, A., John, L., Mercas, A., Idukuru, R.: Performance characterization of SPEC CPU benchmarks on Intel’s Core microarchitecture based processor. In: Proceedings of SPEC Benchmark Workshop (2007)Google Scholar
  4. 4.
    Connors, D.A., Puiatti, J.-M., August, D.I., Crozier, K.M., Hwu, W.-m.W.: An architecture framework for introducing predicated execution into embedded microprocessors. In: Amestoy, P.R., Berger, P., Daydé, M., Duff, I.S., Frayssé, V., Giraud, L., Ruiz, D. (eds.) Euro-Par 1999. LNCS, vol. 1685, p. 1301. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  5. 5.
    Ehliar, A., Karlstrom, P., Liu, D.: A high performance microprocessor with DSP extensions optimized for the Virtex-4 FPGA. In: Proceedings of International Conference on Field Programmable Logic and Applications, FPL-18 (2008)Google Scholar
  6. 6.
    Ehliar, A., Liu, D.: An ASIC perspective on fpga optimizations. In: Proceedings of International Conference on Field Programmable Logic and Applications, FPL-20 (2009)Google Scholar
  7. 7.
    Mesa-Martinez, F., et al.: SCOORE santa cruz out-of-order RISC engine, FPGA design issues. In: Proceedings of Workshop on Architectural Research Prototyping WARP, Held in Conjunction with ISCA-33 (2006)Google Scholar
  8. 8.
    Lattice Semiconductor: Latticemico32 processor reference manual v8.1 (2010), http://www.latticesemi.com/documents/lm32_archman.pdf (retrieved on March 25, 2011)
  9. 9.
    Lattice Semiconductor: LatticeMico32 Product Brief I0186 (2011), http://www.latticesemi.com/documents/I0186.pdf (retrieved on October 5, 2011)
  10. 10.
    Palacharla, S., Jouppi, N., Smith, J.: Complexity-effective superscalar processors. In: Proceedings of International Symposium on Computer Architecture, ISCA - 24 (1997)Google Scholar
  11. 11.
    Tong, J., Anderson, I., Khalid, M.: Soft-core processors for embedded systems. In: Proceedings of International Conference on Microelectronics, ICM-18 (2006)Google Scholar
  12. 12.
    Xilinx: MicroBlaze Processor Reference Guide UG081 v12.0 (2011), http://www.xilinx.com/support/documentation/sw_manuals/xilinx13_1/mb_ref_guide.pdf (retrieved on October 5, 2011)

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Pascal Schleuniger
    • 1
  • Sally A. McKee
    • 2
  • Sven Karlsson
    • 1
  1. 1.DTU InformaticsTechnical University of DenmarkDenmark
  2. 2.Computer Science EngineeringChalmers University of TechnologySweden

Personalised recommendations