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,13 @@
#### Принцип и цель суперскалярности. Характерные особенности применения.
**Суперскалярность** - выдача более одной команды в такте.
- Различные CPU могут выдавать от 2-х до 8-ми инструкций за такт.
- В простейшем случае за эффективную загрузку CPU отвечает оптимизирующий компилятор.
- Все современные суперскалярные микропроцессоры используют аппаратную логику анализа ILP перед выдачей инструкций.
- Компилятор + аппаратная логика не могут полностью обойти все конфликты RAW, задержки доступа к памяти и обеспечить 100% нагрузку CPU.
- Следствие: фактическое число выданных в такте инструкций колеблется от 0 до макс. возможного для данного CPU.
CPI может быть <1 (самое лучшее CPI = 0.125).
ILP является мерой того, какое множество операций в компьютерной программе может выполняться одновременно.
**Первичное представление суперскалярной архитектуры:** есть память, кэш инструкций, декодер, умеющий выдавать N инструкций за такт, есть функциональные устройства и станции резервации, которые могут выдавать задания на вычислительные устройства. Может быть несколько RS и они могут выдавать задания на несколько устройств. Из регистрового файла можем брать значения для RS. Есть буфер переупорядочивания.

View File

@ -0,0 +1,34 @@
#### Простейшая реализация суперскалярности (x2). Пример.
**Суперскалярный конвейер:** 2 инструкции, 1 FP +1 не только FP
**Требования:**
- Выборка 64-бит/такт
- Декодирование 2-х инструкций/такт
- Много портов для FP регистров, чтобы загружать FP в паре с FP обработкой
| Тип | Стадии конвейера | | | | | | | |
| :-- | :-- | :-- | :-- | :-- | :-- | :-- | :-- | :-- |
| Int instruct | IF | ID | EX | MEM | WB | | | |
| FP instruct | IF | ID | EX | EX | EX | WB | | |
| Int instruct | | IF | ID | EX | MEM | WB | | |
| FP instruct | | IF | ID | EX | EX | EX | WB | |
| Int instruct | | | IF | ID | EX | MEM | WB | |
| FP instruct | | | IF | ID | EX | EX | EX | WB |
**Сложности аппаратной реализации:**
- Следствие ограничений ILP: сложные механизмы предсказания ветвлений и высокий уровень спекулятивности.
- Задержки блоков, планирующих и обрабатывающих множество операций в такте.
- Большое количество портов к регистровому файлу (пропускная способность внутренних шин).
- Обслуживание частого непоследовательного доступа к памяти.
| | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| :-- | :-- | :-- | :-- | :-- | :-- | :-- | :-- |
| LD F6, [R2] | IF | EX | WB | | | | |
| LD F2, [R3] | IF | EX | WB | | | | |
| DMUL F2, F4, F0 | | IF | EX | EX | EX | EX | WB |
| DSUB F6, F2, F8 | | IF | EX | EX | WB | | |
| DDIV F0, F6, F10 | | | IF | | | | EX |
| DADD F8, F2, F6 | | | IF | | EX | EX | WB |
| DMUL F2, F4, F12 | | | | | IF | | ... |

View File

@ -0,0 +1,4 @@
#### Динамическое планирование при суперскалярности.
Есть зависимости между инструкциями, их надо соблюдать.
Когда вы компилируете программу, если вы используете оптимизацию, то выполняете оптимизацию для конкретной модели ЦП. При использовании ДП программа запустится эффективно на разных моделях ЦП.

View File

@ -0,0 +1,2 @@
#### Масштабируемость и перспективы суперскалярности.
???