Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Method of Improving Parallel Port Interrupts in Personal Computers

IP.com Disclosure Number: IPCOM000108463D
Original Publication Date: 1992-Jun-01
Included in the Prior Art Database: 2005-Mar-22
Document File: 5 page(s) / 148K

Publishing Venue

IBM

Related People

Claffey-Cohen, ME: AUTHOR [+2]

Abstract

Described is a method of improving Micro Channel* (MC) functions in personal computers (PCs) parallel port shared interrupt operations. A hardware implementation prevents missing an interrupt if a second interrupt occurs simultaneously as the first interrupt is cleared.

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

Method of Improving Parallel Port Interrupts in Personal Computers

       Described is a method of improving Micro Channel* (MC)
functions in personal computers (PCs) parallel port shared interrupt
operations.  A hardware implementation prevents missing an interrupt
if a second interrupt occurs simultaneously as the first interrupt is
cleared.

      PCs are designed to utilize an input/output read (ioread)
function from either the device status register (DSR) and/or the
interface status register (ISR) to clear parallel port interrupts.
Reading either of the parallel port status registers will clear any
pending interrupts from a remote device connected to the parallel
port. Typically, microcode will read the registers upon encountering
a parallel port interrupt to determine the source of the interrupt.
If upon reading these registers another interrupt were to occur, this
interrupt would also be cleared and would not be detected.  The
concept described herein provides a method which prevents an
interrupt that occurs simultaneously with an ioread from being
cleared.

      An operational example could be a situation where two parallel
ports were used to drive two printers from one PC. Both printers
would use the same interrupt.  If an interrupt is generated from
printer #2, the microcode would detect the interrupt and begin
reading the parallel port registers of parallel port #1 to determine
the source of the interrupt. If at the same time that the microcode
is reading the registers of parallel port #1, printer #1 generates an
interrupt, this interrupt would be cleared by the ioread. The
microcode proceeds to read the parallel port registers of parallel
port #2 to detect the source of the interrupt from printer #2.  As a
result, the interrupt from printer #1 would have gone undetected.

      There are various methods of implementing the clearing of an
interrupt during an ioread.  The concept described herein provides a
solution such that if an interrupt occurs at the same time as a
status port read, the interrupt should not be cleared.  The method
can be utilized in unidirectional parallel port environments.

      The following is a brief description of the signals involved in
the implementation:
     INT_SET - This is a pulse that indicates that an interrupt
occurred.
     INT_RESET_LOGIC - Miscellaneous logic that will res...