An instruction window in computer architecture refers to the set of instructions that can be executed out of order in an out-of-order speculative CPU .
In particular, in a conventional design, the instruction window consists of all instructions which are in the re-order buffer (ROB).  In such a processor, any statement within the window statement can be executed when its operands are ready. Out-of-order processors derive from their name because they occur out of order (if operands to a younger instruction are ready for those of an older instruction).
The instruction window: has a finite size, and new instructions can enter the window (usually called Expired dispatch or allocate ) Only When other instructions leave the window (usually called Expired withdraws or commit ). Instructions enter and leave the instruction window in program order, and an instruction can only be completed. Hence, the instruction window can be seen as a sliding window in which the instructions can become out-of-order. All execution is speculative (ie, side-effects are not applied outside the CPU) until it is committed.
This paradigm is also known as a restricted dataflow  because it does not have to be in the window.
The instruction window is distinct from pipelining : instructions in an in-line procedure are not in an instruction window in the conventionally understood sense, because they can not be executed with respect to another. Out-of-order processors are usually built around pipelines, but many of the pipeline stages (eg, front-end fetch instruction and decode stages) are not considered to be part of the window instruction.
- Jump up^ Shen and Lipasti. Modern Processor Design: Fundamentals of Superscalar Processors. McGraw-Hill, 2005.
- Jump up^ Patt et al.,HPS, A New Microarchitecture: Rationale and Introduction. In IEEE International Symposium on Microarchitecture (MICRO), 1985.