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

Re: Just what makes a Forth cpu?


Dear MISC readers:

Ben Franchuk wrote:
> While this not a Forth CPU by a long shot, just what features
> are needed to make a Forth Cpu? Stack operations and the Forth
> style subroutine call helps but does it place my cpu in the Forth
> ballpark or not?

I think so. There is no hard defintion.  It will depend on whom
you ask.

I think of a Forth CPU as one with a dual stack architecture and
an instruction set that closel resembles Forth.  But there is no
hard line there.

I think of Forth enhanced CPU as those with instructions to
support or enhance a Forth.  This often involves instructions
to support some threading mechanism.  Nest and unnest were
added as instructions to some processors to enhance their
use for Forth sytle code.

I guess I would include a machine with Forth in on-chip ROM
as another kind of Forth enhanced design, but not really
a Forth enhanced CPU.  But they are often referred to as
Forth chips.

I think a chip can be a Forth CPU and more. If it includes
register based operations or various addressing modes I 
don't think that disqualifies it as being thought of as
a Forth chip, and the extra instructions can probably be
used in a Forth implementation somewhere.  Often the
Forth part of these designs are played down for marketing
reasons to show the chip's more general purpose design.
I think of these as Forth CPU enhanced for other things.

If you have a stack addressing mode that can operate on
something like a Forth data stack and call/return instructions
that operation on a return stack I think you can always play
up the Forth aspect of the chip.  I think that not only puts
it in the ballpark but onto the field.  

I don't know all the details of your design, but it sounds more like
a Forth CPU than a Forth enhanced CPU by my taxonomy.  From what
you said I might call it a Forth CPU plus.  But the
boundaries are pretty fuzzy and it is just my opinion anyway.

Jeff Fox