Ошибка президента — 2


Данная статья отражает частное мнение автора, которое может не совпадать с мнением редакции сайта iXBT.com.

Сказать, что Pentium 4 вызвал много споров — значит не сказать ничего. С другой стороны, было ли их больше, чем при переходе Intel с 486 на Pentium, при переходе с Socket-7 на Slot-1, при выборе RDRAM в качестве основной памяти?.. Трудно сказать. За последние годы Intel сделал не один, мягко говоря, неоднозначный шаг. Тем не менее, при всей спорности этих шагов, ошибка была признана компанией лишь в одном случае — с Rambus. Да и то в Intel уверены, что они не виноваты — они выбрали идеальную с точки зрения будущего архитектуру, но подвел сам Rambus со своей неразумной политикой в отношении производителей памяти.

Во всех же остальных случаях, по убеждению Intel, выбранная стратегия была близка к оптимальной. Сейчас, когда пыл тех споров угас, оглядываясь назад, убеждаешься, что что-то в этой оценке есть. Вспомнить хотя бы ту же историю со слотами и гнездами. Сейчас, когда подзабылись все обиды, можно спокойно согласиться: да, схема с введением дочерней платы, на которой располагался процессор и скоростные микросхемы кэша L2, была необходимой, даже с учетом стоимости картриджа — все равно получалось гораздо дешевле, чем в варианте с упаковкой кэша в один корпус с процессором. Pentium Pro на тот момент это ясно доказывал.

Хотя не менее очевидно и то, что наличие картриджа все же было временным решением. И когда технология позволила удешевить кэш L2 настолько, что упаковка его в один корпус с процессором вновь стала рентабельной, Intel, естественно, вернулся к этой модели, дающей значительные плюсы как в плане себестоимости, так и в ряде технических моментов. Сейчас, оглядываясь назад, все выглядит абсолютно естественно и кажется единственно возможным путем, а сколько споров было, когда только раскрутив Slot-1, Intel начал переход на Socket-370…

Примерно так же обстоит ситуация и с Pentium 4. Мы можем спорить относительно его параметров, возможностей и перспектив сколько угодно, но факт остается фактом — Intel в очередной раз, без особых рефлексий, невзирая на возмущенные возгласы, уверенно тащит индустрию в том направлении, которое считает единственно верным. И приходится признать: ему, во многих отношениях, виднее.

Попробуем взглянуть на ряд моментов, вызывающих наибольшее возмущение в Pentium 4, с прагматической точки зрения его создателей. Очевидно, что ядро P6 себя на данный момент полностью исчерпало в плане архитектуры. Фиаско с выпуском и практически моментальным отзывом 1,13 ГГц Pentium III на базе 0,18 мкм алюминиевого техпроцесса это доказывает. Да, можно было попытаться и дальше шлифовать техпроцесс (и так уже доведенный дальше некуда), переходить на медь, 0,13 мкм, SOI и все что угодно, но… Опыт Tualatin доказывает — даже переход одновременно на медь и 0,13 мкм позволяет выдоить из текущей архитектуры лишь несколько сотен мегагерц. И ради этого вкладывать миллиарды в переход на 0,13 мкм? А что дальше? Сидеть на всем этом несколько лет и опять вкладывать миллиарды — в 0,10 мкм — для того, чтобы с трудом достичь 2 ГГц? Если вообще получится это сделать…

Во-первых, этот способ в любом случае тупиковый, а во-вторых, есть проблемы, которые никакое улучшение техпроцесса решить не может, если архитектура на такую частоту не рассчитана. Катастрофический для нее рост частоты может привести к тому, что привычные схемы, устойчиво работавшие парой сотен мегагерц ниже, внезапно перестают работать так, как это было запланировано. Кое-что можно исправить новыми степпингами: тут подправить модуль, там увеличить ширину проводника — но опять-таки не все можно исправить косметическими методами. Яркий пример — уже упомянутый Pentium III 1,13 ГГц.

