Re: non load/store architecture?





Jim Granville wrote:

Anything that has INC/DEC/DJNZ of a direct memory address qualifies.
So that gets you 8051, 6805, 68HC11, Z8, Zeno, PIC18?, Coldfire, etc

If you want interesting special cases, look at
** the Intel 8096, that had no ACC, all operations were
Reg-Reg, but it used 256 registers
** Any RISC Reg-Reg design, that also has a register frame pointer
The C166, and Z8 ( and IIRC, some Sparcs?) have these, which allow
the reg-reg opcodes to work into any window of larger SRAM.

Q: is that now accessing register, or memory ?

Of all the computers I have used only the IBM 1620 was the only pure
memory only computer with no programming concept of registers. There
have been some near misses, processors that put their registers in memory
and some like the ones you have referred to like the Z8 and RS08
more recently that moved many of the accumulator operations to
memory to memory operations significantly improving the execution
bandwidth by doing so.

The IBM 1620 was additive and remarkably nice to program.
Conceptually it had a lot going for it. Numbers were stored as variable
length fields. Adding two 40 digit numbers took the same code as adding
two 5 digit numbers. Two or three years ago we looked at the IBM 1620's
instruction set as a model for an embedded processor memory only
instruction set. The extra address field in most instructions killed the
advantages of memory to memory operations. I suspect that quite a few
people have gone through the same exercise.

w..




.



Relevant Pages

  • Re: ICFP Contest
    ... This the BALANCE machine puzzle concocted by Y. Yang. ... Each of the source and destination registers is an indirect register. ... stored in the memory location indicated by the current contents of D. ... industry's leading programmer certification programs. ...
    (comp.lang.forth)
  • Re: ICFP Contest
    ... This the BALANCE machine puzzle concocted by Y. Yang. ... Each of the source and destination registers is an indirect register. ... stored in the memory location indicated by the current contents of D. ... industry's leading programmer certification programs. ...
    (comp.lang.forth)
  • Re: The variable bit cpu
    ... what changes to the instruction set would you make to address data ... Possibly little changes since the cpu can detect the size of each variable ... Assuming the CPU and the main memory are seperated the communication between ... The CPU could act upon "virtual registers". ...
    (sci.electronics.design)
  • Re: The variable bit cpu
    ... Surely you don't mean a bit at a time; memory ... > The CPU could act upon "virtual registers". ... There is nothing in the instruction set of any processor that I have ever ...
    (sci.electronics.design)
  • Re: Print statement within If-Then block changes output!!!????
    ... Presuming that Colin's conclusion that this isn't the usual sort of out-of-bounds error causing that problem, and that it is in fact a compiler bug, I think I've got a fair guess which exactly compiler bug it is, because I've run into it in exactly this situation: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=323. ... The short version is of the bug this: The Intel floating-point system has 80-bit floating-point registers, but has only 64-bit floating-point storage. ... Thus, there are cases where, if a value is stored in memory, its value will be slightly different than if its kept in a register. ...
    (comp.lang.fortran)