When i build riscv-gnu-toolchain, it created one binary with name riscv32-unknown-elf-run. Is this GNU simulator? I saw that i could easily run a c program which is built using riscv32-unknown-elf-gcc on this simulator. Now my question is what is the difference between SPIKE simulator or any other RISCV simulators and this GNU simulator? are they both implement functional model of RISCV ISA ? I am litle confused here. Can u give some clarity to me ?