On 11/14/2017 11:20 AM, Chuck Guzis via cctalk wrote:
It's always struck me how revolutionary (for IBM)
the change in
architecture from the 700x to the S/360 was. The 709x will probably
strike the average reader of today as being arcane, what with
sign-magnitude representation, subtractive index registers and so on.
The 7080, probably even more so. But then, most of IBM's hardware
before S/360 had its quirky side; the only exception I can think of,
offhand, would be the 1130, which was introduced at about the same time
as the S/360.
Pretty much all computers of that early-60's vintage, where
a maze of logic was used to decode instructions, and
everything was done with discrete transistors and diodes,
had quirky arcane instruction sets. Some of this was due to
the prevailing thought on instruction sets, but part of it
was done to save a few transistors here and there, and to
heck with the side effects. Most of these computers had
very few registers, or put the "registers" in fixed core
locations, due to the cost of a flip-flop. The 709x series
was certainly like that. Hard to BELIEVE, with 55,000
transistors!
The S/360 was a breath of fresh air for IBM.
Well, microcode freed them from a lot of these constraints,
instead of vastly convoluted decode and sequencing logic,
the instruction set became just another computer program.
If you compare the amount of logic in a 7094 and a 360/50,
the 360 looks like a SIMPLE machine in comparison. I don't
know how many transistors there were in a 360/50, but I'm
guessing less than 20,000, maybe as little as 12,000. Even
then, what they used for a FF (they called them D-latches)
took 2.5 SLT modules each.
Certainly, going from SMS to SLT, the machine got
considerably smaller, but it seems that they got a lot
simpler in architecture, as well.
But, another current in computer architecture was to
regularize the instruction set, what later came to be called
orthogonality. The 360 certainly took that to heart. Also,
getting rid of all those special purpose registers. The
709x and their ilk had accumulators, multiplier/quotient
registers, index registers and all sorts of other things.
The 360 just had "registers"! I think a major reason for
this current was to make compiler writing simpler. But, it
made life easier for the assembly language programmer, as well.
Jon