I'm still very new (and addicted) to the propeller but certainly not new to computers and programming. I cut my computing teeth on a ZX81 and Spectrum 48k at the tender age of 11 (my 40th birthday is coming up) and have delved into many areas of computer and programming from Dos to Linux as well as IBM Mainframes with interest.
I've just been browsing the propeller wiki, expanding my knowledge of this fantastically addictive little device and came across the page on Large Memory Models
. This brought back some memories of the early virtual memory models for IBM mainframes that wanted to overcome it's limited memory addressing.
I was very interested in the 4 instruction method of running assembler instructions in cog memory by fetching them from hub memory:
nxt rdlong instr,pc
instr nop ' placeholder!
...is this the kind of approach that is becoming a standard for the propeller (if indeed one exists yet?)? I noted that several implementations, although some of them seem more commercial, are in the works.
The main point of this long rambling post is that I'm wondering if anyone has tackled the large / virtual memory subject with the method of page swapping? I.E. A pre-processor (on the PC/MAC) splits the assembler into, say, 384 byte pages with a main table for reference data pertaining to jumps and data references etc. On the propeller, code could be included in the cog ram to handle any instructions that require the page in the cog to be swapped with another. Such a model would allow pretty much any program storage medium to be used for assembler code, be it hub ram, external ram or even disk or SD / flash media.
...or am I totally off base here or missing something in the propeller which would make this either unachievable or horrendously inefficient?