Further, people have programmed in languages before any compilers where created which worked after the compilers where created.
Further, people have programmed in languages before any compilers where created which worked after the compilers where created.
Early CPU’s didn’t compile anything they directly executed the instruction pipeline.
Also, the number of CPU’s manufactured heavily favored very simple designs.
As to your point that’s not what CPU’s do though, they have both a set of instructions and a set of IO with the outside world. A compiler always results in the same output from a given set of instructions, but with CPU’s you can run the same code and get wildly different output due to that IO.
The only way you can call a CPU a compiler is as a subset of its capabilities. If they they have internal microcodes where a given instruction gets translated into a different internal representation, but that’s not the end it also executes those microcodes.