Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемАлиса Лимарева
1 Архитектура VLIW / EPIC Подстригайло Алена, 12221
2 Классификация архитектур Скалярные С параллелизмом на уровне команд (ILP) СуперскалярныеVLIW / EPIC RISCCISC Itanium2 Эльбрус 2000 Alpha Power, PowerPC SPARC MIPS x86 x86-64
3 Параллелизм на уровне команд (Instruction Level Parallelism) ILP-процессоры Имеют несколько исполнительных устройств Могут исполнять несколько команд одновременно Суперскалярные процессоры Процессор сам распределяет ресурсы VLIW / EPIC-процессоры Very Long Instruction Word / Explicitly Parallel Instruction Computing Компилятор распределяет ресурсы процессора
4 Архитектура VLIW / EPIC На входе - последовательность больших команд, состоящих из нескольких простых операций, которые могут исполняться параллельно. Преимущества перед суперскалярами: –Меньше места на процессоре тратится на управление, больше остается на ресурсы: регистры, исполнительные устройства, кэш-память. –Более тщательное планирование дает лучшее заполнение исполнительных устройств (больше команд за такт). Недостатки: –Долгое время планирования потока команд. –Невозможность учесть динамику исполнения программы.
5 Superscalar VS VLIW/EPIC Задачи управления: Параллельное исполнение команд Нужно найти независимые команды –SS: Независимые команды ищет процессор –EPIC: Независимые команды ищет компилятор Спекулятивное исполнение команд Нужно заранее угадать, выполнится ли переход –SS: Процессор автоматически предсказывает переход –EPIC: Компилятор подсказывает процессору, как поступить
6 Superscalar VS VLIW/EPIC Задачи управления: Спекулятивная загрузка данных Нужно проверить корректность преждевременной загрузки данных –SS: Процессор автоматически проверяет корректность –EPIC: Компилятор использует специальную команду проверки Размещение данных на регистрах Нужно оптимально использовать регистры процессора –SS: Процессор автоматически отображает программные регистры на аппаратные и управляет стеком регистров –EPIC: Компилятор размещает данные на аппаратных регистрах и управляет стеком регистров с помощью специальных команд
7 Superscalar VS VLIW/EPIC Superscalar: –Простой компилятор, процессор планирует поток команд –Меньше команд за такт: 3, 4, 5 (в среднем < 50%) –Сложный исполнительный конвейер VLIW/EPIC: –Сложный компилятор планирует поток команд –Больше команд за такт: 6, 8,..,23 (в среднем > 50%) –Простой исполнительный конвейер
8 Преимущества и недостатки VLIW Упрощает архитектуру процессора, перекладывая задачу распределения вычислительных устройств на компилятор Снижается энергопотребление за счет отсутствия больших сложных узлов Код для VLIW обладает невысокой плотностью: большое количество пустых инструкций для простаивающих устройств Сложные внутренние зависимости кода усложняют программирование на уровне машинных кодов, приходится полагаться на оптимизацию компилятора Наборы инструкций VLIW не являются обратно совместимыми между различными поколениями процессоров. Задержки загрузки данных из иерархии памяти (кэшей, DRAM) не являются полностью предсказуемыми. Из-за этого статическое планирование инструкций загрузки и использования данных становятся крайне сложными.
9 Реализации 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 и далее)
10 EPIC – эволюция VLIW 1997 г. Intel Itanium (HP-Intel) Каждая группа (bundle) инструкций может иметь стоповый бит, обозначающий, что следующая группа зависит от результатов работы данной. Информация о зависимостях вычисляется компилятором, и поэтому аппаратуре не придется проводить дополнительную проверку независимости операндов. Инструкции программной подкачки данных. Предподкачка увеличивает вероятность того, что к моменту исполнения команды загрузки, данные уже будут в кеше. Также, в этой инструкции могут быть дополнительные указания для выбора различных уровней кеша для данных.
11 EPIC – эволюция VLIW Инструкция спекулятивной загрузки используется для загрузки данных до того, как станет известно, будут ли они использованы или изменены перед использованием Инструкции проверки загрузки проверяют, зависела ли инструкция загрузки от последующей записи. В случае наличия подобной зависимости, спекулятивная загрузка должна быть повторена.
12 Архитектура Itanium (IA-64) Явный ILP (параллелизм на уровне команд) –Компилятор объединяет команды процессора в связки, которые могут быть выполнены параллельно, –Процессор обеспечивает большое число ресурсов для реализации ILP. Способы увеличения ILP –Явная спекуляция по данным и управлению (уменьшает задержки по памяти), –Предикатное исполнение команд (устраняет ветвления), –Аппаратная поддержка программной конвейеризации циклов, –Предсказание ветвлений. Специальные способы увеличения производительности программ –Специальная поддержка модульности программ (регистровый стек, вращающиеся регистры), –Высокопроизводительная вещественная арифметика, –Специальные векторные инструкции.
13 Особенности процессоров архитектуры Itanium Простой широкий конвейер –Много команд за такт (до 6) Большие вычислительные ресурсы –Много исполнительных устройств (11) –Большой объем (до 12 MB) кэш-памяти –Большое число регистров (264)
14 Вращение регистров Верхние 75% регистров вращающиеся: целочисленные: r32 – r127 вещественные: f32 – f127 предикатные: p16 – p63 При выполнении специальной команды перехода (в цикле) вращающиеся регистры сдвигаются вправо на один: Используется при программной конвейеризации циклов.
15 Стек регистров Для автоматического сохранения/восстановления регистров в памяти при «переполнении/переизбытке» стека работает аппаратура RSE (Register Stack Engine). Она приостанавливает выполнение команд, ждущих соответствующие регистры. При вызове подпрограмм и возврате происходит сдвиг регистрового окна – целочисленные регистры работают как стек.
16 Средства повышения производительности в IA-64 Предикатное исполнение команд –Позволяет зависимости по управлению (т.е. условные переходы) преобразовать в зависимости по данным. Аппаратные счетчики циклов –По специальной команде перехода счетчики автоматически уменьшаются и делается проверка на выход из цикла –Можно не задействовать регистры общего назначения. Спекуляция по данным и управлению –Команды загрузки могут выполняться до того, как обнаружится, что это действительно нужно Регистровый стек, RSE Аппаратная поддержка программной конвейеризации циклов –Выполняется с помощью: Предикатных регистров Аппаратных счетчиков цикла Вращающихся регистров Специальных команд перехода
17 Семейство процессоров 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
18 Спасибо за внимание
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.