Так что новая архитектура изначально замышлялась не просто как адекватный ответ на Athlon, а куда более масштабно — с целью совершения нового скачка, основания новой точки отсчета, от которой пойдут новые поколения процессоров в течение еще нескольких лет, с запасом как минимум в несколько гигагерц.

И здесь многое определяла уже тривиальная физика. Кто-то может сказать, что Intel в погоне за «дешевыми мегагерцами» разбил конвейер на неоправданно большое количество блоков. А кто-то — что в расчете даже не на сегодняшние 2 ГГц, а на завтрашние и послезавтрашние 3, 4, 5 ГГц пришлось сознательно идти на уменьшение физических размеров блоков конвейера. Просто для того, чтобы за такт (длительность которого становится все меньше) сигнал успевал пройти от одного физического края блока до другого.

Бывают и более яркие и грубые примеры влияния имеющегося техпроцесса на архитектуру. Не секрет, что Pentium 4 замышлялся совсем-совсем другим. Процессор должен был иметь один медленный и два быстрых ALU, два арифметических модуля генерации адресов, два полноценных модуля FPU, 16 КБ кэша L1, трассирующий кэш команд на 12 тысяч микрокоманд, 128 КБ кэша L2, 1 МБ внешнего кэша L3. Однако когда стала очевидной площадь чипа с такими параметрами… Пришлось резать по живому.

Pentium 4 претерпел как минимум четыре серьезные «хирургические операции», в результате которых из него получилось то, что мы сегодня имеем. (Зато — имеем!) Один из самых больших пожирателей площади ядра — блоки FPU. В результате полноценный модуль остался только один, второй изрядно поглупел, забыл, как исполнять инструкции MMX, SSE и SSE2, зато площадь, занимаемая сопроцессором, сократилась более чем вдвое. Трассирующий кэш команд сокращать было ну никак нельзя — он компенсировал недостатки, связанные с длинным конвейером, так что пришлось создавать алгоритм компрессии микрокоманд, позволившей при тех же 12 тысячах хранимых единиц сократить площадь, занимаемую этим кэшем.

Следующим попал под нож 1 МБ кэша третьего уровня, который должен был выглядеть внешним чипом (может быть даже скоростным SDRAM), располагающимся на задней поверхности процессора, и просто грандиозно компенсировать все задержки на участке «память-процессор». Но… Разводка лишней сотни контактов, реализация всей необходимой логики, возвращение к картриджу для защиты кэша L3… Пришлось отказаться. Взамен, правда, вдвое увеличили кэш L2, иначе производительность упала бы совсем неприлично. Вдобавок, по этой же причине, для снижения латентности, пришлось вдвое сокращать объем кэша L1 (до 8 КБ) и уменьшать нагрузку на него.

Впрочем, компенсация уже началась: в Northwood кэш L2 предположительно будет увеличен до 512 КБ, так что со временем, когда позволит техпроцесс, дизайн вернется приблизительно к тому же уровню, каким он виделся изначально.

Еще один серьезнейший момент, который пришлось решать, неразрывно, впрочем, связанный со всем вышеупомянутым — это тепловыделение. Как опять же все мы видим, с 0,18 мкм Pentium 4 Intel вплотную приблизился к пределам, при пересечении которых практически невозможно сделать массовый процессор — полукилограммовый радиатор, обеспечение теснейшего его прилегания к теплообменнику, с космическими нагрузками… Еще немного, и впору было бы задумываться о водяном охлаждении.

На стадии проектирования Pentium 4 Intel пришлось основательно задуматься о решении проблемы «производительность/тепловыделение» на уровне архитектуры. По словам Патрика Гелсинджера, рассматривались разные варианты: и применение многопоточного исполнения вместо неэффективного с точки зрения этого критерия спекулятивного исполнения, и размещение на одном чипе двух физических процессорных ядер, и расчет на применение более эффективных в этом смысле блоков, нацеленных на выполнение конкретных групп задач.

