1. [Wiki](https://feex.it/wiki/)
2. [Апаратне забезпечення](https://feex.it/wiki/hardware/)
3. [Системи та архітектура](https://feex.it/wiki/hardware/system/)
4. SSSE3

# SSSE3

Архітектурний довідник: Feex

SSSE3, Supplemental Streaming SIMD Extensions 3, додає операції над упакованими цілими числами, такі як перетасування байтів, горизонтальна арифметика та операції зі знаком. Її додаткова літера S відрізняє її від SSE3.

## Що потрібно знати

SSSE3, Supplemental Streaming SIMD Extensions 3, додає операції над упакованими цілими числами, такі як перетасування байтів, горизонтальна арифметика та операції зі знаком. Її додаткова літера S відрізняє її від SSE3.

## Як це працює

PSHUFB вибирає байти за допомогою вектора керування для кожного байта, що робить її корисною для перевпорядкування та невеликих перетворень таблиць. Інші інструкції SSSE3 включають упаковані абсолютні значення, форми множення з додаванням і горизонтальну цілочисельну арифметику. Ширину операндів і правила насичення слід перевіряти для кожної конкретної операції.

## Де це корисно

Кодек або підпрограма обробки тексту можуть використовувати перетасування байтів для реорганізації вхідних даних перед арифметичними операціями. Це не означає, що PSHUFB забезпечує необмежений пошук у довільній пам'яті: її областю пошуку є вихідні дані інструкції та визначені межі доріжки.

## Як перевірити підтримку та активацію

CPUID.01H:ECX біт 9 вказує на SSSE3. Диспетчер середовища виконання повинен перевіряти цей біт перед використанням застарілого шляху SSSE3 і тестувати відповідне додаткове розширення перед вибором ширших кодувань.

Функція SIMD описує інструкції, а не додаткові ядра. Форма інструкції визначає розрядність елементів, знаковість, округлення, вирівнювання та те, які саме смуги взаємодіють. Програмне забезпечення має зберігати стан регістрів ABI та використовувати підтримуване середовище виконання.

## Чого ця функція не гарантує

SSSE3 не містить усіх інструкцій SSE4. Схожі назви не означають, що SSE3 і SSSE3 є взаємозамінними цілями компілятора. Пізніші ширші форми VEX або EVEX мають додаткові вимоги до функціональності.

## Сумісність і продуктивність на практиці

Пізніші назви в сімействі SSE мають окремі біти функцій. Для розгорнутого бінарного файлу перевірте повний мінімальний набір функцій, включно з бібліотеками та кодом запуску. Резервний варіант корисний лише тоді, коли жодна непідтримувана інструкція не виконується до кроку вибору.

## Практичний контрольний список для верифікації

1. Зафіксуйте точну модель процесора або платформи, а також версії використовуваної програми, ОС і середовища виконання. Збережіть точне формулювання фактичної помилки або вимоги.
2. Звіртеся з документацією виробника для цієї точної моделі, потім перевірте фактичні можливості та стан активації в середовищі, де виконується програма.
3. Порівняйте кожну вимогу вибраного двійкового файлу або бекенда. Схожої назви функції, псевдоніма чи загального позначення технології недостатньо.
4. Переконайтеся, що програма вибрала призначену реалізацію. Використовуйте її задокументовані засоби діагностики та підтримуваний резервний варіант, якщо вимоги не виконуються.
5. Вносьте по одній підтримуваній зміні за раз і повторюйте те саме робоче навантаження. Зберігайте оригінальну конфігурацію та можливість відновлення.

## Якщо функція вказана, але програмне забезпечення не може її використати

Почніть із компонента, у якому саме стався збій. База даних обладнання описує зафіксовані можливості; операційна система або гіпервізор можуть надавати інше фактичне середовище. Помилка неприпустимої інструкції також потребує дослідження фактичної інструкції, що викликала збій, і двійкової збірки, оскільки пошкодження даних або непов'язана непідтримувана інструкція можуть викликати схожий симптом.

Встановіть версію програми, драйвера або середовища виконання, яка підтримується для цієї конкретної платформи, і за потреби використовуйте задокументовану постачальником базову або резервну збірку. Оновлення програмного забезпечення не може створити інструкцію, якої немає в процесорі. Зміни у прошивці та політиках безпеки повинні відповідати процедурі виробника системи та плану відновлення, а не загальним рецептам оптимізації.

## Пов'язані функції та корисні відмінності

[SSE3](https://feex.it/wiki/l/uk/hardware/system/sse3/) · [SSE4.1](https://feex.it/wiki/l/uk/hardware/system/sse4-1/) · [AVX2](https://feex.it/wiki/l/uk/hardware/system/avx2/)

## Джерела та межі застосування цього пояснення

[Intel 64 and IA-32 Architectures Software Developer's Manual](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html) · [psABI x86-64: рівні архітектури та мікроархітектури процесора](https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex)

Ці довідкові матеріали визначають архітектурну поведінку та вимоги до програмного забезпечення. Вони не перевіряють незалежно кожне значення функції на сторінці пов'язаної моделі обладнання. Щодо підтримки моделі використовуйте дані виробника на цій сторінці та перевіряйте фактичну конфігурацію системи. Ця стаття не містить бенчмарків, сертифікації чи дат незалежного огляду.

## Пов'язане

Ці сутності пов'язані з цією статтею. Тип вказується для кожного посилання.

[SSE3: Архітектурний довідник](https://feex.it/wiki/l/uk/hardware/system/sse3/)[SSE4.1: Архітектурний довідник](https://feex.it/wiki/l/uk/hardware/system/sse4-1/)[AVX2: Архітектурний довідник](https://feex.it/wiki/l/uk/hardware/system/avx2/)

## Джерела та верифікація

Власник авторських прав: Feex. Дата незалежної перевірки не зафіксована. [Як ми проводимо дослідження](https://feex.it/wiki/research/).

- [Intel 64 and IA-32 Architectures Software Developer's Manual ](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html)· Томи 1 і 2 описують зазначені сімейства інструкцій і CPUID; Том 3 описує стан, сторінкову організацію пам'яті, VMX і засоби захисту. Документація з архітектури не підтверджує підтримку для конкретної моделі.
- [psABI x86-64: рівні архітектури та мікроархітектури процесора ](https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex)· Інтерфейс комп'ютера, архітектура процесора: базова та кумулятивна таблиця функцій v2/v3/v4, перевірки стану ОС і рекомендації щодо розгортання.

## Чи була ця стаття корисною?

Достатньо відповісти "так" або "ні". За бажанням виберіть причину або додайте коротку примітку.

Короткі факти

Стислі відомості про цю сторінку. Характеристики, джерела та повна інформація залишаються в статті.

---

Source: [Canonical Feex Wiki page](https://feex.it/wiki/l/uk/hardware/system/ssse3/)

[Developer guide](https://feex.it/wiki/developers/) | [API policy](https://feex.it/developers/api-policy/) | [Agent guidance](https://feex.it/wiki/llms.txt)
