Все теоритические билеты по Архитектуре ЭВМ в основном были написаны, кроме: 8.4; 13.4; 14.4; 15.4. Задачи будут позже.
34 lines
2.2 KiB
Markdown
34 lines
2.2 KiB
Markdown
|
||
#### Статические методы обработки условных переходов.
|
||
|
||
**Задержанный/отложенный переход** - инструкция, след. после перехода (из слота задержки перехода) исполняется независимо от того, произошел переход или нет (введена частью 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 |
|