- •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 набор регистров, а для другой конфликтующей команды – тот же набор, но другими именами.
