Instruction Scheduling in the Saturn Vector Unit
Jerry Zhao, Daniel Grubb, Miles Rusch, Tianrui Wei, Kevin Anderson,, Borivoje Nikolic, Krste Asanovic

TL;DR
This paper introduces the Saturn Vector Unit, a microarchitecture for short-vector-length vector units that achieves efficient instruction scheduling, supporting features like out-of-order execution and zero dead-time, with competitive power, performance, and area.
Contribution
It presents a novel instruction scheduling microarchitecture tailored for short-vector-length vector units, enabling efficient execution with low complexity.
Findings
Saturn achieves comparable or better power, performance, and area than existing implementations.
Supports fine-granularity chaining and multi-issue out-of-order execution.
Demonstrates effective instruction sequencing in short-vector architectures.
Abstract
While the challenges and solutions for efficient execution of scalable vector ISAs on long-vector-length microarchitectures have been well established, not all of these solutions are suitable for short-vector-length implementations. This work proposes a novel microarchitecture for instruction sequencing in vector units with short architectural vector lengths. The proposed microarchitecture supports fine-granularity chaining, multi-issue out-of-order execution, zero dead-time, and run-ahead memory accesses with low area or complexity costs. We present the Saturn Vector Unit, a RTL implementation of a RVV vector unit. With our instruction scheduling mechanism, Saturn exhibits comparable or superior power, performance, and area characteristics compared to state-of-the-art long-vector and short-vector implementations.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsReservoir Engineering and Simulation Methods · Distributed and Parallel Computing Systems
