Browse Prior Art Database

MULTIWAY EXCHANGE INSTRUCTION

IP.com Disclosure Number: IPCOM000005771D
Original Publication Date: 1989-Aug-01
Included in the Prior Art Database: 2001-Nov-05
Document File: 2 page(s) / 103K

Publishing Venue

Motorola

Related People

Yoav Talgam: AUTHOR

Abstract

Often the status or the operation mode of acomputercan be examined or set viadedicated control registers. These registers logically and physically,group and protect related status and control flags. In many cases, a new setting of operational modes may depend on the previous state, or the previous state may need to be restored after a temporary mode change. Hence it is quite common to read a control register, process, it, and restore it.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 50% of the total text.

Page 1 of 2

0 M

MOTOROLA Technical Developments Volume 9 August 1989

MULTIWAY EXCHANGE INSTRUCTION

by Yoav Talgam

   Often the status or the operation mode of acomputercan be examined or set viadedicated control registers. These registers logically and physically,group and protect related status and control flags. In many cases, a new setting of operational modes may depend on the previous state, or the previous state may need to be restored after a temporary mode change. Hence it is quite common to read a control register, process, it, and restore it.

   A common situation requiring control register access is interruption handling, where supervisor code, dis- associated from the application being executed on the computer at the time of the interruption, is invoked to service an external, time critical request. Physical l/O requests are typical examples. Control registers often hold information identifying the particular request and requestor. This information must be processed as rapid- ly as possible to minimize the impact on the application and to increase the number of time-critical tasks a single computer can support. To that end, the control register contents are often transferred to some general purpose register for processing, and restored from there.

   However, since the supervisor code handling the interruption is not associated with the application that happened to be executing while the interruption was received, that code has no knowledge of the contents of the general purpose registers. Hence the supervisor code must save the application general purpose register contents before it destroys it, then restore that register. Unfortunately, this must be done even for very high priority, non-reentrant interruptions.

   One could reserve one or more general purpose registers just for non-nested interruption handlers to avoid the time required by this save and restore process. However, this would penalize all applications by denying them valuable resources. Alternatively, one could save the general purpose register at the same time it accesses the control register information by exchanging the two, later restoring both by another exchange. One advan- tage of this process is that by avoiding the...