How did all this start?
Well, far out in the uncharted backwaters of the unfashionable end of the Western Spiral arm of the Galaxy lies a small unregarded yellow sun … Oops … Sorry, wrong story, let’s try again:
Back in the early 60’s, IBM came out with a new line of computers to replace their various scientific and commercial models. They had a new idea: to create a line of computer systems that shared a common architecture, with a full range of models, all capable of running the same software. They called this new product line System/360. Although the physical implementation details of these systems varied significantly, the ISA was consistent throughout, except for some specific features (packed decimal and/or floating point instructions were optional on certain models, depending on whether you needed to do scientific or commercial work). Of course those first systems had about the same processing power as today’s digital watches, and we all know how neat digital watches are. <G>
Since that time, IBM has released many additional models of mainframe systems in quite a few succeeding product lines, all based on the same basic system architecture, with vast improvements in performance and scalability. The end effect is that a load module (binary executable) written way back in the 60’s can still execute today on a current mainframe with exactly the same outcome, except for the amount of execution time required.
Let’s quickly summarize the most significant architectural changes made over the last 40 years, I’ll cover these features in more detail in the future:
- System/360 had 32 bit general registers and 24-bit memory addressing, with a maximum of seven (parallel) I/O channels.
- System/370 added more sophisticated I/O channel functionality and virtual storage addressing (on certain models).
- System/370-XA (eXtended Architecture) extended addressability to 31-bit real/virtual, while maintaining a 24-bit mode for backward compatibility, and a completely revamped I/O subsystem architecture capable of using up to 256 independent channels.
- System/370-ESA added architectural features allowing programs to access multiple 31-bit address spaces concurrently.
- System/390-ESA added higher speed serial (fiber optic) I/O channels.
- z/Architecture, the most recent and largest change, expands the general registers and real/virtual addressing to 64-bit while preserving full backward compatibility for 24/31-bit applications.
So it’s now possible to run a 32-bit application in 24-bit addressing mode under a 31-bit operating system running on 64-bit hardware, any questions? Good.
Discuss (4 comments)