IBM Systems and Technology Group (STG)
© Copyright International Business Machines Corporation 2011-2013.
Legacy of the IBM System/360
As presented to the NIU Student Chapter of the ACM
Dan Greiner
IBM z/Server Architecture
10 October 2013, 4:00 pm
2
The Legal Stuff
Trademarks:► The following terms are trademarks of the International Business Machines Corporation in the United States,
other countries, or both:– ESA/390– IBM– z/Architecture– z/OS– z/VM
► IEEE is a trademark of the Institute of Electrical and Electronics Engineers, Inc. in the United States, other countries, or both.
► Linux is a registered trademark of Linus Torvalds in the United States, other countries or both.► Unicode is a registered trademark of Unicode, Incorporated in the United States, other countries, or both.► Other trademarks and registered trademarks are the properties of their respective companies.
All information contained in this document is subject to change without notice. The products described in this document are not intended for use in applications such as implantation, life support, or other hazardous uses where malfunction could result in death, bodily injury or catastrophic property damage. The information contained in this document does not affect or change IBM product specifications or warranties. Nothing in this document shall operate as an express or implied license or indemnity under the intellectual property rights of IBM or third parties. All information contained in this document was obtained in specific environments, and is presented as an illustration. The results obtained in other operating environments may vary.
While the information contained herein is believed to be accurate, such information is preliminary, and should not be relied upon for accuracy or completeness, and no representations or warranties of accuracy or completeness are made.
The information in contained in this document is provided on an “AS IS” basis. In no event will IBM be liable for damages arising directly or indirectly from any use of the information contained in this document.
© Copyright International Business Machines Corporation 2011-2013. Permission is granted to Northern Illinois University to record this presentation.
3
Topics du Jour:
Data processing prior to the
System/360
The System/360 Project
► Requirements
► Development
► Software
► Challenges
System/360 Legacy
► 49½ years of industry-leading
information processing
IBM System/360 Model 65 Operator’s Console
4
Ancient History: 1952
Beginning of the “computer age”:
► 8:30 p.m. EST, 4 November 1952
► Remington Rand’s Univac-I predicted U. S. General
election results
– Eisenhower – 438 electoral votes; Stephenson – 93
– With only 5% of the votes counted, Univac was within 1% of
the final results!
– CBS (Walter Cronkite’s 1st election coverage) delayed
broadcasting Univac results until after midnight because
they couldn’t believe it!
In that era, IBM was world leader in electro-
mechanical accounting machines
► A legacy of Herman Hollerith’s 1890’s punched-card
technology
IBM enters the “modern” computer era in late 1952
with the IBM 701 Electronic Data Processing Machine
► 19 units built and sold
IBM 701 Data-Processing Machine
5
Setting the Stage
From 1952-1960:
► IBM revenues grew almost 10x
► Earnings - $305 million; Revenue – 2.6 billion
► Employees grew from 30,000 to over 125,000
IBM computing product line in the early 1960s:
► Eight separate products
► Completely different architectures, software, & peripherals
► Migrating from one to another – or to a new product – was
difficult
6
S/360’s Ancestors
SAGE – Early Warning Air-Defense System (late ’50s – early ’60s)
► First real-time, integrated, online system over North America
► Each system weighed >250 tons, 60,000 vacuum tubes
NASA Projects (late ’50s & on)
► Real-time systems for Vanguard, Mercury, Gemini, & Apollo missions
► Key to developing multi-processing systems
SABRE – Airline Reservations System (early 1960s & on)
► Initially 1,000 reservations terminals in 60 cities
► Also handled seat selection, rental car info, crew scheduling, fuel management, stand-by
lists, aircraft maintenance info
Stretch – Supercomputer for AEC lab at Los Alamos (IBM 7030, delivered 1961)
► Advanced expertise in ferrite core memory & semiconductors
► 200 x faster than IBM 701 processors; 3 x faster than SAGE processors
► Evolved into IBM 7090 commercial system
7
1962 Environment
Competition was nipping at IBM’s heels
► Burroughs, Control Data Corp., GE, Honeywell, NCR, RCA, & Univac
IBM had eight separate, totally incompatible products
► Data-Systems Division (Poughkeepsie, NY):
– Systems that leased for more then $10,000 / month
– IBM 7000-series systems (proposed new 8000-series)
► General-Products Division
– Burlington, VT, Endicott, NY, Rochester, NY, & San Jose, CA
– Systems that leased for less than $10,000 / month
– IBM 1400-series systems (1st computer to sell > 10,000 units);
IBM 1600-series in development
► World-Trade Corporation
– Developing small scientific computer (SCAMP)
► Intense inter-divisional rivalry (and secrecy)
8
1962 Technology
Solid-state technology was relatively new
► IBM’s Standard-Modular System (SMS) contained a handful of transistors on a 2.5” x 4.5” card
► Solid-Logic Technology (SLT) – 3 to 6 times the density of SMS cards– 100 times more reliable
► Integrated circuits– 100 times the density of SMS cards– Leading edge, very little background
available– But … being used by RCA in
competitive products
IBM Standard-Modular-System Card
IBM Solid-Logic-Technology Module
Dual-Inline-
Package (DIP)
Integrated Circuit
9
1962 – A Momentous Decision !
Customers were fed up with incompatible systems
The SPREAD (Systems, Programming, Research, Engineering & Development) team
► 11-member team from across divisions
SPREAD Report:► Recommended future development on all mainframe
projects be scrapped
► New product line (NPL) would be developed:– Initially planned on five models (ended up with six)– Largest system to be 200x faster than smallest– Performance range accomplished using SLT technology of
differing speed, data-path-width differences, &c.– Each CPU to have high-speed memory using permanently-
stored control information
10
1962 – A Momentous Decision !!
SPREAD Report:►Software will be compatible on all levels of the system
– upward and downward!
►Each processor will be economically competitive in its own marketplace
►Standard I/O interfaces will be used across the entire product line
– Required development of dozens of new peripherals: disk drives, tape drives, printers, card readers, magnetic & optical character readers, communications adapters, and terminals
►“Since such processors must have capabilities not now present in any IBM processor product, the new family of products will not be compatible with our existing processors.”
11
1962 – 1964: Development
Estimated total cost in 1962 was $675 million
Actual development cost closer to $5 billion►~ $35 billion in 2013 dollars, adjusted for inflation
►Accustomed to “swimming in cash”, IBM came close to not being able to meet payroll
►$750 million invested in engineering
►$4.5 billion invested in factories, equipment, and the product itself
►Fortune called it, “IBM’s $5,000,000,000 Gamble”
12
1962 – 1964: Development
Honeywell’s H-200 computer (announced 1963):►“Liberator” program allowed translation of IBM 1401
programs on the Honeywell platform
► IBM lost nearly 200 customers within 2 months after announcement.
– Overall computer demand up 15% … IBM grew only 7%– IBM head of sales: “Help, I’m being slaughtered.”– Potential that the entire NPL would be scrapped
Emulator option:►With relatively small microcode investment, NPL could
run existing (1401 & 7090) customer applications on NPL faster than on existing systems
►Salvaged many customers ready to jump ship
13
System/360 – the Name
Initially plans for NPL – IBM 500► Not particularly attractive … but we
needed a number
► 360 represented the number of degrees on a compass
– Indicated the processor was suited to any application
– Stylized compass rose chosen as an icon
– “System” and the slash added “because it looked nice.”
Much corporate churn about the name► President & VP of data-products
division, VP of communications battled it out
► System/360 won by default when some clever entrepreneur painted it on the nose of the corporate aircraft
14
7 April 1964
IBM System/360 announced to the world
► Announcement efforts planned for over a year in advance
► Press conferences in 165 cities & 14 countries
► Estimated 100,000 customers & prospects
► Special train from NYC to Poughkeepsie
“A new generation of electronic computing equipment was introduced by the IBM Corporation
IBM Board Chairman Thomas J. Watson, Jr. called the event the most important announcement in the company’s history.
The new equipment is known as the IBM System/360”
15
Post-Announcement Reaction
Within 4 weeks of the announcement, orders for 1,000 systems were received
► Within the second 4 weeks, 1,000 more orders
T. J. Watson memoirs:► [System/360] was the biggest, riskiest decision I ever
made, and I agonized about it for weeks, but deep down, I believed there was nothing IBM couldn’t do.
► Within IBM there was a great feeling of celebration because a new era was opening up, … But when I looked at those new products, I didn’t feel as confident as I’d have liked. Not all the equipment on display was real; some units were just mockups made of wood … an uncomfortable reminder to me of how far we had to go before we could call the program a success.
16
The Next 18 Months – Major Problem #1
Technology problems with Solid
Logic Technology (SLT) modules► Volume requirements would exceed
capacity of vendors
► Pressure for production causing yield failures
– End of 1965 … 25% SLT failure
► In-house manufacturing facilities developed:
– East Fishkill, NY plant SLT module output: 1963 – ½ million; 1964 – 12 million; 1965 – 28 million; 1966 – 90 million
– Plants in Burlington, VT & Essonnes, France – 26 million each
17
The Next 18 Months – Major Problem #2
Logistics Problems►Component delays
– Running out of circuit breakers halted manufacturing
►Software delays
►Competitor announcements
– Marketing pressure to change System/360 to address competition
►Personality problems
– Friction between engineering and manufacturing (led by Dick Watson – T.J.’s younger brother) and sales led to Dick Watson being replaced.
18
The Next 18 Months – Major Problem #3
Software Problems► Upward- & downward-compatibility requirements.
► Multiprogramming challenges
► Developing interim products to counter competitive challenges
► Moving target – constantly changing due to dynamic marketing requirements
► SW-development, led by Fred Brooks, grew to over 1,000 people
– Brook’s Law: Adding manpower to a late software project makes it later.
► Some teams working 60-hour weeks
► Initially, over 1,000,000 lines of code (LOC)– Grew to 10,000,000 LOC– Budgeted $30-40 million; actual ~ $500 million
19
The Next 18 Months & Onwards
By December 1966:► Over 7,000 systems installed
► $4 billion in new revenue
– $1 billion in pre-tax profits
► IBM hired 25,000 new employees in 1966
► Added 3 million square feet of manufacturing space
► Producing 1,000 System/360 units per month
► SLT modules reached projected 33-million-hour MTBF
By 1970:► Revenues went from $3.2 billion to $7.5 billion
► Earnings went from $431 million to over $ 1 billion
► Employees grew nearly 120,000 … to 269,000.
20
The System/360 Architectural Legacy
IBM System/360 Model 44
21
In the Beginning … System/360 (1964)
CPU Architecture
► 32-bit arithmetic
► 16 general-purpose registers► 24-bit addressing (16,777,216 bytes max.)
– More than a few megabytes was quite rare
► Real addressing only! No virtual memory► Approximately 142 instructions total► Some features were optional
– Decimal instructions (in-storage only)
– Floating point (with 4 floating-point registers)
– Direct control (specialty I/O for check sorters, &c.)
– Protection feature (i.e., storage keys)
I/O architecture
► Maximum of 7 channels– One byte-multiplexor channel (printers, card
readers, &c)
– Up to seven selector channels (disks, tape)
► Maximum of 256 devices per channel
► Most machines had far fewer channels &
devices
IBM System/360 Model 50
22
In the Beginning … System/360 (1964)
Storage technology
► Ferrite core storage
– Each toroid “donut” represented one
bit
► Architectural maximum: 16 megabytes
– Reality: Most customers had no more
than 1-2 megabytes
► Increasing density … the donut-hole
test:
– New product’s core toroid fit through
the donut hole of the previous
product’s core
IBM System/360 Model 50
IBM System/360 Core-Memory Panels (approx. 32K)
23
System/360 Software
Operating Systems
► Basic Operating System (BOS)
► Tape Operating System (TOS)
► Disk Operating System (DOS)
► Operating System / Multiple Fixed Tasks (OS/MFT)
► Operating System / Multiple Variable Tasks (OS/MVT)
► SABRE (Airline Reservations)
► Time-Sharing System (TSS)
► Control Program / 67 (CP/67) with the Cambridge Monitor System (CMS)
Languages
►ALGOL
►Assembler
►Basic
►COBOL
►Fortran
►PL/1
►RPG
Online Transaction Processing
►Customer Information Control System (CICS)
►Conversational Programming System (CPS)
Numerous independent-
software-vendor packages
24
System 370 (1970)
Virtual addressing► One or multiple 24-bit virtual spaces► Ability to over-commit real storage► Ability to segregate data according to
subsystem and user
Real storage still limited to 24-bit addressing
► Most CPUs still had (far) less than 16 M-bytes
► Monolithic solid-state memory … no more core
Introduced new 16 control registers
Introduced 13 new instructions► Load/store control registers► Compare / move long streams of characters► Compare / insert / store character under
mask
I/O subsystem expanded to (up to) 16
channels► 32 channel option on some later machines
Hardware-assisted debugging (PER)
IBM System/370 Model 138
25
System/370 Software
Operating Systems
► Disk Operating System / Virtual
Storage Extended (DOS/VSE)
► Single Virtual Storage (SVS)
► Multiple Virtual Storage (MVS)
► Transaction Processing Facility
(TPF, successor to SABRE)
► Virtual Machine / 370 (VM/370)
Database Systems
► Information Management System
(IMS)
► DB/2
► System Query Language (SQL)
IBM System/370 Model 148
26
System 370 Enhancements (1978-1982)
26-bit real addressing (up to 64 MB)► Single virtual address space still
limited to 24 bits (16 MB)
Various specialty facilities► Operating-system assist
instructions for obtaining / releasing locks, tracing, &c.
► Mathematical assists (transcendental functions, &c.)
► High-accuracy arithmetic
Dual-address space► Primary & secondary spaces► New instructions:
– PROGRAM CALL / PROGRAM RETURN
– INSERT / SET ADDRESS SPACE CONTROL
– MOVE TO PRIMARY / SECONDARY
IBM 3031 Processor Complex
27
370 Extended Architecture (1983)
31-bit virtual addressing► Single address space providing up to 2
G-bytes
► Bimodal addressing (1 bit of the 32-bit address stolen to designate 24- or 31-bit addressing mode)
31-bit real addressing (2 gigabytes max.)► Most customers still had much less
memory
Entirely new I/O subsystem► Up to 256 I/O channels
► Up to 65,536 I/O devices
New instructions for I/O, storage key manipulation, and program linkage
Hardware tracing► Eliminated significant bottleneck in
multiprocessor tracing
IBM 3081 Processor Complex
28
Interpretive Execution (1984)
Hardware virtualization
► Used by Processor Resource /
System Manager (PR/SM)
– Provides logical partitioning of
physical machine
► Used by VM/370 Operating System
► Apportions physical resources to
“guest” programs
– CPUs, I/O channels, real memory
► Allows multiple operating systems to
operate concurrently / separately
► Extremely fast context switch from
one guest to another
IBM 3084 Processor Complex
29
A Few Side Trips (1980s)
4300-series processor models
► Three models of mid-sized, lower-
cost processors for department-
level or small business applications
► Same CPU architecture and I/O
capabilities
Vector facility
► Single-engine multiple-data (SIMD)
instruction extension
► Intended for large-array analytics:
oil research, weather prediction,
fluid-dynamics modeling
IBM 3090 Processor Complex
IBM 4381 Processor Complex
30
Enterprise Systems Architecture / 370 (1989)
Introduced access-register translation (ART)
► Provided the means by which a program could access multiple address spaces with minimum overhead
► Up to 2,048 31-bit (2 G-byte) address spaces (i.e., up to 4 T-bytes)
► New nonprivileged instructions for manipulation of ARs
Introduced the home address space► Location for principal task (process)
control structures
► Where to go (i.e., who to blame) when a task abnormally ends
Introduced the linkage stack ► Push-down stack for semi-authorized
tasks
► New instructions for manipulation of linkage stack.
IBM System 390
31
Enterprise Systems Architecture / 390 (1990-1999)
Numerous new facilities:► Arithmetic instructions with 16-bit
immediate operands ► Branch instructions with 16-bit
relative-branch location► Binary-floating-point instructions
(IEEE standard)– 95 new instructions and floating-
point control register► Compression facility► Check-sum instruction (for TCP/IP
& others)► Extended-translation instructions
(Unicode™ conversion)► Sorting-assist instructions► String-manipulation instructions
Enhancements to dual-address-space facilities
IBM Enterprise Server 9000
32
Mainframe Perceptions in the 1990s
Reports of the death of the
mainframe were premature
► “I predict that the last
mainframe will be unplugged on
March 15, 1996.”
– Stewart Alsop, March 1991
► “It’s clear that corporate
customers still like to have
centrally controlled, very
predictable, reliable computing
systems—exactly the kind of
systems that IBM specializes
in.”
– Stewart Alsop, February 2002Stuart Alsop (from IBM 2001 Annual Report)
33
z/Architecture & the zSeries z900 & z800 (2000)
General registers grew to 64 bits► Existing 32-bit instructions retained
– Used rightmost 32 bits of the 64-bit registers
► Large suite of 64-bit analogues added
► 163 new instructions (139 general, 11 control, 12 floating point)
Provides 64-bit virtual address space► Up to 16 exabytes in a single space
– 18,446,744,073,709,551,616 bytes► With access-register translation, up
to 2,048 spaces (275 bytes)– 37,778,931,862,957,161,709,568 bytes
► Trimodal (24-, 31-, or 64-bit) addressing
– Ability to dynamically switch between addressing modes
64-bit real storage addressing► Current models offer up to six
terabytes of real storage
IBM eServer zSeries 900
34
zSeries 64-Bit Operating Systems
z/OS
► Successor to MFT, MVT, SVS, MVS, OS/390
► “Western civilization runs on z/OS” – Bob Rogers, IBM DE Emeritus
z/VM
► Successor to CP/67, VM/370 and follow-on systems
► Gold standard of virtualization
z/TPF
► Continuing support of large-scale transaction processing used by
airlines, hotels, car-rentals, &c
zLinux
► Mainframe-class server software with attitude
35
Facilities Added to to the z900 & z800
Extended-translation facilities
► Provides for translating, comparing, and moving single- and
double-byte character representations
Multiply and add / subtract instructions
► Enhancements to classic hexadecimal floating point
► Key to advanced math & crypto operations
Long-displacement facility
► Provides significant register-constraint relief
► Increases displacement in storage-accessing instructions
from 4K to 1M
36
Facilities Added in the zSeries z990 & z890 (2002)
Message-Security Assist
► Five general instructions that
perform wide variety of HW
cryptographic operations
► DEA-64, -128, 192; SHA-1
More extended-translation facility
enhancements
► Instructions to perform
Unicode™ conversions
Functional enhancements to
cross-memory linkage operationsIBM eServer zSeries 990
37
Facilities Added in the z9-109 (2005)
Decimal floating point facility
► 54 new instructions based on the emerging
DFP standard
Additional instructions with extended (32-
bit) immediate operands
► Relieves register constraints & cache
accesses
Improved timing-facility instructions
► Allows synchronization of TOD clocks to
within nanoseconds across great distances
Unnormalized extensions for classic
hexadecimal floating point (useful for
crypto operations)
Message-security-assist enhancements #1
► SHA-256, AES-128, & PRNG
IBM eServer zSeries z9-109
38
Facilities Added in the System z10 (2008)
Instructions to provide better indication of
machine topology
► Cache cognizance / prefetching of
operands
New compare-and-branch / compare-and-
trap combo instructions
Additional instructions with long
immediate operands
Additional instructions with relative
addresses
Rotate-then-***-selected bits instructions
Instructions to facilitate text parsing
Message-security-assist enhancements # 2
► AES-192, AES-256, & SHA-512
“Large page” dynamic address translation
CPU measurement facility
IBM Enterprise Class z10
39
Facilities Added in the z196 (2010)
High-word facility
► Effectively provides 16 additional 32-bit general registers
Interlocked-access facility
► Improved multiprocessor serialized access to storage
Load / store-on-condition facility
► Conditional execution of an instruction based on CC
► Significant code performance improvement
Distinct-operands facility
BFP and DFP floating-point enhancements
Message-security-assist enhancements #3 & 4
► Provides hardware-secured encrypted keys for existing
functions
► CFB-, OFB-, CMAC-, CC-, GC-, and XTS-modes of encryption
Numerous other performance enhancements.
BladeCenter – direct attachment of blade-technology
servers of other architectures.
IBM zEnterprise z196
40
Facilities Added in the zEC12 (2012)
DFP zoned-conversion facility
► Allows efficient calculation of packed / zoned values, with
minimum storage accesses
Enhanced-DAT Facility 2
► 2 G-byte storage frame
Interlocked-access facility 2
► Simplifies multi-programming
Optimizations for Java
► Load-and-trap facility
► Execution-hint & branch-prediction facilities
► Miscellaneous general instruction enhancements
► Run-time instrumentation facility
– Dynamically monitor and alter workloads
Transactional-execution facility
► First generally-available processor to provide transactional
memory implementation.
► Potential for significant multiprocessing improvements
► Lock elision
► Speculative execution
IBM zEnterprise EC12
41
S/360 Legacy Systems – Instruction Growth
1960 1970 1980 1990 2000 2010 2010
0
200
400
600
800
1000
YEAR
INS
TR
UC
TIO
NS
System/360 – ESA/390
z/Architecture
??
42
Summary (1)
System/360 was the evolutionary outgrowth of the IBM products of the early 1960s
► An amalgam of existing hardware technology
► A completely new CPU architecture
Significant corporate gamble
► Costs greatly exceeded expectations … but
► Results were successful beyond all expectations
CPU architecture that is robust and enduring
► Upwards and downwards software compatibility across all product models
► Application programs from 1964 can still successfully execute on the latest z/Architecture processors
► Architectural legacy that continues to grow
43
Summary (2)
S/360 architecture has evolved to provide numerous enhancements:
► Additional addressing (24 31 64-bit addresses)
► Larger binary data (32 64-bit registers)
► Two additional floating-point representations (HFP + BFP & DFP)
► Advanced program-linkage operations
► Ability to access multiple address spaces simultaneously
► Much broader I/O capacity– Over 1,000 I/O channels using fibre-channel, Ethernet, PCI, &c
► Additional instructions for compiler efficiency– Register constraint relief
– Cache optimization
– General performance benefit
– z/Architecture now includes over 1,000 instructions !!
All while retaining application-program compatibility with the original S/360 instruction set