Z/Architecture

Last updated
z/Architecture
Designer IBM
Bits64-bit
Introduced2000;24 years ago (2000)
VersionARCHLVL 2 and ARCHLVL 3 (2008)
Design CISC
TypeRegister–Register
Register–Memory
Memory–Memory
Encoding Variable (2, 4 or 6 bytes long)
Branching Condition code, indexing, counting
Endianness Big
Predecessor ESA/390
Registers
Access 16× 32, breaking-event-address register (BEAR) 64-bit, Control 16×64, Floating Point Control 32-bit, Prefix 64 bit, PSW 128-bit
General-purpose 16× 64-bit
Floating point 16× 64-bit
Vector 32× 128-bit, VR0-VR15 contain FPR0-FPR15

z/Architecture, initially and briefly called ESA Modal Extensions (ESAME), is IBM's 64-bit complex instruction set computer (CISC) instruction set architecture, implemented by its mainframe computers. IBM introduced its first z/Architecture-based system, the z900, in late 2000. [1] Later z/Architecture systems include the IBM z800, z990, z890, System z9, System z10, zEnterprise 196, zEnterprise 114, zEC12, zBC12, z13, z14, z15 and z16.

Contents

z/Architecture retains backward compatibility with previous 32-bit-data/31-bit-addressing architecture ESA/390 and its predecessors back to the 32-bit-data/24-bit-addressing System/360. The IBM z13 is the last z Systems server to support running an operating system in ESA/390 architecture mode. [2] However, all 24-bit and 31-bit problem-state application programs originally written to run on the ESA/390 architecture will be unaffected by this change.

Features

z/Architecture includes almost all [lower-alpha 1] of the features of ESA/390, and adds some new features. Among the features [lower-alpha 2] of z/Architecture are

A channel subsystem with the architecture introduced by S/370-XA
Branch relative instructions introduced by ESA/390
Trimodal (24/31/64-bit) addresses
16 32-bit access registers (ARs) introduced by ESA/370
16 64-bit general registers (GRs)
16 64-bit control registers (CRs) introduced by System/370
16 64-bit floating-point registers (FPRs)
32 128-bit vector registers (VRs); bits 0-63 of VR0-VR15 contain FPR0-FPR15
1 32-bit floating point control (FPC) register
1 128-bit processor status register (PSW), which includes a 64-bit instruction address
An 8-KiB prefix storage area (PSA)
Cryptographic Facility
IEEE Binary-floating-point instructions added by ESA/390
IEEE Decimal-floating point instructions

For information on when each feature was introduced, consult Principles of operation. [3] [4]

Registers

IBM z/Architecture registers
General Registers 0-15

Two's complement value
031

Two's complement value (continued)
3263
Access Registers 0-15 [5]

0000000PALESNALEN
0678151631
z/Architecture Access register abbreviations
BitsFieldMeaning
0-60000000
7PPrimary
0=use dispatchable-unit access list
1=use primary-space access list
8-15ALESNaccess-list-entry sequence number
16-31ALENaccess-list-entry number
Breaking-event-address register (BEAR)

See Principles of Operation [6]
031
(continued)
3263
Control Registers 0-15

See Principles of Operation [7] or Control Registers
031
(continued)
3263
Floating Point Registers (hexadecimal) 0-15

SBiased exponentMantissa
017831

Mantissa (continued)
3263
Floating Point Registers (binary, single precision) 0-15

SBiased exponentMantissa
018931
Floating Point Registers (binary, double precision) 0-15

SBiased exponentMantissa
01111231

Mantissa (continued)
3263
Prefix register [8]

00000000000000000000000000000000
031
0Prefix Bits 33-500n/a
323350515263
z/Architecture long PSW [9]

0R000TI
O
E
X
Key0MWPASCCProgram
Mask
R
I
000000E
A
012456781112131415161718192023243031

B
A
0
323363

Instruction Address
6495

