64 бит должно хватить для всего…

64 бит должно хватить для всего... Вице-президент ARM Holdings недавно прокомментировал промелькнувшее в азиатских средствах массовой информации сообщение о том, что его компания занялась разработкой 128-разрядных решений следующим образом: «Мы не работаем над 128-битной архитектурой». Со СМИ много не возьмешь, там часто преувеличивают факты.

К тому же аргументы компании ARM звучат довольно убедительно. 64 бита должны покрыть потребности цифровой индустрии на много лет вперед. Но что если всерьез задуматься над данным вопросом? Есть ли смысл в разработке микропроцессора общего назначения, который способен работать с числами длиной 128 бит?

Честно говоря, на данный момент отсутствует хоть какая-то ощутимая потребность в таком процессоре. Разрядности как класса уже давно не существует для рядового пользователя. Массовые компьютерные технологии все еще существуют в 32-разрядах. Они пока только делают следующий шаг. О том, чтобы прыгать через ступень, речи не идет. За пользователя выбор разрядности осуществляют разработчики операционных систем. В большинстве своем они отдают предпочтение 32-разрядным конструкциям. Примерно в такой же ситуации находятся и программисты. Они уже давно работают с языками высокого уровня и очень редко переходят ниже, к ассемблеру.

Если простые пользователи не видят разрядности, то программисты ее не чувствуют. Об этом позаботился компилятор. По этой причине для большинства девелоперов без проблем пройдет принудительный переход к 64-битам на мобильных устройствах. Таким образом выходит, что нам пока не особо нужны и 64 разряда. О 128 можно даже не заикаться. Но давайте рассмотрим данный вопрос с несколько иной стороны. Прежде всего, необходимо сформулировать, почему разговоры про 64-разрядность в мобильных системах выводят пользователей из себя, а упоминание 128-битных систем вообще кажется пустым трепом.

В чем же виноваты эти самые разряды? Почему нельзя просто взять и поставить их в ПК?
Просто представьте себе, что вдруг появился CPU с регистрами, длина которых составляет 16 байт. Если не считать временных неудобств, связанных с оптимизацией кода для работы с данными большей длины, перекомпиляции существующего ПО и увеличения накладных расходов, имеются два основных раздражающих фактора. Первый состоит в том, что необходимость 64-разрядных систем обусловлена не сколько недостатком производительности, сколько нехваткой оперативной памяти, что является побочным ограничением. Теперь каждый пользователь знает, что 32-разрядные процессоры не в состоянии напрямую адресовать больше 4 Гб. Этот лимит на самом деле довольно легко обойти, так речь идет об ограничении памяти на один процесс.

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

Второй момент связан с тем, что сейчас мы переживаем сравнительное благоденствие. У производителей микропроцессоров пока есть резервы как по количеству ядер, так и по тактовой частоте и уровню энергопотребления. В процессе работы в этих направлениях можно получить довольно существенный прирост производительности. Нет необходимости менять что-то непосредственно в программном обеспечении. Тогда зачем могут быть нужны даже 64 разряда?

В скором будущем два обозначенных выше фактора значительно ослабнут, а возможно и прекратят действовать. Растущая потребность в оперативной памяти сделает 32-разрядный режим непрактичным. Также продвижению вперед может воспрепятствовать приближение возможностей полупроводниковой микроэлектроники к физическому пределу. В этом случае нам придется по-другому взглянуть на увеличенную разрядность.

Интересна тема 128 разрядов также неразработанностью. Исследователи, которые анализируют преимущества 128-битного режима, сходятся во мнении, что он принесет большую пользу для физики и математики. Для простого пользователя, которого больше волнуют процессы сохранения документа, старта программы, энергоэффективности и скорости выборки из базы данных, возможность за машинный цикл манипулировать 16 байтами также обозначит новую эру.

Все ведет к тому, что 128-бит будет первым барьером разрядности микропроцессоров после 8-битного барьера, который будут стремиться преодолеть именно ради увеличения производительности. Если частоту больше повышать будет нельзя, а гетерогенность и многоядерность перестанут давать прирост скорости, повышение разрядности будет являться единственным способом достичь новых результатов. Конечно, в том случае, если не произойдет технологического прорыва, связанного с квантовыми вычислителями или нанотрубками. С этой проблемой уже столкнулись суперкомпьютеры. В данном случае увеличение разрядности определенно могло бы помочь.

Интересно, что большинство из нас сами того не замечая, пользуются 128-разрядными режимами. Конечно, не существует процессоров общего назначения, которые способны за раз управляться с 16 байтами. 128-разрядность в ограниченной форме уже присутствует на рынке. Начало ей положили конструкции типа MMX/SSE, которые манипулируют 128 битами. В начале 2000-х на весь мир прогремела Transmeta. Ее чипы использовали 128-битность для ускорения исполнения эмулируемого машинного кода.

Даже последняя версия Windows не будет работать не компьютере, материнская плата и процессор которого не поддерживают инструкцию CMPXCHG16B, оперирующую 128-разрядным числом. Также многие вспомогательные технологии применяют 16-битную математику. Это и файловая система ZFS, и адресация в IPv6, и память в графических картах. Все они окажутся в выигрыше, если микропроцессоры перейдут на разрядность 128 бит.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *