The Notion of Indirect Address Register "N"
If our model has an unbounded accumulator can we bound all the other registers? Not until we provide for at least one unbounded register from which we derive our indirect addresses.
The minimimalist approach is to use itself (Schönhage does this).
Another approach (Schönhage does this too) is to declare a specific register the "indirect address register" and confine indirection relative to this register (Schonhage's RAM0 model uses both A and N registers for indirect as well as direct instructions). Again our new register has no conventional name – perhaps "N" from "iNdex", or "iNdirect" or "address Number".
For maximum flexibility, as we have done for the accumulator A – we will consider N just another register subject to increment, decrement, clear, test, direct copy, etc. Again we can shrink the instruction to a single-parameter that provides for direction and indirection, for example.
- LDAN (i/d) = CPY (i/d, N, d, A); LoaD Accumulator via iNdirection register
- STAN (i/d) = CPY (d, A, i/d, N). STore Accumlator via iNdirection register
Why is this such an interesting approach? At least two reasons:
(1) An instruction set with no parameters:
Schönhage does this to produce his RAM0 instruction set. See section below.
(2) Reduce a RAM to a Post-Turing machine:
Posing as minimalists, we reduce all the registers excepting the accumulator A and indirection register N e.g. r = { r0, r1, r2, ... } to an unbounded string of (very-) bounded-capacity pigeon-holes. These will do nothing but hold (very-) bounded numbers e.g. a lone bit with value { 0, 1 }. Likewise we shrink the accumulator to a single bit. We restrict any arithmetic to the registers { A, N }, use indirect operations to pull the contents of registers into the accumulator and write 0 or 1 from the accumulator to a register:
- { LDA (i, N), STA (i, N), CLR (A/N), INC (A/N), DEC(N), JZ (A/N, Iz), JZ (Iz), H }
We push further and eliminate A altogether by the use of two "constant" registers called "ERASE" and "PRINT": =0, =1.
- { CPY (d, ERASE, i, N), CPY (d, PRINT, i, N), CLR (N), INC (N), DEC (N), JZ (i, N, Iz), JZ (Iz), H }
Rename the COPY instructions and call INC (N) = RIGHT, DEC (N) = LEFT and we have the same instructions as the Post-Turing machine, plus an extra CLRN :
- { ERASE, PRINT, CLRN, RIGHT, LEFT, JZ (i, N, Iz), JZ (Iz), H }
Read more about this topic: Random-access Machine
Famous quotes containing the words notion, indirect, address and/or register:
“San Francisco is where gay fantasies come true, and the problem the city presents is whether, after all, we wanted these particular dreams to be fulfilledor would we have preferred others? Did we know what price these dreams would exact? Did we anticipate the ways in which, vivid and continuous, they would unsuit us for the business of daily life? Or should our notion of daily life itself be transformed?”
—Edmund White (b. 1940)
“... so long as the serpent continues to crawl on the ground, the primary influence of woman will be indirect ...”
—Ellen Glasgow (18731945)
“If you have any information or evidence regarding the O.J. Simpson case, press 2 now. If you are an expert in fields relating to the O.J. Simpson case and would like to offer your services, press 3 now. If you would like the address where you can send a letter of support to O.J. Simpson, press 1 now. If you are seeking legal representation from the law offices of Robert L. Shapiro, press 4 now.”
—Advertisement. Aired August 8, 1994 by Tom Snyder on TV station CNBC. Chicago Sun Times, p. 11 (July 24, 1994)
“Our fear that Communism might some day take over most of the world blinds us to the fact that anti-communism already has.”
—Anonymous U.S. Analyst In 1967. Quoted in The Uses of Anticommunism, vol. 21, published in The Socialist Register (1985)