Close

A different increment

A project log for PEAC Pisano with End-Around Carry algorithm

Add X to Y and Y to X, says the song. And carry on.

Yann Guidon / YGDESYann Guidon / YGDES 09/23/2021 at 21:240 Comments

So far the harvest of "maximal" or "ideal" sizes has only one very lucky find : w16. Few others have a suitable behaviour. Finding the next ones will be very difficult. Then it struck me that it was only a one-dimensional search. There is no constant but the increment acts like one, right ? So what if we changed it ?

The carry can easily be "multiplied" but this requires a 3-inputs adder with a double carry output. It's still worth studying in SW but there would be no benefit: adding one instruction has a significant performance impact that could make PEAC useless.

Another worthy idea to test is to simply invert the carry's value. This is mostly insignificant in an electronic circuit because "bubble pushing" makes the inverter disappear in other circuits. In SW, this still adds an operation (XOR 1 ?).

Marsaglia proposes other types of operators, such as "subtract with carry". I have no idea what this changes. However this adds 2 options to try, with X-Y and Y-X, and even more options for C+= and C-=.

I'm curious to see how the corresponding statespaces look though I have other priorities so far.

Discussions