4 ms·
In short - endless battle between RISC or CISC.
by mobilio 6y ago
In short - endless battle between RISC or CISC.
- kingsuper20 6y agoOh well, there's RISC and there's RISC. I always think of the AMD 29000.
- mobilio 6y agoOr i860 & i960?
- kingsuper20 6y agoI mentioned the 29k since (as I remember, it's been a while) it didn't have a multiply instruction.
- Symmetry 6y agoThese days RISC is mostly about regular encoding of instructions which don't present challenges to doing precise interrupts on a deeply pipelined machine rather than just few instructions per se.
- bogomipz 6y agoWhat do you mean by "precise" interrupts here? Do some types of interrupts cause worse pipeline stalls than other types? Are the interrupt handlers in RISC faster because of more efficient decoding? Is that the issue?
- Symmetry 6y agoNo, it's just that the fact that RISC didn't have any load-op-store instructions made it easier to pipeline them back in the day while still being able to handle interrupts as if they executed one instruction at a time and there was one instruction that had executed while the following one hadn't executed at all. That's possible to do with CISC architectures, of course, we do it all the time these days. But back in the day being able to implement that easily-ish in a reasonable number of transistors were a big factor in early RISC processors having so much better performance than the CISCs of the time. In the modern day it mostly just means that you can implement fancy out of order schenanigans with a bit fewer engineer-years than non-RISC ISAs.
- bogomipz 6y agoThanks these are both very helpful and good bits of historical perspective as well. Cheers.
- zsmi 6y agoThis is the classic definition https://dl.acm.org/doi/10.1109/12.4607 https://dl.acm.org/doi/10.1109/12.4607 "An interrupt is precise if the saved process state corresponds to a sequential model of program execution in which one instruction completes before the next begins. In a pipelined processor, precise interrupts are difficult to implement because an instruction may be initiated before its predecessors have completed."
- snvzz 6y agoEndless? It ended a long time ago. RISC won. There hasn't been any new CISC architecture worth mentioning in decades.