3 ms·
Requiring a software fallback to be present on every system would IMO kill the platform for small-ish CPUs. For example, why would a CPU with a few kilobytes of
by Someone 4y ago
Requiring a software fallback to be present on every system would IMO kill the platform for small-ish CPUs. For example, why would a CPU with a few kilobytes of RAM need to support vector extensions? Why would it have to support UEFI if it doesn’t have or support disks? For CPUs intended to be used in small embedded systems, supporting either easily could make the necessary amount of ROM ten times as large, and thus significantly increase their cost.
Also, having source code to emulate functionality may be nicer, but publishing both source code and a spec will run into problems when the two aren’t compatible with each other.
Finally, I’m not sure it’s possible to emulate all extensions using only the minimal subset of RISC-V instructions. Examples are support for atomic instructions, hypervisors, instruction fences, transactional memory, weak memory ordering, or user-level interrupts.