Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!news.stack.nl!aioe.org!.POSTED!not-for-mail From: Walter Banks Newsgroups: comp.lang.forth Subject: Re: Metrics on stack usage Date: Mon, 22 Sep 2014 17:07:37 -0400 Organization: Aioe.org NNTP Server Lines: 45 Message-ID: <54208F99.D6D181C4@bytecraft.com> References: <541855C0.2558D27D@bytecraft.com> <7xmw9zletd.fsf@ruckus.brouhaha.com> <541891FE.9157C03@bytecraft.com> <7xoaufyxch.fsf@ruckus.brouhaha.com> <541C11C5.5AD2C7E0@bytecraft.com> <541C3737.EC861D30@bytecraft.com> <7xvbojzn7e.fsf@ruckus.brouhaha.com> <542036A7.FFCE36C8@bytecraft.com> <2PSdnfbPXLhexr3JnZ2dnUU7-Q-dnZ2d@supernews.com> NNTP-Posting-Host: WS9whZ/ot+e+Q+IoL9T/mw.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org X-Mailer: Mozilla 4.79 [en]C-CCK-MCD NSCPCD479 (Windows NT 5.0; U) X-Accept-Language: en X-Notice: Filtered by postfilter v. 0.8.2 Xref: csiph.com comp.lang.forth:33515 Andrew Haley wrote: > Walter Banks wrote: > > Paul Rubin wrote: > > > >> Walter Banks writes: > >> > An additional comment. The Mill project effectively does something > >> > similar to a circular stack with its moving stack. > >> > >> I think of Mill as an unusual register machine rather than a stack > >> machine, since the "belt" requires random access. GA-style stack > >> machines don't have any way to access the stack interior, which > >> simplifies the hardware (no bypass network, if I'm using the term > >> correctly: ALU inputs are always the two registers TOS and NOS) and > >> makes it possible to run at very high frequencies on older processes > >> (the GA is 700 mhz on 0.18 micron cmos). > >> > > > > I did a quick code generator for a mill type architecture and found > > no real advantage over writing code for a general purpose micro. > > I thought the advantage of the Mill was that you get register renaming > essentially for free, gaining superscalar preformance without needing > all the complex renaming logic in a more conventional architecture. > That sounds reasonable to me. Partly correct. Starting from scratch the compiler code generator is much simpler for the mill but it isn't a huge win overall at least in the tests I did. They did recognize one thing and that is that most local variables have a statistically limited lifetime and they found a way to incorporate that information into their ISA. They pay a price for stack relative addressing one way or another in the implementation. One thing the mill did was to focus on alternatives for local variables and alternatives to large register sets and its impact of ISA encoding size. w..