TL;DR: Already the very first 8086 was microcode based.
In the earlier days of microprocessors instructions were hard-wired
Yes, but ...
Even early microprocessors, like the Z80, 6800 and 6500, live in a gray area between pure random logic and a school book microcode engine. There are good arguments to see the 6502 PLA as a compressed microcode stepped thru by a sequencer.
The the 8086 in contrast was a very classic microcoded implementation. Same way for Motorolas 68,000. In fact, of the late 1970s 16 bit 'revolution', only the Z8000 was random logic based.
The 8086 microcode has been decoded and described in good detail by Andrew Jenner in 2020. Just a week ago Ken Shirriff added an in depth description of the microcode hardware and its workings.
I believe somewhere in the late 1980s or early 1990s the x86 architecture migrated to being more of a RISC core that had its legacy CISC instruction set implemented on top of it.
Not really. Beside that the whole RISC vs. CISC distinction is way less clear than some may put it, the whole notion of 'CISC to RISC' translation is marketing humbug.
Let's just take it serious for a minute: Wouldn't you agree that it could mean something like:
- Read some 'complex' instruction from memory
- Turn it into a sequence of one or more simple instructions
- Execute that sequence on a 'core' that only understands those simple instructions
Right?
Well, that's the exact description of a microprogram.
Reordering that sequence according to available resources doesn't change it, not even if that is done across borders of fetched instructions. After all, every pipeline long enough will do so even without translation into a micro program. It does create any way of RISCyness.
What was the last x86 processor that was hard-wired and wasn't actually a CISC implementation on a RISC core?
In fact, and if at all, later CPUs reversed that to some extend by adding more dedicated hardware to reduce micro code. The NEC V20, makes an extraordinary example. And that's the essential part behind the CISC/RISC buzzword disguise: later CPUs added hardware to improve certain aspects, from dedicated units, like multipliers and barrel shifter all the way to out of order execution and parallel units.
Except, all of that is hard to sell to non techies, in contrast, telling that x86 now incorporates the buzz of the day (which RISC was) is an easy one.