В какой-то мере в Pentium 4 были применены первый и третий подходы. Первый стал известен нам под названием Hyperthreading (на 10 процентов больше логики и, соответственно, тепловыделения, зато на 30 процентов больше производительности в комплексных задачах), хотя в процессорах для настольных PC поддержка Hyperthreading появится еще не слишком скоро. Третий отвечает за неожиданные скачки производительности Pentium 4 на ряде мультимедийных задач сегодня и в будущем. Проще говоря — SIMD, еще проще — SSE2.

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

Еще один прием, который пришлось применять — throttling, торможение процессора в тех случаях, когда его температура достигает опасных пределов. Не забудем про изменение в методике отладки тепловых режимов — отказ от использования исключительно p-n-перехода для измерения температуры. И все эти технические нововведения — для борьбы с повышенным тепловыделением на 0,18 мкм техпроцессе.

Это все к вопросу о том, почему Pentium 4 вышел именно в том виде, в котором он вышел. Время выхода — если посмотреть на это с точки зрения Intel — тоже больших вопросов не вызывает. С учетом сегодняшних доходов компаний в индустрии, пропустить год — это нонсенс. Да, Pentium 4 вышел не совсем в том виде, в котором задумывался. Да, продавался он в этом году хуже, чем ожидалось, 20 миллионов процессоров явно не получится. Но в любом случае, более десяти миллионов проданных процессоров принесли неплохие деньги, даже несмотря на ценовую войну с AMD. А это в том числе и расходы на НИОКР, на доведение до ума 0,13 мкм техпроцесса и того же самого Pentium 4-Northwood. Intel и так вынужден, как и прочие производители, сворачивать ряд исследовательских программ. Не выйди год назад Pentium 4 — их бы пришлось сворачивать гораздо больше.

Примерно та же ситуация с Socket-423-Socket-478, но там все более комплексно. Да, можно заявлять претензии (вполне обоснованные!) на то, что Intel кинул купивших системы на базе Socket-423, лишив их возможности удобного апгрейда в будущем. Но тут дело в том, что еще этим летом Intel не был уверен, выйдет ли Socket-478 вообще. Уж очень сильно отличаются конструктивно эти два гнезда, довольно много серьезных проблем пришлось решать при разводке материнских плат под Socket-478.

Самые очевидные, лежащие на поверхности: при меньшей площади самого сокета число контактов увеличилось, со всеми вытекающими сложностями при монтаже. Не говоря уже о том, что уменьшение шага между контактами вызвало необходимость в переходе на поверхностный монтаж гнезда (вместо разводки внутри слоев) — пришлось решать проблему отрыва краев сокета от материнской платы при встряске. А также требовалось решение вопроса со взаимными наводками сигналов, подведением питания и земли… И чтобы все это работало не в лабораторных условиях, а в миллионных тиражах.

Так что к Socket-423 Intel подходил достаточно прозаически — как к технологической платформе и способу заработать денег на дальнейшее усовершенствование архитектуры. Тот же Northwood вообще и Socket-478 в частности. Правда, никаких угрызений совести о купивших системы на Socket-423 компания не испытывает, считая, что те, кому полгода–год назад нужна была производительная платформа, ее получили. Те, кто способен платить такие деньги, по частям не апгрейдятся — через год–два заменят и процессор, и память, и материнскую плату. Ну и наконец, в результате перехода на Socket-478 и сопутствующего удешевления Socket-423 сегодня у многих появилась возможность по дешевке получить вполне производительное решение, несколько поступившись удобством апгрейда в будущем.

В общем, при всех своих достоинствах и недостатках… Выбор у нас был простой — либо увидеть Pentium 4 в том виде (и последовательности), в каком мы его увидели, либо не увидеть вовсе. Какой вариант вас больше устраивает?




Дополнительно

