Therefore, no two operations that depend on each other can be performed in parallel. For correct execution, it is required to satisfy the following:
- The operation of the fetch stage must not depend on the operation performed during the same clock cycle by the execution stage.
- The operation of fetching an instruction must be independent of the execution results of the previous instruction.
- The dependency of data arises when the destination of one instruction is used as a source in a subsequent instruction.