I pursued the XC language, which has a lot of occam/CSP primitive operations in a C-like syntax, and after communicating with David May, I got my XC-1A ($99) and downloaded a bunch of stuff, including David's "XMOS XS1 Architecture" (2009/10/19, www.xmos.com/published/xs1_en). Has anyone on the occam-com list had experience with these chips? I had a few questions which maybe this list can answer.
(1) Is there an occam compiler for the XMOS XS1?
(2) In the tutorial it says, "Each processor provides up to eight threads," but in the big document it says, "The scheduling method used allows any number of threads to share a single unified memory system and input-output system whilst guaranteeing that with n threads able to execute, each will get at least 1/n processor cycles." Is the limitation on thread count real, or is it an artifact of some software behavior?
(3) The tutorial says, "An on statement may only be used with threads created by main, in which case main may contain only channel declarations, a single par statement and an optional return statement." This sounds a lot like the Transputer configuration language, which I always thought was brilliant. Does it extend to multiple chips, not just cores on one chip? (Better yet, it should extend to the alien host!)
(4) A further point: I have been studying the RepRap 3D printer, and have come to its Sanguino3G serial protocol definition, which has a master controller (an Atmel-based Sanguino) driving several slave controllers - and using polling! This seems like a natural for the XMOS with its cheap XC-1A board with lots of multitasking and multiprocessing.