Early mainframes had a single processor, which was known as the
central processing unit (CPU). Today's IBM® mainframes have a central processor
complex (CPC), which may contain several different types of z/Architecture® processors
that can be used for slightly different purposes.
Several of these purposes are related to software cost control, while others
are more fundamental. All of the processors in the CPC begin as equivalent
processor units (PUs) or engines that have not been characterized for use.
Each processor is characterized by IBM during installation or at a later time.
The potential characterizations are:
- Central Processor (CP)
- This processor type is available for normal operating system and application
software.
- System Assistance Processor (SAP)
- Every modern mainframe has at least one SAP; larger systems may have several.
The SAPs execute internal code to provide the I/O subsystem. An SAP, for example,
translates device numbers and real addresses of channel path identifiers (CHPIDs),
control unit addresses, and device numbers. It manages multiple paths to control
units and performs error recovery for temporary errors. Operating systems
and applications cannot detect SAPs, and SAPs do not use any "normal" memory.
- Integrated Facility for Linux® (IFL)
- This is a normal processor with one or two instructions disabled that
are used only by z/OS®. Linux does not use these instructions
and can be executed by an IFL. Linux can be executed by a CP as well.
The difference is that an IFL is not counted when specifying the model number
of the system. This can make a substantial difference in software costs.
- zAAP
- This is a processor with a number of functions disabled (interrupt handling,
some instructions) such that no full operating system can be executed on the
processor. However, z/OS can detect the presence of zAAP processors and
will use them to execute Java™ code. The same Java code
can be executed on a standard CP. Again, zAAP engines are not counted when
specifying the model number of the system. Like IFLs, they exist only to control
software costs.
- zIIP
- The System z9® Integrated Information Processor (zIIP) is a specialized engine for
processing eligible database workloads. The zIIP is designed to help lower
software costs for select workloads on the mainframe, such as business intelligence
(BI), enterprise resource planning (ERP) and customer relationship management
(CRM). The zIIP reinforces the mainframe's role as the data hub of the enterprise
by helping to make direct access to DB2® more cost effective and reducing the
need for multiple copies of the data.
- Integrated Coupling Facility (ICF)
- These processors run only Licensed Internal Code. They are not visible
to normal operating systems or applications. A coupling facility is, in effect,
a large memory scratch pad used by multiple systems to coordinate work. ICFs
must be assigned to LPARs that then become coupling facilities.
- Spare
- An uncharacterized PU functions as a "spare." If the system controllers
detect a failing CP or SAP, it can be replaced with a spare PU. In most cases
this can be done without any system interruption, even for the application
running on the failing processor.
In addition to these characterizations of processors, some mainframes have
models or versions that are configured to operate slower than the potential
speed of their CPs. This is widely known as kneecapping , although IBM prefers
the term capacity setting, or something similar. It is done by using
microcode to insert null cycles into the processor instruction stream. The
purpose, again, is to control software costs by having the minimum mainframe
model or version that meets the application requirements. IFLs, SAPs, zAAPs,
zIIPs, and ICFs always function at the full speed of the processor because
these processors "do not count" in software pricing calculations.