Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Применяют ли в наше время инструкции SSE и SSE2 или это пережиток прошлого и в них мало чего полезного?

ФермаКактусов Высший разум (189819), открыт 3 дня назад
4 ответа
John G. Wild Оракул (97976) 3 дня назад
Не исключено, что более поздние версии содержат все ранние.
Это как Direct X.
бабуин гибонович Просветленный (39716) 3 дня назад
Инструкции SSE (Streaming SIMD Extensions) и SSE2 (Streaming SIMD Extensions 2) активно применяются и в современном программном обеспечении. Эти инструкции, изначально введенные Intel в конце 1990-х и начале 2000-х годов, предоставляют набор команд для выполнения параллельных операций на нескольких данных одновременно (SIMD - Single Instruction, Multiple Data). Несмотря на появление более современных наборов инструкций, таких как AVX (Advanced Vector Extensions) и AVX2, SSE и SSE2 продолжают оставаться важными по нескольким причинам:

1. **Совместимость**: SSE и SSE2 поддерживаются практически всеми процессорами x86 и x86-64, выпущенными за последние 20 лет. Это делает их идеальными для написания кода, который должен быть совместим с широким спектром аппаратного обеспечения.

2. **Библиотеки и компиляторы**: Множество библиотек и программных пакетов используют эти инструкции для оптимизации своих вычислений. Кроме того, современные компиляторы по умолчанию включают оптимизации с использованием SSE и SSE2.

3. **Производительность**: В ряде случаев, особенно когда не требуется очень высокая степень параллелизма, производительность инструкций SSE и SSE2 может быть сопоставима с более новыми наборами инструкций.

4. **Обратная совместимость**: Программы, написанные с использованием SSE и SSE2, могут работать на более современных процессорах, поддерживающих AVX и AVX2, что обеспечивает плавный переход и совместимость старого кода с новыми системами.

Таким образом, инструкции SSE и SSE2 остаются актуальными и полезными, особенно в контексте обеспечения совместимости и использования в широком спектре приложений.
Jurijus Zaksas Искусственный Интеллект (431589) 3 дня назад
По большому счету только сейчас они и стали широко применяться. Потому что когда они появились, все тупо компилировалось под 80186, не производительности для, а совместимости ради. "Include 80386 instructions" - это была такая страшная птичка, которую лучше было не отмечать, потому что в мире, где уже были первые и даже вторые пни, куча народа до сих пор работала на 286. Аппаратное ускорение вычислений с плавающей точкой? Не-не-не, лучше не рисковать, пусть в 50 раз медленнее, зато надежно. Дикие времена были...
А теперь, когда древнее железо окончательно умерло, а всякий там байткод, наоборот, обрел популярность и потребовал оптимизаций массово - все эти инструкции как раз и понадобились.
Похожие вопросы