scotws wrote:
Reading up on an older entry about parallel processing (
viewtopic.php?f=1&t=217) makes me wonder about using some shared RAM instead
I don't think there's a need for this. Any NUMA architecture will give the illusion of shared memory anyway. And since the 65816 and 6502 are both so memory bound, launching a 6502 to operate on memory shared with the 65816 will, unless you limit yourself to just two processors and have a memory subsystem slow enough to exploit opposite clock phases, actually take longer than if the 65816 just did all the work itself.
scotws wrote:
message to the point of "move those bytes to the hard drive and confirm it worked after you are done". It wouldn't really be faster in the sense of bits written per second, especially with the communication overhead, but the '816 could get on with more noble things in the meantime than dealing with the hard drive.
Of course, you'd basically be building two computers instead of one, so that's a lot of issues
.
This is how, in essence, the Commodore 80xx disk drives worked.
And when you think about it, Commodore's entire 8-bit line-up were really mainframe-y. The host computer would send a high-level instruction to the disk drive, which would interpret this command in a separate address space all-together and completely asynchronously to the host computer's operations. (It's rarely exploited, but it's entirely possible to do disk I/O and computation concurrently with the Commodore architecture.) And, in the case of PET's disk drives, you really did have two CPUs cooperating with each other on shared data structures in memory. The command-processor CPU would give low-level instructions to the drive controller CPU and exchange data via shared buffers.
This is, schematically, surprisingly close to channel I/O in IBM mainframes. The computer sends high-level I/O commands to a "controller," which then breaks those commands down to lower-level I/O functions for individual "units." I don't think this was an accident -- studying the capabilities of Commodore's 8-bit DOS, what with relative files and a flat namespace with long filenames, it's very clearly influenced by System/360 design principles.