Вибір редакції

Почему «железо» пожирает ПО

04 июля, 2017. 04:07
Принято считать, что архитектура набора команд (instruction set architecture, ISA) процессорной платформы x86 устоялась на долгое время. (ISA определяет команды, а также регистры, память и другие ключевые ресурсы.) Однако Intel постоянно изменяет x86 ISA. «Умные» компиляторы скрывают многие из этих изменений, но некоторые из них весьма сложны. В недавней работе исследователя Microsoft Эндрю Баумана ставится вопрос, имеет ли смысл постоянно добавлять к ISA все больше сложных расширений.

Для чего?

Хотя действие закона Мура замедляется, миниатюризация технологических процессов продолжает увеличивать число транзисторов на чипе заданного размера. За последние 20 лет x86-процессоры прошли путь от менее 10 млн. до почти 10 млрд. транзисторов на чипе.

До 2010 г. все время росли и тактовые частоты, и, значит, чипы не только усложнялись, но и работали все быстрее. Однако с 2010 г. прирост тактовой частоты стал минимальным. Так что же делать с добавленными транзисторами?

Ответ Intel главным образом состоял в добавлении к x86 ISA новых функций. Некоторые были очевидными, например, 256-разрядные векторные операции (на очереди 512 разрядов), аппаратный генератор случайных чисел или поддержка HEVC (высокоэффективное кодирование видеосигнала). С 2010 г. компания добавила к x86 ISA больше 200 новых инструкций.

Мотивация Intel — как и остальных игроков рынка — проста: без новых функций у людей нет стимулов покупать новые компьютеры.

RISC против CISC

Однако у стратегии Intel есть и теневая сторона. Она в некотором смысле повторяет войну 1980-х между архитектурами CISC (Complex Instruction Set Computing) и RISC (Reduced Instruction Set Computing) со сложным и сокращенным наборами команд.

Миникомпьютеры, такие как DEC VAX и мэйнфреймы IBM, имели CISC ISA. Когда их разрабатывали, ПО работало намного медленнее аппаратуры, и потому имело смысл закладывать сложные команды в «железо».

ЧИТАТЬ МАТЕРИАЛ
Комментарии: