Корректировка конспектов лекций (#131)

* Корректировки конспектов лекций

* Корректировка конспекта лекции 5

* Корректировка конспекта лекции 8

* Корректировка конспекта лекции 9

* Корректировка конспекта лекции 10

* Корректировка конспекта лекции 11

* Корректировка конспекта лекции 12

* Корректировка конспекта лекции 13

* Корректировка конспекта лекции 12

* Корректировка конспекта лекции 14

* Корректировка конспекта лекции 16

* Корректировка конспекта лекции 17

* Корректировка конспекта лекции

* Корректировка конспекта лекции 20

* Корректировка конспекта лекции 21

* Корректировка конспекта лекции 22

* Корректировка конспекта лекции 23

* Корректировка конспекта лекции 13

* Корректировка конспекта лекции 12

* Корректировка конспекта лекции 20
This commit is contained in:
markast555
2025-06-22 16:54:22 +03:00
committed by GitHub
parent 773af1088c
commit 469f42e7f5
16 changed files with 116 additions and 111 deletions

View File

@@ -90,7 +90,7 @@
- инструкция вычисления результата условия
- инструкция прыжка в зависимости от результата условия
Таким образом, каждый такой переход накладывает на процессор штраф в одну дополнительную инструкцию. При создании новых процессоров уже невозможно избавиться от этого штрафа через изменение существующей ISA x86 (из-за проблем с обратной совместимостью программ), именно поэтому и был создан данный блок[\4\]](https://arxiv.org/pdf/1607.02318.pdf).
Таким образом, каждый такой переход накладывает на процессор штраф в одну дополнительную инструкцию. При создании новых процессоров уже невозможно избавиться от этого штрафа через изменение существующей ISA x86 (из-за проблем с обратной совместимостью программ), именно поэтому и был создан данный блок[\[4\]](https://arxiv.org/pdf/1607.02318.pdf).
Из **Instruction Queue** выходит 5 макро-инструкций (с учётом того, что две из шести инструкций могли быть объединены), и попадают в **5-Way Decode** (**пятисекционный дешифратор**).
@@ -108,7 +108,7 @@
### Execution Engine
**ReOrder Buffer** получает инструкции и переименовывает используемые ими регистры, чтобы избежать конфликтов (чтение после записи, попытка записи в один регистр и т.д.). Переименовывание означает использование теневых регистров из **RAT - Register Alias Table** (дополнительных регистров), они необходимы для того, чтобы не нарушать порядок записи в одну ячейку и записать результат в теневой регистр. Из блока **ReOrder Buffer** выходят микро инструкции с известными адресами куда они будут сохранены, переименованными регистрами и т.д. Они попадают в **Scheduler Unified Reservation Station**
**ReOrder Buffer** получает инструкции и переименовывает используемые ими регистры, чтобы избежать конфликтов (чтение после записи, попытка записи в один регистр и т.д.). Переименовывание означает использование теневых регистров из **RAT - Register Alias Table** (дополнительных регистров), они необходимы для того, чтобы не нарушать порядок записи в одну ячейку и записать результат в теневой регистр. Из блока **ReOrder Buffer** выходят микро инструкции с известными адресами, куда они будут сохранены, переименованными регистрами и т.д. Они попадают в **Scheduler Unified Reservation Station**
В **Scheduler Unified Reservation Station (планировщик)** происходит диспетчеризация, то есть микро инструкции раздаются на различные порты. **Планировщик** имеет два файла регистров для целых чисел и векторов. Именно в этих файлах регистров хранятся выходные данные операндов. На выходе каждого порта стоят функциональные блоки (**EUs - Execution Units**). Планировщик удерживает микро-операции, пока они ожидают выполнения. Микро-операция может ожидать операнда, который еще не прибыл (например, выбран из памяти или в настоящее время вычисляется из других микро-операций) или потому, что необходимый ему исполнительный блок занят. Как только микро-операция готова, она отправляется через назначенный порт. Планировщик будет отправлять самую старую готовую инструкцию для выполнения на каждом из восьми портов в каждом цикле. Каждый из этих портов выполняет свои задачи - целочисленное ALU, целочисленное деление, векторные операции и т.п. Некоторые из этих блоков подключены к подсистеме памяти (**Memory Subsystem**).
@@ -151,7 +151,7 @@
## Из чего состоит компьютер?
Выйдем на уровень системы. Ранее мы рассматривали только Центральный Процессор (ЦП)**. Сейчас же мы разберём из чего в целом состоит компьютер:
Выйдем на уровень системы. Ранее мы рассматривали только **Центральный Процессор (ЦП)**. Сейчас же мы разберём из чего в целом состоит компьютер:
- **Центральный процессор**
- **Генератор тактовых импульсов**