Files
Kirill 3a96c27c48 Arch: new
Все теоритические билеты по Архитектуре ЭВМ в основном были написаны,
кроме: 8.4; 13.4; 14.4; 15.4. Задачи будут позже.
2025-01-14 19:40:01 +03:00

34 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#### Статические методы обработки условных переходов.
**Задержанный/отложенный переход** - инструкция, след. после перехода (из слота задержки перехода) исполняется независимо от того, произошел переход или нет (введена частью 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 |