4 ms·
Thanks for sharing your awesome notes.. I will devour these eagerly and learn from your journey so far. I don't mind lower power if it means I can get off the
by MomsAVoxell 1y ago
Thanks for sharing your awesome notes.. I will devour these eagerly and learn from your journey so far.
I don't mind lower power if it means I can get off the grid, and especially if I can have a small fleet of devices for the purpose of.. I'm already doing myself of my development work on the uConsole - it's not a fast PC, nor a beast in any sense, but it does function just fine for my use case.
I could see an ARM64 cluster being solar powered with workable results.
I agree .. the idea of a battery-less solar calculator-type computer would be grand. Lets see how long it takes for someone to design a viable product around this idea ..
- kragen 1y agoThere are a lot of levels of "not a fast PC", though. My power budget for the Zorzpad is one milliwatt, at which I think the Ambiq Apollo3 (an ARM Cortex-M4F) can deliver 20 MIPS, roughly equivalent to a Pentium-100 or a SPARC 5. It has 384KiB of RAM. The uConsole (https://www.clockworkpi.com/uconsole https://www.clockworkpi.com/uconsole ?) has at a minimum a 64-bit 1GHz RISC-V processor, on the order of 800 MIPS, 40 times as fast. Ambiq doesn't make ARM64 hardware. My theory here (and maybe this is just the inflexibility of old age, treating my own experiences as gospel) is that there's a kind of phase transition in personal computers along the path between, say, a PDP-8 or an Altair, and a SPARC 1 or a 486: ‣ PDP-8 or Altair (≈0.01 MIPS, ≈0.01 MB RAM): self-hosted development is almost impossible; you need a big computer like a PDP-10 to compile the operating system, although the small computer is capable enough to run an assembler, a BASIC interpreter, and non-optimizing compilers for languages like Fortran. Applications like word processing and spreadsheets can be sort of approximated. ‣ IBM PC, Apple //GS, or PDP-11/70 (≈0.1 MIPS, ≈0.1 MB RAM): self-hosted development is comfortable and responsive in languages like C or Pascal. Viable applications include things like 2-D mechanical CAD, word processing, version control, and spreadsheets. GUIs are clunky because redrawing the entire low-resolution screen takes a second or so. ‣ Macintosh 512K, Sun 3/60, 80486 (≈1 MIPS, ≈1 MB RAM): mouse-driven GUIs have reached basically the same form we use them in today on the desktop. Self-hosted development is the only way to go, and higher-level languages like PostScript, Emacs Lisp, Tcl, HyperTalk, Visual Basic, and Perl are popular. Viable applications include things like VLSI simulation, 3-D modeling, and Web browsers. So somewhere in that range there's a phase transition between "basically a peripheral of a larger computer" and "GUI workstation". The Apollo3, being a microcontroller, is balanced like a microcontroller rather than a personal computer: 100 MIPS (with FPU), but only 0.4 MB RAM. So it has the RAM of an Amiga 500 or a Mac 512, but the CPU speed of a SPARC 5, a Pentium 60, or a PowerMac 8100. (See https://netlib.org/performance/html/dhrystone.data.col0.html https://netlib.org/performance/html/dhrystone.data.col0.html.) My speculation is that, coupled with the much faster mass storage speeds available with NAND Flash, this ought to be enough for a comfortable self-hosted development experience. I mean, I wrote GUI apps and browsed the Web on a SPARC 5 and a 5x86-133. I suspect that the structure of the system software will have to be significantly different. (See https://rossumblog.com/ https://rossumblog.com/ for some examples of what people have done with small microcontrollers that are capable of running on low power.) But the uConsole will still be on the order of 10 times faster, and consequently (if we hold the underlying implementation technology constant) dissipate on the order of 10 times as much energy. Considering that it's using conventional CMOS instead of Ambiq's subthreshold process, the ratio is probably closer to 50:1.
- bobmcnamara 1y agoHave you checked if the Apollo3 can XIP small page NAND? There are some relatively recent quad SPI NANDs that can shoot over a cacheline-sized page efficiently. Sometimes it's nice having a massive mapped flash.
- kragen 1y agoThe Apollo3's MSPI interface does support both "XIP" (with cache) and "XIPMM" (without), but as far as I can tell that's not useful for low-power computing—the NAND Flash chip is going to use an order of magnitude more power than the CPU. The (non-SPI!) NAND I'm going to attempt to use only uses 18μW in standby (datasheet figure, not my measurement) but with XIP you can't predict or even really measure how much you're accessing it and how much power you're using as a result. The chip uses 27mW in active mode, so to hit the 1-milliwatt power budget the NAND's duty cycle needs to be on the order of 1%. Same story with external RAM chips: they all promise to use a lot more power than the Apollo3 itself. The lowest-power way to increase the Apollo3's 384KiB of SRAM seems to be to plop another Apollo3 on the board next to it.
- MomsAVoxell 1y agoThis is a riveting and fantastic thread. If I extrapolate your trajectory, very interesting things are ahead. I could see myself doing a lot of work with a couple of z80/6502-based systems, as long as they were maxed out in terms of memory and had decent peripheral support .. put a network device in the mix, and it offers plenty of opportunities to run a Strange New Operating System. I would happily run a 21st Century CP/M to read email, watch sensors, drive the ship .. if, say, it had multi-processor/network support and there were somehow 1024 z80's in my wrist-watch/book/headset/nav station, all cooperating at low power to do bigger things. 384k is enough for everyone. What I wonder actually now, is physically what would it look like to have a fully functioning z80 in silicon from sunshine to user display, in a single package. I bet that could be mighty small, physically. Scale this into an energy-friendly form, and we have solar-powered computing at hand. (Edit: I'm also a grey-beard, have kept every system I've ever worked on/written software for, for 50 years. My living room is a retro- computing museum... My motto is "computers don't get old - their users do" .. so the utility of very lower-power computing devices is entirely relevant to my interests..)