home .. forth .. colorforth mail list archive ..

Re: [colorforth] Musings on SEAForth


> On 21/01/2008, Jeff Fox <fox@xxxxxxxxxxxxxxxxxxx> wrote:
> Which makes sense for that, sure, but why is SEAforth
> based on the x18 core rather than the P21 core?

P21 was finished in 94 and F21 in 98 with many improvements
and in a smaller geometry.  Both were layed out with okad.
OKAD (1) used a graphic editor to do layout.  The chip was
described as an image.  Colorforth was added as a scripting
language on top of OK to write test scripts in okad.

After iTV went away.  Chuck got a new computer and felt
inspired to start over and implement okad 2 in colorforth
instead of the other way around. So he started by making
a colorforth OS and development environment.  Then he
began to describe a chip in colorforth.  The ideas were
similar to what was done in ok but now in .18u instead
of 1.2 or .8u the cad rules were different and the
design needed improvements.

OKAD 2 was a classic Chuck restart where he said that
after doing it several times one way he now understood
the problem better and was ready to try a better way
to get to a better solution.  That doesn't explain
exactly why he choose 18 instead of 21/20.  The fact
that stacks were one bit wider than memory had some
advantages and some disadvantages.  Having an even
number of bits does simplify things.

>> I think part of it is that Chuck rebels against the 8-bitness
>> you see in C.  He says C has to carry that burden but he
>> doesn't.
>
> Funnily enough, one of the key reasons for C's
> existence in the first place was the fact that
> the PDP-11 was byte-addressed. Otherwise, I'm sure B
> would have sufficed... for example, if Bell Labs had
> said to Ken Thompson "no, you
> can't have a PDP-11, but we'll buy you a DG Nova"...

Elizabeth Rather noted a while back that all the early
Forth implementions were on word addressing machines
and some did not use 8-bit characters.  Chuck must
have been happy with that.  Every machine he has ever
designed has been a word addressing machine.

He said, "Forth is a word oriented langauge and we
should recognize that fact and take advantage of it."
It is not just word oriented at the semantic level
but at the implementation level.  While one of the
first sentance in GCC is that hardware should have
a word length that is a multiple of 8, 32 or above,
and do byte addressing.  It has a lot of ties to
8-bit ascii characters in files in many levels.

>> Many computers have no internal memory at all.
>
> Actually, these days pretty much all computers come
> with some internal memory.

Pentium has none, cache yes, but you can't boot or
run without external memory.

> It's just not addressable as such, except in MCUs
> (which don't tend to have external memory).

Many microcontrollers have internal ROM or Flash and SRAM
but also have an external memory bus for when you have
programs or data that don't fit in internal memory.

> Of course, even on modern x86 CPUs, 16-bit Forth
> has an advantage - how many other environments can
> run entirely within L1 cache...?

Koopman's book says that stack machines will have
about eight times less code than a CISC or RISC
machine and that entire programs may be smaller
than the amount of cache that is needed to get
decent performance on a RISC machine.  I have
seen dozens of examples of that 8x in Intel machines.

Best Wishes



---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@xxxxxxxxxxxxxxxxxx
For additional commands, e-mail: colorforth-help@xxxxxxxxxxxxxxxxxx
Main web page - http://www.colorforth.com