kc5tja wrote:
I'm skeptical; I need to see the math behind your speculations.
If I were interested in multi-core microcontrollers, the 6502 is emphatically not the right choice. It is so bus-hungry that no other core would get a chance to use the bus. You can have at most 2 cores (each running on opposite clock phases). Multiprocessor studies show that beyond 8 cores on a common bus, performance degrades sharply; this figure would be much lower for the 6502 simply because of how few idle bus cycles exist. If you "switch cores" on an idle cycle via a round-robin bus arbiter, you end up with performance on par with hyperthreading, and that's a best-case scenario.
To really get high performance, your cores would need their own private memories, wholly independent of any other core. No NUMA, no SMP, not even AMP. Pure message passing is all you get, and now you're bottlenecked by your interconnect topology.
Well, I just write software --- I don't really know anything about computer architecture --- so you may be right.
I was assuming that each core would have its own private memory, and would not share the bus, and would run independently. I was also assuming however, that the common-memory area (16KB) could be accessed by every core --- not at the same time though, so when one core is accessing it the others can't --- the kind of clashes that you are describing would only occur in regard to the common-memory, but the cores rarely access the common-memory so this shouldn't be a big problem.
kc5tja wrote:
Finally, a single 65816 can add two 32-bit words faster than two cooperating 6502s can add a 16-bit half-word, simply because it doesn't have to deal with the overhead of cooperating.
You might not want to admit it, but the 65816 really is a better CPU than the 6502 all around. And if someone put a proper 16-bit bus interface on the core, it would be faster still.
Well, the MiniForth (built on the Lattice isp1048 PLD in 1994/1995) was a better CPU all around than the 65c816, MC68000, etc.. The MiniForth could do NEXT in zero clock cycles! Other than the RTX2000, what processor does that? The RACE, which is the MiniForth upgraded to an FPGA, is several times faster.
Your 65c816 is never going to compete with something like the RACE (your JSR and RTS take multiple clock cycles!). I'm interested in a multi-core super-65c02 system mostly as a fun system comparable to the Parallax Propeller --- it is not going to be competitive with the big boys --- the 65c816 isn't competitive either.