But, there is method to my madness as to why I’ll limit it to two right now. I’ll update my “The J64C” thread in ‘hardware’ as I progress (or regress as the case may turn out
Theoretical question - Multiple CPU's
Re: Theoretical question - Multiple CPU's
I was initially thinking of going quad CPU’s
But, there is method to my madness as to why I’ll limit it to two right now. I’ll update my “The J64C” thread in ‘hardware’ as I progress (or regress as the case may turn out
).
But, there is method to my madness as to why I’ll limit it to two right now. I’ll update my “The J64C” thread in ‘hardware’ as I progress (or regress as the case may turn out
Re: Theoretical question - Multiple CPU's
I built the dual-port based multi processor based on the notion that cheap co-processor can replace dedicated I/O devices. A collection of co-processor can bit-bang slow I/O interfaces (audio, serial port, I2C, keyboard) and communicate to main processor via dual port memory. For I/O-bound problems, such collection of slow processors may be more efficient than one fast processor.
Bill
Bill
-
channelmaniac
- Posts: 4
- Joined: 26 Jul 2021
Re: Theoretical question - Multiple CPU's
If they have different tasks to perform you can divide those out and communicate between the 2 via shared RAM.
Namco did that for Galaga/Bosconian using 3 Z80 CPUs and some dedicated microcontrollers for speech / explosions. They did it with 3 6809 CPUs for all the games on the System 1 hardware (http://system16.com/hardware.php?id=524) and Taito did Bubble Bobble in a similar way with Z80 CPUs.
One to coordinate and handle I/O, one for graphics, and one for sound. Schematics are available online.
Namco did that for Galaga/Bosconian using 3 Z80 CPUs and some dedicated microcontrollers for speech / explosions. They did it with 3 6809 CPUs for all the games on the System 1 hardware (http://system16.com/hardware.php?id=524) and Taito did Bubble Bobble in a similar way with Z80 CPUs.
One to coordinate and handle I/O, one for graphics, and one for sound. Schematics are available online.
Re: Theoretical question - Multiple CPU's
plasmo wrote:
I built the dual-port based multi processor based on the notion that cheap co-processor can replace dedicated I/O devices. A collection of co-processor can bit-bang slow I/O interfaces (audio, serial port, I2C, keyboard) and communicate to main processor via dual port memory. For I/O-bound problems, such collection of slow processors may be more efficient than one fast processor.
Bill
Bill
I have plans for another to offload SPI and I2C at some point too.
What I can't easily do is effectively parallelise the ATmega and '816 - although serial is fine as I can transfer 128 bytes at a time and tell the ATmega to "get on with it". For all other options the '816 sits on a WAI instruction and waits for an NMI to wake it up. There is an independent IRQ from the ATmega to the '816 which I could use in the future though - the issue, as always, is finding something for the '816 to do while the ATmega is doing it's thing... Not always easy...
-Gordon
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Re: Theoretical question - Multiple CPU's
BigEd wrote:
Garth, your searching example is interesting, but I think it doesn't show an advantage. It's just as likely that the result will be found at the 45% point, in which case the dual-cpu system takes longer.
True— which is why the example was kind of a special case.
Quote:
(In the case of a binary search rather than a linear search, the single CPU system takes about half the time as the dual-CPU system, I think, but the dual CPU system has one CPU free to get on with the next search, so again it's a draw. Maybe!)
The example I saw was of something where the elements are not in order, so a binary search wouldn't work. IOW, instead of being like a dictionary where you don't know the length of various sections but at least words are in alphabetical order, it's more like the case of searching a page for a particular word or phrase which could be anywhere.
I remain a bit intrigued by the multi-processor idea, but it also remains a mystery to me how programming could be done for it to really take advantage. I also fail to see any benefit to having two processors each running half the speed of a single-processor system.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?