Как стать автором
Обновить

Проектные нормы в микроэлектронике: где на самом деле 7 нанометров в технологии 7 нм?

Время на прочтение12 мин
Количество просмотров125K
Всего голосов 157: ↑157 и ↓0+157
Комментарии148

Комментарии 148

Что за бред про закон Мура. Не «должно удваиваться», а «было замечено, что удваивается». Весь этот «закон» — банальное эмпирическое наблюдение.
Не бред, а маркетологи Intel сказали технологам, что «должно удваиваться, делайте, что хотите», и технологи потом сорок лет отдувались.
… сорок лет удваивались по пустыне.
Ну не прям все 40 лет отдувались именно технологи Интела. Еще во второй половине 90-х Интел на фабрики по производству процессоров ставил б/у оборудование с японских фабрик по производству памяти. Да и в тексте статьи, обратите внимание, техпроцесс меряют не по логическому гейту или сумматору, а по ячейке памяти.
Ну не прям все 40 лет отдувались именно технологи Интела.
Ага, отдувались технологи не только Intel, но и всей остальной микроэлектронной отрасли. И до сих пор отдуваются.
А ячейка памяти как важное мерило техпроцесса, я думаю, не имеет отношения к японским установкам (точно не знаю об этом, но предположу, что там были фабрики DRAM, а не SRAM).
Мерить по логическому гейту или сумматору неправильно, потому что их можно нарисовать очень разными способами (сумматора я штук пять схем сходу могу набросать), исходя из разных потребностей и ограничений. Инвертор, например, никогда не бывает минимального размера, потому что подгоняется под геометрические ограничения большой библиотеки, и конкретно инверторы там редко можно оптимизировать по площади. А вот 6Т-ячейка SRAM — это как раз тот блок, который есть вообще у всех, и который все оптимизируют именно по площади, а не по каким-то другим параметрам.
*шёпотом* вы указываете на текст статьи автору этой статьи.
*шепотом* Бывали случаи, когда с каких-то левых сайтов приходили люди и требовали у автора удалить текст, потому что он скопирован/украден с их сайта, а потом делали удивленное лицо после резонного замечания о том, что на их сайте текст появился на два дня позже, чем на хабре.
Ну… как автор немалого количества статей в разнообразных изданиях, могу сказать, что большую часть статей к моменту публикации я читал как в первый раз…
Но да. Есть у меня косяк, на авторство статей смотрю далеко не каждый раз. А то бывало, сидишь на ресепшене какой-нибудь конторы в ожидании митинга, листаешь антикварный журнал, смотришь, статья интересная, и автор как-то прям вот высказывает мысли, очень похожие на мои, хотя я и не во всем согласен. Потом смотришь, кто автор… упс… это, оказывается, я три года назад…
На хабре с этим попроще, всегда есть возможность в последний раз прочитать собственную статью (и переписать половину) прямо перед нажатием кнопки «опубликовать».
А для обычной печати — такая же история, к моменту выхода одну половину текста забыл, другая успела стать нерелевантной, потому что пришли новые данные. Сам себя не читал с интересом, а вот другим людям пару раз приносил их статьи со словами «Смотри, какую крутую нашел!»
Маркетологи поняли простую штуку: закон Мура носит экономический характер.
При таком темпе роста отрасль получает наибольшую прибыль. При меньшем темпе рынок затоваривается, при попытке сделать рывок не находится большого спроса.
Вот и выжимают из физиков, инженеров и схемотехников определенный темп.
Верно, все именно так и было. Ну разве что началось не с маркетологов, а с Мура. Зато именно они были теми, кто подхватил идею и развил ее практически до абсолюта.
и не за два года, а за 18 месяцев
3D-интеграция напомнила текст из какой-то старой книги, в которой говорилось о перспективах миниатюризации в сборе печатных плат стопкой друг над друге в микромодуль или микросборку (название не помню).
Микросхемы так уже пакуют друг на друга внутри одного корпуса. В самом конце статьи есть ссылка, я подробно писал об этом пару месяцев назад.
Но мечтой остаётся сделать так, чтобы прямо на одном чипе много слоев транзисторов. Такое сейчас частично есть только во флэш-памяти.
А проблему охлаждения начинки такого пирога каким-нибудь образом научились решать?
НЯЗ, сейчас есть заметная проблема в многоядерных процессорах — охладить камень при работе всех ядер вместе.
Эта проблема есть не только в многоядерных процессорах, а практически в любой микросхеме, выполненной по маленьким проектным нормам. Возможность интеграции давным-давно опередила возможности теплоотвода, и проблемы, связанные с dark silicon, занимают много внимания и у промышленности, и у ученых. Сейчас в редком процессоре можно надолго включать больше половины площади, и никуда не деться от всевозможных фич для экономии энергии — динамического управления питанием отдельных ядер, навороченной малопотребляющей логики и т.д. и т.п. Мобильные устройства являются важным драйвером экономии энергии, но даже в них часто приходится изворачиваться с экономией не для удлинения времени работы от батареи, а для защиты от перегрева.
С другой стороны, большая часть современных чипов — это память, а она гораздо больше времени хранит данные, чем получает или отдает. Поэтому, собственно, именно память сейчас в основном и пакуют в многоэтажные пироги.
Исследования возможностей по повышению теплоотвода, разумеется, идут, я видел в статьях все, вплоть до встроенного в чип жидкостного охлаждения по протравленным в объеме кремния каналам, но до серийного производства пока ничего из радикальных предложений не дошло. Зато Intel вроде бы возвращается к припою вместо термопасты)
Ещё по поводу теплоотвода. Сама по себе медь конечно хорошо проводит тепло. Но если мы уменьшим какой-то размер медного контакта до 7.2 нм (или скажем техпроцесс станет таким в терминах рисунска 17), то может будет совсем другая физика процесса «проводимость металлов». Все же металл хорошо описывается совокупностью многих атомов, а постоянная решетки у меди (конечно крупномасштабного куска) — 0.3615 нм. А для металла теплопроводность весьма сильно связана с электропроводностью (основной способ переноса тепла — именно электроны).
Это я в том смысле, что протравливая внутри кристалла жидкостное охлаждение его явно не стоит изготавливать в виде канала шириной несколько «лямбд». Там «разогретым» молекулам воды будет не так просто двигаться от более холодных горячих частей кристалла к чему-то холоднее.
скорее всего только водород и гелий смогут нормально двигаться по таким каналам
Так подобное делается, например, в айфонах, начиная с X. Там 2 платы спаиваются в единый пакет через плату-переходник с фрезеровкой.
m.eet.com/media/1302573/mSAPstackedboards1.png
А на сколько честно говорить про площадь, если ячейки перестали быть «плоскими»?..
Понятно что маркетологи и упаковка, но разве теперь не надо говорить про объём ячеек?
Или это связано с тех процессами и ключевой характеристикой всё ещё остаётся площадь?
Про площадь говорить все еще честно, потому что, несмотря на то, что транзистор стал трехмерным, топология схемы целиком продолжает оставаться двухмерной. Пока в несколько слоев транзисторы не начнут укладывать, или пока в кэш-памяти SRAM не заменят на MRAM или ReRAM (что, вообще говоря, может произойти довольно скоро), площадь ячейки памяти будет нормальным критерием плотности упаковки.
>или пока в кэш-памяти SRAM не заменят на MRAM или ReRAM

А здесь откуда возникнет трехмерность?
Трехмерность не возникнет, возникнет отсутствие типового элемента сравнения в виде оптимизированной донельзя, но при этом содержащей целых шесть транзисторов обоих типов ячейки SRAM, и придется что-то другое брать за ориентир.
НЛО прилетело и опубликовало эту надпись здесь
А что это даст с точки зрения преимуществ?
Экономию электричества в первую очередь. Экономию места на кристалле — во вторую.

