Все теоритические билеты по Архитектуре ЭВМ в основном были написаны, кроме: 8.4; 13.4; 14.4; 15.4. Задачи будут позже.
2.2 KiB
2.2 KiB
Статические методы обработки условных переходов.
Задержанный/отложенный переход - инструкция, след. после перехода (из слота задержки перехода) исполняется независимо от того, произошел переход или нет (введена частью ISA).
- Предположение, что переход никогда не происходит.
Продолжается выполнение инструкций, начиная с инструкции, след. за инструкцией перехода, но состояние машины не меняется до тех пор, пока рез-тат перехода точно не определен. Если переход не произошел - состояние сохраняется, если произошел - рез-таты отбрасываются, фактически произошел простой.
- Предположение, что переход всегда происходит.
Продолжается выполнение инструкций, начиная с места перехода, ... Труднее реализовать, чем предыдущий вариант.
Пример: схема предсказания «переход не произойдет»:
Переход не произошел, нет простоя:
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 |
Переход произошел, простой:
I (taken branch instruction) | IF | ID | EX | MEM | WB | ||||
---|---|---|---|---|---|---|---|---|---|
I+1 | IF | Idle | Idle | Idle | idle | ||||
Branch target | IF | ID | EX | MEM | WB | ||||
Branch target +1 | IF | ID | EX | MEM | WB | ||||
Branch target +2 | IF | ID | EX | MEM | WB |