
#### Статические методы обработки условных переходов.

**Задержанный/отложенный переход** - инструкция, след. после перехода (из слота задержки перехода) исполняется независимо от того, произошел переход или нет (введена частью ISA).

##### Предположение, что переход никогда не происходит.
Продолжается выполнение инструкций, начиная с инструкции, след. за инструкцией перехода, но состояние машины не меняется до тех пор, пока рез-тат перехода точно не определен. Если переход не произошел - состояние сохраняется, если произошел - рез-таты отбрасываются, фактически произошел простой.

###### Пример
Переход не произошел, нет простоя:

| Program | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| :-- | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: |
| I (untaken branch instruction) | IF | ID | EX | MEM | WB |  |  |  |  |
| I+1 |  | IF | ID | EX | MEM | WB |  |  |  |
| I+2 |  |  | IF | ID | EX | MEM | WB |  |  |
| I+3 |  |  |  | IF | ID | EX | MEM | WB |  |
| I+4 |  |  |  |  | IF | ID | EX | MEM | WB |

Переход произошел, простой:

| Program | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| :--------------------------- | :-: | :-: | :--: | :--: | :--: | :--: | :-: | :-: | :-: |
| I (taken branch instruction) | IF  | ID  | EX   | MEM  | WB   |      |     |     |     |
| I+1                          |     | IF  | - | - | - | - |     |     |     |
| Branch target                |     |     | IF   | ID   | EX   | MEM  | WB  |     |     |
| Branch target +1             |     |     |      | IF   | ID   | EX   | MEM | WB  |     |
| Branch target +2             |     |     |      |      | IF   | ID   | EX  | MEM | WB  |

##### Предположение, что переход всегда происходит.
Продолжается выполнение инструкций, начиная с места перехода, ...
Труднее реализовать, чем предыдущий вариант.


