@Houl The 6502 did not have a reasonably orthogonal instruction set which means it isn't RISC. Some people would add the lack of a flat memory model, but that just makes it a poor C target.

I love the 6502, but I personally wish zero page could be moved around -- something WDC variants call direct page -- and the stack could similarly be relocated. The first change would increase performance *a lot* and the second would make real multitasking possible.

@profoundlynerdy @Houl

A mobile direct page is the gateway feature leading to register windows and the Sparc architecture!

@ted_dunning @Houl Can you explain what this means? All I know about #SPARC is that #Oracle bought #Sun and lied their asses off about future development of the platform, bailed, and promptly screwed EVERYONE with a stake in the platform. That's it. Oh, and #Gentoo can boot it. But since Gentoo is the #NetBSD of the Linux world so that's not a surprise. "Of course it runs Gentoo!"

Probably the most interesting feature (at the time) for the Sparc architecture was the use of register windows. The basic idea is that the processor has 32 general purpose registers divided between globals, "in", "local" and "out". When you make a call, the processor renames things a bit so that the out registers become the in registers at the next call level.

1/3

@profoundlynerdy @Houl

Register windows are a bit like a (small) page zero because you can get to them with a short address. Being able to efficiently roll to the next window was pretty cool and is like being able to have a new page zero when you call a function.

In fact, however, register windows turned out very bad if you account for context switches because tons of unused registers had to be flushed to the stack.

2/3

@profoundlynerdy @Houl

Thus my "gateway feature" comment. Windows seemed cool at the time.

Register windows can also never be removed from the arch due to compatibility. Thus the drug metaphor.

(that may be more than you wanted to know 🙂

3/3

@profoundlynerdy @Houl

@ted_dunning @Houl That was exactly the kind of thing I wanted to know. I'm an #assemblylanguage geek. Thanks! I've *cough* spent more time looking at #motorola #M6809 documents today than I should have. Damned ADHD. :-P

Do you think the arch will live on in some way? Even #Fujitsu bailed on it.

That sort of thing lives longer than anybody can believe, but I really don't see a lot of room. x86, ARM and Risc-V don't leave a lot of oxygen to spare.

@profoundlynerdy @Houl

@ted_dunning @profoundlynerdy @Houl the only.asvantage is that #SPARCv9 & #POWER9 are #FLOSS'd like #RISCV so the limiting factor would be economies of scale and the ability to procure fabbing, which sadly isn't #FLOSS'd yet ( #LibreSilicon works on that!)...

This literally bit #Russia in the rear as #TSMC canceled any deliveries for #MCST's chips they fabbed on 28nm nodes...

Being open source doesn't help with Sparc's fundamental problem with spilling register windows on context switch. Because many of the spilled registers are actually not even used this is very wasteful of memory bandwidth.

Better to do what modern processors do and treat L1 cache as a huge register pool. Small flips can have small cost that way.

The net net is that Sparc won't have a revival no matter what. RiscV fixes the problems and thus wins.

@kkarhan @profoundlynerdy @Houl

@ted_dunning @profoundlynerdy @Houl kinda likely.

I think that an #FPGA-based solution will be able to do the #Legacy #Support needed in some edgecases...