- •1. Risc-идеология. История, основные принципы, тенденция развития, «пострисковые» архитектуры: концепции vliw и epic
- •3) Vliw и epic.
- •2. Понятие конвейера. «Жадная» стратегия. Понятие mal в теории конвейера. Лемма для статических конвейеров. Введение задержек для увеличения производительности
- •«Терпеливая» стратегия: таблица занятости для последовательности операций в
- •Модифицированная диаграмма состояний для тз операции в:
- •3, 4. Архитектура кэш-памяти
- •3. Архитектура кэш-памяти. Ассоциативное распределение информации в кэш-памяти
- •4. Прямое распределение (отображение) информации в кэш-памяти
- •5. Raid массивы. Уровни raid (0, 1, 5, 6). Сравнение: оценки надежности, производительность, эффективность использования дискового пространства
- •Уровни raid:
- •6. Векторные процессоры: структура аппаратных средств. Два типа векторных процессоров. Примеры
- •9. Кластерная архитектура. Типы кластерных систем (ha, nlb, htc). Проблемы связи узлов в кластерных системах.
- •10. Основные подходы к организации схд (das, nas, san, cas). Особенности реализации, достоинства и недостатки каждого
2. Понятие конвейера. «Жадная» стратегия. Понятие mal в теории конвейера. Лемма для статических конвейеров. Введение задержек для увеличения производительности
Идея конвейера состоит в том, чтобы сложную операцию разбить на несколько более простых операций, которые могут выполняться параллельно, а после выполнения соединить результаты в один. Конвейеры применяются как при обработке команд, так и в арифметических операциях.
Конвейерная обработка потока команд:
1 |
2 |
3 |
4 |
|
|
… |
|
1 |
2 |
3 |
4 |
|
… |
|
|
1 |
2 |
3 |
4 |
… |
Для ускорения процесса выполнения команды на конвейере N должно ∞
Ограничения: 1) нет возможности разбить на ∞ число ступеней (физически)
2) многоступенчатый конвейер работает неэффективно в случае частого изменения задач.
Идеальный (явный) конвейер реализуем при выполнении следующих условий:
1) Каждое вычисление базовой функции можно разбить на ряд подфункций, и при этом каждая базовая функция независима от другой. 2) Вычисление каждой функции требует одной и той же цепочки подфункций.
3) Подфункции тесно связаны между собой, т.е. выход одной является входом другой.
4) Времена выполнения (вычисления) различных подфункций приблизительно равны.
может быть 1) IFETCH — используется СК и выбирается очередная команда из П 2) DECODE — декодирование команды
3) EAGEN — вычисление адресов операндов в П 4) OPER FETCH1 — выборка 1-го операнда 5) 2-го операнда 6) EXEC — выполнение операции
7) SAVE — сохранение результата
8) END OP — завершение операции (анализ рез-та, модифицирование СК, выработка слово-состояния, проверка и установка флагов, сброс служ. переменных)
Классификация конвейеров:
Однофункциональный — конвейер, способный к вычислению базовой функции только одного типа. Многофункциональный — конвейер, способный к вычислению базовых функций разного типа. Статический тип — если конвейерная система способна лишь относительно редко изменять тип исполняемой функции (например — конвейер в векторных машинах) Динамический тип — если конвейерная система способна часто изменять тип исполняемой функции, вплоть до новой функции на каждом исполнении (например — любой процессор)
Свойство статического конвейера: он должен максимально быстро работать.
Таблица занятости (ТЗ): строки = количество ступеней конвейера. Столбцы = такты синхронизации ступеней конвейера. Инициация (начало) ТЗ наступает тогда, когда начинается вычисление, которое проследует по определенному ею пути. Попытка инициации операций использующих одну и ту же ступень в один и тот же период времени называется столкновением.
Латентность (Latency) — число единиц времени, разделяющих инициации одной или различных таблицы занятости (целое, >= 0). L — временная задержка между 2 событиями. Чем меньше латентность между парами операций, тем быстрее работает конвейер. Вычисление средней L: среднее время выполнения некоторого количества операций делится на количество операций (может быть дробной) Цель стратегии диспетчеризации (управляющей стратегии) — это выработка последовательности моментов времени, в которые должны выполняться инициации или выработка такой последовательности L, между инициациями которых минимизирует среднюю латентность. Таблица занятости:
«Жадная стратегия» — стратегия, которая всегда между двумя инициациями вводит мин. возможную в текущий момент времени латентность. Не является оптимальной.
L = <3,8> — цикл латентности по «жадной» стратегии (т.е. L=3, L=8, L=3….). Lср = 5.5