Browse Prior Art Database

Prioritized Instruction Executions

IP.com Disclosure Number: IPCOM000043101D
Original Publication Date: 1984-Jul-01
Included in the Prior Art Database: 2005-Feb-04
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Liu, L: AUTHOR

Abstract

This article describes a scheme that prioritizes instructions and allows certain critical instructions to execute earlier in order to reduce pipeline disruptions and increase utilization of execution units without modifying architecture. An instruction buffer B is provided with the capacity of n instructions, with n = 4, 8 or more depending on the execution capability. Assuming that an instruction I1 precedes another instruction I2 in the input workload, I1 is considered an ancestor of I2; in which case I2 is also called a descendant of I1, if at least one of the following conditions occurs: -An object referenced by I1 is modified by I2 . I2 is a serialization point. The object referred to above can be hardware units, like general- purpose registers, arithmetic registers, condition code registers or memory units, e.g.

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

Page 1 of 1

Prioritized Instruction Executions

This article describes a scheme that prioritizes instructions and allows certain critical instructions to execute earlier in order to reduce pipeline disruptions and increase utilization of execution units without modifying architecture. An instruction buffer B is provided with the capacity of n instructions, with n = 4, 8 or more depending on the execution capability. Assuming that an instruction I1 precedes another instruction I2 in the input workload, I1 is considered an ancestor of I2; in which case I2 is also called a descendant of I1, if at least one of the following conditions occurs: -An object referenced by I1 is modified by I2 . I2 is a serialization point. The object referred to above can be hardware units, like general- purpose registers, arithmetic registers, condition code registers or memory units, e.g., doublewords. A serialization point can be instructions which interrupt execution by nature, like branches or interrupts, or instructions which are difficult to realize without serialization, like multi-memory reference instructions. Among existing instructions in buffer B, priorities are given to serialization points and/or to instructions with descendants in B. The priorities of serialization points may override priorities of non-serialization point instructions. When an instruction is executed, the priorities in B may be updated since more instructions may come into B. When an execution unit is available, an ins...