Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л7_6Арх_инструкц_СПУ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
141.82 Кб
Скачать

6.8. Наборы инструкций sse4.2

Обработка строк

Эти инструкции выполняют арифметические сравнения между всеми возможными парами полей (64 или 256 сравнений!) из обоих строк, заданных содержимым xmm1 и xmm2/m128. Затем булевые результаты сравнений обрабатываются для получения нужных результатов. Непосредственный аргумент imm8 управляет размером (байтовые или unicode строки, до 16/8 элементов каждая), знаковостью полей (элементов строк), типом сравнения и интерпретацией результатов.

Ими можно производить в строке (области памяти) поиск символов из заданного набора или в заданных диапазонах. Можно сравнивать строки (области памяти) или производить поиск подстрок.

Все они оказывают влияние на флаги процессора: SF устанавливается если в xmm1 не полная строка, ZF — если в xmm2/m128 не полная строка, CF — если результат не нулевой, OF — если младший бит результата не нулевой. Флаги AF и PF сбрасываются.

6.9. Наборы инструкций avx

Advanced Vector Extensions (AVX) — расширение системы команд x86 для микропроцессоров Intel и AMD, предложенное Intel в марте 2008.

AVX предоставляет различные улучшения, новые инструкции и новую схему кодирования машинных кодов.

Улучшения:

  • Размер векторных регистров SIMD увеличивается с 128 (XMM) до 256 бит (регистры YMM0 — YMM15). Существующие 128-битные инструкции будут использовать младшую половину новых YMM регистров. В будущем возможно расширение до 512 или 1024 бит.

  • Неразрушающие операции. Набор инструкций AVX позволяет использовать любую двухоперандную инструкцию XMM в трёхоперандном виде без модификации двух регистров-источников, с отдельным регистром для результата. Например, вместо a = a + b можно использовать c = a + b, при этом регистр a остаётся неизменённым. AVX не поддерживает неразрушающие формы операций над обычными регистрами общего назначения, такими как EAX, но такая поддержка, возможно, будет добавлена в последующих расширениях.

  • Требования выравнивания данных для операндов SIMD в памяти ослаблены.

Новая система кодирования машинных кодов VEX предоставляет новый набор префиксов кода, которые расширяют пространство возможных машинных кодов. Добавлены инструкции с количеством операндов более трёх. Векторные регистры SIMD могут быть больше 128-ми бит.

Новые инструкции:

Также в спецификации AVX описана группа инструкций PCLMUL (Parallel Carry-Less Multiplication, Parallel CLMUL)

Применение:

Подходит для интенсивных вычислений с плавающей точкой в мультимедиа, научных и финансовых задачах. Увеличивает степень параллелизма и пропускную способность в вещественных SIMD вычислениях. Уменьшает давление (нагрузку) на регистры благодаря неразрушающим трёхоперандным операциям.

6.10. Наборы инструкций aes

Расширение системы команд AES (Advanced Encryption Standard) — расширение системы команд x86 для микропроцессоров, предложенное компанией Intel в марте 2008. Целью данного расширения является ускорение приложений, использующий шифрование и дешифрование по алгоритму AES. Сходное расширение PadLock engine существует в микропроцессорах от VIA Technologies.

Контрольные вопросы

  1. Перечислите основные типы наборов инструкций, применяемых в ЭВМ.

  2. Какие наборы инструкций используются при работе с графикой?

  3. Какие инструкции использованы для шифрования данных?

  4. Типы логических команд.

  5. Охарактеризуйте команды переходов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]