Arch: new

Все теоритические билеты по Архитектуре ЭВМ в основном были написаны,
кроме: 8.4; 13.4; 14.4; 15.4. Задачи будут позже.
This commit is contained in:
Kirill
2024-12-20 12:10:10 +03:00
committed by Sweetbread
parent 2625f17247
commit 3a96c27c48
80 changed files with 1355 additions and 0 deletions

View File

@ -0,0 +1,7 @@
#### Определение конфликта.
**Конфликт** - такая ситуация в конвейерной обработке, которая препятствует выполнению очередной команды в предназначенном для нее такте.
Конфликт может привести к $\geq 1$ тактам простоя или ожидания (stalls).
Конфликты уменьшают идеальное время конвейера, повышая CPI (CPI $>1$ ).
Приводят к необходимости приостановки выполнения команд. Обычно в простейших конвейерах, если приостанавливается какая-либо команда, то все след. за ней тоже приостанавливаются, не выбирается ни одна новая команда. Команды, предшествующие приостановленной, могут продолжать выполнение.

View File

@ -0,0 +1,11 @@
#### Классификация конфликтов (определения: структурные конфликты, конфликты данных, конфликты управления). Обработка конфликтов.
1) **Структурные конфликты (IF/MEM)**
Возникают из-за недостатка аппаратных ресурсов, когда доступное аппаратное обеспечение не в состоянии поддерживать исполнение всех возможных комбинаций инструкций.
2) **Конфликты данных (RAW, WAW, WAR, RAR)**
Возникают, когда инструкция зависит от рез-та выполнения предыдущей инструкции таким образом, что это проявляется при перекрытии инструкций в конвейере.
3) **Конфликты управления (JMP, J??, CALL, RET)**
Возникают при конвейеризации условных переходов и др. инструкций, которые изменяют IP/PC.

View File

@ -0,0 +1,19 @@
#### Причина возникновения структурных конфликтов. Изменение СРІ из-за структурных конфликтов.
Причиной возникновения структурного конфликта может быть:
a. **Не полностью конвейеризованная структура процессора.**
Некоторые стадии отдельных команд могут выполняться более $1^{го}$ такта. В этом случае последовательные команды, которые используют данное функц. устройство, не могут поступать в него в каждом такте.
b. **Недостаточное дублирование некоторых ресурсов.**
Препятствует выполнению произвольной последовательности команд в конвейере без его приостановки. Например, машина может иметь только 1 порт записи в регистровый файл, но конвейеру может потребоваться выполнить 2 записи в регистровый файл в $1^{ом}$ такте.
с. **Общая память для инструкций и данных, и единственный порт памяти.**
Когда одна команда содержит обращение к памяти за данными, оно будет конфликтовать с выборкой более поздней команды из памяти. Чтобы разрешить эту ситуацию, можно просто приостановить конвейер на 1 такт, когда происходит обращение к памяти за данными. Это конвейерный пузырь.
CPI = идеальное CPI + средн. число тактов простоя на инструкцию.
Но простои из-за разных конфликтов могут накладываться.
В случае с структурным конфликтом при обращении к памяти (простой 1 такт), если обращение к памяти составит 40\% для некоторой программы, то без учета других потерь производительности:
CPI $=(1+0.4) \times$ CPI идеальное
Т.е. CPU без структурного конфликта в 1.4 раза быстрее.