Tech epistemology question: Is a CPU running firmware out of ROM, with no patching capability, hardware or software?
Does it matter if it's using a standard ISA like ARM or RISC-V, or if it's a custom ISA designed for the specific use case?
Does it matter if the program is written in a high level language and compiled/assembled, or written directly in the processor's native machine code?
Where do you draw the line between "obviously software" and a simple FSM ("obviously hardware") coded in a table-driven fashion?
Does making the table field updateable change your answer?