[sdiy] Radfio Shack
Rainer Buchty
rainer at buchty.net
Sat Oct 23 11:37:09 CEST 2004
>Yeah, but that's *way* too closely coupled for comfort for a lot of uses...
Well, you should only share *some* memory areas, not the entire RAM.
Otherwise you'd get a hung system within no time due to stack conflicts.
>Are there particular advantages to this approach that I'm not seeing?
Shared memory regions. Consider CPU #1 being the MIDI parser and
operating the user interface; CPU #2 solely concentrates on sound
generation (LFOs, EGs, analog voltage mux).
Whenever CPU #1 gets new data (pitch change, program change, new
note, voice assignment) it calculates a new data block, stores it into
the shared memory region. CPU #2 picks it up. It doesn't even know
*that* something has changed, it is not affected by any external event
but just computes sound output parameters within a rock-solid, fixed
timing.
That scheme was commonly used within Commodore computers, btw. 6502/6510
only accessed memory during the first half of a clock cycle, the video
chip did its access during the second half. Solid picture generation and
no "snowing" effects from async writes like those common on old PCs with
CGA graphics cards.
Also the Fairlight used such a shared-memory dual-processor scheme on
the main board (plus auxiliary processors attached through one of the
many internal serial comm links).
Rainer
More information about the Synth-diy
mailing list