Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Microarchitecture and Circuits for a 200 MHz Out-of-Order Soft Processor Memory System

Published: 09 December 2016 Publication History
  • Get Citation Alerts
  • Abstract

    Although FPGAs have grown in capacity, FPGA-based soft processors have grown very little because of the difficulty of achieving higher performance in exchange for area. Superscalar out-of-order processors promise large performance gains, and the memory subsystem is a key part of such a processor that must help supply increased performance. In this article, we describe and explore microarchitectural and circuit-level tradeoffs in the design of such a memory system. We show the significant instructions-per-cycle wins for providing various levels of out-of-order memory access and memory dependence speculation (1.32 × SPECint2000) and for the addition of a second-level cache (another 1.60 × ). With careful microarchitecture and circuit design, we also achieve a L1 translation lookaside buffers and cache lookup with 29% less logic delay than the simpler Nios II/f memory system.

    References

    [1]
    K. Aasaraai and A. Moshovos. 2010. An efficient non-blocking data cache for soft processors. In Proc. ReConFig. 19--24.
    [2]
    A. M. S. Abdelhadi and G. G. F. Lemieux. 2015. Modular SRAM-based binary content-addressable memories. In Proc. FCCM. 207--214.
    [3]
    Altera. 2015. Nios II Gen2 Processor Reference Guide.
    [4]
    ARM. 2012. ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition.
    [5]
    J.-L. Brelet and L. Gopalakrishnan. 2002. Using Virtex-II Block RAM for High Performance Read/Write CAMs. Xilinx Application Note XAPP260. (2002).
    [6]
    Christopher Celio, David A. Patterson, and Krste Asanovic. 2015. The Berkeley Out-of-Order Machine (BOOM): An Industry-Competitive, Synthesizable, Parameterized RISC-V Processor. Technical Report UCB/EECS-2015-167. EECS Department, University of California, Berkeley. Retrieved from http://www.eecs.berkeley.edu/Pubs/TechRpts/2015/EECS-2015-167.html.
    [7]
    Aeroflex Gaisler. 2015. GRLIP IP Core User’s Manual 1.4.1.
    [8]
    M. R. Guthaus, J. S. Ringenberg, D. Ernst, T. M. Austin, T. Mudge, and R. B. Brown. 2001. MiBench: A free, commercially representative embedded benchmark suite. In Workshop on Workload Characterization(WWC-4). 3--14.
    [9]
    John L. Hennessy and David A. Patterson. 2003. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, San Francisco, CA.
    [10]
    Aamer Jaleel. 2007. Memory Characterization of Workloads Using Instrumentation-Driven Simulation. Technical Report. Intel VSSAD.
    [11]
    David Kroft. 1981. Lockup-free instruction fetch/prefetch cache organization. In Proc. ISCA. Minneapolis, MN, 81--87.
    [12]
    Belli Kuttanna. 2013. Technology Insight: Intel Silvermont Microarchitecture. IDF 2013, Retrieved from https://software.intel.com/sites/default/files/managed/bb/2c/02_Intel_Silvermont_Microarchitecture.pdf. (2013).
    [13]
    Damjan Lampret. OpenRISC 1200 IP Core Specification.
    [14]
    Kevin P. Lawton. 1996. Bochs: A portable PC emulator for Unix/X. Linux J. 1996, 29es, Article 7 (Sept. 1996).
    [15]
    Yunsup Lee, A. Waterman, R. Avizienis, H. Cook, Chen Sun, V. Stojanovic, and K. Asanovic. 2014. A 45nm 1.3GHz 16.7 double-precision GFLOPS/W RISC-V processor with vector accelerators. In European Solid State Circuits Conference (ESSCIRC). 199--202.
    [16]
    Shih-Lien L. Lu, Peter Yiannacouras, Rolf Kassa, Michael Konow, and Taeweon Suh. 2007. An FPGA-based Pentium in a complete desktop system. In Proc. FPGA. 53--59.
    [17]
    Andreas Moshovos. 1997. Dynamic speculation and synchronization of data dependencies. In Proc. ISCA. 181--193.
    [18]
    J. Power, M. D. Hill, and D. A. Wood. 2014. Supporting x86-64 address translation for 100s of GPU lanes. In Proc. HPCA. 568--578.
    [19]
    Graham Schelle, Jamison Collins, Ethan Schuchman, Perry Wang, Xiang Zou, Gautham Chinya, Ralf Plate, Thorsten Mattner, Franz Olbrich, Per Hammarlund, Ronak Singhal, Jim Brayton, Sebastian Steibl, and Hong Wang. 2010. Intel Nehalem processor core made FPGA synthesizable. In Proc. FPGA. 3--12.
    [20]
    SPEC. 2000. SPEC CPU95 Results. Retrieved from https://www.spec.org/cpu95/results/. (2000).
    [21]
    Perry H. Wang, Jamison D. Collins, Christopher T. Weaver, Blliappa Kuttanna, Shahram Salamian, Gautham N. Chinya, Ethan Schuchman, Oliver Schilling, Thorsten Doil, Sebastian Steibl, and Hong Wang. 2009. Intel Atom processor core made FPGA-synthesizable. In Proc. FPGA. 209--218.
    [22]
    Henry Wong, Vaughn Betz, and Jonathan Rose. 2011. Comparing FPGA vs. custom CMOS and the impact on processor microarchitecture. In Proc. FPGA. 5--14.
    [23]
    Henry Wong, Vaughn Betz, and Jonathan Rose. 2013. Efficient methods for out-of-order load/store execution for high-performance soft processors. In Proc. FPT. 442--445.
    [24]
    Jonathan D. Woodruff. 2014. CHERI: A RISC Capability Machine for Practical Memory Safety. Ph.D. Dissertation. University of Cambridge.
    [25]
    Xilinx. 2014. MicroBlaze Processor Reference Guide.

    Cited By

    View all
    • (2022)Late-Stage Optimization of Modern ILP Processor Cores via FPGA SimulationApplied Sciences10.3390/app12231222512:23(12225)Online publication date: 29-Nov-2022
    • (2020)Delay and Bypass: Ready and Criticality Aware Instruction Scheduling in Out-of-Order Processors2020 IEEE International Symposium on High Performance Computer Architecture (HPCA)10.1109/HPCA47549.2020.00042(424-434)Online publication date: Feb-2020
    • (2020)Exploring Writeback Designs for Efficiently Leveraging Parallel-Execution Units in FPGA-Based Soft-Processors2020 IEEE 28th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM)10.1109/FCCM48280.2020.00025(120-128)Online publication date: May-2020
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Reconfigurable Technology and Systems
    ACM Transactions on Reconfigurable Technology and Systems  Volume 10, Issue 1
    March 2017
    206 pages
    ISSN:1936-7406
    EISSN:1936-7414
    DOI:10.1145/3002131
    • Editor:
    • Steve Wilton
    Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 09 December 2016
    Accepted: 01 July 2016
    Revised: 01 June 2016
    Received: 01 February 2016
    Published in TRETS Volume 10, Issue 1

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Soft processor
    2. caches
    3. out-of-order execution

    Qualifiers

    • Research-article
    • Research
    • Refereed

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)12
    • Downloads (Last 6 weeks)0

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)Late-Stage Optimization of Modern ILP Processor Cores via FPGA SimulationApplied Sciences10.3390/app12231222512:23(12225)Online publication date: 29-Nov-2022
    • (2020)Delay and Bypass: Ready and Criticality Aware Instruction Scheduling in Out-of-Order Processors2020 IEEE International Symposium on High Performance Computer Architecture (HPCA)10.1109/HPCA47549.2020.00042(424-434)Online publication date: Feb-2020
    • (2020)Exploring Writeback Designs for Efficiently Leveraging Parallel-Execution Units in FPGA-Based Soft-Processors2020 IEEE 28th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM)10.1109/FCCM48280.2020.00025(120-128)Online publication date: May-2020
    • (2019)An Open Source FPGA-Optimized Out-of-Order RISC-V Soft Processor2019 International Conference on Field-Programmable Technology (ICFPT)10.1109/ICFPT47387.2019.00016(63-71)Online publication date: Dec-2019
    • (2018)Evaluating the Performance Efficiency of a Soft-Processor, Variable-Length, Parallel-Execution-Unit Architecture for FPGAs Using the RISC-V ISA2018 IEEE 26th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM)10.1109/FCCM.2018.00010(1-8)Online publication date: Apr-2018

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media