- •1. Понятие “Архитектура” вс
- •2. Классификация компьютеров
- •3. Оценка производительности вычислительных систем
- •4. Основные параметры и характеристики вычислительных систем.
- •5. Система памяти: классификация, параметры
- •6. Иерархическая организация памяти
- •7. Конвейеризация как способ повышения производительности памяти
- •Конвейерная организация.
- •8. Оперативная память. Организация. Параметры
- •Организация оперативной памяти
- •10. Синхронная dram (sdram)
- •11. Постоянное запоминающее устройство
- •12. Флэш-память: структура, параметры
- •13. Память с ассоциативным доступом.
- •14. Структура кэш-памяти
- •15. Внешняя память. Классификация. Параметры.
- •16. Внешняя память на основе нжмд
- •19. Методы адресации и типы данных
- •20. Организация конвейера процессора и оценка его производительности
- •21. Вопросы бесконфликтной работы конвейера процессора
- •Решение конфликтов по управлению
- •22. Динамическое планирование работы конвейера процессора
- •Решение конфликтов по управлению
- •23. Минимизация конфликтов в конвейере процессора
- •Решение конфликтов по управлению
- •25. Механизм прерывания работы процессора
- •26. Прямой доступ к памяти
22. Динамическое планирование работы конвейера процессора
Возможные конфликты:
структурные (связанные со структурой);
конфликты по данным (результат предыдущей команды влияет на выполнение следующей);
по управлению.
Решение структурных конфликтов:
- стараются уменьшать влияние - приостановка конвейера на 1 такт (pipeline bubble);
- дублирование – 1 шина на ввод, 2-я – на вывод.
Решение конфликтов по данным:
WAR – запись после чтения;
RAW – чтение после записи;
WAW – запись после записи.
1) вводятся дополнительные пути (пути обхода). Результат не записывается в регистр, а идет напрямую в исполнительное устройство. Т. е. в конвейере –1 такт.
2) дублирование – дополнительный набор регистров.
Не все конфликты по данным можно обойти, особенно в архитектурах с расширенным набором команд.
Для решения этих проблем используют методы планирования работы конвейера.
1-й вариант связан с упорядочением команд программными средствами – интерпретатор, компилятор.
2-й вариант – динамическая оптимизация:
обнаружение конфликтов на начальной стадии работы конвейера (при дешифрации команд);
использование буфера команд, т. е. команды анализируются не по одной, а в буфер помещается сразу набор команд, еще не выполненных. В буфере они перестанавливаются т. о., чтобы не было конфликта.
переименование регистров (дублирование). Должен существовать набор регистров, которые могут в процессе работы переименовываться => для выполнения одной команды – 1 набор регистров, а для другой конфликтующей команды – тот же набор, но другими именами.
Решение конфликтов по управлению
Эти конфликты дают наиболее существенные потери:
сброс конвейера (наипростейшее решение), однако это снижает производительность, т. к. в программе часты переходы.
Пути решения:
предсказание переходов;
дублирование вычислений.
Предсказание переходов.
Наиболее часты переходы вперед (60-70%). Переходы часто связаны с циклами. Каждому переходу в программе определяется признак (знак), который определяет, правильно или нет угадан предыдущий переход. С каждым циклом этот признак может ув. или ум. Имея 2-хразрядный признак, удается предсказать до 95% следующий переход.
23. Минимизация конфликтов в конвейере процессора
Решение структурных конфликтов:
- стараются уменьшать влияние - приостановка конвейера на 1 такт (pipeline bubble);
- дублирование – 1 шина на ввод, 2-я – на вывод.
Решение конфликтов по данным:
WAR – запись после чтения;
RAW – чтение после записи;
WAW – запись после записи.
1) вводятся дополнительные пути (пути обхода). Результат не записывается в регистр, а идет напрямую в исполнительное устройство. Т. е. в конвейере –1 такт.
2) дублирование – дополнительный набор регистров.
Не все конфликты по данным можно обойти, особенно в архитектурах с расширенным набором команд. Для решения этих проблем используют методы планирования работы конвейера.
1-й вариант связан с упорядочением команд программными средствами – интерпретатор, компилятор.
2-й вариант – динамическая оптимизация:
обнаружение конфликтов на начальной стадии работы конвейера (при дешифрации команд);
использование буфера команд, т. е. команды анализируются не по одной, а в буфер помещается сразу набор команд, еще не выполненных. В буфере они перестанавливаются т. о., чтобы не было конфликта.
переименование регистров (дублирование). Должен существовать набор регистров, которые могут в процессе работы переименовываться => для выполнения одной команды – 1 набор регистров, а для другой конфликтующей команды – тот же набор, но другими именами.