Patent ID: 6662293
Filing Date: 2003-12-09
Classification: G06F

Abstract:
A method for dividing, storing, and updating instruction dependency information, and selecting instructions to be executed in a computer system that supports out-of-order execution of program instructions, comprising:receiving dependency information for a first instruction, the dependency information identifying preceding instructions in an execution stream of a program that need to complete before the first instruction can be executed; dividing the dependency information into a first set and a second set, wherein: the first set identifies the first instruction's dependencies on a block of instructions immediately preceding the first instruction that need to complete before the first instruction can be executed, and the second set identifies the first instruction's dependencies on instructions that are not in the block of instructions immediately preceding the first instruction that need to complete before the first instruction can be executed; whereby dependency information for the first instruction is divided between the first set and the second set; storing the first set of dependency information in a first store; and storing the second set of dependency information in a second store; wherein the first store is smaller and faster than the second store so that an update to dependency information takes less time to propagate through the first store than the second store.