[Libre-soc-bugs] [Bug 230] Video opcode development and discussion

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Fri Dec 11 23:51:17 GMT 2020


https://bugs.libre-soc.org/show_bug.cgi?id=230

--- Comment #20 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #19)

> MAXVL is fixed and known at compile time, not at cpu-design-time.

sorry, we're talking cross-purposes.  at compile-time, yes, however there will
be different MAXVLs for different programs.  i was talking in general about the
fact that SIMD is effectively a hard-fixed MAXVL.

if we were to say "hmm we expect that *most* operations will have a MAXVL of 16
therefore we can create a hard-coded mapreduce network of wires to use for
performing hard-coded 16-long mapreduces" this is not going to fly.

> Adding a microcoded reduce op will allow optimizing for VL which is a
> runtime-variable instead of maxvl, as well as reducing extraneous moves and
> reducing power. Also, a hw-level reduce op could use a 4-way add-reduce ALU,
> kinda like the adder tree part of a wallace tree multiplier.

indeed... and, again: back to comment #13 this requires that the micro-coded
intermediate ops have a storage location for the temporary results.

(putting the temporary results in the regfile is not acceptable)

thinking that through is an exercise that i have done many times.  all designs
involving temporary result storage require far more complexity than i am
comfortable with committing to within an already heavily pressured timeframe
where we are at least 8 months behind where we should be.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list