Files
2025-06-20 12:48:16 +03:00

17 lines
1.3 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.

#### Алгоритм заполнения и использования ВТВ.
- **Адрес есть в ВТВ.**
Берем адрес перехода из буфера. На следующем такте проверяем, выполнился ли переход.
- **Угадали.**
Продолжаем выполнение, убираем запись из буфера.
- **Не угадали.**
Очищаем эту запись в ВТВ и отбрасываем результаты выполнения.
- **В таблице ВТВ не нашли наш адрес.**
Пытаемся спекулятивно выполнить со следующего адреса.
- **Перехода нет**
Продолжаем выполнение и результат сохраняется, запись из буфера убирается.
- **Переход есть.**
Результат отбрасывается, вычисляем новый адрес и на новом такте считываем новый адрес. Информацию о том, что переход состоялся записываем в ВТВ.
Получается конструкция с запоминанием последнего результата выполнения перехода. Штраф ветвления - 2 такта.