From: "Chuck Guzis" <cclist at
sydex.com>
Reply-To: "General Discussion: On-Topic and Off-Topic
Posts"<cctalk at classiccmp.org>
To: "General Discussion: On-Topic and Off-Topic Posts"
<cctalk at classiccmp.org>
Subject: Re: Stack Machines
Date: Sat, 21 Oct 2006 09:42:43 -0700
On 21 Oct 2006 at 12:07, Ray Arachelian wrote:
Stack based machines can be very fast, and
depending on their design
much faster than IA32/IA64. The idea is to use the stack instead of
registers, or as registers, and to have a large stack. Most of the
stack lives in L1 cache, and is almost as fast as a large RISC register
file.
...and at some point, the stack overlows the L1 cache and degrades to
memory-to-memory speed, no?
Hi
It would be difficult to write an application that would overflow a stack
in todays L1 sizes. Still, efficient background stack caching methods can
easily hide all but the most agressive stack useage.
While it's true that stack-based architectures can provide a lot of
bang-for-the-buck, like single-accumulator machines, it's difficult
to leverage parallelsim to improve performance.
This is generally true but then it is because the stack machine
is handling data and instruction at close to optimal speed to start
with.
I'd venture that it's awfully difficult to design a stack machine
that can compete with a 3-address architecture with a large register
file, multiple pipelined functional units and instruction scheduling.
Most Forth stack machines are running 3 or more data paths with
address at the same clock cycle. It can also make more effective
use of instruction fetch from physical memory. Usually several
instructions can be fetched in a single word access. a single 64 bit
fetch could almost include a simple program. Program size
reduction means more efficient use of L1 or L2 caches. Also
no need to translate X86 instructions into a more RISC like
instruction set for execution.
Another thought is that a vary fast stack engine has a small foot
print on silicon. Do a search for a "sea of processors". Comparing
a single stack processor to something like todays 64 bit machines
could be better compared by looking at power or size per operation.
Something like a server could be more efficient handling many
task in parallel.
Dwight
Would you consider the Burroughs B5000 to be a stack machine?
I don't know enough about this machine to make a judgement.
Cheers,
Chuck
_________________________________________________________________
Use your PC to make calls at very low rates
https://voiceoam.pcs.v2s.live.com/partnerredirect.aspx