Jump to content

Talk:Index register

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

More info

[edit]

the article didn't specialize the use of Index registers . and what registers are Linked with ? 209.107.217.15 (talk) 19:01, 3 July 2009 (UTC)[reply]

TAE

[edit]

ang ta3 ky c Efren Carvelleda.................. —Preceding unsigned comment added by 124.105.44.173 (talk) 05:57, 30 November 2010 (UTC)[reply]

Not all index registers created equal

[edit]

The memory-indirect indexing registers, and their example the MOS-6502 X and Y registers, are only one kind of index register. Another kind, found in the ZiLOG Z80 (IX and IY registers), were pointers to a direct address in memory with an optional displacement number (eg. IX and IY were 16 bits long, just like the Z80's Program Counter (PC) register, and could reference an address with a displacement range of 8 bits using two's complement. For example LD IX, 4000h, and then use IX+32 to refer to address 4020h). --46.117.127.240 (talk) 21:07, 23 February 2011 (UTC)[reply]

What is "small"?

[edit]

In its day the IBM 650 was considered to be a small machine, and it had optional index registers. Shmuel (Seymour J.) Metz Username:Chatul (talk) 16:43, 19 April 2017 (UTC)[reply]

What is a register?

[edit]

Index registers were not always implemented as separate hardware registers. On the IBM 7070 locations 1-99 of core storage were "indexing words", and as I recall DEC did something similar with the PDP-6. Shmuel (Seymour J.) Metz Username:Chatul (talk) 16:50, 19 April 2017 (UTC)[reply]

The PDP-6 and the PDP-10 line had 16 "accumulators" which were actually general-purpose registers (the PDP-6 Handbook says it has "16 accumulators and 15 index registers", which means "all but accumulator 0 can be used as index registers", with an index register field value of 0 meaning "un-indexed memory reference"). The first 16 locations of main memory were the accumulators, but the PDP-6 and original PDP-10 had options that provided "a fast memory module" (to quote the PDP-6 Handbook) that held the accumulators - and all references to the first 16 locations of memory were redirected to the fast memory module, so "the GPRs have memory addresses 0 through 15" was a feature of the instruction set architecture, even if the GPRs were implemented as separate hardware registers. One trick was to put tight loops into some of the accumulators, so the code could be fetched from "fast memory". I think later PDP-10 models always had the GPRs in fast memory, rather than having that as an extra-cost option.
(You're presumably also aware that some System/360 models used core memory for much of the processor's internal state, including the GPRs, although those core modules were separate from main memory and may have been faster than the main memory attached to those modules.) Guy Harris (talk) 18:03, 19 April 2017 (UTC)[reply]
The difference is that while the 650, 7070 and PDP-6 index registers were addressable by programs in their respective architectures, the bump storage of low end S/360 processors was not in the address space of the S/360 program. Shmuel (Seymour J.) Metz Username:Chatul (talk) 15:35, 20 April 2017 (UTC)[reply]

The last paragraph of the lede in Index register cites the IBM 1401 as an early computer without any form of indirect addressing. However, index registers were bog standard by the time the 1401 came along. An earlier reference would be appropriate, e.g., IBM Electronic Data Processing Machines Type 702 PRELIMINARY MANUAL OF INFORMATION (pdf), 1954, 22-6173-1. Shmuel (Seymour J.) Metz Username:Chatul (talk) 18:29, 18 February 2018 (UTC)[reply]