Modernization Hub

Cycle Stealing - Priority interrupt

Enhanced Definition

**Cycle Stealing** is a hardware mechanism, primarily associated with mainframe I/O channels, that allows peripheral devices or their controllers to directly access main memory to transfer data without explicit CPU intervention for each byte or word. This process "steals" memory cycles from the CPU, enabling concurrent I/O operations. A **Priority Interrupt** is a system capability where different types of interrupts (events that demand CPU attention) are assigned varying levels of importance, allowing the operating system (z/OS) to process critical events ahead of less urgent ones.

Key Characteristics

    • Cycle Stealing:
    • Enables Direct Memory Access (DMA) for I/O devices, offloading data transfer from the main CPU.
    • Performed by channel controllers or I/O processors (e.g., System z channels) that manage data movement between peripherals and main storage.
    • Operates concurrently with CPU instruction execution, enhancing system throughput by overlapping computation and I/O.
    • Can introduce minor latency for CPU memory access if memory contention occurs, but the overall benefit of reduced CPU overhead is significant.
    • Fundamental to the efficiency of channel programs on IBM mainframes.
    • Priority Interrupt:
    • Establishes a hierarchical structure for interrupt handling, ensuring that high-priority events (e.g., machine checks) preempt lower-priority ones (e.g., timer interrupts).
    • Managed by a combination of hardware (CPU interrupt logic) and the z/OS Interrupt Handler.
    • Allows the system to be highly responsive to critical events, crucial for maintaining system stability and performance.
    • Interrupts can be masked or unmasked, allowing the CPU to temporarily ignore certain lower-priority interrupts during critical processing.

Use Cases

    • Cycle Stealing:
    • High-speed data transfer between DASD (Direct Access Storage Devices) or tape drives and main memory during read/write operations.
    • Moving data for network interfaces (e.g., OSA adapters) to and from application buffers.
    • Executing channel programs that describe complex I/O sequences, where the channel autonomously fetches commands and transfers data.
    • Buffering printer output or receiving input from terminals without constant CPU involvement.
    • Priority Interrupt:
    • Handling I/O completion interrupts generated by channel controllers after a cycle-stealing operation finishes, signaling data availability or completion status.
    • Responding to timer interrupts for time-slicing in multitasking environments, allowing z/OS to switch between different workloads.
    • Processing program checks (e.g., invalid instruction, protection exception) or machine checks (hardware errors) to initiate error recovery or system termination.
    • Managing external interrupts from other CPUs in a multiprocessor complex or from console operators.

Related Concepts

Cycle stealing is a core mechanism that underpins the efficiency of channel I/O on z/OS. When a channel program completes its cycle-stealing data transfer, it typically generates an I/O interrupt. This interrupt then enters the system's priority interrupt structure, where the I/O Supervisor (IOS) component of z/OS determines its urgency relative to other pending events.

Related Vendors

Broadcom

235 products

Tone Software

14 products

IBM

646 products

Candle Corporation

16 products

Trax Softworks

3 products

Related Categories

Operating System

154 products

CASE/Code Generation

19 products

Automation

222 products

Performance

171 products

Monitor

262 products