Архитектура VLIW / EPIC Подстригайло Алена, 12221.

Презентация:



Advertisements
Похожие презентации
Введение в параллельную обработку. Уровни параллелизма в процессорах Параллелизм данных (DLP – Data Level Parallelism) Параллелизм команд (ILP – Instruction.
Advertisements

Архитектура VLIW / EPIC. Классификация архитектур Скалярные С параллелизмом на уровне команд (ILP) СуперскалярныеVLIW / EPIC RISCCISC Itanium2 Эльбрус.
EPIC: Explicitly Parallel Instruction Computing (IA 64 )
Архитектура микропроцессоров И ее эволюция. Процессор и память: Команды и данные.
EPIC: Explicitly Parallel Instruction Computing (IA 64 )
МИКРОПРОЦЕССОРЫ С ЭЛЕМЕНТАМИ АРХИТЕКТУРЫ IA-64 Курсовая работа Желинского А.Н.
Типы компьютеров Complex Instruction Set Computer (CISC) – компьютер со сложным (полным) набором команд. Reduced Instruction Set Computer (RISC) – компьютер.
Современные микропроцессоры Тенденции развития. Рассматриваемые процессоры Intel Itanium 2 Intel Core 2 Duo IBM Cell.
Архитектуры с параллелизмом на уровне команд. Два класса Суперскалярные процессоры Процессоры с длинным командным словом.
Архитектуры с параллелизмом на уровне команд. Два класса Суперскалярные процессоры Процессоры с длинным командным словом.
Оптимальное планирование инструкций для процессоров семейства IA-64 с использованием алгоритма A* Дипломная работа студента 545 группы Галанова Сергей.
Организация ЭВМ и систем Кафедра Параллельных вычислений (ИВМиМГ) Маркова Валентина Петровна, Киреев Сергей Евгеньевич,
Учебный курс Архитектура ЭВМ и язык ассемблера Лекция 9 заместитель министра связи и массовых коммуникаций РФ, старший преподаватель Северов Дмитрий Станиславович.
Архитектура современных ЭВМ Кафедра Параллельных вычислений (ИВМиМГ) Кафедра Параллельных вычислительных технологий Маркова Валентина Петровна,
CISC vs RISC Сложное против простого. Особенности CISC Множество команд для выполнения разнообразных операций Различное время на дешифрацию и выполнение.
МультиТредовые архитектуры.
Архитектура ЭВМ (лекция 7) проф. Петрова И.Ю. Курс Информатики.
Тема 2. Способы адресации и система команд МП. Непосредственная адресация Суть способа. Требуемые данные (#data ̶ непосредственный операнд, константа)
RISC-архитектуры ( Reduced Instruction Set Computer)
Прерывания Определение прерывания Прерывания представляют собой механизм, позволяющий координировать параллельное функционирование отдельных устройств.
Транксрипт:

Архитектура VLIW / EPIC Подстригайло Алена, 12221

Классификация архитектур Скалярные С параллелизмом на уровне команд (ILP) СуперскалярныеVLIW / EPIC RISCCISC Itanium2 Эльбрус 2000 Alpha Power, PowerPC SPARC MIPS x86 x86-64

Параллелизм на уровне команд (Instruction Level Parallelism) ILP-процессоры Имеют несколько исполнительных устройств Могут исполнять несколько команд одновременно Суперскалярные процессоры Процессор сам распределяет ресурсы VLIW / EPIC-процессоры Very Long Instruction Word / Explicitly Parallel Instruction Computing Компилятор распределяет ресурсы процессора

Архитектура VLIW / EPIC На входе - последовательность больших команд, состоящих из нескольких простых операций, которые могут исполняться параллельно. Преимущества перед суперскалярами: –Меньше места на процессоре тратится на управление, больше остается на ресурсы: регистры, исполнительные устройства, кэш-память. –Более тщательное планирование дает лучшее заполнение исполнительных устройств (больше команд за такт). Недостатки: –Долгое время планирования потока команд. –Невозможность учесть динамику исполнения программы.

Superscalar VS VLIW/EPIC Задачи управления: Параллельное исполнение команд Нужно найти независимые команды –SS: Независимые команды ищет процессор –EPIC: Независимые команды ищет компилятор Спекулятивное исполнение команд Нужно заранее угадать, выполнится ли переход –SS: Процессор автоматически предсказывает переход –EPIC: Компилятор подсказывает процессору, как поступить

Superscalar VS VLIW/EPIC Задачи управления: Спекулятивная загрузка данных Нужно проверить корректность преждевременной загрузки данных –SS: Процессор автоматически проверяет корректность –EPIC: Компилятор использует специальную команду проверки Размещение данных на регистрах Нужно оптимально использовать регистры процессора –SS: Процессор автоматически отображает программные регистры на аппаратные и управляет стеком регистров –EPIC: Компилятор размещает данные на аппаратных регистрах и управляет стеком регистров с помощью специальных команд

Superscalar VS VLIW/EPIC Superscalar: –Простой компилятор, процессор планирует поток команд –Меньше команд за такт: 3, 4, 5 (в среднем < 50%) –Сложный исполнительный конвейер VLIW/EPIC: –Сложный компилятор планирует поток команд –Больше команд за такт: 6, 8,..,23 (в среднем > 50%) –Простой исполнительный конвейер

Преимущества и недостатки VLIW Упрощает архитектуру процессора, перекладывая задачу распределения вычислительных устройств на компилятор Снижается энергопотребление за счет отсутствия больших сложных узлов Код для VLIW обладает невысокой плотностью: большое количество пустых инструкций для простаивающих устройств Сложные внутренние зависимости кода усложняют программирование на уровне машинных кодов, приходится полагаться на оптимизацию компилятора Наборы инструкций VLIW не являются обратно совместимыми между различными поколениями процессоров. Задержки загрузки данных из иерархии памяти (кэшей, DRAM) не являются полностью предсказуемыми. Из-за этого статическое планирование инструкций загрузки и использования данных становятся крайне сложными.

Реализации VLIW –Cydrome ( ) Cydra-5: 256 bit VLIW (7 ops.), reg. rotation., sw. pipeline –МВК Эльбрус 3 ( ) –NXP Semiconductors TriMedia (1987, 1997, …): VLIW / DSP, 5-8 ops., 256x128 bit regs, 45 FUs –Texas Instruments C6000: VLIW / DSP –Transmeta Crusoe: VLIW, слой двоичной совместимости с архитектурой x86 –Tilera –AMD/ATI Radeon C R600 до поколения Southern Islands (Radeon HD 7700 и далее)

EPIC – эволюция VLIW 1997 г. Intel Itanium (HP-Intel) Каждая группа (bundle) инструкций может иметь стоповый бит, обозначающий, что следующая группа зависит от результатов работы данной. Информация о зависимостях вычисляется компилятором, и поэтому аппаратуре не придется проводить дополнительную проверку независимости операндов. Инструкции программной подкачки данных. Предподкачка увеличивает вероятность того, что к моменту исполнения команды загрузки, данные уже будут в кеше. Также, в этой инструкции могут быть дополнительные указания для выбора различных уровней кеша для данных.

EPIC – эволюция VLIW Инструкция спекулятивной загрузки используется для загрузки данных до того, как станет известно, будут ли они использованы или изменены перед использованием Инструкции проверки загрузки проверяют, зависела ли инструкция загрузки от последующей записи. В случае наличия подобной зависимости, спекулятивная загрузка должна быть повторена.

Архитектура Itanium (IA-64) Явный ILP (параллелизм на уровне команд) –Компилятор объединяет команды процессора в связки, которые могут быть выполнены параллельно, –Процессор обеспечивает большое число ресурсов для реализации ILP. Способы увеличения ILP –Явная спекуляция по данным и управлению (уменьшает задержки по памяти), –Предикатное исполнение команд (устраняет ветвления), –Аппаратная поддержка программной конвейеризации циклов, –Предсказание ветвлений. Специальные способы увеличения производительности программ –Специальная поддержка модульности программ (регистровый стек, вращающиеся регистры), –Высокопроизводительная вещественная арифметика, –Специальные векторные инструкции.

Особенности процессоров архитектуры Itanium Простой широкий конвейер –Много команд за такт (до 6) Большие вычислительные ресурсы –Много исполнительных устройств (11) –Большой объем (до 12 MB) кэш-памяти –Большое число регистров (264)

Вращение регистров Верхние 75% регистров вращающиеся: целочисленные: r32 – r127 вещественные: f32 – f127 предикатные: p16 – p63 При выполнении специальной команды перехода (в цикле) вращающиеся регистры сдвигаются вправо на один: Используется при программной конвейеризации циклов.

Стек регистров Для автоматического сохранения/восстановления регистров в памяти при «переполнении/переизбытке» стека работает аппаратура RSE (Register Stack Engine). Она приостанавливает выполнение команд, ждущих соответствующие регистры. При вызове подпрограмм и возврате происходит сдвиг регистрового окна – целочисленные регистры работают как стек.

Средства повышения производительности в IA-64 Предикатное исполнение команд –Позволяет зависимости по управлению (т.е. условные переходы) преобразовать в зависимости по данным. Аппаратные счетчики циклов –По специальной команде перехода счетчики автоматически уменьшаются и делается проверка на выход из цикла –Можно не задействовать регистры общего назначения. Спекуляция по данным и управлению –Команды загрузки могут выполняться до того, как обнаружится, что это действительно нужно Регистровый стек, RSE Аппаратная поддержка программной конвейеризации циклов –Выполняется с помощью: Предикатных регистров Аппаратных счетчиков цикла Вращающихся регистров Специальных команд перехода

Семейство процессоров Itanium 2001 – Itanium (Merced): 800 MHz, 4 MB L3 cache, 180 nm 2002 – Itanium2 (McKinley): 1 GHz, 3 MB L3 cache, 180 nm 2003 – Itanium2 (Madison): 1.5 GHz, 6 MB L3 cache, 130 nm 2006 – Itanium2 (Montecito): 1.66 GHz, 2×12 MB L3 cache, 2 cores, HyperThreading, 90 nm 2010 – Itanium 9300 (Tukwila): 1.73 GHz, 24 MB L3 cache, 4 cores, HyperThreading, 65 nm 2012 – Itanium 9500 (Poulson): 2.53 GHz, 32 MB L3 cache, 8 cores, HyperThreading, 32 nm 2014 – Itanium Kittson

Спасибо за внимание