Arch: chore

This commit is contained in:
2025-06-20 12:48:16 +03:00
parent 537c87bc48
commit 970aa9b9e2
27 changed files with 735 additions and 55252 deletions

View File

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