4 ms·
> Microcoded execution is much simpler in terms of the hardware that you have to implement. That’s contrary to everything I’ve ever heard.
by jsjohnst 4y ago
> Microcoded execution is much simpler in terms of the hardware that you have to implement.
That’s contrary to everything I’ve ever heard.
- blacklion 4y agoLets take it to extreme: you need very little resources (transistors) to implement Turing Machine, but providing enough microcode (which is very simple structure on silicon - it is ROM, which is trivial and very dense comparing to complex logic) you could emulate any complex ISA on this machine. For real world example, you could have divider as very complex logic device or as small patch of ROM implementing "school" algorithm in terms of (hardware implemented) additions, shifts and subtractions.
- jsjohnst 4y ago> For real world example, you could have divider as very complex logic device or as small patch of ROM implementing "school" algorithm in terms of (hardware implemented) additions, shifts and subtractions. Can you show one example of a commercially produced general purpose CPU that does that, let alone a fairly mainstream x86_64 one? In a purely theoretical sense, what you say is plausible, but in the “real world” it’s simply not done.
- rep_lodsb 4y agoIt was done that way in the original 8086/88: https://www.reenigne.org/blog/8086-microcode-disassembled/ https://www.reenigne.org/blog/8086-microcode-disassembled/ (its successor the 80186 already had a divider in hardware)
- jsjohnst 4y agoI guess I wasn’t explicit, I meant something made in the past decade or two. Going back to 3 decades ago, there’s a handful I can think of, going back almost a half century like the 8086/88, there were even more.