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

No Subject



Silicon Valley Chapter of the Forth Interest Group

Meeting May 27 1995 10 am to 5 pm
230 Lincoln Centre Drive, Foster City, California

9:45    Coffee and Donuts

10:00   Forth Engines Users Group Meeting
        Life beyond MuP21, Chuck Moore

Chuck said that F21 was suffering from too many improvements.  He said
you just have to draw the line at some point and finish everything, but
that F21 had enough things added to it that it was difficult to finish.
The design required some chip wide changes based on the results of the
last P8 prototype run.  He said that the simulator currently says 400
mips internally on F21, he said at one point he had it tuned to 500,
but he worried he had pushed it too far.  He said that generally there
were no advantages to making it slower.  If he slows things down the
signals may not be as good.  He said there was a sort of natural
resonance for the design.  His design has a ~300 picosecond delay for
each of the various sort of primitive operations that occur on the
the chip.  It takes ten or twelve of these steps to execute a CPU
instruction.
One of the things that slow Chuck down is the speed of simulation.
It takes about 5 minutes to simulate 12 instructions, so testing
is very slow.  With three coprocessors all capable of interrupting
the CPU there are many conditions that need to be simulated to
verify the design.
Chuck said it was about a one day job to stretch the design of F21
CPU to make the 32 bit P32 design.  He also said that 8/12 may be
a more reasonable stack depth to implement on P32 than the depth
on F21.
Chuck said he is working on the analog signals.  He is interested in
doing a modem, thinks there are opportunities to simplify.
The P8 design had a problem with the reset circuit.  This was
because Chuck had not correctly guessed its power up logic state.
He said this was problem because he had no documentation on the
power up state of these designs.
He said he almost felt like he was breaking the laws of physics to
be making microprocessors that were five times faster than the
industry accepted speed for a flip flop in a given technology.
He said he has been thinking about sub .1 micron technology.  It will
be a big problem for the industry, because at these scales the
interconnect delay becomes more signifigant than gate delay.  But
the old cell libraries and CAD programs are not designed to handle
this.  Chuck's answer is what he does in OKAD, manual place and route.
Chuck says the industry will need some very advanced AI software or
they will need to get engineers involved in the designs to solve these
problems.
Chuck also said he had been thinking about nano technology.  He talked
that number of electrons that he used as a unit in OKAD and said he
is thinking about the number of electrons and the number of atoms involved.
He talked about the statistical distribution of dopants in transistors,
and the problems when then are so few atoms in a transistor.
Chuck said he felt he was on the right path with integrating systems onto
a chip.  He said but where other people are thinking megatransistors
he is thinking kilotransistors.  He said that memory is also expensive
and is getting relatively more expensive.
He said he has been speaking with NASA and the Air Force about projects
like satelites and the Mars rover.  Chuck said the he perceive that the
antagonism to Forth has faded, they aren't locked into ADA.  They have
this system that is even worse than C.
Chuck talked about the F21 design and answered some questions.  He
explained the home-page branch instructions, and the work involved in
implementing three types of branching modes, and the other new
instructions on F21.
Chuck talked a little about P32.  He said it would use six five bit
instructions.  One of the two left over bits would be return, and
he didn't know about the other yet.
Chuck talked a little about P8.  He was tired of working a "brain
damaged" chip, and has kind of given up on such specialized function
chips.  He said when he first implented the ROM he drew in the
individual bits to program the device.  Then when he had to change the
program he decided it was time to write a program that would read a
ROM image and generate all the transistors.
Chuck said he was using new names for the signals previously called
I/O and SRAM on MuP21, and that he was now calling these RAM and ROM.
Chuck talked about the analog I/O coprocessor, the network interface
processor, and the configuration registers on F21.
Finally Chuck answered various questions about chips and CAD.

Dr. C.H. Ting then demonstrated a multi-voice music program that
was using the video output processor on MuP21 to generate the
analog signal being played.  He showed the details of the design
and code, and explained that he used a much slower xtal than
the one used to generate the video timing for the P21 coprocessor.

1:00    Introductions, Announcements, Rumors and Gossip
1:30    F95 Workshop, C. H. Ting
Tom and Andrew are about to disappear to the jungle of Texas.  This was
their last chance to talk about the 32-bit Forth for Windows to this group
for a while.  Dr. Ting proposed to organize a team to provide documentation
to this system and release it formally as 'F95' into the public domain.

2:00    C Wraper and Kernel of F95 Workshop, Andrew McKewan
Andrew wrote the original C wraper and the kernel of F95.  He also ported the 
object oriented code over from Neon.  He discussed the interface between
F95 and Windows, and the issues in hosting an intractive Forth under the 
Windows enviroment.

Andrew talked a little about the object oriented extenstions that had been
taken from NEON, and how they were useful as an interface to the windowing
system.

Andrew said he considered the system to be a 32 bit Forth for Windows and
a good environment to learn about the Windows interface because you could
test anything out interactively.  But he said he did not really consider
it a Windows GUI development environment because it was lacking too many
things.  There is no icon editor, no help editor, etc etc.

In addition to names for Windows functions, and constants for control
locations in Windows, F95 contains most of the features of F-PC.  The
system boots from FORTH.EXE and loads FORTH.IMG.  The IMG contains
the dictionary and can be from 300k to 2M.  The EXE file contains the
C wrapper and changing it would be similar to metacompiling a new
kernel in F-PC.

You can simply say  ' MAIN IS BOOT    FSAVE FOO  to save a FOO.EXE and
FOO.IMG.  You can then install and use it in Windows.

3:00    Break
3:30    Utiltities and Tools in F95, Tom Zimmer
    Tom extended Andrew's F95 kernel to include all the utilities and tools he 
needed to finish the work at Finnigan, porting a multi megabyte Forth project 
from a fragmented 16-bit Forth system to the 32-bit Windows system.  The 
extensions include assembler, disassembler, debugger, decompiler, editor, 
class, objects, mouse interface, and graphic interface.

Tom said that a floating point package had been added, but it did require
floating point hardware.  Tom talked about he OO extension, and how there
were times when he only needed to make one particlar class of object, so
he felt it was wasteful to create a CLASS with only one OBJECT.  So he
created a way to define these objects without having to first define a
one of kind class.  He also talked about headerless classes.  Tom showed
how methods were assigned to classes.
Tom explained that they interpretter was a little unusual.  First it
looks up a word to see if it is in the dictionary, then it tries to
convert it to a number, and finally if it can't do either of these
things it performs a HASH and leaves the value on the stack.  This
is because it assumes that it is a METHOD and that its value should
be put on the stack so the object can resolve it at runtime.  Objects
match the method value to those in their own list of methods to find
executable code.

4:30    F95 Round Table
    F95 is a big system.  The source code is about 1.5 MB.  Members of theF95 
team will be assigned portions of the source code and write documentation.  The 
goal is to have a complete manual in 3 months, so that we can actively promote 
this system inside and outside of the Forth community.  If we can do a good job 
on the documentation, we will have a system to compete against other Windows 
tools like Visual Basic and Visual C.  There is a window of opportunity to make 
Forth the language of choice on the Windows computers.

I had to leave early, so I didn't hear the F95 Round Table discussion.
Perhaps someone who was able to attend this will be able to comment on what
things if any were organzied.

Jeff Fox