3 ms·
Definitely agreed. Digging through Usenet archives, I found a post from John Mashey discussing the RISC-CISC spectrum. I found a copy here: https://userpages.
by dietrichepp 3y ago
Definitely agreed.
Digging through Usenet archives, I found a post from John Mashey discussing the RISC-CISC spectrum. I found a copy here:
https://userpages.umbc.edu/~vijay/mashey.on.risc.html https://userpages.umbc.edu/~vijay/mashey.on.risc.html
The M68K gets called out as having some really complicated instructions in it,
> We thought that adding more addressing modes was the way you made a machine more powerful
https://www.computerhistory.org/collections/catalog/102658164 https://www.computerhistory.org/collections/catalog/10265816...
People get caught up in intuitive notions of “complex” or “reduced” when talking about RISC and CISC, so it’s very helpful to have specific ideas about what of problems you’re creating for yourself years down the line, when you’re designing an architecture in the 1970s or 1980s. The M68K has instructions that can do these complicated copies from memory to memory, through layers of indirection, and that creates a lot of implementation complexity even though the instruction encoding itself is orthogonal. Meanwhile, the x86 instructions are less orthogonal, but the instructions that operate on memory only operate on one memory location, and the other operands must be in registers. That turned out to be the better tradeoff, long-term, IMO.
- jabl 3y agoIn modern x86 we have things like the avx scatter gather instructions, which implement indirect addressing as well as accessing potentially lots of pages in a single instruction. Of course nowadays we have the transistor budgets to make even complicated instructions work.
- gallier2 3y agoYes, and that was exactly my point (yes, I wrote that SO answer). The indirect addressing mode that were introduced with 68020 are insane. Most people don't know them, as they didn't exist in 68000/68010/68008 and most compilers did not implement them as they were slower to use than using simpler composed addressings. It is interesting to see what Motorola cut from the instruction set when they defined the Coldfire subset (for those who don't know, the coldfire family of CPU used the same instruction set as 68000 but radically simplified, the indirect addressing methods, the BCD mode, a lot of RMW instructions, etc. were removed. The first coldfire after 68060 which was limited to 75Mhz, ran at up to 300MHz).
- mst 3y agoThis makes me wonder if there's any record of why Motorola thought that feature was worth implementing in the first place.
- lstodd 3y agoWell I always wondered why 6502 had BCD. What was the point? I guess it was sorta fashionable back then.
- hulitu 3y agoMaybe to drive LED alphanumeric display segments.
- wiml 3y agoBCD modes only take a few gates to implement; their biggest cost is probably the instruction encoding space they occupy. On a chip as small as the 6502 it makes sense that some users would want to avoid the expensive decimal/binary conversions and do arithmetic in decimal.