- •1. Risc-идеология. История, основные принципы, тенденция развития, "пострисковые" архитектуры: концепции vliw и epic.
- •2. Понятие конвейера. "Жадная" стратегия. Понятие mal в теории конвейера. Лемма для статических конвейеров. Введение задержек для увеличения производительности
- •“Терпеливая” стратегия: таблица занятости для последовательности операций в
- •Модифицированная диаграмма состояний для тз операции в:
- •3, 4. Архитектура кэш-памяти.
- •3. Архитектура кэш-памяти. Ассоциативное распределение информации в кэш-памяти.
- •4. Прямое распределение (отображение) информации в кэш-памяти.
- •5. Raid массивы. Уровни raid (0,1,5,6). Сравнение: оценки надежности, производительность, эффективность использования дискового пространства.
- •Уровни raid:
- •6. Векторные процессоры: структура аппаратных средств. Примеры.
- •Smp архитектура. Достоинства, недостатки. Проблема масштабируемости. Области применения. Примеры.
- •Mpp архитектура. История развития. Основные принципы. Концепция, архитектура, характеристики суперкомпьютера Intel Paragon.
- •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, между инициациями которых минимизирует среднюю латентность. Таблица занятости:
“Жадная стратегия” - стратегия, которая всегда между 2мя инициациями вводит мин. возможную в текущий момент времени латентность. Не является оптимальной.
L = <3,8> - цикл латентности по “жадной” стратегии (т.е. L=3, L=8, L=3….). Lср = 5.5