Еще недавно тайваньскую фирму TSMC знал лишь ограниченный круг специалистов. Но события начавшейся Спецоперации Z и последовавшие за ней санкции от наших североатлантических еще совсем недавно друзей сделали ее чрезвычайно известной в российской блогерской среде. Здесь и здесь – статьи из ленты по этой теме всего за один день, их мне подсунул Дзен в тот день, когда я писал эту свою статью.
Многие сообщают, что она единственная, кто может делать микропроцессоры по технологическим нормам менее 10 нм (реально по нормам 7 нм фирма AMD делает процессоры на своем дочернем предприятии в США, но это мало кто из хвалильщиков TSMC знает. Также как и о 5-нанометровых возможностях Самсунг). Один за другим наши блогеры описывают горечь утраты, постигшей нашу страну из-за прекращения производства наших “Эльбрусов” и “Байкалов” на ее производственных мощностях (а кстати, это действительно так?). Кто-то рассказывает о ее производственных планах – когда будет освоен рубеж 3 нм, когда 2 нм, еще чуть-чуть, и про 1 нм нам начнут рассказывать. Не очень понимая, что к чему, некоторые пишут, что из-за прекращения этих поставок уже страдают наши оборонная и космическая отрасли (если кто не знает – это не так, там стоят изготавливаемые в Зеленограде полностью российские процессоры КОМДИВ). И каждый второй или третий упоминает, что по нормам 90 нм, которые сегодня предельны для российской микроэлектроники, TSMCпроизводила изделия 15-17 лет назад. Акцентируя внимание (возможно, и неумышленно) на большом отставании именно по этому показателю отечественной микроэлектроники от мирового лидера. Ну и бросая неявный упрек руководству страны – как можно было допустить такое громадное отставание – они работаю на уровне чуть ли не 5 нм, а мы – 90. Дескать, доколе? И почему виновных до сих пор не призвали к ответу? В явном виде эти вопросы конечно никем не формулируются, но на неявном уровне они стоят почти у всех. И у всех полное непонимание, что нужно делать? Понятное дело, догонять. А вот как – соображений ни у кого нет. В лучшем случае – упоминание о планах правительства чего-то достичь к 2025 году, а чего-то – к 2030-му.
На самом деле, не так все грустно и плохо, как это следует из большинства статей на эту тему. Во-первых, а много вы знаете, господа, японских, немецких, американских, французских, южнокорейских и т.д. фирм, которые производят электронику не то что по нормам 5-12 нм, а хотя бы на уровне 65 нм? В списке окажется всего пяток фирм, среди которых нет ни японских, ни европейских. Поэтому не надо рвать на себе волосы и посыпать голову пеплом – хваленые развитые Япония и Европа практически на том же уровне, что и Россия (по крайней мере, по нанометрам). А если к этому добавить, что оригинальные свои собственные серийные процессоры (пусть выпускаемые и не на собственном, а на контрактном оборудовании) есть только у США, России и Китая (корейские и тайваньские клоны х86 не в счет, это доработки изделий Intel), то говорить, что Россия плетется в хвосте мировой электроники – мягко говоря некорректно. У нашей электроники масса проблем, как известных нам, так и неизвестных. А у кого их нет? У TSMC? Думаю, и у них их немало, мы просто не в курсе.
Далее, более чем десятикратный отрыв TSMC (5-7 нм) от доступных российской микроэлектронике 90 нм вовсе не означает, что процессоры первой будут в десять с лишним раз быстрее вторых. Связь между этими нанометрами и производительностью нелинейна. Здесь я показал, что для четырехядерных процессоров Intel переход от норм 65 нм на 14 нм (дорожки внутри процессора стали почти впятеро тоньше!) дал прирост производительности в применениях серверного типа менее чем в два раза. А с учетом того, что 14-нм процессор работал на 4 ГГц, а 65-нм – на 3 ГГц – так и вовсе прирост производительности составил немногим более 30%, если говорить о равных тактовых частотах. Поскольку вряд ли процессоры, сделанные по нормам 5 нм и ниже, уверенно преодолеют рубеж 5 ГГц, бессмысленно ожидать, что переход на 3, или даже на 2 нм принесет заметный рост производительности.
В общем, в этом нет ничего неожиданного для специалистов – процессоры уперлись в потолок тактовых частот, определяемый физикой, а не несовершенством технологии. Поэтому усилия по достижению каждого последующего уровня становятся все более и более несопоставимыми с достигаемым при этом ростом производительности. И если TSMC продолжает идти этим путем, из этого вовсе не следует, что надо во всем ее копировать.
А что надо делать – спросите вы. Ответ был сформулирован разработчиками процессоров “Эльбрус” еще 30 лет назад, я узнал это из журналов “Компьютера” и “PC Magazine” тех лет. Дальнейший рост производительности будет достигаться за счет использования МНОГОпроцессорных систем. Тогда, в начале 90-х, это казалось чем-то настолько отдаленным и нереальным, что идея эта всерьез никем не воспринималась. Однако уже через 15 лет ее начали реализовывать Intel и AMD, занявшись разработкой сначала двухядерных, а затем и четырехядерных процессоров. Ведь многоядерный современный процессор – это многопроцессорная система из двух-четырех-шести и т.д. процессоров, которые упакованы в один корпус. И суперский технологический прогресс TSMC просто позволяет увеличить количество ядер в одном процессоре. Флагманский российский процессор “Байкал”, который изготавливался (и возможно продолжает изготавливаться без излишнего афиширования) на TSMC, содержит 48 ядер, не знаю, есть ли процессоры с бОльшим их количеством. Аналогичные по производительности серверные процессоры от Intel и AMD содержат примерно по два десятка ядер, точную цифру не помню. То есть, недостаточная производительность отдельного ядра легко компенсируется увеличением их количества. И вовсе неочевидно, что именно экономически выгоднее – тратить усилия на дальнейшее совершенствование ядер, или на увеличение их количества в процессорном корпусе. Разработчики “Байкал’а” пошли по второму пути, и именно таким способом достигли производительности, на которой находятся самые мощные серверные процессоры от Intel и AMD. Так что микроэлектроника процессоров следует именно по тому пути, который был предсказан (и начал воплощаться в жизнь) разработчиками “Эльбрус’а” три десятилетия назад.
Возможно, кто-то в комментариях скажет, что за 10 или за 20 лет до них об этом писал какой-нибудь американский, японский, корейский и т.п. исследователь. Я не изучал историю вопроса, возможно, это и так. Но в 90-х о многопроцессорности ни от кого другого мы не слышали. Однако это в данном случае совсем неважно, мы сейчас не лавры раздаем, а пытаемся понять, каково будет дальнейшее развитие микропроцессоров и систем на их основе.
Итак, многоядерность микропроцессоров – это один из шагов на пути создания многопроцессорных систем. Надеюсь, ясно, почему Intel и AMD пошли именно по этому пути – они делают чипы, а не системы на их основе. А система на большом количестве отдельных процессоров требует, помимо железа, еще и разработки соответствующего программного обеспечения, которое сможет все эти процессоры задействовать. Не зря они заключили соответствующие соглашения с Microsoft – та разработала новые операционные системы, которые умеют, пусть хоть и частично, задействовать остальные ядра процессора, помимо основного. Но ПО - это непрофильная продукция для Intel и AMD, поэтому они идут по пути создания, если так можно выразиться, многопроцессорных систем в одном чипе. А TSMCреализует их разработки. И чем более тонкий процесс у нее, тем больше ядер (т.е. независимых процессоров) можно упаковать в одном корпусе.
Но совершенно очевидно, что внутри одного корпуса можно разместить не более определенного числа процессоров. Сегодня это несколько десятков, завтра их окажется одна-две сотни. Все, больше даже с техпроцессом 2-3 нм не удастся. Конечно, сто или двести ядер – это очень впечатляет. Но это окажется пределом. Пока не будет нового технологического прорыва. Качественного, а не количественного, не такого, как сейчас у TSMC. Например, ядра на InGaAs – сейчас говорят, что на основе этого материала началось создание микросхем. Но до процессоров на нем – еще, как мне кажется, минимум лет десять. Хотя могу и ошибаться, мало информации.
То есть, путь на создание большого количества ядер внутри одного корпуса, по которому идут Intel и AMD (с TSMC) – это путь, который спустя некоторое время опять упрется в ограничения. Но Intel и AMD идут по нему, потому что они – производители компонентов, и их задача – совершенствовать компонентную систему настолько, насколько позволяет достигнутый уровень технологии. А создание вычислительных систем на ста, тысяче, десяти тысячах дискретных процессоров, что одноядерных, что многоядерных – это не для них, не их задача.
Поэтому и возникает вопрос – вкладывать средства в создание многоядерных чипов, или в создание многопроцессорных систем. И то, и другое требует создания специализированного ПО, которое сможет эффективно использовать имеющиеся в распоряжении ядра/процессоры. В первом случае количество ядер будет ограничено и известно, информацию о нем ПО получит при опросе соответствующего регистра многоядерного процессора. Во втором случае оно должно само определить, сколько процессоров в системе, каких, и как все их задействовать с минимумом простоев. Такое ПО намного сложнее, я, как неспециалист в этой области, даже не представляю, как подойти к решению этих задач. Но если эти задачи будут поставлены, сформулированы – найдутся коллективы, которые их решат.
У вас может возникнуть вопрос – а реально ли создание систем из нескольких самостоятельных процессоров? Не приврал ли автор, не агитирует ли за какие-то свои завиральные идеи, про которые еще неизвестно, можно ли их реализовать? Нет, не приврал, такие системы уже сегодня существуют, причем не в экспериментальных лабораториях, а на рынке. Я набрал в поисковике фразу “двухпроцессорные материнские платы на АВИТО”, и увидел около двух десятков предложений с четырьмя различными вариантами таких плат. Вот одно из них:
Ниже даны предложения продавца, в которых нам интересны возможности системы:
Как нетрудно увидеть, это работоспособная система с двумя двенадцатиядерными процессорами (суммарное число работающих ядер 24). Процессоры сделаны по технологии 45 нм или чуть ниже, это не широко разрекламированные 5 или 7 нм, как у последних семейств Intel/AMD. Но эта парочка по крайней мере не слабее флагманских процессоров последних семейств. И притом, что их всего два. Это реально существующая плата, причем уже на вторичном рынке, т.е. отнюдь не самой первой свежести. Вот еще одно предложение:
Соответственно, ниже описание продавца на нее. Обратите внимание – до 44 физических ядер (два двадцатидвухядерных процессора) и до 88 потоков, что-то запредельное. Вы скажете – так какие процессоры сюда ставят! Да, так. Но система из всего двенадцати четырехядерников или восьми шестиядерников будет еще круче. Ну а из двадцати двухядерников – примерно такой же. Плата, конечно, будет сложнее. Но технологии изготовления плат намного проще 5-7 нм технологий TSMC.
Я не утверждаю, что не надо работать в направлении достижения 65-45-28 нм. Это – одна из составных частей развития в этом направлении. Но ее возможности ограничены, упираются в тактовые частоты и в количество ядер внутри одного процессора. А вот количество процессоров в многопроцессорной системе может быть очень большим. Конечно, при реализации уже какой-нибудь двухсотпроцессорной системы возникнет немало своих проблем. И аппаратных, и с ПО. Как сделать ПО, чтобы оно эффективно работало и на двухсотпроцессорной системе, и на двухтысячепроцессорной? Чтобы одну и ту же задачу можно было решать и на той, и на другой, без перетрансляции каждой программы в каждой такой системе? Здесь еще работать и работать. Но на мой взгляд, именно это направление должно стать приоритетным. Тогда есть шанс выйти в лидеры. А если тащиться вслед за TSMC, то во-первых, всегда будем отстающими, а во-вторых, лет через 10 упремся в обозначенные пределы. И все равно пойдем по пути развития многопроцессорных систем. Но после того, как по нему пойдут многие другие. И опять окажемся в отстающих.
И еще одна ремарка. А для чего нужны такие процессоры, как, например, процессоры 8-12 семейств от Intel , или их аналоги от AMD? Это процессоры для рынка игровых компьютеров. Они “заточены” под вычисления, которые процессор вынужден делать при создании реалистичных картинок на экране монитора (естественно, в паре с видеоадаптером, каждый решает свою часть задачи). Рынок офисных и производственных компьютеров уже давно заполнен. Также заполнен и рынок домашних неигровых компьютеров (для почты, серфинга в интернете, подготовки личных документов, прокручивания видеозаписей, фильмов, ТВ-программ, хранения фотографий, электронных книг и т.д.). Но для этих двух рынков вполне достаточно тех процессоров, которые были созданы 10 лет назад.
Для специфических “тяжелых” применений (типа видеомонтажа) вполне достаточно двух четырех-шестиядерных процессоров на одной из показанных выше двухпроцессорных плат. Но и это тоже процессоры десятилетней давности. И все, в более крутых процессорах нет необходимости.
Но в условиях капиталистической рыночной экономики остановка в развитии – это смерть, пусть и не мгновенная. Инвесторы предпочтут того, кто динамичнее развивается, чаще сообщает о своих успехах, пусть иногда и мнимых, громче о них заявляет. То есть, производителям компьютерного железа нужно было придумывать направление, где потребуются еще более производительные компьютеры, чем нынешние офисные или обычные домашние. Для этого и был сформирован рынок игровых компьютеров и игровых программ. Именно огромный рынок, ибо одиночные игровые программы существовали почти с момента появления первых компьютеров. Но их было немного, и тогда они создавались под возможности имеющихся у пользователей компьютеров. А современные игровые программы пишутся так, что на современных им компьютерах они раскрываются не полностью, не в полной мере демонстрируют заложенные в них возможности, и требуют еще более производительного железа. Что и обеспечивает потребность во все более и более быстрых процессорах. То есть, этот рынок был придуман и сформирован искусственно. И ценность процессоров, предназначенных для этого рынка (тех самых, по нормам менее 10 нм) абсолютно несопоставима с ценностью процессоров для серверных, аэрокосмических и военных применений. Игроманы со мной, конечно, не согласятся. Имеют право.
Что касается процессоров для спецприменений, то там главное – не умение быстро нарисовать на экране монитора сложную, очень реалистично выглядящую картинку, а способность работать без сбоев в расширенном диапазоне температур окружающей среды, от -50 до +125…135 ˚С. А 10-нанометровая экзотика устойчиво работает от 0 до +80…90 ˚С. Расширение температурного диапазона требует совсем иных действий, чем увеличение плотности упаковки процессоров в корпусе. Зеленоградские процессоры успешно справляются с требованиями к технике для спецприменений – это для тех, кто любит повторять, что наша электроника плетется в хвосте у мировой. Нет, не так! Но процессоры для спецприменений – это уже совсем другая тема.
Для чего я это все написал? Идеи становятся силой, когда они захватывают массы. Я хочу, чтобы как можно больше людей прониклись тем, что основной путь развития – разработка многопроцессорных систем, а не многоядерных в одном чипе. И основной проблемой здесь является, на мой взгляд, создание ПО для таких систем. Но наши сегодняшние программисты вряд ли готовы решать эти задачи, они очень зашорены. Это вполне объяснимо, т.к. мы несколько десятилетий пользуемся западным ПО, идеями, заложенными в него именно западными компаниями, и это сформировало у наших программистов убеждение, что так будет всегда, и никак иначе быть не может. Но на смену им придут более молодые их коллеги, более восприимчивые к новым идеям. И мне очень хочется, чтобы изложенные в статье идеи дошли до них и стали их идеями. Я надеюсь, что до них они дойдут через вас, уважаемые читатели.
Ну а здесь – некое подтверждение того, что с отказом TSMC производить процессоры по российским заказам не все столь однозначно.
На сегодня все. Ставьте лайки, подписывайтесь на канал. Будет еще много интересного.