- •Глава 9
- •Синхронные линейные конвейеры
- •Метрики эффективности конвейеров
- •Нелинейные конвейеры
- •Конвейер команд
- •Конфликты в конвейере команд
- •Методы решения проблемы условного перехода
- •Предсказание переходов
- •Статическое предсказание переходов
- •Динамическое предсказание переходов
- •Суперконвейерные процессоры
- •Архитектуры с полным и сокращенным набором команд
- •Основные черты risc-архитектуры
- •Регистры в risc-процессорах
- •Преимущества и недостатки risc
- •Суперскалярные процессоры
- •Особенности реализации суперскалярных процессоров
- •Стратегии выдачи и завершения команд
- •Аппаратная поддержка суперскалярных операций
- •Переименование регистров
- •Переупорядочивание команд
- •Контрольные вопросы
Контрольные вопросы
1. В чем суть идеи конвейеризации? В каких случаях в конвейер следует вводить буферные регистры? В каких случаях буферные регистры нужно заменять буферной памятью? Ответы обоснуйте.
2. Определите синхронный конвейер из 8 функциональных блоков, из которых половина блоков работает в полтора раза медленнее других. Задайте конкретные временные параметры элементов конвейера. Рассчитайте значения трех метрик эффективности конвейера.
3. Пусть алгоритм вычисления программного разворота летательного аппарата (ЛА) имеет вид: tetai = (a × vi + b) × vi+ с, vi = vi-1+ ∆vi„ где tetai — программное значение угла тангажа; vi - текущее значение скорости ЛА; vi-1 — предыдущее значение скорости ЛА; ∆vi - текущее приращение скорости ЛА; а, Ь, с — константы. Запрограммируйте этот алгоритм с помощью системы команд семейства Pentium. Составьте диаграмму выполнения своей программы на конвейере с шестью ступенями. Определите случаи структурного риска и объясните возможные пути их разрешения. Зафиксируйте случаи риска по данным и поясните, как они распознаются. Предложите пути их устранения.
4. Модифицируем предыдущий алгоритм следующим образом; tetai = (a × vi + b) × vi+ с, если ∆vi > d, тогда vi = vi-1+ ∆vi,иначе vi = vi-1. Для соответствующей программы опишите случай нарушения ритмичности работы конвейера с шестью ступенями. Охарактеризуйте возможные способы уменьшения задержки конвейера и выберите один из них. Выбор обоснуйте.
5. В чем суть статического предсказания переходов? Сформулируйте достоинства и недостатки известных способов статического предсказания переходов.
6. В чем заключается смысл динамического предсказания переходов? Дайте развернутую характеристику достоинств к недостатков известных способов динамического предсказания переходов. Из каких соображений следует выбирать конкретную схему динамического предсказания? От чего зависит выбор?
7. Поясните идею суперконвейера. В чем заключаются достоинства и недостатки суперконвейеризации?
8. Поясните достоинства и недостатки ВМ с полным набором команд. Какие исторические причины привели к их возникновению?
9. Какие исторические причины способствовали появлению ВМ с сокращенным набором команд?
10. Перечислите основные характеристики ВМ с сокращенным набором команд.Опишите возможности совместного использования в одной ВМ CISC-архитектуры и RISC-архитектуры.
12. Для чего вводится механизм регистровых окон? Поясните структуру окна. Ради какой цели окна организуются в виде .циклического буфера?
13. Обоснуйте основные недостатки ВМ с сокращенным набором команд.
14. Дайте развернутую характеристику назначения и структурной организации суперскалярного процессора. Какие уровни параллелизма здесь используются?
15. На конкретных примерах поясните суть проблемы неупорядоченности команд в суперскалярных процессорах. ,
16. Разработайте структуру конкретного супорскалярного процессора. Задайте несколько программных фрагментов и составьте диаграммы их выполнения для трех методик выдачи и завершения команд.
17. На примере конкретного программного фрагмента поясните суть метода переименования регистров. В чем состоят недостатки этого метода? Как их смягчить?
18. На примере конкретного программного фрагмента поясните смысл метода переупорядочивания команд. В чем заключается разница между централизованным и распределенным окном команд? Проведите сравнительный анализ организации этих окон.
19. Опишите назначение, организацию и порядок работы буфера восстановления последовательности. Для решения каких задач он применяется в современных процессорах?
