Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

АРХИТЕКТУРА 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 просматривают исходный код с целью поиска команд, использующих данные из памяти. Найдя такую команду, компилятор добавляет еще две команды – команды предварительной загрузки и команду проверки загрузки. Во время выполнения программы, первая из команд загружает данные в память до того, как они понадобятся программе. Вторая команда проверяет, успешно ли прошла загрузка, перед тем как разрешить программе использовать эти данные.

Предварительная загрузка позволяет уменьшить потери производительности из-за задержек при доступе к памяти, а также повысить параллелизм.

Выводы:

1) Вся работа по оптимизации потока команд возложена на компилятор. Программа, скомпилированная для одного поколения процессоров архитектуры АИ-64, без перекомпиляции не смогут эффективно использоваться в следующих поколениях.

2) Следствием увеличения размера кода будет большее время, необходимое для компиляции, что потребует дополнительных усилий по разработке программных продуктов.

Вопрос 25-26. Основные классы современных параллельных компьютеров. NUMA, PVP, кластеры. Основные классы современных параллельных компьютеров. MPP, SMP

Основным параметром классификации параллельных компьютеров является наличие общей (SMP) или распределенной памяти (MPP). Нечто среднее между SMP и MPP представляют собой NUMA-архитектуры, где память физически распределена, но логически общедоступна. Кластерные системы являются более дешевым вариантом MPP. При поддержке команд обработки векторных данных говорят о векторно-конвейерных процессорах, которые, в свою очередь могут объединяться в PVP-системы с использованием общей или распределенной памяти. Все большую популярность приобретают идеи комбинирования различных архитектур в одной системе и построения неоднородных систем.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.