- •Архитектура
- •27 Экзаменационных вопросов
- •Издание первое
- •Оглавление
- •Вопрос 1. Поколения архитектуры эвм. Основные характеристики.
- •Вопрос 2. Области применения и типы эвм. Классификация по быстродействию и областям применения
- •Вопрос 3. Принципы архитектуры Фон-Неймана.
- •Вопрос 4. Пользовательские регистры. Регистры общего назначения.
- •Вопрос 5. Пользовательские регистры. Сегментные регистры.
- •Вопрос 6. Основные характеристики памяти. Адресная, ассоциативная и стековая организация памяти.
- •Вопрос 7. Ассоциативная организация памяти: регистровая косвенная адресация (базовая и индексная)
- •Вопрос 8. Ассоциативная организация: регистровая косвенная адресация со смещением
- •Вопрос 9. Стековая память
- •Вопрос 10. Динамическая память. Статическая память
- •Вопрос 11. Режимы работы кэш-памяти
- •Вопрос 12. Структура эвм. Назначение и структура процессора
- •Вопрос 13. Системы команд. Классификация процессоров в соответствии с системой команд
- •Вопрос 14. Реальный режим процессора типа интел 8086. Сегмент, граница параграфа, смещение
- •Вопрос 15. Защищенный режим работы процессора. Таблицы дескрипторов
- •Вопрос 16. Виртуальный режим работы процессора типа интел 8086
- •Вопрос 17. Прерывания
- •Вопрос 18. Системы ввода-вывода.
- •Вопрос 19. Классификация процессоров. Cisc, risc, vliw, суперскалярные процессоры, misc.
- •Вопрос 20. Особенности risc архитектуры.
- •Вопрос 21. Параллельная обработка. Конвейерная организация. Типы конфликтов.
- •Вопрос 22. Архитектура суперскалярных процессоров. Предварительная выборка команд и предсказание переходов.
- •Вопрос 23. Архитектура эвм с длинным командным словом.
- •Вопрос 24. Процессор ia-64. Особенности построения и работы архитектура ia-64 (Merced)
- •Вопрос 25-26. Основные классы современных параллельных компьютеров. Numa, pvp, кластеры. Основные классы современных параллельных компьютеров. Mpp, smp
- •Массивно-параллельные системы (mpp)
- •Симметричные мультипроцессорные системы (smp)
- •Системы с неоднородным доступом к памяти (numa)
- •Параллельные векторные системы (pvp)
- •Кластерные системы
- •Вопрос 27. Вычислительные системы, классы архитектур.
Вопрос 24. Процессор ia-64. Особенности построения и работы архитектура ia-64 (Merced)
Merced – кодовое имя первого поколения процессоров Itanium — микропроцессоров с архитектурой IA-64, разработанных совместно компаниями Intel и Hewlett-Packard.
Архитектура появилась в конце 1999 года, является продуктом компании Intel и HP. Радикально отличается от всего, что до сих пор было представлено на рынке. IA-64 – передовая архитектура, использующая длинные командные слова, предикаты команд, устранение ветвлений, предварительную загрузку данных, и прочие методы извлечения большего параллелизма из кода программы.
Компания заявила, что он разрабатывается для серверов и для рабочих станций с высокой производительностью, а не для компьютеров среднего уровня. К началу выпуска Merced (АИ-64), компания Интел перешла на 0,18 – микронную технологию вместо используемой 0,25.
Команды в формате IA-64 упакованы по 3 в 128 битный пакет. Каждый 128 битный пакет содержит шаблон длиной в несколько бит, помещаемый в него компилятором, который указывает процессору, какие команды могут выполняться параллельно. Формат команд IA-64 не имеет ничего общего с х86. Команды х86 могут иметь длину от 8 до 104 бит, и процессор должен последовательно декодировать каждую команду после определения её границ.
Каждая команда (как для целочисленных вычислений, так и для вычислений с плавающей точкой) содержит три 7-битных поля регистра общего назначения (РОН). Из этого следует, что процессоры архитектуры IA-64 содержат 128 целочисленных РОН и 128 регистров для вычислений с плавающей точкой. Все они доступны программисту и являются регистрами с произвольным доступом. По сравнению с процессорами х86, у которых всего восемь целочисленных РОН и стек глубины 8 для вычислений с плавающей точкой, IA-64 намного "шире" и, соответственно, будет намного реже простаивать из-за "нехватки регистров".
Компиляторы используют технологию отмеченных команд (predication). Это устраняет потери из-за неправильно предсказанных переходов, и необходимости пропуска участка кода после ветвления. Когда процессор встречает отмеченное ветвление в процессе выполнения команды, он начинает одновременно выполнять все ветви. После того, как будет определена истинная ветвь, процессор сохраняет необходимые результаты и сбрасывает остальные.
Компиляторы для IA -64 просматривают исходный код с целью поиска команд, использующих данные из памяти. Найдя такую команду, компилятор добавляет еще две команды – команды предварительной загрузки и команду проверки загрузки. Во время выполнения программы, первая из команд загружает данные в память до того, как они понадобятся программе. Вторая команда проверяет, успешно ли прошла загрузка, перед тем как разрешить программе использовать эти данные.
Предварительная загрузка позволяет уменьшить потери производительности из-за задержек при доступе к памяти, а также повысить параллелизм.
Выводы:
-
Вся работа по оптимизации потока команд возложена на компилятор. Программа, скомпилированная для одного поколения процессоров архитектуры АИ-64, без перекомпиляции не смогут эффективно использоваться в следующих поколениях.
-
Следствием увеличения размера кода будет большее время, необходимое для компиляции, что потребует дополнительных усилий по разработке программных продуктов.