Vertical microcode like you see in modern microcoded cores looks a little different and was really well documented by these guys: https://media.ccc.de/v/34c3-9058-everything_you_want_to_know...
Today's gluing together of modules and blocks is boring in comparison.
Can you elaborate on this? Aren't microcoded CPUs still around?
As a non-hardware guy, I'm still wondering why microcode isn't more popular. It's flexibility is great. Especially if the company has a HLL-to-microcode compiler so the users can create custom instructions. I know they like to change microarchitecture around. They could say they refuse to support anything below the ISA with backward compatibility. Customers will have to port their microcode extensions to each new hardware. That said, you can do some neat stuff with it like people did with PALcode on Alpha. You can bend the ISA to your application or even make certain instruction combos atomic. I remember using microcode for crypto gave performance boosts, too.
FPGAs are a better and saner approach to user programmed performance acceleration. User microprogramming has never worked. It's a maintenance+security nightmare for everyone.
Clearly the ROM is a ROM and read-only and I mistakenly said that user microprograms would be written there. No, they'd be written to a WCS, Writeable Control Store.
All that said, the Intels + ARMs of the world would hate this idea. You'd be eeking out a wittle bit of performance at significant support cost. They'd just tell you to buy a faster or another CPU.
User programmable WCS was an idea from the 80s. But now, it's a bad idea. If it were a good idea then Microsoft or Google or Amazon would be all over it because they have the capital, the leverage and the need to do it. Yet they don't.
>"As a non-hardware guy, I'm still wondering why microcode isn't more popular."
I have the same thought. There must be a reason for this. Maybe someone else could provide some insight.
>"That said, you can do some neat stuff with it like people did with PALcode on Alpha"
I'm not at all familiar with this. Might you have some links or resources regarding this? Cheers.