by piotr5 » Mon Aug 10, 2015 10:42 am
I'm not really convinced of your approach. if epiphany were a fpu, then compiler could treat it as extended assembler-syntax. but epiphany can actually execute sequential code and has no hardware-support to put such code into sequence. better imho is software-emulation for task-switching on epiphany. i.e. on arm you program in a way as if epiphany didn't exist, load and run programs on epiphany as usual. that's good because it reflects the slow connection between the two processors. then on epiphany do as you suggest, assign some free core at runtime or compiletime to execute the task you want, copy over code to the core's local memory or let it run instruction by instruction from the current core. only problem is code-relocation when multiple tasks are running. basically that's 2 approaches: runtime or compiletime. when decisions are at runtime, this allows to run 2 programs on your epiphany. if compiletime you must own the whole epiphany chip...