Comment by ryao
Being customizable is one of RISC-V’s strengths. Multiplication can be easily done in software by doing bit shifts and addition in a loop. If an embedded application does not make heavy use of multiplication, you can omit multiplication from the silicon for cost savings.
That said, ARM’s SWD is certainly nice. It appears to be possible to debug the Hazard3 cores in the RP2350 in the same way as the ARM cores:
https://gigazine.net/gsc_news/en/20241004-raspberry-pi-pico-...
> If an embedded application does not make heavy use of multiplication, you can omit multiplication from the silicon for cost savings.
The problem was that the initial extension that included multiplication also included division[1]. A lot of small microcontrollers have multiplication hardware but not division hardware.
Thus it would make sense to have a multiplication-only extension.
IIRC the argument was that the CPU should just trap the division instructions and emulate them, but in the embedded world you'll want to know your performance envelopes so better to explicitly know if hardware division is available or not.
[1]: https://docs.openhwgroup.org/projects/cva6-user-manual/01_cv...