Snitch: A tiny Pseudo Dual-Issue Processor for Area and Energy Efficient Execution of Floating-Point Intensive Workloads
arXiv:2002.10143 · doi:10.1109/TC.2020.3027900
Abstract
Data-parallel applications, such as data analytics, machine learning, and scientific computing, are placing an ever-growing demand on floating-point operations per second on emerging systems. With increasing integration density, the quest for energy efficiency becomes the number one design concern. While dedicated accelerators provide high energy efficiency, they are over-specialized and hard to adjust to algorithmic changes. We propose an architectural concept that tackles the issues of achieving extreme energy efficiency while still maintaining high flexibility as a general-purpose compute engine. The key idea is to pair a tiny 10kGE control core, called Snitch, with a double-precision FPU to adjust the compute to control ratio. While traditionally minimizing non-FPU area and achieving high floating-point utilization has been a trade-off, with Snitch, we achieve them both, by enhancing the ISA with two minimally intrusive extensions: stream semantic registers (SSR) and a floating-point repetition instruction (FREP). SSRs allow the core to implicitly encode load/store instructions as register reads/writes, eliding many explicit memory instructions. The FREP extension decouples the floating-point and integer pipeline by sequencing instructions from a micro-loop buffer. These ISA extensions significantly reduce the pressure on the core and free it up for other tasks, making Snitch and FPU effectively dual-issue at a minimal incremental cost of 3.2%. The two low overhead ISA extensions make Snitch more flexible than a contemporary vector processor lane, achieving a energy-efficiency improvement. We have evaluated the proposed core and ISA extensions on an octa-core cluster in 22nm technology. We achieve more than multi-core speed-up and a gain in energy efficiency on several parallel microkernels.
References in corpus (3)
- The Cost of Application-Class Processing: Energy and Performance Analysis of a Linux-ready 1.7GHz 64bit RISC-V Core in 22nm FDSOI Technology
- The ARM Scalable Vector Extension
- Ara: A 1 GHz+ Scalable and Energy-Efficient RISC-V Vector Processor with Multi-Precision Floating Point Support in 22 nm FD-SOI
Cited by in corpus (26)
- Ara2: Exploring Single- and Multi-Core Vector Processing with an Efficient RVV 1.0 Compliant Open-Source Processor
- MemPool: A Scalable Manycore Architecture with a Low-Latency Shared L1 Memory
- Spatz: A Compact Vector Processing Unit for High-Performance and Energy-Efficient Shared-L1 Clusters
- Dalorex: A Data-Local Program Execution and Architecture for Memory-bound Applications
- A transprecision floating-point cluster for efficient near-sensor data analytics
- Sparse Stream Semantic Registers: A Lightweight ISA Extension Accelerating General Sparse Linear Algebra
- FlooNoC: A 645 Gbps/link 0.15 pJ/B/hop Open-Source NoC with Wide Physical Links and End-to-End AXI4 Parallel Multi-Stream Support
- Composite Enclaves: Towards Disaggregated Trusted Execution
- Occamy: A 432-Core Dual-Chiplet Dual-HBM2E 768-DP-GFLOP/s RISC-V System for 8-to-64-bit Dense and Sparse Computing in 12nm FinFET
- TeraPool-SDR: An 1.89TOPS 1024 RV-Cores 4MiB Shared-L1 Cluster for Next-Generation Open-Source Software-Defined Radios
- FlooNoC: A Multi-Tbps Wide NoC for Heterogeneous AXI4 Traffic
- Toward Attention-based TinyML: A Heterogeneous Accelerated Architecture and Automated Deployment Flow
- MemPool-3D: Boosting Performance and Efficiency of Shared-L1 Memory Many-Core Clusters with 3D Integration
- A Multi-level Compiler Backend for Accelerated Micro-kernels Targeting RISC-V ISA Extensions
- PsPIN: A high-performance low-power architecture for flexible in-network compute
- A 66-Gb/s/5.5-W RISC-V Many-Core Cluster for 5G+ Software-Defined Radio Uplinks
- Taming Offload Overheads in a Massively Parallel Open-Source RISC-V MPSoC: Analysis and Optimization
- MemPool: A Shared-L1 Memory Many-Core Cluster with a Low-Latency Interconnect
- Dual-Issue Execution of Mixed Integer and Floating-Point Workloads on Energy-Efficient In-Order RISC-V Cores
- PerfDojo: Automated ML Library Generation for Heterogeneous Architectures
- Precision-Scalable Microscaling Datapaths with Optimized Reduction Tree for Efficient NPU Integration
- A Multicast-Capable AXI Crossbar for Many-core Machine Learning Accelerators
- Efficient transformer adaptation for analog in-memory computing via low-rank adapters
- TROOP: At-the-Roofline Performance for Vector Processors on Low Operational Intensity Workloads
- Late Breaking Results: A RISC-V ISA Extension for Chaining in Scalar Processors
- Implementing CNN Layers on the Manticore Cluster-Based Many-Core Architecture