# RFC ls010 Simple-V Zero-Overhead Loop Prefix Subsystem
* Funded by NLnet under the Privacy and Enhanced Trust Programme, EU
Horizon2020 Grant 825310, and NGI0 Entrust No 101069594
*
*
*
*
*
*
*
*
**Severity**: Major
**Status**: New
**Date**: 04 Apr 2023. v2 TODO
**Target**: v3.2B
**Source**: v3.1B
**Books and Section affected**:
```
New Book: new Zero-Overhead-Loop
New Appendix, Zero-Overhead-Loop
```
**Summary**
```
Adds a Zero-Overhead-Loop Subsystem based on the Cray True-Scalable Vector concept
in a RISC-paradigm fashion. Total instructions six 5-bit XO, plus Prefix format (PO9).
```
**Submitter**: Luke Leighton (Libre-SOC)
**Requester**: Libre-SOC
**Impact on processor**:
```
Addition of new "Zero-Overhead-Loop-Control" DSP-style Vector-style
subsystem that in simple low-end (Embedded) systems may be minimalistically
and easily be implemented by inserting a new fully-independent Pipeline Stage
in between Decode and Issue, with very little disruption, and in higher
performance pre-existing Multi-Issue Out-of-Order systems seamlessly fits likewise
to significantly boost performance.
```
**Impact on software**:
```
Requires support for new instructions in assembler, debuggers, and related tools.
Dramatically reduces instructions. Requires introduction of term "High-Level Assembler"
```
**Keywords**:
```
Cray Supercomputing, Vectorization, Zero-Overhead-Loop-Control (ZOLC),
True-Scalable Vectors, Multi-Issue Out-of-Order, Sequential Programming Model,
Digital Signal Processing (DSP), High-level Assembler
```
**Motivation**
Just at the time when customers are asking for higher performance,
the seductive lure of SIMD, as outlined in the sigarch "SIMD Considered
Harmful" article, is getting out of control and damaging the reputation
of mainstream general-purpose ISAs that offer it. A solution from
50 years ago exists in the form of Cray-Style True-Scalable Vectors.
However the usual way that True-Scalable Vector ISAs are done *also*
adds more instructions and complexifies the ISA. Simple-V takes a step
back to a simpler era in computing from half a century ago: the Zilog
Z80 CPIR and LDIR instructions, and the 8086 REP instruction, and brings
them forward to Modern-day Computing. The result is a huge reduction in
programming complexity, and a strong base to project the Power ISA back
to the world's most powerful Supercomputing ISA for at least the next two
decades.
**Notes and Observations**:
Related RFCs are [[ls008]] for the two Management instructions `setvl`
and `svstep`, and [[ls009]] for the REMAP Subsystem. Also [[ls001]] is
a Dependency as it introduces Primary Opcode 9 64-bit encoding. An
additional RFC [[ls005.xlen]] introduced XLEN on which SVP64 is also critically
dependent, for Element-width Overrides.
**Changes**
Add the following entries to:
* A new "Vector Looping" Book
* New Vector-Looping Chapters
* New Vector-Looping Appendices
[[!tag opf_rfc]]
--------
\newpage{}
[[!inline pages="openpower/sv/svp64" raw=yes ]]
[[!inline pages="openpower/sv/normal" raw=yes ]]
[[!inline pages="openpower/sv/ldst" raw=yes ]]
[[!inline pages="openpower/sv/branches" raw=yes ]]
[[!inline pages="openpower/sv/cr_ops" raw=yes ]]
[[!inline pages="openpower/sv/svp64/appendix" raw=yes ]]
[[!inline pages="openpower/sv/compliancy_levels" raw=yes ]]