2

I recently "attended" a meeting of the UK Computer Conservation Society on the subject of LEO (Lyons Electronic Office; Lyons was a bakery and cafeteria business that found itself designing and building computers), and mention was made of the multitasking capabilities of LEO III. There was some follow-up talk about the desirability of memory isolation for multitasking, inevitably followed by asking "who was first?". The contenders offered were Ferranti, English Electric, and LEO. I missed some of this discussion due to other calls on my attention.

The primary mechanism used in second-generation UK computers was datum and limit (base and bounds) registers. Programs run at virtual zero, the hardware relocating address references during execution by adding the datum, after checking that the address did not exceed the limit.

I'm going to post my own answer to this, which seems to be an approved SE thing to do, but I really am interested in other answers.

The question: what is the earliest example of the use of hardware datum and limit mechanisms for address-space relocation and isolation?

Secondary question: was the idea invented multiple times? It "seems an obvious thing to do", but that's easy for me to say, since I was educated on machines that had the benefit of the invention.

2

Looking for more information on the internet about the computers from the companies mentioned, I find:

  • Ferranti Orion, introduced 1961
  • Ferranti-Packard FP6000, introduced 1963
  • English Electric KDF9, introduced 1964
  • LEO III, introduced 1961

Of these, the dates suggest that Orion (design started 1959) has first claim to the invention.

2

Another good contender for first is the special option for the modified IBM 7090 used for the CTSS project.

It adds three 7-bit registers for base, end and relocation registers which specify 256 word blocks. When in user mode, they operate as typical base/limit registers plus relocation offset. CTSS always treated base and reloc as 0, but the hardware was more flexible.

Exact dating is hard to find, but the system was definitely in operation by mid-1962.

1
  • The separate base/relo registers are interesting. I suppose they allow for a program to be linked to a base address other than zero. Per your link, though, CTSS always set base/relo to zero. Didn't it only have one program resident in B-core at a time? Nov 1 '20 at 12:38
1

The Atlas computer went into operation in 1962. It had an associative memory for virtual address mapping in a page by page basis. This is more flexible than the datum and limit registers, because the free space need not be shuffled for defragmentation purposes.

The main reason for address mapping on a paged basis is that it enables virtual memory. Some pages can be left on secondary storage until they are needed to honor a memory reference.

1
  • The Ferranti Orion pre-dates the Ferranti Atlas; the Manchester Atlas was built in 1962, design complete in 1959, so it appears to be almost an exact contemporary of Orion, and thus would need more effort from me to resolve precedence. But for this question I'm interested in datum/limit systems. Nov 1 '20 at 12:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.