Saturday, July 17, 2004
Embedded Lisp machine?
Okay, so here's a weird idea. I was still thinking about building a Lisp machine using an FPGA when it struck me that the embedded world would be an interesting place to use some of this technology. Java has found a lot of life embedded in cell phones, for instance. I would think that a Lisp machine would be easier to program, far more debuggable, etc. There was a lot of work for a while on processors that would execute Java byte code. Why not go in a similar direction, but using Lisp? The key in an environment like that is to keep the power dissipation per unit of computing work to an absolute minimum. Being able to compute tag checks in parallel to computation and avoiding boxing/unboxing operations would be more efficient, power-wise, I would think, than trying to emulate all that on a standard processor.
This is an interesting idea. There are good reasons why Java owns the smart card, and to an extent, more general embedded markets.
Java is standardised, high-level, bounds-checked, garbage-collected, and security checked. It is portable "without recompilation".
Lisp is a standardised, high-level, bounds-checked, garbage-collected language. It has no standardised format for FASLs, which are what Java class files amount to; it has no standardised security-checking mechanism, but is notoriously capable of being extended portably using libraries and macros, and of coping with interpreter-level extensions.
Embedded implementations have different standard libraries from J2SE, of which J2ME is but one among many. The embedded market seems rather more driven by actual engineering than just fashion. Make it so.
http://lispm.dyndns.org/lisp/pics/zora.gif
That's as close as it got. A multibus based Lisp machine running a real-time OS called Minima written in Lisp.
Perhaps these "soft core" processors like NIOS, which can boot Linux (which I prefer to think of as a FEP) and be augmented with custom instructions, might be useful... In case these links don't make it, go to www.altera.com and look for the "Nios II Embedded Processor Overview"
http://www.altera.com/products/ip/processors/nios2/overview/ni2-overview.html#delivering_right_features63.html
http://www.altera.com/products/ip/processors/nios2/overview/ni2-overview.html
morrison at mak dot com
There's certainly no problem fitting a Lisp into a small computer.
PICBIT: A Scheme System for the PIC Microcontroller (pdf)
Post a Comment
Links to this post: