4 сезон · выпуск 5 · 1 апреля 2021 · 45 мин
Процессоры Intel и Apple M1. Как они работают и как сделать их лучше
Слушать · 45:06
Долгое время главными производителями процессоров для компьютеров были компании Intel и AMD. Но в конце 2020 года Apple представила ноутбуки на своих собственных процессорах M1. Вместе с инженером из Intel Алексеем Корчиным Самат разбирается, как устроены процессоры, как их производят и почему компании Apple удалось сделать их эффективнее.
Этот подкаст мы делаем совместно с сервисом онлайн-образования Яндекс.Практикум
Как производят процессоры и легируют кремний
Почему в России не делают крутых процессоров
Как можно сделать процессоры лучше
Как у Intel появился свой тикток
Как руководители Intel отказались работать со Стивом Джобсом над первым айфоном
«Фарш обратно не прокручивается». Почему Apple обошел Intel по производству процессоров
Над выпуском работали
- Редактор
- Юля Яковлева
- Продюсер
- Павел Боровков
- Звукорежиссер
- Нина Мамотина
- Дизайнер обложки
- Петр Сутупов
Транскрипт
Самат Галимов, Алексей · расшифровано автоматически, ошибки возможны
-
Всем привет! Меня зовут Самат Галимов, и это подкаст «Запуск завтра». Как технический директор я пытаюсь разобраться, как устроены сложные и интересные штуки. Я зову профессионалов, с которыми можно поговорить простым человеческим языком. В конце 2020 года Apple представила свои собственные процессоры M1. До этого все компьютеры Apple использовали те же самые процессоры, что и все остальные компьютеры на свете. Их производят две компании, Intel и AMD. А тут Apple начала делать свои собственные процессоры. И вот я купил такой ноутбук, он реально офигенно работает, мне очень нравится, я в шоке в некотором от того, что ноутбуки могут быть такими. Удивительно, что процессор— это вещь, которая есть в любой технике, начиная от телефонов мобильных и заканчивая суперкомпьютерами и спутниками, которые летают вокруг Земли. Везде есть процессор. При этом делать их умеют не так много компаний на свете. Это магическая технология, которая лежит в основе всего современного общества. И мне кажется, классно, что делая подкаст о технологиях, наконец-то мы поговорим о вот этом базовом строительном блоке, о процессоре. Сегодня мы разберемся, как устроены процессоры, как их можно сделать лучше и почему у Apple это вдруг так хорошо получилось. Это подкаст в студии Либо-Либо, и мы его делаем вместе с сервисом онлайн-образования Яндекс Практикум. У Практикума есть курсы по разработке, по анализу данных, по веб-дизайну и по английскому языку. Если вы хотите освоить цифровую профессию, переходите на сайт Яндекс Практикум и учитесь.
-
Меня зовут Алексей, я работаю в Intel, я работаю в CMX-команде. Мы делаем функциональные симуляторы платформы Intel.
-
Что значит функциональные симуляторы?
-
Если нужно провалидировать какой-нибудь софт, убедиться, что софт будет работать на платформе следующего поколения, которую ещё нет в железе, то разумно не ждать, пока завод сделает железку, а сначала проверить на модели этой железки, и затем только уже провалидированные всё выпускать. И вот мы работаем именно над симуляцией железа.
-
Ничего себе. То есть вы проверяете компьютеры до того, как они физически появились?
-
Ну да, да.
-
Я тебя позвал, потому что я очень хочу поговорить про процессоры. И ты работаешь в компании, которая... ну одной из главных компаний, которая делает процессоры в мире.
-
Да, у меня еще через дорогу завод, который как раз-таки недавно построили, насколько я знаю, 10- или 7-нанометровых процессоров.
-
Ничего себе.
-
Довольно впечатляющее зрелище. Куча всяких труб и так далее. в Хиллсборо (Hillsboro). Вообще, довольно прикольный город в том смысле, что там находится крупнейший R&D-центр Intel в этом городе. И я так прикидывал, примерно каждый десятый житель города работает в Intel. довольно-таки особый город.
-
Кайф. Что такое процессор? Что он делает внутри компьютера?
-
Но вообще процессор – это такая штука, которая выполняет основные вычисления внутри компьютера. Как известно, в компьютере вся информация, которая существует, представлена в виде нулей и единичек. И вот центральный процессор хорошо умеет выполнять разные операции над этими нулями и единичками, так чтобы и их обрабатывать. А весь остальной компьютер – это периферия для центрального процессора.
-
Ты сказал, что он умеет выполнять разные операции. Можешь привести пример каких-то операций?
-
Но он, собственно, делает всю математику. Какие-нибудь примитивные сложения чисел. По сути дела, всё, что происходит в компьютере, это обсчитывается процессором. И внутри этого процессора, собственно, он состоит главным образом из разных узлов, из примитивных, логических...—
-
ALU, по-моему, это называется, да?—
-
Да-да-да. Арифметикологическое устройство или как-то так. Ну и в общем процессор— это набор таких узлов, которые из простейших логических операций умеют получать что-то иногда совсем простое, типа сложения, иногда более сложного, если говорить о каких-то более сложных инструкциях. Там ещё есть всякая внутри память, но это уже отдельная история. Но в целом это центральная часть компьютера.
-
Я себе это вижу так, что программы для компьютера— это, на самом деле, инструкции для процессора, типа, что нужно сделать.
-
Не, ну, безусловно, в конечном счете так и есть, да, да.
-
И у тебя есть прямо команды для того, чтобы сложить два числа, умножить два числа?
-
Да, конечно, это называется, в принципе, ассемблер, если говорить про какой-то формат, да, и можно посмотреть для каждой конкретной модели. Есть свой ассемблер, есть свой набор инструкций, и можно посмотреть, что он умеет делать.
-
Assembler— это язык, на котором говорит процессор. На каком бы языке ни была написана программа изначально программистом, она будет переведена на язык Assembler, на язык процессора. Ну вот представьте себе, вы нажали на какую-то иконку и запустили программу. Процессор всегда выполняет какие-то операции, какие-то инструкции. И вот в тот момент, когда вы нажали на программу, он начал выполнять те инструкции, которые нужны для того, чтобы вам показалось окошко этой программы. Леша, я тут хочу добавить, мы с тобой говорили про типы операций, и мы говорили про математику, но программа не может работать без логики. Вот эти условия, что если человек нажал сюда, то тогда сделай вот это, это делается с помощью операций вроде сравни два числа, и если одно меньше, чем другое, тогда делай вот это. То есть такие логические цепочки, для этого, мне кажется, тоже есть отдельные блоки в процессоре.—
-
Да-да, то есть там есть сравнение наверняка, отправить в память что-то или записать в память, считать с памяти, то же самое с регистрами операции и операцией условного перехода.—
-
Вообще, регистр— это типа память, внутренняя память процессора. И операции перехода – это как раз то, как мы контролируем, как программа будет работать. Это как раз то, что делает компьютер интерактивным. Потому что если бы программы были просто последовательностью команд, то это было бы кино, которое ты садишься и смотришь, а тут ты можешь перепрыгивать.
-
Да-да-да.
-
Так, мне кажется, мы объяснили примерно, ну, наверное, какое чувство хотя бы появилось того, из чего состоит процессор, но теперь я хочу под другим углом на это посмотреть, как он физически устроен. Если ты расскажешь, как он физически производится, ну, на пальцах, то станет понятно, как он устроен уже с точки зрения реального мира.
-
В принципе, я там вначале начал говорить про элементарные вот эти вычислительные блоки, на которых всё и происходит, каждая из которых реализует какую-либо инструкцию. И каждый маленький блок— это набор транзисторов. Транзистор— это такой ключ, который может либо пропускать электричество, либо его не пропускать. И каждый вычислительный блок состоит из некоего набора транзисторов, но транзисторов не таких, которые можно увидеть там расковыряв какой-нибудь телефон и
-
посмотрев на... Отдельные элементы.
-
Да, процессор и все это на единой подложке. Большое количество транзисторов изготовлено.
-
Транзистор, он операцию какую-нибудь сам выполняет? Или он, когда их много, только тогда они приобретают смысл? Типа как... Транзистор это как кирпич? Или это как скорее уже такой блок, который уже что-то полезное делает?
-
Транзистор такой есть не очень идеальный, но в принципе понятная аналогия. Транзистор это такой краник.
-
Ага, это краник.
-
Что из себя представляет кран, да? У тебя есть труба с водой, есть некий управляющий элемент, которые ты можешь отвинтить или завинтить.
-
У меня вверх в них опускается и поднимается краник, но я понял идею, типа
-
ты можешь... Ну да, да, да.
-
Ну, в общем, концептуально.
-
У тебя управляющий элемент есть, ты с небольшим усилием можешь большой поток воды перекрыть, либо наоборот. И транзистор— это примерно такая же штука, только для электричества. не несёт. Это, наверное, минимальный такой смысловой блок, какой-то логический элемент, реализованный на транзисторах.—
-
Это операции «и» и «или», да, по-моему?—
-
Ну да, «и», «или», «не» и какие-нибудь более сложные наборы.
-
Объясняю на пальцах, я бы сказал, что это условные операции сложить, вычесть и сравнить два числа. Мне кажется, вот если вот эти операции у нас есть, то дальше все остальные уже можно из них построить. Вот были транзисторы, которые вообще ничего особо делать не умеют, потом мы из них начали строить такие супер простые операции, а потом из этих операций можно строить там безумно сложные программы вроде зумов, о которых мы с тобой сейчас говорим.
-
Да, да, и суть именно процессоров. в том виде, в котором мы их сейчас имеем, в том, что мы можем технологически сделать очень большое количество транзисторов на очень маленькой площади кристалла. То есть транзистор, он физически представляет из себя кремния, например, который легирован какими-нибудь другими элементами и на которые нанесены металл какой-нибудь или еще что-то.
-
Ты сказал легирован. Что это такое? Это красят, я так понимаю, да? И потом обжигают, чтобы оно, типа, прилипло.
-
Это когда нужно придать свойства. Например, кремнию какие-то определенные, в него нужно внести какой-то другой элемент.—
-
А то есть это не красят сверху, а прямо внутрь его вживляют другой металл?—
-
Ну да, да, да. Насколько я понимаю. Я могу опять-таки что-нибудь путать, потому что я не... То, чтобы на производстве работают. И, собственно, вся магия происходит из того, что когда на кремниевую пластину наносится слой определенного металла или слой другого полупроводника, то он, скажем так, приобретает определенные электрические свойства. Поэтому он называется как бы полупроводник. То есть, в принципе, из названия можно так примерно себя понять, в чем суть.
-
Нужно объяснить. Есть вещи, которые проводят электричество. Это железный провод, который вы в розетку засовываете. А есть вещи, которые не проводят электричество. Вроде резины, которые этот провод опутывают, чтобы вас не ударило током.
-
А есть вещи, которые иногда проводят, а иногда не проводят. В зависимости от определенных условий. Так. В этом как бы и суть транзистора. как раз-таки реализует вот этот край. В какой-то момент люди подумали, что не очень удобно набирать схемы из отдельных транзисторов, и решили, что можно сделать кремниевую пластину. и на неё нанести нужное количество транзисторов, просто не разламывая их на отдельные части. То есть их можно напечатать на этой схеме. Есть общая подложка для всех.
-
То есть раньше, в самом начале, каждый транзистор был таким кусочком кремния, которому придали нужные свойства.
-
Ну да, был кусочком кремния, к нему там подпаивались отдельные выводы.
-
Ага, проводочками прямо соединялось. А сейчас, значит, у нас есть какая-то, вот ты назвал это, подложка, и на ней прямо рисуется схема, ну типа рисуется про транзисторы, да?
-
Да, мы там, если прям грубо говорить, то можем нарисовать эти транзисторы, но я сейчас могу немного объяснить, как там физически это делается.
-
Давай сначала про то, откуда подложка появляется. Ты сказал, что это кремний. Что такое кремний? Это металл? Это камень? Что это?
-
Кремний— это камень. В принципе, это один из самых популярных минералов в земной коре. Для процессоров он используется специальный, специальным образом подготовленный, естественно, очищенный, так называемый монокристаллический. И прежде чем получить подложку, сначала, собственно, готовят заготовку. Растапливают этот кремний в большой печи. очищают его определенным образом и начинают его вытягивать. Это довольно легко нарисовать на схеме, как это делается, но словами не так легко объяснить.
-
Так, значит, ты сказал, ее вытягивают. Значит, у нас есть условно бочка с этим растопленным силиконом, и дальше, я так понимаю, он как соль на ниточке начинает расти.
-
Только он не кристаллизуется, он как бы...
-
Остается таким одним большим как будто кристаллом, да?
-
В итоге это выглядит как одна такая большая колбаса, такая длинная, да-да.
-
Хорошо, какой диаметр у этой колбасы? Сколько она толстая?
-
Ну, насколько я знаю, в современных, например, там Intel, по-моему, 300 миллиметров используют.
-
300 миллиметров?
-
Пластины 30 сантиметров.
-
А, 30 сантиметров. Ну, если типа три руки или две руки вот рядом сложить и пальцы развести. Окей. Такая у нас есть цилиндр. Он длинный?
-
Какая итоговая длина, я не знаю, но там он большой, он там сотни килограмм весит, насколько я знаю, в итоге.
-
Окей. Вот мы сделали такую колбасу. Что с ней дальше происходит?
-
Потом ее нужно разрезать на маленькие блинчики поперек. Вернее, будет сказать «расколоть», потому что это как бы аморфная структура, её резать неудобно, её специальным образом раскалывают на мелкие.
-
Какой толщины блинчик?
-
Тонкий, не знаю. Если кто-нибудь когда-нибудь расковыривал процессор и рассмотрел на такую маленькую штучку, которая внутри под крышкой, то вы можете себе представить. Наверное, единицы миллиметров, примерно такого порядка, я думаю, но могу ошибаться. Да-да-да. И забавно то, что их называют на русский язык вафли, вейфер. Я сначала удивился, но окей. Потому что когда на этих блинчиках вытравили процессора, они выглядят как вафли.
-
Так-так-так, не прыгай. Вот мы сделали блинчики, что с ними дальше сделаем?
-
Потом их, естественно, готовят, правильно шлифуют.
-
Их полируют, да, чтобы они были ровненькие?
-
Да, механические операции делают. Затем нам нужно сделать литографию. То есть нам нужно сначала придать правильную физическую структуру. Мы наносим тонкий слой фотополимера. Это жидкость, которую мы намазываем на эту пластину. Причем там намазывается тоже специальным образом. Я как-то общался с парнем, который знаком с процессом, и намазывается он так, что капают каплю этого полимера на центр и начинают раскручивать с определенной скоростью эту пластину, чтобы он там специальным образом равномерно был нанесен.—
-
А, то есть чтобы капля растеклась.—
-
Да-да-да, чтобы везде был слой одинаковый. Затем мы должны взять трафарет определенный и через этот трафарет посветить на фотополимер. Затем те части, на которые свет не попал, то есть, которые были под трафаретом, они смываются, вернее, не просто смываются, а мы погружаем эту пластину в какой-то там едкий раствор. которые там, где этого фотополимера нет, начинают растворять кремний, например.
-
Начинают растворять кремний. А там, где мы засветили светом это специальное вещество, оно защищает кремний от этой едкой жидкости?
-
Да. Затем мы покрываем всё это дело, например, металлом или тем материалом, который нам необходим для получения…
-
Вот этого специального полупроводникового свойства кремния.
-
И затем мы повторяем эту процедуру, берем следующий трафарет, и таким образом мы слой за слоем получаем всю физическую структуру, которая нам нужна. Прям сверху еще раз рисуем, еще раз рисуем, наносим, потом еще раз и так далее.
-
То есть у тебя на одной этой вафле много-много слоев транзисторов, этих логических блоков. Какой размер транзистора, какой размер рисунка, который мы рисуем на этой вафле размером 30 сантиметров?
-
Вообще TSMC декларирует, что, по-моему, 5-нанометровые сейчас выходят.
-
5 нанометров. Так, давай с чем-то сравним с тем, что у нас есть. Ну, например, волос. Сколько нанометров ширина человеческого волоса? Я сейчас загуглил, честно говоря. 100 тысяч. 80 тысяч. То есть, эта штуковина в 20 тысяч раз тоньше, чем человеческий волос.
-
Да, визуализировать очень тяжело. И отсюда, кстати, исходит одна из ключевых сложностей, почему производство процессоров такое сложное и дорогое. Почему там, например, в России не могут купить какой-нибудь станок для того, чтобы это все делать и начать делать свои процессоры хорошие, ну, в смысле, с аналогичным техпроцессом. Потому что если мы погуглим, какая длина волны света, например, то мы увидим, что она намного больше, чем 5 нанометров.
-
700 нанометров примерно, да.
-
Да-да, то есть видимый свет, наверное, заканчивается где-то на 700, дальше начинаются разные там ультрафиолеты, рентген и так далее. И нам в конечном итоге задача сложна тем, что свет имеет большую волну, чем нам нужно получить элемент, подложки.
-
Я сейчас пытаюсь придумать аналогию, как это объяснить.
-
Нам нужно большущим топором вырубить очень маленькую какую-то детальку.
-
Ну да, тебе нужно условно в иголочное ушко просунуть, не знаю, трос.
-
Да, и там разные очень сложные физически вступают в дело процессы, вроде разных свойств интерференции, чтобы сделать вот эти подложки, это на самом деле не один трафарет, а их несколько штук, так, чтобы с помощью всяких оптических явлений типа интерференции правильно это преломлялось и так далее. То есть это очень сложная такая научная задача, как это сделать, и инженерная тоже. Таким образом, это забегает вперед. В первом приближении мы остановились на том, что это трафарет, мы на него светим, убираем лишние слои, потом наносим металл или какой-нибудь другой полупроводник, делаем несколько итераций. Потом у нас получается подложка, что мы понимали, мы рисуем на ней сразу много процессоров. Сразу много кристаллов.
-
А, то есть вот этот 30-сантиметровый блин, это не один процессор, а его потом нарежут на много-много?
-
Да, именно так. Его потом разрезают на отдельные чипы, на отдельные кристаллы. И, кстати, вот 300 миллиметров, раньше были меньше, но чем пластина больше, тем у нас меньше, ну там, для испорченных чипов по краям остается и так далее.
-
Ну потому что чип квадратный, а штука у тебя круглая.
-
Большая полезная как бы площадь получается в результате. Потом эти чипы тестируются. Я сейчас вот скажу, может быть, такую для многих людей ужасную вещь, но, возможно, они догадывались о ней. Но когда вы покупаете, например, процессор фирмы Intel одного поколения, но разные модели.
-
Есть более дорогие, есть более дешевые.
-
Да, с разным количеством ядер. Очень может быть, что они с одной пластиной, просто некоторые получились, и они... Их можно продать более дорого, как хорошее. У некоторых два ядра не заработало. Их можно упаковать и продать не восьмиядерные, а четырехядерные, если четыре ядра не запустилось, например, так. Ядра—
-
это такие маленькие процессоры внутри процессора, на самом деле.
-
Да, да.
-
То есть получается, что на эту вафлю пытаются нарисовать много классных процессоров с большим количеством ядер, но иногда какие-то ядра запарываются.
-
Да, да, выход годный. Есть такой параметр у народа, который работает на производстве, и часто они так шутят, что на самом деле у производство есть три параметра— это выход годных, выход годных и выход годных. Это очень важный параметр, когда производственная линия важная, какой процент из процессоров, произведенных, можно использовать, потому что часть из них просто выбрасывается сразу. И, кстати, этот параметр, насколько я знаю, держится в секрете в целом, то есть это такая секретная штука, которую конкуренты как-нибудь могут использовать.
-
Офигеть. И вот мы как бы попытались сделать кучу классных ядер в каждом процессоре, но часть ядер получились не очень, и мы их просто отключаем и продаем этот процессор как более дешевый.
-
Да, примерно так. И это связано с тем, что производство вот этого трафарета – это невероятно дорогая штука. Я вот сейчас опять боюсь наврать, но это там инвестиции порядка миллиардов долларов нужно, чтобы сделать вот этот трафарет. И поскольку это невероятно дорого, логично сделать только одну такую штуку, а там дальше уж как получится. У Intel есть своя фабрика, на которой все физически производятся. Физически вот эти все трафареты, это все Intel умеет делать.
-
А как у остальных? Как у Apple?
-
Да, в то же время, например, можно начать с AMD.
-
AMD – это конкурент Intel.
-
У AMD до какого-то времени тоже был такой же подход. У них тоже были свои фабрики в Америке. Но в какой-то момент они решили, что поскольку переход на каждую следующую архитектуру, он стоит дороже, чем переход между 14 и 10.
-
То есть научиться рисовать транзисторы поменьше – это очень дорого.
-
Да, да. И они в какой-то момент решили, что поддерживать свои фабрики, их содержать и развивать – это нерентабельно, одни от них отказались, и теперь просто заказывают производство. Наверное, в Тайване где-нибудь там TSMC есть, полупроводников как раз таки.
-
Да, это такая очень важная компания. Это компания, которая производит чипы для всех. То есть ты присылаешь схему, что нужно нарисовать на чипе и как его нужно обжечь потом, и TSMC. Для Apple, для AMD и для еще, наверное, ну то есть типа для большинства компаний.
-
Для всех, кто хочет сделать современный процессор, еще и умеют делать Samsung, Самсунг, по-моему, для телефонов сам делал на себе. Ну, в общем, в мире надо понимать, что существует... По пальцам одной руки можно пересчитать компании, которые умеют делать с сопоставимым техпроцессом. 10 нанометров, 14 нанометров, ну и ниже.
-
Ты имеешь в виду, что компании, которые могут взять кремний и сделать из него уже железку? То есть это физическое производство?
-
Да, да.
-
Офигеть. Мне кажется, ракеты космические делают больше компаний.
-
Ну да, учитывая, что смотря, конечно, в какой космос люди хотят запустить ракету, но в целом это не настолько сложная техническая задача. Потому что просто так, если какой-то чувак такой завтра встанет с дивана и скажет, если я хочу фабрику, то инвестиции в нее, то есть в принципе не знаю, у кого может хватить денег для того, чтобы сделать. Потому что все фабрики, которые есть, все компании, которые это делают, надо понимать, что это и какая-то инженерная школа, она развивалась итерационно, то есть каждый шаг, переход на более мелкий техпроцесс, он как бы спонсировался продажами с предыдущих, с того, что ты произвел по старому техпроцессу, и таким образом компания, их опыт и так далее дорастал до этого уровня, когда вот их есть 4 штуки в мире не умеют это произвести. Если сделать сейчас новую компанию и попытаться произвести 10-нанометровый процессор, то очень вероятно, что ничего не получится. Бутылочное горлышко здесь, кстати, довольно интересно. Есть условно 4 компании, которые умеют производить процессоры, но станок, который умеет засвечивать правильно вот этот фотополимер, умеет производить одна компания. Она монополист, она только умеет делать эти станки, которые умеют, ну вот то, что я говорил, Тебе нужно светом с большой
-
длиной волны нарисовать маленькую картинку.
-
Да, нарисовать маленькую картинку. Только одна компания умеет делать станок для того, чтобы это произвести.
-
Да, это компания ASML, и это прям, ну типа, реально одна компания в мире умеет производить такие железки.
-
там какая-то невероятно сложная физика, и больше никто это не может сделать.—
-
И еще есть такой отдельный прикол, что эти технологии охраняются лучше, чем, мне кажется, любое другое знание на свете, и Китаю, например, их специально не продают, чтобы Китай не имел возможности производить такие самые современные процессоры самостоятельно. Окей, мне кажется, стало достаточно понятно, как делается процессор. Я понимаю, что каждый шаг этой процедуры— это десятки людей с гигантскими зарплатами и заводы стоимостью миллиарда долларов, но процесс, в принципе, мне кажется, понятен.
-
Концептуально, да. Просто делаем много транзисторов на маленькой площади.
-
Чем отличаются процессоры старые от процессоров новых? Как можно улучшить процессор? И вот ты начал рассказывать про количество транзисторов.
-
Это наиболее примитивный способ улучшения, самый прямой, в лоб. уменьшая размер транзистора. Для того, чтобы этот транзистор работал, нам нужно меньшее напряжение и, соответственно, меньше тепловыделение будет. А раз тепловыделение меньше, значит, их можно напихать ещё больше на маленькой площади и не получить перегрев.
-
Слушай, тут прям важный момент. Мне кажется, многие люди не понимают, что одна из проблем вообще электроники в том, что когда ты используешь электричество, 99% этого электричества уходит не на полезную работу вычисления, а просто в тепло превращается.
-
Да, безусловно. Если процессор, на нем написано 18 ватт, то нужно понимать, что эти 18 ватт нужно куда-то рассеять, от него отвести и рассеять.
-
Потому что иначе у тебя эта деталь просто перегреется. Процессор перегреется и расплавится к чертовой матери.
-
Одно дело, когда он просто, у него как-то линейно повышается температура, и там начинается так называемый троттлинг, когда в процессоре встроен механизм понижения частоты, если он слишком сильно нагрелся, просто чтобы он не разрушился. Это часто в ноутбуках проблема, потому что система охлаждения не справляется.
-
Купил мощный ноутбук, а он не успевает охладить процессор, и поэтому процессор работает как слабенький.
-
Да-да-да, так часто бывает. И есть более, скажем, проблема такая, если ее чуть-чуть копнуть, то выяснится, что там отдельные узлы процессора, они могут нагреваться сильнее, а датчик где-то там на расстоянии стоит на нем, и пока это все дело до него дойдет, то какие-то узлы уже перегреются, это начнет плохо работать, транзисторы, естественно, в каких-то пограничных состояниях работают. Ну, скажем, у них вот это их характеристики транзистора, они зависят от температуры всегда.
-
Он начинает себя вести не так, как мы ожидаем.
-
Да, да, да, и он может какие-нибудь ошибки начать выдавать или что-то такое. В общем, чем меньше размер транзистора, тем он меньше выделяет тепла. Tick-Tock («тик-так»).
-
TikTok?
-
Да-да, до того как это было мейнстримом, интел уже был свой тикток. Да, это идеология такая, выпуска новых продуктов, когда на одном шаге, но это неважно, важно то, что на одном шайке мы улучшаем техпроцесс, а на следующем улучшаем архитектуру.
-
То есть ты сказал, что техпроцесс – это как раз размер того, какой он нарисован.
-
Да.
-
А архитектура – это что такое?
-
Ну, архитектура – это то, как внутри логически устроен процессор. Сколько у нас разных вычислителей, блоков на нем, то есть все, что не касается размера транзисторов – это архитектура.
-
Ты очень просто интересную штуку рассказываешь про то, что у процессоров есть поколение. Мне просто казалось, что каждое следующее поколение процессоров— это на самом деле новый завод или перестройка существующего завода для того, чтобы он начал производить новый процессор.
-
И это так и есть, потому что зачастую, особенно если меняется техпроцесс, то это безусловно так и есть, потому что Переход с 10 на 5 нанометров, с 10 на 7. Это не просто мы поменяли какой-то станок. Это мы чуть ли не целое здание должны новое построить для того, чтобы у нас этот переход сросся.
-
Я просто читал, что стоимость этого завода может достигать 2 миллиардов долларов. Просто реально одно здание стоит 2 миллиарда долларов.
-
Да, да, так и есть. И прикол в том, что зачастую модифицировать существующий завод нерентабельно. Просто строят новый завод под новое поколение. Ну либо какие-то там новые цеха строят и так далее.
-
Какие способы улучшения процессора есть? Вот первый ты назвал это уменьшение размера и соответственно увеличение количества транзисторов на плате.
-
Кстати вот есть такая штука как закон Мура, может быть кто-то тоже слышал. Был такой Один из основателей Intel, который в свое время сказал, что каждые 18 месяцев количество транзисторов на плате будет удваиваться, и стоимость их тоже будет сокращаться вдвое, насколько я помню закон. Это такой эмпирический закон, естественно, он не какой-то не математический. И до недавнего времени это удавалось поддерживать. То есть люди, которые немного знают математику и понимают, что такое прогрессия, они себе представляют, насколько это стремительно в два раза каждые 18 месяцев, уже на протяжении десятков лет, следовать этому закону. Да, и, кстати, важное следствие увеличения количества транзисторов на плате, мы можем безболезненно немножко повышать частоту.
-
Можешь про это тоже рассказать, пожалуйста?
-
Тактовая частота— это то, сколько инструкций за одну секунду может выполнить процессор. Чем она выше, соответственно, тем... Тем быстрее
-
все блоки работают вместе в синхроне. То есть вот процессор, который у меня был, он сто миллионов раз в секунду что-то считал, а современный процессор считает в тысячу... нет, в две тысячи раз больше за одну секунду делает операции.
-
Примерно так, да. И это как раз одно из следствий уменьшения размера транзисторов.
-
Какие еще физические такие, не логические, мы про это сейчас поговорим, а вот физические еще как можно улучшить? Ты сказал, что можно размер уменьшить, можно частоту увеличить, причем это связано друг с другом. Еще какие-то есть параметры, которые можно прям физически потрогать?
-
Ну можно разве что какие-нибудь придумать более эффективное отведение тепла, технологии, там на этот счет тоже часто статьи выходят, там придумывают какие-то разные материалы, как его отводить более эффективно и так далее. он будет работать побыстрее в целом. И, опять-таки, прямое следствие, мы сможем увеличить частоту.
-
Что неделы пытаются увеличить частоту.
-
В принципе, это уже к логическому, побольше ядер туда напихать.
-
Вот давай про логические поговорим, очень интересно.
-
Можно подумать над тем, как более эффективно делать эти вычисления. Первое – это сделать несколько логических ядер и вычисления делать параллельно. То есть человек последовательно их делает, мы сажаем троих, И они втроём параллельно уравнение решают. Ну и мы, значит, можем увеличить количество физических ядер.
-
Да, это называется многоядерность. Это как раз то, что у нас вот есть в современных процессорах. Что еще можем?
-
Дальше уже идут какие-то архитектурные изменения.
-
А, это уже прямо совсем логические, то есть то, как мы считаем. Давай про это поговорим, потому что это дико интересно.
-
Ну, то, как мы считаем. Или, например, у нас эти разные ядра соединены шиной, я сказал шиной, и сейчас понял, что нужно, наверное, объяснить.
-
Способ передачи информации.—
-
Да-да-да, соединены проводами друг с другом, чтобы одно ядро общалось с другим, и все эти ядра общались с памятью, и мы можем улучшить, например, эту шину, чтобы она была быстрее, мы можем её как-то логически улучшить и так далее. придумать новую, придумать кристалл этот, он хоть и выглядит для человека одним целым, на самом деле там внутри очень много устройств.
-
Тут надо пояснить, кристалл это, есть эта самая вафля.
-
Да, как мы уже говорили, там есть вычислительные ядра, есть память, все это можно Более эффективно скомпоновать, например, память как-то суметь поближе к вычислительным ядрам поставить.
-
Ты имеешь в виду прямо физическое расположение имеет значение?
-
Да, да, безусловно, да, конечно. Там длина дорожек, которые соединены, поскольку у тебя там происходят какие-то Безумное количество операций у тебя на каждой.
-
И они все гоняются по этим дорожкам, и чем короче дорожка, тем выгоднее.
-
Да, понятно, что там практически со скоростью света передается сигнал, но тем не менее, когда у тебя такое количество операций, это все накладывается в отпечаток.
-
Окей, мы научились делать много ядер внутри одного процессора, они параллельно работают. Дальше мы, я так понимаю, увеличиваем просто размер кэша. Это, кстати, еще один параметр, который часто пишут у процессора, типа размер кэша. Чем больше информации храним ближе к процессору...
-
Да, мы можем увеличивать его размер, мы можем придумать какие-нибудь новые инструкции, которые будут более эффективно какую-нибудь задачу делать.
-
Это, видимо, про копроцессоры, да, ты уже начинаешь говорить?
-
Нет, инструкция это буквально, у нас есть вычислительное ядро, оно состоит не просто из и, не и так далее, там существуют более сложные инструкции, которые на вход принимают не два значения, а больше.
-
Делают что-то более сложное.
-
Да, если у нас есть какая-то бизнес-задача, у нас на всех локтопах Все люди запускают программу, которая делает определенную вещь типичную.
-
Ну, например, браузер, и в нем есть шифрование.
-
Да, вот, шифрование – хороший пример. Мы можем сделать буквально из транзисторов собрать такой блок, который будет делать шифрование за один такт.
-
То есть мы часто выполняем мы логические задачи, делаем прямо в железе, и за счет этого получается быстрее.
-
Да. Мы можем собрать вот такой блок и ускорить таким образом какие-то рутинные задачи.
-
Я хочу еще два слова ругательных назвать, и чтобы ты мне их чуть подробнее объяснил, и для мамы тоже. Первое – это спекулятивное исполнение. Что это такое?
-
О, да, спекулятивное исполнение – это, наверное, все узнали у Intel из-за спекулятивного исполнения. Для того, чтобы вычисления делались как можно быстрее, инженеры пошли на очень много ухищрений. Если просто сказать, что вычисление – это такой конвейер, который последовательно молотит, это не совсем правильно. Спекулятивное исполнение – это когда процессор может предсказать, какую инструкцию ты, скорее всего, исполнишь следующей.
-
Захочешь исполнить следующий от него.
-
Да, захочешь исполнить следующий, и он ее заранее исполнит. результат у него будет на готове, когда ты ее захочешь исполнить, скажем так. Если это вот спекулятивное исполнение.
-
Следующее ругательное слово— reordering. Я не знаю, как по-русски это произнести. Перестановка в операции местами. Давай я попробую, а ты меня как бы поправишь, если вдруг я скажу глупость. В процессоре есть много блоков вот этих логических, про которые ты говорил, да? Кто-то складывает, кто-то умножает, кто-то шифрование делает. Они делают разные задачи, их много. Быстрее всего процессор работает, когда все блоки всегда загружены, то есть когда они все выполняют работу, никто не простаивает. Программы пишут так, что порядок операции такой, что сначала один сильно нагружается, потом следующий сильно нагружается. и процессор может понять, что они логически не связаны, что некоторые команды можно запустить параллельно, некоторые вычления можно запустить параллельно, и он берет много команд, у себя их выполняет в таком порядке, как ему удобно, а потом обратно возвращает к пользователю в том порядке, в котором он попросил. То есть он под капотом переставляет команды местами.
-
В целом, да, умеет определять и оптимизировать внутри у себя исполнение. Хорошо.
-
Вот мы сейчас с тобой разобрались, как вообще устроены процессоры. Теперь я хочу вернуться к сегодняшнему дню. Буквально несколько месяцев назад компания Apple представила новые процессоры M1, которые она придумала сама и на которых она сейчас начала продавать компьютер, ноутбуки. И они прямо офигенно классные. У меня и так как раз ноутбук. И я хочу с тобой вместе разобраться, чем процессоры от Apple отличаются от процессоров от Intel. От процессоров, на которых работают сейчас большинство компьютеров в мире.
-
Они отличаются тем, что, во-первых, используют разную архитектуру. У Intel это CISC, расширенный набор инструкций, а у ядер ARM это RISC, то есть reduced, минимальный набор инструкций, скажем так.
-
Слушай, я всё-таки для мамы должен пояснить про то, что большинство компьютеров на свете работают на процессорах Intel или AMD. Они все работают на архитектуре x86. Это прямой потомок того компьютера, который был у меня дома 15 лет назад. Процессор Apple, у него другая родословная. Это прямой потомок процессоров, которые живут у нас в телефонах. Это на самом деле брат процессора, который у нас сейчас в iPhone и в Android даже. Это процессоры ARM.
-
Есть довольно печальная для Intel история про то, почему в телефоне сейчас находится ARM, а не, в частности, в iPhone. Находится ARM, а не Intel процессор. Связано это с тем, что в свое время телефоны босса Intel воспринимали как какой-то перспективный рынок. И когда Стив Джобс пришел и сказал, что мы хотим выпустить такую штуку, как iPhone, давайте мы сделаем процессор для него вместе, Интел подумал, что это не очень маржинальный рынок, какие-то телефоны. Мы тут продаем сервера и у нас все в порядке в целом. Иди ты, Стив Джобс, подальше, мы тебе не будем никакие процессоры для телефонов. Именно поэтому сейчас в телефонах не Intel.
-
Телефонах не Intel, а ARM, конкурирующая архитектура. Ты сказал, что в ней меньше вариантов инструкции.
-
Если в x86 для того, чтобы получить какую-то новую фичу или новую какое-то вычисление сделать. Всегда брали и добавляли какую-нибудь новую инструкцию, которая более сложную вещь делала. И из-за этого x86 имеет огромное количество инструкций. Я не знаю, какое там точно количество, но их очень много. Риск архитектуры в этом смысле более современная. Там немного другая идеология. Если тебе что-то сложное нужно сделать, то ты не переживаешь от того, что тебе больше тактов нужно использовать или еще что-то такое. Ты просто Исполняешь то же самое, но у тебя больше строка семблерного кода это занимает.
-
Intel делал все более сложные и более такие продвинутые команды, а ARM оставался простым. Для пользователя важно, что ARM потребляет гораздо меньше электричества, гораздо меньше батарейки. Почему процессоры, ну вот вроде они для телефона, у них более вроде простые команды, а новые ноутбуки на их основе работают даже быстрее, чем ноутбуки на Intel процессорах? Почему? Они же более простые.
-
Потому что, как я уже, во-первых, сказал, Intel всегда добавлял новые инструкции. Ну, скажем, приходит какая-нибудь компания, которая занимается вычислениями, и говорит, нам нужна такая инструкция, мы у вас купим сервер. Intel говорил, окей, мы вам добавим инструкцию, но надо понимать, что фарш обратно не прокручивается. Если ты один раз добавил инструкцию в свою архитектуру, то будь добры, его теперь поддерживать всегда. Intel поддерживает огромную кучу инструкций, которые на самом деле большинству пользователей не нужны и даром.
-
В программировании это называется legacy, когда ты что-то запрогал, убрать не можешь и приходится тратить силы и развитие.—
-
Ну да, именно так. И проблема в том, что ты не можешь убрать, потому что обязательно кто-нибудь, какой-нибудь программист эти инструкции где-нибудь использовал, и ты не можешь потом сказать, что у тебя совместимость есть.—
-
А, если Intel сейчас выкинет какую-то операцию, то программы, которые работали раньше, перестанут работать на свежих моделях процессоров.
-
Да-да, суть-то в том, что когда ты говоришь, что x86, совместимость и все такое, а человек вставит себе x86 процессор и обнаружит, что его программа перестала работать.
-
Перестанет покупать — скорее в этом проблема.
-
И поэтому Intel, во-первых, должен это поддерживать, во-вторых, надо понимать, что если раньше такой подход, он имел больше смысла, потому что Сейчас большую роль приобрела оптимизация именно софта. Ты зачастую можешь обойтись более простым набором инструкций, но ты можешь оптимизировать это все на уровне твоей программы, сделать более эффективный компилятор. Компилятор— это такая штука, которая переводит код, который пишет программист на языке высокого уровня в машинные инструкции.
-
Для процессора.
-
Да, для процессора, который понимает процесс. Ты можешь сделать более эффективный компилятор. В общем, есть очень много способов оптимизации, которые не включают в себя чрезмерное усложнение самого кристалла. У тебя освобождается площадь на кристалле за счет того, что тебе не надо поддерживать легось, у тебя нет кучи инструкций, которые ты большую часть времени не используешь и так далее. То есть это такой В своё время такой подход, как применяет x86 и расширенный набор инструкций, был более оправдан за счёт того, что оптимизации софта были не так хорошо развиты. Было больше смысла, ну скажем, оптимизировать с этой стороны.
-
Делать железо более крутое. А теперь можно сделать больше тупого железа и написать для него классную программу. Получается, Intel-у надо поддерживать внутри процессоров команды, которые нужны только каким-то очень редко используемым программам. А Apple просто делает много-много транзисторов для того, что люди используют часто, а редко используемые вещи. Apple просто не делает для них ничего особенного, поэтому и такие программы работают помедленнее.
-
Да, они просто медленнее работают.
-
Есть ли еще какие-то важные различия?
-
Ну, мне кажется, что различия в целом в идеологии и в подходе – это как бы ключевое, что есть.
-
Я тогда просто проговорю то, что я нашел в интернете. Вообще, про это очень интересно, что на многие вопросы даже эксперты отвечают, что мы как бы не знаем, но у них как-то получилось сделать очень классно. Но вот то, что известно, это то, что там очень большой кэш, И за счет того, что кэш большой, они могут как раз вот эту перестановку операции местами делать гораздо более глубоко, чем процессор x86. Еще одна штука, о которой говорят все, это то, что этот процессор— это система на чип. То есть гораздо больше элементов, которые раньше были отдельными на материнской плате, Apple просто собрала много элементов на одном чипе. То есть у нас вот один кристалл, то, что ты рассказывал вначале, и за счет этого гораздо эффективнее работает за счет того, что много компонент, которые раньше были отдельными элементами на материнской плате, теперь прямо на одном кристалле. Окей, финальный вопрос, который мы задаем всем. Профессионально, что в интернете есть классного? Про схемотехнику, про процессоры или то, чем ты занимаешься?
-
Был такой прикольный блог, я уже давно, правда, на него не заходил, назывался Easy Electronics, и там прям много содержательного материала было, и я часто на нём зависал. Ещё есть DI HALT, который пишет довольно клёвые туториалы и разные материалы про программирование микроконтроллера. Это прям классно. Ну, я фактически по его каким-то статьям там учился это всё делать. А из современного я читаю спецификации на на разные IP-устройства, которые приходится дебажить и моделировать, к сожалению. Зачастую этим ограничивается мое чтение профессиональной литературы.
-
400 страниц текста.
-
Да, кстати, мы начали с тобой говорить, и я там говорил предложение или там несколько новых терминов, которые мы маме объясняли, чтобы слушатель понимал, как работа зачастую строится. В компьютере много IP, а в команде мало людей. И так получается, что зачастую тебе приходится работать, тебе приносят баг какой-то в IP, это вокальный девайс, тебе нужно что-то на нем дописать или что-то исправить. И ты не знаешь, как он работает, но ты можешь всё знать, ты как бы примерно знаешь, какую он функцию выполняет. Ты открываешь спецификацию, в которой там 700 страниц. Читаешь первое предложение и такой, так, первые пять слов. Что они означают? Ещё надо понимать, я не знаю, мне кажется, интовские архитекторы особенно любят использовать сокращение. И это просто ад. Ты пока продерёшься через это всё и поймёшь, Особенно когда ты в теме только вот открыл. У меня там есть несколько тем, которые я понимаю, но часто приходится работать с тем, чего я не понимаю. Это вот то, чем мы занимались в самом начале. Ты чувствуешь себя той самой мамой и начинаешь читать всякую интересную литературу и всякий интернет на эту тему.
-
Обалдеть! Лёша, спасибо тебе огромное. Мне было дико интересно и очень приятно с тобой познакомиться. И ты рассказал очень много интересного. Спасибо тебе.
-
Обращайся. Пока.
-
Это подкаст студии Либо-Либо, и мы его сделали вместе с сервисом онлайн-образования Яндекс Практикум. Над подкастом работали редактор Юлия Яковлева, продюсер Павел Боровков, звукорежиссер Нина Мамотина. За джингл спасибо Алексею Зеленскому.