Насколько рационально с процессором размещать НВМ1/2/3 память? То есть чтоб получился чип в себе и с нормальным видеядром?
Насколько я понимаю, AMD совсем скоро продемонстрирует положительный ответ на этот вопрос.
GPU Fiji уже делаются так, и я думаю, что до APU тоже скоро дойдет очередь.
НЛО прилетело и опубликовало эту надпись здесь
Ну, кэш первого и второго уровня HBM, я думаю, не заменит, там все же совсем маленькие задержки нужны, а вот про трейти уже можно говорить. Но это сильно зависит от архитектуры процессора, в частности, от размеров кэшей первого и второго уровня.
Глобально — раз в GPU это востребовано, то и в CPU может быть востребовано, если все правильно сделать.
Площадь важна из-за себестоимости, т.к. меньше площадь — больше чипов на пластине, меньше площадь — больше годных чипов при одинаковом проценте брака и т.п.
Себестоимость и есть настоящий закон Мура, смысл которого в том, что количество транзисторов удваивается, потому что их себестоимость падает соответственно вдвое. Но увеличивающиеся расходы на освоение новых норм производства убивают эту зависимость. Стоимость производства одного транзистора на 14нм выше чем 28нм. Пока это компенсируется преимуществами в потреблении энергии. Но себестоимость опять вырастет при переходе на 10, 7 и 5 нм.
НЛО прилетело и опубликовало эту надпись здесь
А тепло кто и как отводить будет? И так уже смешные 50-100вт стало не так просто отводить, а отключения неиспользуемых в данный момент блоков и динамические управления частотами стали само собой разумеющимся — и далеко не только ради экономии батарейки.
перемежаем слои с системой охлаждения. Будет «кристалл» сантиметр на сантиметр, а высоту «бутерброда» будем в 2 раза увеличивать каждые два года
Мечта производителя: запланированное устаревание по технически необходимым причинам. Производительность будет падать по мере закупорки охлаждающих каналов.
Подозреваю, что закупорка охлаждающих каналов будет происходить позже, чем устаревание по другим причинам, в частности, по причинам того, что требования софта к железу растут гораздо быстрее, чем растет производительность железа.
Кроме этого, есть еще производители промышленных микросхем, которым 10-15-20 лет гарантированного срока службы важнее потенциальных плюсов запланированного устаревания.

Как отвести 1КВт с 4-х кубических сантиметров с перепадом меньше 60 градусов и куда эту мощность деть потом?
Т.е. по факту для потребительского сегмента предел уже достигнут(осталось совсем немного), а на серверных платформах ещё нужно посмотреть, — какое удельное тепловыделение на 1м³ оптимально...

Фигня вопрос! 5 кВт чиллер с новейшим научно-фантастическим хладагентом — вот вам и перепады, антифриз, тепло сливать в ГВС/Отопление, экономия! А что кристалл треснет, так то ради прогресса. Но я не настаиваю. А то скажут, что задерживаю переход на охлаждение лучами холода и прочим фентези :))


Но что там придумают, и правда, узнать хочется. Надеюсь, к тому времени автор сообразит на эту тему с таким же удовольствием читаемую статью.


P.s. забыл предупредить: все предложенные выше решения работать будут только на диванной подложке!

Надо интегрировать слоями элементов на основе эффекта Зеебека, чего зря теплу пропадать.
Осталось понять: Ведь если сервер обычно запускает в себе не один мощный процесс (пусть даже многопоточный), а много процессов (или аже изолированные друг-от-друга вирт.машины), то зачем всю вычислительную мощность запихивать в один процессор?

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

Так что же мешает строить серверы по системе «много плат, на каждой плате свой процессор и своя память»? Охлаждение становится лёгким — тепловыделениие изначально «разбросано» по большой площади.
Канал общения между платами — по «жёстким» линиям: в отличие от гнущегося сетевого кабеля, можно использовать многожильную линию. Малое расстояние передачи данных == высокая скорость.

Заодно — резко снижается риск от уязвимостей типа MeltDown — в чужую память невозможно залезть.
Осталось понять: Ведь если сервер обычно запускает в себе не один мощный процесс (пусть даже многопоточный), а много процессов (или аже изолированные друг-от-друга вирт.машины), то зачем всю вычислительную мощность запихивать в один процессор

Один мощный процессор и одна плата — это намного дешевле, чем 32 одноядерных процессора на 32 платах, тратит меньше электроэнергии, занимает меньше места, нет дорогих «жёстких линий соединения».
В дополнение к предыдущему комментарию. Несколько «жирных серверов» в определенном смысле гибче, чем много маленьких, т.к. на них, при необходимости, можно выделить «большой» виртуальный сервер под задачу, которая его требует, и, при необходимости, перенести на другой. В случае же большого количества маломощных (относительно) серверов, под такие задачи, даже если они временные, придется покупать выделенное железо.
Отвечаю сразу amartology и Norno.

Я не предлагаю использовать строго одноядерные процессоры. Сейчас даже Intel Atom — не менее двух ядер. Т.е. ориентировочно — где-то восемь процессоров по четыре ядра.

Теперь прикидываем цену. Один 32-ядерный процессор обращается к памяти в восемь раз чаще, чем четырёхядерный (речь о командах процессора, обращающихся в память; также учитывается подкачка каждой команды из памяти). А скорость памяти — очень мала относительно скорости процессора. Значит, запросы в память приходится ловить кэшем.
Размер кэша должен расти никак не медленнее, чем количество ядер. Однако, по факту — ещё быстрее, т.к. с ростом числа ядер hit rate тоже должен расти: количество реальных обращений к памяти должно оставаться постоянным, соответствующим скорости памяти.
А между прочим — на кэш приходится значительная доля стоимости и тепловыделения процессора.

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

Моя схема — требует дополнительных дорожек на плате. А 32-ядерный процессор — требует дополнительных дорожек внутри процессора для синхронизации кэшей.

Соображения о гибкости толстых серверов — я знаю. Однако, любой владелец хостинга примерно представляет, сколько каких задач у него покупают клиенты. И при этом — надо иметь резерв вычислительной мощности на разные случаи жизни.
Значит, владелец хостинга должен приобрести некоторое количество толстых серверов под толстые задачи и некоторое количество тонких серверов под тонкие задачи. Учитывая, что толстые серверы могут выполнять и тонкие задачи — запас толстых серверов д.б. несколько больше, чем запас тонких серверов. Вот как-то так.
Отдельные процессоры — имеют каждый свою память. Т.е. скорость памяти оказывается как бы больше.
Это прекрасно работает ровно до тех пор, пока процессор обращается только со «своей» памятью, например при виртуализации. Но как только процессору 1 потребуются данные, хранящиеся в памяти процессора 2, то вся стройная теория разбивается о возросшую латентность при передаче данных между разными процессорами. Иными словами — для разных задач требуются разные решения.
Дополнительные дорожки и схемы на чипе не только намного быстрее, но и радикально дешевле и экономичнее дополнительных дорожек на плате.
Ну и получается, что толстые сервера могут все то же самое, что тонкие, но некоторые задачи чуть хуже, а вот тонкие не могут многое из того, что могут толстые. Зачем тогда плодить зоопарк?
Отвечаю сразу двум:

Нормальный сервер запускает много вирт.машин. Где там ситуация «процессору 1 потребуются данные, хранящиеся в памяти процессора 2»?

Ладно, не надо даже вирт.машин. Запустим много копий Apache и одну копию СУБД. Зачем кому-то надо лазать в чужую память?

А ещё есть модная технология микросервисов. Они активно взаимодействуют — но не через общую память.

Когда дорожки и схемы на чипе съедают значительную долю площади кристалла, и разработчики упираются в предел по размеру кристалла — это ни фига не дёшево. Недавно кто-то озвучил цену топового процессора — как раз 32-ядерного; я не помню точно, помню как прифигел.

Кроме того, тонкие серверы (точнее, серверы-то толстые — но из большого количества тонких процессоров) куда менее уязвимы к атаками типа MeltDown.
Дорожки на чипе не съедают никакой лишней площади, они многоуровневые.
Разработчики, которые упёрлись в ограничения размера кристалла, поступают как AMD и ставят внутрь одного корпуса много кристаллов, это гораздо дешевле, чем один большой, и почти так же быстро.
И все ещё дешевле, чем ставить больше стоек и тратить электричество на в 32 раза больше наборов периферии (как на кристалле, так и вне его).
А от Meltdown принципиально все равно никуда не деться, пока есть спекулятивное исполнение команд (от которого никто, конечно же, не откажется).
На мой взгляд, вы все ещё предлагаете решение некоторых частных проблем за счёт чего-то более важного.
О какой периферии Вы говорите? HDC (IDE-контроллер) ставится один на машину, в которой находится много модулей (плат с процессорами и памятью). Аналогично — сетевой контроллер там тоже один.

Электричества — меньше. Потому что раздельная память — быстрее общей; с значит, надо меньше кэша.

Meltdown возможен только в системе с многозадачностью. Если в модуле выполняется только одна программа — то она не сможет прочитать никакие чужие данные; и никто чужой не сможет прочитать её данные. Т.е. для секретных программ — выделяется отдельный модуль.

Если же мы согласились на многозадачность — то программа, использующая Meltdown, сможет читать только данные, которые находятся на том же модуле. А на другой модуль — она не залезет.

Ну и, разумеется, драйвер файловой системы — вынесен на отдельный модуль, там, где HDC. И сетевой стек — тоже на отдельном модуле — там, где сетевой контроллер.
НЛО прилетело и опубликовало эту надпись здесь
Мощный Web-сервер — тоже хорошо ложится на разделяемую память. Ибо HTTP — это stateless протокол.

Рендеринг картинок (в т.ч. компьютерной анимации кино), пережимание видеофайлов — точно так же отлично распараллеливается на процессоры с отдельной памятью.

Запуск вирт.машин — вообще требует именно раздельной памяти: в идеале — на каждом физическом модуле крутится своя вирт.машина. Правда, скорее всего, на каждом модуле будет несколько вирт.машин, т.к. угадать аппаратуру под потребности клиентов невозможно.

Теперь посмотрим на клиентские машины. Самой популярной программой является браузер. Ну и что же мешает запускать каждую вкладку на отдельном модуле, особенно если эти вкладки содержат разные сайты?

Ну, свои примеры я привёл. Pls, приведите мне Ваши контрпримеры задач, которые не распараллеливаются на разные модули. Задача д.б. популярной и охочей до ресурсов.
Не жалейте контрпримеров — не важно, сколько я отброшу негодных контрпримеров; важно, сколько задач непригодны для моей архитектуры, но работают на традиционной «один до-фига-ядерный процессор с единым пулом памяти» (т.е. задача из контрпримера, кроме всего прочего, должна распараллеливаться на ядра, но требовать общей памяти).

Я же заранее укажу, что если общие данные используются только для чтения — то их можно просто скопировать на все модули. Да, расход памяти больше — зато скорость доступа выше.

Навскидку — в качестве контрпримера я могу предложить мощную СУБД, т.к. она должна хранить блокировки в памяти.
Однако, тут архитектуру СУБД можно изменить, выделив внутри неё «сервер блокировок» Т.е. на одном из модулей выполняется программа, которая в своей памяти хранит блокировки. Все остальные модули, когда им надо что-то заблокировать — запрашивают сервер блокировок. Вынесение блокировок на отдельный сервер блокировок — резко снизит количество блокировочных коллизий.

Есть ещё задача «сервер ММО-игры». Думаю, что и он легко распараллелится по модулям. Собственно, умные программисты изначально закладывают в такой проект возможность масштабирования через кластеризацию.

Простой пример числодробилки — найти 100500 знаков корня из 228

Для честного нахождения 100500 знаков желательно иметь возможность записать в типе данных целое число вида «30… ещё 100500*2 знаков».

что-то вроде BigDecimal?

НЛО прилетело и опубликовало эту надпись здесь
Насколько я понимаю, закон Мура, выведенный по наблюдениям за развитием компьютерной отрасли, показывает, что примерно так и происходит: объём памяти растёт примерно с той же скоростью, что и скорость процессора. А в настоящее время — скорость процессор растёт в основном за счёт числа ядер, а не за счёт скорости каждого ядра.

Осталось разделить ядра по разным процессорам, а память — по разным модулям. Ну и разнести это так, чтобы каждый процессор был со своей памятью (а не как сейчас: все ядра в одном месте, вся память в другом месте).
Это прям Epyc описан) Только в тех же СУБД он очень сильно проигрывает в том числе из-за раскиданности данных по кристалам (и каналам памяти других кристалов).
А для всего, что хорошо раскидывается — да, впереди планеты всей, спору нет. Epyc 2 ещё ядер обещают завзти да межядерные коммуникации устроить — совсем сказка будет.

К слову, у них очень хорошо видно такой нюанс, что одна и та же шина внутри кристала (каждый из 4х содержит 2 независимых блока и контроллер памяти) и снаружи (в подложке) даёт совершенно разное время доступа. Собственно, в т.ч. все хотят всё на 1 большом кристалле, фотонику и т.п.
EPYC — это немного совсем другое. Я бы описал это термином «UMA:S», т.е. «Uniform Memry Access: Separate». Термин мой собственный (хотя наверняка другие люди тоже как-то называли это). Смысл термина: несколько процессоров/ядер используют общую память (один общий модуль памяти; или несколько модулей, объединённых в один пул); но при этом память чётка разделена, и каждый процессор знает, где его память, а где чужая, и в чужую память он не залезает. Соответственно, процессоры/ядра не нуждаются в синхронизации кэшей.

Подобную схему используют CPU и GPU, если GPU встроен в чипсет (как было давно) или в процессор (как делают сейчас) — т.н. «встроенная видеокарта». CPU и GPU используют статическое разделение памяти — когда в начале работы CPU начинает выполнять POST (стартовая часть BIOS), он смотрит CMOS, находит там указания «как разделить память» и выделяет для GPU какой-то диапазон памяти, и это длится до перезагрузки.

Существует схема UMA:S с динамическим разделением памяти, когда процессоры/ядра могут передавать друг-другу память. При этом процессор, который отдаёт память, приказывает своему кэшу завершить отложенную запись и вообще перестать кэшировать передаваемую область (ибо сейчас данные там поменяют, так что хранить содержимое кэша нет смысла).

Данная схема — интересна, но очень ограниченна по масштабированию. Ибо имеет лимит: пропускную способность памяти. И, как я говорил выше: при общей памяти (независимо, UMA:Separate или UMA:Join с синхронизацией кэша) — объём кэша требуется больше, чем при раздельной памяти.

С СУБД мне не совсем понятно, зачем там синхронизировать кэши. Ну, разве что для блокировок, которые держатся в памяти? Ну так блокировки — поручить одному ядру, а полезную работу песть делают остальные ядра.
Смысл термина: несколько процессоров/ядер используют общую память; но при этом память чётка разделена, и каждый процессор знает, где его память, а где чужая, и в чужую память он не залезает.

А это вы сейчас описываете чуть допиленную архитектуру SPARC, разве нет? )
НЛО прилетело и опубликовало эту надпись здесь
Там классическая для х86 Numa. 4 процессора на одной подложке, у каждого — по 2 канала памяти. Точно так же работают многосокетные системы начиная с оптеронов и 1366 сокета.

И опять же, после того, как процессор залез в «чужую» память, прочитал что-то, изменил — процессор-хозяин должен эти изменения получить. В общем, Numa)

По поводу баз честно говоря не в курсе, скорее всего, ситуация выше.

Насколько я понимаю, термин "SPARC" относится к архитектуре процессора, в первую очередь — к системе команд. Архитектура многопроцессорной работы, конечно, как-то завязана на архитектуру процессора — но завязка довольно слабая.


Я описываю возможные варианты построения многопроцессорных систем, взаимодействия процессоров.
{скромность off} Я пытаюсь построить всеобъемлющую теорию многопроцессорных систем, пригодную для быстрого обучения студентов — чтобы те могли легко расклассифицировать существующие систему и понять ограничения этих систем пр масштабируемости. {скромность on}


Разумеется, и Sun, и MicroSoft, и все остальные корпорации — выпускают какие-то решения, которые {скромность off} укладываются в мою теорию {скромность on} должны описываться моей теорией. Все подобные теории строятся примерно так:


  • Автор обнаруживает, что нет внятного описания действительности.
  • Автор анализирует существующие системы, пытается выявить в них наиболее существенные свойства.
  • При этом приходится отбрасывать явный бред, написанный племянниками больших начальников, работающими на должности копирайтеров. Приходится отбрасывать явное враньё, написанное коммерческими отделами ради повышения продаж — благо большинство покупателей никогда не вчитывается в текст.
  • Строится теория/модель, которая хорошо ложится на реальность.
  • Автор общается с другими людьми, предлагает им свою модель. Собеседники указывают на факты, противоречащие теории. Теория модернизируется.

Я не очень знаю, как Windows ведёт себя в NUMA. По идее — перенос процесса на другую группу ядер (т.е. в другой пул памяти) — задача не очень тяжёлая. Странно, если процесс прибивается к группе ядер навечно.
Возможно, речь о том, что потоки данного процесса — разбрасываются только по ядрам одной группы.


Смысл NUMA — в основном в том, что в системе есть много пулов памяти. Делать процессоры в одном чипе — предельно глупо, ибо смысл ускорения как раз в том, что подсистемы "процессор + память" максимально развязаны.
Объединение таких процессоров в одном чипе — усложняет разводку дорожек по плате и затрудняет теплоотвод.


Смысл терминов "Separate/Join" — как раз в том, допустимо ли процессору залезать в чужую память (кроме случаев, когда все процессоры оттуда только читают):


  • В случае Join — кэши процессоров аппаратно общаются-синхронизируются между собой; неважно UMA или NUMA.
  • В случае Separate — кэши не синхронизируюся, пока нет приказа от программы. А приказ приходит в основном при передаче блока памяти другому процессору; либо при переводе блока памяти в состояние "я занёс туда все нужные данные, теперь мы все (процессоры) можем их оттуда читать".
  • В случае UMA:S — понимание термина "своя/чужая память" сильно отличается от случая NUMA. В NUMA разделение памяти всегда статическое — это физически разные модули памяти, к ним ведут разные шины. В случае UMA:S — разделение логическое, внутри одного пула или даже модуля памяти; и разделение бывает динамическое.
  • В случае NUMA:S — применяются оба понимания. Т.е. процессор может получить во владение кусочек памяти другого процессора; при этом процессор-хозяин памяти не имеет права туда обращаться.
НЛО прилетело и опубликовало эту надпись здесь
«Мура как закон уменьшения размеров транзисторов» умирает, а интерпетация про число транзисторов на единицу площади кристалла — да, продолжит существовать)

Что касается отвода тепла, то это действительно проблема, но какие-то пути ее решения просматриваются — вплоть до существующих разработок встроенного в кристалл жидкостного охлаждения. Ну и да, память стеками по несколько кристаллов активно пакуют уже сейчас, а наращивание объема памяти — это как раз один из основных драйверов роста количества транзисторов на кристалле.
Большое спасибо! Как сейчас помню битву SOI (доработанный техроцесс) против более тонкого сначала п4 против к7, потом п4 против к8 и далее по списку.

А закон Мура всё равно уже не первый раз умирает, как и война мегагерц, ждём теперь конца 2й ядерной войны — 32-ядерный тред риппер имхо верный вестник этого.
Немного оффтоп: а по какому техпроцессу обычно делают одиночные транзисторы, которые рассыпуха? Понятно, что в зависимости от тока и напряжения сток-исток, но интерессен порядок цифр.
Тут кто-то писал, что для микросхем-рассыпух сотни нм считаются уже «тонким» техпроцессом.
Все так, там обычно речь идет о нескольких микронах или нескольких сотнях нанометров. Идти ниже, во-первых, дорого, во-вторых, бессмысленно, потому что к стандартным маленьким нанометрам прилагаются низкие рабочие напряжения.
При этом, правда, надо иметь в виду, что многие современные дискретные транзисторы — это на самом деле довольно сложные интегральные схемы, с защитами от перегрева, переполюсовки и т.д.
Вот у BarsMonster пример мощного транзистора (NXP 2N7002), там хорошо видны шестиугольные ячейки с проектными нормами 4 микрона.

Еще мощные и высоковольные транзисторы могут быть интегрированы в современные сбумикронные техпроцессы, например, для DC/DC преобразователей или автомобильных применений. Такие интегральные технологии сочетают в себе «обычные» транзисторы по 180-350-500 нм и высоковольтные (до 700 В интегрально видел), которые сделаны из транзисторов с размерами затвора (и толщиной подзатворного диэлектрика), соответствующих проектным нормам 500-2000 нм. Но интегральные высоковольтные транзисторы практически всегда допускают высокое напряжение только на стоке, а на затворе там не больше 3-5 В.
Хорошо, кстати, видно, что и там, и там транзисторы довольно хитрой формы, так чтобы у затвора не было краев. При этом, как я и говорил выше, у дискретного транзистора все элементы довольно большой длины (и толстый подзатворный диэлектрик), а у интегрального затвор довольно короткий, зато очень длинный сток. Сравните диаграмму ниже с диаграммами в статье.
Спасибо, интересно.
Лично мне на закон Мура как-то параллельно, важны потребительские характеристики: )

Было бы интересно узнать, как дело обстоит с MRAM? Помнится, Crocus Technology и РосНано открывали завод, да и очень много кто еще этим занимается.
Какова вероятность, что оно «выстрелит»? Как скоро? И что оно нам даст, как потребителю?
GlobalFoundries предлагают MRAM на 22 нм FDSOI c осени прошлого года, Samsung запустили MRAM на 28 нм FDSOI процессе этим летом. Оба процесса доступны для внешних разработчиков и ориентированы на чипы для IoT. Потребителю MRAM в IoT чипах дает рост времени работы от батареи за счет того, что можно отключать питание от чипа без потери содержимого кэш-памяти.

Завод CrocusNano работает, но память они пока не производят. Обещают, что будет скоро.
На сайте Крокуса в новости от декабря прошлого года: «Проектирование коммерческих продуктов MRAM ещё займет определенное время, однако у нас теперь есть четкое понимание наших дальнейших действий, и мы рассчитываем получить инженерные образцы уже в 2018 году»
На самом деле, картина с дутыми нанометрами оказывается и еще дутее. Как только ввели DP, так начались пляски с учетом всяческих литографических эффектов от наложения масок. А значит, что при сокращении ширин проводников, зазоры между ними стали хорошо если не больше! Большие зазоры — проблемы как с трассировкой, так и подводом питания, а плохое питание — снижение эффективной плотности транзисторов на единицу площади. Добавим сюда стоимость дополнительных тулов для проверки DFM, и получаем «золотую» технологию, которая практически никак не компенсирует повышения затрат на разработку и производство. На мой взгляд, действительно прорывной была 16нм с финфетами, а все что ниже — чем ниже, тем все сомнительнее в плане преимуществ.
действительно прорывной была 16нм с финфетами
22 нм, а не 16 нм. Но и в ней цена одного транзистора уже была выше, чем в 28 нм, которые изначально были «полунодом», то есть геометрическим скейлингом 32 нм, но стали очень популярными в долгосрочной перспективе, именно потому что остались последним объемным техпроцессом без FinFET и поэтому обеспечивают лучшее соотношение цены и плотности интеграции.
Собственно, растущая популярность FDSOI 28-22 нм связана (по крайней мере частично) с тем, что они, несмотря на дороговизну КНИ подложек, позволяют достичь хороших параметров и малых утечек без FinFET.
Спасибо за статью. Про повышение статического потребления с уменьшением размеров — читал давно-давно, но потом как то не встречалось и тут вот эта таблица выше как снег на голову напомнила. Интересно при этом что те же процессоры в idle холодные видимо из за крутой оптимизации с отключением не только тактирования неиспользуемых блоков, а сразу всего питания.
С питанием очень много игр, потому что и динамическая, и статическая мощность от него зависят. Как минимум, почти везде варьируется питание отдельных блоков в зависимости от частоты (а частоты — в зависимости от вычислительной нагрузки); как максимум, есть даже варианты схемотехники, в которых локально повышается напряжение питания конкретно тех элементов, которые переключаются в данный момент. Отключать полностью неудобно, потому что долго и энергозатратно потом заново все инициализировать, а вот минимальное напряжение, при котором ячейки памяти и триггеры продолжают сохранять информацию — это очень важный параметр.
А если не играться с питанием то выйдет как у Allwinner с их H3 — четыре ядра (Cortex A7) на минимальной частоте (240MHz) в простое — 0.4-0.5W, те же четыре ядра на гигагерце с нагрузкой — 1W
Т.е. тупо половина электричества утекает без всякой пользы. Если отключать три ядра, то без нагрузки уменьшаем потребление на 150mW, но все-равно 250-300mW с отрубленной по максимуму периферией…
Я понижал частоты PLL(без этого некоторые линии питания не понизить т.к. первыми отваливаются именно PLL), понижал питающие напряжения процессора ниже минимально необходимых согласно документации, но залезть ниже 150mW так и не смог. А, еще контроллер памяти ddr3l у них, падла, жрет как не в себя, именно его настройкой я 80mW жора убрал.
P.S. извиняюсь, может не по делу, просто нервы уже не выдерживают. И ведь жор я пытаюсь убрать даже не потому что энергию экономлю, а банально ради того чтоб плата не сваривалась в закрытом пластиковом корпусе, где даже с радиатором за час-полтора она дожаривается до 86 градусов.
эксперименты с OrangePi или свое что-то?
OPi Zero/Zero Plus H3
Делаю смарт-колонку, с локальным распознаванием и синтезом речи (pocketsphinx + RHVoice), если взлетит, может быть кастомные платы у Xunlong заказывать буду.
Проблема в том, что любая манипуляция которая уменьшает потребление в простое, уменьшает максимальную производительность — на новых ядрах из userspace невозможно налету менять частоту памяти, а мой вольтмод не позволяет ядрам работать выше шестисот мегагерц(тупо глючат), и он отключаем только аппаратно.
через DVFS совсем никак нельзя теперь?
Память — нет, ядра через DVFS частоту скидывают, но контроллер памяти зачастую жрет больше чем все ядра вместе взятые.
В #linux-sunxi на фриноде было вялое обсуждение, мол, надо бы сделать, но всем в итоге пофиг.
патчем для ядер я оттуда пользовался на дистре от loboris, сразу полватта экономит, думал может до памяти цивилизация добралась
armbian из коробки хвалят, но не пробовал
И так армбиан, да еще и свежий…
Посмотрите EasyVR, недорогой и маложрущий, может, его будет проще использовать как сопроцессор.
Все так, вы наблюдаете наглядный пример того, что если ничего не делать, то статическая мощность будет составлять около 50%. Если ниже 150 мВт никакими ухищрениями спуститься не удается, то, возможно, стоит сменить процессор на что-то, где есть встроенные малопотребляющие режимы.
Самое смешное — сам Cortex A7 экономичен и практически ничего не жрет, Allwinner его не трогал, так что там все энергосберегающие режимы есть. А вот остальная часть чипа — их творение, сидит на отдельной линии питания, которая жрет постоянно, много, и не понятно куда. Рукожопы-с. (Ну реально, куда можно жрать 400mW на контроллер памяти, pll и всякие интерфейсы(которые еще и выключены!)? Что они там курили!?)
Не, чип не для мобильных платформ, я понимаю, но он же у вас постоянно греется как черт знает что, неужто хоть немного об экономичности подумать? Странные они, короче.
А по поводу малопотребляющих процессоров… SAMA5D2 (196 контактов) развести и сделать плату я осилю, но у него нехватает производительности, а когда я смотрю в сторону iMX6/iMX8 мне становится страшно. Да и денег на такие эксперименты у меня нет (тем более на восьмислойные платы)
когда я смотрю в сторону iMX6/iMX8 мне становится страшно. Да и денег на такие эксперименты у меня нет (тем более на восьмислойные платы)

На деле не всё так плохо. 10 штук 6-слойных плат, размером 10x10 см(1 кв. дм) обойдутся без доставки меньше 100 баксов. С доставкой — чуть больше 100 баксов.
Цены брал здесь jlcpcb.com
Если вам удастся развести iMX6 Dual/Quad (624 вывода, 0.8 мм pitch) на шестислойке, я с радостью на это взгляну. Особенно если оно еще и работать будет.
И да, для бедного студента даже 100$ за то, что еще может не выйти (такую жесть я еще не разводил) это дико много.
Если вам удастся развести iMX6 Dual/Quad (624 вывода, 0.8 мм pitch) на шестислойке, я с радостью на это взгляну. Особенно если оно еще и работать будет.

Ну 0.8 шаг шаров — ещё не смертельно. Хотя сами NXP рекомендуют действительно 8 слоёв, из которых 4 — сигнальные.
И да, для бедного студента даже 100$ за то, что еще может не выйти (такую жесть я еще не разводил) это дико много.

Ну, кхм, тогда извините)) Ваш вариант тогда — покупать плату с процессором и памятью и разводить внешнюю материнскую. Например вот это.
iMX6 Dual, 1Гб оперативки, 4Гб MMC. И те же 100 баксов, только гарантированно всё работает.
Дело не в шаге, а в количестве выводов, точнее в количестве рядов выводов от края к центру. Хотя учитывая какие мне интерфейсы нужны, это не особая проблема.
iMX6 Dual, 1Гб оперативки, 4Гб MMC. И те же 100 баксов, только гарантированно всё работает.
Угу, только эта платка, при том что сама по себе ничерта не может, уже больше чем OPi Zero (48х48 мм). Так что как-то все-таки придется делать кастом. В принципе, мне нужен очень маленький обвяз SoC'а — lpddr3 полгига-гиг, wifi на sdio, звуковую карту на i2s повесить, да emmc/nand на 4 гига. Ну usb три порта развести. Все остальное отправляется в /dev/null за ненадобностью в готовом устройстве. Но тут уж вступает в дело вопрос стоимости, H2+/H3 за 3$ в крупных партиях тупо непобедимы.
Так это, дёшево и хорошо — одновременно обычно не бывает. Либо миритесь с ценой iMX, либо продолжаете колоться об ВсеПобедителя.
Увы, мой опыт с китайскими чипами почти всегда был отрицательный — скудная документация, да ещё и с ошибками. И надо быть готовым, что чип внезапно пропадёт и хрен его достанешь.
Стоит OPiZero в качестве экспериментального домашнего сервера. Самую большую экономию в 100мВт (с 400 до 300) удалось получить тупо отключением WiFi. Эксперимент с настройкой автоматического отключения ядер в зависимости от температуры только позволил снизить температуру простоя до 60, до этого грелось до 70 и выше. Позабавил официальный ответ: всё нормально, по паспорту может греться до 115.
Ну у меня дело противоположное и я немного энергии сэкономил полным отключением ethernet'а, а wifi это и есть основное средство связи с внешним миром, так что не вариант.
По вашим выкладкам как раз похоже на график выше.
Сам пока на Cortex-M0 не сильно актуально.
А может всё просто? Если забросить «сырой» программный продукт на старую «железную» базу то наверняка там программка не заработает и «Железные Короли» будут вынуждены извращаться для подгонки «желесяки» под программу, а не наоборот? Ведь на заре Компьютерной эры, когда «железо» физически не могло поспеть за Программами та же DOS то более «вылизаннее» программы получались? :-)
Если закон мура больше (давно) уже не выполняется, может пора наконец развиваться немного в другом направлении?

Больше готовых модулей сопроцессора, не только простой математики но и обработка данных, нейронных сетей и прочего! Добавить немного логики в оперативную память (собственно GPU уже давно память блоками размещают поближе к своим процессорам), пусть сама, независимо от процессора, не затрагивая шину, что-нибудь обрабатывает.

И добавить наконец на уровне стандарта FPGA модули во все процессоры, с доступом к периферии RAW (например CMOS камеры, без лишнего перекодирования и упаковки) или хотя бы для шейдерных процессоров GPU.
Потихоньку движутся в этом направлении, но это очень сильно усложняет систему и не все алгоритмы даже в теории можно распараллелить, так что с этим есть некоторые проблемы.

Первые процессоры, напомню, были адекватным ответом на "больше модулей". Одни и те же капитальные затраты размазываются на множество применений. Дёшево, надёжно, практично.

И добавить наконец на уровне стандарта FPGA модули во все процессоры
Intel уже купил Altera, и в Xeon, насколько я помню, ПЛИС-блоки уже есть.
Кроме того, встраиваемые FPGA как silicon IP сейчас буквально на пике моды, и их ставят во многие коммерческие и промышленные ASIC, которым важны одновременно длительный срок работы и возможность поддержки каких-нибудь стандартов, которые имеют свойство обновляться со временем (например, как раз стандартов сжатия изображений).
Или если вы очень хотите защититься от того, что конкуренты украдут вашу интеллектуальную собственность, вскрыв ваши чипы, критичный блок можно реализовать на встраиваемой FPGA.
FPGA жизненно необходимы в мобильниках, да и везде, где нужна обработка видео и мало энергии… но пока это не станет стандартом, разработчики пальцем не ударят, тем более что капитальные вложения слишком дороги (цены искусственно удерживаются на высоком уровне).

Если apple откроет доступ всем разработчикам к сканеру faceid, это станет новым рывком, возможно подстегнет конкурентов к этому? или уже?
Для обработки видео же есть встроенные GPU уже во всех мобильных процессорах. Нужно ещё более специфическое что-то?
Огромная же история была год назад, когда Apple фактически разорили Imagination, объявив, что переходят с их графических IP PowerVR на встроенную графику собственной разработки.
нет доступа к периферии, почти никакого
и да FPGA еще круче GPU но для специфических задач, лично я которые придумать могу только на основе обработки видео с камер, но ведь есть еще работа со звуком (распознавание речи) а будет 3D-сканер еще больше целей появится — всем им нужна не столько скорость, сколько экономия энергии.

А если встроить чип-сопроцессор для нейронных сетей (способный например мегабайтовые сети считать за считанные такты) так и вообще рай наступит ;)
А если встроить чип-сопроцессор для нейронных сетей
Не «если», а «когда». Это дело ближайшей пары лет, точнее, в Apple A12 оно уже есть в каком-то виде.
Сопроцессор для ИНС есть уже у всех — Apple, Qualcomm, HiSilicon
их осталось трое: TSMC, Intel и Samsung

А как же Huawei с их Kirin 980? И Apple с A12 Bionic?
Так они сами не производят, а заказывают у вышеперечисленной тройки.
И Huawei Kirin 980, и Apple A12 Bionic, и даже AMD Zen2 производятся на фабрике TSMC.
Компаний, разрабатывающих по низким проектным нормам, много. А фабрик осталось только три.
Global Foundries забыли…
GlobalFoundries официально объявили, что отказываются от разработки 7 нм и сконцентрируются на том, что есть сейчас, и развитии FDSOI платформ. Так что нет, к сожалению, никто не забыт.
Они не говорили что отказываются насовсем, и я не могу считать тех, кто осилил 12LP и 12FDX и у кого многомиллиардный контракт с IBM на десять лет вперед отошедшими от дел. Они как были так и остаются крупными игроками на рынке.
Никто не говорил, что GloFo отошли от дел. Но они сами сказали, что все работы по 7 нм прекращены.
И это логично, потому что у них на 7 нм не нашлось клиентов (даже AMD ушли на TSMC, видимо, потому, что не могли дольше ждать запуска 7 нм GloFo).
Для того, чтобы быть крупным игроком на рынке, надо быть TSMC не обязательно иметь 7 нм. UMC остановились на 14, SMIC на 28, TowerJazz и вовсе на 130 (окей, с учетом фабов Panasonic на 45). И это не мешает им быть крупными игроками на мировом рынке. Не CPU едиными жива микроэлектроника.
Интересно, а не появится ли со временем четвёртого игрока на этом рынке в лице Китая, вкладывающего огромные суммы в развитие собственного п/п производства? Ведь у них и денег много, и разными не совсем честными методами они не брезгуют, да и инструменты в виде тех же EUV-сканеров со временем по идее должны стать и дешевле и доступнее.
Не вижу предпослылок к этому.
Во-первых, оборудование все усложняется и дорожает, и даже не «совсем честными методами» девайсы для cutting edge процессов не достать.
Во-вторых, Китай уже был четвертым игроком, в лице SMIC, и выпал из обоймы на уровне 28 нм.
В-третьих, сейчас в Китае активно строятся фабрики крупных игроков рынка (включая не только Intel и корейцев, но и даже, что отдельно удивительно, тайваньские TSMC и UMC), но не на передовые процессы, а на технологии на пару поколений постарше (которые, впрочем, наиболее коммерчески привлекательны в долгосрочной перспективе).
Кстати о SMIC, у них 28nm не FDSOI?
UPD: еле нашел где у них на сайте английский включается, не нашел ни слова о SOI
Странно, у меня по дефолту англоязычный сайт открывается.
Нет, у них обычные объемные техпроцессы на 28 нм, причем, что удивительно, есть параллельно с high-k и с поликремниевым затвором.
А вот и долгожданное ГикБДСМ! :D

Когда вслед за термином «длина канала» прочел «площадь ячейки памяти», а затем и «маркетологи» — все стало прозрачным. Всегда в голове почему-то держалось, что длина канала транзистора = обозначение проектной нормы технологии изготовления. Потом ещё FinFET появился, и стало явным, что где-то чего-то не договаривают. Ведь и правда, «физику не обманешь». И насколько показательной является картинка сравнения 90 нм и 32 нм нод! Leff отличается всего на 1 нм. Вот она, сила маркетинга :)

Кстати, назрел еще вопрос: как у AMD получалось выпускать чипы на FDSOI подложках с меньшей ценой, чем у Intel, которые использовали «обычные» подложки? Красные получается совсем себе в убыток микропроцессоры производили? Просто из личного опыта: кремниевая подложка диаметром 200 мм с эпитаксиальным слоем стоит ~50$/wafer, 200 мм SOI с толщиной пленки SiO2 в 100 нм стоит ~500$/wafer (цены приблизительные — с закупкой не сталкивался, но разницу в цене ощутить позволит).

Огромное спасибо Вам за такие замечательные статьи! Читать о разработке и производстве передовой (и не только) микроэлектроники на русском, где внятно разжеваны все мелочи — это прекрасно :)
Кстати, назрел еще вопрос: как у AMD получалось выпускать чипы на FDSOI подложках с меньшей ценой, чем у Intel, которые использовали «обычные» подложки?
Условных Athlon с 200 мм пластины можно снять штук 150-200. Соответственно, стоимость подложки для каждого из них будет составлять ну пусть даже пять долларов. При цене процессора в 800 долларов подложки можно было брать какие угодно.
Серьезная разница в том, какую подложку выбрать, появляется, когда вы делаете или дешёвые чипы, или маленькой серией, когда после размазывания по маленькому тиражу стоимости RnD не останется запаса в продажной цене на более дорогую подложку.
Плюс еще у современных FDSOI процессов существенно меньше литографических масок, чем у объемных аналогов (~35 вместо ~55), что может по итогам выйти в более дешевое производство, чем на объемном FinFET процессе.
Да, про объемы производства я почему-то забыл. В моей практике изготовления пластин была маааленькая партия из 10-ти SOI-подложек, и ты с ними обращался, как с годовалыми детьми, ибо дорого.
Зачем уменьшать размер транзисторов? Самый очевидный ответ на этот вопрос носит название закона Мура и гласит, что каждые два года количество транзисторов на кристалле должно увеличиваться вдвое, а значит линейные размеры транзисторов должны уменьшаться в корень из двух раз.

Передергивание в самом начале статьи. Самый очевидный ответ на этот вопрос, увеличение частоты работы интегрального транзистора, числа быстрее «дробить»
Транзисторы и их размер уже очень давно не сдерживают повышение частот CPU.
Теперь паразитные параметры линий связи между транзисторами — вот основной корень зла.
Во-первых, уменьшение размеров — не единственный способ увеличения частоты (см. длину конвейера, производительность и частоты Pentium 4 и Core 2). СВЧ-схемы прекрасно массово на 180-250 нм работают на очень и очень больших частотах.
Во-вторых, про уменьшение емкости затвора и рост частоты сказано в следующем абзаце.
Спасибо за интересную статью, она многое объясняет.
Как то раз я построил небольшой график. По оси X откладываем годы. По оси Y — проектные нормы, в логарифмическом масштабе, разумеется. Данный брал из англоязычной Википедии, с 1989 по 2020 год (анонсировано 5 нм). У меня вышло так, что все точки почти идеально ложились на прямую, без какой-либо заметной «болтанки» в обе стороны. Это было странновато и требовало объяснений. Но ведь мы не в Матрице живём, и не рептилоиды постепенно делятся технологией? :)
А вот оно как оказывается. Взяли изначально эмпирическое наблюдение, и теперь под него подгоняют всю индустрию. Осталось пожелать маркетологом удачи в 2034 году. Именно тогда, по моим подсчётам, циферка «проектных норм» сравняется с периодом кристаллической решётки кремния!
Ещё имеются кое-какие мысли по поводу распространения многоядерности везде и всюду, но сам внятного объяснения не встречал. Буду весьма благодарен, если кто-то подкинет ссылку на такую статью, где всё будет так же подробно описано.
Ещё имеются кое-какие мысли по поводу распространения многоядерности везде и всюду, но сам внятного объяснения не встречал.

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


Так и пишут везде, не уточняя, что же именно стало пределом. Есть основания полагать, что пределом стала скорость света. В самом деле, при частоте 3 ГГц сигнал за один такт пройдёт 10 см. Но это в вакууме. В кремнии из-за его довольно высокой диэлектрической проницаемости сигнал замедлится в корень квадратный раз от этого значения, и пройдёт около 3 см. Что не так уж далеко от линейных размеров кристалла, и здесь уже имеет значение не граничная частота транзисторов, а временные задержки распространения в проводниках. Очевидное решение — «разбить» кристалл на несколько небольших частей, таким образом ограничив максимальные длины проводников, по которым сигналу надо распространяться в пределах ядра. Вот такие мысли пришли в голову, хотя могу быть и неправ.
Что касается отключения ядер — это понятно, хотя экономия будет меньше ожидаемой по причинам, описанным в статье. Причём, скорее всего ток утечки растёт не обратно пропорционально длине канала, а даже быстрее — из-за туннельного эффекта.
Есть основания полагать, что пределом стала скорость света.
Есть основания предполагать, что скорость света ни при чем. Ни в одном процессоре нет линий по 3 см (особенно кремниевых, а не металлических), которые сигналу надо проходить за один такт. Это даже не говоря о том, подвижность носителей электрического сигнала в кремнии вообще очень мала, там никакой третью от скорости света и не пахнет.
Пределы скорости процессора обусловлены сложностью схемы, а именно емкостью затвора, умноженной на сопротивление линии металлизации от выхода одного транзистора до входа другого. Получившаяся RC-цепочка имеет постоянную времени, а дальше можно посчитать все остальные параметры (например, рабочие токи), зная напряжение питания. Дальше умножаем полученную задержку на максимальное количество логических элементов между двумя триггерами и получаем критический путь сигнала и предельную рабочую частоту. Число ступеней в конвейере увеличивали как раз для того, чтобы меньше логических каскадов было между триггерами.
Отдельные транзисторы или очень простые схемы на кремнии легко могут работать на десятки (и даже сотни) ГГц, что с успехом успользуется в кремниевой СВЧ-электронике.
На низких проектных нормах бОльшую часть задержек составляют задержки на металлизации, которую приходится считать как полноценные длинные линии, а не просто RC-цепи.
Но «увеличивать частоту» и «делать больше ядер» это ведь не 2 единственных направления.
Есть еще как минимум 3е — это «ширина» одиночного ядра. Начиная с 1го пентиума все процессоры суперскалярные и могут выполнять по несколько инструкций за 1 такт.

И по началу «в ширь» процессоры тоже быстро росли. Но это направление почему-то застопорилось примерно тогда же когда и рост частот. На уровне пиковой производительности 1 ядра в 3-4 инструкции за такт.

Вместо этого начали тиражировать одинаковые ядра целиком.
По-моему просто из-за нежелания тратить ресурсы на проектирование все более и более сложных схем («копировать» одинаковые ядра на одном кристалле намного проще).
Или тут есть еще и какие-то технологические барьеры помимо простой экономии (денег и времени на разработку)?
То, что движение «вширь» не приносит большой выгоды — наглядно показал Itanium. Некоторые задачи хорошо параллелятся, некоторые не очень. Для первых есть SIMD-расширения, GPU и прочие сопроцессоры, со вторыми никак в общем случае не справиться, поэтому разрядность процессоров общего назначения так и осталась на уровне 32-64 бит.
То, что движение в сторону усложнения ядра не выход — показал Pentium 4 со своим монструозным многостадийным конвейером. Дальше оказалось, что намного более простые RISC-ядра получаются производительнее, особенно если их аккуратно обвесить OoO и прочими красивостями.
В итоге пришли туда, куда пришли — к многоядерности и ядрам довольно умеренной сложности в сопровождении специализированных сопроцессоров для популярных задач.
А я все заглядываюсь на алмаз
Мне кажется, рано или поздно дойдет дело и до него. С таким коэффициентом теплопередачи охлаждение многослойных схем станет куда легче, а низкая диэлектрическая проницаемость поможет с уменьшением постоянной времени RC-цепочек.
До алмаза непременно дойдет в высоковольных и высокотемпературных приложениях (куда уже добрался карбид кремния) или в СВЧ (где есть нитрид галлия), а в мэйнстриме «Арсенид галлия — материал будущего. Уже лет пятьдесят причем».
В кремний вложено столько сил и денег, что просто сделать что-то подобное, но лучше на другом материале не получится из чисто экономических соображений, дешевле будет как-то еще кремний допилить очередными подлегированными германием растянутыми стоками, диэлектриком из оксида гафния и так далее и тому подобное.
Прорыва стоит ждать не в новых материалах, а в принципиально новой схемотехнике.
Арсенид галлия и прочие 3-5 не взлетят потому что окно возможностей было упущено. Эти материалы могли бы помочь на 100 нм, когда канал транзистора был не баллистическим. Теперь гораздо важнее не подвижность, а чисто состояний (которое у всех материалов с высокой подвижностью как раз низкое).
Материалы как раз будут меняться, но не материал подложки, естественно.
Но в материалах как раз есть перспективы — чтобы сделать ту же nanowire рабочим вариантом надо решить много именно материаловедческих проблем.
Неожиданно понял, где будет настоящий прорыв в быстродействии.
Он будет при переходе на сильные ядерные взаимодействия. Порядков на… Даже представить себе не могу. На 6 точно. Это будет взрыв, как пересесть с ручных вычислений на современное железо.
Нуу… Там скорее всего системный блок весом в полторы солнечные массы будет :) Вообще Сет Ллойд рассматривал устройства с квантово-предельными параметрами, там получалось, что обработка данных будет носить взрывной характер.
записать на современный 10-гигабайтный жесткий диск

Лет 15 назад я читал книгу про более «современные» винты.
Это потому, что читали вы 15 лет назад, а статья семнадцатилетней давности :) Начало века, трава была зеленее, солнце грело лучше, за два-три года компьютер устаревал в хлам…
Сначала создадут честную память с временем переключения ячейки 0.25 нс. Потом — 0.08-0.15 нс. А потом — сразу 0.08 ас на процессах перехода сигма-гиперона в лямбда-гиперон.
Например, читая новости о том, что TSMC уже запустила 7 нм, а Intel опять задерживает начало производства 10 нм, стоит помнить о том, что 7 нм TSMC и 10 нм Intel — это на самом деле одни и те же проектные нормы с точки зрения и плотности упаковки, и размеров отдельных транзисторов.


А вот как такое могло получиться?
Если следовать описанному — то изначально все компании использовали «честный» критерий — длину затвора транзистора.
Потом так же дружно перешли на «маркетинговые» нанометры, но вычислияемые одинаково — исходя из площади 1 ячейки SRAM. Никто собственного велосипеда не изобретал.
Как же получилось что Интеловские «нанометры» мельче чем у других компаний?
Все компании вдруг на каком-то этапе «сжульничали» приписав себе лишний шажок в освоение тех.процессов, один Интел в Дартаньянах? (т.к. расхождение не только с TSMC, а со всеми ведущими производителями).

Или же у них физические размеры отдельных элементов меньше, но при этом упаковка этих элементов в схемы в чипе по какой-то причине менее плотная и из-за этого по критерию кол-во элементов на мкм2 площади чипа попадают в один разряд с более грубыми тех.процессами конкурентов?
Все компании вдруг на каком-то этапе «сжульничали» приписав себе лишний шажок в освоение тех.процессов, один Интел в Дартаньянах?
Ага, так все и было, и не только с 10/7, но и с 14/10, и с 22/14. Но на самом деле конечно было то, что описано ниже.

Или же у них физические размеры отдельных элементов меньше, но при этом упаковка этих элементов в схемы в чипе по какой-то причине менее плотная и из-за этого по критерию кол-во элементов на мкм2 площади чипа попадают в один разряд с более грубыми тех.процессами конкурентов?
И это тоже верно, причем на 14 нм в первой версии процесса (для Broadwell) у Intel часть размеров была меньше, чем во второй (для Skylake), потому что пришлось сделать шаг назад в плотности упаковки (без изменения минимальных размеров элементов) ради повышения выхода годных.

И еще надо же иметь в виду, что сейчас на самом деле есть не просто «размер ячейки памяти», а три разных размера памяти (максимальное быстродействие, минимальная площадь и минимальное потребление), и соотношение между ними у всех производителей разное, и по какой из площадей лучше мерить — непонятно. И есть еще плотность упаковки логических схем, которая тоже не совсем пропорциональна площади (любой из трех) ячейки памяти.
То есть натурально — чистый маркетинг, в котором даже Д'Артаньянство — очередной прием.
Я один смотрю на схемы, и не понимаю как ячека памяти (это же rs триггер по сути?) целоком может быть уже чем затвор транзисторов из которых она состоит?
Если не затруднит, подскажите, где конкретно вы видите ячейку, которая уже, чем затворы транзисторов. Я смотрю на рисунки здесь и не вижу ничего такого.
Она не уже, просто идут расчеты вида:

На тех.процессе 45 нм(где затвор транзистора был около тех самых 45нм), у нас 1 ячейка памяти занимала скажем 90 000 нм2 площади. (300х300 нм или 450х200 нм)

Мы поработали над увеличением плотности упаковки (не важно какими методами, уменьшение линейных размеров элемента — только один из вариантов) и добились того, что теперь у нас такая же ячейка занимает всего 10 000 нм2 площади (100х100 нм к примеру)

Ну а теперь маркетологи идут в атаку и пишут, что эта наша новая технология это 15 нм — т.к. при ее использовании на участок чипа той же площади влезает в 9 раз больше элементов, как если бы мы уменьшили все линейные размеры в 3 (корень из 9) раз, но больше при этом ничего не меняя и не оптимизируя.
Прикольная штука, и не одни Zeno ее придумали, есть еще Mosys.
C одной стороны, по каким-то причинам она до сих пор не нашла широкого применения, с другой стороны — времени прошло не так уж много.
У меня есть некоторые опасения насчет того, как биполярные транзисторы поскейлятся в FinFET, потому что в такой вот структуре очень сложно проконтролировать повторяемость их параметров (не говоря уже о том, что там очень толстая база и маленькое усиление).
Очень хорошо написанная статья, но все же пассаж про «ширину плавника» в 8 нм и ее связь с нормами производства просто глаз резанула, особенно на фоне хорошего уровня остального текста.
Толщина фина берется просто из соображений оптимизации транспорта (квантового) в канале и из соображений механический прочности и к нормам технологии уж совсем никакого отношения не имеет: маски-то с таким маленьким питчем там и в помине нет.
Так я нигде и не говорил, что существует маска с питчем, соответствующим толщине фина. Это был легкий троллинг в сторону маркетологов, которые для красоты и маркетинговой привлекательности берут цифры, не имеющие физического смысла, в то время как можно было взять другие цифры, не имеющие физического смысла.
Но если отбросить троллинг, то вы, конечно, правы — геометрия плавников определяется техническими соображениями, а за «не имеющей физического смысла» цифрой проектных норм, пусть и опосредованно, но все же стоит плотность упаковки элементов на кристалле, и именно поэтому маркетологи не берут для обозначения проектных норм первый попавшийся маленький размер на чипе.
Впрочем, вот прямо сейчас TSMC объявили о планах развития процессов 7 нм, и там у трех итераций три разных плотности упаковки, но все они — «7 нм». И это ровно потому, что весь набор правил проектирования и технологических ограничений нельзя хорошо описать одной цифрой.
Вы правы, сложно разделить размеры: физическую минимальную длину канала одного транзистора (которая уже почти не меняется), число финов в транзисторе (то есть эффективную ширину), расстояние между финами и расстояние между гейтами.
Там что реально транзистор у тайваньцев может быть и одним и тем же, а игра вестись вокруг fin-to-fin pitch и contacted poly pitch.
Но обычно по нынешним временам еще активно меняют рецепты и всякие структурные параметры: размеры спейсеров и тп.
То ли еще будет, когда (и если) следующая архитектура выйдет: там параметров еще больше и как плотность считать (и как ее сравнить с финами) еще менее понятно.
Пора TSMC, Intel и Samsung размещать заказы на Роснано чтобы удержаться на рынке…
8 нанометров / 0,54307 нанометра размер кристаллической решетки кремния = 14 атомов кремния в этих 8 нанометрах. Можно ли еще уменьшить количество атомов, не поменяются ли физические свойства материала? Любопытно достаточно ли например двух слоев атомов кремния, а одного слоя достаточно?
Графен и углеродные нанотрубки — полупроводники из одного слоя атомов. В транзисторах с высокой подвижностью электронов (HEMT) для создания канала используются слои полупроводников в три-четыре атома толщиной.
>На хабре с этим попроще, всегда есть возможность в последний раз прочитать собственную статью (и переписать половину) прямо перед нажатием кнопки «опубликовать».

Вот это-то и является одним из больших (огромных) и привлекательных для авторов плюсов Хабра. Другой (+) — в доступности публикации для читательской аудитории (тысячи персон), которые могут без промедления отреагировать (другой вопрос адекватно-ли), указать на явные промахи, которые автор имеет возможность(при согласии) без промедления устранить.
В толстом журнале автору это все исключено, что и делает его не очень привлекательным.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации