BackupGGCode / propgcc

GCC for the Parallax Propeller Microcontroller
Other
0 stars 0 forks source link

Need a way to start "COG Threads" in xmm modes #58

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
LMM users can start cog threads, and should be able to do the same in XMM 
modes. This is desirable because XMM is supposed to allow LMM programs to 
expand beyond 32KB memory.

Original issue reported on code.google.com by jsden...@gmail.com on 12 Jan 2013 at 5:24

GoogleCodeExporter commented 9 years ago
I think we need to be careful of how we resolve this issue. I think it would be 
a bad idea to just grab 2K bytes of hub memory in every XMM program just in 
case someone wants to call _start_cog_thread. What I'll probably do is make the 
COG image available only if that function is actually used in a program. Then 
you only lose 2K of hub memory if you are actually starting other C threads. Of 
course, Steve's comment about HUBTEXT will still apply. Any C code that you 
start using _start_cog_thread will have to be in hub memory and also any 
functions that it calls. There is currently no way to share the external memory 
interface between COGs. That could be added as another issue I guess but I 
think the cache thrashing we'd see if we enabled that feature might make it 
less than useful.

Original comment by dbet...@gmail.com on 14 Jan 2013 at 9:05