Post by lynchajHi! Thanks! The topic of 6809 multiprocessing is interesting. I
designed my N8VEM 6809 host processor so it appears as a peripheral
(8255 PPI) to the Z80 SBC CPU. That way the Z80 does all the IO
processing on the ECB and arbitrates access to peripherals. As a
result, builders can install as many 6809 host processors as they'd
like to operate in parallel.
Each 6809 has its own RAM/ROM for completely separate address space
from the Z80. The 6809 doesn't have much IO though, only a 6821 to
communicate with the Z80 but each also has a small mezzanine expansion
bus for custom IO. I am thinking these would make neat "smart
peripherals" like video boards with MC6845 or serial network
controllers. Some of the N8VEM builders are into remote monitoring
and wireless networking so a separate processor to handle networking
overhead is very attractive with the relatively slow Z80.
Thanks and have a nice day!
Andrew Lynch
I was working on a Quad core 6809 in a XC3S1000 FPGA. It used internal
FPGA block RAM as cache. The FPGA 6809 core can run with an E clock at
up to 25 MHz (although the timing in the FPGA is marginal at that
speed). I got a bit stuck on the rotating priority of the bus
arbitration scheme. The cache was planned to be dual ported and partly
set associative with write through cache coherency between the processors.
Each CPU had it's own MMU (like the SWTPC) and I was going to
incorporate a 32 x 32 bit hardware multiplier register for each CPU
module. I had planned to implement it on an XESS XSA-3S1000 board, but
it would also be possible to use a Digilent XCS3S1000 Spartan 3 starter
board which sells for about US$150 last time I looked.
If anyone would like to continue to work on it they would be quite welcome.
http://members.optusnet.com.au/jekent/system09/index.html
The files are in the System09_2009-02-25.zip file in the System09/VHDL
folder. There is a unicpu and a quadcpu which uses 4 unicpus. I have not
worked on it since February 2009, so I'm not sure what state it's in.
John.