Instruction Address (Continued)
96127
Long PSW abbreviations
BitsFieldMeaning
1RPER Mask
5TDAT mode
6IOI/O mask
7EXExternal Mask
8-11KeyPSW key
12E=0Must be zero for LPSWE
13MMachine-check mask
14WWait state
15PProblem state
16-17ASAddress-Space Control
00=primary-space mode
01=Access-register mode
10=Secondary-space mode
11=Home-space mode
18-19CCCondition Code
20-23PM
Program Mask
BitMeaning
20Fixed-point overflow
21Decimal overflow
22HFP Exponent underflow
23HFP Significance
24RIReserved for IBM
31EAExtended Addressing mode
0=defined by BA below; 1=64-bit, BA must be zero
32BABasic Addressing mode
0=24 or 64; 1=31
64-127IAInstruction Address
z/Architecture short PSW [10]

0R000TI
O
E
X
Key1MWPASCCProgram
Mask
R
I
000000E
A
01245678111213141516171819202324253031

B
A
Instruction Address
323363
Short PSW abbreviations
BitsFieldMeaning
1RPER Mask
5TDAT mode
6IOI/O mask
7EXExternal Mask
8-11KeyPSW key
12E=1Must be one for LPSW
13MMachine-check mask
14WWait state
15PProblem state
16-17ASAddress-Space Control
00=primary-space mode
01=Access-register mode
10=Secondary-space mode
11=Home-space mode
18-19CCCondition Code
20-23PM
Program Mask
BitMeaning
20Fixed-point overflow
21Decimal overflow
22HFP Exponent underflow
23HFP Significance
24RIReserved for IBM
31EAExtended Addressing mode
0=defined by BA below; 1=64-bit, BA must be zero
32BABasic Addressing mode
0=24 or 64; 1=31
33-63IAInstruction Address

Each processor has these registers

Access registers

Each CPU has 16 32-bit access registers. [5] [11] When a program running in AR mode specifies register 1-15 as a base register or as a register operand containing an address, the CPU uses the associated access register during address translation.

Breaking-event-address register (BEAR)

The 64-bit BEAR [6] [12] contains the address of the last instruction that broke the sequential execution of instructions; an interrupt stores the BEAR in the doubleword at real address 272 (11016). After an Execute of a branch, the BEAR contains the address of the execute, not that of the branch.

Control registers

The 16 64-bit control registers provide controls over and the status of a CPU, except for information included in the PSW. They are an evolutionary enhancement to the control registers on the earlier ESA/390 on the IBM S/390 processors. For details on which fields are dependent on specific features, consult the Principles of Operation. [13] Because z/Architecture expands the control registers from 32 bits to 64, the bit numbering differs from that in ESA/390.

z/Architecture mode control registers
CRbitsField
08Transactional-execution control
09Transactional-execution program-interruption filtering override
010Clock-comparator sign control
013Cryptography counter controll
014Processor-activity-instrumentation-extension control
015Measurement-counter-extraction-authorization control
030Warning-track subclass mask
032TRACE TOD-clock control
033SSM-suppression
034TOD-clock-sync control
035Low-address-protection control
036Extraction-authority control
037Secondary-space control
038Fetch-protection-override control
039Storage-protection-override control
040Enhanced-DAT-enablement control
043Instruction-execution-protection-enablement control
044ASN-and-LX-reuse control
045AFP-register control
046Vector enablement control
048Malfunction-alert subclass mask
048Malfunction-alert subclass mask
049Emergency-signal subclass mask
050External-call subclass mask
052Clock-comparator subclass mask
053CPU-timer subclass mask
054Service-signal subclass mask
056Initialized to 1
057Interrupt-key subclass mask
058Measurement-alert subclass mask
059Timing-alert subclass mask
061Crypto control
10-51Primary Address-Space Control Element (ASCE)
Primary region-table origin
Primary segment-table origin
Primary real-space token origin
154Primary subspace-group control
155Primary private-space control
156Primary storage-alteration-event
157Primary space-switch-event control
158Primary real-space control
160-61Primary designation-type control
162-63Primary table length
233-57Dispatchable-unit-control-table origin
259Guarded-storage-facility enablement control
261Transaction diagnostic scope
262-63Transaction diagnostic control
30-31Secondary ASN-second-table-entry instance number
332-47PSW-key mask
348-63Secondary ASN
40-31Primary ASN-second-table-entry instance number
432-47Authorization index
448-63Primary ASN
533-57Primary-ASN-second-table-entry origin
632-39I/O-interruption subclass mask
70-51Secondary Address-Space Control Element (ASCE)
Secondary region-table origin
Secondary segment-table origin
Secondary real-space token origin
754Secondary subspace-group control
755Secondary private-space control
756Secondary storage-alteration-event control
758Secondary real-space control
760-61Secondary designation-type control
762-63Secondary table length
816-31Enhanced-monitor masks
832-47Extended authorization index
848-63Monitor masks
932Successful-branching-event mask
933Instruction-fetching-event mask
934Storage-alteration-event mask
935Storage-key-alteration-event mask
936Store-using-real-address-event mask
937Zero-address-detection-event mask
938Transaction-end event mask
939Instruction-fetching-nullification-event mask
940Branch-address control
941PER-event-suppression control
943Storage-alteration-space control
100-63PER starting address
110-63PER ending address
120Branch-trace control
121Mode-trace control
122-61Trace-entry address
1262ASN-trace control
1263Explicit-trace control
130-51Home Address-Space Control Element (ASCE)
Home region-table origin
Home segment-table origin
Home real-space token origin
1355Home private-space control
1356Home storage-alteration-eventl
1357Home space-switch-event control
1358Secondary real-space control
1360-61Home designation-type control
1362-63Home table length
1432Set to 1
1433Set to 1
1434Extended save-area control (ESA/390-compatibility mode

only)

1435Channel-report-pending subclass mask
1436Recovery subclass mask
1437Degradation subclass mask
1438External-damage subclass mask
1439Warning subclass mask
1442TOD-clock-control-override control
1444ASN-translation control
1445-63ASN-first-table origin
150-60Linkage-stack-entry address

Floating point Control (FPC) register

The FPC register contains Interrupt Masks (IM), Status Flags (SF), Data Exception Code (DXC), Decimal Rounding Mode (DRM) and Binary Rounding Mode (BRM). An interruption only stores the DXC if the FPC register if the AFP-register (additional floating-point register) control bit, bit 13 of control register 0, is one. Also, while individual bits of the DXC usually have significance, programs should normally treat it as an 8-bit integer rather than querying individual bits.

FPC fields
Byte nameBitsField nameUse
masks0IMiIEEE-invalid-operation mask
masks1IMzIEEE-division-by-zero mask
masks2IMoIEEE-overflow mask
masks3IMuIEEE-underflow mask
masks4IMxIEEE-inexact mask
masks5IMqQuantum-exception mask
flags8SFiIEEE-invalid-operation flag
flags9SFzIEEE-division-by-zero
flags10SFoIEEE-overflow flag
flags11SFuIEEE-underflow flag
flags12SFxIEEE-inexact flag
flags13SFqQuantum-exception flag
DXC16-23DXCData-exception code
DXC16iIEEE-invalid-operation
DXC17zIEEE-division-by-zero
DXC18oIEEE-overflow
DXC19uIEEE-underflow mask
DXC20xIEEE-inexact mask
DXC21y/qQuantum-exception mask
25-27DRMDFP rounding mode
29-31BRMBFP rounding mode

Floating point registers

Each CPU had 16 64-bit floating point registers; FP0-15 occupy bits 0-63 of VR0-15.

General registers

Each CPU has 16 64-bit general registers, which serve as accumulators, base registers [lower-alpha 3] and index registers. [lower-alpha 3] Instructions designated as Grandé operate on all 64 bits; some instructions added by the Extended-Immediate Facility operate on any halfword or word in the register; most other instructions do not change or use bits 0-31.

Prefix register

The prefix register is used in translating a real address to an absolute address. In z/Architecture mode, the PSA is 2 pages (8 KiB). Bits 0-32 and 51-63 are always zero. If bits 0-50 of a real address are zero then they are replaced by bits 0-50 of the prefix register; if bits 0-50 of the real address are equal to bits 0-50 of the prefix register then they are replaced with zeros.

Program status word (PSW)

The PSW holds the instruction address and other fields reflecting the status of the program currently running on a CPU. The status of the program is also affected by the contents of the Control registers.

Vector registers

Each CPU has 32 128-bit vector registers.{{sfn|z|loc=Vector Registers|pp=2-5–2-6 bits 0-63 of VR0-15 are also FPR0-15. A vector register may contain 16 8-bit fields, 8 16-bit fields, 4 32-bit fields, 2 64-bit fields or 1 128-bit field.

Memory

IBM classifies memory in z/Architecture into Main Storage and Expanded Storage.

Main storage is addressed in 8-bit bytes (octets), with larger aligned [lower-alpha 4] groupings:

Halfword
Two bytes
16 bits
Word
Four bytes
32 bits
Doubleword
8 bytes
64 bits
Quadword
16 bytes
128 bits
Page
4096 bytes

Although z/Architecture allows real and virtual addresses from 0 to 264-1, engineering constraints limit current and planned models to far less.

Expanded storage is address in 4 KiB blocks, with block numbers ranging fom 0 to 232.

Addressing

Types of main storage addresses

There are three types of main storage addresses in z/Architecture

Virtual address
The address as seen by application programs. It is an offset into an address space and is subject to address translation via page and segment tables.
Real address
The address after address translation, or the address seen by an OS component running with translation off. It is subject to prefixing.
Absolute address
The address after prefixing references to the first two pages [lower-alpha 5] via the prefix register.

Address encoding

z/Architecture uses the same truncated addressing as ESA, with some additional instruction formats. As with ESA, in AR mode each nonzero base register is associated with a base register specifying the address space. Depending on the instruction, an address may be provided in several different formats.

R
The address is contained in a general register
Relative
A signed 16-bit halfword offset from the current instruction.
Relative long
A signed 32-bit halfword offset from the current instruction.
RS
A base register and a 12-bit displacement
RX
A base register, an index register, and a 12-bit displacement
Y
A base register, an index register, and a 20-bit displacement; colloquially known as "Yonder".

Addressing modes

In addition to the two addressing modes supported by S/370-XA and ESA, a/Architecture has an extended addressing mode with 64-bit virtual addresses. The addressing mode is controlled by the EA (bit 31) and BA (bit 32) bits in the PSW. The valid combinations are

Translation modes

z/Architecture supports four virtual translation modes, controlled by [14] bit 5, the DAT-mode bit, and bits 16-17, the Address-Space Control (AS) bits, of the PSW.

Primary-space mode
All storage references use the translation tables for the primary address space
Access-register mode
All storage references use the translation tables designated by the access register associated with the base register.
Secondary-space mode
All storage references use the translation tables for the secondary address space
Home-space mode
All storage references use the translation tables for the home address space

Operating system support

IBM's operating systems z/OS, z/VSE, z/TPF, and z/VM are versions of MVS, VSE, Transaction Processing Facility (TPF), and VM that support z/Architecture. Older versions of z/OS, z/VSE, and z/VM continued to support 32-bit systems; z/OS version 1.6 and later, z/VSE Version 4 and later, and z/VM Version 5 and later require z/Architecture.

Linux also supports z/Architecture with Linux on IBM Z.

z/Architecture supports running multiple concurrent operating systems and applications even if they use different address sizes. This allows software developers to choose the address size that is most advantageous for their applications and data structures.

On July 7, 2009, IBM on occasion of announcing a new version of one of its operating systems implicitly stated that Architecture Level Set 4 (ALS 4) exists, and is implemented on the System z10 and subsequent machines. [15] [16] The ALS 4 is also specified in LOADxx as ARCHLVL 3, whereas the earlier z900, z800, z990, z890, System z9 specified ARCHLVL 2. Earlier announcements of System z10 simply specified that it implements z/Architecture with some additions: 50+ new machine instructions, 1 MB page frames, and hardware decimal floating point unit (HDFU). [17] [18]

Most[ citation needed ] operating systems for the z/Architecture, including z/OS, generally restrict code execution to the first 2 GB (31 address bits, or 231 addressable bytes) of each virtual address space for reasons of efficiency and compatibility rather than because of architectural limits. Linux on IBM Z allows code to execute within 64-bit address ranges.

z/OS

Each z/OS address space, called a 64-bit address space, is 16 exabytes in size.

Code (or mixed) spaces

The z/OS implementation of the Java programming language is an exception. The z/OS virtual memory implementation supports multiple 2 GB address spaces, permitting more than 2 GB of concurrently resident program code.

Data-only spaces

Data-only spaces are memory regions that can be read from and written to, but not used as executable code. (Similar to the NX bit on other modern processors.) By default, the z/Architecture memory space is indexed by 64-bit pointers, allowing up to 16 exabytes of memory to be visible to an executing program.

Dataspaces and hiperspaces

Applications that need more than a 16  exabyte data address space can employ extended addressability techniques, using additional address spaces or data-only spaces. The data-only spaces that are available for user programs are called:

  • dataspaces (sometimes referred to as "data spaces") [19] [20] and
  • hiperspaces (High performance space). [21] [22]

These spaces are similar in that both are areas of virtual storage that a program can create, and can be up to 2  gigabytes. Unlike an address space, a dataspace or hiperspace contains only user data; it does not contain system control blocks or common areas. Program code cannot run in a dataspace or a hiperspace. [23]

A dataspace differs from a hiperspace in that dataspaces are byte-addressable, whereas hiperspaces are page-addressable.

IBM mainframe expanded storage

Traditionally IBM Mainframe memory has been byte-addressable. This kind of memory is termed "Central Storage". IBM Mainframe processors through much of the 1980s and 1990s supported another kind of memory: Expanded Storage. It was first introduced with the IBM 3090 high-end mainframe series in 1985. [24]

Expanded Storage is 4KB-page addressable. When an application wants to access data in Expanded Storage it must first be moved into Central Storage. Similarly, data movement from Central Storage to Expanded Storage is done in multiples of 4KB pages. Initially page movement was performed using relatively expensive instructions, by paging subsystem code.

The overhead of moving single and groups of pages between Central and Expanded Storage was reduced with the introduction of the MVPG (Move Page) instruction and the ADMF (Asynchronous Data Mover Facility) capability.

The MVPG instruction and ADMF are explicitly invoked—generally by middleware in z/OS or z/VM (and ACP?)—to access data in expanded storage. Some uses are namely:

Until the mid-1990s Central and Expanded Storage were physically different areas of memory on the processor. Since the mid-1990s Central and Expanded Storage were merely assignment choices for the underlying processor memory. These choices were made based on specific expected uses: For example, Expanded Storage is required for the Hiperbatch function (which uses the MVPG instruction to access its hiperspaces).

In addition to the hiperspace and paging cases mentioned above there are other uses of expanded storage, including:

z/OS removed the support for Expanded Storage. All memory in z/OS is now Central Storage. z/VM 6.4 fulfills Statement of Direction to drop support for all use of Expanded Storage.

MVPG and ADMF

MVPG

IBM described MVPG as "moves a single page and the central processor cannot execute any other instructions until the page move is completed." [25]

The MVPG mainframe instruction [26] (MoVe PaGe, opcode X'B254') has been compared to the MVCL (MoVe Character Long) instruction, both of which can move more than 256 bytes within main memory using a single instruction. These instructions do not comply with definitions for atomicity, although they can be used as a single instruction within documented timing and non-overlap restrictions. [27] :Note 8,page 7–27 [28]

The need to move more than 256 bytes within main memory had historically been addressed with software [29] (MVC loops), MVCL, [30] which was introduced with the 1970 announcement of the System/370, and MVPG, patented [31] and announced by IBM in 1989, each have advantages. [32]

ADMF

ADMF (Asynchronous Data Mover Facility), which was introduced in 1992, goes beyond the capabilities of the MVPG (Move Page) instruction, which is limited to a single page, [33] and can move groups of pages between Central and Expanded Storage.

A macro instruction named IOSADMF, which has been described as an API that avoids "direct, low-level use of ADMF", [34] can be used to read [lower-alpha 6] or write data to or from a hiperspace. [35] Hiperspaces are created using DSPSERV CREATE.

To provide reentrancy, IOSADMF is used together with a "List form" and "Execute form." [36]

Non-IBM implementations

Platform Solutions Inc. (PSI) previously marketed Itanium-based servers which were compatible with z/Architecture. IBM bought PSI in July 2008, and the PSI systems are no longer available. [37] FLEX-ES, zPDT and the Hercules emulator also implement z/Architecture. Hitachi mainframes running newer releases of the VOS3 operating system implement ESA/390 plus Hitachi-unique CPU instructions, including a few 64-bit instructions. While Hitachi formally collaborated with IBM on the z900-G2/z800 CPUs introduced in 2002, Hitachi's machines are not z/Architecture-compatible.

Notes

  1. The ESA asynchronous-pageout, asynchronous-data-mover, program-call-fast, and ESA/390 vector facilities are not present in z/Architecture. The z/Architecture vector feature has been replaced by a very different vector facility.
  2. For a complete list see Chapter 1. Introduction in Principle of Operation. [3] [4]
  3. 1 2 Except for general register 0.
  4. Some instructions allow references to unaligned data.
  5. References to the first page in ESA mode, but that is not available on current models.
  6. AREAD - transfer data from a hiperspace to the program's primary address space.

Related Research Articles

IBM mainframes are large computer systems produced by IBM since 1952. During the 1960s and 1970s, IBM dominated the computer market with the 7000 series and the later System/360, followed by the System/370. Current mainframe computers in IBM's line of business computers are developments of the basic design of the System/360.

<span class="mw-page-title-main">MVS</span> Operating system for IBM mainframes

Multiple Virtual Storage, more commonly called MVS, is the most commonly used operating system on the System/370, System/390 and IBM Z IBM mainframe computers. IBM developed MVS, along with OS/VS1 and SVS, as a successor to OS/360. It is unrelated to IBM's other mainframe operating system lines, e.g., VSE, VM, TPF.

<span class="mw-page-title-main">IBM System/360</span> IBM mainframe computer family (1964–1977)

The IBM System/360 (S/360) is a family of mainframe computer systems announced by IBM on April 7, 1964, and delivered between 1965 and 1978. System/360 was the first family of computers designed to cover both commercial and scientific applications and a complete range of applications from small to large. The design distinguished between architecture and implementation, allowing IBM to release a suite of compatible designs at different prices. All but the only partially compatible Model 44 and the most expensive systems use microcode to implement the instruction set, featuring 8-bit byte addressing and fixed-point binary, fixed-point decimal and hexadecimal floating-point calculations.

<span class="mw-page-title-main">IBM System/370</span> Family of mainframe computers 1970–1990

The IBM System/370 (S/370) is a range of IBM mainframe computers announced as the successors to the System/360 family on June 30, 1970. The series mostly maintains backward compatibility with the S/360, allowing an easy migration path for customers; this, plus improved performance, were the dominant themes of the product announcement.

<span class="mw-page-title-main">MCS-51</span> Single chip microcontroller series by Intel

The Intel MCS-51 is a single chip microcontroller (MCU) series developed by Intel in 1980 for use in embedded systems. The architect of the Intel MCS-51 instruction set was John H. Wharton. Intel's original versions were popular in the 1980s and early 1990s, and enhanced binary compatible derivatives remain popular today. It is a complex instruction set computer with separate memory spaces for program instructions and data.

<span class="mw-page-title-main">64-bit computing</span> Computer architecture bit width

In computer architecture, 64-bit integers, memory addresses, or other data units are those that are 64 bits wide. Also, 64-bit central processing units (CPU) and arithmetic logic units (ALU) are those that are based on processor registers, address buses, or data buses of that size. A computer that uses such a processor is a 64-bit computer.

In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units (CPUs). It allows system software to use features such as segmentation, virtual memory, paging and safe multi-tasking designed to increase an operating system's control over application software.

<span class="mw-page-title-main">VM (operating system)</span> Family of IBM operating systems

VM is a family of IBM virtual machine operating systems used on IBM mainframes System/370, System/390, zSeries, System z and compatible systems, including the Hercules emulator for personal computers.

<span class="mw-page-title-main">Memory address</span> Reference to a specific memory location

In computing, a memory address is a reference to a specific memory location used at various levels by software and hardware. Memory addresses are fixed-length sequences of digits conventionally displayed and manipulated as unsigned integers. Such numerical semantic bases itself upon features of CPU, as well upon use of the memory like an array endorsed by various programming languages.

Disk Operating System/360, also DOS/360, or simply DOS, is the discontinued first member of a sequence of operating systems for IBM System/360, System/370 and later mainframes. It was announced by IBM on the last day of 1964, and it was first delivered in June 1966. In its time, DOS/360 was the most widely used operating system in the world.

Addressing modes are an aspect of the instruction set architecture in most central processing unit (CPU) designs. The various addressing modes that are defined in a given instruction set architecture define how the machine language instructions in that architecture identify the operand(s) of each instruction. An addressing mode specifies how to calculate the effective memory address of an operand by using information held in registers and/or constants contained within a machine instruction or elsewhere.

Memory segmentation is an operating system memory management technique of dividing a computer's primary memory into segments or sections. In a computer system using segmentation, a reference to a memory location includes a value that identifies a segment and an offset within that segment. Segments or sections are also used in object files of compiled programs when they are linked together into a program image and when the image is loaded into memory.

In computing, channel I/O is a high-performance input/output (I/O) architecture that is implemented in various forms on a number of computer architectures, especially on mainframe computers. In the past, channels were generally implemented with custom devices, variously named channel, I/O processor, I/O controller, I/O synchronizer, or DMA controller.

The program status word (PSW) is a register that performs the function of a status register and program counter, and sometimes more. The term is also applied to a copy of the PSW in storage. This article only discusses the PSW in the IBM System/360 and its successors, and follows the IBM convention of numbering bits starting with 0 as the leftmost bit.

Since the rise of the personal computer in the 1980s, IBM and other vendors have created PC-based IBM mainframe-compatible systems which are compatible with the larger IBM mainframe computers. For a period of time PC-based mainframe-compatible systems had a lower price and did not require as much electricity or floor space. However, they sacrificed performance and were not as dependable as mainframe-class hardware. These products have been popular with mainframe developers, in education and training settings, for very small companies with non-critical processing, and in certain disaster relief roles.

A control register is a processor register that changes or controls the general behavior of a CPU or other digital device. Common tasks performed by control registers include interrupt control, switching the addressing mode, paging control, and coprocessor control.

A Supervisor Call instruction (SVC) is a hardware instruction used by the System/360 family of IBM mainframe computers up to contemporary zSeries, the Amdahl 470V/5, 470V/6, 470V/7, 470V/8, 580, 5880, 5990M, and 5990A, and others; Univac 90/60, 90/70 and 90/80, and possibly others; the Fujitsu M180 (UP) and M200 (MP), and others; and is also used in the Hercules open source mainframe emulation software. It causes an interrupt to request a service from the operating system. The system routine providing the service is called an SVC routine. SVC is a system call.

<span class="mw-page-title-main">OS/360 and successors</span> Operating system for IBM S/360 and later mainframes

OS/360, officially known as IBM System/360 Operating System, is a discontinued batch processing operating system developed by IBM for their then-new System/360 mainframe computer, announced in 1964; it was influenced by the earlier IBSYS/IBJOB and Input/Output Control System (IOCS) packages for the IBM 7090/7094 and even more so by the PR155 Operating System for the IBM 1410/7010 processors. It was one of the earliest operating systems to require the computer hardware to include at least one direct access storage device.

The IBM System/360 architecture is the model independent architecture for the entire S/360 line of mainframe computers, including but not limited to the instruction set architecture. The elements of the architecture are documented in the IBM System/360 Principles of Operation and the IBM System/360 I/O Interface Channel to Control Unit Original Equipment Manufacturers' Information manuals.

IBM Enterprise Systems Architecture is an instruction set architecture introduced by IBM as ESA/370 in 1988. It is based on the IBM System/370-XA architecture.

References

z
z/Architecture Principles of Operation (PDF) (Fourteenth ed.). IBM. May 2022. SA22-7832-13. Retrieved June 28, 2024.
  1. Development and Attributes of z/Architecture Archived 2013-12-12 at the Wayback Machine , IBM Journal of Research and Development, 2002.
  2. "Accommodate functions for the z13 server to be discontinued on future servers". IBM . 25 June 2015. Archived from the original on 2017-09-15. Retrieved 2017-09-18.
  3. 1 2 z, pp. 1-2–1-7, Highlights of Original z/Architecture.
  4. 1 2 z, pp. 1-7–1-31, Additions to z/Architecture.
  5. 1 2 z, p. 5-50, Access-Register-Specified Address Spaces.
  6. 1 2 z, p.  4-46, Breaking-Event-Address Register.
  7. z, pp. 4-9–4-11, Figure 4-5. Assignment of Control-Register Fields.
  8. z, pp. 3-22–3-23, Prefixing in the z/Architecture Architectural Mode.
  9. z, pp. 4-5–4-8, Program-Status-Word Format.
  10. z, p. 4-8, Short PSW Format.
  11. z, pp. 6-15–6-16, Access Registers.
  12. z, p. 4-464-46, Breaking-Event-Address Register.
  13. z, pp.  4-9–4-12, Control Registers.
  14. z, pp.  3-41, 3-42, Figure 3-15. Translation Modes.
  15. Preview: IBM z/VM V6.1 - Foundation for future virtualization growth Archived 2021-10-28 at the Wayback Machine , IBM United States Software Announcement 209-207, dated July 7, 2009
  16. ALS 1 was 9672 G2; ALS 2 was 9672 G5; ALS 3 was the original z/Architecture: "IBM CMOS Processor Table". 18 November 2008. Archived from the original on 10 December 2013. Retrieved 18 October 2012.
  17. "IBM System z10 Business Class (z10 BC) Reference Guide" (PDF). IBM . 2008. Archived (PDF) from the original on 2011-03-04. Retrieved 2012-10-18.
  18. "z/Architecture Principles of Operation" (PDF). Archived (PDF) from the original on 2020-11-30. Retrieved 2016-01-15.
  19. Hoskins, Jim; Frank, Bob (2002). Exploring IBM Eserver Zseries and S/390 Servers. Maximum Press. p. 26. ISBN   1885068913. Archived from the original on 2021-04-27. Retrieved 2017-10-19. VM Data Spaces architecture is standard on all System/390 processors.
  20. "CA Defends VSE Policy". InformationWeek. October 21, 1991. p. 15. Computer Associates International is now providing data space technology to VSE/ESA or System/370 users.
  21. "Analyzing data in memory". IBM.
  22. Hemanth Nandas (October 15, 2007). "What is hiperspace? Which was the first OS to support hiperspace?". Newsgroup:  ibmmainframes.com. Archived from the original on February 2, 2017. Retrieved January 25, 2017. HIGH PERFORMANCE SPACE or "High Performance Dataspace" (author Anuj Dhawan, same date)
  23. "CheatSheet #54 zTidBits z/OS Extended Addressing" (PDF). Retrieved 2022-07-17.
  24. Sakaki, M.; Samukawa, H.; Honjou, N. (1988). "Effective utilization of IBM 3090 large virtual storage in the numerically intensive computations of ab initio molecular orbitals". IBM Systems Journal. 27 (4): 528–540. doi:10.1147/sj.274.0528. ISSN   0018-8670.
  25. US 5442802 Asynchronous co-processor data mover method and means
  26. "HLASM - MVPG = MoVe PaGe". Archived from the original on 2013-10-06. Retrieved 2017-01-24.
  27. MOVE LONG, note 8. "GA22-7000-10, IBM System/370, Principles of Operation" (PDF). Archived (PDF) from the original on 2021-04-11. Retrieved 2021-10-11.
  28. "things are done immediately, and there is no chance of the instruction being half-completed or of another being interspersed. Used especially to convey that an operation cannot be interrupted." "Atomic from FOLDOC".
  29. "$MVCL – Move more than 256 bytes of storage". IBM . 20 September 2014. Archived from the original on 2 February 2017. Retrieved 24 January 2017.
  30. "Move Long". Archived from the original on 2017-04-27. Retrieved 2017-01-24.
  31. US 5237668 Process using virtual addressing in a non-privileged instruction to control the copying of a page of data in or between multiple media
  32. "MVPG faster than MVCL for aligned pages?". IBM-MAIN (Mailing list). Archived from the original on 2011-01-22. Retrieved 2017-01-24.
  33. IBM's patent EP0549924A1 describes MVPG as "moves a single page."
  34. Celestini, Art (Aug 20, 1997). "admf". IBM-MAIN (Mailing list). Archived from the original on 2011-01-22. Retrieved 2017-01-24 via Google Groups.
  35. z/OS MVS Programming: Extended Addressability Guide - SA23-1394-00
  36. "IOSADMF — Transfer hiperspace data". IBM . 7 February 2015. Archived from the original on 2 February 2017. Retrieved 24 January 2017.
  37. "IBM Acquires Platform Solutions" (Press release). IBM. 2008-07-02. Archived from the original on 2008-09-05. Retrieved 2008-09-06.

Further reading