[#] [Перевод] Вопрос: действительно ли программное обеспечение использует новые наборы инструкций?
habrabot(difrex,1) — All
2017-11-30 14:00:08


Со временем вендоры [добавляли новые и новые инструкции][1] в процессоры, управляющие нашими ноутбуками, серверами, телефонами и многими другими устройствами. Добавление машинных инструкций, решающих конкретные вычислительные подзадачи, является хорошим способом улучшить производительность системы в целом, не усложняя конвейер и не пытаясь нарастить частоту до запредельных величин. Одна новая инструкция, выполняющая ту же операцию, что и несколько старых, позволяет неоднократно увеличить производительность решения заданной задачи.
Новые инструкций, такие как [Intel Software Guard Extensions (Intel SGX)][2] и [Intel Control-flow Enforcement Technology (Intel CET)][3], также способны предоставить абсолютно новую функциональность.

![][4]

Хороший вопрос заключается в том, как скоро новые инструкции, добавленные в архитектуру, достигают конечного пользователя. **Могут ли операционные системы и другие приложения воспользоваться новыми инструкциями**, принимая во внимание, что они, как правило, обеспечивают обратную совместимость и способность исполняться независимо от модели установленного процессора? Много лет назад использование новых инструкций достигалось с помощью пересборки программы под новую архитектуру и добавления проверок, предотвращающих запуск на старой аппаратуре и печатающих что-то вроде “sorry, this program is not supported on this hardware”.

Я воспользовался полноплатформенным симулятором [Wind River Simics][5], чтобы узнать, в какой степени современное программное обеспечение способно использовать новые инструкции, оставаясь при этом совместимым со старым оборудованием.
[Читать дальше →][6]

[1]: https://en.wikipedia.org/wiki/X86_instruction_listings
[2]: https://habrahabr.ru/company/intel/blog/312002/
[3]: https://habrahabr.ru/company/eset/blog/303086/
[4]: https://habrastorage.org/webt/pe/0g/bo/pe0gbovlwuiycx-kappcb5zafsg.jpeg
[5]: https://habrahabr.ru/company/intel/blog/280838/
[6]: https://habrahabr.ru/post/342282/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut