Hi all,Based on the RISC-V vector spec, precise exceptions are required for VM support and Linux.What is the efficient mechanism to support precise exceptions for vector instructions (e.g. page faults caused by vector loads/stores) in an in-order core?Is the only solution blocking the scalar core and waiting until the vector instruction is known to be non-speculative i.e. the vector unit signals no exceptions (semi-decoupled vector unit)?If not, how the subsequent instructions in the scalar pipeline should be handled in the case of a faulting vector instruction and OOO flushes?
Is there any in-order RISC-V cores with precise exception support for vectors?
Thank you,Zara
--
You received this message because you are subscribed to the Google Groups "RISC-V HW Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hw-dev+un...@groups.riscv.org.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/hw-dev/dc4f5da1-df14-41ad-ad66-aa9fc2e5f5b4n%40groups.riscv.org.
On Jul 5, 2021, at 8:39 PM, Andrew Waterman <and...@sifive.com> wrote:
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/hw-dev/CA%2B%2B6G0ChLXDAvUqXiATBMEZux29Rx0zHdMbzw6PBC%3DnTdif0Bw%40mail.gmail.com.
Hi Andrew,The hard case for this seems to be gather/scatter type instructions, which could trigger faults on any page accessed. Is there a trick for proving these instructions will not fault, other than manually iterating over the scalar TLB? (Of course, one could also imagine other solutions like specialized vector TLBs which can do strided checks).
On Jul 6, 2021, at 2:53 PM, Andrew Waterman <and...@sifive.com> wrote:
In the general case, there is no way around checking each effective address while holding up retirement of younger instructions. Of course, for many workloads, this level of indexed memory access performance is fine.
Best,Zara
--
You received this message because you are subscribed to the Google Groups "RISC-V HW Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hw-dev+un...@groups.riscv.org.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/hw-dev/fbfc2237-7b92-465e-bdf6-a31a5f22057an%40groups.riscv.org.