I just came across this: What is the Forum's opinion/analysis/impressions?
Mike Huselton
Posts: 746
www.machineinteltech.com/Memory_Expansion.html
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Post Edited (James Michael Huselton) : 5/3/2009 9:46:06 PM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Post Edited (James Michael Huselton) : 5/3/2009 9:46:06 PM GMT
Comments
You have to remember that there is no way to expand the existing 32K byte hub memory of the Propeller so it has more hub memory. You also cannot expand the existing 2K bytes per cog to have more cog memory. On the other hand, there are all sorts of ways to add external memory to the Propeller. It's just that you can't execute Spin code from the external memory using the existing ROM Spin interpreter and you can't execute native code from the external memory (you can't even execute native code directly from the hub memory).
That said, there are all sorts of fast interpreters that can be run on the cogs. The LMM (Large Memory Model) interpreter is a very fast "almost native" interpreter that pulls it's instructions from hub memory and executes them at about a 1/5 speed over native cog instructions. Both the Spin interpreter and the LMM interpreter can be modified to read their instructions from external RAM with the cost being execution time. There's a tradeoff between I/O pins used and speed of memory transfers with the Hydra External RAM Card being one example of the use of additional hardware to speed up some (sequential) memory accesses using only a few I/O pins. The TriBlade Prop goes the other way with large numbers of I/O pins and very little external hardware used to make a Z80 execution engine out of Blade #2 with high speed external RAM access.
Rich H
This memory expansion card uses fast static RAM chips, 512K bytes each with up to 4 per card and 8 cards per system. The RAM itself costs maybe $6 each.
The TriBlade Prop uses the same RAM chip with 2 attached to Blade #2 and 1 attached to Blade #1. I don't remember what the Hydra card uses.
You're paying for the development costs, particularly the cost of the software development to support this card. It sounds like he's got big plans for software to make use of all this storage. That's what will make the difference.
Post Edited (Mike Green) : 5/3/2009 10:50:12 PM GMT
Another point is that they stress block data transfer speed. This may mean that's it's quite slow to access particular memory.
I have a little board that uses 16MB SRAM which also has fast block transfer speed using two counter chips. The logic and code are a little tricky but not difficult.
Just taking Mike's number for the sake of calculation (reasonable in volume but unrealistic for the target market) ... that's $192 for SRAM alone. Apply standard 75% margin for low volume or specialty product and you get $800 Advertised Sales Price (ASP).
A hardware assisted SDRAM solution would be cheaper, higher density, and offer better performance. Multiple COG access sounds interesting but desirability would depend on the implementation.
I'll spend $800 on Propeller and other mico hobby this year easy. It won't be all spent on a multiple card 16MB wire-wrap expansion though.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
I think Ray is a little more on-target with his "blade" type configuration using
a second Propeller as an interface to the actual ram.
(I know, I know, this *could* be configured the in a similar way, but I would
rather have seen it incorporated at the price.)
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
I don't think you need to give up that much I/O. In the little board I showed above, I'm only using 8 pins for data I/O and 4 control pins, CE\, CLK, WE\ and OE\. I could eliminate CE\, since the chip is always selected. That leaves more than half of the I/O pins still available.
For a 2M x 8 bit chip ($12.60), you could use jazzed idea of a 5 bit latch for the high 5 bits and still have lots of I/O pins. This would give you 32 65K "files" or 32 selectable starting points with bigger files.
Jim
Hmm.. Almost seems doable.. What am I missing here??
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
... and a great advertisement for both the Propeller and the guy(s) that put the site together. In better economic times, you could see a site like this one day and the next day it would be gone, because a couple of high end clients wanted help and they didn't want to share.
At times like this, you just have to hang in there, brush up on your skills, create products, look for markets, and be willing to wait until the economy straightens itself out. The biggest mistake is to give up.
The cost of the memory module seems a little on the high side... it's a matter of personal preferences... some guys would rather sell 1 item for $99 than 10 items at $29.
My one criticism is that at first glance, the memory module does not appear to be a finished product. It looks hand made on a board purchased from a retail electronics store. This appearance immediately creates a question in the back of a potential customer's brain: "Am I paying for soldering or is there something really new here?" I am sure that this is a good product, but the "first glance" is sometimes the "only look" ... so first appearances are critical. Maybe all that is needed is to turn the board over... or if not, get a PCB done.
I really like the quotes from Einstein in Doctor Jim's corner. Stephan Wolfram, the creator of Mathematica, eventually came to agree with Einstein on the failure of mathematics in the practical applications. It is an interesting conundrum.
Great site.
Rich
-5 for ethernet too.. that leaves 7 and then its almost perfect
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New ICON coming, gotta wait for the INK to heal, now we have colour!
You've just described Hydra .. except for 1 bit of sound and some badly placed I/O [noparse]:)[/noparse]
The memory expansion board with some modifications to the CPLD and code could be just as fast as other solutions described here except for having the data bits being in the wrong place costs an extra 200ns. Assuming a cached instruction management system, performance would not be so terrible except that cache would be a little small. Fastest possible external access is important but not more than loosing too many pins.
@Rich, I enjoyed the web site too.
@Jim, How much for your board?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
the existing demoboard/protoboard setup. With the I/O that would be picked up,
it could be enhanced to stereo sound.
Brian has done a good job of picking up the slack with his game stacker (ucontroller.com)
I do wish he'd broken out an extra spinstudio socket for experimentation.
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Visit the: The Propeller Pages @ Warranty Void.
You forgot the camera, that's another few pins.
@ jazzed,
Let me explain a little more about my board. It's part of a laser rangefinder project I'm working on. The cirsuit is set up to allow a VGA camera to directly store data to the SRAM and then read the data selectively into the Propeller. The address lines are controlled by two cascaded 12 bit counters, which are reset by the Propeller to always start at address zero.
The board can easily be used without the camera to simply access the SRAM chip for storage or retrieval. I have assembly language routines available to access the SRAM.
If you're still intersted in the board, here's the cost:
Schematic (DipTrace) - free. Picture of schematic - free.
Gerber Files - free.
My extra bare board - to you, free.
I like your idea about the latch so much that I'm thinking about changing the board to allow latching the high address lines, or initializing the counter to the initial value.
Let me know if you're still intersted, or want to help[noparse]:)[/noparse]
Jim
I'm a little tied up these days except for posting time. I have some tight deadlines. Many people use the latch idea; I'm looking at a synchronous latch in CPLD now. Synchronous SRAM is easy ... it's the higher density cheap devices that are hard ... but i like a challenge [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
The only problem with the latch is that it locks the high address pins to a fixed value. That way, there's no way to store a bigger chunk than with the lower pins. I may try to preset the counter to the starting address and go from there. I'm trying to store a 600K file from one frame of the camera -- 640 x 480 x 2 bytes/pixel (rgb).
Jim
I have direct address and data access on Blade #2 and latch access on Blade #1 (A0-10 & D0-7 direct, A11-18 latched). However, the latches place significant delays on access. You need to realise that once you have the ram in small blocks you have to add comparisons for each access before you access the block. This is a serious impediment to access speed.
Blade #1 offers the compromise a number of you are referring to, and yet I have not seen anyone using the SRAM on Blade #1 yet. My intended use of this ram is for video buffering.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
-Phil
Yes, comparison takes time. Of course it makes since to not bother with the comparison ... just latch the address and do the transaction for N bytes length. Given a block data approach for data transfers, cached XMM, and somewhat cleverly configured hardware, 2 (or even 1) extra instructions is insignificant in a block of 64KB (reads suck compared to writes though ... sure do miss that pointer register [noparse]:)[/noparse]. You are leading the Blade parade ... most others will follow you. Of course having a workable solution with multiple Props supplants the need to save pins somewhat.
Phil,
Hmm, I missed that! I know what you mean, but I once saw a web site where a little girl and her mom were selling patterns for paper dolls. Kind of like selling sheet music . Great business model if you can make sales ... fixed costs only until you get caught for copyright infringement or pay royalties unless you own the IP ... buyers absorb most of the variable costs.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
Similarly blocking, latches, sequential access etc are not suitable for the current C compilers ICC or Catalina.
So it's horses for courses as usual. I'm sure a "burst mode" RAM interface can be optimum in other applications.
Can we some how kick Parallax along with the illusive 64 I/O Prop ?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
Actually, looking at the numbers again, a non-latched asynchronous burst block of 32 bytes would be 2.3MB/s for 32 bytes and peaking at 2.6MB/s at around a 600 byte block. A 4 byte long fetch would be 2.8MB/s on apples-to-apples comparison (and that adds an extra 150ns for data bus settling on my board ... RC time for 5V-3.3V interface). With cache enabled, actual performance would depend a lot on code and cache size though XMM access rate would have a big influence.
I was thinking synchronous interface before which could be 5MB/s+ for a long XMM read and still allow pins for OBC's featureset.
Still, at this rate we're back to 1981. I bet outsiders think we're "nuts" around here. The more I think about that the less excited I am.
Considering what a small audience the XMM'ers are, it is very unlikely that 64 IO Prop will happen. I would fund the chip spin myself if I thought I might get my money back through profit sharing ... may as well use the money for firewood.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
Comparisons/competition with the Hydra... I wouldn't care if a design was purely based on Andre's work... so long as it added something new.
Andre is a teacher. He wrote his book for engineers. It is a gift. Ditto for the Hydra. When I read his book, Andre clearly intends his work to be inspirational. He intends his stuff to be hacked, shaped, modified. etc. etc. etc. So, we can expect numerous adaptations of his basic configuration and logic. He also set the high water mark for documentation, for all of his products. So, I would also hope that anyone, who is inspired or tries to compete will consider Andre's penchant for documentation to be a Propeller tradition.
Oldbit... I suspect (but have no way of actually knowing) that Andre is very busy right now. I would predict that his next board will be very, very exciting[noparse]:)[/noparse] Humble pie... he will make you eat humble pie[noparse]:)[/noparse]
mynet43...
Dios en cielo. I pray that you are successful with this.
I think Oldbit may be in a bit of a bind. I suspect that he may have very good information that he has to sit on... because people trust him with information, and he simply won't betray that trust.
If I were you. I'd just ship your board out to him. He won't be able to resist it once he has it in his hands, and he is an incredibly fair person. The worst thing that could happen is that he might not have time to really work with it and would ship it back.
Oldbit is very busy. So, the sooner you send it, the more likely he will be to have a chance to play with it[noparse]:)[/noparse]
My best thought of the night: Mynet43... I think I understand what your sticking point might be... BUT if you would elaborate just a little, there are guys here that have been exactly where you are right now, and would be delighted to see you benefit from their experiences. BUT any one of a variety of issues might be holding you up. So, a person really can't offer much help without presuming a lot. And these guys are anything but presumptuous. They won't jump in unless asked. So ask already[noparse]:)[/noparse]
errata:
The economy is a little screwed up right now. Professionals who designs products for the Prop need to be in it for the long haul. If you don't really love what you are doing... do something else. Those that get their products out there and keep them there will be incredibly happy... eventually. There are huge markets that will open up. But if you aren't willing to wait... you could be one unhappy camper.
You know you are in the right place when you are doing serious work, but are also having more fun than should be allowed.
My wife included[noparse]:)[/noparse]
Thing is the Prop is a wonderful thing, a simple to use out of the box concept. But then of course it has it's limitations, HUB RAM, COG RAM etc all well discussed here. So it's very tempting to try and overcome those limitations. Question is how far should you push it before you realize the effort involved is just not worth it?
I would be inclined to say that if your application really needs 16MB of RAM it's time to start looking at a totally different solution, an ARM for example. Sure use the Prop where it makes sense, for twiddling bits on devices like SD and servos and what not. Use something else if you really need huge programs and data.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
The main protagonists for the memory expansion spurt that is happening at the moment are all here
I wonder why we really need memory expansion, sure for gaming and emulation it makes things a hell of a lot easier but I really wonder if people just want this for the sake of wanting it.
I have a triblade but I haven't built it yet (sorry Cluso99) mainly because other than emulation I can't see a direct need for it as the I/O penalty is way too high.
I can see more sense in the mini memory module that Cluso99 is working on at the moment which commits far less I/O, this I think will be a winner!
I'm with Heater on this one...... ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
PropGFX - The home of the Hybrid Development System and PropGFX Lite
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
While I'm a *very* vocal proponent of the right tool for the right job, and there are very few applications I can think of where multiple propellers and the associated realestate is better than a more powerful chip, I think the raw academic value of what you guys are doing has a number of very big positives.
A) It's drawing interest from other areas. "You can use 1MB with a Propeller? Sure you can, but you have to stand on your head and scratch your left nostril with your right little toe to do it". None the less, it's providing exposure to a far wider audience.
It's exposing people to a much deeper aspect of hardware interfacing, board design and code optimisation. All of these are very valuable skills that are traditionally glossed over by the hobby user.
C) It's pushing the tools and techniques in ways that will ultimately benefit everyone.
I still think you guys are nuttier than a fruit cake, but I reckon it's great to watch the whole thing develop! It also sorts out "those that can vs those that do".
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"VOOM"?!? Mate, this bird wouldn't "voom" if you put four million volts through it! 'E's bleedin' demised!
Also when I look around at what a lot of "normal" people spend their time doing, anything I do starts to look quite rational.
Now, back to my VAX implementation in relays.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
Now *that* appeals to me!
I've always wanted to wire-wrap a processor from standard 74 series TTL chips. I know its been done before, but there is something primal about it. Relays (especially these days with hermetic sealing, gold wiped contacts and pre-lubrication) sound like great fun too!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"VOOM"?!? Mate, this bird wouldn't "voom" if you put four million volts through it! 'E's bleedin' demised!
In the mid-seventies Practical Electronics magazine in the UK ran a construction article on a four function calculator built from 74xx. There were a LOT of chips on many boards. The series ran for thirteen months!!. At the end of the series WirlessWorld magazine came out with their calculator project, one chip. I built that one[noparse]:)[/noparse] www.vintagecalculators.com/html/advance_electronics.html#Wireless%20World
So that rather put me off the 74xx CPU idea.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
Yeah but the concept of designing and building your own processor with bespoke instruction set (no matter how limited), then writing an assembler or compiler for it and using it in any way shape or form is just so appealing! A bit like the Propeller I guess, but on a much smaller scale. Anyway, it's something I dream about doing, but I know I will never actually do. Too much other fun stuff to play with [noparse]:)[/noparse]
I played with PIC's and HC11, professionally, plus all the older stuff as a hobby. The Propeller has really put the fun back in it for me [noparse]:)[/noparse]
I get almost as big a kick out of watching what all you guys are up to, so I get to have twice the fun for the same time quota!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"VOOM"?!? Mate, this bird wouldn't "voom" if you put four million volts through it! 'E's bleedin' demised!
I used to have the circuits of a mini-computer built in 74 series TTL. The processor was a dozen pcbs about 15" square and a wire wrapped motherboard. Then the memory - that was in blocks of about 6 pcbs of core memory 10Kx6bits. The terminal I/O channels were 2 pcbs per channel (max 20). Then the hard disk and mag tape took another 20 board cage. Don't ask too loudly or I might find you the circuits !!! The processor is remarkably similar to the prop.
I believe I could emulate this mini on one Blade #2 of my TriBladeProp, with the exception of the 200 maximum (typically 5-30) terminals and printers I will need a few props for this. FYI I have done the emulation on a 486, just for (stupid???) fun because I could, after which I had two potential customers, and one of which actually validated the code. A company in the UK did this and they sold heaps !!!
Now you have modified your code to compile our nutty projects, have you joined our fruitcake club ?*?*? lol
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm