[libre-riscv-dev] [isa-dev] Re: FP transcendentals (trigonometry, root/exp/log) proposal
MitchAlsup
MitchAlsup at aol.com
Thu Aug 8 21:15:32 BST 2019
On Thursday, August 8, 2019 at 1:19:38 PM UTC-5, Dan Petrisko wrote:
>
> maybe a solution would be to add an extra field to the fp control csr (or
>> isamux?) to allow selecting one of several accurate or fast modes:
>
>
> Preface: As Andrew points out, any ISA proposal must be associated with a
> quantitative evaluation to consider tradeoffs.
>
> A natural place for a standard reduced accuracy extension "Zfpacc" would
> be in the reserved bits of FCSR.
>
In my patent application concerning double precision transcendentals, I
invented another way.
The HW is in the position to KNOW if it is potentially making an incorrect
rounding,
and in the My 66000 architecture, there is a exception that can be enabled
to transfer control when the HW is about to deliver a potentially
improperly rounded result. Should the application enable said exception, a
rounding not KNOWN to be correct will transfer control to some SW that can
fix the problem.
The My 66000 ISA can deliver control to the trap handler in about a dozen
cycles (complete with register file swapping) and back in about another
dozen cycles.
If the trap rate is less than 1% and the trap overhead to deliver a correct
result is on the order of 300 cycles, then the user will see a 5% penalty
in wall clock time while never seeing an incorrectly rounded result. That
5% penalty is 1 clock when transcendentals only take 20 cycles to complete.
HW skimps in precision, SW takes over when there is potential for error,
and the overhead is essentially negligible.
But note:: this is root claim 4 in my patent application.
Note 2:: The slower the TRAP/RETT is the better the HW needs to be to have
negligible overhead.
More information about the libre-riscv-dev
mailing list