How about machine without registers?

After a couple of hours of looking, beyond the like of purely theoretical entities, like the nicely named, but non-existent PERL-a registerless architecture, I can find no indication that a register-less CPU does, has, or ever will exist.

But assuming, just for a moment, that such a thing did exist, why would it put arguments on a "stack", when it effectively has unlimited registers in the form of the entire address space to work with?

And, how would it implement a "stack", without a 'stack pointer'?

And what benefit would there be to transferring a value from one memory address (the variable) to another memory address (a stack slot) in order to compare it against a value located at another memory address (whether the variable's address, or that of some location on the stack)?

How about values retrieved early in the sub and compared late in the sub?

"retrieved" from where? The variable's (named) location? Ie. a memory address -- which conventionally would already be some place on the stack for local variables.

If the sub has access to it, it must know its address. What would be the point in moving it from that address, to another address (on the stack) at an early point in the code, before comparing it later in the code?


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority". I'm with torvalds on this
In the absence of evidence, opinion is indistinguishable from prejudice. Agile (and TDD) debunked

In reply to Re^6: Help me to understand increment / decrement operator behavior in perl by BrowserUk
in thread Help me to understand increment / decrement operator behavior in perl by sam_bakki

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.