IBM Enterprise Systems Architecture
This articleneeds additional citations forverification.(April 2023) |
History ofIBM mainframes,1952–present |
---|
Market name |
Architecture |
IBM Enterprise Systems Architectureis aninstruction set architectureintroduced by IBM as ESA/370 in 1988. It is based on theIBM System/370-XAarchitecture.
It extended the dual-address-space mechanism introduced in laterIBM System/370models by adding a new mode in which general-purpose registers 1-15 are each associated with anaccess registerreferring to an address space, with instruction operands whose address is computed with a given general-purpose register as a base register will be in the address space referred to by the corresponding address register.
The later ESA/390, introduced in 1990, added a facility to allow device descriptions to be read using channel commands and, in later models, added instructions to performIEEE 754floating-pointoperations and increased the number of floating-point registers from 4 to 16.
Enterprise Systems Architecture is essentially a32-bitarchitecture; as with System/360, System/370, and 370-XA, the general-purpose registers are 32 bits long, and the arithmetic instructions support 32-bit arithmetic. Only byte-addressable real memory (Central Storage) and Virtual Storage addressing is limited to 31 bits, as is the case with 370-XA. (IBM reserved themost significant bitto easily support applications expecting 24-bit addressing, as well as to sidestep a problem with extending two instructions to handle 32-bit unsigned addresses.) It maintains problem statebackward compatibilitydating back to 1964 with the24-bit-address/32-bit-data (System/360andSystem/370) and subsequent 24/31-bit-address/32-bit-data architecture (System/370-XA). However, the I/O subsystem is based on System/370 Extended Architecture (S/370-XA), not on the original S/370 I/O instructions.
ESA/370 architecture
[edit]![]() | This sectionneeds expansion.You can help byadding to it.(April 2023) |
Designer | IBM |
---|---|
Bits | 32-bit |
Introduced | 1988 |
Design | CISC |
Type | Register–Register Register–Memory Memory–Memory |
Encoding | Variable(2, 4 or 6 bytes long) |
Branching | Condition code,indexing, counting |
Endianness | Big |
Predecessor | System/370-XA |
Successor | ESA/390 |
Registers | |
General-purpose | 16 |
Floating point | 4 64-bit |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
On February 15, 1988, IBM announced[6][7] Enterprise Systems Architecture/370 (ESA/370) for 3090 enhanced ( "E" ) models and for 4381 model groups 91E and 92E.
In addition to the primary-space and secondary-space addressing modes that later System/370 models, and System/370 Extended Architecture (S/370-XA) models, support, ESA has anaccess registermode in which each use of general register 1-15 as a base register uses an associated access register to select an address space.[8]In addition to the normal address spaces that machines with the dual-address-space facility support, ESA also allows data spaces, which contain no executable code.
A machine may be divided into Logical Partitions (LPARs), each with its own virtual system memory so that multiple operating systems may run concurrently on one machine.
ESA/390 architecture
[edit]Designer | IBM |
---|---|
Bits | 32-bit |
Introduced | 1990 |
Design | CISC |
Type | Register–Register Register–Memory Memory–Memory |
Encoding | Variable(2, 4 or 6 bytes long) |
Branching | Condition code,indexing, counting |
Endianness | Big |
Predecessor | ESA/370 |
Successor | z/Architecture |
Registers | |
Access 16× 32, Control 16×32, Floating Point Control (FPC) 32-bit, Prefix 32 bit, PSW 64-bit | |
General-purpose | 16 |
Floating point | 4 64-bit up to the G4; 16 64-bit starting with the G5[9][10] |
An important capability to form aParallel Sysplexwas added to the architecture in 1994.
ESA/390 also extends the Sense ID command to provide additional information about a device, and additional device-dependent channel commands, the command codes for which are provided in the Sense ID information, to allow device description information to be fetched from a device.[11][12]
Starting with theSystem/390 G5,[9][10]IBM introduced:[13]
- the basic floating-point extensions facility, which increases the number of floating-point registers from 4 (0, 2, 4, 6) to 16 (0-15);
- the binary floating-point (BFP) extensions facility, which supportsIEEE 754binary floating-point numbers, with an additional floating-point control (FPC) register to support IEEE 754 modes and errors;
- the floating-point support (FPS) extensions facility, which adds instructions to load and store floating-point numbers regardless of whether they're inhexadecimalor IEEE 754 format and to convert between those formats;
- the hexadecimal floating-point (HFP) extensions facility, which adds new hexadecimal floating-point instructions corresponding to some binary floating-point instructions.
SomePC-based IBM-compatible mainframeswhich provide ESA/390 processors in smaller machines have been released over time, but are only intended for software development.
New facilities
[edit]ESA/390 adds the following[14]facilities
- All models
-
- Access-list-controlled protection
- Some models
-
- Concurrent sense
- PER 2
- Storage-protection override
- Move-page facility 2
- Square root
- String instruction
- Suppression on protection with virtual-address enhancement
- Set address space control fast
- Subspace group
- Called-space identification
- Checksum
- Compare and move extended
- Immediate and relative instruction
- Branch and set authority
- Perform locked operation
- Additional floating-point
- Program call fast
- Resume program
- Trap
- Extended TOD clock
- TOD-clock-control override
- Store system information
- Extended translation 1
- Extended translation 2
- z/Architecture (certain instructions)
- Enhanced input/output
New channel commands
[edit]The following channel commands[f]are new, or have their functionality changed, in ESA/390:[12]
Command | Bit Position | |||||||
---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
Read configuration data | D | D | D | D | D | D | D | 0 |
Read node identifier | D | D | D | D | D | D | D | 0 |
Sense ID | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
Set interface identifier | D | D | D | D | D | D | D | 1 |
Note: D Device dependent. The command code, if any, recognized by an I/O device may be obtained by using a sense-ID command. |
Notes
[edit]- ^The number and format of floating-point registers depends on the installed features:
- ESA/370
ESA/390 without the new floating-point facilities - Only thehexadecimal floating point(HFP) registers FP0, FP2, FP4 and FP6 exist
- ESA/390 with the new floating-point facilities
- FP0_FP15 may be HFP orIEEEfloating point
- ESA/370
- ^ESA/390 with the new floating-point facilities
- ^ESA/390 with the new floating-point facilities
- ^Bit 22 is renamed asHFP exponent underflowin ESA/390
- ^Bit 23 is renamed asHFP significancein ESA/390
- ^The data returned by Sense ID include the command codes for Read configuration data, Read node identifier and Set interface identifier.
References
[edit]- S370-ESA
- IBM Enterprise Systems Architecture/370 Principles of Operation(PDF)(First ed.). IBM. August 1988. SA22-7200-0.
- S/390-ESA
- IBM Enterprise Systems Architecture/390 Principles of Operation(PDF)(Ninth ed.). IBM. June 2003. SA22-7201-08.
- ^S370-ESA,p. 5-30,Access-list-Entry Token.
- ^S370-ESA,pp. 4-7–4-9,Figure 4-3 Assignment of Control-Register Fields.
- ^S390-ESA,pp. 4-8–4-10,Figure 4-3 Assignment of Control-Register Fields.
- ^S370-ESA,p. 4-5,Program-Status-Word Format.
- ^S390-ESA,p. 4-5,Program-Status-Word Format.
- ^"IBM 3090 PROCESSOR UNIT MODELS 280E AND 500E AND IBM 3090 PROCESSOR UNIT MODEL 300E TO 400E UPGRADE".Announcement Letters.IBM. February 15, 1988. 188-038.
- ^"ENTERPRISE SYSTEMS ARCHITECTURE/370 (TM) AND MVS/SYSTEM PRODUCT VERSION 3".Announcement Letters.IBM. February 15, 1988. 288-059.
- ^S370-ESA.
- ^abSlegel, Timothy J. (August 17, 1998)."IBM S/390 G5 Microprocessor"(PDF).Hot Chips.
- ^abSchwarz, E. M.; Krygowski, C. A. (September 1, 1999). "The S/390 G5 floating-point unit".IBM Journal of Research and Development.43(5): 707–721.doi:10.1147/rd.435.0707.
- ^S390-ESA,pp. 1–8.
- ^abEnterprise Systems Architecture/390 Common I/O-Device Commands,Second Edition, IBM, April 1992, SA22-7204-01
- ^S390-ESA,pp. 1-3–1-4,Highlights of ESA/390.
- ^S390-ESA,pp. D-1–D-7, Appendix D. Comparison between ESA/370 and ESA/390.