I think we have a semantic confusion going on here: ROM (or
Read Only Memory), flash (and yes, it does exist, Palm, for example, has had it for years) or otherwise, is for storing information that doesn't change very often. It's not where you'd want to do calculations. In fact, since it's
memory, all it can really do is
store data.
What you're talking about sounds interesting, though, yvanleterrible, kind of like a distributed processor, with static rather than dynamic memory, so that its state is saved even without power, and it can pick right back up where it left off when the power comes back on.
Back when I was designing my own e-ink reader (totally dreamware, but I thought about it a lot), I envisioned a system that would use static ram to boot, run a single function, then shut down. If it doesn't have to load a full OS then it could be very fast booting indeed.
For instance, I saw the "next page button" booting the device, running a routine to display a page, and then calculating the next page for display and storing it in a static buffer before shutting back down. The idea I had was to have the current, previous and next pages all stored in static buffers all the time (when they weren't being generated, anyway), or to have the file processed upon loading so that a book would be pre-generated as "pages" and stored that way, so that all the Next button would have to do is turn on, load the next page, and shut back down. All the pages would effectively be memory spaces and would just have to be transfered to the display, which would also kinda be a memory space. I wanted to take advantage of that to capture handwritten notes.
I don't think I'm explaining it clearly, but hopefully the idea is coming through somehow.