«Призрак, расплавление» означает смерть закона Мура?
Spectre и Meltdown - две из наиболее важных проблем безопасности, которые появляются с начала этого тысячелетия. Спектра, в частности, будет трудно смягчить. И AMD, и Intel придется перепроектировать, как их процессоры работают, чтобы полностью решить проблему. Даже если штрафы за производительность упадут сильнее всего на более старые процессоры или рабочие нагрузки на сервер, вместо рабочих станций, игр или общего назначения, будут случаи, когда некоторые клиенты должны съесть удар производительности, чтобы закрыть разрыв безопасности. Все это правда. Но вслед за этими откровениями мы видели, как различные люди полагали, что недостатки означают конец архитектуры x86 или, теперь, что это последний смертельный поступок для закона Мура.
Это мнение The Register, в котором мрачно заявили, что эти недостатки представляют собой не что иное, как конец улучшения производительности аппаратного обеспечения общего назначения. Марк Песс пишет: «[F] или опорой ИТ, вычисления общего назначения, в прошлом месяце могут быть такими же хорошими, как и когда-либо».
Гарантируется кратковременное снижение производительности по крайней мере в некоторых случаях. Но более продолжительный случай более оптимистичен, я бы сказал, чем Песес заставляет его звучать.
Обострение аргумента
Прежде чем мы углубимся в это, нам нужно что-то прояснить. Pesce ссылается на этот потенциальный конец общих улучшений производительности вычислений, как конец закона Мура, но это не так. Закон Мура предсказывает, что плотность транзистора удвоится каждые 18-24 месяца. Связанный с ним «закон», который обеспечил улучшения производительности, которые пошли рука об руку с законом Мура, был известен как Dennard Scaling, и он прекратил работать в 2005 году. Не случайно, когда частотное масштабирование замедлилось и до сканирования.
Даже как метрика для улучшения плотности замера, закон Мура неоднократно изобретался полупроводниковой промышленностью. В 1970-х и 1980-х годах более высокие плотности транзисторов означали, что больше функций можно было бы интегрировать в один процессорный кристалл.
Закон Мура 2.0 был сосредоточен на увеличении производительности, отправив тактовые частоты в стратосферу. С 1978 по 1993 год тактовые частоты увеличились с 5 МГц (8086) до 66 МГц (оригинальный Pentium), прирост 13,2х за 15 лет. С 1993 по 2003 год тактовые частоты увеличились с 66 МГц до 3,2 ГГц, что на 48,5% увеличилось за девять лет. В то время как Pentium 4 Northwood был не таким эффективным, часы-часы, как более старый Pentium 3 от Intel, он включил множество архитектурных улучшений и улучшений по сравнению с оригинальным Pentium, включая поддержку SIMD-инструкций, полнофункциональный кэш L2 на полной скорости , и исполнение вне порядка. Эта версия Закона Мура существенно закончилась в 2005 году.
Moore's Law 3.0 сосредоточился на интеграции других компонентов. Первоначально это означало дополнительные ядра процессора, по крайней мере, на рабочем столе и ноутбуке. Позже, поскольку SoC стали обычным явлением, это означают такие функции, как встроенные графические процессоры, сотовые и Wi-Fi-радиостанции, блоки ввода-вывода и полосы PCI Express. Этот тип интеграции и улучшения плотности в SoCs в целом продолжился и, по крайней мере, не закончится ни в какой момент в ближайшие несколько лет. Возможность развертывания памяти, такой как HBM2 в пакете ЦП, является еще одним примером того, как улучшение интеграционных технологий улучшило общую производительность системы.
Короче говоря, неточно ссылаться на Meltdown и Spectre, заканчивающийся «законом Мура». Но поскольку ссылки на закон Мура по-прежнему обычно используются в качестве сокращения «улучшенной производительности компьютера», это понятное использование, и мы займемся более широким вопросом.
Почему Meltdown, Spectre, не являются результатом улучшения производительности ЦП
Это не первый раз, когда инженеры ЦП рассмотрели глубокие изменения в работе процессоров, чтобы подключить дыры в безопасности или повысить производительность. ЦПУ CISC (процессоры с комплексными командами) в 1960-1980-х годах опирались на отдельные инструкции, которые могли бы выполнять многоступенчатую операцию частично потому, что и оперативная память, и хранилище были чрезвычайно дорогими, даже по сравнению со стоимостью самого процессора.
По мере снижения операционных расходов и расходов на хранение, а тактовые частоты увеличились, конструктивные ограничения изменились. Вместо того, чтобы сосредоточиться на плотности кода и инструкциях, которые могут потребоваться для выполнения многих тактовых циклов, инженерам было выгоднее создавать процессоры с более универсальными регистрами, архитектурой загрузки / хранения и более простыми инструкциями, которые могут выполняться за один цикл. Хотя x86 официально считается архитектурой CISC, все процессоры x86 транслируют инструкции x86 в упрощенные RISC-подобные микрооператоры внутри компании. Прошли годы, но, в конечном счете, RISC «выиграл» вычислительный рынок и преобразовал его в процесс.
История вычислений - это история изменений. Spectre и Meltdown не являются первыми исправлениями безопасности, которые могут повлиять на производительность; когда Data Execution Prevention развернулась с Windows XP с пакетом обновления 2 (SP2) и AMD Athlon 64, были случаи, когда пользователям приходилось отключать их, чтобы приложения работали корректно или на желаемой скорости. Спектр, в частности, может представлять большую проблему, но он не настолько велик, чтобы оправдать завершение, но в будущем есть несколько способов улучшения производительности.
Более того, идея о том, что вычисление общего назначения прекратила совершенствование, является неточной. Это правда, что темпы улучшений замедлились и что игры, в частности, не обязательно работают быстрее на Core i7-8700K, чем на Core i7-2600K, несмотря на пять лет между ними. Но если вы сравниваете процессоры с другими метриками, пробелы разные.
Следующие данные взяты из Bench-сайта Anandtech, что позволяет пользователям сравнивать результаты между различными ЦП. В этом случае мы сравниваем Ivy Bridge Core i7-3770K (Ivy Bridge) с Core i7-6700 (Skylake). 3770K имел базовую частоту 3,5 ГГц и 3,9 ГГц, а 6700 - 3,4 ГГц и 4 ГГц. Это так близко, как мы собираемся получить при сравнении тактовой частоты между двумя архитектурами (микроархитектура Ivy Bridge была идентична Sandy Bridge, практически без разницы в производительности).
В Anandtech есть больше результатов, включая данные Linux и игры (которые показывают гораздо меньшие различия). Мы выбрали репрезентативную выборку этих результатов для определения среднего улучшения производительности между мостом Ivy и Skylake на основе Handbrake, Agisoft, Dolphin, WinRAR, x265, Cinebench, x264 и POV-Ray.
Среднее повышение производительности для Skylake было 1,18x по сравнению с IVB в этих восьми приложениях: от 1,07x в WinRAR до 1,38x в первом проходе Handbrake x264. Существуют тесты, в которых два процессора работают одинаково, но они не являются нормой вне определенных категорий, таких как игры.
Среднее улучшение на 18 процентов в течение нескольких лет - это далеко не то, что мы видели, но это тоже не что иное. И нет никаких признаков того, что эти преимущества будут прекращены в будущих архитектурах процессора. Может потребоваться несколько лет, чтобы избавиться от этих ошибок, особенно учитывая, что новые архитектуры процессоров требуют времени для разработки, но долгосрочное будущее общих вычислений ярче, чем может показаться. Усовершенствования ЦП, возможно, замедлились, но в баке все еще есть газ.
Закон Мура вполне может переходить в историю, поскольку устройства КМОП подходят к наномасштабным. Конечно, есть люди, которые думают, что это произойдет, включая бывшего главного архитектора Intel и самого Гордона Мура. Но если история - это какое-либо указание, значение фразы, скорее всего, снова изменится, чтобы захватить различные тенденции, все еще движущиеся по одной и той же цели - долгосрочное улучшение вычислительной производительности.