Neo-Smalltalk
Due to a technical problem, the live demo was
impossible.
The demonstration is of a
small computer built around an FPGA. The computer also has some RAM and flash
memory (for perm storage). The last chip is the "bios", which reads from flash
and programs the FPGA.
The computer is
an instant on computer, currently boots directly into a pong
game.
The computer was developed as
part of an application for truckers. It was intended to cost ~$30 (before the
LCD/keyboard).
The original intent was
to develop a very low cost computer for the poorer people of Brazil (like the
Simputer, I think). The machine is designed to go into schools (and even be
acquirable by private individuals). The co-design focussed on Smalltalk because
of it's exploratory background. The FPGA allows the designer to experiment with
hardware implementation of VMs. FPGAs can take on characteristics of other
processors.
Previous iterations could
only implement 16-bit machines, the current version can implement a 32-bit
machine.
The 16-bit machine was very
limited due to it's limited address range. The discussion went into
implementation tradeoffs of the Smalltalk system due to the small size. He wound
up customizing a Forth processor to be more efficient at message sending. He
could achieve message dispatch in one clock cycle. Mostly because RAM
outstripped the object space requirements by a factor of four (or
so).
One really cool thing about the
implementation was that the hardware was available to the tool level. So a user
who gets into programming will find the transition to programming the hardware
very smooth.
Another thing that was
cool was the way that syntax of his language eliminated the need for a real
compiler because you would actually program the abstract syntax
tree.
In the 32 bit version, there are
actually multiple 16 bit machines which operate as separate tasks. A 32 bit
implementation may involve multiple FPGAs, splitting the tasks across hardware
so that messages actually involve inter-processor
messages.
Really cool, but mostly over
my head.
Posted: Tue - October 28, 2003 at 12:55 PM