Quote:
And of course it takes I/O that is double the speed of the CPUs.
In this case that means a 6522 rated for at least 2 MHz -- and these are easily available.
It's an interesting topic. As a general comment, maybe it's worth pointing out that, for the purposes of this discussion,
IO and memory are the same thing. Both deal in two basic transactions -- reads and writes. The bus connections are the same. Both accept an address. During writes they also accept data; during reads they
return data. It's true that an IO device talks to the "outside world" while memory talks to internally-retained information, but this nuance is invisible and irrelevant to the CPU(s) -- they don't know and don't care. I'm not aware of any memory-sharing scheme whose operating principle couldn't be applied to an
IO sharing scheme.
Quote:
but takes some logic to get the clocks of I/O and CPUs properly aligned - probably making it not worth to venture there
Best to investigate before assuming defeat. Yes there's a challenge here but it's hardly insurmountable. Assuming 1 MHz CPUs, you could start with a 2 MHz "master" clock oscillator and, from that, have your logic (basically a divide-by-two flip-flop) derive two separate 1 MHz CPU clocks -- which would inherently always be aligned.
The shared IO device would itself require a 2 MHz clock, not 1 MHz like the CPU, but that's not a show-stopper. Nothing says the Phi2 waveform on the CPU has to be identical with the Phi2 waveform on an attached 6522, for example. It's sufficient merely to satisfy the pertinent setup and hold times listed in the datasheet -- and with a 2-MHz-rated 6522 that shouldn't be a problem. (During the 500 nS when the accessing CPU's Phi2 is high, the 6522 Phi2 would be low for 250 ns then high for 250 ns.)
-- Jeff
_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html