Ошибка президента — 2, или Pentium 4 был анонсирован вовремя

Ошибка президента — 2

Данная статья отражает частное мнение автора, которое может не совпадать с мнением редакции сайта iXBT.com.

Сказать, что Pentium 4 вызвал много споров — значит не сказать ничего. С другой стороны, было ли их больше, чем при переходе Intel с 486 на Pentium, при переходе с Socket-7 на Slot-1, при выборе RDRAM в качестве основной памяти?.. Трудно сказать. За последние годы Intel сделал не один, мягко говоря, неоднозначный шаг. Тем не менее, при всей спорности этих шагов, ошибка была признана компанией лишь в одном случае — с Rambus. Да и то в Intel уверены, что они не виноваты — они выбрали идеальную с точки зрения будущего архитектуру, но подвел сам Rambus со своей неразумной политикой в отношении производителей памяти.

Во всех же остальных случаях, по убеждению Intel, выбранная стратегия была близка к оптимальной. Сейчас, когда пыл тех споров угас, оглядываясь назад, убеждаешься, что что-то в этой оценке есть. Вспомнить хотя бы ту же историю со слотами и гнездами. Сейчас, когда подзабылись все обиды, можно спокойно согласиться: да, схема с введением дочерней платы, на которой располагался процессор и скоростные микросхемы кэша L2, была необходимой, даже с учетом стоимости картриджа — все равно получалось гораздо дешевле, чем в варианте с упаковкой кэша в один корпус с процессором. Pentium Pro на тот момент это ясно доказывал.

Хотя не менее очевидно и то, что наличие картриджа все же было временным решением. И когда технология позволила удешевить кэш L2 настолько, что упаковка его в один корпус с процессором вновь стала рентабельной, Intel, естественно, вернулся к этой модели, дающей значительные плюсы как в плане себестоимости, так и в ряде технических моментов. Сейчас, оглядываясь назад, все выглядит абсолютно естественно и кажется единственно возможным путем, а сколько споров было, когда только раскрутив Slot-1, Intel начал переход на Socket-370…

Примерно так же обстоит ситуация и с Pentium 4. Мы можем спорить относительно его параметров, возможностей и перспектив сколько угодно, но факт остается фактом — Intel в очередной раз, без особых рефлексий, невзирая на возмущенные возгласы, уверенно тащит индустрию в том направлении, которое считает единственно верным. И приходится признать: ему, во многих отношениях, виднее.

Попробуем взглянуть на ряд моментов, вызывающих наибольшее возмущение в Pentium 4, с прагматической точки зрения его создателей. Очевидно, что ядро P6 себя на данный момент полностью исчерпало в плане архитектуры. Фиаско с выпуском и практически моментальным отзывом 1,13 ГГц Pentium III на базе 0,18 мкм алюминиевого техпроцесса это доказывает. Да, можно было попытаться и дальше шлифовать техпроцесс (и так уже доведенный дальше некуда), переходить на медь, 0,13 мкм, SOI и все что угодно, но… Опыт Tualatin доказывает — даже переход одновременно на медь и 0,13 мкм позволяет выдоить из текущей архитектуры лишь несколько сотен мегагерц. И ради этого вкладывать миллиарды в переход на 0,13 мкм? А что дальше? Сидеть на всем этом несколько лет и опять вкладывать миллиарды — в 0,10 мкм — для того, чтобы с трудом достичь 2 ГГц? Если вообще получится это сделать…

Во-первых, этот способ в любом случае тупиковый, а во-вторых, есть проблемы, которые никакое улучшение техпроцесса решить не может, если архитектура на такую частоту не рассчитана. Катастрофический для нее рост частоты может привести к тому, что привычные схемы, устойчиво работавшие парой сотен мегагерц ниже, внезапно перестают работать так, как это было запланировано. Кое-что можно исправить новыми степпингами: тут подправить модуль, там увеличить ширину проводника — но опять-таки не все можно исправить косметическими методами. Яркий пример — уже упомянутый Pentium III 1,13 ГГц.

