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,21 @@
#### Принцип конвейерной обработки инструкций. Определение ступени/стадии конвейера. Ступени конвейера MIPS (пример-иллюстрация).
Конвейерная обработка инструкций - метод реализации CPU, при котором множество операции над несколькими инструкциями перекрываются.
- Конвейер, исполняющий инструкцию, состоит из множества шагов, где на каждом завершается этап обработки инструкции. Каждый шаг называется ступенью конвейера или стадией конвейера.
- Ступени и стадии конвейера соединены линейным образом: инструкции входят с одного конца, проходят по ступеням и выходят на другом конце.
- Конвейеризация не сокращает время выполнения отдельной инструкции.
- **Ступени конвейера MIPS:**
**IF (Instruction Fetch)** - выборка инструкций.
**ID (Instruction Decode)** - декодирование инструкции
**EX (Execution)** - исполнение.
**MEM (MEMory Access)** - обращение к памяти.
**WB (Write Back)** - запись рез-та. Имеется в виду запись в регистр.
![](../data/4.png)
![Ступени конвейера MIPS](../data/3.png)
Число тактов до заполнения = время разгона = число ступеней -1
Время разгона $=4$ такта $\mathrm{CPI}=\frac{9}{5}=1.8$
Идеальное CPI $=1$.

View File

@ -0,0 +1,7 @@
#### Латентность и пропускная способность (+определение).
**Латентность** - время, требуемое для завершения всех шагов по обработке инструкции (время задержки завершения инструкции).
Мин. время задержки завершения инструкции равно числу ступеней конвейера.
Конвейеризация увеличивает пропускную способность CPU.
**Пропускная способность** - среднее число инструкций, завершенных за такт. Величина, обратная СРІ.

View File

@ -0,0 +1,8 @@
#### Упорядоченный конвейер команд (+определение).
Вышеописанный конвейер - упорядоченный.
**Упорядоченный конвейер** - конвейер, где инструкции выполняются в порядке, указанном в исходной программе.
Время перемещения инструкции на один шаг дальше по конвейеру равно 1 такту.
Длительность такта определяется ступенью с наиб. временем обработки.

View File

@ -0,0 +1,17 @@
#### Производительность CPU с конвейером по сравнению с CPU без конвейера.
В идеальном случае (без тактов простоя) происходит завершение $1^{nd}$ инструкции за машинный такт, т.е. идеальное $\mathrm{CPI}=1$.
- **CPU без конвейера:**
Время такта $=1$ нс
4 такта для ALU и переходов. 5 тактов для операций с памятью.
Соотношение ALU:переходы:память $=40: 20: 40$
Среднее время выполнения инструкции без конвейера = время такта $\times$ среднее CPI $=$ $=1 \mathrm{нc} \times((0.4+0.2) \times 4+0.4 \times 5)=1 \mathrm{нc} \times 4.4=4.4 \mathrm{нc}$.
- **СRU с конвейером:**
Время такта $=1$ нс +0.2 нс (за счет конвейеризации)
5 ступеней используются со средним временем выполнения 1.2 нс.
$\mathrm{CPI}=1$
Ускорение $=\frac{\text { время без конвейера }}{\text { время с конвейером }}=\frac{4.4 \mathrm{нc}}{1.2 \mathrm{нc}}=3.7$ раз