Browse Prior Art Database

Interrupt Sharing

IP.com Disclosure Number: IPCOM000034435D
Original Publication Date: 1989-Feb-01
Included in the Prior Art Database: 2005-Jan-27
Document File: 4 page(s) / 19K

Publishing Venue

IBM

Related People

Bealkowski, R: AUTHOR [+9]

Abstract

This article describes a technique for use in a personal computer system that provides for the introduction of level-sensitive interrupts which allows sharing of the hardware interrupt lines. Typically, a majority of resources on a personal computer planner board are allocated for use. This is the situation with regard to interrupts. In a system where there are 15 interrupt levels available and four are reserved for system use, the other 11 are available for use on the I/O Channel. Of the 11 interrupts available on the I/O channel, eight of these are allocated. If they are used on the I/O channel in conjunction with their assigned use, interrupt sharing must be implemented; otherwise, lost interrupts or a hung system may occur. In other instances, the same interrupt is allocated to several different attachments.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 29% of the total text.

Page 1 of 4

Interrupt Sharing

This article describes a technique for use in a personal computer system that provides for the introduction of level-sensitive interrupts which allows sharing of the hardware interrupt lines. Typically, a majority of resources on a personal computer planner board are allocated for use. This is the situation with regard to interrupts. In a system where there are 15 interrupt levels available and four are reserved for system use, the other 11 are available for use on the I/O Channel. Of the 11 interrupts available on the I/O channel, eight of these are allocated. If they are used on the I/O channel in conjunction with their assigned use, interrupt sharing must be implemented; otherwise, lost interrupts or a hung system may occur. In other instances, the same interrupt is allocated to several different attachments. If any of these attachments resides in the same system, it will not function properly. To account for this, all software must be cognizant of other software and hardware residing in a particular system. This is not feasible, neither economically nor technically. Another solution exists where the interrupt level used is made jumperable. This requires that the user understands what interrupt levels are used by the mixture of attachments residing in a system. Also, the user must select the proper alternate levels by changing jumpers. This would confuse most users, disrupt the service strategy and invariably lead to problems which must be handled by an expert. In the technique disclosed herein in order to remove the number of unique interrupts constraint, the hardware has been enabled for interrupt sharing.

This includes changing the programming of the interrupt controller chip from edge-triggered to level-sensitive. Hardware changes also have been made to accommodate level-sensitive interrupts. For example, feedback of an interrupt pending for diskette has been added to answer the question: "Is this your interrupt?" Likewise, it has become necessary for the software to make corresponding changes. Compatibility BIOS (CBIOS) has been changed to function properly in a level-sensitive environment. Because of its design point of a single- task/single-user environment, CBIOS does not easily allow sharing of interrupts in a multi-tasking environment. Advanced BIOS (ABIOS) is designed to solve many existing problems with CBIOS, one of those is the sharing of hardware interrupt levels. ABIOS has been designed to complement the operation of Control Program/Disk Operating System (CP/DOS). ABIOS has been expanded to meet the objectives of CP/DOS and plug the holes inherent in CBIOS. The major objectives of CP/DOS are to provide the user with the following: Multi-tasking capability Full usage of addressing range PC/DOS application compatibility (bimodal environment) ABIOS has surfaced a concept of logical devices or logical ID) (LID). A LID is an entry in a structure called the common data area (CDA). A LID is composed o...