Definition
A pipeline stall is the behavior in which a pipelined processor temporarily prevents an instruction from advancing in order to handle a hazard condition. In the cited Y86-64 PIPE verification work, stalls are described as occurring when the pipeline deals with a hazard condition, and the STALL design variant specifically makes an instruction stall in the decode stage for up to three cycles when an instruction farther down the pipeline imposes a data hazard.
Role in the STALL pipeline variant
The STALL variant of the PIPE processor uses no data forwarding. Instead of forwarding values from later stages to earlier dependent instructions, it stalls the dependent instruction in the decode stage for up to three cycles whenever a data hazard is imposed by an instruction farther down the pipeline.
This establishes a design tradeoff within the provided PIPE variants: the STALL model resolves data hazards by waiting, while the LF variant adds a forwarding path from the data-memory output to the pipeline register feeding the data-memory input, allowing some load/use hazards to be handled by forwarding rather than by stalling.
Distinction from branch cancellation
The evidence distinguishes stalls from instruction cancellation caused by branch misprediction. For example, the NT and BTFNT branch-prediction variants may cancel up to two instructions when a branch is mispredicted, whereas the STALL variant describes holding an instruction in decode because of a data hazard.
Verification concern: indefinite stalling
Stalls introduce a liveness concern. The verification discussion notes that a pipeline may stall to handle hazards, but safety-style verification alone can still be satisfied by a processor that deadlocks or even by a device that does nothing. Therefore, the report states that liveness must also be verified to show that the processor cannot reach a state where it never makes forward progress, and specifically to show that the pipeline does not stall indefinitely.
Related pipeline-state constraints
The same verification work also discusses pipeline-state restrictions and invariants. Some possible pipeline states are described as unreachable in real operation, such as intra-instruction inconsistencies involving a nop with a regular register identifier, or inter-instruction inconsistencies involving a ret instruction followed by other instructions rather than by at least three bubbles. Such restrictions can be excluded by a verifier only if they are proved invariant: they must hold from reset and be preserved by each processor operation.