IBM's System/360 Series
When most people think of a mainframe, they think of the System/360 family of computers from IBM, arguably the most important computer architecture created. In many ways, it is similar to 8086 processors in that it created the standard for an industry and spawned a long line of descendants that are still alive and thriving to this day. One big difference is that IBM actually intended the System/360 to be important, unlike the 8086, which gained an importance its creator could never have foreseen. In fact, as many of you know, Intel even tried to kill off this instruction set with the Itanium.
But let's get back to the matter at hand. Prior to the System/360, IBM had something of a mess on its hands, having created many systems that were incompatible with each other. Not only did this make it more difficult for its customers to upgrade, but it also was a logistical nightmare for IBM to support all these different operating systems on different hardware. So, IBM decided to create what we almost take for granted today: a compatible line of computers, with differing speeds and capacities, but all capable of running the same software. In fact, in April 1964, IBM announced six computers in the line, with performance varying by a factor of 50 between the highest- and the lowest-end machines. This actually doubled the design goal of 25, which in itself posed many problems for IBM. Scalability of this magnitude was said to be impossible even by the infamous and brilliant Gene Amdahl. It was never a simple matter of just making something 25 times "bigger" than the smallest part and it really had to be completely re-implemented.
Today, it is common to disable parts of a processor, or underclock it to somehow compromise the performance. But back then, it was not economically feasible to create a high-end processor and artificially lower its performance for marketing purposes. So, IBM decided on the idea of adding "microprogramming" to the System/360, so that all members of the family used the same instruction set (except for the lowest-end, Model 20, which could execute a subset). These instructions were then broken down into a series of "micro-operations," which were specific to that system implementation. By doing this, the underlying processor could be very different, and this allowed scalability of the magnitude IBM wanted, and as mentioned, even exceeded it by two times.
This probably sounds familiar to you, since something similar has been implemented on x86 processors since the Pentium Pro (or really, NexGen Nx586). As mentioned, however, IBM planned this. The x86 designers did this because the instruction set was so poor, it could not be directly executed effectively. There was one very important advantage of this micro-programming that could not be easily implemented on a microprocessor. By creating new micro-programming modules, the System/360 could be made compatible with the very popular 1401, for the lower end machines, and even the 7070 and 7090 for the higher end System/360s. Since this was done in hardware, it was much faster than any software emulation, and in fact generally ran older software much faster on the System/360 than on the native machine, due to the machine being more advanced.
Some of these advances are still with us today. For one, the System/360 standardized the byte at eight bits, and used a word length of 32-bits, both of which helped simplify the design since they were powers of two. All but the lowest-end Model 20 had 16 general-purpose registers (the same as x86-64), whereas most previous computers had an accumulator, possibly an index register, and perhaps other special-function registers. The System/360 could also address an enormous amount of memory of 16 MB, although at that time this amount of memory was not available. The highest-end processor could run at a very respectable 5 MHz (recall that is the speed the 8086 was introduced at 14 years later), while the low-end processors ran at 1 MHz. Models introduced later in 1966 also had pipelined processors.
While the System/360 did break a lot of new ground, in other ways it failed to implement important technologies. The most glaring deficiency was that there was no dynamic address translation (except in the later model 67). This not only made virtual memory impossible, but it made the machine poorly suited for proper time-sharing, which was now becoming a possibility with the increasing performance and resources of computers. Also, IBM eschewed the integrated circuit, and instead used "solid-logic technology," which could roughly be considered somewhere between the integrated circuit and simple transistor technology. Conversely, on the software side of things, IBM was perhaps a bit too ambitious with OS/360, one of the operating systems designed for the System/360. It was late, used a lot of memory, was very buggy, lacked some promised features, and more than that, continued to be buggy long after it was released. It was a well known, high visibility, and dramatic failure, although IBM eventually did get it right and it spawned very important descendants.
Despite these issues, the System/360 was incredibly well-received and over 1,100 units were ordered in the first month, far exceeding even IBM's goals and capacity. Not only was it initially successful, but it proved enduring and spawned a large clone market. Clones were even made in what was then the Soviet Union. It was designed to be a very flexible and adaptable line, and was used extensively in all types of endeavors, perhaps most famously the Apollo program.
More importantly, the System/360 started a line that has been the backbone of computing for almost 50 years, and represents one of the most commercially important and enduring designs in the history of computing.