8

In the early days of transistors, when they cost on the order of a dollar each, it was possible to implement CPU registers with magnetic cores (the technology used for main memory at the time) instead of transistors, trading away performance for cost.

The IBM 360 architecture had sixteen registers of 32 bits each, a generous allowance at the time, and was designed to scale over multiple orders of magnitude of price and performance, making it a likely candidate for such trade-offs.

Did any 360-compatible machine ever actually implement its registers with magnetic cores?

10

Yes, for the IBM 360/30 at least the 16 32-bit registers (and 4 64-bit floating-point registers) were stored in the same core memory as the main memory.

The IBM 360/30 used the IBM 2030 Processing Unit as it's CPU, and the IBM 2030 Processing Unit Field Theory of Operation manual states on the page 1-4 that "The sixteen general registers and the four floating point registers are in local storage." On page 2-72 it states:

Included in the 8,192-position storage unit is an additional 512-position auxiliary storage section. In this section, 256 positions are reserved for use by the miltiplexor [sic] channel. The other 256 positions of local storage are used by the CPU for special and general purpose registers (Figure 2-74).

(Emphasis mine)

enter image description here

Similar statements are made for the 16K and 32K storage units. These storage units use core memory. On page 3-10 you can see how the the registers are laid out in local memory.

The IBM 2030 is basically an 8-bit CPU that executes microcode that actually executes the 32-bit IBM 360 instruction set. It has internal 8-bit registers that I assume are implemented with semiconductor logic, but IBM 360's architectural registers are stored in core memory alongside the main memory.

4

Did any 360-compatible machine ever actually implement its registers with magnetic cores?

Yes, of course, in fact, it was standard for low end machines. Beside IBM, as Ross Ridge details, many early compatible manufacturers did so. Examples are Sperry's Univac 9000 series, RCA's low end Spectra 70 models 15 and 25, or Siemens 4004/15.

  • 1
    Were there /360 models where you could have registers in core or, for extra cost on the same model, "fast" registers? – another-dave Nov 20 at 1:26
  • @another-dave Not that I know of - after all, these were features that made the faster models ... well, faster. Also, speed wasn't in most cases the real issue, but memory. People buying the low end model were usually coming from tabulating machines, so even the slowest CPUs were a big jump. – Raffzahn Nov 20 at 9:20
  • 2
    OK. I was thinking of the KA10, which had 'optional' semiconductor registers, without which option it would use core locations 0 to 15. I wondered whether low-end /360s did likewise. – another-dave Nov 20 at 12:51
  • /360s were always kind of a virtual processor. In each generation the lower end CPUs were usually not scaled down versions, but rather simpler implementations 'running' a virtual /360 in microprogram. Their designs were manifold from the very begin. unlike DEC, were it's mostly a single evolving one. – Raffzahn Nov 20 at 14:41
  • 1
    Neither the PDP-6 nor the KA-10 were 360 compatible. It's bordering on blasphemy to even utter that possibility! :-) – another-dave Nov 21 at 2:04

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.