ru
язык
смартфоны SoC процессоры видеокарты игры
українська русский
Архив | ПроцессорТехнологии и инструкции, используемые в процессорах → AVX (Advanced Vector Extensions)
Статья в последний раз корректировалась 2016.11.08 и могла потерять свою актуальность !!!

AVX (Advanced Vector Extensions)

08.11.2016 г.

AVX (Advanced Vector Extensions) - расширение системы команд процессора, разработанное компанией Intel в 2008 году, которое, как и SSE, SSE2, SSE3, SSSE3, SSE4, стало дальнейшим развитием технологий SIMD (Single Instruction - Multiple Data, то есть "одна инструкция - множество данных").

На практике расширение AVX впервые было использовано в 2011 году в процессорах с архитектурой Sandy Bridge (Intel), а также Bulldozer (AMD), и внесло в их работу значительные усовершенствования.

В частности:


• в 2 раза были увеличены регистры SIMD (со 128 до 256 бит), а также добавлен набор дополнительных 256-битных инструкций, выполняемых в этих регистрах. При этом, сохранилась поддержка существующих 128-битных SSE-инструкций процессора, которые теперь использовали только первую половину новых 256-битных регистров.

Благодаря расширению регистров, процессор с поддержкой AVX за каждый такт может обрабатывать до 2 раз больше информации в интенсивных вычислениях с плавающей точкой, в частности, в разного рода мультимедийных программах (работа с фото-, видеоконтентом), а также при решении научных задач. В случаях, когда возможна более высокая степень параллелизма, AVX увеличивает производительность с вещественными числами.

Но для этого, кроме поддержки AVX процессором, требуется также использование соответствующей операционной системы и адаптированного программного обеспечения. В Windows поддержка AVX появилась, только в Windows 7 SP1.

• инструкции AVX вместо двухоперандного используют так называемый "неразрушающий" трёхоперандный синтаксис. Что это значит? Процессор вместо A=A+B работает по схеме A+B=C, благодаря чему после операции регистр A остается неизмененным и может быть использован в дальнейших вычислениях. Как следствие, отпадает необходимость сохранять регистр A (если он нужен в дальнейшем) перед вычислением и восстанавливать его по завершению вычисления из другого регистра или памяти. Это позитивно сказывается на быстродействии процессора.

• для инструкций AVX отсутствуют строгие требования, касающиеся выравнивания операндов в памяти, что несколько облегчает работу программистов. Однако, при разработке приложений, используемых эти инструкции, все же рекомендуется следить за выравниванием на размер операнда во избежание снижения производительности.

• в AVX введена новая схема кодирования инструкций процессора (VEX), предоставившая возможность в перспективе вводить новые команды AVX (что важно для дальнейшего развития SIMD).





вверх