Так что новая архитектура изначально замышлялась не просто как адекватный ответ на Athlon, а куда более масштабно — с целью совершения нового скачка, основания новой точки отсчета, от которой пойдут новые поколения процессоров в течение еще нескольких лет, с запасом как минимум в несколько гигагерц.

И здесь многое определяла уже тривиальная физика. Кто-то может сказать, что Intel в погоне за «дешевыми мегагерцами» разбил конвейер на неоправданно большое количество блоков. А кто-то — что в расчете даже не на сегодняшние 2 ГГц, а на завтрашние и послезавтрашние 3, 4, 5 ГГц пришлось сознательно идти на уменьшение физических размеров блоков конвейера. Просто для того, чтобы за такт (длительность которого становится все меньше) сигнал успевал пройти от одного физического края блока до другого.

Бывают и более яркие и грубые примеры влияния имеющегося техпроцесса на архитектуру. Не секрет, что Pentium 4 замышлялся совсем-совсем другим. Процессор должен был иметь один медленный и два быстрых ALU, два арифметических модуля генерации адресов, два полноценных модуля FPU, 16 КБ кэша L1, трассирующий кэш команд на 12 тысяч микрокоманд, 128 КБ кэша L2, 1 МБ внешнего кэша L3. Однако когда стала очевидной площадь чипа с такими параметрами… Пришлось резать по живому.

Pentium 4 претерпел как минимум четыре серьезные «хирургические операции», в результате которых из него получилось то, что мы сегодня имеем. (Зато — имеем!) Один из самых больших пожирателей площади ядра — блоки FPU. В результате полноценный модуль остался только один, второй изрядно поглупел, забыл, как исполнять инструкции MMX, SSE и SSE2, зато площадь, занимаемая сопроцессором, сократилась более чем вдвое. Трассирующий кэш команд сокращать было ну никак нельзя — он компенсировал недостатки, связанные с длинным конвейером, так что пришлось создавать алгоритм компрессии микрокоманд, позволившей при тех же 12 тысячах хранимых единиц сократить площадь, занимаемую этим кэшем.

Следующим попал под нож 1 МБ кэша третьего уровня, который должен был выглядеть внешним чипом (может быть даже скоростным SDRAM), располагающимся на задней поверхности процессора, и просто грандиозно компенсировать все задержки на участке «память-процессор». Но… Разводка лишней сотни контактов, реализация всей необходимой логики, возвращение к картриджу для защиты кэша L3… Пришлось отказаться. Взамен, правда, вдвое увеличили кэш L2, иначе производительность упала бы совсем неприлично. Вдобавок, по этой же причине, для снижения латентности, пришлось вдвое сокращать объем кэша L1 (до 8 КБ) и уменьшать нагрузку на него.

Впрочем, компенсация уже началась: в Northwood кэш L2 предположительно будет увеличен до 512 КБ, так что со временем, когда позволит техпроцесс, дизайн вернется приблизительно к тому же уровню, каким он виделся изначально.

Еще один серьезнейший момент, который пришлось решать, неразрывно, впрочем, связанный со всем вышеупомянутым — это тепловыделение. Как опять же все мы видим, с 0,18 мкм Pentium 4 Intel вплотную приблизился к пределам, при пересечении которых практически невозможно сделать массовый процессор — полукилограммовый радиатор, обеспечение теснейшего его прилегания к теплообменнику, с космическими нагрузками… Еще немного, и впору было бы задумываться о водяном охлаждении.

На стадии проектирования Pentium 4 Intel пришлось основательно задуматься о решении проблемы «производительность/тепловыделение» на уровне архитектуры. По словам Патрика Гелсинджера, рассматривались разные варианты: и применение многопоточного исполнения вместо неэффективного с точки зрения этого критерия спекулятивного исполнения, и размещение на одном чипе двух физических процессорных ядер, и расчет на применение более эффективных в этом смысле блоков, нацеленных на выполнение конкретных групп задач.

