ArticleslgStudy

computer science

IBM System/370-XA

IBM System/370-XA is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand IBM System/370-XA rather than just read about it. In short: IBM System/370-XA is an instruction set architecture announced by IBM on October 21, 1981 for the IBM 308X processors and made available in April 1983. It extends the IBM System/370 architecture to support 31-bit virtual and physical addresses, and includes a redesigned I/O architecture. 31-bit virtual addressing In the System/360 and System/370 architectures, the general-purpose registers were 32 bits wide, the mac…

Key takeaways

  • IBM System/370-XA belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect IBM System/370-XA to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of IBM System/370-XA from memory before moving on to harder problems.

Reference excerpt

IBM System/370-XA is an instruction set architecture announced by IBM on October 21, 1981 for the IBM 308X processors and made available in April 1983. It extends the IBM System/370 architecture to support 31-bit virtual and physical addresses, and includes a redesigned I/O architecture.

31-bit virtual addressing In the System/360 and System/370 architectures, the general-purpose registers were 32 bits wide, the machine performed 32-bit arithmetic operations, and addresses were always stored in 32-bit words. For this reason, the 360 and 370 architectures are 32-bit architectures. However, other than the 360/67, the implementation of these machines ignored the top 8 bits of the address, resulting in 24-bit addressing. Such limitations were not uncommon in computer architectures in the era when physical memory was normally measured in kilobytes. This was reflected in some parts of the instruction set, for instance one heavily used instruction, LA, Load Address, explicitly cleared the top eight bits of the address being placed in a register. Much of System/360's and System/370's large installed code base relied on a 24-bit logical address and if the 24-bit limit were to be removed, this would create migration problems for existing software. This was addressed by adding an addressing mode bit to the Program Status Word controlling whether the program runs in 24-bit mode, in which the top eight bits of virtual addresses are ignored, or 31-bit mode, in which only the uppermost bit of virtual addresses are ignored. Several reasons were given for the choice of 31 bits instead of 32 bits:

The desire to retain the high-order bit as a "control or escape bit." In particular, the standard subroutine calling convention marked the final parameter word by setting its high bit. Interaction between 32-bit addresses and two loop control instructions, BXH and BXLE that treated their arguments as signed numbers when doing comparisons (and which was said to be the reason TSS used 31-bit addressing on the Model 67). Input from key initial Model 67 sites, which had debated the alternatives during the initial system design period, and had recommended 31 bits (instead of the 32-bit design that was ultimately chosen at the time). Certain machine instructions in this 31-bit addressing mode alter the addressing mode bit. For example, the original subroutine call instructions BAL, Branch and Link, and its register-register equivalent, BALR, Branch and Link Register, store certain status information, the instruction length code, the condition code and the program mask, in the top byte of the return address. A BAS, Branch and Save, instruction was added to allow 31-bit return addresses. BAS, and its register-register equivalent, BASR, Branch and Save Register, was part of the instruction set of the 360/67, which was the only System/360 model to allow addresses longer than 24 bits. These instructions were maintained, but were modified and extended for 31-bit addressing. Additional instructions in support of allowing calls between 24-bit-addressing and 31-bit-addressing code include two new register-register call/return instructions which also effect an addressing mode change, BASSM, Branch and Save and Set Mode, the 24/31-bit version of a call where the linkage address including the mode is saved and a branch is taken to an address in a possibly different mode, and BSM, Branch and Set Mode, the 24/31 bit version of a return, where the return is directly to the previously saved linkage address and in its previous mode. Taken together, BASSM and BSM allow 24-bit calls to 31-bit (and return to 24-bit), 31-bit calls to 24-bit (and return to 31-bit), 24-bit calls to 24-bit (and return to 24-bit) and 31-bit calls to 31-bit (and return to 31-bit). Like BALR 14,15 (the 24-bit-only form of a call), BASSM is used as BASSM 14,15, where the linkage address and mode are saved in register 14, and a branch is taken to the subroutine address and mode specified in register 15. Somewhat similarly to BCR 15,14 (the 24-bit-only form of an unconditional return), BSM is used as BSM 0,14, where 0 indicates that the current mode is not saved (the program is leaving the subroutine, anyway), and a return to the caller at the address and mode specified in register 14 is to be taken.

31-bit physical addressing System/370 initially supported only 24-bit physical addresses; the extended real address feature extended this to 26-bit addresses. System/370-XA changed the page table entry format to support 19 bits of page frame address; pages are 4 KB in 370-XA, so combining a 19-bit page frame address with a 12-bit offset within the page produces a 31-bit physical address. Channel command words can be in one of two formats, with format 0 being the System/370 format, with a 24-bit data address, and format 1 being an additional format, with a 31-bit data address.

I/O

System/370-XA introduced a channel subsystem that performed I/O queuing previously done by the operating system.

Notes

References

Worked examples

Example 1 — a first encounter with IBM System/370-XA

Start with the simplest possible case. Write down what IBM System/370-XA claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to IBM System/370-XA before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about IBM System/370-XA ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of IBM System/370-XA

In research
IBM System/370-XA appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses IBM System/370-XA in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
IBM System/370-XA is common in secondary-school and first-year university syllabi. It links to neighbouring topics 32-bit computers, Computer-related introductions in 1983, Computing platforms, so understanding it makes those chapters shorter.
In everyday life
Look for IBM System/370-XA outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study IBM System/370-XA in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what IBM System/370-XA means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain IBM System/370-XA out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is IBM System/370-XA in simple terms?

IBM System/370-XA is an instruction set architecture announced by IBM on October 21, 1981 for the IBM 308X processors and made available in April 1983. It extends the IBM System/370 architecture to support 31-bit virtual and physical addresses, and includes a redesigned I/O architecture. 31-bit vir…

Why does IBM System/370-XA matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study IBM System/370-XA?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on IBM System/370-XA.

Tags

  • 32-bit computers
  • Computer-related introductions in 1983
  • Computing platforms
  • IBM System/360 mainframe line
  • Products and services discontinued in 1988

Keep exploring