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

Re: Hobbit again


> Date: Mon, 18 Mar 1996 01:51:54 +0100
> From: Jaap van Ganswijk <ganswijk@xs4all.nl>
> The Hobbit has (almost) no registers and uses a cache on the stack memory
> instead. Compared to Forth engines and other pure stack machines it has a
> very orthogonal instruction set however and can manipulate not only the top of
> the stack but also local variables higher up on the stack. Which helps
> compiled C/Pascal/... a lot.
> Just see the upper positions on the stack as registers in cache...
> .
> People try to tell me, that this concept can't be efficient, but I don't see
> why...

It's less efficient because it makes the datapath in the CPU more
complicated.  For example, superscalar execution is inhibited because
it's possible that a stack element may be rewritten by a memory
reference after it has been issued as a operand to an execution unit.
The only way to solve this problem is to heave a complex interlock
within the CPU.

With CPUs, simpler is better.  The only advantage of Hobbit is that it
allows one to take the address of a stack element: that's a language
misfeature.

Andrew.