Browse Prior Art Database

Method for Detecting And Processing I/O Interrupts During Software Simulation of a System/370 Architecture Processor

IP.com Disclosure Number: IPCOM000101080D
Original Publication Date: 1990-Jun-01
Included in the Prior Art Database: 2005-Mar-16
Document File: 2 page(s) / 62K

Publishing Venue

IBM

Related People

Marsh, WM: AUTHOR [+2]

Abstract

A method is disclosed whereby I/O interrupts can be detected and processed during software simulation of a System/370 architecture processor. The interrupt processing is done at host speed instead of at simulation speed.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 60% of the total text.

Method for Detecting And Processing I/O Interrupts During Software Simulation of a System/370 Architecture Processor

       A method is disclosed whereby I/O interrupts can be
detected and processed during software simulation of a System/370
architecture processor.  The interrupt processing is done at host
speed instead of at simulation speed.

      It is possible to use a software simulator to simulate the
execution of an I/O operation by setting an I/O instruction, and
related control blocks, into simulated main storage and starting the
simulation.  However, to correctly simulate the entire I/O operation,
it is necessary to detect and process the resulting I/O interrupts.
The processing of an I/O interrupt can require the simulation of so
many System/370 instructions that the interrupt processing would take
more simulation time than the I/O operation itself.

      The I/O interrupt processing time can be reduced to an
acceptable amount by the following method:
      o    Set a known instruction stream into simulated main storage
at a known address (this will be referred to as the "I/O Interrupt
Instructions") (see the figure).
      o    Set the simulated "I/O New Program Status Word (PSW)" to
the address of the I/O Interrupt Instructions (see the figure).
      o    Add code to the simulator to check the address of the
instruction currently being executed.  This code must execute at the
beginning of each simulated machine cycle....