В какой-то мере в Pentium 4 были применены первый и третий подходы. Первый стал известен нам под названием Hyperthreading (на 10 процентов больше логики и, соответственно, тепловыделения, зато на 30 процентов больше производительности в комплексных задачах), хотя в процессорах для настольных PC поддержка Hyperthreading появится еще не слишком скоро. Третий отвечает за неожиданные скачки производительности Pentium 4 на ряде мультимедийных задач сегодня и в будущем. Проще говоря — SIMD, еще проще — SSE2.

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

Еще один прием, который пришлось применять — throttling, торможение процессора в тех случаях, когда его температура достигает опасных пределов. Не забудем про изменение в методике отладки тепловых режимов — отказ от использования исключительно p-n-перехода для измерения температуры. И все эти технические нововведения — для борьбы с повышенным тепловыделением на 0,18 мкм техпроцессе.

Это все к вопросу о том, почему Pentium 4 вышел именно в том виде, в котором он вышел. Время выхода — если посмотреть на это с точки зрения Intel — тоже больших вопросов не вызывает. С учетом сегодняшних доходов компаний в индустрии, пропустить год — это нонсенс. Да, Pentium 4 вышел не совсем в том виде, в котором задумывался. Да, продавался он в этом году хуже, чем ожидалось, 20 миллионов процессоров явно не получится. Но в любом случае, более десяти миллионов проданных процессоров принесли неплохие деньги, даже несмотря на ценовую войну с AMD. А это в том числе и расходы на НИОКР, на доведение до ума 0,13 мкм техпроцесса и того же самого Pentium 4-Northwood. Intel и так вынужден, как и прочие производители, сворачивать ряд исследовательских программ. Не выйди год назад Pentium 4 — их бы пришлось сворачивать гораздо больше.

Примерно та же ситуация с Socket-423-Socket-478, но там все более комплексно. Да, можно заявлять претензии (вполне обоснованные!) на то, что Intel кинул купивших системы на базе Socket-423, лишив их возможности удобного апгрейда в будущем. Но тут дело в том, что еще этим летом Intel не был уверен, выйдет ли Socket-478 вообще. Уж очень сильно отличаются конструктивно эти два гнезда, довольно много серьезных проблем пришлось решать при разводке материнских плат под Socket-478.

Самые очевидные, лежащие на поверхности: при меньшей площади самого сокета число контактов увеличилось, со всеми вытекающими сложностями при монтаже. Не говоря уже о том, что уменьшение шага между контактами вызвало необходимость в переходе на поверхностный монтаж гнезда (вместо разводки внутри слоев) — пришлось решать проблему отрыва краев сокета от материнской платы при встряске. А также требовалось решение вопроса со взаимными наводками сигналов, подведением питания и земли… И чтобы все это работало не в лабораторных условиях, а в миллионных тиражах.

Так что к Socket-423 Intel подходил достаточно прозаически — как к технологической платформе и способу заработать денег на дальнейшее усовершенствование архитектуры. Тот же Northwood вообще и Socket-478 в частности. Правда, никаких угрызений совести о купивших системы на Socket-423 компания не испытывает, считая, что те, кому полгода–год назад нужна была производительная платформа, ее получили. Те, кто способен платить такие деньги, по частям не апгрейдятся — через год–два заменят и процессор, и память, и материнскую плату. Ну и наконец, в результате перехода на Socket-478 и сопутствующего удешевления Socket-423 сегодня у многих появилась возможность по дешевке получить вполне производительное решение, несколько поступившись удобством апгрейда в будущем.

В общем, при всех своих достоинствах и недостатках… Выбор у нас был простой — либо увидеть Pentium 4 в том виде (и последовательности), в каком мы его увидели, либо не увидеть вовсе. Какой вариант вас больше устраивает?