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

Re: [colorforth] Musings on SEAForth


On 21/01/2008, Jeff Fox <fox@xxxxxxxxxxxxxxxxxxx> wrote:
> 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.

Well, no, the size of SRAM explains why he went for 18 bits after that
- what I'm wondering is why he stayed with 18 bits when he decided to
put a bundle of them on a chip, rather than stretching back out again.
Just a matter of the core already being there?

> Elizabeth Rather noted a while back that all the early
> Forth implementions were on word addressing machines

Not surprising - I think in that era, only IBMs really spoke bytes,
didn't they? But something else strikes me about the processors from
the mini generation; they were all a lot simpler than current ones,
with very simple, regular architectures optimised for throughput. Can
see why that would appeal :)

> 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.

Yep - that much is obvious from the emphasis on cells. BCPL, B and
BLISS have that same emphasis. (In fact, BLISS has something
suspiciously similar to CREATE... DOES> too...)

Unfortunately, BLOCKs mucked things up a bit. Very byte-oriented, at
least in traditional Forths. :)

> 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.

(cf. my comment above about C's raison d'etre; it couldn't not)

> > 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.

Yeah, but I think there's enough of it to qualify as "internal
memory". ;) In any case, the Pentiums have tended to use writeback
caches, which mean that external memory isn't definitive - in theory
one could fake it to prime the cache, and then one would be able to
run an x86 without external memory.

And hey, DOS would fit just fine in 1Mb L2 cache...

> 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.

Not the really cheap ones; indeed, some of them have architectures
which exclude the possibility altogether (eg. the PICs, the Parallax
Propeller).

Regards
Gwenhwyfaer

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