- •1. Структура эвм. Основные характеристики устройств эвм.
- •5. Система команд эвм общего назначения и направления ее развития.
- •6. Структура цп. Микропрограммирование.
- •1) С жесткой логикой.
- •2) Вертикальный.
- •7. Способы и режимы адресации.
- •10. Преодоление зависимостей по данным.
- •11. Преодоление зависимостей по управлению.
- •12. Контекстное переключение. Способы и средства.
- •13. Основные особенности risc-архитектуры.
- •14. Основные направления развития risc-архитектуры.
- •15. Транспьютер, особенности архитектур вс, использующих транспьютеры.
- •16. Управление процессами в транспьютерах.
- •17. Особенности оккам команд.
- •18. Особенности архитектуры vliw (с очень длинным словом команды).
- •20. Команды в потоковых эвм.
- •21. Машинное представление программ в потоковых вм.
- •22. Особенности cisc-архитектуры (со сложными командами).
- •23. Подсистема памяти. Особенности. Статическое и динамическое распределение памяти.
- •24. Виртуальная память. Принципы организации и управления.
- •25. Управление виртуальной памятью.
- •27. Сегментно-страничная виртуальная память.
- •28. Подсистема памяти в мп x86.
- •29. Сегментная виртуальная память в микропроцессорах (80486).
- •30. Страничное преобразование памяти в процессорах x86
- •31. Буфер ассоциативной памяти (tlb) в мп х86.
- •32. Защита основной памяти. Способы и средства.
- •33. Защита виртуальной памяти.
- •34. Расслоение памяти. Способы и их особенности.
- •35. Сверхбыстродействующая память (сбп). Назначение и основные способы организации.
- •37. Обеспечение целостности информации в эвм и стратегии замены блоков в кэш-памяти.
- •38. Алгоритмы управления заменой в кэш-памяти.
- •39. Подсистема ввода-вывода. Назначение и особенности организации.
- •40. Каналы ввода-вывода, назначение и функции. Прямой доступ к памяти.
- •41. Процессоры ввода-вывода (канальные устройства).
- •42. Интерфейсы. Назначение и особенности.
- •43. Цепочно-магистральный интерфейс.
- •44. Особенности организации выполнения операции в/в в ibm 360(370).
- •45. Параллелизм вычислений. Основные подходы и способы организации.
- •46. Конвейерная обработка в эвм.
- •47. Классификация систем параллельной обработки данных (классификация Флинна).
- •48. Особенности отображения в/в на память и на в/в.
- •Структура псвв с отображением в/в на в/в.
- •49. Параллелизм и конвейеризация.
- •См. Вопросы 45 и 46.
- •50. Динамическое исполнение команд мп.
- •51. Многопроцессорные вычислительные системы.
- •53. Кластерные системы.
- •1. Структура эвм. Основные характеристики устройств эвм.
10. Преодоление зависимостей по данным.
Решение проблемы зависимости по данным возможно за счет оптимального использования регистрового файла процессора, заключающегося в переименовании регистров и переупорядочивания командного потока (перемешивания команд). Один из таких способов рассмотрим на примере метода, получившего название "табло регистров", реализованного в ЭВМ Motorola 880.
В структуру процессора вводится специальный регистр, представляющий "табло регистров", в котором каждому из регистров общего назначения соответствует определенный бит, признак того, что этот регистр используется при выполнении операции. Табло регистров позволяет следить за использованием регистров и за зависимостью по данным. При выполнении очередной команды процессор устанавливает бит, соответствующий используемому регистру. Если следующие команды не используют этот регистр, то процессор имеет возможность выполнить их до того, как завершится предыдущая команда. В противном случае производится переупорядочивание команд программы, т.е. выполняются последующие команды, исполнение которых не зависит от занятых регистров. Такой подход позволяет разрешить проблему "ложных зависимостей".
Решение проблемы "истинных зависимостей", имеющей алгоритмическую природу, возможно только при использовании переупорядочивания команд программы за счет обхода и продвижения данных, которые помогают уменьшить их влияние. Переименование регистров не может совсем исключить возникновение истинных взаимозависимостей. При обходе результаты выполнения одной команды сразу пересылаются следующей, так что часто исключаются задержки на изменение содержимого и повторное его чтение из регистра или памяти. Продвижение данных позволяет процессору выполнить некоторые команды параллельно, немедленно передавая их результаты в другую, которой они не потребуются до более поздней ступени конвейера.
11. Преодоление зависимостей по управлению.
Во многих современных ЭВМ проблема зависимости по управлению решается за счет использования алгоритмов предсказания наиболее вероятного перехода или механизмов динамического прогнозирования ветвления. Этот подход был усовершенствован в так называемом динамическом исполнении кодов программы, реализованном в процессорах фирмы Intel, начиная с модели Pentium Pro, и ряде других.
Обычно компилятор транслирует оператор ветвления в блоки машинного кода, расположенные последовательно в потоке. В зависимости от условий ветвления процессор выполняет один из этих блоков и проскакивает через остальные. Механизм динамического исполнения старается предсказать результат вычисления условия ветвления, анализируя предысторию исполнения блоков кода, и предварительно выполняет предсказанный блок кода. При этом в случае ошибки теряется впустую много тактов работы процессора, что наиболее болезненно проявляется при конвейерной обработке и особенно суперконвейерной организации. Такая организация вычислений осложняет параллельное исполнение кодов программ.
Метод "отмеченных команд" для устранения потерь производительности из-за неправильных предсказаний переходов. Когда компилятор обнаруживает оператор ветвления в исходном коде, он исследует ветвление, определяя стоит ли его "отмечать". Если такое решение принято, компилятор помечает все команды, относящиеся к каждому пути ветвления уникальным идентификатором, называемым предикатом. Когда в процессе выполнения кода программы встречаются "отмеченные ветвления", процессор начинает выполнять все ветви. После того, как будет определена "истинная" ветвь, процессор сохраняет необходимые результаты и сбрасывает остальные.
Не все ветви могут быть отмечены, так как при определенных ситуациях применение этой технологии может привести к тому, что потрачено будет больше времени, чем сэкономлено.
