home .. forth .. misc mail list archive ..

Re: MISC-d Digest V97 #49


Dear MISC readers:

I think the discussion of homebuilt hardware design is quite
interesting.  I think there are many people in the group who
are interested.

>From: "GARY B. LAWRENCE" <garyl@nvmedia.com>
>Subject: areas of study for use in misc mup21 and f21 applications 

Gary's ideas are very much in line with my original ideas for F21.

>I wish to know what specific areas of study will be useful in using the
>MUP21 and the F21 chip. For instance - I saw a good technical book on 
>networks at Barnes and Noble written at MIT. I wondered if such a book 
>would help in development of different types of networks with the F21.
> It appears to me that the F21 is the best single chip network
>processor. I think of using F21 chips in small ring networks with 
>one or two chips acting as gateways to other chips on different rings. 
>A possible application would be to hook these rings to a linux or unix 
>server to the internet and set up a game played over the internet using
>Forth or java on the client side and the F21s on the server side.  The 
>cost per node would be less than a pc capable of 100 integer mips with 
>a network card. Such a system might have something like differenti rooms
>of a Doom type game done on each separate F21 or each one hooked to a
>ide cdrom for individual lookup. The performance on the server side may
>not be transferable to the client side thru a modem but the ability to 
>expand the server side performance at lower cost would be impressive. 

Yes, and in addition to multiple nodes for computation such a system
could also drive a number of displays for things like multiple windows
and panels on a fligh simulator.

> Another type of system which should benefit from the use of a cheap 
>network array is a robotic system. It is discouraging to think that we
>cannot build a robot that matches the ability of the primitive
>cockroach. 

Someone in comp.robotics once claimed they could simulate one neuron
per instruction per second on their microcontroller.  I jumped in and
said the number is more like one neuron per one thousand instructions
per second.  Then Hans Morovec jumped into the discussion and said
that in their projects that cleverly written simulations that share
some computations were getting about one simulated neuron per one
hundred instructions per second. From this equation one can see that
a microcontroller providing 500,000 instructions per second can
simulate about 5000 neurons. 

The same equation suggests that a 1000 node F21 machine would be able
to simulate 2,000,000,000 neurons.  That is not still not human class,
but how many times in your life have you heard that you only use 1%
of your neurons most of the time?

>Use of a chip like the F21 may help in some ways. Using a 
>stress guage and the analog section of the F21 one might be able to 
> sense the weight on one leg of an six or eight legged insect. The same
>leg may need other F21s to sense position and do local motor control. 
> These processors could be hooked in a local net for fast single leg 
>adjustment, and to a another net to the main processor. It appears to me
>that robotics would be able to take a major step forword with a
>processor like the F21. 100 mips, network processor on chip and some 
>analog processing would lower the cost of the individual nodes of a
>robot. If memory serves me, I believe some primative animals and even
>large dinosaurs had or have a second brain further down the spinal cord 
> so the use of networked brain function has been shown to be used in
>some animals.

Even humans have a great deal of distributed intelligence outside of
the brain.  I think the problem requires distributed processing and
lots of it.  With a few primitive micros you can make a bug that can
crawl around on the floor.  I am more interested in robots that
can recognize me visually or carry on a spoken conversation with me
or call me at work and display moving pictures on my computer of 
something it thinks is unusual that is going on back at my house.  I have
done these things before with a couple of mips computing power
and think that cheap consumer robots should have many many times
more power as one would with networked F21.

We had a great working group at the 96 Rochester Forth Conference on
robotics.  What people wanted to see was the development of a plug and
play portable extension to Forth for robotics.  Something like the
open firmware standard but for robotics.   People liked the idea of
interchangable parts that might allow one to pull off a leg and plug
in something else, reconfigurable robots.  (perhaps they could even
assemble themselves to do a particular job.  But we are getting a _little_
ahead of ourselves.)

>  Another place networked processors could be used is in a new operating 
>system design.  Unix was a system designed using C as the system
>building language and Unix was designed to be multiuser and
>multitasking. The reason for using a C compiler at the time was because
>processor time was expensive and it was thought that compiled languages
> produced the best compromise between speed and program development.
> A complex operating system and 20 or so users seemed at the time to 
>be the best use of a very expensive computer. But now one F21 has many
>times the power of a PDP 8 or so and it is not hard to see one person 
>using 10 F21s for a price comparable to a midprice pc clone. I would
>like to see experimental systems in which one F21 is used for the code
>development and others are used for other operating system functions, 
>such as object oriented disk system, flowchart display, debugging tools, 
>print rendering, and graphics display. 
> 	Any thoughts on these or other subjects?

F21 is not designed to run UNIX and an OS that provides multi-threading,
multi-processing, distributed I/O, and distributed debugging will be
needed for an F21 multiprocessor.  Fortunately much of it can be done
with a couple of words and most everything available in Linda and in
Occam can be provided at the same time with only a handful or words
with an SMP (Symetric MultiProessing) model.

Just as we can do a GUI with support for video hardware windows acceleration
in a couple of K of code instead of the more conventional multi megs of
code we can provide multiprocessor support with a very compact language
and OS model.

Of course F21 are still costing me about $500 each at the moment, and
the last batch of 25 are very disfunctional.  A handful of chips still
costs more than several new PCs.  I guess it is time to gamble another
$10k on another F21 fab run.

Jeff Fox              jfox@dnai.com    
Ultra Technology Inc. http://www.dnai.com/~jfox/